hezhen880924
級別: 略有小成
|
基恩士PLC用ML16V總線控制45個軸,每三個軸一組為一工位,每個工位走500個點位(相當于配方)。 觸摸屏上可輸入和查詢每工位三軸坐標,觸摸屏程序在PLC里已經寫好。 現在自動程序同時運行15個工位,變址寄存器(Z1-Z10)不夠用,請問有什么方法可以同時運行,變址寄存器只有10個。求解決思路,謝謝! 控制軸中有轉矩控制,只能用ML16V和一個PLC。這是基本條件。 |
---|---|
|
建控電
野蠻其體魄、文明其精神!!
級別: 論壇先鋒
|
變址可以重復用的,但要前提對程序沒有影響。 |
---|---|
本帖最近評分記錄: |
hezhen880924
級別: 略有小成
|
HMI坐標存儲和自動運行不在同一時序,可以重復用變址寄存器,這點沒問題。 現在如果15個工位同時運行,在同一時序變址寄存器同時使用,變址的數量是一個問題。 就算可以用變址存儲指令: 變址寄存器進棧保護ZPUSH 變址寄存器出棧恢復ZPOP 也要在不同時序變址存儲才能使用。 西門子S7 1200 1500變址存儲沒有這個問題。 如果不用變址寄存器Z,用select case選擇語句去寫10工位以后的工位,坐標點位太多case條件太多。 點參數不太好用,不想用點參數一個一個運行。 |
---|---|
|
打豆豆
歐姆龍-NJ系列 NX系列 NY系列,遠程解密,西門子120
級別: VIP會員
|
我從來沒有聽說變址不夠用的。。。。。。。。。。。。。。 |
|
---|---|---|
本帖最近評分記錄:
|
uu.liu
COG_FOG_COF_貼片_ 貼合
級別: 家園常客
|
你可以把變址做成宏,送多少次都沒問題 |
|
---|---|---|
本帖最近評分記錄:
|
kiwso
級別: 略有小成
|
???樓主用了幾個ML16V??應該是三個的吧?? 每次用DM里保存的值刷新緩沖區不就可以了嗎?循環500次即可啊 有點不明白樓主的意思 上程序看看吧,還是! 還有,樓主ML16V模塊用的是一般模式還是高速刷新模式?(高速刷新模式下占用地址少) |
---|---|
本帖最近評分記錄: |
hezhen880924
級別: 略有小成
|
是用EM存儲數據刷新點參數1和2里的坐標和速度緩沖區; 點參數1做單軸絕對定位,手動時示教試運行用; 點參數2做三軸直線插補,自動時運行; 轉矩控制是用運動流程控制,先位置模式后轉矩模式。 如果要圓弧插補就在點參數3里。 每個ML16V只用了3個點參數,自動里坐標的傳送要用到變址。 |
---|---|
|
yanzhi2008
級別: 略有小成
|
用觸摸屏里面的變址,一般你是用不完的 |
---|---|
本帖最近評分記錄: |
hezhen880924
級別: 略有小成
|
謝謝你的思路,但觸摸屏變址寄存器實時性達不到吧!最好是PLC里能決的辦法。 在PLC里用宏去做,如果有兩個以上工位同時完成,進入下一點運行請求還要做優先級判斷。這個就有先后的問題 先進先出指令能解決這個問題,謝謝了! 還有什么好的思路嗎? |
---|---|
|
uthman
QQ:3749615
級別: 家園常客
|
工位完成后你是用中斷去處理?用中斷可以在中斷里進行字移位(占用雙倍地址)觸摸屏D0-D499,bmov d0 d6000 k500,定位完成移位執行 DSFR D6000 k500。 不是中斷的話變址可以重復使用。(相當于變址退避功能) ld sm400 mov d0 z0 軸1程序 mov z0 d0 ld sm400 mov d1 z0 軸2程序 mov z0 d1 …… |
---|---|
本帖最近評分記錄: |
jiangzhiyong
級別: 探索解密
|
圖片:
橫河PLC的變址寄存器是256個,數據寄存器64K 。絕對夠用,穩定性和掃描及處理速度完全可以達到你的要求。 |
---|---|
本帖最近評分記錄: |
hezhen880924
級別: 略有小成
|
謝謝你的思路,不想用中斷,沒有這么高的優先級,程序結構會變的復雜。 我想了下,運行坐標提取不用變址退避也可以。 程序從上往下掃描,用同一個變址寄存器坐標提取,多工位坐標不會有干涉的問題。 謝謝你的方法。 [ 此帖被hezhen880924在2016-12-01 09:53重新編輯 ] |
---|---|
|