当前位置: 主页 > PLC控制

STL应用——续

首先要吐槽下西门子‘找答案’平台,也得让问答者互动一下啊,
只好把最开始问题再贴过来如下:

有个应用用梯形图编程可以实现,但我觉得用STL更优,故请教這方面的能手给我露两手:
有48组Dint格式数据:DB1504.DBD0~DB1504.DBD188,当M1101.5为ON,进行比较MD1200与48组数据哪组相同,且比较顺序由DBD188开始往下,当比较到相同数值时候把DB1504.DBDXXX数据清零,且把M11.2置1,动作完成。
大侠们请帮忙帮忙,ljm713028@126.com

根据‘艾星若尘’的帮助,做了一下程序
OPNDB1504

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,

图片说明:

ba77d785cddBF9519f98bCEb9e63cf35STL应用——续 STL应用——续STL应用——续

最佳答案

今天上班的时候,时间不是很充足,比较匆忙,没有好好的进行测试;确实没有写好,新写好的,不妨再试试看:
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’的解答也是非常专业非常感谢!

最佳答案作者回复:
能帮到你,我也很高兴!

  • 关注微信

猜你喜欢

微信公众号