第九章PLC通信及网络技术qi课件_第1页
第九章PLC通信及网络技术qi课件_第2页
第九章PLC通信及网络技术qi课件_第3页
第九章PLC通信及网络技术qi课件_第4页
第九章PLC通信及网络技术qi课件_第5页
已阅读5页,还剩137页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第九章 PLC通信与网络技术 概述 FX系列PLC计算机链接通信协议 N:N链接与并行链接通信协议 无协议通信方式与RS通信指令 PC与PLC通信编程实例概述 计算机通信方式与传输速率并行通信与串行通信异步通信与同步通信单工与双工通信传输速率 串行通信接口标准RS-232CRS-422ARS-485计算机通信方式与传输速率 并行通信与串行通信 并行通信:是以字节或字为单位的数据传输方式,除8根或16根数据线、1根公共线外,还需通信双方联络用的控制线。 并行通信:传送速度快、传输线的根数多,抗干扰能力较差,一般用于近距离数据传送。如:PLC基本单元、扩展单元、特殊模块间的数据传送。 串行通信:是

2、以二进制的位为单位的数据传输方式,每次只传送一位、最少只需两根线(双绞线)就可连接多台设备,组成控制网络。 串行通信:需要的信号线少,适用于距离较远的场合。PC与PLC都有通用的串行通信接口,如:RS232C或RS-485接口,工业控制中计算机间的通信一般采用串行通信方式。计算机通信方式与传输速率 异步通信与同步通信在串行通信中,接收方和发送方应使用相同的传输速率。但在连续传送大量的信息时,会积累误差造成发送和接收的数据错位,使接收方收到错误的信息。所以,要使发送过程和接收过程同步。按同步方式不同,串行通信分为: 异步通信和同步通信。计算机通信方式与传输速率异步通信(如图) 异步通信字符信息格

3、式:发送的字符由一个起始位、78个数据位、1个奇偶校验位(可以没有)和停止位(1或2位)组成。 通信双方需对采用的信息格式和数据传输速率作相同的约定。 异步通信传送附加的非有效信息较多,传输效率较低,PLC一般使用异步通信。 奇偶校验位:用来检测接收到的数据是否出错。如:指定是奇校验,发送方发送的每个字符的数据位和奇偶校验位中“1”的个数为奇数,接收方对接收到的每个字符的奇偶性进行校验,可检验出传送过程中的错误。如:某字符包含8个数据位: 1 1 0 0 0 0 1 1 其中,“1”的个数是4个,如果选择奇校验,奇偶校验位将是1,使“1”的个数是5个;如果选择偶校验,奇偶校验位将是0,“1”的

4、个数仍是4个。如果选择不进行奇偶校验,传输时没有校验位,也不进行奇偶校验检测。 110110 起始位数据位奇偶校验位停止位图 异步通信的信息格式计算机通信方式与传输速率 同步通信 同步通信以字节为单位(一个字节由8位二进制数组成),每次传送12个同步字符、若干个数字字节和校验字符。 同步字符起联络作用,通知接收方开始接收数据。 在同步通信中,发送方和接收方要保持完全的同步,意味着发送方和接收方应使用同一时钟脉冲。也可能通过调制解调方式在数据流中提取出同步信号,使接收方得到与发送方同步的接收时钟信号。 同步通信方式不需要在每个数据字符中增加起始位、停止位和奇偶校验位,只需在要发送数据块之前加一两

5、个同步字符,所以传输效率高,但对硬件的要求较高。计算机通信方式与传输速率 单工与双工通信 单工通信方式只能沿单一方向传输数据。 双工通信方式的信息可沿两个方向传送这,每个站既可发送数据,也可接收数据。双工方式又分为: 全双工和半双工。 全双工方式中数据的发送和接收分别由两根或两组不同的数据线传送,通信双方都能在同一时刻接收和发送信息。 半双工方式用同一组线接收和发送数据,通信的双方在同一时刻只能发送数据或只能接收数据。甲站乙站发送接收接收发送图 全双工方式甲站乙站发送接收接收发送换向换向图 半双工方式计算机通信方式与传输速率 传输速率 在串行通信中,传输速率(或称波特率)的单位是波特,即每秒传

6、送的二进制位数,符号为bit/s。 常用的标准传输速率为:30038 400 bit/s等。 不同的串行通信网络的传输速率差别极大,有的只有数百bit/s,高速串行通信网络的传输速率可达1 000M(1G)bit/s.串行通信接口标准 RS-232C RS-232C是美国EIC(电子工业联合会)在1969年公布的通信协议,该协议对串行通信接口有关问题,如:各信号线的功能和电气特性等作了明确规定。 RS-232C使用9针(用得较多)和25针DB型连接器。 RS-232C采用负逻辑,用-15V-5V表示逻辑状态“1”,用+5V+15V表示逻辑状态“0”; 最大通信距离为15m,最高传输速率为20k

7、bit/s,只能进行一对一的通信。计 TD 算 RD机 GNDTDRDPLCGND图 RS-232的信号线连接当通信距离较近时,通信双方可直接连接,最简单的情况在通信中不需要控制联络信号,只需三根线(发送线、接收线、信号线)(如图)RS-232使用单端驱动、单端接收电路,是一种共地的传输方式,容易受到公共地线上的电位差和外部引入的干扰信号的影响。图 单驱动单端接收串行通信接口标准 RS-422A RS422A采用平衡驱动、差分接收电路(如图),从根本上取消了信号地线。 平衡驱动器相当于两个单端驱动器,其输入信号相同,两个输出信号互为反相信号。 外部输入的干扰信号是以共模方式出现,两根传输线上的

8、共模干扰信号相同,因接收器是差分输入,共模信号互相抵消。 只要接收器有足够的抗共模干扰能力,就能从干扰信号中识别出驱动器输出的有用信号,从而克服外部干扰的影响。图 平衡驱动差分接收 RS-422A在最大传输速率(10Mbit/s)时,允许的最大通信距离为12m,传输速率为100kbit/s时,最大通信距离为1 200m,一台驱动器可连接10台接收器。 如图,RS-422A的通信接线图。TXDRXDRXDTXD图 RS-422A通信接线图串行通信接口标准 RS-485 RS-485是RS-422A的变形,RS-422A为全双工,两对平衡差分信号线分别用于发送和接收。 RS-485是半双工,只有一

9、对平衡差分信号线,不能同时发送和接收。 使用RS-485通信接口和双绞线可组成串行通信网络(如图),构成分布式系统,系统中最多可有32个站,新的接口器件已允许连接128个站。图 RS-485网络TXDRXDRXDTXD应用层表示层会话层传送层网络层数据链路层物理层应用层表示层会话层传送层网络层数据链路层物理层 用户用户物理媒体7654321计算机通信的国际标准 国际标准化组织(ISO)提出了开放系统互联模型(OSI),作为通信网络国际标准化参考模型,它描述了软件功能的7个层次:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。图 开放系统互连模型计算机通信的国际标准1、物理层 物理层

10、为用户提供建立、保持和断开物理连接的功能,如:RS232C、RS-422A和RS-485等就是物理层标准的例子。物理层下面是物理媒体,如:双绞线、同轴电缆等。2、数据链路层 数据链路层负责在两个相邻节点间的链路上,实现差错控制、数据成帧、同步控制等。数据以帧(Frame)为单位传送,每一帧包含一定数量的数据和必要的控制信息,如同步信息、地址信息、差错控制和流量控制信息。3、网络层 主要功能是报文的分段、报文包阻塞的处理和通信子网中路径的选择。计算机通信的国际标准4、传输层 传输层的信息传送单位是报文(Message),它的主要功能是流量控制、差错控制、连接支持,传输层向上一层提供一个可靠的端到

11、端(end-to-end)的数据传送服务。5、会话层 会话层的功能是支持通信管理和实现最终用户应用进程之间的同步,按正确的顺序收发数据,进行各种对话。6、表示层 表示层用于应用层信息内容的形式变换,如:数据加密/解密、信息压缩/解压和数据兼容,把应用层提供的信息变成能够共同理解的形式。7、应用层 应用层作为OSI的最高层,为用户的应用服务提供信息交换,为应用接口提供操作标准。NOTE:不是所有的通信协议都需OSI模型中的全部7层。有的现场总线通信协议只有7层协议中的第1、2、7层。计算机通信的国际标准IEEE802通信标准 IEEE802委员会,1982年颁布了IEEE802标准(计算机局域网

12、分层通信协议标准草案)。它把OSI参考模型的底部两层分解为:逻辑链路控制层(LLC)、媒体访问层(MAC)和物理传输层。 前两层对应于OSI模型中的数据链路层,数据链路层是一条链路(Link)两端的两台设备进行通信时所共同遵守的规则和约定。 IEEE802的媒体访问控制层对应于三种已建立的标准,即带冲突检测的载波侦听多路访问(CSMA/CD)协议、令牌总线(Token Bus)和令牌环(Token Ring)。计算机通信的国际标准1、CSMA/CD CSMA/CD通信协议的基础是XEROX公司研制的以太网(Ethernet),各站共享一条广播式的传输总线,每个站都是平等的,采用竞争方式发送信息

13、到传输线上,即任何一个站都可以随时广播报文,并为其他各站接收。 当某站识别到报文上的接收站名与本站的站名相同时,便将报文接收下来。 由于没有专门的控制站,两个或多个站可能因同时发送信息而发生冲突,造成报文作废,因此,必须采取措施防止冲突: 发送站在发送报文前,先监听一下总线是否空闲,如果空闲,则发送报文到总线上,-“先听后讲”。但是,从组织报文到报文在总线上传输需一段时间,在这段时间内,另一个站通过监听也可能认为总线空闲并发送报文到总线上,造成两个站同时发送而发生冲突。计算机通信的国际标准1、CSMA/CD(带冲突检测的载波侦听多路访问技术) 两种防止冲突的措施: 一种措施是CSMA/CD,即

14、把“先听后讲”和“边听边讲”相结合, “边听边讲”是指在发送报文开始的一段时间,仍然监听总线,采用边发送边接收的办法,把接收到的信息和自己发送的信息相比较,若相同则继续发送。 另一种措施是:准备发送报文的站先监听一段时间(约是总线传输延时的2倍),如果在这段时间中总线一直空闲,则开始作发送准备,准备完毕,真正要将报文发送到总线前,再对总线作一次短暂的检测,若仍为空闲,则正式开始发送;若不空闲,则延时一段时间后再重复上述二次检测过程。 CSMA/CD允许各站平等竞争,实时性好,适合于工业自动控制计算机网络。计算机通信的国际标准2、令牌总线 IEEE802标准中的工厂媒质访问技术是令牌总线,其编号

15、为802.4。 令牌总线中,媒体访问控制是通过传递一种称为令牌的特殊标志来实现的。按照逻辑顺序,令牌从一个装置传递到另一个装置,传递到最后一个装置后,再传递给第一个装置,周而复始,形成一个逻辑环。 令牌有“空”“忙”两个状态,令牌网开始运行时,由指定站产生一个空令牌沿逻辑环传送。任何一个要发送信息的站都要等到令牌传给自己,判断为空令牌时才发送信息。 发送站首先把令牌置成“忙”,并写入要传送的信息、发送站名和接收站名,然后将载有信息的令牌送入环网传输。 令牌沿环网循环一周后返回发送站,信息已被接收站复制,发送站将令牌置为“空”,送上环网继续发送,以供其他站使用。 如果传送过程中令牌丢失,由监控站

16、向网内注入一个新的令牌。 令牌传递式总线能在很重的负荷下提供实时同步操作,传送效率高,适于频繁、较短的数据发送。是最适合于需进行实时通信的工业控制网络系统。计算机通信的国际标准3、令牌环 令牌环媒质访问方案是IBM开发的,它在IEEE802标准中编号为802.5,有些类似于令牌总线。 在令牌环上,最多只能有一个令牌环绕环运动,不允许两个站同时发送数据。 令牌环从本质上看是一种集控制式的环,环上必须有一个中心控制站负责网的工作状态的检测和管理。计算机链接通信协议 FX系列的计算机链接(Computer Link)通信协议:用于一台PC与116台PLC的通信,由PC发出读写PLC中的数据的命令报文

17、,PLC收到后返回响应报文。1、串行通信的参数设置(PLC)(1)串行通信格式(D8120)b15b14b13b12b10b9b8b7b4b3b2,b1b0传输控制协议校验和控制线结束符起始符传输速率停止位奇偶校验数据长度计算机链接通信协议 b0=0时,数据长度为7位,b0=1时,为8位。 b2,b1=00时,无奇偶校验位,不校验; b2,b1=01时为奇校验, b2,b1=11时为偶校验。 b3=0时,1个停止位,b3=1时,2个停止位。 b7b4=00111001:传输速率分别为300、600、1200、2400、4800、9600、19200bit/s。 b8=0时,无起始字符, b8=

18、1时,起始字符在D8124中,默认值为STX(02H)。 b9=0时,无结束字符, b9=1时,结束字符在D8125中,默认值为EXT(03H)。计算机链接通信协议 b12b10为控制线。b12b10无协议通信计算机链接000001010011101未用控制线,RS-232C接口终端方式, RS-232C接口互锁方式, RS-232C接口正常方式1, RS-232C,RS-485(422)接口正常方式2, RS-232C接口(仅对FX和FX2C)RS-485(422)-RS-232C-b13=1时,自动加上校验和, b13=0时,无校验和。b14=1时,为专用通信协议, b14=0时,为无协议

19、通信。b15=1时,为控制协议格式4, b15=0时,为控制协议格式1。两种格式的差别仅在报文结束时,格式4有回车(CR)和换行符(LF),它们的值分别为0DH和0AH。NOTE:计算机链接方式下,b8,b9一定要设置为0,在无协议通信方式下,b13b15一定要设置为0。计算机链接通信协议例1:对通信格式要求如下:数据长度为8位,偶校验,1个停止位,传输速率为19 200bit/s,无起始位和结束位,无校验和,计算机链接协议, RS-232C接口,控制协议格式1(帧结束时无回车换行符)。对照串行通信格式,可以确定:D8120的 二进制为0100 1000 1001 0111, 对应的 十六进制

20、为4897H。Note: D8120中的参数设置好后,需关闭PLC电源,然后重新接通电源,才能使设置生效。2、通信用的特殊辅助继电器与特殊数据寄存器特殊辅助继电器功能描述特殊数据寄存器功能描述M8121数据发送延时(RS命令)D8120通信格式(RS命令、计算机链接)M8122数据发送标志(RS命令)D8121站号设置(计算机链接)M8123接收结束标志(RS命令)D8122未发送数据数(RS命令)M8124载波检测标志(RS命令)D8123接收的数据数(RS命令)M8126全局标志(计算机链接)D8124起始字符(初始值为STX, RS命令)M8127请求式握手标志(计算机链接)D8125结

21、束字符(初始值为ETX, RS命令)M8128请求式出错标志(计算机链接)D8127请求式起始元件号寄存器(计算机链接)M8129请求式字/字节转换(计算机链接)超时判断标志(RS命令)D8128请求式数据长度寄存器(计算机链接)M81618/16位转换标志(RS命令)D8129数据网络的超时定时器设定值(RS命令和计算机链接,单位为10ms,为0时表示100ms)计算机链接通信协议3、计算机链接的控制代码信号代码功能描述信号代码功能描述STX02H文本开始LF0AH换行ETX03H文本结束CL0CH清除EOT04H发送结束CR0DH回车ENQ05H请求NAK15H不能确认ACK06H确认计算

22、机链接通信协议 以下几种情况,PLC将会初始化传输过程:(1)电源接通;(2)数据通信正常完成;(3)接收到发送结束信号(EOT)或清除信号(CL);(4)接收到控制代码NAK;(5)计算机发送命令报文后超过了超时检测时间。 计算机使用RS-485接口时,在发出命令报文后如果没有信号从PLC传输到计算机接口,就会在计算机上产生帧错误信号,直到接收到来自在PLC的文本开始(STX),确认(ACK)和不能确认(NAK)信号之中的任何一个为止。 检测到通信错误时,PLC向计算机发送不能确认(NAK)信号。 用计算机链接协议从计算机向PLC发送的命令执行完后,必须相隔约两个PLC扫描周期,计算机才能再

23、次发送命令。计算机链接通信协议3、计算机与PLC间的链接数据流有三种形式:计算机从PLC中读数据;计算机向PLC写数据;PLC向计算机写数据(1)计算机读PLC的数据:计算机从PLC中读数据的过程分3步:一、计算机向PLC发送读数据命令;二、PLC接收到命令后,执行相应的操作,将计算机要读取的数据发送给它;三、计算机在接收到相应数据后,向PLC发送确认响应,表示数据已接收到。计算机链接通信协议(2) 计算机向PLC写数据分两步:一、计算机先向PLC发送写数据命令。二、PLC接收到写数据命令后,执行相应的操作,执行完成后向计算机发送确认信号,表示写数据操作已完成。(3) PLC向计算机写数据PL

24、C直接向上位计算机发送数据,计算机收到后进行相应的处理,不会向PLC发送确认信号。计算机链接通信协议4、计算机链接控制协议的基本格式(计算机-plc)(1)数据传输的基本格式控制代码PLC站号PLC标识号命令报文等待时间数据字符校验和代码控制代码CR/LF通过特殊数据寄存器D8120的b15位(传输控制位),可选择计算机链接协议的两种格式(格式1和格式4),只有在选择控制协议格式4时PLC才在报文 末尾加上控制代码CR/LF(回车、换行符)。只有当数据寄存器D8120的b13位置为1时,PLC才会在报文中加上校验和代码。计算机链接通信协议(2)计算机读取PLC数据的数据传输格式以上是控制协议格

25、式4,若选择控制协议格式1,不加最后的CR(回车)和LF(换行)代码。计算机链接通信协议A、C两部分是计算机发送数据到PLC;B部分是PLC发送数据给计算机。A区是计算机向PLC发送的读数据命令报文,以控制代码ENQ(请求)开始,后面是计算机要发送的数据,数据按从左至右的顺序发送。PLC接收到计算机的命令后,向计算机发送计算机要求读取的数据,读报文以控制代码STX开始。(如B区所示)。计算机接收到从PLC中读取的数据后,向PLC发送确认报文,该报文以ACK开始,表示数据已收到。(如C区所示)。计算机向PLC发送读数据的命令有错误时(如:命令格式不正确或PLC站号不符等),或在通信过程中产生错误

26、,PLC将向计算机发送有错误代码的报文。如B区以NAK开始的报文,通过错误代码告诉计算机产生通信错误可能的原因。计算机接收到PLC发来的有错误的报文时,向PLC发送无法确认的报文,如C区以NAK开始的报文。计算机链接通信协议(3)计算机向PLC写数据的数据传输格式计算机链接通信协议 计算机向PLC写数据的数据传输格式只包括A、B两部分。 计算机先向PLC发送写数据命令报文(如A部分),PLC收到计算机的命令后,执行相应的操作,然后向计算机发送确认报文(如B部分以ACK开头的报文),表示写操作已执行。 与读数据命令相同,若计算机发送的写命令有错误或者在通信过程中出现错误,PLC将向计算机发送如B

27、部分中以NAK开头的报文,通过错误代码告诉计算机产生通信错误的原因。计算机链接通信协议5、控制协议各组成部分的说明控制代码PLC站号PLC标识号命令报文等待时间数据字符校验和代码控制代码CR/LF 控制代码 PLC接收到单独的控制代码EOT(发送结束)和CL(清除)时,通过初始化传输过程,此时PLC不会作出响应。 (2)工作站号 工作站号决定计算机访问哪一台PLC,同一网络中各PLC的站号不能重复,否则将会出错。但不要求网络中各站的站号是连续的数字。计算机链接通信协议 FX系列中用特殊数据寄存器D8121来设定站号,设定范围为00H0FH。 编程示例: 将PLC设为第0号站: LD M8002

28、 MOV H0 D8121计算机链接通信协议(3) PLC标识号 PLC标识号用于识别三菱A系列PLC的MELSECNET()或MELSECNET/B网络中的CPU,用两个ASCII字符来表示。 FX系列PLC的标识号用十六进制FF对应的两个ASCII字符46H、46H来表示。(4)计算机链接的命令命令描述FX0NFX1SFX2NFX2NCFX1NBR以点为单位读位元件(X、Y、M、S、T、C)组54点256点WR以16点为单位读位元件组或读字元件组13字,208点32字,512点BW以点为单位写位元件(Y、M、S、T、C)组46点160点WW以16点为单位写位元件组10字/160点10字/1

29、60点以字元件为单位,向D、T、C写入数据11点64点BT对多个位元件分别置位/复位(强制ON/OFF)10点20点WT以16点为单位对位元件置位/复位(强制ON/OFF)6字/96点10字/160点以字元件为单位,向D、T、C写入数据6字10字RR远程控制PLC起动-RS远程控制PLC停机PC读PLC的型号代码GW置位/复位所有连接的PLC的全局标志1点1点-PLC发送请求式报文,无命令,只能用于1对1系统最多13字最多64字TT返回式测试功能,字符从计算机发出,又直接返回到计算机25个字符254个字符计算机链接通信协议(5)报文等待时间 报文等待时间是用来决定当PLC接收到计算机发送来的数

30、据后,需等待的最少时间,然后向计算机发送数据。 报文等待时间以10ms为单位,可以在0150ms间设置,用ASCII码表示,即报文等待时间在十六进制数0F间选择。 在1:N系统中使用485PC-IF时,一般设置为70ms 或更长。 若网络中PLC扫描时间大于等于70ms,应设为最大扫描时间或更长。如当报文等待时间的值为十六进制数“A”时,那从PLC发送出数据就会在100ms或更长时间后才开始。从PLC发送完数据到接收计算机返回的确认报文间的等待时间,必须大于PLC的两个扫描周期。计算机链接通信协议(6)数据字符 数据字符即所需发送的数据信息,其字符由实际情况决定。如:读命令中的数据字符包括需要

31、读取数据信息的存储器首地址和要读取数据的位数或字数。PLC返回的报文数据区中则是要读取的数据。(7)校验和代码 校验和代码用来校验接收到的信息中数据是否正确。将报文的第一个控制代码与校验和代码间所有字符的十六进制数形式的ASCII码求和,把和的最低两位十六进制数作为校验和代码,并以ASCII码形式放在报文的末尾。 D8120的b13=1时,要求有校验和代码; D8120的b13=0时,发送的报文不附加校验和,接收方也不检查校验和。计算机链接通信协议(8)控制代码CR/LF 特殊数据寄存器D8120的b15位被设置为1时,选择控制协议格式4,PLC会在它发出报文的最后面自动加上回车和换行符,即控

32、制代码CR/LF,对应的十六进制数为ODH、OAH。计算机链接通信协议6、计算机链接通信的错误诊断(1)NAK(无法确认)的错误代码(2)PLC错误代码(3)错误诊断(4)超时检测时间(1)NAK(无法确认)的错误代码 在通信错误时,无法确认(NAK)响应报文中的错误代码说明发生了哪种错误,它是以两位十六进制数对应的ASCII码形式传送的。 如有两种或两种以上的错误同时发生,只传送编号较小的错误代码。错误代码错误描述02H校验和错误03H协议错误(通信协议与D8120设定的格式不一致)06H字符区错误(字符区定义不正确或指定的命令不能用)07H字符错误(写入元件的数据应是ASCII码而不是十六

33、进制数)10HPLC标识号错误(PLC标识号没有设置为“FFH”或对于该站不能用)18H远程错误(远程起动/远程停止被禁止)(2)PLC错误代码FX系列人PLC的下述错误不是用NAK报文来发送出去,而是在PLC内,令特殊辅助继电器M8063为ON,并将错误代码储存在特殊辅助寄存器D8063中。由于PLC没有发送这些错误,需在计算机上编程,通过看门狗或其他监视定时器来识别错误。D8063中的错误代码错误描述6301奇偶校验错误,超时或帧结构错误6305PLC的站号设为“FF”时,接收到的命令不是全局功能命令6306监视定时器动作(接收的报文不完整)(3)错误诊断检查每个通道单元上的RD(RXD)

34、LED(接收指示灯)和TD(TXD)LED(发送指示灯)的状态,若两个指示灯都闪动,表示没有错误。只是RD(RXD)LED闪动, TD(TXD)LED一直不亮,检查PLC的站号和信号速率的设置。若 RD(RXD)LED未闪动,检查接线,确认与PLC的连接是否可靠。确认通信是否正常。如果不正常,改正计算机的通信设置。根据NAK错误代码和PLC错误代码检查错误的类型。(4)超时检测时间 超时检测时间被定义为从计算机发送报文开始,因发送失败中止接收PLC的返回报文的时间,发送过程被初始化。 用D8129来设置超时检测时间,单位为10ms。计算机链接通信协议应用实例1、项目:某水力发电厂的弧形闸门开度

35、测控系统采用分布式结构,分为主控级和现地级。电厂的水情监控系统的计算机为主控级,用于对各闸门和上游水位的监控。以3台FX1N-60MT PLC为核心的闸门开度测量仪为现地级,用来实现闸门的数据采集、运算、控制和通信等功能,计算机与各PLC间用RS-485网络连接(如图)。闸门开度用绝对旋转编码器来检测,编码器的输出为二进制循环码(格雷码)。允许用户将编码器安装在任意位置,包括编码器的实际使用范围跨越其零点的情况。系统刚安装好或改变了编码器的安装位置后,需设置测量值的偏移量。可在闸门任意位置设置偏移量,设置时只需输入当时闸门的实际开度(cm)就可以了。通信模块选择: FX系列用于RS-485通信

36、功能扩展板FX1N-485-BD的价格便宜,可安装在PLC内,但传输距离仅为50m。 FX-485ADP是RS-485光隔离型通信适配器,最大传输速率为19 200bit/s,传输距离为500m。Note:本例中,PLC与主控计算机间距离大于200m,所以选择FX1N-485ADP作为PLC的通信接口,此外需配备用于连接PLC和FX1N-485ADP的FX1N-CNV-BD适配器板。 另选RS-232C/RS-485变换器FX-485PC-IF用于连接上位计算机与现地级PLC间的RS-485网络, FX-485PC-IF应放置在靠近计算机的地方。 PLC间、PLC与PC 间的通信接口均有光隔离

37、器。 FX1N-485ADP 和FX-485PC-IF的SDA和SDB是数据发送端,RDA和RDB是数据接收端。 如果用两对双绞线来连接这4个端子,可组成全双工RS-422接口。 如果只需一对双绞线的RS-485网络,需将每一台的SDA和RDA连在一起,SDB和RDB连在一起,再按图示方式接线。 距离计算机最远的RS-485ADP和FX-485PC-IF的RAD和RDB端子间,应接上110的终端电阻。 FX-485PC-IF的RS-232C接口采用25针DB型连接器,计算机的RS-232C接口采用9针DB型连接器,Link SG为信号地端子。2、通信程序设计:(1)计算机与PLC通信采用计算机

38、链接通信协议,通信为主从方式,计算机为主机,每隔500ms向一台PLC发送命令报文,请求读取该PLC的字元件D50D52,PLC根据命令报文中的站号判断是否是发给本站。是,则自动生成发给计算机的响应报文。计算机读完3台PLC的数据后,又开始读第一台的。通过通信,PLC向计算机传送3台弧开闸门的有关信息。计算机链接通信协议应用实例计算机链接通信协议应用实例(2)通信参数设置: 数据长度为8位,无奇偶校验,1位停止位,传输速率9 600bit/s,控制线b10b12=000(RS-485接口),自动加上校验和,专用通信协议,传输控制协议格式4。则 D8120的二进制值为1100 0000 1000

39、 0001,对应的十六进制数为E081H。13号弧形闸门开度测量仪的PLC在网络中的站号分别为13号站,2号站的通信初始化程序如下: LD M8002 MOV HE081 D8120 / 通信参数设置 MOV K2 D8121 / PLC的站号为2 MOV K0 D8129 / 超时检测时间为100ms计算机链接通信协议应用实例 要求PLC上传闸门的当前开度值、开度测量仪工作是否正常和编码器输出是否有突变,各变量的元件号和变量的定义如下: D50:闸门开度测量值(十六进制数,单位为cm); D51=0:闸门开度测量仪工作正常,=1:不正常; D52=0:闸门开度测量仪输出无突变,=1:有突变。

40、 处理字元件时,每个字用4位十六进制数字来表示,从高位十六进制数开始,每个十六进制数用对应的ASCII码来表示。计算机发出的命令报文格式如:名称控制代码站号PLC标识号命令等待时间 起始元件号元件个数校验和结束符字符ENQ01FFWRAD00500343CR/LF计算机链接通信协议应用实例 设D50D52中的十六进制数分别为0123H、0000和0000,PLC正确地接收数据后返回的报文为:名称控制代码站号标识号D50值D51值D52值控制代码校验和结束符字符STX01FF012300000000ETX36CR/LF计算机链接通信协议中的命令l 以下介绍的例子均采用协议格式1,若采用协议格式4

41、,报文末尾增加CR、LF(0DH、0EH,即回车、换行符)。报文中的ASCII码均用十六进制数(以H结束)的形式表示。l 计算机与PLC应设置相同的通信参数。l 使用计算机链接通信协议时,需在PLC的初始化程序中用D8120设置PLC的串行通信参数,用D8121设置PLC的站地址,用D8129设置超时检测时间。计算机链接通信协议中的命令1、计算机读写PLC编程元件的命令(1)读取位元件组数据的命令; (2)向位元件组写入数据的命令(3)读取字元件组数据的命令; (4)向字元件组写入数据的命令2、编程元件测试命令(1)位元件测试命令;(2)字元件测试命令3、请求式功能(1)请求式功能中使用的专用

42、数据寄存器和辅助继电器(2)PLC一侧的请求式功能的控制协议(3)计算机一侧的请求式功能的控制协议(4)请求式功能的时序(5)请求式功能的技术规范和例子4、其他命令:RR、RS、PC、TT、GW计算机链接通信协议中的命令1、读取位元件组数据的命令位元件:X、Y、M、S,位元件读命令(BR)执行过程如下:(1)计算机向PLC发送读命令计算机首先向2号站PLC发送BR命令,等待时间为30ms,请求读取X4X7的状态:名称控制代码站号标识号命令等待时间起始元件号元件个数校验和字符ENQ02FFBR3X0040435ASCII05H30H32H46H46H42H52H33H58H30H30H30H34

43、H30H34H33H35H计算机链接通信协议中的命令(2)PLC返回读取的数据设X5和X6为ON,X4和X7为OFF,PLC正确地接收到命令后,返回的报文:名称控制代码站号标识号X4X7的值控制代码校验和字符STX02FF0110ETXB3ASCII02H30H32H46H46H30H31H31H30H03H42H33H名称控制代码站号标识号错误代码字符NAK02FF02HASCII15H30H32H46H46H30H32HPLC检测到有校验和错误时返回的数据为:错误代码的具体意义:计算机链接通信协议中的命令(3)计算机发送确认报文计算机正确地接收到要读取的数据后,向PLC发送确认报文:名称控

44、制代码站号标识号字符ACK02FFASCII06H30H32H46H46H名称控制代码站号标识号字符NAK02FFASCII15H30H32H46H46H如果计算机检测到通信错误,向PLC发送的报文是:计算机链接通信协议中的命令2、向位元件组写入数据的命令位元件组写入命令(BW)用于对允许范围内若干个连续的位元件进行写操作。(1)计算机向PLC发送写入命令计算机首先向2号站PLC发送下面的报文,请求分别向Y0Y3写入二进制数据0110:名称控制代码站号标识号命令等待时间起始元件号元件个数写入的值校验和字符ENQ02FFBW0Y000040110F6ASCII05H30H32H46H46H42H

45、57H30H59H30H30H30H30H30H34H30H31H31H30H46H36H计算机链接通信协议中的命令(2)PLC返回确认信息PLC正确地接收到数据后,返回计算机的报文为:名称控制代码站号标识号字符ACK02FFASCII06H30H32H46H46H名称控制代码站号标识号错误代码字符NAK02FF06HASCII15H30H32H46H46H30H36HPLC检测到通信错误时(设错误代码为06)返回的报文为:计算机链接通信协议中的命令3、读取字元件组数据的命令(1)用WR命令读取字元件组PLC字元件包括T、C、D。起始元件号用5位字符表示,如D0001。FX系列的T、C的个数均

46、不超过256个。因此规定它们的起始元件号的第二位用N表示,如TN002或CN100。计算机首先向PLC发送如下报文,请求读取PLC字元件D1、D2。名称控制代码站号标识号命令等待时间起始元件号元件个数校验和字符ENQ02FFWR3D00010231ASCII05H30H32H46H46H57H 52H33H44H30H30H30H31H30H32H33H31H计算机链接通信协议中的命令假设D1和D2中的数据为1234H和ACD7H,PLC正确地接收到数据后返回的报文为:名称控制代码站号标识号D1的值 D2的值控制代码校验和字符STX02FF1234ACD7ETXBAASCII02H30H32H

47、46H46H31H32H33H34H41H43H44H37H03H42H41H读取的每个十六进制数用4个字符表示。计算机正确地接收到数据后,向PLC发送以ACK开始的确认报文,如果检测到通信错误,向PLC发送以NAK开始的报文。计算机链接通信协议中的命令(2)用WR命令读取位元件组的命令 WR命令也可以用来读取16点一组的位元件组,所读取的各组数据按地址递增的顺序从左到右排列。每一组16个位元件的ON/OFF状态用4位十六进制数来表示,每一组中最低位数在该组数据的最右边,每位十六进制数用对应的ASCII码来表示。 计算机首先向2号站PLC发送下面的报文,请求读取X0X37这32点的状态:名称控

48、制代码站号标识号命令等待时间起始元件号元件个数校验和字符ENQ02FFWR3X00000244ASCII05H30H32H46H46H57H 52H33H58H30H30H30H30H30H32H34H34H计算机链接通信协议中的命令假设PLC收到后返回的报文为:名称控制代码站号标识号X0X37的值 控制代码校验和字符STX02FF6000 00ABETX9AASCII02H30H32H46H46H36H30H30H30H30H30H41H42H03H39H41H其中,X0X37这32点每点对应的状态为:字符600000ABASCII011000000000000000000000101010

49、11元件X17X14X13X10X7 X4X3 X0X37X34X33X30X27X24X23X20计算机正确地接收到数据后,向PLC发送以ACK开始的确认报文,如果检测到通信错误,向PLC发送以NAK开始的报文。计算机链接通信协议中的命令4、向字元件组写入数据的命令(1)用WW命令向PLC的字元件组写入数据计算机向2号站PLC发送下面的报文,请求分别向PLC的字元件D1和D2写入十六进制数据1234H和ACD7H。名称控制代码站号标识号命令等待时间起始元件元件个数D1的值 D2的值校验和字符ENQ02FFWW3D0001021234ACD7FFPLC正确地接收到数据后,向计算机发送以ACK开

50、始的确认报文,如果检测到通信错误,向计算机发送以NAK开始、包含错误代码的报文。计算机链接通信协议中的命令(2)用WW命令向PLC的位元件组写入数据 WW命令也可以用来向16点一组的位元件组写入数据,每一组位元件中的数据用4位十六进制数来表示。 计算机向2号站PLC发送如下报文,请求向Y0Y17这16个位元件写入数据AB96H:名称控制代码站号标识号命令等待时间起始元件号元件组数写入的值校验和字符ENQ02FFWW0Y00001AB9638计算机链接通信协议中的命令 报告命令后Y0Y17这16点每点对应的状态为:十六进制数AB96二进制数1010101110010110元件Y17Y14Y13Y

51、10Y7Y4Y3Y0如果写入多个字的位元件,在报文中起始字(元件号最低)的值放在要写入的字的最前面。PLC正确地接收到数据后,向计算机发送以ACK开始的确认报文,如果检测到通信错误,向计算机发送以NAK开始、包含错误代码的报文。计算机链接通信协议中的命令2、编程元件测试命令(1)位元件测试命令 位元件测试命令(BT)用于对多个位元件同时强制置位(ON)或复位(OFF);位元件测试命令包括位元件的个数(2位十六进制字符),要测试的位元件的地址(5个字符)及置位或复位标志(1:置位,0:复位)。每个要测试的位元件的地址后面紧跟着对应的置位或复位标志。 计算机发送如下报文,强制2号站PLC的M50和

52、Y1为ON:名称控制代码站号标识号命令等待时间元件个数M50置位/复位Y1置位/复位校验和字符ENQ02FFBT302M00501Y00011A7PLC正确接收到数据后,向计算机发送以ACK开始的确认报文,如果检测到通信错误,向计算机发送以NAK开始,包含错误代码的报文。计算机链接通信协议中的命令2、字元件测试命令 字元件测试命令用于对多个字元件或连续的位元件(以16位为单位)同时进行强制写入数据的操作。字元件测试命令的格式与位元件测试命令的基本相同,命令中包括字元件的个数(2位十六进制字符),被测试元件的元件号(5位字符)和待写入的预置值,每个字由4位十六进制数组成。定时器和计数器分别用TN

53、和CN来表示,该命令不能处理32位计数器CN200CN255。 计算机发出如下报文,将2号站PLC的D500强制为1234H,Y0Y17强制为BCA9H:名称控制代码站号标识号命令等待时间元件个数1号字元件预置值2号字元件预置值校验和字符ENQ02FFWT302D05001234Y0000BCA919计算机链接通信协议中的命令强制后,Y0Y17这16点每点的状态为:十六进制数BCA9二进制数1011110010101001元件Y17Y16Y15Y14Y13Y12Y11Y10Y7Y6Y5Y4Y3Y2Y1Y0PLC正确地接收到数据后,向计算机发送以ACK开始的确认报文,如果检测到通信错误,向计算机

54、发送以NAK开始,包含错误代码的报文。计算机链接通信协议中的命令3、请求式功能计算机与PLC间的数据传输通常只是由计算机进行初始化。如果PLC需主动向计算机发送数据,如需及时上传事故信息,可使用请求式(On-demand)功能。该功能仅适用于计算机与PLC为1对1的配置,最多可传送64个字。请求式握手标志M8127在PLC向计算机开始传送数据时变为ON,在指定数据传送结束时变为OFF。由于采用了互锁机制,多条请求式命令不会同时被发送出去。计算机链接通信协议中的命令(1)请求式功能中使用的专用数据寄存器和辅助继电器元件名称描述M8127请求式握手标志在执行请求式功能时ON,发送请求式数据;OFF

55、表示请求式数据发送完毕。M8128请求式出错标志请求式功能数据传送的设定值出错时ON;OFF表示无错误。M8129字/字节数据格式标志ON:字节格式(每个数据寄存器为8位);OFF:字格式(每个数据寄存器为16位)。D8127请求式首元件寄存器存储要传送的数据的数据区首元件号的寄存器,由PLC程序设置。D8128请求式数据长度寄存器存储需传送的数据长度的寄存器,由PLC程序设置。计算机链接通信协议中的命令(2)PLC一侧的请求式功能的控制协议设置字/字节数据格式标志M8129。将需传送的数据送入指定的数据寄存器复位请求式错误标志M8128,若该标志为ON,无法打开请求式功能向D8127写入存放

56、要传送的数据的数据区首元件号,向D8128写入需传送的数据的长度,写入后请求功能被起动。接收到请求时M8127变为ON,数据传送完成时M8127变为OFF。若M8128为ON, 说明传送过程中有错误发生,此时应返回第三步继续运行,若没有错误,传送过程结束。计算机链接通信协议中的命令(3)计算机一侧的请求式功能的控制协议请求式数据中的PLC标识号自动转换为“FE”,计算机在接收到请求式数据后,根据数据中的PLC标识号右判断是否请求式数据,然后对数据进行处理。(4)请求式功能的时序请求式数据的发送是随机的,可能与计算机发出的命令报文和PLC发出的响应报文冲突,为保证命令报文和响应报文的完整性,采取

57、如下措施:发送请求式数据时PLC正在接收命令报文发送请求式数据时PLC正在发送响应报文计算机链接通信协议中的命令发送请求式数据时PLC正在接收命令报文PLC起动了请求式功能,请求式握手标志M8127立即被置为“ON”(如图,7-13),若此时计算机正在发送ENQ开始的命令报文,要等到接收完计算机发出的命令报文,PLC才发送阴影所示的请求式数据。发送完成后M8127被自动复位,PLC才向计算机发送以STX开始的响应报文。计算机链接通信协议中的命令发送请求式数据时PLC正在发送响应报文 若PLC起动请求式功能时,PLC正向计算机发送以STX开始的命令报文的响应报文(如图,7-14),PLC先向计算

58、机发送完响应报文,然后才发送阴影所示的请求式数据。计算机接收完请求式数据后,才向PLC发送ACK开始的确认报文。计算机链接通信协议中的命令(5)请求式功能的技术规范和例子例中PLC用请求式功能将D100开始的数据寄存器中的数据1234H和5678H发送给计算机,发送的请求式数据如下:名称控制代码站号标识号D100的值D101的值控制代码校验和字符STX02FE12345678ETX94PLC的标识号FEH是PLC自动加上的,站号是初始化程序设置的。PLC程序如下:LDI M8000 / 设置以字为单位传送数据OUT M8129 / 用X0提供脉冲信号起动请求式命令LDP X0 / ANI M8

59、002 /ANI M8127 / 原来未起动请求式功能MOV H1234 D100 / MOV H5678 D101 / 准备要传送的数据RST M8128 / 复位请求式出错标志RST Y0 / 复位传送正常指示灯RST Y1 / 复位传送出错指示灯MOV K100 D8127 / 设置需传送的数据区的首元件号D100MOV K2 D8128 / 设置需传送的数据的字数,起动请求式传送LDI M8127 / 如果传送结束ANI M8128 / 且无错误SET Y0 / 将“传送正常”输出置为ONLDI M8127 / 如果传送结束AND M8128 / 且有错误SET Y1 / 将“传送出错

60、”输出置为ONEND /以字节为单位传送D100和D101中的数据1234H和5678H时,应使用M8000的常开触点控制M8129的线圈(设置为字节数据格式),同时应向D8128写入字节数4。PLC先发送第一个字D100的低位字节数据34H,再发送高位字节数据12H。计算机链接通信协议中的命令4、其他命令(1)远程起动命令RR(2)远程停止命令RS(3)读PLC型号的命令(4)返回测试的命令(5)全局功能命令计算机链接通信协议中的命令(1)远程起动命令RR 当计算机发出远程起动(Remote RUN)或远程停止(Remote STOP)命令时,PLC进入强制运行模式,此时PLC内置的RUN开

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论