S7-200的计数问题分析
点击数:7381 次 录入时间:03-04 12:00:14 整理:http://www.55dianzi.com PLC入门
现在我需要控制两台泵,通过I1.0-I1.5来确定泵的启动,上述输入点有小于等于3的时候启动1台泵,大于3的时候启动两台泵同时启动,我把I1.0-I1.5的每个上升沿并联后作为加减计数器的CU端,每个下降沿并联后作为加减计数器的CD端,现在如果我同时接通两个以上的输入,是同时接通的,好像计数器只会计一次数,请问有什么方法能解决这个问题吗?
答:提供一个稍微不同的思路,适合点数比较多的情况。只要你不是226的CPU后面的I1.6和I1.7应该恒为0,如果是226的,取信号时就要按位对应了。
//网络1:状态字节检测
LD sm0.0
MOVB IB1,VB0 //取得过程信号到内存
MOVW 0,VW2
FOR LW0,1,8
LPS
A V0.0
+I 1,VW2
LPP
SRB VB0
NEXT
//以上代码检测状态字节里面有多少个位为on
//网络2:输出对照表
LD M0.0
=Q0.0 //一号泵启动输出
LD M0.1
=Q0.1 //二号泵启动输出
//网络3:输出控制
LDW<= VW2,3
S M0.0 ,1 //当小于等于3个状态位信号为on时,一号泵启
R M0.1 ,1 //同时关闭二号泵
LDW> VW2,3
S M0.0,2 //当大于三个状态位信号为on时,双泵启
程序没有测,可能有错误,这里就是给楼主提供一个用移位指令来判断当前状态的思路。
本文关键字:暂无联系方式PLC入门,plc技术 - PLC入门