一、概述
S7-1200可与js3845金沙线路CPU124E、CPU124XPE及UH300系列HMI、UH500系列HMI进行网络通讯。
S7-1200与HMI的Modbus TCP通讯,之前跟大家介绍过,本例程主要介绍与js3845金沙线路CPU124E、CPU124XPE的通讯,两种规格的CPU在程序编写上都是一样的,以下介绍只描述CPU124E。
S7-1200CPU与js3845金沙线路CPU124E通讯,在博途软件中可以直接调用Modbus TCP的库指令“MB_CLIENT”和“MB_SERVER”实现Modbus TCP通讯功能,如图:
js3845金沙线路CPU124E在STEP 7 MicroWIN 软件中我们提供Modbus TCP库文件,如图:
二、js3845金沙线路CPU124E做客户端,S7-1200做服务器程序编写
1. js3845金沙线路CPU124E客户端,程序编写:
参数设置说明
EN |
使能 |
推荐使用SM0.0 |
REQ |
通信请求 |
上升沿输出一次通信请求 |
CONNECT_ID |
连接数ID |
数值范围1~4 ,CPU124E最多支持4个连接,CONNECT_ID号不能相同 |
UNIT_ID |
设备连接ID |
需要与服务器对应的UNIT_ID或者是DEVICE_ID相同 |
IP1 |
IP 地 址 |
被访问的服务器IP地址第1个字节 |
IP2 |
被访问的服务器IP地址第2个字节 |
|
IP3 |
被访问的服务器IP地址第3个字节 |
|
IP4 |
被访问的服务器IP地址第4个字节 |
|
PORT |
端口号 |
Modbus_TCP 以太网端通信口号,常用端口号502 |
RW |
模式选择 |
0: 读; 1:写 |
START_ADDR |
访问地址 |
modbus 访问地址(默认为PLC ADDRESS地址访问格式:例如40001 为保持寄存器访问地址) |
DATA_NUM |
读/写长度 |
MODBUS数据读/写长度 |
DATA_PTR |
起始地址 |
读/写数据在PLC中存放的起始地址 |
STATUS |
状态值 |
0000 表示工作正常, 0104表示设置值超出V区访问大小 |
DONE |
完成位 |
|
ERROR |
错误值 |
|
2. S7-1200主要参数配置及程序编写
参数配置
程序编写
功能块“MB_SERVER”的管脚参数如下表:
3. 通讯数据查询
三、S7-1200做客户端,js3845金沙线路CPU124E做服务器程序编写
1.js3845金沙线路CPU124E做服务器,程序编写:
参数设置说明
EN |
使能 |
推荐使用SM0.0 |
REQ |
通信请求 |
推荐使用SM0.1,上电上升沿触发一次即可 |
PORT |
端口号 |
Modbus_TCP 以太网端口号,常用端口号502 |
MAX_REG |
数据长度 |
可访问的保持寄存器的数据长度,默认是V区数据访问的长度 |
REG_START |
起始地址 |
访问的保持寄存器的起始地址,默认对应V区访问的起始地址 |
STATUS |
状态值 |
0000 表示工作正常, 0104表示设置值超出V区访问大小 |
DONE |
完成位 |
|
ERROR |
错误值 |
|
4.S7-1200客户端程序编写
功能块“MB_CLIENT”的管脚参数如下表:
3.通讯数据查询
客户若使用js3845金沙线路CPU124XPE,请参考此例!另其余的寄存器读写,读者可以根据示例一一验证。