欧姆龙 CP1H PLC 通过加装 CP1W-CIF41 通讯模块实现 FINS TCP 通讯的完整过程,这是工业现场中 PLC 与上位机 / 其他设备进行以太网通讯的典型应用场景。
一、整体实现思路
FINS TCP 是欧姆龙专属的工业以太网通讯协议,CP1H 本身无以太网口,需通过 CP1W-CIF41(以太网扩展模块)扩展以太网功能,实现步骤分为硬件接线、模块参数配置、PLC 程序设置、通讯测试四大部分,我会一步步详细拆解。
二、详细实施过程
1. 硬件准备与接线
(1)硬件清单
主体 PLC:CP1H(XA/XC/XD 系列均可)
扩展模块:CP1W-CIF41(以太网通讯模块)
配件:RJ45 网线、24V DC 电源、编程电缆(CP1H-CIF01)
(2)硬件安装与接线
将 CP1W-CIF41 模块沿导轨安装在 CP1H 右侧,对齐模块间的连接口,确保机械扣合到位;
给 CP1H 和 CIF41 模块供 24V DC 电源(注意正负极,避免接反);
用 RJ45 网线将 CIF41 模块的以太网口连接到交换机 / 电脑网口(直连电脑需用交叉网线,或使用自适应网口的交换机);
用编程电缆连接 CP1H 的 RS232 口与电脑,用于初始参数配置。
2. CP1W-CIF41 模块参数配置(使用 CX-Programmer)
这是核心步骤,需在 CX-Programmer 中配置模块的 IP 地址、FINS 节点号等关键参数。
(1)软件环境准备
安装 CX-Programmer(推荐 V9.7 及以上版本);
安装 CP1H 和 CP1W-CIF41 的设备库(CX-Programmer 默认自带);
电脑与 CP1H 通过编程电缆建立连接,确保能在线读取 PLC 参数。
(2)模块参数设置步骤
打开 CX-Programmer,新建工程,选择对应型号的 CP1H PLC,建立在线连接;
左侧树形菜单中找到「PLC Parameter」→「Built-in Ethernet/CIF41」(不同版本可能显示为「Ethernet Unit」);
进入 CIF41 模块配置界面,关键参数设置如下:
| 参数项 | 设置说明 | 示例值 |
|---|---|---|
| IP Address | CIF41 模块的 IP 地址,需与电脑 / 上位机在同一网段 | 192.168.250.10 |
| Subnet Mask | 子网掩码 | 255.255.255.0 |
| Default Gateway | 网关(无跨网段通讯时可设为 0.0.0.0) | 0.0.0.0 |
| FINS Node Number | FINS 节点号(以太网专用,范围 0-127,同网段内唯一) | 10 |
| FINS UDP Port | FINS TCP/UDP 通讯端口(默认 9600,无需修改) | 9600 |
| Ethernet Mode | 通讯模式(选择「TCP/IP」) | TCP/IP |
配置完成后,点击「写入 PLC」,重启 PLC 使参数生效;
验证模块状态:CIF41 模块的「link」指示灯常亮(表示物理连接正常),「COMM」指示灯闪烁(表示参数配置成功)。
3. PLC 程序中的 FINS TCP 相关设置
无需编写复杂通讯程序,只需确保 PLC 允许 FINS TCP 访问,并可通过程序实现数据读写(以读写 D 寄存器为例)。
(1)允许 FINS TCP 访问(必要设置)
在 CX-Programmer 中打开「PLC Parameter」→「Network Parameter」→「FINS/TCP」,勾选:
「Enable FINS/TCP Server」(启用 FINS TCP 服务器)
「Allow Unicast Connection」(允许单播连接)
端口保持默认 9600,点击写入 PLC。
(2)PLC 程序示例(读写数据)
以下是简单的梯形图程序(可直接在 CX-Programmer 中编写),实现:
上位机通过 FINS TCP 写入 D100 的值,PLC 将其赋值给 D200;
PLC 将 D300 的值实时更新,供上位机读取。
ladder
// 程序段1:将D100(上位机写入)赋值给D200 LD 1.00 // 常ON触点 MOV D100 // 源寄存器:D100(上位机写入) D200 // 目标寄存器:D200(PLC内部使用) // 程序段2:PLC内部数据更新(供上位机读取) LD 1.00 ADD D300 // 源寄存器:D300 #1 // 加1 D300 // 结果写回D300(上位机可读取该值)
4. FINS TCP 通讯测试(两种常用方式)
(1)使用欧姆龙 CX-Integrator 测试(专业工具)
打开 CX-Integrator,新建工程,选择「Ethernet」连接方式;
输入 CIF41 模块的 IP 地址(如 192.168.250.10),点击「连接」;
连接成功后,可直接读写 PLC 的 D 寄存器(如读取 D300、写入 D100),验证通讯是否正常。
(2)使用第三方工具测试(如 FINS Debugger)
电脑与 CIF41 模块在同一网段(如电脑 IP 设为 192.168.250.1);
打开 FINS Debugger,配置:
通讯类型:TCP
目标 IP:192.168.250.10
目标端口:9600
FINS 节点号:10
发送读写指令:
读取 D300:指令码
01 01 00 00 00 01 82 00 00 00 00 00 00 00 03 E8写入 D100(值为 100):指令码
01 02 00 00 00 01 82 00 00 00 00 00 00 00 03 E8 00 64若能正常返回数据 / 写入成功,说明 FINS TCP 通讯配置完成。
5. 常见问题与解决
| 问题现象 | 原因分析 | 解决方法 |
|---|---|---|
| link 灯不亮 | 网线未接好 / 模块未供电 / 网口损坏 | 检查网线连接、模块电源,更换网线测试 |
| COMM 灯不亮 | IP 参数配置错误 / PLC 未重启 | 重新配置 IP 参数,写入后重启 PLC |
| 能 ping 通但无法通讯 | FINS 节点号冲突 / 未启用 FINS Server | 检查同网段节点号,启用 FINS TCP Server 参数 |
| 数据读写乱码 | 数据格式不匹配(16 位 / 32 位) | 确保上位机与 PLC 数据位数一致 |
三、关键配置补充
IP 地址规划:确保 CIF41 模块的 IP 地址与通讯对象(电脑 / 上位机)在同一网段,例如:
CIF41:192.168.250.10,子网掩码 255.255.255.0
电脑:192.168.250.1,子网掩码 255.255.255.0
CP1W-CIF41 模块固件:若出现通讯不稳定,可通过 CX-Programmer 升级模块固件(需下载对应固件文件)。
多设备通讯:若需多台 PLC 通过 FINS TCP 通讯,需确保每台 PLC 的 FINS 节点号唯一,IP 地址不冲突。
总结
欧姆龙 CP1H+CP1W-CIF41 实现 FINS TCP 通讯的核心是模块硬件安装 + IP/FINS 参数配置 + 启用 FINS Server,无需复杂编程即可实现基础通讯;
参数配置时需重点确认 IP 地址、子网掩码、FINS 节点号的正确性,配置后必须重启 PLC 生效;
测试阶段可通过 CX-Integrator 或第三方工具验证通讯,常见问题多为 IP / 节点号冲突、参数未启用导致,需逐一排查。

