【笔记】PLC设备中使用Modbus指令与实际操作步骤
ModbusRTU-Slave使用方法
文章目录
1.背景
以PLC(codesys平台控制)作为从站,电脑(摩尔信使软件)作为主站,对ModbusRTU-Slave指令进行使用
2.设备环境配置
需要PLC设备、RS485线、电脑端下载摩尔信使软件(可作为Modbus主站)、codesys软件(用来控制PLC并编写程序,可作为从站)
查看RS485线是否与电脑连接成功
1.保证PLC接线正常
2.RS485线 接线,在电脑 设备管理器-端口(COM和LPT)中查看是否有新增端口
电脑识别到新增端口COM6为成功
【注】并非所有识别出来端口均为COM6,设备不同 端口号可能不同,COM4/COM5/COM* 均可能
3.配置程序
1)codesys中配置
- 使用slave功能块无需添加其他设备
codesys中的程序
【前提】
使用Modbus程序,首先需要搭配使用
使用ModbusRTU_Config 功能块,配合ModbusRTU_Slave功能,后才可成功运行。
单独的ModbusRTU_Slave功能块无法正常使用。
【描述】
PLC作为从站,电脑(摩尔信使)作为主站
codesys程序中,配置一个地址,用来读取电脑(主站)的数值
PROGRAM PLC_PRG
VAR
i:INT:=1;
Execute_0:BOOL:=FALSE;
Execute_1:BOOL:=FALSE;
Execute_2:BOOL:=FALSE;
port_0:BYTE:=3; //硬件端口号
DataBits_0:BYTE:=8;
StopBits_0: BYTE := 1;
Parity_0: BYTE := 0;
Baudrate_0: UDINT := 9600; //波特率
Done_0: BOOL;
Busy_0: BOOL;
Error_0: BOOL;
ErrorID_0: INT;
coil1 AT %QX0.0 : BOOL;
coil2 AT %QX0.1 : BOOL;
coil3 AT %QX0.2 : BOOL;
coil4 AT %QX0.3 : BOOL;
coil5 AT %QX0.4 : BOOL;
modbus_Config_0 : ModbusRTU_Config;
ModbusRTU_Slave_0:ModbusRTU_Slave;
END_VAR
modbus_Config_0(
Execute:= Execute_0,
Port:= 3,
DataBits:= 8,
StopBits:= 1,
Parity:= 0,
Baudrate:= 9600,
Done=> ,
Busy=> ,
Error=> ,
ErrorID=> );
ModbusRTU_Slave_0(
Enable:= Execute_2,
SlaveID:= 1,
Valid=> ,
Error=> ,
ErrorID=> );
2)摩尔信使软件配置
电脑下载摩尔信使软件,作为Modbus主站
摩尔信使中的配置
1.添加设备。通道应该与之前新增设备的通道COM口一致。设备类型选择主机
2.新增数据配置,添加5个线圈状态。【注:摩尔信使中添加几个,codesys程序中的就对应几个coil就对应几个,详情见后续代码】
3.添加完成后,点击配置
4.点击右上角的通道信息,查看通道是否连接成功
3)运行codesys程序
执行致为TRUE,电脑主站(摩尔信使)成功读取从站(codesys)的数值
改变从站数值(codesys程序中改变),主站(摩尔信使)中的数值同步改变
1.确保codesys程序的modbus_Config与ModbusRTU_Slave执行成功未报错
2.摩尔信使点击批量读
3.修改codesys程序中coil的值
4.可以在摩尔信使中同步查看更新
新手笔记,欢迎指出错误之处