恭喜,你发布的帖子
发布于 2017-03-27 16:06:34
2楼
按照你的要求是相邻两个点的压力值都小于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 //循环执行
推荐帖推荐理由:循环结构清晰、逻辑精炼、数据查询处间接寻址地址的偏移量使用合理,能较好地实现楼主所期望的功能。(推荐人:n次看你的背影)
请填写推广理由:
分享
只看
楼主