|
类型 |
通讯指令 |
|
描述 |
把对端的MODBUS保存寄存器复制到本地。 对应标准协议功能码03,读保持寄存器。 |
|
语法 |
MODBUSM_REGGET (startreg, num, local_reg) startreg:对端的寄存器起始编号,从0开始 num:寄存器个数 local_reg:本地系统MODBUS寄存器起始编号 |
|
适用控制器 |
通用 |
|
例子 |
台达绝对值编码器读取 GLOBAL DIM flag_abs '编码器读取正确标志 flag_abs = 0 GLOBAL DIM total_pul '读到个总脉冲个数 SETCOM(38400,8,2,0,1,14) '设置485口为MODBUS主端,波特率38400 MODBUSM_DES(1,1) '设置485端口,对方站号1 P3-00 MODBUS_LONG(300) = 2 '用300,301传输数据 MODBUSM_REGSET(98,2,300) '设置P0-49 = 2,更新参数 MODBUSM_REGGET(98,2,300) TICKS = 1000
WHILE (MODBUS_LONG(300) AND TICKS > 0) '等到P0-49变成0 或1秒超时,即更新完成或者不成功 MODBUSM_REGGET(98,2,300) WEND
IF TICKS < 0 THEN PRINT "伺服更新不成功" flag_abs = 1 RETURN ENDIF
MODBUSM_REGGET(100,6,310) IF MODBUS_LONG(310) = 0 THEN '编码器正常 flag_abs = 0 total_pul = MODBUS_LONG(314) ELSE PRINT "编码器出错" flag_abs = 2 ENDIF
IF flag_abs = 0 THEN '正确 dpos(0) = -total_pul/units(0) '测试出来的脉冲个数值是反的,取反还原坐标 ENDIF END |
|
相关指令 |