★S7-300PLC如何用STL的間接尋址和LOOP把程序簡化★
劉玉蓉
發(fā)布于2014-12-02 17:26
1621
0
標(biāo)簽:
下面是我用STL寫的一個程序(在附圖中),這樣的程序我要寫100個,能不能有簡便的方法用間接尋址或LOOP指令達(dá)到要求?或者用你們自己的方法?前提是程序簡化和在STL的前提下。
圖片說明: 1,程序圖片
佳答案
這里面的變址內(nèi)容為A xx(1),FP xx(2) DATA(3) 有3個地方需要變,(1)和(2)固定的偏移,[ar1,p#0.0], [ar1,p#25.0]地址偏移0.1分別就可以表達(dá)(1)(2),(3)用TEMP表示,LOOP前初始化為1,LOOP里每次TEMP加1.
L P#0.0
LAR1
L W#16#1
T DATA_TEMP
L 100
NEXT:T CYC_TEMP
L DB_NO //IN接口,DB塊號
T DB_NO_TEMP
OPN DB[DB_NO_TEMP]
A DBX[AR1,P#0.0]
FP DBX[AR1,P#25.0]
JCN a0b0
CALL "ATT"
DATA:=DATA_TEMP
TABLE:=DB2.DBW 0
a0b0:CLR
+AR1 P#0.1
L W#16#1
L DATA_TEMP
+I
T DATA_TEMP
L CYC_TEMP
LOOP NEXT