modbus指令使用与测试-ModbusTCP_Slave(3)

【笔记】PLC设备中使用Modbus指令与实际操作步骤ModbusTCP_Slave指令

1.背景

以PLC作为从站,电脑(摩尔信使软件MThings)作为主站,对Modbus指令进行使用
ModbusTCP_Slave

2.设备环境配置

需要PLC设备、RS485线、电脑端下载摩尔信使软件(可未做Modbus从站)、codesys软件(用来控制PLC并编写程序)

请添加图片描述

查看RS485线是否与电脑连接成功

1.保证PLC接线正常
2.RS485线 接线,在电脑 设备管理器-端口(COM和LPT)中查看是否有新增端口

在这里插入图片描述
在这里插入图片描述

电脑识别到新增端口COM6为成功

【注】并非所有识别出来端口均为COM6,设备不同 端口号可能不同,COM4/COM5/COM* 均可能

3.配置程序

1)codesys中配置

  1. 使用ModbusTCP_Slave功能块,就是将PLC作为从站,(当PLC作为从站时,无需添加其他设备)
    在这里插入图片描述
codesys中的程序

【前提】
使用Modbus程序,首先需要搭配ModbusRTU_Config使用
ModbusRTU_Config 功能块,配合ModbusTCP_Slave功能,后才可成功运行。
单独的ModbusTCP_Slave功能块无法正常使用。

【描述】
PLC作为从站,电脑(摩尔信使)作为主站
codesys程序中,配置一组变量并分配地址(数量自己定),其作用就是当电脑(摩尔信使)作为主站去读取从站数据时,需要配置开始地址
在这里插入图片描述

PROGRAM POU4
VAR
    Execute_0   : BOOL:=FALSE;
    Execute_1   : BOOL:=FALSE;
    dis0 AT %QX8.0 :BOOL;
     dis1 AT %QX8.1 :BOOL;
     dis2 AT %QX8.2 :BOOL;
     dis3 AT %QX8.3 :BOOL;
     dis4 AT %QX8.4 :BOOL;
     dis5 AT %QX8.5 :BOOL;
     dis6 AT %QX8.6 :BOOL;
     dis7 AT %QX8.7 :BOOL;
     
     modbusrtu_config_0:ModbusRTU_Config;
    modbustcp_slave_0: ModbusTCP_Slave;
END_VAR

modbusrtu_config_0(
    Execute:= Execute_0,
    Port:= 3,
    DataBits:= 8,
    StopBits:= 1,
    Parity:= 2,
    Baudrate:= 9600,
    Done=> ,
    Busy=> ,
    Error=> ,
    ErrorID=> );

modbustcp_slave_0(
    Enable:=Execute_1 ,
    Port:=502,
    UintID:=1,
    Valid=> ,
    Error=> ,
    ErrorID=> );




2)摩尔信使软件配置

电脑下载摩尔信使软件MThings,作为Modbus主站

摩尔信使中的配置

1.添加设备。通道,设备类型选择NET000或者NET001,模拟主机,起始1,结束1
2.新增数据配置,添加8个线圈状态。
【注:摩尔信使中添加几个,codesys程序中的就对应添加几个变量,相互对应,详情见代码】,同时需要配置线圈的地址,应该与codesys程序中设置的变量地址对应,才可以读取到
例如:
dis0 AT %QX8.0 :BOOL;对应到摩尔信使中的地址应该64
dis1 AT %QX8.1 :BOOL;对应到摩尔信使中的地址应该65

3.添加完成后,点击配置
4.点击右上角的通道信息,配置参数

  • TCP客户端是主站
  • 本地IP配置电脑的IP(主站IP)
  • 目标IP配置PLC的IP(从站IP)
  • 目标端口与codesys程序中配置一致502

5.查看是否连接成功

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3)运行codesys程序

执行致为TRUE,电脑主站(摩尔信使)成功读取从站(codesys)的数值
改变从站数值(codesys程序中设置的变量数值改为TRUE),主站(摩尔信使)中的数值同步改变

1.确保codesys程序的modbus_Config与ModbusTCP_Slave执行成功未报错
2.摩尔信使点击批量读,循环
3.修改codesys程序中coil的值
4.可以在摩尔信使中同步查看更新

在这里插入图片描述

新手笔记,欢迎指出错误之处

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值