当前位置:文档之家› UDP通信协议简介

UDP通信协议简介

一、UDP概述

1、UDP是一种基本的通信协议,只在发送的报文中增加了端口寻址和可选的差错检测功能。

2、UDP不是一种握手信息协议,不能确认接收到的数据或交换其他流量控制信息。

3、UDP是一种非连接协议,计算机在使用UDP发送报文之前,不要求远程已联网或指定的目的端口可用于通信。正因为如此,将UDP称为不可靠协议,即如果只使用

UDP,则发送方不知道目的主机何时是否接收到报文。

4、定义UDP的文档是RFC0768:User Datagram Protacal。在标准STD0006中也获得通过。

5、使用UDP发送报文的计算机将报文置于UDP数据报中。UDP数据报由报头及其后面包含报文的报文组成。

6、发送计算机将UDP数据报置于IP数据报的数据字段中。在以太网中,IP数据报存放在以太网帧的数据字段中。接收到以太网帧后,目的计算机网络栈将UDP数据报的数据部分传递给数据报报头指定的端口或进程。

7、UDP的大多数功能不如TCP,所以UDP的实现要简单些,更适合于特定的应用场合。如果需要,则可在使用UDP进行通信时自定义握手协议。例如:接收接口在接收到报文之后,将返回包含确认代码或其他请求信息的响应。如果发送方在合理的时间内没有接收到响应信息,就会重新发送报文。但是,如果应用程序需要的不仅仅是最基本的握手或流量控制,则应该考虑使用TCP而不是UDP进行重构。

8、UDP有一个TCP没有的功能,就是可将报文发送到多个目的主机,包括向局域网内所有的IP地址以广播方式发送,或者向指定的IP地址以组播方式发送。对于TCP而言,广播和组播都不现实,因为源主机必须与所有目的主机握手。

二、UDP报头

UDP报头由4个字段组成,后面紧接着是要传输的数据。

1、源端口号:源端口号标识发送报文的计算机端口或进程。长度2字节,可选,如果接收进程不需要知道发送数据报的进程,则该字段可置为0。

2、目的端口号:目的端口号标识接收报文的目的主机端口或进程。2字节。

3、数据报长度:指整个数据报的长度,以字节为单位,包括报头,最大值为65535。该字段为2字节。

4、UDP检验和:是根据UDP数据报和伪报头计算得到的差错检测值,可选,该字段伪为2个字节。伪报头包含源和目的IP地址,以及来自IP数据报报头的协议值。IP数据报在网络中传送时包含UDP数据报。伪报头并不会在网络中传送,校验和中所包含的伪报头内容可以避免目的端错误地接收错误路由的数据报。校验和值的计算方法和IP报头检验和的计算方法类似。

仅在局域网内部传输报文不需要UDP校验和,因为以太网帧的校验和已经提供了差错控制。而对于那些需要通过不同的、也许未知网络传输的报文而言,校验和可以让目的主机能检测到错误数据。

三、UDP数据

1、一个UDP数据报最大可达到65535个字节,且报头为8字节,因此一个数据报最多可以携带65527个字节的数据。

2、实际上,源计算机常将数据报限制在较短的长度内。使用较短的数据报的一个原因是,过大的数据报可能不适合目的主机的接收缓冲器大小;或者因为接收数据的应用程序可能需要特定长度的报文。

3、较短数据报也许更高效。当大的数据报经过不同能力的网络时,网络协议可能会将数据报拆分为报片,要求目的主机将这些报片重组。所有数据都会到达目的主机,但一般来说,在源主机处拆分数据,然后在目的主机处重组,会比依赖IP进行这项工作更高效。

4、IP标准要求主机能接收最大长度为576字节的数据报。没有可选项的IP报头长度为20字节,UDP 报头为8字节,因此一个最大长度为548字节且没有IP选项的UDP数据报不经过拆分便可到达目的主机。

UDP协议简介

源端口是可选域,当其有意义时,它指的是发送进程的端口,这也就假定了在没有其它信息的情况下,返回信息应该向什么地方发送。如果不使用它,则在此域中填0。目的端口在有特定的目的网络地址时有意义。长度指的是此用户数据报长度的八进制表示。(这表明最小的数据报长度是8。)校验码有16位,是对IP头,UDP头和数据中信息包头的数位取反之和再取反得到的。

包头从概念上说是在UDP头信息之前的,它包括有源地址,目的地地址,所使用的协议和UDP长度。这些信息使信息不能被错误地接收。这个校验过程与

TCP中使用的过程一致。如果计算出的校验码为零,它将被全零发送。全零的校验值意味着发送者未产生校验码。

用户接口

用户接口应该允许创建新的接收端口,在接收端口的接收操作有:应该返回一个八进制数说明源端口和源地址,允许数据报传送,指定数据,源和目标端口和目的地地址。

IP层接口

UDP模块必须能够决定源和目标的网络地址,而且必须能够从包头中得知所使用的协议。一个可能的接口方式是返回整个数据报,包括接收操作返回的包头。这样的接口还应该允许UDP向IP传送完整的带包头的数据报用于传送。由IP来确定一致性并计算校验码。

协议应用

此协议的最主要的用途是网际名称服务器和小文件传输协议。

协议号

在IP中使用它时,它的协议号是17(八进制中是21)。

UDP协议的标题结构

UDP信息包由UDP标题和数据组成。UDP的标题结构如图15-21所示,它由5个域组成:源端端口(Source Port)、目的地端口(Destination Port)、用户数据包的长度(Length)和检查和(Checksum)。其中,前4个域组成UDP标题(UDP header),每个域由4个字节组成;检查和域占据2个字节,它用来检测传输过程中是否出现了错误;用户数据包的长度包括所有5个域的字节数。

UDP信息包的标题结构

检查和的详细计算可在RFC 1071中找到,现举一例说明使用检查和检测错误的道理。例如,假设从源端A要发送下列3个16位的二进制数:word1,word2和word3到终端B,检查和计算如下:

word1 0110011001100110

word2 0101010101010101

word3 0000111100001111

sum=word1+ word2+ word3 1100101011001010

检查和(sum的反码) 0011010100110101

从发送端发出的4个(word1,2,3以及检查和)16位二进制数之和为1111111111111111,如果接收端收到的这4个16位二进制数之和也是全“1”,就认为传输过程中没有出差错。

许多链路层协议都提供错误检查,包括流行的以太网协议,读者也许想知道为什么UDP也要提供检查和。其原因是链路层以下的协议在源端和终端之间的某些通道可能不提供错误检测。虽然UDP提供有错误检测,但检测到错误时,UDP 不做错误校正,只是简单地把损坏的消息段扔掉,或者给应用程序提供警告信息。

读者也可能会问,收发两端的两个进程是否有可能通过UDP提供可靠的数据传输?答案是可以的。但必需要把确认和重传措施加到应用程序中,应用程序不能指望UDP来提供可靠的数据传输。

UDP协议的几个特性

(1) UDP是一个无连接协议,传输数据之前源端和终端不建立连接,当它想传送

时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段。

(2) 由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户机传输相同的消息。

(3) UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包的额外开销很小。

(4) 吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、源端和终端主机性能的限制。

虽然UDP是一个不可靠的协议,但它是分发信息的一个理想协议。例如,在屏幕上报告股票市场、在屏幕上显示航空信息等等。UDP也用在路由信息协议RIP(Routing Information Protocol)中修改路由表。在这些应用场合下,如果有一个消息丢失,在几秒之后另一个新的消息就会替换它。UDP广泛用在多媒体应用中,例如,Progressive Networks公司开发的RealAudio软件,它是在因特网上把预先录制的或者现场音乐实时传送给客户机的一种软件,该软件使用的RealAudio audio-on-demand protocol协议就是运行在UDP之上的协议,大多数因特网电话软件产品也都运行在UDP之上。

[page]

UDP协议简介

UDP协议是英文UserDatagramProtocol的缩写,即用户数据报协议,主要用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。UDP协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即使是在今天,UDP仍然不失为一项非常实用和可行的网络传输层协议。

与我们所熟知的TCP(传输控制协议)协议一样,UDP协议直接位于IP(网际协议)协议的顶层。根据OSI(开放系统互连)参考模型,UDP和TCP都属于传输层协议。

UDP协议的主要作用是将网络数据流量压缩成数据报的形式。一个典型的数据报就是一个二进制数据的传输单位。每一个数据报的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数据。

0UDP报头

UDP报头由4个域组成,其中每个域各占用2个字节,具体如下:

源端口号

目标端口号

数据报长度

校验值

UDP协议使用端口号为不同的应用保留其各自的数据传输通道。UDP和TCP 协议正是采用这一机制实现对同一时刻内多项应用同时发送和接收数据的支持。数据发送一方(可以是客户端或服务器端)将UDP数据报通过源端口发送出去,而数据接收一方则通过目标端口接收数据。有的网络应用只能使用预先为其预留或注册的静态端口;而另外一些网络应用则可以使用未被注册的动态端口。因为UDP报头使用两个字节存放端口号,所以端口号的有效范围是从0到65535。一般来说,大于49151的端口号都代表动态端口。

数据报的长度是指包括报头和数据部分在内的总的字节数。因为报头的长度是固定的,所以该域主要被用来计算可变长度的数据部分(又称为数据负载)。数据报的最大长度根据操作环境的不同而各异。从理论上说,包含报头在内的数据报的最大长度为65535字节。不过,一些实际应用往往会限制数据报的大小,有时会降低到8192字节。

UDP协议使用报头中的校验值来保证数据的安全。校验值首先在数据发送方通过特殊的算法计算得出,在传递到接收方之后,还需要再重新计算。如果某个数据报在传输过程中被第三方篡改或者由于线路噪音等原因受到损坏,发送和接收方的校验计算值将不会相符,由此UDP协议可以检测是否出错。这与TCP协议是不同的,后者要求必须具有校验值。

UDPvs.TCP

UDP和TCP协议的主要区别是两者在如何实现信息的可靠传递方面不同。TCP 协议中包含了专门的传递保证机制,当数据接收方收到发送方传来的信息时,会自动向发送方发出确认消息;发送方只有在接收到该确认消息之后才继续传送其它信息,否则将一直等待直到收到确认信息为止。

与TCP不同,UDP协议并不提供数据传送的保证机制。如果在从发送方到接收方的传递过程中出现数据报的丢失,协议本身并不能做出任何检测或提示。因此,通常人们把UDP协议称为不可靠的传输协议。

相对于TCP协议,UDP协议的另外一个不同之处在于如何接收突法性的多个数据报。不同于TCP,UDP并不能确保数据的发送和接收顺序。例如,一个位于客户端的应用程序向服务器发出了以下4个数据报

D1

D22

D333

D4444

但是UDP有可能按照以下顺序将所接收的数据提交到服务端的应用:

D333

D1

D4444

D22

事实上,UDP协议的这种乱序性基本上很少出现,通常只会在网络非常拥挤的情况下才有可能发生。

UDP协议的应用

也许有的读者会问,既然UDP是一种不可靠的网络协议,那么还有什么使用价值或必要呢?其实不然,在有些情况下UDP协议可能会变得非常有用。因为UDP具有TCP所望尘莫及的速度优势。虽然TCP协议中植入了各种安全保障功能,但是在实际执行的过程中会占用大量的系统开销,无疑使速度受到严重的影响。反观UDP由于排除了信息可靠传递机制,将安全和排序等功能移交给上层应用来完成,极大降低了执行时间,使速度得到了保证。

关于UDP协议的最早规范是RFC768,1980年发布。尽管时间已经很长,但是UDP协议仍然继续在主流应用中发挥着作用。包括视频电话会议系统在内的许多应用都证明了UDP协议的存在价值。因为相对于可靠性来说,这些应用更加注重实际性能,所以为了获得更好的使用效果(例如,更高的画面帧刷新速率)往往可以牺牲一定的可靠性(例如,会面质量)。这就是UDP和TCP两种协议的权衡之处。根据不同的环境和特点,两种传输协议都将在今后的网络世界中发挥更加重要的作用。

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

浅析各种PLC通讯协议书范本

浅谈各种PLC通讯协议 一、美系厂家Rockwell ABRockwell的PLC主要是包括:PLC2、PLC3、PLC5、SLC500、ControlLogix等型号,PLC2和PLC3是早期型号,现在用的比较多的小型PLC是SLC500,中型的一般是ControlLogix,大型的用PLC5系列。DF1协议是Rockwell各PLC都支持的通讯协议,DF1协议可以通过232或422等串口介质进行数据传输,也可以通过DH、DH+、DH485、ControlNet等网络介质来传输。DF1协议的具体内容可以在AB的资料库中下载。AB的PLC也提供了OPC和DDE,其集成的软件中RSLogix中就包含DDE和OPC SERVER,可以通过上述软件来进行数据通讯。AB的中高档的PLC还提供了高级语言编程功能,用户还可以通过编程实现自己的通讯协议。 二、GE现在在国内用的比较多的主要是90-70和90-30系列PLC,这两款PLC都支持SNP协议,SNP协议在其PLC手册中有协议的具体内容。现在GE的PLC也可以通过以太网链接,GE的以太网协议内容不对外公开,但GE提供了一个SDK开发包,可以基于该开发包通讯。 , 专业.专注.

三、西门子系列PLC主要包括其早期的S5和现在的S7-200、S7-300、S7-400等各型号PLC,早期的S5PLC 支持的是3964R协议,但是因为现在在国内应用较少,除极个别改造项目外,很少有与其进行数据通讯的。S7-200是西门子小型PLC,因为其低廉的价格在国内得到了大规模的应用,支持MPI、PPI和自由通讯口协议。西门子300的PLC支持MPI,还可以通过Profibus 和工业以太网总线系统和计算机进行通讯。如果要完成点对点通讯,可以使用CP340/341。S7400作为西门子的大型PLC,提供了相当完备的通讯功能。可以通过S7标准的MPI进行通讯,同时可以通过C-总线,Profibus和工业以太网进行通讯。如果要使用点对点通讯,S7-400需要通过CP441通讯模块。西门子的通讯协议没有公开,许多组态软件都支持MPI、PPI等通讯方式,Profibus 和工业以太网一般通过西门子的软件进行数据通讯。 四、施耐德(莫迪康)施耐德的PLC型号比较多,在国内应用也比较多。其通讯方式主要是支持Modbus 和MODBUS PLUS两种通讯协议。Modbus协议在工控行业得到了广泛的应用,已不仅仅是一个PLC的通讯协议,在智能仪表,变频器等许多智能设备都有相当广泛的应用。MODBUS经过进一步发展,现在又有了MODBUS TCP 方式,通过以太网方式进行传输,通讯速度更快。Modbus PLUS相对于MODBUS传送速度更快,距离更远,该 , 专业.专注.

欧姆龙PLC以太网TCP命令FINS协议实验

ETN21以太网fins/TCP命令 实验时间:2014年10月8日 实验设备:CP1H-XA40DR-A、CP1W-EXT01、CJ1W-ETN21、网线 实验目的:利用SOCKETTOOL发送fins/TCP命令,对CPU内存进行读取和写入。 实验步骤: 1、IP地址设置: ①打开电脑本地连接查看IP地址如下: ②usb线连上电脑,打开I/O表,将ETN21模块的ip地址与电脑设置为同一 个网段不同节点,节点号跟硬件上的node number一样,下载重启模块,如下: 2、配置socketool软件 ①软件选TCP Client,创建,输入ETN21的IP地址和端口号,端口号9600,如下:

点击连接,显示十六进制值打勾: 3、握手信号 TCP方式客户端需要发给服务器握手信号,等待服务器正常反馈表示握手成功,才能正常交流数据。客户端发出的命令格式如下:

服务器反馈的命令格式如下: 故sockettool发送命令为:46494E53(FINS)0000000C(长度12字节)00000000(命令代码)00000000(错误代码)000000D6(客户端节点号214),即: 46494E530000000C0000000000000000000000D6 46494E530000000C00000000000000000000003C

反馈是46494E53(FINS)00000010(长度16字节)00000001(命令代码)00000000(错误代码)000000D6(客户端节点号)00000003(服务器节点号) 通讯建立成功。 4、TCP命令 ①命令帧如下,ETN手册W421第7-4有相关介绍,如下: Fins 命令格式:

最新各PLC通讯协议简介

各PLC通讯协议简介 各PLC通讯协议简介 转载▼ 分类:通信电子 自从第一台PLC在GM公司汽车生产线上首次应用成功以来,PLC凭借其方便性、可靠性以及低廉的价格得到了广泛的应用.但PLC毕竟是一个黑盒子,不能实时直观地观察控制过程,与DCS相比存在比较大的差距.计算机技术的发展和普及,为PLC又提供了新的技术手段,通过计算机可以实施监测PLC的控制过程和结果,让PLC如虎添翼.但是各PLC通讯介质和通讯协议各不相同,下面将简单介绍主要PLC的通讯介质和协议内容. 美系厂家 RockwellAB Rockwell的PLC主要是包括PLC2、PLC3、PLC5、SLC500、ControlLogix等型号,PLC2和PLC3是早期型号,现在用的比较多的小型PLC是SLC500,中型的一般是ControlLogix,大型的用PLC5系列. DF1协议是Rockwell各PLC都支持的通讯协议,DF1协议可以通过232或422等串口介质进行数据传输,也可以通过DH、DH+、DH485、ControlNet等网络介质来传输.DF1协议的具体内容可以在AB的资料库中下载. AB的plc也提供了OPC和DDE,其集成的软件中RSLogix中就包含DDE和OPC SERVER,可以通过上述软件来进行数据通讯. AB的中高档的PLC还提供了高级语言编程功能,用户还可以通过编程实现自己的通讯协议. GE GE现在在国内用的比较多的主要是90-70和90-30系列plc,这两款PLC都支持SNP协议,SNP协议在其PLC手册中有协议的具体内容. 现在GE的PLC也可以通过以太网链接,GE的以太网协议内容不对外公开,但GE提供了一个SDK开发包,可以基于该开发包通讯. 欧洲系列 西门子 西门子系列PLC主要包括其早期的S5和现在的S7-200、S7-300、S7-400等各型号PLC,早期的S5PLC支持的是3964R协议,但是因为现在在国内应用较少,除极个别改造项目外,很少有与其进行数据通讯的. S7-200是西门子小型PLC,因为其低廉的价格在国内得到了大规模的应用,支持MPI、PPI和自由通讯口协议.

基于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所示。

各PLC通讯协议简介

各PLC通讯协议简介 (2015-05-11 16:34:51) 转载▼ 分类:通信电子 自从第一台PLC在GM公司汽车生产线上首次应用成功以来,PLC凭借其方便性、可靠性以及低廉的价格得到了广泛的应用。但PLC毕竟是一个黑盒子,不能实时直观地观察控制过程,与DCS相比存在比较大的差距。计算机技术的发展和普及,为PLC又提供了新的技术手段,通过计算机可以实施监测PLC的控制过程和结果,让PLC如虎添翼。但是各PLC通讯介质和通讯协议各不相同,下面将简单介绍主要PLC的通讯介质和协议内容。 美系厂家 RockwellAB Rockwell的PLC主要是包括PLC2、PLC3、PLC5、SLC500、ControlLogix等型号,PLC2和PLC3是早期型号,现在用的比较多的小型PLC是SLC500,中型的一般是ControlLogix,大型的用PLC5系列。 DF1协议是Rockwell各PLC都支持的通讯协议,DF1协议可以通过232或422等串口介质进行数据传输,也可以通过DH、DH+、DH485、ControlNet等网络介质来传输。DF1协议的具体内容可以在AB的资料库中下载。 AB的plc也提供了OPC和DDE,其集成的软件中RSLogix中就包含DDE和OPC SERVER,可以通过上述软件来进行数据通讯。 AB的中高档的PLC还提供了高级语言编程功能,用户还可以通过编程实现自己的通讯协议。 GE GE现在在国内用的比较多的主要是90-70和90-30系列plc,这两款PLC都支持SNP协议,SNP协议在其PLC 手册中有协议的具体内容。 现在GE的PLC也可以通过以太网链接,GE的以太网协议内容不对外公开,但GE提供了一个SDK开发包,可以基于该开发包通讯。 欧洲系列 西门子 西门子系列PLC主要包括其早期的S5和现在的S7-200、S7-300、S7-400等各型号PLC,早期的S5PLC支持的是3964R协议,但是因为现在在国内应用较少,除极个别改造项目外,很少有与其进行数据通讯的。 S7-200是西门子小型PLC,因为其低廉的价格在国内得到了大规模的应用,支持MPI、PPI和自由通讯口协议。

(完整版)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。

PLC 通讯协议介绍

附录二:FATEK 通讯协议 本通讯协议(P r o t o c o l)是永宏P L C主机上各通讯端口在标准通讯模式下都适用的通讯协议,任何对P L C 的数据存取(从P L C内部读出或从外界写入P L C)或操作、控制等,除了在硬件联机和通讯参数设定中必需通讯双方一致外,在通讯信息格式(M e s s a g e f o r m a t)方面也必需符合本通讯协议的格式,P L C才能正确响应。在介绍通讯协议之前首先需要了解永宏P L C和与其通讯的外围设备之间的角色与互动关系。 1.1主仆定位与通讯互动关系 在永宏P L C的通讯结构上,永宏P L C是被定位为仆系统(S L AV E),而任何与永宏P L C联机的外围设备都为主系统(M A S T E R),也就是说任何外围设备与永宏P L C之间的通讯都是由主系统(外围设备)来主动发出命令,仆系统(永宏P L C)只有在收到命令信息后才根据该命令的要求响应信息给主系统,而不能主动发出信息给主系统,如下的关系图所示: 1.2永宏P L C通讯信息格式 永宏P L C的通讯信息格式无论是命令信息(主系统发出)或响应信息(仆系统发出)都可大概分为6个数据域位,如下图的范例: ①开头字符(S T X):A S C I I码的开始字符S T X的16进制码数为02H,无论命令或响应信息的开头字符都 为S T X,接收方以此来判断传输数据的开头。 ②仆站号码:为两位数的16进制数值,在永宏P L C通讯系统中的网络结构采用主仆系统在整个网络系统中, 只有一个主系统,但可以有254个仆系统,每个仆系统都有一个独一无二的站号,分别为1~F E H (站号0则当作对所有仆系统作广播下命令),当主系统都对仆系统下命令时是以站号来指定由 那个P L C,或所有P L C(广播时)来接收这个命令。在响应信息时,仆系统会将自己的站号响 应给主系统,以供主系统确认是它所指定的那个仆站(P L C)所送回的信息。 注:P L C的站号在出厂时都设为1(第1站),站号的更改设定必须通过F P-08C或Wi n P r o l a d d e r来执行。 ③命令号码:为两位数的16进制数值,所谓命令号码是由主系统要求仆系统所执行的动作类型,例如要求 读取或写入单点状态、填入或读取缓存器数据、强制设定、运转、停止…..等,和站号一样,在 响应信息时,仆系统也会将从主系统接收的命令号码原原本本地随同本文数据一块传回主系统。 ④本文资料:本文数据可为0(无文本资料)~500个A S C I I字符,在命令信息中此字段数据用来指定命令 所要运作或存取的对象(地址)或要写入的数值。在响应信息中本字段的开头为一个错误码字符, 在正常(没有错误)情况下此错误码必为字符0(30H),其后跟着的才是要响应给主系统的状态 或数值等本文数据。当有错误时,本开头字符不再是0,取而代之的是错误码,同时其后不再有 其它本文数据(即本文数据仅为一个字符的错误码),请参考第3节的说明。 ⑤校验码(C H E C K S U M):校验码是将前述c~f各字段的所有A S C I I字符的16进制数值以〝纵式余数查核 法〞L R C(L o n g i t u d i n a l R e d u n d a n c y C h e c k)计算产出一个B y t e长度(两个16进制 数值00~F F)的校验码。当接收端收到信息后按照同样的计算方法则将c~f字段的

Omron-Fins通讯协议

OMRON FINS 通讯 1. OMRON FINS 通讯 1.1 FINS 通讯概述 FINS(factory interface network service)通信协议是欧姆龙公司开发的用于工业自动化控制网络的指令/响应系统。运用 FINS 指令可实现各种网络间的无缝通信,通过编程发送FINS 指令,上位机或PLC 就能够读写另一个PLC 数据区的内容,甚至控制其运行状态,从而简化了用户程序。FINS 协议支持工业以太网,这就为OMRON PLC 与上位机以太网通信的实现提供了途径。 1.2 Fins 帧的结构 发送命令结构: 发送命令结构: 响应命令结构: 命令码: 01 01 读数据 01 02 写数据 结束码: 00 00 无错误,否则执行出错; 举例说明: 存储区代码(82代表D 区 80代表CIO 区) 当结束码不为00 00时,则代表执行错误,应重发当前帧。

2 FINS在以太网上的帧格式 Fins在以太网上帧格式比较简单,简单来说就是在上面所说的Fins帧的基础上加上以太网的包头就可以了。具体帧格式分为UDP/IP帧格式和TCP/IP帧格式。 2.1 FINS UDP/IP的帧格式 UDP/IP的帧格式:共10个字节,其名称如下: 其每个字节的具体解释如下: ICF:发送接收标志字节,发送报文:ICF=80HEX;响应报文:ICF=C0; RSV:固定为00HEX; GCT:固定为02HEX; DNA:目标网络号;本网络:00;远程网络:01-7F; DA1:目标节点号;对于以太网来说,即该网络IP地址最后一位的值; DA2:目标单元号;对于CPU来说,固定为00; SNA:源网络号;本网络:00; SA1:源节点号;IP地址最后一位的值; SA2:源单元号:可设置为与目标单元号相同; SID:服务ID,响应端将接收过来的SID复制后添加到响应帧中; 举例说明: PC IP地址:10.11.1.19 PLC IP地址:10.11.1.86 如果要请求DM10开始的10个字的内容 80 00 02 00 00 56 00 00 13 00 00 Data1—Data10

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主要用哪些通信协议 篇一:Fx系列plc编程口通信协议 三菱Fx系列plc编程口通信协议总览 三菱Fx系列plc编程口通信协议总览 该协议实际上适用于plc编程端口以及Fx-232aw模块的通信。 通讯格式: 说明: 1.帧中的bytes表示需要读取或者写入的字节数。 2.地址算法上有说明。 3.累加和是从stx后面一个字节开始累加到etx的和。 三菱Fx系列plc编程口通信源代码 fx_comm.h Fx系列plc四种通信模式的特性 首先讲讲Fx系列plc的通信方式。 Fx系列plc根据使用的通信模块与协议不同,分为以下四种通信模式: 1、plc的n:n通信方式

2、plc双机并联通信方式 3、plc与计算机专有协议通信方式(无须梯形图,电脑直接读写操纵plc) 4、plc与计算机无协议通信方式(梯形图Rs指令方式,可自定义通信协议) 以下将详细列出各通信模式的特性: n:n网络plc并联专用协议计算机连接无协议通信 传输标准Rs485Rs485/Rs422Rs485/Rs422或Rs232 传输距离500mRs485/Rs422:500mRs232:15m 连接数量8站1:11:n(n 通信方式半双工 Fx,Fx2c,Fxon:半双工Fx2n:全双工 数据长度固定7bit/8bit 校验无/奇/偶 停止位1bit/2bit 波特率 38400bps19200bps300/600/1200/2400/4800/9600/19200 头字符固定无/有效 尾字符 控制线------ 协议---格式1/格式4无 和校验固定无/有效 适用机型Fx2n,FxonFx2n,Fx,Fx2cFx2n,Fxon,Fx,Fx2c

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 -

西门子PLC自由通信协议

----在自由口模式下,通信协议是由用户定义的。用户可以用梯形图程序调用接收中断、发送中断、发送指令(XMT)、接受指令(RCV)来控制通信操作。在自由口模式下,通信协议完全由梯形图程序控制。 指令格式定义 计算机每次发送一个33字节长的指令来实现一次读/写操作,指令格式见表1 说明: 起始字符 ----起始字符标志着指令的开始,在本例中被定义为ASCII码的“g”,不同的PLC从站可以定义不同的起始字符以接收真对该PLC的指令。 指令类型 ----该字节用来标志指令的类型,在本例中05H代表读操作,06H代表写操作。 目标西门子PLC站地址 ----目标PLC站地址占用指令的B2、B3两个字节,以十六进制ASCII码的格式表示目标西门子PLC的站地址。 目标寄存器地址 ----在西门子PLC内部可以用4个字节来表示一个寄存器的地址(但不能表示一个位地址)。前两个字节表示寄存器类型,后两个字节表示寄存器号。 读/写字节数M ----当读西门子plc的命令时,始终读回从目标寄存器开始的连续8个字节的数据(转换为十六进制ASCII码后占用16个字节),可以根据自己的需要取用,M可以任意写入。 ----当写命令时,M表示的是要写入数据的十六进制ASCII码所占用的字节数。例如要写入1个字节的数据,数据在指令中以十六进制ASCII码表示,它将

占用2个字节,此时应向M中写入“02”。同理,如果要写入5个字节的数据,M中应写入“0A”。 要写入的数据 ----要写入西门子plc的数据在指令中以十六进制ASCII码的格式表示,占用指令的 B14-B29共16个字节。数据区必须填满,但只有前M个字节的数据会被写入目标寄存器。一条指令最多可以写入8个字节的数据(此时M中应写入“10”,代表十进制的16) 艾驰商城是国内最专业的MRO工业品网购平台,正品现货、优势价格、迅捷配送,是一站式采购的工业品商城!具有 10年工业用品电子商务领域研究,以强大的信息通道建设的优势,以及依托线下贸易交易市场在工业用品行业上游供应链的整合能力,为广大的用户提供了传感器、图尔克传感器、变频器、断路器、继电器、PLC、工控机、仪器仪表、气缸、五金工具、伺服电机、劳保用品等一系列自动化的工控产品。 如需进一步了解相关PLC产品的选型,报价,采购,参数,图片,批发等信息,请关注艾驰商城http://biz.doczj.com/doc/a97561126.html,。

Omron Fins通讯协议

OMRON FINS 通讯 1. OMRON FINS 通讯 1.1 FINS 通讯概述 FINS(factory interface network service)通信协议是欧姆龙公司开发的用于工业自动化控制网络的指令/响应系统。运用 FINS 指令可实现各种网络间的无缝通信,通过编程发送FINS 指令,上位机或PLC 就能够读写另一个PLC 数据区的内容,甚至控制其运行状态,从而简化了用户程序。FINS 协议支持工业以太网,这就为OMRON PLC 与上位机以太网通信的实现提供了途径。 1.2 Fins 帧的结构 发送命令结构: 发送命令结构: 响应命令结构: 命令码: 01 01 读数据 01 02 写数据

结束码:00 00 无错误,否则执行出错; 举例说明: 要读取DM10开始10个字的内容: 存储区代码(82代表D区80代表CIO区) 响应 当结束码不为00 00时,则代表执行错误,应重发当前帧。 2 FINS在以太网上的帧格式 Fins在以太网上帧格式比较简单,简单来说就是在上面所说的Fins帧的基础上加上以太网的包头就可以了。具体帧格式分为UDP/IP帧格式和TCP/IP帧格式。 2.1 FINS UDP/IP的帧格式 帧格式:UDP/IP帧+FINS命令帧 UDP/IP的帧格式:共10个字节,其名称如下:

其每个字节的具体解释如下: ICF:发送接收标志字节,发送报文:ICF=80HEX;响应报文:ICF=C0;RSV:固定为00HEX; GCT:固定为02HEX; DNA:目标网络号;本网络:00;远程网络:01-7F; DA1:目标节点号;对于以太网来说,即该网络IP地址最后一位的值;DA2:目标单元号;对于CPU来说,固定为00; SNA:源网络号;本网络:00; SA1:源节点号;IP地址最后一位的值; SA2:源单元号:可设置为与目标单元号相同; SID:服务ID,响应端将接收过来的SID复制后添加到响应帧中; 举例说明: PC IP地址:10.11.1.19 PLC IP地址:10.11.1.86 如果要请求DM10开始的10个字的内容 则PC发送命令如下: 源IP地址:PLC地址(IP地址最后位) 目标IP地址:通讯主机地址(IP地址最后位) 而PLC返回命令如下:

三菱plc,通讯协议

三菱plc,通讯协议 篇一:三菱PLC通讯协议 三菱PLC编程口通讯协议 一、三菱PLC编程口通讯协议 三菱PLC编程口的通讯协议比较简单,只有四个命令,即: 命令命令码目标设备 DEVICE READ CMD0X,Y,M,S,T,C,D DEVICE WRITE CMD 1X,Y,M,S,T,C,D FORCE ON CMD7 X,Y,M,S,T,C FORCE OFF CMD 8X,Y,M,S,T,C 五个标示: ENQ05H 请求 ACK06H PLC正确响应 NAK15H PLC错误响应 STX02H 报文开始 ETX03H 报文结束 使用累加方式的和校验,帧格式如下: STX CMD DATA ...... DATA ETX SUM(upper) 1 SUM(lower) 和校验: SUM= CMD+??+ETX。如SUM=73H,SUM=“73”。 1、DEVICE READ(读出软设备状态值)

计算机向PLC发送: 始命令首地址位数终和校验 STXCMD GROUP ADDRESS BYTESETX SUM PLC 返回 STX 1ST DATA 2ND DATA ..... LAST DATA ETX SUM 2、DEVICE WRITE(向PLC 软设备写入值) 计算机向PLC发送: 始命令首地址位数数据终和校验 PLC 返回 ACK (06H) 接受正确 NAK (15H) 接受错误 3、位设备强制置位/复位 FORCE ON 置位 始命令地址终和校验 STX CMD ADDRESSETXSUM 02h 37h address03hsum FORCE OFF 复位 始命令地址终和校验 2 STX CMD ADDRESSETXSUM 02h 38h address03hsum PLC 返回 ACK(06H) 接受正确 NAK(15H) 接受错误

相关主题