监控的时候没有看见上升沿通,子程序L0.1没有通,当LD9却有值,但这个值并不是取使能上升沿的初始值,比如初始值应该取0,LD9是一个跳动变化的值。
问题补充:
那怎样改可以把初始值传递给LD9
图片说明:
钻石用户推荐最佳答案
S7--200 PLC根据需要分配局部存储器。也就是说,当主程序执行时,分配给子程序或中断程序的局部存储器是不存在的。当发生中断或者调用一个子程序时,需要分配局部存储器。新的局部存储器地址可能会覆盖另一个子程序或中断程序的局部存储器地址。
局部存储器在分配时PLC不进行初始化,初值可能是任意的。当在子程序调用中传递参数时,在被调用子程序的局部存储器中,由CPU替换其被传递的参数的值。局部存储器在参数传递过程中不传递值,在分配时不被初始化,可能包含任意数值。
S7-200 可编程序控制器 系统手册,第四章节,建议看看
https://support.industry.siemens.com/cs/document/1109582
补充:
没有在子程序接口入看到 LD9
定义一个双字型 OUT 变量,用 MOV_DW 指令,或MOV_R 指令传给它。定义后这个变量不一定是 LD9,它由系统自动分配一个地址。
图片说明:
提问者对于答案的评价:
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc360824.html