文档库 最新最全的文档下载
当前位置:文档库 › 欧姆龙plcTCP通讯协议

欧姆龙plcTCP通讯协议

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

我电脑是建立客户端的,plc做位服务器。这样做有个弊端,每次通讯失败就要重新连接。

TCP通讯有个特点每次通讯前都要先握手,握手成功后才可以发数据。因为以前没有接触过,不懂,在上面打了好多圈圈,不管是复制别人的通讯格式还是手抄,都通讯失败。还有一点就是找的通讯手册全是英文的,实在是有点心有余而力不足的感觉。所以作为新接触TCP通讯协议的朋友一定要注意这点。

下面我们来介绍一下通讯协议,分两部分:

1.FINS节点地址数据发送(客户端->服务器)握手命令发送握手格式:

上面是从手册上摘的握手格式。下面我们具体分析一下:

FINS(包头)数据长度功能码错误码末位IP地址

发送:46494E530000000C000000000000000000000002(本机IP地址末位为02)。A B C D E

A: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应答反馈的内容:

握手反馈格式:

下面是错误码,也可以看看:

FINS数据长度功能码错误码应答返回地址握手成功

反馈:46494E530000001000000001000000000000000200000001;发送的数据格式都是以十六进制发送的。

2.握手成功了,就可以开始读或写寄存器了

下面是读写格式:

1.如读DM0开始的2个通道:

FINS包头数据长度功能码错误码发送FINS帧格式读取码发送:46494E530000001A0000000200000000800002000100000200FF0101

读DM区(功能码)起首地址个数

820000000002

注:01为PLC的IP地址;02为本机的IP地址字起首地址位起首地址

FINS包头数据长度功能码错误码应答FINS帧格式读取码返回:46494E530000001A000000020000000C00002000200000100FF0101接收正常接收到两组数据

0000C0004541

注:02为本机的IP地址;01为PLC的IP地址

2.写DM0开始的2个通道:

FINS包头数据长度功能码错误码发送FINS帧格式写入码发送:46494E530000001E0000000200000000800002000100000200FF0102

写DM区(功能码)起首地址个数待写入两组数据

820000000002C0004541

字起首地址位起首地址

FINS包头数据长度功能码错误码应答FINS帧格式写入码返回:46494E530000001C000000020000000C00002000200000100FF0102

写入正常

0000

3.FINS/TCP帧格式

在手册中找到的格式,如下:

举例说明:

利用FINS/TCP 的方式读取PLC 的DM1通道的数据,格式解析如下:ICF RSV

GCT DN A DA 1DA 2SN A SA1SA2SID Command code TEXT 固

定固定目标

目标节点号目标单元号源网络号源节点号源单元号服务号,随便MR C SRC 800002000100000200000101820000000001

DNA:同一网络(本地网络默认为00)

SNA :同一网络(本地网络默认为00)

DA1:PLC 站号IP 地址

DA2:PLC CPU 单元

SA1:上位机PC IP 地址

MRC 和SRC :0101表示读命令;0102表示写命令。

TEXT :820000000001数据包(82是操作MD 寄存器,0000首地址,00也是地址,先不管这个,0001表示读取一个寄存器)

下面是操作指令表,不同系列的plc 会有所不同,仅供参考:

返回时

为C0写07也可,但返回也是0200表示本地网络,否则需创建路由表00表示本地网络,否则需创建路由表

modbus_通讯协议_实例

上海安标电子有限公司 ——PC39A接地电阻仪通信协议 通信协议: 波特率:9600数据位:8校验位:无停止位:1 上位机(计算机): 字节号 1 2 3 4 5 6 7 8 意义ID Command 数据地址V alue CRC 注:1 ID:1个字节,由单机来定(0~255) 2 Command:1个字节,读:3或4,写:6 3 数据地址:2个字节,寄存器地址,读从100开始,写从200开始 4 V alue:2个字节,读:个数(以整型为单位),写:命令/ 数据(以整型为单位) 5 CRC:计算出CRC 下位机(PC39A): 读数据,若正确 字节号 1 2 3 3+N (N=个数*2) 3+N+1 3+N+2 意义ID Command=3 / 4 数据个数数据CRC 注:1 ID:1个字节,由单机来定(0~255) 2 Command:1个字节,收到的上位机命令 3数据个数:1个字节,返回数据个数(以字节为单位) 4 V alue:N个字节,是返回上位机的数据 5 CRC:计算出CRC 写命令,若正确 返回收到的数据: 若错误 字节号 1 2 3 4 5 意义ID Command 数据CRC 注:1 ID:1个字节,由单机来定(0~255) 2 Command:1个字节,收到的上位机命令或上0x80, 如收到3,返回0x83 3数据:1个字节,错误的指令 错误指令 1:表示command不存在 2:表示数据地址超限 4 CRC:计算出CRC

例如读PC39A 电流数据: 机器地址为12,电流的数据地址100,数据为15.45(A) (一个整型数据) 主机: ID Command 数据地址 V alue CRC 16进制 0x0c 0x03 0x0064 0x0001 CRC_H CRC_L 10进制 12 3 100 1 CRC_H CRC_L 从机返回 如正确: ID Command 数据个数(以字节为单位) V alue CRC 16进制 0x0c 0x03 0x002 0x0609 CRC_H CRC_L 10进制 12 3 2 1545 CRC_H CRC_L 如错误: ID Command 数据 CRC 16进制 0x0c 0x83 0x02 CRC_H CRC_L 10进制 12 131 2 CRC_H CRC_L 例如发PC39A 启动命令: 机器地址为12,命令的地址200,数据为25000(25000表示启动) 主机: ID Command 数据地址 V alue CRC 16进制 0x0c 0x06 0x00c8 0x61a8 CRC_H CRC_L 10进制 12 6 200 25000 CRC_H CRC_L 从机返回 如正确: ID Command 数据地址 V alue CRC 16进制 0x0c 0x06 0x00c8 0x61a8 CRC_H CRC_L 10进制 12 6 200 25000 CRC_H CRC_L 如错误: ID Command 数据 CRC 16进制 0x0c 0x86 0x02 CRC_H CRC_L 10进制 12 134 2 CRC_H CRC_L 0011 10000110 错误码0x83 功能码0x06错误码0x86

共通技术-iFIX与欧姆龙PLC连接手册

iFIX与欧姆龙PLC通讯连接手册 目录 1 概述 (1) 1.1 iFIX与欧姆龙PLC连接的通讯驱动 (1) 1.2 通讯驱动安装 (2) 2 iFIX使用OMR驱动与欧姆龙PLC串口连接 (5) 2.1 OMR驱动支持PLC系列及读写寄存器区域 (5) 2.2 OMR驱动配置 (5) 2.3 数据库标签建立 (9) 3 iFIX使用OMF驱动与欧姆龙PLC以太网连接 (10) 3.1 OMF驱动支持PLC系列及可读写区域 (10) 3.2 OMF驱动配置 (11) 3.3 设置路由表 (14) 3.4 FINSGateway设置 (15) 3.5 建立数据库标签 (17) 4 iFIX使用OMS与欧姆龙PLC以太网连接 (19) 4.1 OMS驱动支持PLC系列及可读写区域 (19) 4.2 OMS驱动配置 (19) 4.3 设置路由表 (22) 4.4 FINSGateway设置 (23) 4.5 建立数据库标签 (26) 5 iFIX使用OPC与欧姆龙PLC以太网连接 (28) 5.1 OPC驱动支持PLC系列及可访问寄存器 (28) 5.2 OPC驱动配置 (30) 5.2.1 Sysmac OPC Server配置 (30) 5.2.2 OPC Client配置 (32) 5.3 设置路由表 (36) 5.4 FINSGateway设置 (37) 5.5 建立数据库标签 (40)

1 概述 iFIX的驱动程序主要是完成硬件设备(包括PLC,电度表,电量监测仪,模拟量模块等)和组态监控软件IFIX动态数据交换,以完成上位监控软件的监视与控制功能。 iFIX有两种模式的I/0驱动:基于串口的驱动程序和基于TCP/IP的驱动程序。 两种驱动程序的安装包里都包含以下五个文件: setup.exe 驱动的安装文件 setup.dll 驱动安装文件的动态库 license 驱动的授权安装文件 xxx.inf 驱动程序安装过程中的安装配置文件,其中XXX为三个字母驱动程序名 [注: 在IFIX 中所有的驱动程序名都只能且只能有三个字母] Server.Cab 驱动程序安装包 1.1 iFIX与欧姆龙PLC连接的通讯驱动 目前iFIX与欧姆龙PLC通讯连接驱动主要有两种: 1、由组态软件厂商开发的基于串口(Hostlink)或TCP/IP的驱动程序,如OMR(OMRON COM),基于串口Hostlink协议,可直接与欧姆龙PLC连接;IGS,基于OMRON FINS EtherNet、OMRON FINS Series、Hostlink 等。 2、基于中间接口软件开发的通讯驱动,需安装FINSGateway软件。例如,OMF、OMS、OMRON Sysmac OPC Server。 其中OMR、OMF驱动属于iFIX 6.X版本,版本较旧,支持访问的PLC寄存器区存在较多的限制(具体见每一种通讯连接说明),一般不建议使用; OMS驱动属于较新的驱动,对欧姆龙新型PLC CS/CJ/CP系列全面兼容,可访问的寄存器区几乎无限制,推荐客户使用; OMRON Sysmac OPC Server和通用的OPC驱动一样,主要是提供欧姆龙过程设备的通用接口。 IGS驱动是目前iFIX主推的通讯驱动,兼容当前主流PLC设备开发出各种通讯驱动,支持自动化行业200多种主流PLC。

欧姆龙PLC知识

SCL2指令应用案例 条件:变送器的输出信号为0-10V,对应温度为-100--200摄氏度;CP1H的模拟量输入量程设置为0-10V, 分辨率选择6000 目的:使用SCL2指令将模拟量转换得到的数据0-6000(BIN)对应缩放到-100--200(BCD)摄氏度显示 输出。 程序如下: SCL2控制字解释: 200:CP1H的模拟量输入通道1 D100:偏移量(带符号BIN)详见下图 D101:ΔX(带符号BIN)详见下图 D102:ΔY(BCD)详见下图 D200:转换结果通道 结果:程序执行后就可以实现0-6000(BIN)转换到-100--200(BCD)摄氏度显示了。 注:因为BCD数是以十六进制来表示十进制数据的,因此对应的温度值应该用16进制方式去监视。例如:当200CH中的数据是&4000(即6.66V电压输入),那么用十六进制监控数据D200应该显示#100。 &符号表示十进制数;#表示十六进制数。

SCL指令应用案例 条件:变送器的输出信号为0-10V,对应压力为0-400MPa;CP1H的模拟量输入量程设置为0-10V,分辨 率选择6000。 目的:使用SCL指令将模拟量转换得到的数据0-6000(BIN)对应缩放到0-400MPa(BCD)显示输出。 程序如下: 结果:程序执行后就可以实现0-6000(BIN)转换到0-400(BCD)的压力值了。 注:因为BCD数是以十六进制来表示十进制数据的,因此对应的压力值应该用16进制方式去监视。例如:当200CH中的数据是&3000(即5V电压输入),那么用十六进制监控数据D200应该显示#200。 &符号表示十进制数;#表示十六进制数。 使用CPM1A-AD041的模块采集模拟量4-20ma的信号,该模拟量信号取自一位移传感器信号,代表一个0-100mm的距离,要怎么才能把输入通道里 的数据转换成所对应的这个距离值呢?

基于Modbus协议实现单片机与PLC之间的通讯

基于Modbus协议实现单片机与PLC之间的通讯 来源:PLC&FA 作者:蔡晓燕赵兴群万遂人董鹏云 关键词:可编程控制器 Modbus 通讯协议 1 引言 HMI(人机界面)以其体积小,高性能,强实时等特点,越来越多的应用于工业自动化系统和设备中。它有字母、汉字、图形和图片等不同的显示,界面简单友好。配有长寿命的薄膜按钮键盘,操作简单。它一般采用具有集成度高、速度快、高可靠且价格低等优点的单片机[1]作为其核心控制器,以实现实时快速处理。PLC和单片机结合不仅可以提PLC的数据处理能力,还可以给用户带来友好简洁的界面。本文以Modbus通讯协议为例,详细讨论了一个人机系统中,如何用C51实现单片机和PLC之间通讯的实例。 2 Modbus通讯协议[4] Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络和其它设备之间可以通信。 Modbus协议提供了主—从原则,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。主设备查询的格式:设备地址(或广播,此时不需要回应)、功能代码、所有要发送的数据、和一错误检测域。从设备回应消息包括确认地址、功能码、任何要返回的数据、和一错误检测域。如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。 控制器能设置为两种传输模式:ASCII和RTU,在同样的波特率下,RTU可比ASCII方式传送更多的数据,所以采用KTU模式。 (1) 典型的RTU消息帧 典型的RTU消息帧如表1所示。

RTU消息帧的地址域包含8bit。可能的从设备地址是0...127(十进制)。其中地址0是用作广播地址,以使所有的从设备都能认识。主设备通过将要联络的从设备的地址放入消息中的地址域来选通从设备。当从设备发送回应消息时,它把自己的地址放入回应的地址域中,以便主设备知道是哪一个设备作出回应。 RTU消息帧中的功能代码域包含了8bits,当消息从主设备发往从设备时,功能代码域将告之从设备需要执行哪些行为;当从设备回应时,它使用功能代码域来指示是正常回应(无误)还是有某种错误发生(称作异议回应,一般是将功能码的最高位由0改为1)。 从主设备发给从设备消息的数据域包含附加的信息:从设备必须用于进行执行由功能代 码所定义的行为。这包括了像不连续的寄存器地址,要处理项的数目,域中实际数据字节数。如果没有错误发生,从从设备返回的数据域包含请求的数据。如果有错误发生,此域包含一异议代码,主设备应用程序可以用来判断采取下一步行动。 当选用RTU模式作字符帧时,错误检测域包含一16Bits值(用两个8位的字符来实现)。错误检测域的内容是通过对消息内容进行循环冗长检测(CRC)方法得出的。CRC域附加在消息的最后,添加时先是低字节然后是高字节。 (2) 所有的Modbus功能码 Modbus的功能码定义如表2所示。

(完整版)MODBUS通讯协议-RTU要点

Modbus 通讯协议 (RTU传输模式)本说明仅做内部参考,详细请参阅英文版本。

第一章Modbus协议简介 Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。 当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。 协议在一根通讯线上使用应答式连接(半双工),这意味着在一根单独的通讯线上信号沿着相反的两个方向传输。首先,主计算机的信号寻址到一台唯一的终端设备(从机),然后,在相反的方向上终端设备发出的应答信号传输给主机。协议只允许在主计算机和终端设备之间,而不允许独立的设备之间的数据交换,这就不会在使它们初始化时占据通讯线路,而仅限于响应到达本机的查询信号。 1.1 传输方式 传输方式是一个信息帧内一系列独立的数据结构以及用于传输数据的有限规则,以RTU 模式在Modbus总线上进行通讯时,信息中的每8位字节分成2个4位16进制的字符,每个信息必须连续传输下面定义了与Modebus 协议– RTU方式相兼容的传输方式。 代码系统 ?8位二进制,十六进制数0...9,A...F ?消息中的每个8位域都是一个两个十六进制字符组成 每个字节的位 ?1个起始位 ?8个数据位,最小的有效位先发送 ?1个奇偶校验位,无校验则无 ?1个停止位(有校验时),2个Bit(无校验时) 错误检测域 ?CRC(循环冗长检测)

很好的威纶通MODBUSRTU通讯协议与变频器通讯案例

很好的威纶通 M O D B U S R T U通讯协议与变频器通讯案例 公司标准化编码 [QQX96QT-XQQB89Q8-NQQJ6Q8-MQM9N]

本文研究的是触摸屏通过MODBUS RTU通讯协议与变频器通讯实现变频器的控制。触摸屏采用威纶通TK6070IP,变频器用汇川MD380通用系列。通过触摸屏编程软件,编辑控制画面实现变频器的启动、停止、速度调节、多段速速度设置,通过宏指令实现工程值与实际值的转换。 一、MODBUS RTU 简介: 为了在自动化系统之间、自动化系统和所连接的分散的现场设备之间进行信息交换,如今串行现场总线被主要用作通讯系统。成千上万的应用已经强烈地证明了通过使用现场总线技术,可以节省多至40%的接线、调试及维护的费用。仅仅使用两根电线就可以传送现场设备的所有相关信息,比如输入和输出数据、参数、诊断数据。过去使用的现场总线往往是制造商的特定现场总线,并且同其它现场总线不兼容。如今使用的现场总线几乎是完全公开和标准化的。这就意味者用户可以以最合理的价格选择最好的产品,而不用依赖于每个独立的制造商。Modbus RTU是一种国际的、开放的现场总线标准。作为一种很容易实现的现场总线协议,在全世界范围内,Modbus得到了成功的应用。应用领域包括生产过程中的自动化、过程控制和楼宇自控。MODBUS RTU通讯协议的报文如图1。 图1 MODBUS RTU 通讯协议的报文功能码如下: 01H 读取线圈状态。从执行机构上读取线圈(单个位)的内容; 02H 读取离散量输入。从执行机构上读取离散量输入(多个位)的内容; 03H 读取保持寄存器。从执行机构上读取保持寄存器(16位字)的内容; 04H 读取输入寄存器。从执行机构上读取输入寄存器(16位字)的内容; 05H 强置单线圈。写数据到执行机构的线圈(单个位)为“通”(“1”)或“断”(“0”); 06H 预置单寄存器。写数据到执行机构的单个保持寄存器(16位字); 0FH 强置多线圈。写数据到执行机构的几个连续线圈(单个位)为“通”(“1”) 或“断”(“0”); 10H 预置多寄存器。写数据到执行机构的几个连续的保持寄存器(16位字)。 二、威纶通编程软件介绍: EB8000软件中MODBUS协议的设备类型为0x、1x、3x、4x、5x、6x,还有 3x_bit,4x_bit,6x_bit,0x_multi_coils等,下面分别说明这些设备类型在MODBUS协议中支持哪些功能码。 0x:是一个可读可写的设备类型,相当于操作PLC的输出点。该设备类型读取位状态的时候,发出的功能码是01H,写位状态的时候发出的功能码是05H。写多个寄存器时发出的功能码是0fH。

modbus协议下上位机编程实例

竭诚为您提供优质文档/双击可除modbus协议下上位机编程实例 篇一:modbus协议下的上位机地址 Rs485采取流量计数据,经串口com1的2号地址读到int ouch中来,双字40001、40002为浮点型瞬时流量,读到上位机项目为40001F双字40004、40005为长整型累计流量,读到上位机项目为40004l 驱动设置与intouch标记名的设置 驱动设置: 项目名设置 注:在不修改驱动设置的情况下,s=s1+s2*65535 s=s2+s1*65535 根据各个厂家的仪表,上面工式有区别,设计时各个测试一下。 篇二:modbus通讯协议实例 上海安标电子有限公司 ——pc39a接地电阻仪通信协议 通信协议:

波特率:9600数据位:8校验位:无停止位:1 上位机(计算机): 注:1id:1个字节,由单机来定(0~255) 2command:1个字节,读:3或4,写:6 3数据地址:2个字节,寄存器地址,读从100开始,写从200开始4Value:2个字节,读:个数(以整型为单位),写:命令/数据(以整型为单位)5cRc:计算出cRc下位机(pc39a ):注:1id:1个字节,由单机来定(0~255) 2command:1个字节,收到的上位机命令 3数据个数:1个字节,返回数据个数(以字节为单位)4Value:n个字节,是返回上位机的数据5cRc:计算出cRc 写命令,若正确返回收到的数据:若错误注:1id:1个字节,由单机来定(0~255) 2command:1个字节,收到的上位机命令或上0x80, 如收到3,返回0x83 3数据:1个字节,错误的指令错误指令 1:表示command不存在2:表示数据地址超限 4cRc:计算出cRc 例如读pc39a电流数据: 机器地址为12,电流的数据地址100,数据为15.45(a)(一个整型数据)

欧姆龙PLC初级培训教材

欧姆龙PLC初级培训教材

PLC初级培训教材 第一章电气系统及PLC简介 一、设备电气系统结构简介设备电气系统一般由以下几部分组成 1、执行机构:执行工作命令 陶瓷行业中常见的执行机构有:电动机(普通、带刹车、带离合)、电磁阀(控制油路或气路的通闭完成机械动作)、伺服马达(控制调节油路、气路的开度大小)等。 2、输入元件:从外部取入信息 陶瓷行业中常见的输入元件有:各类主令电器(开头、按扭)、行程开关(位置)、近接开关(反映铁件运动位置)、光电开关(运动物体的位置)、编码器(反映物体运动距离)、热电偶(温度)、粉位感应器粉料位置)等。 控制中心:记忆程序或信息、执行逻辑运算及判断 常见控制中心部件有各类PLC、继电器、接触器、热继电器、等。 电源向输入元件、控制中心提供控制电源;向执行机构提供电气动力。 二、简单的单台电动机电气系统 例:一台星——角启动的鼠笼式电动机的电气系统 1、一次线路图 2、二次线路图 A B C T Q JC1 R R JC1 SJ JC1 JCJ JCJ JCJ SJ JCY JCJ A

3、上图看出,二次回路图中为实现延时控制,要使用一个时间继电器,而在 陶瓷行业中,星——角启动控制可说是一种非常简单的例子,若在陶瓷生产设备上全部采用继电器类来实现生产过程的自动控制,要使用许多的继电器、时间继电器等其它一些电气产品,而该类产品占空间大,且运行不是十分可靠。 三、PLC简介 1、可编程序控制器 早期的PLC只能做些开关量的逻辑控制,因而叫PLC,但近年来,PLC采用微 处理器作为中央处理单元,不仅有逻辑控制功能,还有算术运算、模拟量处理甚至通信联网功能,正确应称为PC,但为了与个人计算机有所区别,仍称其为PLC。 2、PLC的特点 1>、灵活、通用 控制功能改变,只要改变软件及少量的线路即可实现。 2>、可靠性高、抗干扰能力强 ①硬件方面:采用微电子技术开关动作由无触点的半导体电路及大规模集成电路完成, CPU与输入输出之间,采用光电隔离措施,隔离了它们之间电的联系。 ②软件方面:有自身的监控程序,对强干扰信号、欠电压等外界环境定期检查,有故障 时,存现状态到存储器,并对其封闭以保护信息;监视定时器WTD,检查程序循环状态,超出循环时间时报警;对程序进行校验,程序有错误进输出报警信息并停止执行。 3>、使用简单 采用自然语言——梯形图语言编程方式,编程容易,更改方便。输入输出接口可以与各种开关、传感器、继电器、接触器、电磁阀连接,接线简单。 4>、功能强、体积小 纵向——PLC不仅可能完成各种条件控制,还能完成模/数、数/模转换并进行数字运算,可以完成对模拟量的控制;横向——可以控制一台至几台设备,还可实现远距离控制;重量轻,体积小,便于安装。 3、PLC控制思路 以前面的星——角起动二次回路为例。 按控制等效电路可分为三个部分:输入部分、输出部分及控制部分。 1>、输入部分: 接收由各种主令电器发出的操作指令及由各种反映设备状态信息的输入元件传来的各种状态信息。PLC的一个输入点单独对应一个内部继电器,当输入点与输入用的公用脚COM接

Modbus通讯协议(TCP和RTU)

1MODBUS RTU 读寄存器请求序号意义所占字节字节存放格式 1从设备地址1个字节0x00?0xff 2功能码1个字节0x03 3起始寄存器基地址两个字节高字节在前 4寄存器个数两个字节高字节在前 5CRC校验码两个字节低字节在前 读寄存器回应序号意义所占字节字节存放格式1从设备地址1个字节0x00?0xff 2功能码1个字节0x03 3数据长度1个字节寄存器个数×2 4数据寄存器个数×2个字节每个寄存器高字节在前5CRC校验码两个字节低字节在前 写单个寄存器请求序号意义所占字节字节存放格式1从设备地址1个字节0x00?0xff 2功能码1个字节0x06 3起始寄存器地址两个字节高字节在前 4寄存器值两个字节 高字节在前 5CRC校验码 两个字节 低字节在前 写单个寄存器回应序号意义所占字节字节存放格式1从设备地址1个字节0x00?0xff 2功能码1个字节0x10 3起始寄存器地址两个字节高字节在前 4寄存器值两个字节 高字节在前 5CRC校验码 两个字节 低字节在前 1

写多个寄存器请求序号意义所占字节字节存放格式1从设备地址1个字节0x00?0xff 2功能码1个字节0x10 3起始寄存器地址两个字节高字节在前 4寄存器个数两个字节 高字节在前 5数据长度 1个字节 寄存器个数×2  6数据寄存器个数×2个字节每个寄存器高字节在前7CRC校验码 两个字节 低字节在前 写多个寄存器回应序号意义所占字节字节存放格式1从设备地址1个字节0x00?0xff 2功能码1个字节0x10 3起始寄存器地址两个字节高字节在前 4寄存器个数两个字节 高字节在前 5CRC校验码 两个字节 低字节在前 错误返回序号意义所占字节字节存放格式1从设备地址1个字节0x00?0xff 2功能码1个字节请求功能码+0x80 3错误码1个字节 其代号见下面表格4CRC校验码 两个字节 低字节在前 错误代号错误代号意义 0x01不支持该功能码 0x02越界 0x03寄存器数量超出范围 0x04读写错误 2

电磁流量计实用标准MODBUS通讯协议详情(1)

电磁流量计转换器 通讯协议 2012-10-12

目录 一、概述................................................................................................. - 2 - 二、网络结构及接线................................................................................ - 2 -

三、Modbus协议RTU帧格式 .............................................................. - 2 - 四、Modbus协议命令编码定义............................................................. - 4 - 五、电磁流量计MODBUS寄存器定义 ................................................... - 5 - 1. 电磁流量计MODBUS寄存器地址定义............................................... - 5 - 2.PLC地址设置说明................................................................................ - 5 - 3.组态王地址设置说明............................................................................. - 6 -4.数据含义说明 .................................................................................... - 6 -六、通讯数据解析................................................................................... - 7 -1读瞬时流量 .......................................................................................... - 7 -2.读瞬时流速:....................................................................................... - 8 -3读累积流量 .......................................................................................... - 8 - 5.读总量流量单位 ................................................................................. - 10 - 6.读报警状态 ........................................................................................ - 10 - 七、应用举例........................................................................................ - 11 - 1.C语言MODBUS 示例程序............................................................... - 11 - 2.modbus调试软件modbus poll通讯实例....................................... - 13 - 3.modbus调试软件modscan32通讯实例 ......................................... - 15 - 4.组态王6.53通讯实例 ........................................................................ - 17 - 5.力控 6.1通讯实例.............................................................................. - 21 -

modbus通讯协议

Modbus通讯协议 图片: 图片: 图片:

Modbus协议最初由Modicon公司开发出来,在1979年末该公司成为施耐德自动化(Schneider Automation)部门的一部分,现在Modbus已经是工业领域全球最流行的协议。此协议支持传统的RS-232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 当在网络上通信时,Modbus协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成应答并使用Modbus协议发送给询问方。 Modbus协议包括ASCII、RTU、TCP等,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。标准的Modicon控制器使用RS232C实现串行的Modbus。Modbus的ASCII、RTU协议规定了消息、数据的结构、命令和就答的方式,数据通讯采用Maser/Slave方式,Master 端发出数据请求消息,Slave端接收到正确消息后就可以发送数据到Master端以响应请求;Master端也可以直接发消息修改Slave端的数据,实现双向读写。

Modbus协议需要对数据进行校验,串行协议中除有奇偶校验外,ASCII模式采用LRC校验,RTU模式采用16位CRC校验,但TCP模式没有额外规定校验,因为TCP 协议是一个面向连接的可靠协议。另外,Modbus采用主从方式定时收发数据,在实际使用中如果某Slave站点断开后(如故障或关机),Master端可以诊断出来,而当故障修复后,网络又可自动接通。因此,Modbus协议的可靠性较好。 下面我来简单的给大家介绍一下,对于Modbus的ASCII、RTU和TCP协议来说,其中TCP和RTU协议非常类似,我们只要把RTU协议的两个字节的校验码去掉,然后在RTU协议的开始加上5个0和一个6并通过TCP/IP网络协议发送出去即可。所以在这里我仅介绍一下Modbus的ASCII和RTU协议。 下表是ASCII协议和RTU协议进行的比较: 通过比较可以看到,ASCII协议和RTU协议相比拥有开始和结束标记,因此在进行程序处理时能更加方便,而且由于传输的都是可见的ASCII字符,所以进行调试时就更加的直观,另外它的LRC校验也比较容易。但是因为它传输的都是可见的ASCII 字符,RTU传输的数据每一个字节ASCII都要用两个字节来传输,比如RTU传输一个十六进制数0xF9,ASCII就需要传输’F’’9’的ASCII码0x39和0x46两个字节,这样它的传输的效率就比较低。所以一般来说,如果所需要传输的数据量较小可以考虑使用ASCII协议,如果所需传输的数据量比较大,最好能使用RTU协议。

欧姆龙PLC选型手册大全

欧姆龙PLC型号 欧姆龙PLC--CPM1A-V1系列 欧姆龙PLC--CPM1A-V1系列产品型号 1.CPM1A-10CDR-A-V110点CPU单元AC100-220V、6点入,4点继电器输出 (1A是型号代号;10表示输入输出总点数为10点,具体是6点输入,4点输出;C表示是CPU单元;D表示混合型,也就是有输入也有输出;R表示继电器输出型;A表示工作电压为交流电100~240V) 2.CPM1A-10CDR-D-V110点CPU单元DC24V、6点入,4点继电器输出 3CPM1A-10CDT-D-V110点CPU单元DC24V、6点入,4点晶体管输出.漏型 4.CPM1A-20CDR-A-V120点CPU单元AC100-220V12点入,8点继电器输出 5.CPM1A-20CDR-D-V120点CPU单元DC24V12点入,8点继电器输出 6.CPM1A-20CDT-D-V120点CPU单元DC24V12点入,8点晶体管输出.漏型 7.CPM1A-30CDR-A-V130点CPU单元AC100-220V18点入,12点继电器输出 8.CPM1A-30CDR-D-V130点CPU单元DC24V18点入,12点继电器输出 9.CPM1A-30CDT-D-V130点CPU单元DC24V18点入,12点晶体管输出.漏型 10.CPM1A-40CDR-A-V140点CPU单元AC100-220V24点入,16点继电器输出 11.CPM1A-40CDR-D-V140点CPU单元DC24V24点入,16点继电器输出 12.CPM1A-40CDT-D-V140点CPU单元DC24V24点入,16点晶体管输出.漏型 13.CPM1A-40EDR扩展I/O单元40点24点输入16点继电器输出 14.CPM1A-20EDR1扩展I/O单元20点12点入,8点继电器输出 15.CPM1A-8ER扩展输出单元8点继电器输出 16.CPM1A-8ED扩展输入单元8点DC输入 17.CPM1A-40EDT扩展I/O单元40点24点输入16点晶体管输出.漏型 18.CPM1A-20EDT扩展I/O单元20点12点入,8点晶体管输出.漏型 19.CPM1A-8ET扩展输出单元8点晶体管输出.漏型 20.CPM1A-MAD01-NL模拟量模块输出单元2入/1出输入:0~10V,1~5V,4~20毫安 输出:0~10V,-10~+10V,4~20毫安 21.CPM1A-MAD02-CH模拟量输入输出单元4入/1出输入:0~10V,1~5V,4~20毫安 输出:0~10V,-10~+10V,4~20毫安 22.CPM1A-DA001模拟量输出单元2路分辨率1/4000转换速率2.5ms/CH每个输出通道可独立设置量程 输出:-10~10V0~10V0~5V0~20mA1~5V4~20mA 23.CPM1A-DA002模拟量输出单元4路分辨率1/4000转换速率2.5ms/CH每个输出通道可独立设置量程 输出:-10~10V0~10V0~5V0~20mA1~5V4~20mA 24.CPM1A-AD041模拟量输入单元,4路分辨率1/6000 25.CPM1A-DA041模拟量输出单元,4路分辨率1/6000 26.CPM1-CIF01RS232适配器 27.CPM1-CIF11RS422适配器

欧姆龙PLC-NJ501读数据操作手册学习资料

欧姆龙PLC NJ501读数据操作手册 一:使用指令 Trigger 触发 Operating 操作 OperatingEnd 操作结束 RS 复位优先保持 FileOpen 打开文件 FileSeek 查找文件 FileRead 读文件 FileClose 关闭文件 _Card1Ready SD卡准备标志 二:程序原理 用Trigger常开触发RS复位优先保持指令,使用RS指令控制程序读数据的开始与结束。用FileOpen来定义读文件的名,用FileSeek来定义数据读取的开始地址,用FileRead来读数据,当数据读完了触发FileClose,使操作结束。 三:程序解释 内部变量 外部变量 程序

该程序段为停止操作程序,当出现以下情况会触发停止操作指令,使程序停止 1:FileClose_instance.Done写文件完成, 2:FileOpen_instance.Error打开文件产生错误 3:FileSeek_instance.Error 查找文件产生错误 4:FileRead_instance.Error读文件产生错误 5:FileClose_instance.Error关闭文件产生错误 该程序段使用复位优先保持指令触发操作指令,当Trigger产生一个上升沿,并且SD卡准备就绪,RS置位,Operating置1。 该程序段使用FileOpen指令创建一个文件。当Operating置1,打开一个名为32.bin的文件(若已经有一个该文件则直接打开,若没有则创建一个新的),Fid为文件标识符。当FileOpen 指令发生错误,FileOpen_instance.Error置1,然后执行lnline ST(图正方形框),结束错误。 该程序段使用FileSeek指令查找文件读取的地址,当Operating置1,且FileOpen有执行,则找到Fid标识符,写Offset表示读数据的起始字,图中DINT#2表示从第二个字开始读,_SEEK_SET表示从文件开始。当FileSeek指令发生错误,FileSeek_instance.Error置1,然

欧姆龙PLC样本与手册全集

欧姆龙PLC样本与手册全集 小型机) R05-CN-03中文CP1H选型样本() SBCA-C-051D中文CP1H/CP1L 选型样本 (P20E-EN-01CP1L选型样本(英文)中英文选型样本CP1E ) W450-CN5-02 中文CP1H操作手册() W450-E1-01英文CP1H操作手册(W462-CN5-03CP1L 操作手册(中文)W462-E1-06操作手册(英文)CP1L W480-CN5-01 单元软件用户手册(中英文)W480-E1-01 CP1E W479-CN5-01 单元硬件用户手册(中英文)W479-E1-01 CP1E W479-E1-03)单元硬件用户手册(英文)(包含NACP1E 英文) W451-E1-03CP1H/CP1L编程手册(中文)CP1H/CP1L编程手册(中 文)W483-CN5-04CP1E 指令参考手册(CP1E 指令手册(英文) ) P039 E1-11(英文CPM1A-V1 选型样本 W317-E1-4操作手册(英文)CPM1A W353-E1-1编程手册(英文)CPM1/1A/2A/2C/SRM1OMP-ZCO97101B操作手册(中文)CPM1A )中文CPM1A/2A/2AH/2C 编程手册(W262-E1-4操作手册(英文)CPM1) P049-E1-08英文选型样本(CPM2A/2C )中文选型样本(CPM2AH ) .P01Z-CN-01(中文CPM2AH-S 选型样本W352-E1-1CPM2A 操作手册(英文))(中文CPM2AH-S 操作手册)中文CPM2A/CPM2AH 操作手册()英文选型样本(CPM2C W356-E1-08操作手册(英文)CPM2C ) OMP-AD000102A(中文CPM2B 操作手册) W399-E1-1英文CPM2B-S001M-DRT 操作手册(中型机)(中文CJ1系列选型样本SBCE-CN-058D选型样本(中文)CJ2H/CJ2M)中文(选型样本C200HX/C200HG/C200HE W395-C1-01操作手册(中文)CJ1M内置I/O W393-C1-02操作手册(中文)CJ1W340-C1-08编程手册(中文)CJ1W340-E1-1最新编程手册(英文)CJ1W472-CN5-06单元硬件操作手册(中文)CJ2 CPU W472-E1-01操作手册(英文)CJ2W486-E1-01操作手册(英文)CJ2M-MD W473-E1-01编程手册(英文)CJ2W345-C1-05操作手册(中文)CJ1W-AD/DA W396操作手册(中文)CJ1W-TC W368-E1-07操作手册(英文)CJ1W-PTS)OEZ-ZCP97201A中文编程手册(C200HX/HG/HE )OEZ-ZCI96201A(中文C200HE/HG/HX 操作手册OMP-ZCO99406A(中文)C200H 模拟量(AD001/DA001)操作手册W325-E1-04I(AD003/DA003)操作手册(英文)C200H 模拟量 W124-E1-5C200H-TC 温度控制单元操作手册(英文))W130-E3-5(英文C200H 操作手册)安装手册(英文C200HS )C200HS 操作手册(英文)中文CQM1H 选型样本()中文操作手册(CQM1H )中文编程手册(CQM1H 和内装板操作手册(英文) CPU CQM1H 系列和内装板编程手册(英文)系列 CPU CQM1H )(中文CQM1H 特殊I/O单元操作手册手册(英文)特殊I/OCQM1H/CQM1 大型机W368-E1-07模块操作手册(英文)CS1W-PTS过程控制I/O选型样本(中文)CS1-H 选型样本(中文)CS1D) W339-CN5-10(中文CS1可编程控制器操作手册)W340-C1-08中文CS1编程手册(最新编程手册(英文)CS1W405-E1-06CS1D双机操作手册(英文)W345-C1-05操作手册(中文)CS1W-AD/DA W345-E1-11CS1W-AD/DA最新操作手册(英文)W132-E1-3D

MODBUS标准通讯协议

MODBUS 标准通讯协议(简版) (基于Modbus 应用协议RTU 通讯模式) 1. 前言 本协议适用于符合MODBUS 标准通讯协议的规定以及在Modbus 网络上以RTU 模式通信运行的设备和应用软件。本协议按照Modbus 应用协议标准制定。 2. 波特率可选范围 代码 6 7 8 9 10 11 12 13 14 波特率 2400 4800 9600 14400 19200 28800 38400 57600 115200 3. RTU 通讯数据传输模式 3.1 RTU 模式每个字节( 11 位 )的格式为 : 通讯传输为异步方式,并以字节(数据帧)为单位。在主站和从站之间传递的每一个数据帧都是11位的串行数据流。 编码系统: 8–位二进制,报文中每个8 位字节含有两个4 位十六进制字符(0–9, A –F) 数 据 位: 1个 起始位 8个 数据位, 首先发送最低有效位 1个 奇偶校验(注:偶校验是要求的,其它模式( 奇校验,无校验 )也可以使用) 1个 停止位 (注 :使用无校验时要求2个停止位) 帧校验域:循环冗余校验(CRC) 3.2 字符的串行传送方式: 每个字符或字节按如下顺序发送(从左到右):最低有效位 (LSB) . . . 最高有效位 (MSB) 通过配置,设备可以接受奇校验、偶校验或无校验。如果无奇偶校验,那么传送一个附加的停止位来填充数据帧使其成为完整的11位异步字符: 3.3 数据编码: Modbus 处理的所有数据按照存储数据的类型可以分为位寄存器(容量为1位)和16位寄存器(容量为16位)两种,它们的宽度都是16位(Data is packed as two bytes per register),协议允许单个选择65536个数据项,而且其读写操作可以越过多个连续数据项直到数据大小规格限制,这个数据大小规格限制与事务处理功能码有关。在Modbus PDU 中从0~65535寻址每个数据。 Modbus 使用一个‘big-Endian ’表示地址和数据项,即最高有效字节在低地址存储,最低有效字节在高字节存储。这意味着当发送多个字节时,首先发送最高有效位例如: 寄存器大小 值 16位 0x1234 发送的第一字节为0x12,然后发0x34。 4. RTU 报文帧结构 Modbus RTU 报文帧格式如下: 地址码 功能码 数据区 错误校验码 2 字节 1字节 1字节 0到252字节 CRC 低 CRC 高

相关文档
相关文档 最新文档