将数据写入从站或从从站中读取
使用此指令,通过采用Modbus RTU协议的通信端口,将数据从主站写入从站或从从站读取数据(如所用端口的系统寄存器中所定义)。 确保对主站和从站设置相同的协议。
输入
根据PLC的类型指定通信端口:
COM端口,例如SYS_COM0_PORT
以太网端口,例如SYS_ETHERNET_USER_CONNECTION_1
MCU/SCU,例如COM01中的16#xx01 (xx = 插槽编号)
从站的站号
仅对于FP7:
函数代码05、06、15、16:0–247
当使用SCU且为从站单元编号指定“0”时,将执行全局传输。在这种情况下,从站单元没有响应信息。
函数代码01、02、03、04:1-247
对于其他PLC:
函数代码05、06、15、16:0–99
当为从站单元编号指定“0”时,将执行全局传输。在这种情况下,从站单元没有响应信息。
函数代码01、02、03、04: 1-99
如果SYS_ETHERNET_USER_CONNECTION_xx应用到输入Port,则设置为1
SYS_MODBUS_03_READ_HOLDING_REGISTER
起始地址(0–65535)。地址类型根据由FunctionCode*指定的命令而定。
发送的位数或字数。
1表示函数代码05、06
函数代码01、02为1–2040
函数代码15为2–2040
函数代码03、04为1–127
函数代码16为2–127
要写入从站的数据在主站上的源地址。
输出
仅对于FP7: 如需查看所有错误代码的说明,请参阅Modbus/MEWTOCOL通信错误代码表。
对于其他PLC:设置为0
发送过程中:主站通信发送标志为TRUE
发送完成后:主站通信发送标志为FALSE
正常完成:FALSE
异常完成:TRUE
如果使用索引寄存器指定的区域超出限制。
如果使用索引寄存器指定的区域超出限制。
将此常量应用于输入参数FunctionCode*时,将执行相应的Modbus命令。
针对已连接的从站为通过系统寄存器被配置为Modbus RTU从站的Panasonic PLC的特殊情况,将从下述项目中读取一个或多个位:
Y(输出)
R(内部继电器)
执行Modbus命令01:从以变量StartRegister设置的起始寄存器56起始的Modbus从站中读取1位。然后命令会将1位存储至以变量bBool2设置的地址起始的主站中。从站的地址根据设备的Modbus规格转换为设备特定地址。
如果已连接的从站为Panasonic PLC,起始寄存器56将对应于输出Y38(3*16+8=56)。
将此常量应用于输入参数FunctionCode*时,将执行相应的Modbus命令。
针对已连接的从站为通过系统寄存器被配置为Modbus RTU从站的Panasonic PLC的特殊情况,将从下述项目中读取一个或多个位:
执行Modbus命令02:从以变量StartRegister设置的起始寄存器66起始的Modbus从站中读取1位。然后命令会将1位存储至以变量bBool2设置的地址起始的主站中。从站的地址根据设备的Modbus规格转换为设备特定地址。
如果已连接的从站为Panasonic PLC,起始寄存器66将对应于输入X42(4*16+2=66)。
将此常量应用于输入参数FunctionCode*时,将执行相应的Modbus命令。
针对已连接的从站为通过系统寄存器被配置为Modbus RTU从站的Panasonic PLC的特殊情况,将从下述项目中读取一个或多个位:
执行Modbus命令03:从以变量StartRegister设置的起始寄存器100 起始的Modbus从站中读取2个字。然后命令会将2个字存储至以变量rCount2设置的地址起始的Modbus主站2中。从站的地址根据设备的Modbus规格转换为设备特定地址。
如果已连接的从站为Panasonic PLC,起始寄存器100将对应于数据寄存器DT100。
寄存器最大数量:127。
将此常量应用于输入参数FunctionCode*时,将执行相应的Modbus命令。
针对已连接的从站为通过系统寄存器被配置为Modbus RTU从站的Panasonic PLC的特殊情况,将从下述项目中读取一个或多个位:
WL0–WL127(链接继电器)
LD0–LD256(链接数据寄存器)
执行Modbus命令04:从以变量StartRegister设置的起始寄存器2018 起始的Modbus从站中读取7个字。然后命令会将7个字存储至以变量MasterData设置的由LD25起始的主站中。从站的地址根据设备的Modbus规格转换为设备特定地址。
如果已连接的从站为Panasonic PLC,起始寄存器2018将对应于链接数据寄存器LD18。
寄存器最大数量:127。
将此常量应用于输入参数FunctionCode*时,将执行相应的Modbus命令。
已连接的从站为Modbus RTU模式的Panasonic PLC时,一个或多个位将被写入:
Y(输出)
R(内部继电器)
执行Modbus命令05:向以变量MasterData设置的地址WY1起始的Modbus从站中写入1位。然后命令会将1位存储至以变量StartRegister设置的起始寄存器35起始的Modbus从站中。从站的地址根据设备的Modbus规格转换为设备特定地址。
如果已连接的从站为Panasonic PLC,地址35将对应于输出Y23(2*16+3=35)。
写入多位数据时,使用SYS_MODBUS_15_FORCE_COILS常量。
寄存器最大数量:1
将此常量应用于输入参数FunctionCode*时,将执行相应的Modbus命令。
已连接的从站为Modbus RTU模式的Panasonic PLC时,一个或多个位将被写入:
执行Modbus命令 06:向以变量MasterData设置的地址 DT14起始的Modbus从站中写入1个字。然后命令会将1个字存储至以变量StartRegister设置的起始寄存器21起始的Modbus从站中。从站的地址根据设备的Modbus规格转换为设备特定地址。
如果已连接的从站为Panasonic PLC,起始寄存器21将对应于数据寄存器DT21。
写入多位数据时,使用SYS_MODBUS_15_FORCE_COILS常量。
寄存器最大数量:1
将此常量应用于输入参数FunctionCode*时,将执行相应的Modbus命令。
已连接的从站为Modbus RTU模式的Panasonic PLC时,一个或多个位将被写入:
Y(输出)
R(内部继电器)
执行Modbus命令15:向以变量MasterData设置的地址WY1起始的Modbus从站中写入64位。然后命令会将64位存储至以变量StartRegister设置的起始寄存器48起始的Modbus从站中。 从站的地址根据设备的Modbus规格转换为设备特定地址。
如果已连接的从站为Panasonic PLC,地址48将对应于输出Y30(3*16=48)。
将此常量应用于输入参数FunctionCode*时,将执行相应的Modbus命令。
已连接的从站为Modbus RTU模式的Panasonic PLC时,一个或多个位将被写入:
执行Modbus命令16:向以变量rCount1设置的地址起始的Modbus从站中写入数据。然后命令会将数据存储至以变量StartRegister设置的起始寄存器100起始的Modbus从站2中。从站的地址根据设备的Modbus规格转换为设备特定地址。
如果已连接的从站为Panasonic PLC,起始寄存器100将对应于数据寄存器DT100。
寄存器最大数量:127。