SCL跳转问题

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

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

图片说明:

SCL跳转问题   

最佳答案

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

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

专家置评

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

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc194849.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年8月18日 下午10:52
下一篇 2017年8月18日 下午10:53

相关推荐