欢迎来到武汉辰龙天和科技有限公司!
产品展示/ PRODUCTS PLAY
技术文章 / ARTICLE
寄存器中保存的数据类型有:位(bit),字符(char),长度可知的字符串(stringXX,XX表示字符串长度),无符号16位整型(uint16),有符号16位整型(int16),无符号32位整型(uint32),IEEE754格式32位浮点数(floating point)。
字符串的传送过程中高低字节交换位置。例如:需要传送“MB-TEST-01"字符串,接收后按照地址从低到高排列后为0x424D 0x542D 0x5345 0x2D54 0x3130“BMT-SE-T10"。
32位整型的高半字(16位)先传送(在寄存器列表中对应低的地址),低半字(16位)后传送(在寄存器列表中对应高的地址)。例如:32位整数152117680(0x91121B0),传送的代码为0x0911(高半区,先传送,低地址),0x21B0(低半区,后传送,高地址)。
0x3f80(高半区,先传送,低地址),0x0000(低半区,后传送,高地址)。
寄存器中的数据有读写属性,R-只读;W-只写;R/W-即可读也可写入。
备注:
LDM42-MODUBUS RS485 型激光测距传感器在设置设备地址过程中,确保任意设备不能使用相同的地址。
线圈寄存器(测量模式选择)
表格 20 线圈寄存器列表
地址 | 属性 | 寄存器长度 | 数据类型 | 描述 | 说明 |
00201 | R/W | 1 | bit | DT | 连续测量 |
00202 | R/W | 1 | bit | DS | 连续测量(距离小于7m) |
00203 | R/W | 1 | bit | DW | 以10Hz频率连续测量(白色表面) |
00204 | R/W | 1 | bit | DX | 以50Hz频率连续测量(需特殊订购) |
00205 | R/W | 1 | bit | DF | 外部触发测量 |
00206 | R/W | 1 | bit | DM | 仅测量一次 |
00207 | R/W | 1 | bit | TP | 温度测量(温度传感器2) |
00208 | R/W | 1 | bit | LO | 打开激光 |
00209 | R/W | 1 | bit | LF | 关闭激光 |
LDM42-MODUBUS RS485 型激光测距传感器备注:
l 线圈寄存器对应的是选择不同的测量模式,因此任意时刻线圈寄存器都只能9选1,或者一个都不选。例如设备当前工作在DT模式(连续测量模式)下,此时控制命令下发TP动作,则设备将先停止DT模式,然后进入TP模式。
l 地址越小优先级越高:即如果发送了写多个线圈的命令则*早(地址*小)出现的动作命令(置1命令)将被执行,其余动作命令将被忽略。
l 测量模式中DT,DS,DW,DX(需特殊订购),DF为连续测量模式; 进入连续测量模式后将保持在该工作模式直到命令或操作打断为止。
l 打断连续测量模式的方式有以下几种:直接修改当前测量模式为0;修改可写的保存寄存器。
输入寄存器(测量值及测量状态)
表格 21 输入寄存器列表
地址 | 属性 | 寄存器长度 | 数据类型 | 描述 | 说明 |
30301 | R | 2 | floating point | D | 距离测量值 |
30303 | R | 2 | uint32 | S | 信号强度 |
30305 | R | 1 | uint16 | D_S | 距离测量标志字 |
30306 | R | 2 | uint32 | Time | 距离测量时间戳(秒计数器) |
30308 | R | 1 | int16 | Tmp1 | 温度值(传感器1) |
30309 | R | 1 | int16 | Tmp2 | 温度值(传感器2) |
30310 | R | 1 | uint16 | T_S | 温度测量标志字 |
备注:
l D_S距离测量标志字:*高位为1表示测量有效,为0表示测量失败;紧跟*高位的7位表示错误代码;表示测量有效的*高位为1时,错误代码值为0。其余的低8位是一个循环计数器,在测量有效时为测量有效的循环计数器,可用于判断30001中的测量值是否已经更新;当错误连续发生时,此计数器为错误循环计数器。
l Time为秒计数器,当测量完成(成功/错误)后将更新次计数器。即,在没有测量命令发生时,Time始终保持上次测量的秒计数值。
l Tmp1温度值(传感器1):此温度表示设备外壳的温度,IFB能连续实时监控;此测量值也将用于温度加热控制设备中的温度监控。
l Tmp2温度值(传感器2):此温度表示光电器件的温度,只有当将测量模式TP使能时才输出测量数据。此温度值超出了-10~60度的范围,将引发超出温度范围错误。
l T_S温度测量标志字:*高位为1表示温度传感器1工作正常,紧跟*高位的7位表示错误代码;其余的低8位是一个循环计数器。
保持寄存器(参数设置及设备ID信息)
表格 22 保持寄存器列表
地址 | 属性 | 寄存器长度 | 数据类型 | 描述 | 说明 |
40101 | R/W | 1 | uint16 | SA | 平均次数 1~20 |
40102 | R/W | 1 | char | SD | 输出格式 (当前只能为d/D) |
40103 | R/W | 1 | uint16 | ST | 测量时间 0~25 |
40104 | R/W | 2 | floating point | SF | 放大比例 |
40106 | R/W | 1 | uint16 | SE | 错误模式 0/1/2 |
40107 | R/W | 2 | floating point | AC | 报警输出设置-中心值 |
40109 | R/W | 2 | floating point | AH | 报警输出设置-迟滞区间 |
40111 | R/W | 2 | floating point | AW | 报警输出设置-有效宽度 |
40113 | R/W | 2 | floating point | RB | 模拟量输出起点 |
40115 | R/W | 2 | floating point | RE | 模拟量输出终点 |
40117 | R/W | 1 | uint16 | RM1 | 测量值滤波设置-平均个数 |
40118 | R/W | 2 | floating point | RM2 | 测量值滤波设置-公差区间 |
40120 | R/W | 1 | uint16 | RM3 | 测量值滤波设置-可替换测量点个数 |
40121 | R/W | 1 | uint16 | TD1 | 触发延时 0~9999 |
40122 | R/W | 1 | uint16 | TD2 | 触发电平 0/1 |
40123 | R/W | 1 | uint16 | TM1 | 触发模式 0/1 |
40124 | R/W | 1 | uint16 | TM2 | 触发电平 0/1 |
40125 | R/W | 1 | uint16 | BR | 波特率 1200…57600 |
40126 | R/W | 2 | floating point | OF | 预置偏移量 |
40128 | R/W | 1 | int16 | HO | |
40129 | R/W | 1 | int16 | HF | 温度控制-停止加热 -40~70 |
40130 | R/W | 1 | char02 | AS | 自动运行命令 DT/DM/TP/LO… |
40131 | R/W | 1 | uint16 | AD | 设备通讯地址 1~247 |
- | |||||
40801 | R | 16 | string32 | DNA | 设备信息 名称 |
40817 | R | 2 | uint32 | MSN | 序列号 |
40819 | R | 2 | uint32 | VER | 版本信息 |
40821 | R | 2 | uint32 | ISN | 编号 |
40823 | R | 2 | uint32 | CFG | 功能码 |
备注:
l 关于参数设置的更多信息请参看设备的说明书。
l 波特率及通讯地址更改后不会立即生效,直到下一次重新启动。
l 有效的波特率为:1200,2400,4800,9600,19200,38400,57600。默认波特率为9600,设置错误的波特率将使波特率改为默认值9600。数据格式只能为8n1格式。
l 模拟量输出及报警输出只有在测量时才有效;在设备在待命状态时的输出情况取决与错误模式的设置及上次测量结果。
l 自动运行命令支持以下命令模式:DT,DS,DW,DX,DF,DM,TP,LO。大小写字符均可。设置错误的命令将使自动运行命令改为默认值TP。
l 设备的通讯地址范围为1~247,非法的地址设置将会使设备地址改为默认值201。