walker12 发表于 2024-4-23 11:16:14

HMI屏,RTC控件更改时间后,哪个寄存器能表示更改状态?

如题,在HMI屏更改时间后,想通过LUA同步时间到PLC,想知道哪个寄存器可以作为触发,LW167吗?我试了好像没有反应。

dctechnology 发表于 2024-4-23 13:35:14

lua脚本可以用get_date_time获取到当前的RTC时间,对应可以调用相应的set_uint16这些设置寄存器的函数来处理

walker12 发表于 2024-4-23 14:19:59

dctechnology 发表于 2024-4-23 13:35
lua脚本可以用get_date_time获取到当前的RTC时间,对应可以调用相应的set_uint16这些设置寄存器的函数来处 ...

我想知道就是,我在HMI更改完RTC时间之后,有无哪个寄存器可以作为触发,将时间信息同步到PLC。

walker12 发表于 2024-4-23 15:12:02

dctechnology 发表于 2024-4-23 13:35
lua脚本可以用get_date_time获取到当前的RTC时间,对应可以调用相应的set_uint16这些设置寄存器的函数来处 ...

例如我这样写
    --手动改动时间同步HMI to PLC
        if get_uint16(VT_LW, 0x4000) == 1
        then
      set_uint16(VT_4x, 0x1F4F, get_uint16(VT_LW, 0x0170)-2000)--同步年
      set_uint16(VT_4x, 0x1F50, get_uint16(VT_LW, 0x0171))--同步月
      set_uint16(VT_4x, 0x1F51, get_uint16(VT_LW, 0x0172))--同步日
      set_uint16(VT_4x, 0x1F52, get_uint16(VT_LW, 0x0173))--同步星期
      set_uint16(VT_4x, 0x1F53, get_uint16(VT_LW, 0x0174))--同步时
      set_uint16(VT_4x, 0x1F54, get_uint16(VT_LW, 0x0175))--同步分
      set_uint16(VT_4x, 0x1F55, get_uint16(VT_LW, 0x0176))--同步秒
      set_bit(VT_0x,0x2338, 1)--时间同步使能
                set_bit(VT_0x,0x2338, 0)--时间同步使能复位
      set_uint16(VT_LW, 0x4000, 0)
        end

就是想将LW4000,替换成一个每当RTC更改完就触发的寄存器,有吗?

renwu84 发表于 2024-4-24 20:08:39

使用系统键盘修改RTC目前是没有通知的,你可以使用脚本修改时间,这样可以随时通知PLC
页: [1]
查看完整版本: HMI屏,RTC控件更改时间后,哪个寄存器能表示更改状态?