本想在局部变量里令某个局部变量on上升沿时触发ADD_I 指令+1,但是测试了一下局部变量里不能使用P指令 ,请问有什么方法可以实现局部变量on时ADD_I 指令+1?
图片说明:
最佳答案
原因:
上升沿指令检测到上一扫描周期 RLO 为 0,本扫描周期为 1 时,则产生上升沿;子程序中使用的IN、OUT、TEMP局部变量使用的临时存储区是在调用时才分配存储空间的,没有记忆功能。
大多数情况下不建议在子程序或中断程序中使用沿指令。
2、改动
使用IN_OUT变量类型代替OUT变量类型;
不知你子程序贴全没有,至少LD5、LD9 要定义成 IN_ONT 类型变量。
3、参考资料
S7-200 SMART中断,子程序常见问题
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/SmartSMS/009.html
子程序中的边沿检测ID:7115899 发布日期 2008年4月10日
https://support.industry.siemens.com/cs/document/7115899
提问者对于答案的评价:
所写的子程序只有一处调用就正常 多处调用又乱了 追问不能上图只好文字
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc286378.html