-
引用 sweect 2017/3/29 21:08:49 发表于2楼的内容
-
-
swy 发表于 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 //循环执行
引用 swy 2017/4/2 11:31:26 发表于3楼的内容
-
引用 wangchen 2017/4/2 14:26:11 发表于4楼的内容