Modbus协议(四)-Codesys做服务器和ModScan做ModbusTCP通信

ModbusTCP通信-Codesys

使用Codesys作为ModbusTCP的Server(服务器,从站),使用ModScan作为Client(客户端,主站)连接服务器。

工作环境

Vmware虚拟机:
A:Win10专业工作站版
image
安装Codesys V3.5 SP21
image
B:Win10专业工作站版
安装Modscan调试软件

Server端配置

新建Codesys工程

截图 2025-07-20 10-53-15
截图 2025-07-20 10-53-50

添加设备并配置

添加以太网适配器

截图 2025-07-20 10-54-50
截图 2025-07-20 10-55-13

添加ModbusTCP Server

截图 2025-07-20 10-55-40
截图 2025-07-20 10-56-02

连接设备

截图 2025-07-20 10-58-51

选择网卡

截图 2025-07-20 11-00-29
这步操作可以理解为给PLC设定用于走Modbus通信的网卡,如果是通过硬件网卡连接到上位机等别的设备,那么就需要选择对应的连接网线的那个硬件网卡。

配置存储区

截图 2025-07-20 11-01-32

查看映射区

将设备下载入本地runtime,然后查看映像区
截图 2025-07-20 11-07-40

Client端

客户端连接服务器

打开ModScan,选择Connection,并设置服务器的IP地址并连接
截图 2025-07-20 11-09-57

服务器此时状况

此时可以看到服务器端的状况是
截图 2025-07-20 11-10-49

客户端做寄存器写入

截图 2025-07-20 11-11-14

数据写入后服务器此时状况

截图 2025-07-20 11-11-40

服务器端修改数据

截图 2025-07-20 11-12-12

客户端查看数据

截图 2025-07-20 11-12-47

可能存在的问题

IP设置好之后,两台设备无法ping通,可能ICMP协议未开通。可在防火墙高级设置中进行手动添加规则。
截图 2025-07-20 10-48-49
防火墙选择高级设置
截图 2025-07-20 10-39-31
新建之后选择自定义
截图 2025-07-20 10-40-06
截图 2025-07-20 10-40-14
在协议这边,选择ICMPv4,允许所有
截图 2025-07-20 10-40-48
选择规则应用于所有IP,当然也可以设定IP范围。
截图 2025-07-20 10-41-14
截图 2025-07-20 10-41-18
配置完成之后,即可ping通。
仍可能遇到,能ping通但是ModbusTCP从站无法连接,有可能是端口未开放,仍旧是在防火墙高级设置中添加规则。
选择端口
截图 2025-07-20 10-49-27
选择TCP,端口号502。当然也可以选择别的端口,但需要于Codesys中设置的ModbusTCP服务器端口一致,一般就默认502.
截图 2025-07-20 10-49-39
取个名字并保存
截图 2025-07-20 10-50-02

posted @ 2025-07-20 12:20  科里布  阅读(253)  评论(0)    收藏  举报