程序在下面的图中,很简单,问题就是绝大多数时间汽笛能被触发但就是偶尔会有打不开和关不掉的现象(M0.5是我做的脉冲让汽笛鸣叫可以这个忽略),FC802是一键起停,朋友帮我看下
问题补充:
调用FC802的程序中,加上升沿和不加上升沿有什么区别没,我现在暂时想把上升沿去除,看情况能不能改善
图片说明:
最佳答案
你好!
你的FC802没有编正确。
关键是你引用了临时变量temp,这个临时变量,它的定义:TEMP 临时变量是一种在块执行时,用来暂时存储数据的变量,这些数据存储在CPU工作存储区的局部数据堆栈(L堆栈)中。临时变量可以在组织快OB、功能FC和功能块FB中使用,当块执行时它们被用来临时存储数据,一旦块执行介绍,堆栈重新分配,临时变量中的数据将丢失。
引用临时变量需要注意的是:
《1》将临时变量用于上升/下降沿指令
《2》将临时变量用于自保持逻辑
《3》临时变量未在所在程序段中赋值,直接使用
以上情况都能引起程序执行不可预期的结果。
提问者对于答案的评价:
大家说的都很好,我挑选了一个,我现在暂时把前面的上升沿触发去掉了,看现场反馈的情况,不敢大改,怕他们不会操作
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc245100.html