首页 理论教育 在PLC中设置通信格式:无协议通信

在PLC中设置通信格式:无协议通信

时间:2023-06-24 理论教育 版权反馈
【摘要】:通信格式的设定-在PLC中,特殊功能数据寄存器D8120用于设定通信格式,D8120除了用于RS指令的无顺序通信外,还可用于计算机链接通信。

在PLC中设置通信格式:无协议通信

无协议通信就是用RS串行通信指令进行数据传输的一种通信方式,通信时,必须配置相应的通信接口、设置相应的通信格式、使用相关的指令来完成,现简要介绍如下。

1.系统配置

FX2N系列PLC与表8-23所列的通信接口连接,可实现RS-232C或RS-485A(422A)的无协议通信。

表8-23 无协议通信时PLC与通信接口的配置

978-7-111-44696-5-Chapter03-69.jpg

2.通信数据的处理

无协议通信的数据处理是通过串行数据通信指令RS来完成的,因此,首先介绍与通信有关的功能指令。

(1)串行数据通信指令RS-RS指令是串行数据传送指令,该指令为16位指令,用于对RS-232及RS-485等扩展功能板及特殊适配器进行串行数据的发送和接收的指令,其指令形式如图8-44所示。

978-7-111-44696-5-Chapter03-70.jpg

图8-44 RS指令

在上图中m和n是发送和接收数据的字节数,可以用数据寄存器(D)或直接用K、H常数来设定。在不进行数据发送(或接收)的系统中,请将发送(或接收)的字节数设定为0。

注意:本指令在编程时可以多次使用,但在运行时任一时刻只能有一条指令被激活。

(2)通信格式的设定(D8120)-在PLC中,特殊功能数据寄存器D8120用于设定通信格式,D8120除了用于RS指令的无顺序通信外,还可用于计算机链接通信。D8120的位定义见表8-17。若通信格式的设定如表8-24所示,则D8120的设定程序如图8-45所示。

表8-24 设定举例

978-7-111-44696-5-Chapter03-71.jpg

978-7-111-44696-5-Chapter03-72.jpg

图8-45 D8120的设定程序

(3)RS指令收发数据的程序-RS指令指定PLC发送数据的起始地址与字节数以及接收数据的起始地址与字节数,其接收和发送数据的程序如图8-46所示。

978-7-111-44696-5-Chapter03-73.jpg

图8-46 RS程序格式

(4)发送请求标志(M8122)-在图8-46中,RS指令的驱动输入X000为ON时,PLC即进入发送和接收等待状态。在发送和接收等待状态时,用脉冲指令置位特殊辅助继电器M8122,就开始发送从D200开始的D0长度的数据,数据发送完毕,M8122自动复位。

(5)接收完成标志(M8123)-数据接收完成后,接收完成标志特殊辅助继电器M8123置位,M8123需通过程序复位,但在复位前,请将接收的数据进行保存,否则接收的数据将被下一次接收的数据覆盖。复位完成后,则再次进入接收等待状态。(www.xing528.com)

(6)数据处理模式(M8161)-特殊辅助继电器M8161是RS、HEX、ASCI和CCD指令公用的特殊标志。当M8161=OFF时,即16位数据处理模式,在16位数据处理模式下,先发送或接收数据寄存器的低8位,然后是高8位;当M8161=ON时,即8位数据处理模式,忽略高8位,仅低8位有效,即只发送或接收数据寄存器的低8位。

(7)HEX→ASCⅡ变换指令ASCI-ASCI指令是将十六进制数转换成ASCⅡ码的指令,其使用说明如下:

978-7-111-44696-5-Chapter03-74.jpg

当M8161=OFF时,[S.]中的HEX数据的各位按低位到高位的顺序转换成ASCⅡ码后,向目标元件[D.]的高8位、低8位分别传送、存储ASCⅡ码,传送的字符数由n指定。如D100=0ABCH,当n=4时,D200=4130H即ASCⅡ码字符A和0,D201=4342H即ASCⅡ码字符C和B;当n=2时,D200=4342H即ASCⅡ码字符C和B。

978-7-111-44696-5-Chapter03-75.jpg

当M8161=ON时,[S.]中的HEX数据的各位转换成ASCⅡ码后,向目标元件[D.]的低8位传送、存储ASCⅡ码,高8位将被忽略(为0),传送的字符数由n指定。如D100=0ABCH,当n=4时,D200=0030H即ASCⅡ码字符0,D201=0041H即ASCⅡ码字符A,D202=0042H即ASCⅡ码字符B,D203=0043H即ASCⅡ码字符C;当n=2时,D200=0042H即ASCⅡ码字符B,D201=0043H即ASCⅡ码字符C。

(8)校验码指令CCD-CCD指令是计算校验码的专用指令,可以计算总和校验和水平校验数据。在通信数据传输时,常常用CCD指令生成校验码,其使用说明如下:

978-7-111-44696-5-Chapter03-76.jpg

当M8161=OFF时,[S.]指定的元件为起始的n个字节,将其高低各8位的数据总和与水平校验数据存于[D.]和[D.]+1的元件中,总和校验溢出部分无效。

978-7-111-44696-5-Chapter03-77.jpg

当M8161=ON时,[S.]指定的元件为起始的n个数据的低8位,将其数据总和与水平校验数据存于[D.]和[D.]+1的元件中,[S.]的高8位将被忽略,总和校验溢出部分无效。

3.应用实例

1)利用FX2N 232 BD通信板连接FX2N系列PLC和打印机,编写PLC的控制程序,使得打印机可以打印从PLC发送的数据,具体要求如下:打印机每打印一条信息下移一行,在信息的末尾写CR(换行)(000DH)和LF(回车)(000AH);利用X0驱动RS指令;每次闭合X1(↑)时,将D10~D20的内容发送到打印机,并打印测试行,其通信格式设置见表825(即D8120=H006F),控制程序如图847所示。

表8-25 通信格式

978-7-111-44696-5-Chapter03-78.jpg

978-7-111-44696-5-Chapter03-79.jpg

图8-47 控制程序

2)个人计算机通过232BD与PLC连接,使个人计算机与PLC交换数据,其通信格式为数据长度8位、偶校验、1位停止位、波特率为2400bit/s,因此,D8120=H67,其通信程序如图8-48所示。

978-7-111-44696-5-Chapter03-80.jpg

图8-48 通信程序

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈