【转】欧姆龙OMRON PLC之 CP1H 以太网FINS/TCP通讯实例

article/2025/10/14 5:49:16

原文:http://blog.sina.com.cn/s/blog_539cee190102wr4t.html

欧姆龙OMRON <wbr>PLC之 <wbr>CP1H <wbr>以太网FINS/TCP通讯实例


CP1H上面的选件板插槽可以插入1-2块CP1W-CIF41模块,系统即具有了以太网功能,也可以使用CP1W-EXT01和CJ1W-ETN21以太网扩展模块来组态,用于在CX-Programmer软件下的编程或监控,也可以和其它网络设备(可以是上位机,也可以是其它的PLC或者是带有以太网接口的触摸屏等)进行通讯。
 

欧姆龙OMRON <wbr>PLC之 <wbr>CP1H <wbr>以太网FINS/TCP通讯实例

图1 CP1W-CIF41

 

欧姆龙OMRON <wbr>PLC之 <wbr>CP1H <wbr>以太网FINS/TCP通讯实例

图2 ETN21
 

就像UDP的TCP之间的特性对比一样,和FINS/UDP方式相比,FINS/TCP具有更好的可靠性,但是不如前者的效率高。不可以使用广播,同时最多16个连接。本文给出FINS/TCP通讯实例供参考。
http://blog.sina.com.cn/hulx
电脑和PLC通讯,通常都是电脑做为客户端,PLC作为服务器端。如果是PLC之间进行通讯,任何一台PLC都可以作为服务器或者客户端。
http://blog.sina.com.cn/hulx
硬件:
     CP1H-X40DR-A 1台
     CP1W-CIF41 1块
     网线、交换机
软件:
    网络调试助手(或者其它网络调试软件)
    CX-Programmer
http://blog.sina.com.cn/hulx
CP1W-CIF41已经配置成ip=192.168.1.32,subnet MASK=255.255.255.0,port=9600。
运行CX-Programmer,在查看窗口添加D0、D1、W210通道和W212.01位用于监控。
http://blog.sina.com.cn/hulx
客户端电脑配置成ip=192.168.1.5,subnet MASK=255.255.255.0。
运行网络调试软件,协议类型选择 TCP Client,远程主机地址处改为PLC地址和相应的端口号,即192.168.1.32:9600,之后即可点连接。发送和接收区都设置成16进制。
http://blog.sina.com.cn/hulx
一,握手命令
1、客户端向服务器发送命令
00000000。这个命令长20字节,分成5组4字节。分别是:
头(FINS) + 长度(Hex0C) + 命令(00000000)+ 错误码(00000000) + 客户机节点地址。
46494E53是FINS的ASCII码值,即命令头。
0000000C是命令长度20。
00000000是命令码。
00000000是错误码。
00000005是客户节点地址,即电脑IP地址的末位。
http://blog.sina.com.cn/hulx
在发送区输入:
46494E53 0000000C 00000000 00000000 00000005
点击发送,PLC立即回应:
46494E53 00000010 00000001 00000000 00000005 00000020
http://blog.sina.com.cn/hulx
到此我们已经成功地完成了第一步!接下来需要的就是之前介绍过的HostLink协议里面FINS的知识了。
 

欧姆龙OMRON <wbr>PLC之 <wbr>CP1H <wbr>以太网FINS/TCP通讯实例

图3 网络调试助手 握手成功


2、这个是服务器端(PLC)向客户端(电脑)发送的命令00000001。这个命令长24字节,分成6组4字节。分别是:
头(FINS)+ 长度(Hex10) + 命令(00000001) + 错误码 + 客户机节点地址 + 服务器地址。
上面的命令错误代码为0,客户端ip地址05已被服务器32(hex20)成功记录。
http://blog.sina.com.cn/hulx
如果发生错误,服务器回应的命令会包含错误码,连接断开,端口立刻关闭。当连接建立之后,不要再次发送这个命令,否则服务器会返回03错误码,即不支持的命令。全部的错误代码如下:
http://blog.sina.com.cn/hulx
十六进制错误码   含义
00000000           正常
00000001           头不是‘FINS’ (ASCII code)。
00000002           数据太长。
00000003           不支持的命令。
00000020           所有的连接被占用。
00000021           制定的节点已经连接。
00000022           未被指定的IP地址试图访问一个被保护的节点。
00000023           客户端FINS节点地址超范围。
00000024           相同的FINS节点地址已经被使用。
00000025           所有可用的节点地址都已使用。
http://blog.sina.com.cn/hulx
二、FINS帧发送命令
如果向服务器发送FINS帧,就要用到这个命令。由于FINS帧长度是12-2012,因此命令长度可变,
头(FINS)+长度+命令(00000002)+错误码+FINS帧。

FINS命令帧内容可参考欧姆龙OMRON PLC之HostLink通讯协议-FINS命令W字/位操作篇,里面有存储区代码和操作代码的内容。
http://blog.sina.com.cn/hulx
例2-1、读DM0开始的2个通道:
发送:
    46494E53 0000001A 00000002 00000000 80000200 20000005 00FF0101 82000000 0002
20000005:20是目标地址,05是源地址;
00FF0101 :0101是读操作;
82000000:82是DM存储区代码,000000是起始地址;
0002:是数量。

http://blog.sina.com.cn/hulx
返回:
   46494E53 0000001A 00000002 00000000 C0000200 05000020 00FF0101 00001234 5678

00001234:0000代表操作成功,1234是读回的第一个字,即D0=Hex1234,
5678:D1=Hex5678

例2-2、W210寄存器写入Hex0388:
发送:
   46494E53 0000001C 00000002 00000000 80000200 20000005 00FF0102 B100D200 00010388
20000005:20是目标地址,05是源地址;
00FF0102:0102是写操作代码;
B100D200:B1是W字代码,00D2是起始地址,Hex00D2=212,;
00010388:是写入数量,0388是写入首个内容;

回应:
   46494E53 00000016 00000002 00000000 C0000200 05000020 00FF0102 0000
0102后面紧跟的0000代表写入成功。
http://blog.sina.com.cn/hulx
例2-3、W210寄存器读取:
发送:
   46494E53 0000001A 00000002 00000000 80000200 20000005 00FF0101 B100D200 0001
20000005:20是目标地址,05是源地址;
00FF0101:0101是读操作代码;
B100D200:B1是W字代码,00D2是起始地址,Hex00D2=212,;
0001:是读取数量。
http://blog.sina.com.cn/hulx
回应:
   46494E53 00000018 00000002 00000000 C0000200 05000020 00FF0101 00000388
0102后面紧跟的0000代表读取成功,W210=Hex0388
http://blog.sina.com.cn/hulx
例2-4、强制W212.01=On:
发送:
   46494E53 0000001C 00000002 00000000 80000200 20000005 00FF2301  00010001 3100D401
20000005:20是目标地址,05是源地址;
00FF2301:2301是强制操作代码;
00010001:前面的0001是数量,后面的0001代表强制置位操作;
3100D401:31是W位代码,00D401是起始地址,Hex00D4.01=212.01。
http://blog.sina.com.cn/hulx
回应:
   46494E53 00000016 00000002 00000000 C0000200 05000020 00FF2301  0000
2301后面紧跟的0000表示操作成功。
注意在CX-Programmer查看窗口中W212.01的值1后面的(强制)字样。
 

  欧姆龙OMRON <wbr>PLC之 <wbr>CP1H <wbr>以太网FINS/TCP通讯实例

图4 网络调试助手 强制置位
http://blog.sina.com.cn/hulx

欧姆龙OMRON <wbr>PLC之 <wbr>CP1H <wbr>以太网FINS/TCP通讯实例

图5 CX-Programmer 强制置位成功

http://blog.sina.com.cn/hulx
例2-5、强制W212.01=Off:
发送:
   46494E53 0000001C 00000002 00000000 80000200 20000005 00FF2301  00010000 3100D401
20000005:20是目标地址,05是源地址;
00FF2301:2301是强制操作代码;
00010000:0001是数量,0000代表强制复位操作;
3100D401:31是W位代码,00D401是起始地址,Hex00D4.01=212.01。
回应:
   46494E53 00000016 00000002 00000000 C0000200 05000020 00FF2301  0000
2301后面紧跟的0000表示操作成功。
http://blog.sina.com.cn/hulx
例2-6、取消W212.01强制:
发送:
   46494E53 0000001C 00000002 00000000 80000200 20000005 00FF2301  0001FFFF 3100D401
20000005:20是目标地址,05是源地址;
00FF2301:2301是强制操作代码;
0001FFFF:0001是数量,FFFF代表取消强制操作;
3100D401:31是W位代码,00D401是起始地址,Hex00D4.01=212.01。
http://blog.sina.com.cn/hulxhttp://blog.sina.com.cn/hulx
回应:
   46494E53 00000016 00000002 00000000 C0000200 05000020 00FF2301  0000
2301后面紧跟的0000表示操作成功。
注意在CX-Programmer查看窗口中W212.01的值0后面的(强制)字样不见了,表示已经成功地取消了强制。
http://blog.sina.com.cn/hulx

欧姆龙OMRON <wbr>PLC之 <wbr>CP1H <wbr>以太网FINS/TCP通讯实例

图6 网络调试助手 取消强制
http://blog.sina.com.cn/hulx

欧姆龙OMRON <wbr>PLC之 <wbr>CP1H <wbr>以太网FINS/TCP通讯实例
 

图7 CX-Programmer 取消强制成功
http://blog.sina.com.cn/hulx


 

附录1CIF41配置的主要操作步骤

1、硬件设置及接线
槽位对应DIP开关拨打ON,如插在第1槽DIP开关地4位置ON,如插在第2槽DIP开关地5位置ON,表示Toolbus。使用网线连接PC与CIF41。

欧姆龙OMRON <wbr>PLC之 <wbr>CP1H <wbr>以太网FINS/TCP通讯实例



2、以太网选件板IP地址设置
PC打开浏览器,访问默认设定网页:http://192.168.250.1/C00.htm;输入密码:ETHERNET(大写),点击【登陆】按钮进入设置界面。然后点击【设置】中【系统设置】选项进入系统设置界面,设置IP地址、子网掩码、FINS节点地址一定要设置为ip地址的最低位,点击【传送】,然后点击【重启】按钮,即可。

3、PC电脑IP地址设置
PC与CIF41的IP地址需设置为同一网段,末位不一致。子网掩码设置默认255.255.255.0
http://blog.sina.com.cn/hulx


 

附录2、查看CIF41的ip地址

http://blog.sina.com.cn/hulx
如果不知道CIF41的ip地址,可以通过PLC内存查看。
http://blog.sina.com.cn/hulx
1、对于CP1H/L/E-30/40/60,有2个插槽:
       插在选件板插槽1,IP地址保存在D32155-32156两个寄存器中。
       插在选件板插槽2,IP地址保存在D32455-32456两个寄存器中。
2、而对于CP1H/L/E-14/20,只有1个插槽:
       IP地址保存在D32455-32456两个寄存器中。
http://blog.sina.com.cn/hulx
例如本例中,CIF41插在插槽2,查看D32455=#C0A8,D32456=#0120,对应的IP地址就是192.168.1.32。


http://chatgpt.dhexx.cn/article/8c9VojAA.shtml

相关文章

三菱PLC以太网MC通讯协议模块

C、C、C#与三菱PLC以太网通讯程序通讯&#xff0c;采用3E、4E的二进制模式。 软件模块高稳定性&#xff0c;数月数年运行无出错和问题。 性能指标&#xff1a; FX5U&#xff1a; 10000个点时间为30ms Q、LCPU 10000个点时间为4ms 1.该程序可以与FX5U/Q系列PLC以太网通讯&…

汇川HnU系列PLC以太网通讯解决方案

描述&#xff1a; 汇川H0U/H1U/H2U/H3U等系列PLC以及一体机的422通讯和485通讯的以太网扩展解决方案。 桥接器采用三通设计&#xff0c;不占用PLC通讯口&#xff0c;不对原系统做任何硬件和软件修改&#xff0c;即可通过模块的网口对PLC进行数据监控和操作&#xff0c;同时触…

西门子plc与oracle报文,西门子PLC以太网 通讯协议 解析

本帖最后由 qingyun 于 2016-12-2 10:36 编辑 1.西门子和三菱的几个区别(上位只关心的通讯层面)&#xff1a; 1. 西门子PLC通讯端口固定102&#xff0c;但是可以连接多个PC端(客户端)&#xff0c;三菱PLC通讯端口可以自定义&#xff0c;最多好像8个&#xff0c;但是每个端口只能…

三菱FX系列PLC的modbusTCP以太网通讯

工业通讯桥接器主要为工业设备联网项目提供硬件支持&#xff0c;帮助上层终端通过以太网的方式采集底层工业设备&#xff08;主要为PLC&#xff0c;但不局限于PLC的设备&#xff09;的数据&#xff0c;进而对这些数据进行统计和分析。 该桥接器为三菱FX系列PLC&#xff08;包括…

S7300转以太网模块作为Modbus主站 实现PLC与其它Modbus 设备的通讯

远创智控MPI-ETH-YC01Puls转以太网模块支持 Modbus 功能&#xff0c;可作为 Modbus 主站或者 Modbus 从站&#xff0c;实现 PLC 与其他 Modbus 设备的通讯。 一、 Modbus 主站功能介绍 1.1 功能和应用 远创智控MPI-ETH-YC01Puls 的扩展母口作为 Modbus 主站运行&#xff0…

西门子博途v14 SP1 S7-1200之间的以太网双边通讯(两个S7-1200 在一个项目中)

工业以太网与现场总线是目前工业现场网络的两大派系&#xff0c;各有千秋。 随着工业以太网的发展&#xff0c;其高效、便捷、协议开放、易于冗余等诸多优点&#xff0c;被越来越多的工业现场所采用。 西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口&#xff0c;具有实时…

欧姆龙PLC以太网modbusTCP通讯

摘要 工业通讯桥接器NET30-CS,可以用于欧姆龙CP和CJ系列PLC的以太网通讯&#xff0c;以太网同时支持FINSTCP和ModbusTCP两种通讯协议。桥接器主要为工业设备联网项目提供硬件支持&#xff0c;帮助上层终端通过以太网的方式采集底层工业设备的数据&#xff0c;进而对这些数据进行…

欧姆龙CP系列PLC转以太网连接CHNet-CP实现以太网通信配置方法

产品简介 CHNet-CP是兴达易控研制的一款经济型的以太网通讯处理器&#xff0c;是为满足日益增多的工厂设备信息化需求&#xff08;设备网络监控和生产管理&#xff09;而设计&#xff0c;用于欧姆龙CP1L/CP1E/CP1H系列PLC的以太网数据采集&#xff0c;非常方便构建生产管理系统…

关于PC端与PLC端以太网通信

一、TCPIP通信 以太网通信基本上最先想到的是TCPIP 就是在PC端的VS上布置服务器端&#xff0c;我用的是VS2015&#xff0c;最长用的是WinSock2.h 大致的步骤就是&#xff1a; a.初始化版本号 b.建立套接字 c.定义并绑定地址 d.进入监听状态 e.接收连接请求 f.交换数据 有一…

施耐德PLC与西门子PLC以太网通讯

摘要 施耐德PLC(如&#xff1a;Quantum系列)需要和西门子S7300、S7200等PLC进行以太网数据通讯。。本文通过通讯桥接器NET30&#xff0c;实现西门子PLC与施耐德PLC进行modbusTCP以太网通讯连接。 网络拓扑图&#xff1a; 方案实施介绍 一、西门子PLC参数设置 1、西门子S7300配置…

西门子PLC1500系列开放式以太网通讯方式分享

西门子产品众多&#xff0c;应用十分广泛&#xff0c;但是面对种类繁多的说明书&#xff0c;大家可能没有时间深入阅读。天拓四方作为西门子核心合作伙伴&#xff0c;在平时的项目实施中总结出了大量的产品应用经验。如果您有任何问题&#xff0c;欢迎联系我们&#xff0c;在解…

欧姆龙plc之间的以太网通讯

捷米特JM-ETH-CP转以太网模块控&#xff0c;用于欧姆龙 CP1L/ CP1E/ CP1H 系列 PLC 的以太网数据采集&#xff0c;非常方便构建生产管理系统。 支持 FINS/UDP、FINS/TCP 以太网协议通信&#xff0c;支持上位机软件&#xff08;组态王、MCGS、力控、KepWare OPC 服务器等&#…

PLC不用编程,以太网方式与多台智能仪表、变频器等串口设备通讯(基于智能网关)

案例是通过一个IGT-SER智能网关&#xff0c;实现远程IO模块、智能仪表&#xff0c;变频器与PLC通讯。不同品牌的PLC之间通讯 网关与变频器之间采用ModbusRTU串口通讯&#xff0c;网关与变远程IO模块也是之间采用ModbusRTU串口通讯&#xff0c;都接成RS485网络后分别接入网关的串…

西门子PLC能否通过以太网数据模块实现无线通讯?

在实际系统中&#xff0c;同一个车间里分布多台PLC&#xff0c;通常距离在几十米到上百米不等。在有通讯需求的时候&#xff0c;如果布线的话&#xff0c;工程量较大且不美观&#xff0c;这种情况下比较适合采用无线通信方式。西门子S7-200 SMART系列PLC随着不断地升级功能也越…

西门子PLC串口协议与以太网通信协议对比

西门子plc品牌众多&#xff0c;通信协议的类型就更多了&#xff0c;具体可分为串口协议和以太网通信协议两大类。 串口协议主要有&#xff1a;MODBUS RTU 通信协议&#xff1b;PROFIBUS 通信协议&#xff1b;USS通信协议&#xff1b;PPI通信协议&#xff1b;MPI通信协议&#…

一个功能块实现PLC与安川机器人以太网通讯

PLC调用一个功能块实现与安川机器人通讯。 用最简单的通讯方式---标准以太网通讯来控制安川机器人&#xff0c;实现最全面的功能。开发背景见 屠龙技应用之--安川机器人。 安川机器人无需增加各类Profibus&#xff0c;ethernet/ip&#xff0c;CC-Link等专用网卡&#xff0c;无…

LabVIEW通过以太网(TCP)与S7-1200 PLC通信

LabVIEW通过以太网&#xff08;TCP&#xff09;与S7-1200 PLC通信 laiping 20170901 摘要&#xff1a;本文介绍LabView采用以太网&#xff08;TCP&#xff09;方式与西门子S7-1200PLC通讯 关键字&#xff1a;LabView、S7-1200、TCP、PLC、通信 1、概述 西门子S7-1200 PLC支…

不用编程,快速实现西门子PLC与罗克韦尔(AB)PLC之间以太网通讯

智能网关IGT-DSER支持多点对多点的PLC之间通讯&#xff0c;支持以太网&#xff0c;串口设备混合数据交换&#xff1b;无需编程开发&#xff0c;只须配置数据的起始地址和数量即可&#xff0c;支持热插拔&#xff0c;断电重启后自恢复运行&#xff0c;支持网络跨网段&#xff0c…

西门子S7-300型PLC与西门子S7200smart型PLC的以太网通讯例程

西门子S7-300型PLC与西门子S7200smart型PLC的以太网通讯例程 为程序 300PLC的IP地址&#xff1a;192.168.0.1 200PLC的IP地址&#xff1a;192.168.0.4 S7-300 与smart200以太网通讯 通信简介 S7 通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET网络的一种优化的通信协议&#xff0…

西门子PLC 以太网通讯

云锋 个人主页给TA发消息加TA为好友发表于&#xff1a;2011-03-04 14:44:55楼主 实际工程中用过的PLC 以太网通信案例&#xff0c;需要把PLC型号、与PLC通信的设备、通信的各种参数及情况、通信实现的功能等说明清楚&#xff0c;贴出程序并加以说明。 PLC及与PLC通信的设备类…