有一段程序如下:
CLR
= #parameter_fault
L #Process_Nr
L 1
< I
L #Process_Nr
L 100
= L 30.0
>I
O L 30.0
这段程序我理解的大体意思是#Process_Nr分别与1和100作比较,将两个比较的结果
再做或运算。
但是在这段程序中不理解的是:赋值指令=在程序中的位置。
我理解应该是这样的:
CLR
= #parameter_fault
L #Process_Nr
L 1
< I
= L 30.0
L #Process_Nr
L 100
>I
O L 30.0
不知我理解的是否正确?
希望哪位大侠能给指点一下,原程序为什么那样写?或者那样写有什么优点?
最好能够说明一下,STL编程时,赋值指令=放在那些位置才合适。
说明一下,原程序在实际应用中没有发现问题。
最佳答案
CLR //RLO清零
= #parameter_fault //将RLO写入寻址位,即RLO写入#parameter_fault
L #Process_Nr //#Process_Nr装载到累加器1
L 1 //1装载到累加器1,#Process_Nr复制到累加器2
< I //比较累加器2与累加器1数值大小,如果累加器 2数值小于累加器1,即 #Process_Nr小于1,
则逻辑运算为真,RLO=1
L #Process_Nr // #Process_Nr 装载到累加器1
L 100 // 100 装载到累加器1 #Process_Nr 复制到累加器2
= L 30.0 //将RLO写入寻址位,即RLO写入L30.0
>I //如果#Process_Nr 大于100,则RLO=1
O L 30.0 //或逻辑运算
这段程序可以看出如果#Process_Nr小于1,则L30.0=1,如果#Process_Nr大于或等于于1,L30.0=0 。
其实是一样的=位置放在你说的地方。因为后面L装载指令对RLO状态不产生影响。你的程序应该不完整,或逻辑运算后没有指令了。
提问者对于答案的评价:
谢谢你的回答!
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc131573.html