一、实验目的
利用FX5U内置以太网口与iQ-R系列CPU的Socket通信功能,实现两款PLC之间的相互数据读写及信号交互,完成基于内置以太网的Socket通信技术验证与实操落地。
二、实验系统构成
2.1 硬件组成
实验硬件由FX5U PLC、iQ-R系列R04CPU、电脑、集线器组成,通过集线器实现各设备的以太网组网,完成硬件链路搭建。
| 型号 |
设备名称 |
| FX5U-32M |
FX系列PLC |
| R04CPU |
iQ-R系列PLC |
| - |
网络集线器 |
| - |
调试电脑 |
2.2 实验核心要点
- 掌握Socket通讯基础指令的调用与配置方法;
- 熟练使用通信FBD功能块完成数据接收、发送的参数设置;
- 实现iQ-R与FX5U的以太网网段匹配、TCP协议连接配置;
- 完成PLC之间的主动/被动连接设置及数据交互监控。
三、Socket通讯核心指令及FBD功能块设置
3.1 基础连接指令
| 指令 |
功能说明 |
| SP.SOCOPEN |
建立Socket通信连接,开启数据交互通道 |
| SP.SOCCLOSE |
关闭Socket通信连接,断开数据交互通道 |
3.2 数据接收指令(SP_SOCRCV)FBD设置
该指令用于读取通信连接中的数据,通过FBD功能块配置,核心操作数及参数要求如下:
| 操作数 |
内容 |
范围 |
数据类型 |
标签数据类型 |
| U/s1/s2 |
连接编号/控制数据起始软元件 |
1~16 |
带符号BIN16位/字符串 |
AMT16/ANT16/ARRAY/AMTSTRING |
| d1 |
接收数据起始软元件 |
- |
字 |
ANT16(要素数:2) |
| d2 |
执行结果 |
- |
位 |
ANTBIT_ARRAY/BOOL(要素数:2) |
| EN/ENO |
执行条件/执行结果 |
- |
位 |
BOOL |
3.3 数据发送指令(SP_SOCSND)FBD设置
该指令用于向通信连接中发送数据,核心操作数及参数要求如下,指令完成时对应位元件扫描为ON,异常时偏移位元件同时ON:
| 操作数 |
内容 |
范围 |
数据类型 |
标签数据类型 |
| U |
虚拟参数 |
- |
字符串 |
ASYSTRING SINGLE |
| s1 |
连接编号 |
1~16 |
带符号BIN16位 |
ANT16 |
| s2 |
控制数据起始软元件 |
参阅控制数据 |
字 |
ANT16_ARRAY(要素数:2) |
| s3 |
发送数据起始软元件 |
- |
字 |
ASY16列 |
| d |
指令执行状态位 |
- |
位 |
ANTBIT_ARRAY(要素数:2) |
| EN/ENO |
执行条件/执行结果 |
- |
位 |
BOOL |
四、iQ-R系列R04CPU配置步骤
4.1 以太网端口基础设置(GX Works3)
- 打开GX Works3,进入以太网端口设置界面,配置IP地址,确保与FX5U在同一网段;
- 【通信数据代码】选择二进制格式;
- 点击【对象设备连接配置】右侧的详细设置,进入连接配置界面。
4.2 被动连接设备配置
- 在【对象设备连接配置】详细设置界面,将右侧Unpassive连接设备拖拽至左侧;
- 通信协议选择TCP;
- 设置端口号,端口号支持范围:1-5549、5569-65534,需记录该端口号用于FX5U端匹配。
4.3 iQ-R PLC程序编写
采用PLC自带功能块编写读写程序,无需缓存器方式,仅需配置功能块输入输出参数即可,优势为:
1. 程序编写效率更高;2. 逻辑直观,便于调试;3. 直接对接Socket通信指令,减少中间环节。
核心配置:数据接收指令参数匹配、数据发送指令参数匹配,与Socket通信通道联动。
五、FX5U系列PLC配置步骤
5.1 以太网端口基础设置
- 进入FX5U参数设置界面,选择【参数】→【模块参数】;
- 配置IP地址,确保与R04CPU在同一网段;
- 点击【打开设置】,进入以太网详细配置界面。
5.2 主动连接设备配置
- 在【对象设备连接配置】详细设置界面,将右侧Active连接设备拖拽至左侧(FX5U作为主动连接端);
- 通信协议选择TCP;
- 设置端口号(需与R04CPU端设置的端口号完全一致),目标地址填写R04CPU的IP地址。
5.3 FX5U客户端程序编写
FX5U作为Socket通信主动端(客户端),程序核心围绕通道管理和数据读写展开,步骤如下:
- 通道建立:通过SP.SOCOPEN指令开启与iQ-R服务器端的通信通道,通道未打开则无法进行数据交互;
- 数据交互:通过SP.SOCSND指令向iQ-R发送数据,通过SP_SOCRCV指令读取iQ-R发送的数据;
- 通道关闭:通过SP.SOCCLOSE指令断开通信通道,停止数据交互。
六、PLC之间数据交互与实时监控
完成上述配置后,通过软元件实现FX5U与iQ-R的双向数据传输,各软元件分工明确,实时监控数据传输状态,具体映射关系如下:
6.1 FX5U→iQ-R 数据发送
- FX5U通过SP.SOCSND指令将D1/D2作为发送数据区;
- FX5U中D0为发送数据长度;
- iQ-R通过SP_SOCRCV指令接收数据,存储至D321/D322;
- iQ-R中D320为接收数据长度。
6.2 iQ-R→FX5U 数据发送
- iQ-R通过SP.SOCSND指令将D421/D422作为发送数据区;
- iQ-R中D420为发送数据长度;
- FX5U通过SP_SOCRCV指令接收数据,存储至D101/D102;
- FX5U中D100为接收数据长度。
6.3 监控方式
通过GX Works3(iQ-R)和GX Works2/3(FX5U)的软元件监控功能,实时查看上述数据区的数值变化,验证数据传输的准确性和实时性;同时监控通信状态位,确认Socket连接是否正常、指令执行是否无异常。
七、实验结论
- 通过匹配网段、配置TCP协议的主动/被动连接,可实现FX5U内置以太网与iQ-R系列CPU的Socket通信;
- 利用SP.SOCOPEN/SP.SOCCLOSE可灵活控制通信通道的开启与关闭,实现数据交互的可控性;
- 通过SP_SOCRCV/SP.SOCSND指令及FBD功能块配置,可完成两款PLC之间的双向数据读写,数据传输准确、实时;
- iQ-R采用自带功能块编写通信程序,相比缓存器方式更简洁、易调试,适合工业现场快速落地。