各位学长好,有个控制器(8通道)输出两路模拟量接入PLC,一个是1-10V的电压信号,一个是4-20mA的电流信号,对应关系是:输出1V(误差正负0.2),表示这是在检测第一通道,4-20mA表示此通道的数据大小;电压输出为2V(误差正负0.2)时,表示检测第二通道,以此循环类推。我是准备先将两个模拟值放入V区,再做比较,条件成立后,分别MOV到8个V地址,代表8个通道的检测值,上位机再去读取。
各位有什么好的程序结构吗?还有一个肤浅的问题,怎么进行3个值的比较呢,例如2<X<5
最佳答案
你的基本思路是可行的。至于条件判别,只能靠比较指令。3个值的比较方法如下:
Network 1
LDW>= AIW0, 2560
AW<= AIW0, 3840
MOVW AIW2, VW100
Network 2
LDW>= AIW0, 5760
AW<= AIW0, 7040
MOVW AIW2, VW102
以此类推。
说明:1V的模拟量采样值是3200;如果在0.2V范围内波动,则下限0.8V为2560,上限1.2V为3840。对于这两个比较指令,只要AIW0的数据落在2560-3840这个范围内,使能条件都能成立。其它的比较也一样。
另外:选择了0-10V输入,AIW2的读数范围应是3200-16000对应4-20mA。
提问者对于答案的评价:
谢谢各位学长,鼠老爹和AM学长写的都很详细
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc321531.html