找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
{{itemCategory}}
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
根据你梯形图的写法思路,我用SCL写了简单的代码,你可以按照这个思路,你图中文字描述逻辑与梯形图不一样:有单一报警时输出是脉冲信号还是持续高电平信号,还有当存在多个报警时怎么处理?
我给的图中程序思路是:根据泵的数量可以修改数组的范围,每个报警对应一个输出,有报警存在时,对应的输出会持续输出高电平。更简单的思路是把DB块中的数组类型改为int或其它类型,这样可以通过取变量的位来判断,例如int类型的变量var,判断var.%x0...var.%x15,这样可以在以后增加了泵的情况下不需要修改代码
考虑同一周期内多个位同时出现上升或者下降,可以分别对单个的位进行逻辑运算
Bn and (not Bn-1)=1 上升沿
(not Bn)and Bn-1 =1 下降沿
比较之后 赋值: 上一个周期值 Bn-1 :=当前值Bn
定义变量:
input: CurrentState bool
in_out: LastState bool
output: PE bool
NE bool
将DB14.DBB0或DBW0存放报警位,参考上面的处理即可。
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!