您的位置:控制工程论坛网论坛 » 自动化软件 » 求助寄存器问题

zrnyb

zrnyb   |   当前状态:在线

总积分:884  2024年可用积分:0

注册时间: 2010-06-04

最后登录时间: 2023-08-31

空间 发短消息加为好友

求助寄存器问题

zrnyb  发表于 2022/9/14 14:58:15      320 查看 4 回复  [上一主题]  [下一主题]

手机阅读

有这么几组寄存器,比如说是 1到10组是 D0--D9,11到20组是D20--D29,21到30组是D40--D49然后这几组寄存器都在触摸屏上显示着数据,并对应着各自的组数,假如哪一个寄存器没有数据了,或者显示的数据比某一个数值小(例:D0<K4),怎么找出来是哪个寄存器,还有这个寄存器对应的第几组,用的3Uplc  梯形图,请各位给出出主意

1楼 0 0 回复
  • dongfei

    dongfei   |   当前状态:在线

    总积分:885  2024年可用积分:0

    注册时间: 2006-09-03

    最后登录时间: 2023-08-31

    空间 发短消息加为好友

    dongfei   发表于 2022/9/14 15:01:38

    用的什么触摸屏,单独的D区可以使用数字显示的报警功能或者指示灯功能,要区别是哪个组,那你在触摸屏做分组就好了,D0<K4输出一个内部继电器,对应的分组指示灯变亮就好了

    2楼 回复本楼

    引用 dongfei 2022/9/14 15:01:38 发表于2楼的内容

  • xue

    xue   |   当前状态:在线

    总积分:930  2024年可用积分:0

    注册时间: 2006-10-26

    最后登录时间: 2023-08-31

    空间 发短消息加为好友

    xue   发表于 2022/9/14 15:12:13

    可以使用一个FOR循环变址比较  循环的去比较里面的数据  前提你的寄存器必须是连续的  100个寄存器就是K100  一万个就K10000    还一种比较简单的办法 正如楼上说的 使用触摸屏的数据区间报警  

    3楼 回复本楼

    引用 xue 2022/9/14 15:12:13 发表于3楼的内容

  • dongzhang

    dongzhang   |   当前状态:在线

    总积分:887  2024年可用积分:0

    注册时间: 2006-08-24

    最后登录时间: 2023-09-01

    空间 发短消息加为好友

    dongzhang   发表于 2022/9/15 12:07:28

    利用间接寻址,你的寄存器是10个一组,所以你只需要写一个循环10次的比较函数即可,比较第一组时起始地址为D0,比10次没有结果(注意每比较一次需要偏移起始地址),则进行第二组比较,起始地址为D20,比10次,如果有结果就停止比较,输出当前循环的次数(具体寄存器),输出起始地址(组数),如果没结果就换第三组,修改起始地址为40,再比较10次。有结果就输出,没结果就接着比。

    4楼 回复本楼

    引用 dongzhang 2022/9/15 12:07:28 发表于4楼的内容

总共 , 当前 /