有这么几组寄存器,比如说是 1到10组是 D0--D9,11到20组是D20--D29,21到30组是D40--D49,然后这几组寄存器都在触摸屏上显示着数据,并对应着各自的组数,假如哪一个寄存器没有数据了,或者显示的数据比某一个数值小(例:D0<K4),怎么找出来是哪个寄存器,还有这个寄存器对应的第几组,用的3Uplc 梯形图,请各位给出出主意
-
-
dongfei 发表于 2022/9/14 15:01:38
用的什么触摸屏,单独的D区可以使用数字显示的报警功能或者指示灯功能,要区别是哪个组,那你在触摸屏做分组就好了,D0<K4输出一个内部继电器,对应的分组指示灯变亮就好了
引用 dongfei 2022/9/14 15:01:38 发表于2楼的内容
-
-
xue 发表于 2022/9/14 15:12:13
可以使用一个FOR循环变址比较 循环的去比较里面的数据 前提你的寄存器必须是连续的 100个寄存器就是K100 一万个就K10000 还一种比较简单的办法 正如楼上说的 使用触摸屏的数据区间报警
引用 xue 2022/9/14 15:12:13 发表于3楼的内容
-
-
dongzhang 发表于 2022/9/15 12:07:28
利用间接寻址,你的寄存器是10个一组,所以你只需要写一个循环10次的比较函数即可,比较第一组时起始地址为D0,比10次没有结果(注意每比较一次需要偏移起始地址),则进行第二组比较,起始地址为D20,比10次,如果有结果就停止比较,输出当前循环的次数(具体寄存器),输出起始地址(组数),如果没结果就换第三组,修改起始地址为40,再比较10次。有结果就输出,没结果就接着比。
引用 dongzhang 2022/9/15 12:07:28 发表于4楼的内容