当前位置: 主页 > PLC控制

SCL跳转问题

关于scl跳转问题:如图,请问红色框内部分为什么执行,MD20=40,JCNM003不应该跳转才对?

问题补充:
1.sorry,确实是STL,笔误写成SCL。
2.引用“”指令和操作数不匹配
MD20为DWORD类型
W#16#7FFFF为WORD类型
>I为WORD或者INT类型数的比较“”
程序已正常运行,STL不检查“操作数不匹配“问题。
3.我的问题是为什么程序会执行M003以后的程序。

图片说明:

SCL跳转问题086c68f122d31e689d4e762dfb2d93c4

最佳答案

按照你的MD20=40,则程序执行JCNM003下面的程序了,到了M003处程序仍然继续执行的。
跳转语句满足会执行跳转,并跳转至指定的标签位置。不跳转时程序会继续向下执行语句,到跳转标签处也会执行其里面的程序。并不是没有跳转就不执行了。我想可能是你对跳转的理解不对。

提问者对于答案的评价:
谢谢。“”不跳转时程序会继续向下执行语句,到跳转标签处也会执行其里面的程序。并不是没有跳转就不执行了。“”
我一直以为标签里的程序只能是跳转了才执行,顺序扫描时不执行。谢谢你的回复,再结合htTP://www.ad.siemens.com.cn/serviCE/answer/solution.ASpx?Q_id=27763&cid=1029,我对STL的跳转理解更深了。

专家置评

是STL语言,不是SCL。无论如何“M003:”后面的程序都是要执行的,除非在“M003:”的上一条语句加上无条件跳转指令“JU”,这样就跳转走了。

  • 关注微信
上一篇:PID设定值

猜你喜欢

微信公众号