欧姆龙PLC通信协议

合集下载

OMRON PLC通讯协议速查表

OMRON PLC通讯协议速查表

对该命令的多帧应答,可用初始化和中止命令代替定界符。如果发送其他命令,他们 同样做定界符处理
PLC 设置
PLC 方式
UM 区域
运行
监控
编程
写保护
读保护
允许
允许
允许
允许
允许
执行条件
命令
单个
多重
允许
…..
答应
单个
多重
允许
允许
写 IR/SR 区,命令为 WR 将数据写入 IR/SR 区中,以指定字为起始,按字依次写入。
编程 有效 有效 有效 有效 有效 有效 有效 有效 有效 有效 有效 有效 有效 有效 有效 有效 有效 有效 有效 有效 有效 有效 有效 有效 有效 有效 有效 有效
名称
读 IR/SR 区 读 LR 区 读 HR 区 读 PV
读 TC 状态 读 DM 区 读 AR 区 读 RM 区 读 IR/SR 区 读 LR 区 读 HR 区
命令格式
应答格式
限制 地址 253~255 中的数据是只读数据。如试图对这些字执行写操作,虽然不会出现错 误,但这些字中的内容不会改变。
PLC 设置
PLC 方式
UM 区域
运行
监控
编程 写保护 读保护
…..
允许
允许
允许
允许
执行条件
命令
单个
多重
允许
允许
答应
单个
多重
允许
…….
04 地址超出区域
在 SV 读命令或 SV 修改命令中的程 修改程序的地址设置,再
序地址超出 65535 最大值
传送命令
13 FCS 错误
FCS 错误,或是 FCS 计算错误,或 检查 FCS 计算方法,如是

欧姆龙plc串口 Fins命令协议通讯演示

欧姆龙plc串口 Fins命令协议通讯演示

Fins命令+Hostlink协议通讯实验之蔡仲巾千创作一、实验配置硬件:CPU单元:CJ2M-CPU35RS232串口选件板:CP1W-CIF01USB转232连接电缆:CS1W-CIF31软件:CX-Programmer、串口调试助手UartAssist二、PC主机直连PLC串口命令帧格式介绍命令格式响应格式PC主机直连PLC的情况下,主机发送命令给PLC,发送命令格式如下:(P54)@:Hostlink协议起始代码Unit No.:单元号,对应PLC内置串口或串行通讯单元设置的Hostlink单元号。

Header code:在PC主机直连PLC的情况下,头代码为FAResponse wait time:设置范围为0~F,单位为10ms,例如设置为2,则响应等待时间为20msICF、DA2、SA2:在PC主机直连PLC的情况下,固定为00。

SID:通常设置为00Fins command code:参考Fins通讯手册P125读命令:0101写命令:0102Text:具体操纵内容,读写区域、读取起始地址、数据长度等内容存储区代码:(参考Fins通讯手册 P137)DM(word):82W(bit):31W(word):B1CIO区(bit):30Tips:使用Fins指令最大可读取538个字节。

一条命令不克不及超出1114个字符。

三、串口通讯调试实例实例1——DM数据寄存器区读写实例;1、读取D0开始1个通道的值发送命令:↙(回车键)返回命令码:↙(回车键)2、读取D100开始的50个通道发送命令:↙(回车键)3、写D200开始的2个通道发送命令:@00FA00000000001028200C8000002123456780F*↙(回车键) Header code:在PC主机直连PLC的情况下,头代码为FAResponse wait time:设置范围为0~FICF、DA2、SA2:在PC主机直连PLC的情况下,固定为00。

欧姆龙plcTCP通讯协议

欧姆龙plcTCP通讯协议

前几天工作需要学习了一下欧姆龙TCP通讯协议。

专注了几天吧,现在总结一下,顺便和大家分享一下欧姆龙plc TCP通讯协议和注意要点,我用的那款PLC是NJ501-1300,我也不清楚欧姆龙别的系列PLC通讯协议有没有区别,我觉得大体应该差不多了吧!朋友们有条件可以试试哈。

我电脑是建立客户端的,plc做位服务器。

这样做有个弊端,每次通讯失败就要重新连接。

TCP通讯有个特点每次通讯前都要先握手,握手成功后才可以发数据。

因为以前没有接触过,不懂,在上面打了好多圈圈,不管是复制别人的通讯格式还是手抄,都通讯失败。

还有一点就是找的通讯手册全是英文的,实在是有点心有余而力不足的感觉。

所以作为新接触TCP通讯协议的朋友一定要注意这点。

下面我们来介绍一下通讯协议,分两部分:1.FINS节点地址数据发送(客户端->服务器)握手命令发送握手格式:上面是从手册上摘的握手格式。

下面我们具体分析一下:FINS(包头)数据长度功能码错误码末位IP地址发送:46494E530000000C000000000000000000000002(本机IP地址末位为02)。

A B C D EA:FINS命令(固定包头)B:数据长度=从功能码数起至数据结尾(以字节为单位,一个字节占用两位)C:功能码分为00000000:客户端服务端00000001:服务端客户端00000002:FINS贞发送命令00000003:FINS贞发送错误通知命令00000006:确立通信连接D:错误码分为00000000:为正常00000001:数据头不是FINS或ASCII格式00000002:数据长度过长00000003:命令(C功能码)错误00000020:连接/通信被占用E:000000C7为本机IP地址末位(十六进制表示),如PLC为客户端:192.168.250.1本机IPC (服务器)IP:192.168.250.02。

再重申一遍,发数据前一定要先发握手数据。

欧姆龙PLC通信协议

欧姆龙PLC通信协议

欧姆龙 PLC 通信协议参考: W342 --SYSMAC CS/CJ Series Communications Commands欧姆龙通信命令可分为两类:1: C-mode commands 只可通过串口通讯 2: FINS commands 既可通过串口通讯也可通过各类网络通信(适应性较强) 面只讲 FINS 命令一、命令发送:FINS 直连发送命令如下:FINS command code见下表5-1-1 FINS COmmandSThefdlwirg table IlStS the FINS CCXnmands.命令后面紧跟着就是内存区域寻址,见下表Command Code 后面紧跟着需要访问的地址,地址可分为按字地址或按位地址,取决于你需要访的的是字还是某一位。

由紧跟着Command Code 后面的那个字节( I/O memory area designation )区分是读取字还是读取位,还是写入字或写入位,具体定义见下表:5-2-2 I/O MemOry AddreSS DeSignatiOnS按字地址:选取表中Data Type 列中为Word 的命令(命令在Memory area code 内)按字地址的三个地址位中,只使用前两个,最后一个字节为Ascii 码”00”,其后跟两个字节为需要传输的数据量,然后紧跟着就是传输的数据,数据高位在前低位在后。

例如从H12 开始读取7 个字的数据,命令为:0101 B2 001200 0007 例如将W3、W4、W5 分别置数据1234 、ABCD、7890,命令为:0102 B1 000300 0003 1234ABCD7890按位地址:选取表中Data Type 列中为Bit 的命令(命令在Memory area code 内)按位地址的三个地址位中,前两个指示位所在的字,最后一个字节指示位在字中的位置(0~15),其后跟两个字节为需要传输的数据量,然后紧跟着就是传输的数据,每一位的值用一个字节的数据代替,当寻址的位为0 时用ascii码“ 0”代替,当寻址的位为1 时用ascii 码“ 1”代替。

欧姆龙plc通讯协议

欧姆龙plc通讯协议

欧姆龙PLC通讯协议简介PLC(Programmable Logic Controller,可编程逻辑控制器)是一种用于自动化控制的电子设备,广泛应用于工业控制系统中。

欧姆龙(Omron)是一家知名的自动化控制解决方案提供商,其PLC产品在许多行业中被广泛使用。

本文档将介绍欧姆龙PLC通讯协议,包括其基本原理、通讯方式以及常见的通讯协议类型。

通讯协议的基本原理在自动化控制系统中,PLC通讯协议起着关键的作用。

它定义了PLC与其他设备(如上位机、传感器、执行器等)之间进行数据交换的规则和格式。

通讯协议使得不同设备之间能够准确、可靠地传输和解析数据,实现各种控制操作。

通讯协议的基本原理包括以下几个方面:1.数据格式:通讯协议定义了数据在传输过程中的格式,通常包括数据头、数据体和数据尾等部分。

这些格式使得接收设备能够准确地解析数据,并执行相应的操作。

2.通讯方式:通讯协议规定了PLC与其他设备之间进行通讯的方式,包括串口通讯、以太网通讯等。

不同的通讯方式具有不同的特点和应用场景,选择合适的通讯方式可以提高通讯的稳定性和速度。

3.协议类型:通讯协议根据不同的应用场景和需求,分为多种类型,如Modbus协议、Profibus协议等。

每种协议都有自己的特点和优势,根据实际需求选择合适的协议能够实现更好的通讯效果。

欧姆龙PLC通讯方式欧姆龙PLC支持多种通讯方式,常见的包括串口通讯和以太网通讯。

下面将对这两种通讯方式进行简要介绍。

串口通讯串口通讯是一种基于RS232或RS485等标准的通讯方式,通过串口将PLC与其他设备连接起来。

欧姆龙PLC通常支持多个串口接口,可以与多个设备进行通讯。

串口通讯的优点是成本较低,适用于小规模的控制系统。

然而,由于串口通讯的传输速率较低,其通讯距离有限,且易受干扰。

因此,在一些大规模、复杂的控制系统中,串口通讯的应用相对较少。

以太网通讯以太网通讯是一种基于以太网协议的通讯方式,通过以太网将PLC与其他设备连接起来。

欧姆龙的通讯协议书

欧姆龙的通讯协议书

欧姆龙的通讯协议书欧姆龙是一家跨国企业,致力于开发和生产多种电子产品,包括传感器、控制器、机器人等等。

通信协议是欧姆龙产品在工业自动化领域中实现设备间通信的关键。

欧姆龙的通信协议主要有两种:Host Link协议和Fins协议。

这两种协议分别适用于不同的设备和场景。

Host Link协议是一种基于串行通信的协议,通常用于连接欧姆龙PLC和上位机之间的通信。

该协议使用RS-232C或RS-422等串行接口进行数据传输。

Host Link协议中定义了一套命令和响应格式,用于实现PLC与上位机之间的数据读写和控制操作。

这种协议简单易懂,适用于小规模的工业自动化系统。

Fins协议是一种基于以太网的通信协议,用于连接不同种类的欧姆龙设备,如PLC、触摸屏和变频器等。

该协议支持TCP/IP和UDP/IP等网络协议,可以在局域网或广域网中进行数据通信。

Fins协议将设备间的通信分为命令和响应两个阶段,通过发送不同的命令实现不同的功能,如读写数据、设备配置和监控等。

Fins协议功能强大,适用于大规模的工业自动化系统。

无论是Host Link协议还是Fins协议,它们的通信流程基本相似。

首先,通信的发起方发送一个请求命令到目标设备,请求完成特定的操作。

然后,目标设备接收到请求后进行相应的处理,并将处理结果发送回发起方。

在通信过程中,双方需要按照协议规定的格式进行数据的编码和解码。

除了以上两种主要的通信协议,欧姆龙还提供了其他特定于不同产品的协议。

例如,Vision协议用于连接欧姆龙视觉产品,实现图像数据的传输和处理。

CX-Server协议用于连接欧姆龙的运动控制器,实现运动控制指令的传输和执行。

值得注意的是,欧姆龙的通信协议不仅仅限于其自家产品的通信,还支持与其他厂家的设备进行通信。

这使得欧姆龙的产品在工业自动化领域中具有更高的灵活性和可扩展性。

总结起来,欧姆龙的通信协议在工业自动化领域中起着重要的作用。

Host Link协议适用于PLC与上位机之间的串行通信,而Fins协议适用于不同设备的以太网通信。

欧姆龙plc通讯协议格式

欧姆龙plc通讯协议格式

欧姆龙plc通讯协议格式
欧姆龙CPM1A型plc与上位计算机通信的顺序是上位机先发出命令信息给PLC,PLC返回响应信息给上位机。

每次通信发送/接受的一组数据称为一“帧”。

帧由少于131个字符的数据构成,若发送数据要进行分割帧发送,分割帧的结尾用CR码一个字符的分界符来代替终终止符。

发送帧的一方具有发送权,发送方发送完一帧后,将发送权交给接受方。

发送帧的基本格式为:
其中:
@ ——为帧开始标志;
机号——指定与上位机通信的PLC(在PLC的DM6653中设置);
识别码——该帧的通信命令码(两个字节);
正文——设置命令参数;
FCS——帧校验码(两个字符),它是从@开始到正文结束的所有字符的ASCⅡ码按位异或运算的结果;
终止符——命令结束符,设置“*”和“回车”两个字符表示命令结束。

响应的基本格式为:
其中:
@ ----为帧开始标志;
机号----应答的的PLC号,与上位机指定的PLC号相同;
识别码----该帧的通信命令码,和上位机所发的命令码相同;
结束码----返回命令结束有无错误等状态;
正文——设置命令参数,仅在上位机有读数据时生效;
FCS——帧校验码,由PLC计算给出,计算方法同上;终止符——命令结束符。

欧姆龙通讯协议种类

欧姆龙通讯协议种类

欧姆龙通讯协议种类欧姆龙通讯协议是指用于欧姆龙公司产品之间进行数据通信的一种协议。

欧姆龙作为一家全球领先的工业自动化解决方案提供商,其产品广泛应用于工业控制、电子设备、医疗设备等领域。

为了实现这些产品之间的数据交互,欧姆龙推出了多种通讯协议,以下将介绍其中一些常见的种类。

1. 欧姆龙Host Link协议欧姆龙Host Link协议是一种用于欧姆龙PLC(可编程逻辑控制器)和上位机之间的数据通信协议。

通过该协议,用户可以在上位机上监控和控制PLC的运行状态,实现数据的读取和写入。

该协议具有简单、高效的特点,广泛应用于工业自动化领域。

2. 欧姆龙FINS协议欧姆龙FINS协议是一种用于欧姆龙各种设备之间进行数据通信的协议。

它支持多种通信方式,包括串口、以太网等。

通过该协议,用户可以实现不同设备之间的数据传输和控制命令的交互。

FINS协议具有高速、可靠的特点,被广泛应用于工业自动化控制系统。

3. 欧姆龙Ethernet/IP协议欧姆龙Ethernet/IP协议是一种基于以太网的工业自动化通信协议。

它可以实现不同设备之间的数据交互和控制命令的传输。

Ethernet/IP协议具有高速、可靠的特点,广泛应用于工业自动化网络中。

4. 欧姆龙Modbus协议欧姆龙Modbus协议是一种用于欧姆龙设备和其他设备之间进行数据通信的协议。

它是一种开放的通信协议,可以与其他厂家的设备进行兼容。

通过Modbus协议,用户可以实现设备之间的数据交互和控制命令的传输。

以上是一些常见的欧姆龙通讯协议种类,它们在工业自动化领域起到了重要的作用。

通过这些协议,不同设备之间可以实现数据的传输和控制命令的交互,提高了生产效率和自动化水平。

欧姆龙作为工业自动化领域的领先企业,不断推出新的通讯协议,以满足不同应用场景的需求。

欧姆龙触摸屏与plc网口通讯

欧姆龙触摸屏与plc网口通讯

欧姆龙触摸屏与plc网口通讯欧姆龙触摸屏和PLC(Programmable Logic Controller)是工业自动化领域中常见的设备。

触摸屏作为人机界面,用于操作和监控系统;而PLC作为控制器,负责逻辑控制和信号处理。

为了实现两者之间的通讯,欧姆龙触摸屏提供了多种通信方式,其中,网口通讯是广泛应用的一种。

一、网口通讯的基本原理网口通讯是通过以太网口进行数据传输的一种方式。

欧姆龙触摸屏和PLC之间的通讯可以通过网线连接,利用以太网的高速传输能力实现数据的传递。

触摸屏通过自带的网口接口连接到PLC的网口接口上,建立起触摸屏和PLC之间的数据通路。

二、通讯协议的选择在欧姆龙触摸屏与PLC网口通讯中,通讯协议的选择非常重要。

常见的通讯协议有Modbus、Ethernet/IP、PROFINET等。

选择合适的协议可以有效地提高通讯的稳定性和可靠性。

根据实际需求和设备支持的协议,确定合适的通讯协议是通讯成功的关键。

三、配置触摸屏和PLC的通讯参数配置触摸屏和PLC的通讯参数是实现网口通讯的第一步。

在欧姆龙触摸屏的设置界面中,通过选择通讯协议和输入PLC的IP地址、端口号等参数,建立触摸屏和PLC之间的通讯链路。

同时,在PLC的编程软件中也需要设置相应的网络参数,确保触摸屏和PLC之间的通讯连接顺利进行。

四、数据的读写操作网口通讯的目的是实现对PLC的数据读写操作。

通过触摸屏,操作者可以方便地监视和控制PLC的状态。

触摸屏上显示的数据是通过与PLC之间的通讯获取的,而触摸屏上的操作指令也是通过通讯发送给PLC实现控制。

通过网口通讯,实现了PLC数据和触摸屏之间的无缝连接,提高了工业自动化控制系统的操作灵活性和可靠性。

五、通讯异常的处理在实际应用中,网口通讯可能会出现异常,比如连接中断、通讯错误等。

当触摸屏与PLC之间出现通讯异常时,需要进行相应的处理,确保通讯正常运行。

通常可以通过检查网络连接、配置参数、排除通讯干扰等方法来解决通讯异常的问题。

omron plc tcp 协议

omron plc tcp 协议

omron plc tcp 协议
欧姆龙PLC TCP协议是一种工业控制协议,允许运行欧美龙PLC(Programmable Logic Controller)的计算机系统和其他计算机系统以及计算机设备之间的双向通信。

欧姆龙
PLC TCP协议是基于RJ45连接和TCP / IP协议(Transmission Control Protocol / Internet Protocol)来实现实时数据交换,有助于构建一个引人入胜、安全可靠的PLC网络。

欧姆龙PLC TCP协议是特别硬件设计,以降低通信代价,使用范围更高,能够满足采集及控制技术等行业对PLC网络要求。

这种协议提供了多种数据传输机制,从而实现多种功能,比如软件和硬件调试、连接分布式系统、灵活应用网络设备等等。

运行欧姆龙PLC TCP协议的系统可以有效地处理大量信息,可以实现远程监控和远程控制,同时可以提供全面的报警信息,实现实时的备份系统。

此外,在PLC系统中运行欧姆龙PLC TCP协议的系统还可以提供用户自定义的安全策略
管理,加强安全机制,确保网络是安全可靠的。

总而言之,欧姆龙PLC TCP协议是一种行业领先的创新协议,为PLC系统提供了可靠的、灵活的通信技术。

它可以实现大容量数据传输,提供更安全、更可靠的PLC网络应用,
是PLC网络管理的理想解决方案。

关于欧姆龙plc串口通讯协议

关于欧姆龙plc串口通讯协议

1.无协议通信无协议通信是不使用固定协议,协议不经过数据转换,通过通信端口输入、输出指令,如txd、rxd指令,发送接收数据的功能。

这种情况下,通过plc的系统设定将串行端口的串行通信模式设为无协议通信(串行端口1、2都可以)。

通过该无协议通信,与带有rs-232端口或rs-422a/485 端口的通用外部设备,按照txd、rxd指令进行单方面发送接收数据。

例如,可进行来自条形码阅读器的数据输入以及向打印机的数据输出等简单的数据接收和发送。

无协议通信时发送接收的消息帧:开始代码和结束代码之间的数据用txd指令进行发送,或者将插入“开始代码”及“结束代码”之间的数据用rxd 指令进行接收。

当按照txd指令发送时。

将数据从i/o存储器中读取后发送。

按照rxd指令接收时,仅将数据保仔到i/o存储器的指定区域。

“开始/结束代码”均由plc系统设定来指定。

1次txd指令或rxd指令可发送的信息的长度(不包括开始代码或结束代码)最大是256字节。

2.nt链接通信cp1h在pt(可编程终端)及nt链接(1台链接多台的1:n模式)下可进行通信,但在nt链接(1:1模式)下不能进行通信。

pt为nt31/631(c)-v2系列触摸屏或ns系列触摸屏的情况下,可使用高速nt链接。

nt链接可以通过plc系统设定及pt本体上的系统菜单进行设定。

利用pt本体上的系统菜单进行设定时,可通过以下操作进行pt侧的设定。

(1)在pt本体的系统菜单内的存储切换菜单的【串行端口a】或【串行端口b】,选择【nt链接(1:n)】。

(2)按【设定】按钮,将【通信速度】设定为【高速】。

3.上位链接通信上位链接包括两个方面,即从上位计算机到plc和plc到上位计算机。

在前者中,对于cpu单元,从上位计算机发布上位链接指令(c模式指令)或fins指令,进行plc的i/o存储器的读写、动作模式的变更及强制置位/复位等各种控制。

在后者中,对于上位计算机,从cpu单元发出fins指令,发送数据和信息。

欧姆龙PLC通信协议

欧姆龙PLC通信协议

欧姆龙PLC通信协议参考:W342--SYSMAC CS/CJ Series Communications Commands欧姆龙通信命令可分为两类:1:C-mode commands只可通过串口通讯2:FINS commands既可通过串口通讯也可通过各类网络通信(适应性较强)=========================================================== ====================下面只讲FINS命令一、命令发送:FINS直连发送命令如下:FINS command code见下表命令后面紧跟着就是内存区域寻址,见下表Command Code 后面紧跟着需要访问的地址,地址可分为按字地址或按位地址,取决于你需要访的的是字还是某一位。

由紧跟着Command Code后面的那个字节(I/O memory area designation)区分是读取字还是读取位,还是写入字或写入位,具体定义见下表:按字地址:选取表中Data Type列中为Word的命令(命令在Memory area code内)按字地址的三个地址位中,只使用前两个,最后一个字节为Ascii码”00”,其后跟两个字节为需要传输的数据量,然后紧跟着就是传输的数据,数据高位在前低位在后。

例如从H12开始读取7个字的数据,命令为:0101 B2 001200 0007例如将W3、W4、W5分别置数据1234、ABCD、7890,命令为:0102 B1 000300 0003 1234ABCD7890按位地址:选取表中Data Type列中为Bit的命令(命令在Memory area code内)按位地址的三个地址位中,前两个指示位所在的字,最后一个字节指示位在字中的位置(0~15),其后跟两个字节为需要传输的数据量,然后紧跟着就是传输的数据,每一位的值用一个字节的数据代替,当寻址的位为0时用ascii码“0”代替,当寻址的位为1时用ascii 码“1”代替。

欧姆龙plc串口Fins命令协议通讯演示

欧姆龙plc串口Fins命令协议通讯演示

Fins命令+Hostlink协议通讯实验一、实验配置硬件:CPU单元:CJ2M-CPU35RS232串口选件板:CP1W-CIF01USB转232连接电缆:CS1W-CIF31软件:CX-Programmer、串口调试助手UartAssist二、PC主机直连PLC串口命令帧格式介绍命令格式响应格式PC主机直连PLC的情况下,主机发送命令给PLC,发送命令格式如下:P54:Hostlink协议起始代码Unit No.:单元号,对应PLC内置串口或串行通讯单元设置的Hostlink单元号;Header code:在PC主机直连PLC的情况下,头代码为FAResponse wait time:设置范围为0~F,单位为10ms,例如设置为2,则响应等待时间为20msICF、DA2、SA2:在PC主机直连PLC的情况下,固定为00; SID:通常设置为00Fins command code:参考Fins通讯手册P125读命令:0101写命令:0102Text:具体操作内容,读写区域、读取起始地址、数据长度等内容存储区代码:参考Fins通讯手册P137DMword:82Wbit:31Wword:B1CIO区bit:30Tips:使用Fins指令最大可读取538个字节;一条命令不能超过1114个字符;三、串口通讯调试实例实例1——DM数据寄存器区读写实例;1、读取D0开始1个通道的值发送命令:00FA 000000000 0101 82 000000 0001 7C ↙回车键返回命令码:00FA000↙回车键2、读取D100开始的50个通道发送命令:00FA0000000000327E↙回车键3、写D200开始的2个通道发送命令:00 FA 0 00000000 0102 82 00C8 00 0002 0F↙回车键Header code:在PC主机直连PLC的情况下,头代码为FAResponse wait time:设置范围为0~FICF、DA2、SA2:在PC主机直连PLC的情况下,固定为00; SID:通常设置为00Fins command code:参考Fins通讯手册P125读命令:0101写命令:0102DMword:82Wbit:31Wword:B1CIO区bit:3000c8 就是D200地址00表示通道中的位0002表示读取2个通道值响应命令:00FA0000↙回车键实例2——Wr工作区读写操作1、读取W10开始的8个通道发送命令:00FA0000000000101B1000A0000087D↙回车键2、写W20开始的5个通道发送命令:00FA0000000000102B0000506↙回车键响应命令:00FA0000↙回车键总结:由上述例子可得,对于PC主机直连PLC串口的情况下,无论什么存储区,读操作均为0101,写操作为0102,只需将不同存储区的代码更改即可;建议PC与PLC交换数据时,尽量采用连续的通道一个字的形式进行交换;。

c#基于TCPIP、CIP协议的欧姆龙PLC通信

c#基于TCPIP、CIP协议的欧姆龙PLC通信

c#基于TCPIP、CIP协议的欧姆龙PLC通信⼀、关于CIP协议 CIP通信是Common Industrial Protocl(CIP)的简称,它是⼀个点到点的⾯向对象协议,能够实现⼯业器件(传感器,执⾏器)之间的连接,和⾼等级的控制器之间的连接。

⽬前,有3种⽹络DeviceNet,ControlNet,EtherNet/IP使⽤CIP通信协议作为其上层⽹络协议,由ODVA组织统⼀管理,以确保其⼀致性和精确性。

⼆、EtherNet/IP通信 EtherNet/IP(Ethernet/Industrial Protocol),是⼀个⼯业级的通信⽹络,⽤于⼯业器件间⾼速的信息交换,这些器件包括简单的IO器件(传感器),还有复杂的控制器(机器⼈,PLC,焊机,过程控制器)。

EtherNet/IP使⽤CIP(Common Industrial Protocl),其使⽤EtherNet和TCP/IP技术传送CIP通信包,CIP作为开放的应⽤层,位于EtherNet和TCP/IP协议之上。

三、CIP通信报⽂1.注册会话ID private byte[] Registercmd = new byte[28]{ //--------------------------------------------------------Header 24byte------------------------------------- 0x6F,0x00,//命令 2byte 0x04,0x00,//Header后⾯数据的长度 2byte 0x00,0x00,0x00,0x00,//会话句柄 4byte 0x00,0x00,0x00,0x00,//状态默认0 4byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//发送⽅描述默认0 8byte 0x00,0x00,0x00,0x00,//选项默认0 4byte//-------------------------------------------------------CommandSpecificData 指令指定数据 4byte 0x01,0x00,//协议版本 2byte 0x00,0x00,//选项标记 2byte};2.提取会话ID-注册请求的应答报⽂private byte[] RefRegistercmd = new byte[28]{ //--------------------------------------------------------Header 24byte------------------------------------- 0x6F,0x00,//命令 2byte 0x04,0x00,//CommandSpecificData的长度 2byte 0x6B,0x01,0x01,0x00,//会话句柄 4byte 由PLC⽣成 0x00,0x00,0x00,0x00,//状态默认0 4byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//发送⽅描述默认0 8byte 0x00,0x00,0x00,0x00,//选项默认0 4byte//-------------------------------------------------------CommandSpecificData 指令指定数据 4byte 0x01,0x00,//协议版本 2byte 0x00,0x00,//选项标记 2byte};public byte[] SessionHandle=new byte[4]{0x6B,0x01,0x01,0x00};//从应答报⽂提取的会话ID后续读写PLC的报⽂中,需要包含PLC返回的会话ID3.读数据服务请求报⽂报⽂由三部分组成 Header 24个字节、CommandSpecificData 16个字节、以及CIP消息(由读取的标签⽣成)实例,读取单个标签名为 TAG1的报⽂总长度为64个字节private byte[] Header = new byte[24]{ 0x6F,0x00,//命令 2byte 0x28,0x00,//长度 2byte(总长度-Header的长度)=40 0x6B,0x01,0x01,0x00,//会话句柄 4byte 0x00,0x00,0x00,0x00,//状态默认0 4byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//发送⽅描述默认0 8byte 0x00,0x00,0x00,0x00,//选项默认0 4byte};private byte[] CommandSpecificData = new byte[16]{ 0x00,0x00,0x00,0x00,//接⼝句柄 CIP默认为0x00000000 4byte 0x01,0x00,//超时默认0x0001 4byte 0x02,0x00,//项数默认0x0002 4byte 0x00,0x00,//空地址项默认0x0000 2byte 0x00,0x00,//长度默认0x0000 2byte 0xb2,0x00,//未连接数据项默认为 0x00b2 0x18,0x00,//后⾯数据包的长度 24个字节(总长度-Header的长度-CommandSpecificData的长度)};private byte[] CipMessage = new byte[24]{ 0x52,0x02 //服务默认0x52 请求路径⼤⼩默认2 0x22,06,0x24,0x01,//请求路径默认0x01240622 4byte 0x0A,0xF0,//超时默认0xF00A 4byte 0x0A,0x00,//Cip指令长度服务标识到服务命令指定数据的长度 0x4C,//服务标识固定为0x4C 1byte 0x03,// 节点长度 2byte 规律为 (标签名的长度+1/2)+1 0x91,//扩展符号默认为 0x91 0x04,//标签名的长度 0x54,0x41,0x47,0x31,//标签名:TAG1转换成ASCII字节当标签名的长度为奇数时,需要在末尾补0 ⽐如TAG转换成ASCII为0x54,0x41,0x47,需要在末尾补0 变成 0x54,0x41,0x47,0 0x01,0x00,//服务命令指定数据 默认为0x0001  0x01,0x00,0x01,0x00//最后⼀位是PLC的槽号};PLC回复报⽂:6F0018006B01010000000000000000000000000000000000000000000100020000000000B200 0800 CC 00 0000C1000000 CC-服务标识00-填充字节0000-状态 0为正常 0800:CC-0000的长度C100-数据类型:Bool0000为数据false实例,读取多个标签名为 TAG、TAG1的报⽂总长度为86个字节6F003E006B01010000000000000000000000000000000000000000000100020000000000B2002E005202200624010AF020000A02200224010200060010004C0391035441470001004C039104544 Header:6F003E006B01010000000000000000000000000000000000 24byteCommandSpecificData: 00 00 00 00 0100020000000000B2002E00 16byteCipMessage:5202 20062401 0AF0 2000 0A02 20022401 02000600 1000 4C0391 03 54414700 0100 4C0391045441473101000100010052-服务代码02 -请求路径⼤⼩20062401-请求路径0AF0超时 20 00 CIP指令长度(0A-00之间的长度为32个字节)0A-服务代码(多个标签)02-请求路径⼤⼩20022401请求路径0200 标签的数量0600 偏移量(初始值为:2+标签数量*2)1000 偏移量 =标签服务长度+初始偏移量(有⼏个标签就有⼏个偏移量)4C 03 91 03 54414700 0100 标签TAG 4C039104544147310100 标签TAG1PLC回复报⽂:6F0034006B01010000000000000000000000000000000000000000000100020000000000B20024008A000000020006001300CC000000D00005003232323232CC000000D00005003232323232 76byteHeader:6F0034006B01010000000000000000000000000000000000 24byteCommandSpecificData:000000000100020000000000B2002400 16byteCipMessage:8A00 00000200 06001300 CC 00 0000 D000 0500 3232323232 CC000000D000050032323232328A-多个标签0000 -状态0200-项数0600-标签TAG偏移量1300-标签TAG1偏移量 0000-状态0正常D000-数据类型:string0500:字符串长度(字符串类型特有的)3232323232-数据 "22222":⽬前常⽤的数据类型: C1-BOOL C2-SINT C3-Short C4-Int C7-UShort C8-UInt CA-Float CB -Double D0-String4.写⼊数据服务报⽂实例,往标签名为:TAG1 写⼊true 数据类型为 bool写⼊报⽂:68byte6F002C006B01010000000000000000000000000000000000 000000000100020000000000B2001C00 5202200624010AF00E004D03910454414731C1000100010001000100header:6F002C006B01010000000000000000000000000000000000 24byteCommandSpecificData:000000000100020000000000B2001C00 16byteCIPmessage:52 02 20062401 0AF0 0E00 4D 03 91 04 54414731 C100 0100 0100 01000100 28byte52-服务标识02-请求路径⼤⼩ 20062401-请求路径,默认0AF0-超时0E00-CIP指令长度(绿⾊部分的长度)4D-写⼊标识03-(标签名的长度+1)/2+1 91-扩展符号04-标签TAG1的长度54414731 -标签名的ASCII表⽰C100-数据类型 0100-默认项 0100-数据 TRUE(2byte) 01000100 - 默认最后⼀位为PLC槽号PLC回复报⽂:6F0014006B0101 00000 00000000000000000000000000000 000000000100020000000000B2000400CD000000 44byteheader:6F0014006B01010000000000000000000000000000000000 24byteCommandSpecificData:000000000100020000000000B2000400 16byteCIPMessage:CD 00 0000 CD-服务标识 00-填充字节 0000-状态好注意:当写⼊字符串类型时,写⼊的数据长度为奇数时,需要在数据后填充⼀个字节05.扩展知识⾸先建⽴起TCP连接,CIP通信端⼝默认为44818。

OMRON PLC通讯协议

OMRON PLC通讯协议

检查数据,再传送命令
A8
传送数据时因帧长度错 第二或后面的帧的长度超过最大值 132 个 误而引起中止 字节
保持帧不超过 132 字节
三、上位机链接命令及数据帧的构成举例 以读 IR/SR 区为例,命令码为 RR,读指定的若干 IR 和 SR 字的内容,以指定字的地址为起始 命令格式
应答格式
限制 第一应答帧的正文最多可包含 30 个字。如果读取字超过 30 个,分若干帧返送数据在第二和之后地帧 中,应答的正文最多包含 31 个字节。 对该命令的多帧应答,可用初始化和中止命令代替定界符。如果发送其他命令,他们同样做定界符处 理 PLC 设置
18
帧长度错误
280 个字节,接受溢出标志变 ON,不再返 检查命令,必要时分成若干个帧 回应答)
19
不执行读的项没有用组合命令源自QQ)登记过 无法辨别的远程 I/O 字太多, 或远程 I/O 单 元结点号重复 C200HX/HG/HE 上 DIP 开关脚 1 为 ON
在批形式读之前,执行 QQ 命令 登记的项 检查远程 I/O 系统和 I/O 字数 置 CPU 上 DIP 开在脚 1 为 OFF
有效 有效 有效 有效 有效 无效 无效 有效 有效 有效 有效 -
有效 有效 有效 有效 有效 有效 有效 有效 有效 有效 无效 -
多重强制置位/复位 强制置位/复位的取消 读 PC 类 测试 读程序 写程序 I/O 表生成 组合命令 中止(仅用于命令) 初始化(仅用于命令) TXD 答应(仅用与答应) 未定义命令(仅用与答应)
RR RL RH RC RG RD RJ RE WR WL WH WC WG WD WJ WE R# R$ R% W# W$ W% MS SC MF KS KR

OmronFins通讯协议

OmronFins通讯协议

OMRON FINS 通 讯1. OMRON FINS 通讯1.1 FINS 通讯概述FINS (factory in terface network service )通信协议是欧姆龙公司开发的用于工业自动化控制网络的指令/响应系统。

运用FINS 指令可实现各种网络间的无缝通信,通过编程发送FINS 指令,上位机或PLC 就能够读写另一个 PLC 数据区的内容,甚至控制其运行状 态,从而简化了用户程序。

FINS 协议支持工业以太网,这就为OMRON PLC 与上位机以太网通信的实现提供了途径。

命令码:01 01 读数据01 02 写数据结束码:00 00无错误,否则执行出错;举例说明:存储区代码(82代表D 区80代表CIO 区) 响应1.2 Fins 帧的结构发送命令结构:发送命令结构:命令码 (2个字节)响应命令结构:命令码(2个字节) 正文(根据不同的命令长度不正文(根据不同的命令长度不2 FINS在以太网上的帧格式Fins在以太网上帧格式比较简单,简单来说就是在上面所说的Fins帧的基础上加上以太网的包头就可以了。

具体帧格式分为UDP/IP帧格式和TCP/IP帧格式。

2.1 FINS UDP/IP 的帧格式ICF发送接收标志字节,发送报文:ICF=80HEX响应报文:ICF=CQRSV固定为OOHEX;GCT固定为02HEX;DNA目标网络号;本网络:00;远程网络:01-7F;DA1:目标节点号;对于以太网来说,即该网络IP地址最后一位的值;DA2: 目标单元号;对于CPU来说,固定为00;SNA源网络号;本网络:00;SA1:源节点号;IP地址最后一位的值;SA2源单元号:可设置为与目标单元号相同;SID:服务ID,响应端将接收过来的SID复制后添加到响应帧中;举例说明:PC IP 地址:10.11.1.19PLC IP 地址:10.11.1.86如果要请求DM10开始的10个字的内容目标IP地址:通讯主机地址(IP地址最后位)而PLC返回命令如下:80 00 02 00 00 56 00 00 13 00 00 Data—Data10 不同pic型号返回有区别,这里仅作参考实例:(读取CIO区452地址:01 C4;长度为1个字)发送码:80 00 02 00 20 00 00 BE 00 00 01 01 80 01 C4 00 00 01说明80 00 02 00消息头20为PLC地址00 00默认BE为计算机地址00 00 默认01 01命令码80读取区域01 C4 00读取地址00 01读取长度返回码:c0 00 02 00 be 00 00 20 00 00 01 01 00 00 00 02说明:c0 00 02 00 be 00 00 20 00 00 为网络头01 01其中第二个01位命令码00 00成功与否标识00 40或95 05标识码不清楚00 02为读取内容如果要把10个数据写入到从DM10开始的10个数据区中则发送命令如下:80 00 02 00 56 00 00 13 00 00 01 02 82 00 0A 00 00 0A Data1-Data1080 00 02 00 00 14 00 00 01 02 00 00测试工具截图:2.2 FINS/TCP的帧结构:和FINS/UDP相比,FINS/TCP多了一个握手过程,即双方建立了TCP的物理连接后,TCP 客户端(PC需向TCP服务器(PLC发送一个连接请求帧,PLC接收到请求帧后,会为该请求分配一个FINS/TCP端口号,并返回响应帧给客户端,此时双方的FINS/TCP通信才真正建立。

欧姆龙plc通讯协议

欧姆龙plc通讯协议

欧姆龙plc通讯协议欧姆龙PLC(Programmable Logic Controller)通信协议是用于PLC与外部设备进行数据传输的规范。

在工业自动化领域中广泛应用的PLC通信协议有很多种,其中欧姆龙PLC通信协议是由日本欧姆龙公司开发的,适用于欧姆龙PLC与其他设备之间的通信。

欧姆龙PLC通信协议分为串行通信和以太网通信两种方式。

串行通信使用RS-232C或RS-485接口进行数据传输,而以太网通信使用乙太网进行数据传输。

两种通信方式各有优劣,可以根据实际需求选择合适的通信方式。

欧姆龙PLC通信协议主要包括通信参数设置、数据传输、数据读写及状态监测等功能。

通信参数设置包括通信端口号、波特率、数据位、校验位、停止位等参数的设置。

数据传输可以通过发送和接收数据帧来实现,数据帧包括起始符、目的地址、源地址、数据长度、校验位等信息。

数据读写可以通过读取和写入寄存器的方式来实现,可以实现对PLC中的输入信号和输出信号的读取和控制。

状态监测功能可以实时监测通信连接状态,包括通信故障、通信超时等状态。

欧姆龙PLC通信协议的优点在于稳定性高、可靠性强、数据传输速度快。

它可以实现PLC与其他设备之间的高效通信,例如与人机界面HMI进行数据交换、与上位机进行数据采集和控制等。

通过欧姆龙PLC通信协议,可以实现对生产过程的监控和控制,提高生产效率和品质。

虽然欧姆龙PLC通信协议在工业自动化领域中得到了广泛应用,但它也存在一些局限性。

例如,通信距离有限,一般不超过几千米;通信速度受限,无法满足高速数据传输的需求;另外,由于欧姆龙PLC通信协议是专有协议,与其他厂家的设备之间的通信可能存在一定的兼容性问题。

总的来说,欧姆龙PLC通信协议是工业自动化领域中非常重要的一种通信协议,它为PLC与外部设备之间的数据传输提供了可靠的规范。

通过合理的设置通信参数和灵活的数据读写方式,可以实现PLC与其他设备之间的高效通信,提高生产过程的自动化水平。

OMRONPLC通讯协议

OMRONPLC通讯协议

OMRONPLC通讯协议1. FINS协议(Factory Intelligent Network Service):FINS是OMRON PLC最常用的通信协议之一,用于在OMRON PLC和上位机之间进行数据传输和远程控制。

FINS协议支持多种通信介质,如串行通信、以太网通信等,并提供高效、稳定的数据传输方式。

3. Modbus协议:Modbus是一种常用的串行通信协议,用于在OMRON PLC和其他设备之间进行数据交换。

Modbus协议简单易用,适用于小型系统和较简单的控制任务。

它支持多种传输介质,如串口、以太网等,并提供实时数据传输和远程设备控制功能。

除了以上几种常见的OMRON PLC通信协议外,还有一些其他协议,如Profibus、Ethernet/IP等,它们具有不同的特点和适用范围,用于满足不同应用场景的需求。

OMRONPLC通信协议的实现方式主要有两种:点对点通信和多点通信。

点对点通信是指一台OMRONPLC与一台上位机之间建立独立的通信连接,通过指令和数据交换实现通信。

而多点通信是指一台OMRONPLC与多台上位机之间建立共享的通信连接,可以同时与多台上位机进行数据交换和远程控制。

在OMRONPLC通信协议的应用中,通常需要先进行通信参数配置和连接设置,然后根据协议规范编写相应的通信程序。

通信程序通常包括发送和接收数据的指令、数据格式的转换和解析等部分。

通过编写和调试通信程序,可以实现与OMRONPLC之间的有效通信和数据交换。

总之,OMRONPLC通信协议是实现与OMRONPLC之间通信的一种标准协议,它具有丰富的功能、稳定的性能和广泛的适用性。

通过选择合适的通信协议和编写相应的通信程序,可以实现高效、可靠的数据传输和设备控制,提升工业自动化系统的效率和可靠性。

omronplc通讯协议

omronplc通讯协议

OMRON PLC通讯协议扰扰,再传送命令14格式错误命令格式错误或者不可分割的命令被分隔检查格式,再传送命令15入口码数据错误数据超出规定的范围或太长修改数据,再传送命令16命令不支持程序中不存在SV读命令或SV修改命令中指定的操作数改正命令和程序18帧长度错误超过最大的帧长度132个字节(如帧超过280个字节,接受溢出标志变ON,不再返回应答)检查命令,必要时分成若干个帧19不执行读的项没有用组合命令(QQ)登记过在批形式读之前,执行QQ命令登记的项20不能生成I/O表无法辨别的远程I/O字太多,或远程I/O单元结点号重复检查远程I/O系统和I/O字数23用户存储器写保护C200HX/HG/HE上DIP开关脚1为ON置CPU上DIP开在脚1为OFFA3传送数据时因FCS错误引起中止在第二或后面的帧中出现FCS错误检查FCS计算方法。

如果噪声干扰,再传送命令A4传送数据时因格式错误而中止命令格式与第二或后面的帧中字节数不匹配检查数据,再传送命令A5传送数据时因入口码数据错误而中止在第二或后面的帧中有入口码数据错误检查数据,再传送命令A8传送数据时因帧长度错误而引起中止第二或后面的帧的长度超过最大值132个字节保持帧不超过132字节三、上位机链接命令及数据帧的构成举例以读IR/SR区为例,命令码为RR,读指定的若干IR和SR字的内容,以指定字的地址为起始命令格式应答格式限制第一应答帧的正文最多可包含30个字。

如果读取字超过30个,分若干帧返送数据在第二和之后地帧中,应答的正文最多包含31个字节。

对该命令的多帧应答,可用初始化和中止命令代替定界符。

如果发送其他命令,他们同样做定界符处理PLC设置PLC方式UM区域运行监控编程写保护读保护允许允许允许允许允许执行条件命令答应单个多重单个多重允许…..允许允许写IR/SR区,命令为WR将数据写入IR/SR区中,以指定字为起始,按字依次写入。

命令格式应答格式限制地址253~255中的数据是只读数据。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

欧姆龙PLC通信协议
参考:W342--SYSMAC CS/CJ Series Communications Commands
欧姆龙通信命令可分为两类:
1:C-mode commands
只可通过串口通讯
2:FINS commands
既可通过串口通讯也可通过各类网络通信(适应性较强)
=============================================================================== 下面只讲FINS命令
一、命令发送:
FINS直连发送命令如下:
FINS command code见下表
命令后面紧跟着就是内存区域寻址,见下表
Command Code 后面紧跟着需要访问的地址,地址可分为按字地址或按位地址,取决于你需要访的的是字还是某一位。

由紧跟着Command Code后面的那个字节(I/O memory area designation)区分是读取字还是读取位,还是写入字或写入位,具体定义见下表:
按字地址:选取表中Data Type列中为Word的命令(命令在Memory area code内)
按字地址的三个地址位中,只使用前两个,最后一个字节为Ascii码”00”,其后跟两个字节为需要传输的数据量,然后紧跟着就是传输的数据,数据高位在前低位在后。

例如从H12开始读取7个字的数据,
命令为:0101 B2 001200 0007
例如将W3、W4、W5分别置数据1234、ABCD、7890,
命令为:0102 B1 000300 0003 1234ABCD7890
按位地址:选取表中Data Type列中为Bit的命令(命令在Memory area code内)
按位地址的三个地址位中,前两个指示位所在的字,最后一个字节指示位在字中的位置(0~15),其后跟两个字节为需要传输的数据量,然后紧跟着就是传输的数据,每一位的值用一个字节的数据代替,当寻址的位为0时用ascii码“0”代替,当寻址的位为1时用ascii 码“1”代替。

例如读取CIO100.03~CIO100.07这5位的数据
命令为:0101 30 010003 0005
例如将CIO101.01~CIO101.07分别置位0、0、1、0、1、1、1 命令为:0102 30 010101 0007 00 00 0100 01 01 01
例如将H25.14置1
命令为:0102 32 002514 0001 01
二、命令响应
FINS response code见下表
正常情况下FINS response code返回0000,当出现问题时,请根据FINS response code查找上表检查原因
返回的数据如果是按字寻址,则按数据高位在前低位在后的原则依次返回。

返回的数据如果是按位寻址,则以每位一个字节的原则依次返回。

最后介绍FCS校验码的计算方法,计算时只计算FCS以前的所有数据,计算方法如下:。

相关文档
最新文档