2017-03-29
我这现场有16个推力瓦压力,现要求相邻两点压力小于2时,停主电机。请问除了一个个比较写程序段外,有没有其他的便捷高效方法,谢谢
评论3
楼主 2017/3/29 21:08:49
如果压力信号是连续的,用指针加循环的形式判断,任意两点偏差小于2的时候,跳出循环报错误的地方
楼主 2017/4/2 11:31:26
按照你的要求是相邻两个点的压力值都小于2时就报警;简单利用指针和循环指令给你一个例子,供参考下:
假如这个16个数值存在以MD100开始的16个双字里,压力的值一般都是浮点数吧,报警的信号放在M99.0里,
CLR
SET
R M 99.0 //初始化M99.0,也可做成手动复位的;
LAR1 P#M 100.0 //取数据的首地址
L 15
A01: T MW 90 //循环计算15次就够了
A(
L MD [AR1,P#0.0] //第一个数比较
L 2.000000e+000
<R
)
A(
L MD [AR1,P#4.0] //第二个数比较,注意P#4.0,一个双字的偏差
L 2.000000e+000
<R
)
JCN A02 //当有都小于2.0的数据时就置位M99.0
S M 99.0
A02: +AR1 P#4.0 //地址寄存器自加一个双字的偏移量
L MW 90
LOOP A01 //循环执行
楼主 2017/4/2 14:26:11
语句表编程还是有它的优势,结构比较清晰,能够减少编程的量。