MODBUSM_REGGET -- 读对端保持寄存器

类型

通讯指令

描述

把对端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          '300301传输数据

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

相关指令

ADDRESSPROTOCOLPORTSETCOM