IFM 接口命令
获取当前时间
获取当前时间命令没有硬件保护。如果 Modbus 挂锁的箭头(位于 IFM 接口的前面板)指向闭合挂锁,获取当前时间命令仍处于启用状态。
如要获取所有模块的当前时间,请以如下方式设置命令寄存器:
地址 |
寄存器 |
单位 |
类型 |
范围 |
描述 |
---|---|---|---|---|---|
0x1F3F |
8000 |
– |
INT16U |
768 |
命令代码 = 768 |
0x1F40 |
8001 |
– |
INT16U |
10 |
参数的数量(字节)= 10 |
0x1F41 |
8002 |
– |
INT16U |
768 |
目的地 = 768 (0x0300) |
0x1F42 |
8003 |
– |
INT16U |
0 |
命令的安全类型 |
0x1F43– 0x1F44 |
8004– 8005 |
– |
OCTET STRING |
0 |
命令的密码 = 0(不需要密码) |
以下寄存器包含时间数据:
-
寄存器8023在最高有效位保存月份,在最低有效位保存日期。
-
寄存器8024在最高有效位保存年份相对值(加上2000得到年份),在最低有效位保存小时。
-
寄存器8025在最高有效位保存分钟,在最低有效位保存秒。
-
寄存器8026保存毫秒。
设置绝对时间
设置绝对时间命令没有硬件保护。如果 Modbus 挂锁的箭头(位于 IFM 接口前面板)指向闭合挂锁,设置绝对时间命令仍处于启用状态。
如要设置所有 IMU 模块的绝对时间,请以如下方式设置命令寄存器:
地址 |
寄存器 |
单位 |
类型 |
范围 |
描述 |
---|---|---|---|---|---|
0x1F3F |
8000 |
– |
INT16U |
769 |
命令代码 = 769 |
0x1F40 |
8001 |
– |
INT16U |
18 |
参数的数量(字节)= 18 |
0x1F41 |
8002 |
– |
INT16U |
768 |
目的地 = 768 (0x0300) |
0x1F42 |
8003 |
– |
INT16U |
0 |
命令的安全类型 |
0x1F43– 0x1F44 |
8004– 8005 |
– |
OCTET STRING |
0 |
命令的密码 = 0(不需要密码) |
0x1F45 |
8006 |
– |
INT16U |
– |
最高有效位 = 月 (1–12) 最低有效位 = 日 (1-31) |
0x1F46 |
8007 |
– |
INT16U |
– |
最高有效位 = 年 (0–99, 0 表示 2000) 最低有效位 = 小时 (0–23) |
0x1F47 |
8008 |
– |
INT16U |
– |
最高有效位 = 分钟 (0–59) 最低有效位 = 秒 (0-59) |
0x1F48 |
8009 |
ms |
INT16U |
0-999 |
毫秒 (0–999) |
如果 24 Vdc 电源断电,日期和时间计数器将复位,并将从 2000 年 1 月 1 日重新开始计时。因此在接通 24 Vdc 电源后,必须设置所有 IMU 模块的据对时间。
另外,因为每个 IMU 模块都有时钟漂移,因此必须定期设置所有从设备的日期和时间。建议至少每 15 分钟设置一次。
读取 IMU 名称和位置
FDM121 显示器显示 IMU 名称,但是仅限于前 14 个字符。
如要读取 IMU 名称和位置,请以如下方式设置命令寄存器:
地址 |
寄存器 |
单位 |
类型 |
范围 |
描述 |
---|---|---|---|---|---|
0x1F3F |
8000 |
– |
INT16U |
1024 |
命令代码 = 1024 |
0x1F40 |
8001 |
– |
INT16U |
16 |
参数的数量(字节)= 16 |
0x1F41 |
8002 |
– |
INT16U |
768 |
目的地 = 768 (0x0300) |
0x1F42 |
8003 |
– |
INT16U |
0 |
命令的安全类型 |
0x1F43– 0x1F44 |
8004– 8005 |
– |
OCTET STRING |
0 |
命令的密码 = 0(不需要密码) |
0x1F45– 0x1F46 |
8006– 8007 |
– |
INT32U |
– |
17039489 = 读取 IMU 名称(将 0x0104 载入寄存器 8006,将 0x0081 载入 8007) 17039490 = 读取 IMU 位置(将 0x0104 载入寄存器 8006,将 0x0082 载入 8007) |
0x1F47 |
8008 |
– |
INT16U |
2048 |
2048 |
IMU 名称和位置以如下方式放回到命令寄存器:
地址 |
寄存器 |
单位 |
类型 |
范围 |
描述 |
---|---|---|---|---|---|
0x1F53 |
8020 |
– |
INT16U |
1024 |
最后一个命令代码 |
0x1F54 |
8021 |
– |
INT16U |
– |
命令状态 0 = 命令成功 否则命令失败 |
0x1F55 |
8022 |
– |
INT16U |
– |
返回的字节数(如果命令失败为0) |
0x1F56 |
8023 |
– |
OCTET STRING |
– |
如果命令成功 最高有效位 = IMU 名称或位置的第一个字符 最低有效位 = IMU 称或位置的第二个字符 |
0x1F57– 0x1F6D |
8024-8046 |
– |
OCTET STRING |
– |
取决于IMU名称或位置的长度,结尾为NULL字符0x00 |
写入 IMU 名称和位置
可以从寄存器 11801 至 11868 读取 IMU 名称和位置。
FDM121 显示器显示 IMU 名称,但是仅限于前 14 个字符。
如果要写入 IMU 名称和位置,用户必须按照如下方式设置命令寄存器:
地址 |
寄存器 |
单位 |
类型 |
范围 |
描述 |
---|---|---|---|---|---|
0x1F3F |
8000 |
– |
INT16U |
1032 |
命令代码 = 1032 |
0x1F40 |
8001 |
– |
INT16U |
16–62 |
参数的数量(字节)= 取决于 IMU 名称或位置的长度(不超过 46 个字符) |
0x1F41 |
8002 |
– |
INT16U |
0 |
目的地 = 0 (0x0000) |
0x1F42 |
8003 |
– |
INT16U |
1 |
命令的安全类型 |
0x1F43– 0x1F44 |
8004– 8005 |
– |
OCTET STRING |
– |
命令的密码:Administrator 用户类型的密码 |
0x1F45– 0x1F46 |
8006– 8007 |
– |
INT32U |
– |
17039489 = 写入 IMU 名称(将 0x0104 载入寄存器 8006,0x0081 载入 8007) 17039490 = 写入 IMU 位置(将 0x0104 载入寄存器 8006,0x0082 载入 8007) |
0x1F47 |
8008 |
– |
INT16U |
2048 |
2048 |
0x1F48 |
8009 |
– |
OCTET STRING |
– |
最高有效位 = IMU 名称或位置的第一个字符 最低有效位 = IMU 名称或位置的第二个字符 |
0x1F49-0x1F5F |
8010-8038 |
– |
OCTET STRING |
– |
取决于IMU名称或位置的长度,结尾为NULL字符0x00 |
设置数据的有效期
此命令允许设置标准和旧有数据集中数据的有效期。
数据的有效期可在寄存器 数据的有效期 中读取。
如要设置数据的有效期,请以如下方式设置命令寄存器:
地址 |
寄存器 |
单位 |
类型 |
范围 |
描述 |
---|---|---|---|---|---|
0x1F3F |
8000 |
– |
INT16U |
41868 |
命令代码 = 41868 |
0x1F40 |
8001 |
– |
INT16U |
12 |
参数的数量(字节)= 12 |
0x1F41 |
8002 |
– |
INT16U |
769 |
目的地 = 769(0x0301) |
0x1F42 |
8003 |
– |
INT16U |
1 |
命令的安全类型 |
0x1F43-0x1F44 |
8004-8005 |
– |
OCTET STRING |
– |
命令的密码:Administrator、Services、Engineer 或 Operator 用户类型的密码 |
0x1F45 |
8006 |
秒 |
INT16U |
5-300(步长为 5 秒) |
数据的有效期 出厂设置:10 s |