首先要吐槽下西门子‘找答案’平台,也得让问答者互动一下啊,
只好把最开始的问题再贴过来如下:
有个应用用梯形图编程可以实现,但我觉得用STL更优,故请教這方面的能手给我露两手:
有48组Dint格式数据:DB1504.DBD0~DB1504.DBD188,当M1101.5为ON,进行比较MD1200与48组数据哪组相同,且比较顺序由DBD188开始往下,当比较到相同数值时候把DB1504.DBDXXX数据清零,且把M11.2置1,动作完成。
大侠们请帮忙帮忙,ljm713028@126.com
AM1101.5
JNBNON9
A(
LMD1200
LL#0
>D
)
JNBNON9
LL#188
SLD3
TMD1230
L48
back:LMW1222
LDBD[MD1230]
LMD1200
==D
JCnext
LMD1230
LL#32
-D
TMD1230
LMW1222
LOOPback
next:LL#0
TDBD[MD1230]
SM11.2
NON9:NOP0
模拟一会后CPU会STOP,同时貌似有点小问题,请艾星及各位解答下!
问题补充:
非常感谢‘艾星若尘’!
因为数值肯定是最先从188开始的,总共有48个DBD,
图片说明:
ba77d785cddBF9519f98bCEb9e63cf35
最佳答案
今天上班的时候,时间不是很充足,比较匆忙,没有好好的进行测试;确实没有写好,新写好的,不妨再试试看:
OPNDB1504
L188
SLD3
TMD200
L48
_010:TMW300
LDBD[MD200]
LMD1200
<>D
JC_011
L0
TDBD[MD200]
SM11.2
JU_012
_011:LMD200
L32
-D
TMD200
LMW300
LOOP_010
_012:NOP0
提问者对于答案的评价:
感谢‘艾星落尘’的解答,能达到我的效果!
‘LJCLWYF’的解答也是非常专业非常感谢!
最佳答案作者回复:
能帮到你,我也很高兴!