物联传媒 旗下网站
登录 注册
RFID世界网 >  技术文章  >  其他  >  正文

PLC与RFID控制器的无协议通讯

作者:工控家
来源:RFID世界网
日期:2018-08-29 17:05:43
摘要:无协议通讯是PLC的一种串行通讯方式,可以应用于PLC与上位计算机或其他设备的通讯。先容了欧姆龙PLC与V600系列RFID控制器通讯口的连接方式,无协议通讯的原理、指令和使用步骤,及其欧姆龙V600系列RFID控制器的命令集和数据传输协议。通过欧姆龙PLC和欧姆龙V600系列RFID控制器之间实现无协议通讯的实例讲述了无协议通讯的实现方法。实验结果表明:无协议通讯编程灵活、通讯可靠性高, 具有一定的实用价值。   关键词:无协议通讯,PLC,RFID控制器,数据传输协议

 

  0. 引言

  在大型生产线上,为了实现流水线自动化,PLC与RFID技术结合的应用不断增加。PLC作为一种高可靠性的控制装置,与RFID进行数据通讯,不但可以实现对每一个生产过程的控制与治理,而且可以进步自动化生产流水线的生产效率。

  欧姆龙公司的CPM2A/2C、CQM1H、C200Hα、CP1、CJ1及CS1等系列PLC都可以支持无协议通讯功能。利用TXD和RXD等指令,通过串行通讯端口,PLC与计算机之间、PLC与PLC之间、PLC与各种通讯设备之间(如变频器、条形码读进器和串行打印机等)可以进行数据交换,实现通讯[1]。本文选用欧姆龙CP1H型PLC,实现与与欧姆龙的V600系列RFID控制器的无协议通讯。PLC作为上位机,RFID控制器作为下位机。

  1. 系统结构

  上位PLC与下位RFID控制器之间有1:1和1:N两种链接模式,1台PLC (上位机)只能连接32台RFID(下位机),本文先容1:1链接模式。系统中PLC与RFID控制器之间通过RS-422总线连接。上位机与RFID控制器通讯时,使用专用的SYSWAY通讯协议,上位机优先发送通讯指令,RFID控制器接收后,首先分析来自主机的命令,然后对RFID标签进行读写。通讯结束后,RFID 控制器返回一个响应代码到主机。SYSWAY通讯协议支持1:1和1:N通讯。当主机与RFID控制器是1对1连接时,采用1:1方式通讯;当连接主机的RFID控制器超过一个时,采用1:N方式通讯。在1:N通讯模式下,可以通过对RFID控制器设置来实现主机与RFID控制器的1:1通讯。

  主机CP1H作为上位机,由于PLC与RFID控制器之间选用RS-422方式进行通讯,所以CP1H端口1选用插件CP1W-CIF11,为RS-422/485型。RFID(由V600-CA5D02 RFID控制器、V600-H07天线及V600-D23P66N无源标签三部分组成)作为下位机,V600-CA5D02 RFID控制器的机体上分别带有一个RS-232C与RS-422/485串行通讯口,都支持与计算机、PLC等主机设备之间的通讯。PLC与RFID控制器的接线如图1所示。

1

  图1 PLC与RFID控制器接线

  Fig.1 the connection of PLC and RFID controller

  CP1W-CIF11有一组DIP开关,共有8个,SW1表示是否使用终端电阻;SW2、SW3表示通讯的连接方式:422或485;SW4为空;SW5、SW6表示通讯时有无RS控制。在使用其之前,根据通讯的要求对DIP开关进行设定:SW1为ON,使用终端电阻;SW2、SW3为OFF,使用422连接方式;SW5、SW6为任意。

  2. 无协议通讯及其指令

  无协议通讯,即不使用重试处理、不经过数据格式的转换处理及具有对应接收的数据进行处理分支等的顺序通讯协议。在无协议且无转换的条件下,通过通讯端口的输进输出指令(TXD,RXD)发送和接收数据。无协议通讯过程十分简单,只需在PLC系统设定中将串行端口的串行通讯模式设定为无协议通讯。根据无协议通讯,PLC就可以与带有RS-232端口或者RS-422/485端口的外部设备,按照TXD和RXD指令进行单方的发送(数据流从PLC到通用外部设备)和接收数据(数据流从通用外部设备到PLC)[2]。无协议通讯的实现步骤如图2所示。

  图2 无协议通讯的实现步骤

  

  使用无协议通讯发送和接收消息时,开始代码及结束代码之间的数据用TXD指令来发送,或者是将要插进开始代码及结束代码之间的数据用RXD指令来接收。使用TXD指令发送数据时,应先将数据从I/O存储器读取后发送,使用RXD指令接收数据时,顺序恰恰相反。TXD/RXD一次发送和接收的最大数据量为256个字节。无协议通讯时,发送和接收的数据的开始代码和结束代码由用户在PLC系统设定中指定。图3为欧姆龙CP1H型PLC无协议通讯的指令结构。

  图3 无协议通讯指令

  

  TXD指令根据由S指定的发送数据开头CH编号,对由N指定的发送字节长度的数据进行无变换操纵。随着PLC系统设定为无顺序模式时的开始代码/结束代码的指定,由C的位8~11输出到指定的串行通讯选装件版的串行端口(无顺序模式)。但是只能在发送预备标志(串行端口1:A392.13、串行端口2:A392.05)为ON时才能发送。能发送字节数最大为259字节(数据部最大256字节,包括开始代码、结束代码)。

  RXD指令在串行通讯选装件板的串行端口(无顺序模式)中,从由D指定的接收数据保存开头CH编号开始,输出由N指定的相当于保存字节长度的接收结束数据。当接收结束数据不满由N所指定的保存字节长度时,输出实际存在的接收结束数据。但是当接收结束标志(串行端口1:A392.14、串行端口2:A392.06)为ON时,执行本指令来接收(来自接收缓冲器的)数据。接收可能字节数最大为259字节(数据部最大256字节,包括开始代码、结束代码)。

  3. RFID控制器及其命令集和数据传输协议

  V600系列RFID控制器拥有丰富的指令系统,共23条,可以非常灵活的应用于各种场合,其中包括通讯命令、一般的通讯子命令、主机命令等[3]。通讯命令多用于执行与RFID标签的通讯,例如,对静止或者是移动的RFID标签进行读写等。通讯子命令一般用于取消某个命令的执行,而主机命令则用于主机设备控制 RFID控制器。在上位机与RFID 控制器通讯过程中用到最多的是通讯命令,常用通讯命令的代码及其功能如表1。

  表1 RFID常用通讯命令表

  

  在1:1的通讯模式下,通讯过程中不计算校验码,因此,只能通过响应代码来判定通讯结果的正确性。图4给出了上位机与RFID控制器之间传输数据的格式。从上位机发送到RFID控制器的数据块为命令帧,反过来,从RFID控制器发送到上位机的数据块为响应帧。每个帧以指令代码开始,以结束符结束,响应帧中还包括反应执行结果的响应码。上位机与RFID 控制器之间可以传送十六进制或ASCII形式的数据,每一帧最大答应传送数据为271个字符。

  假如传送的数据大于271个字符,可以将数据分成起始帧、若干中间帧、结束帧进行传送。起始帧必须包含命令码,读/写头号,开始地址等,否则通讯的过程中将会有错误发生。上位机每发送完一帧时,在收到RFID 控制器返回的分界符(即“↙”)后再发送下一帧,只有当结束帧数据发送完毕时才返回响应代码。

  图4 RFID控制器1:1数据传输格式

 

  4. PLC与RFID控制器无协议通讯的实现

  4.1 CP1H通讯端口设置

  PLC与RFID控制器之间使用RS-422方式进行通讯。根据RFID控制器通讯规格要求,使用欧姆龙编程软件CX-Programmer7.1将CP1H串口1模式设置为“RS-232C”,通讯波特率设置9600,数据格式为7、2、E。

  Fig.5 the communication port setting of CP1H

  4.2 RFID控制器参数设置

  RFID控制器通讯参数设置应与PLC通讯端口参数一致:波特率9600,偶校验方式,7位数据位,2位停止位。DIP开关SW6为ON,表示使用终端电阻。

  4.3 通讯举例

  通过PLC与RFID控制器之间的通讯,编程实现从RFID标签地址0100H开始的通道内读取四个数据,读取的数据存储到PLC的DM区内。根据通讯数据传输格式,要发送的数据为RDA1001004*。将要发送的数据转化为16进制数“524441313030313030342A0D” ,存放到DM0开始的6个通道内。这6个通道对应值分别为:DM0:5244;DM1:4131;DM2:3030;DM3:3130;DM4:3034;DM5:2A0D。

  PLC与RFID控制器无协议通讯程序如图6所示。A392.13为发送答应标志位,当PLC的串口1预备好时,A392.13自动为ON,发送数据指示100.00变亮,则PLC可以通过此端口发送数据。当0.00为ON时,将DM0开始的6个通道的数据发送出往,RFID控制器接收到指令后做出响应。A392.14为接收答应标志位。串口预备好后,A392.14自动为ON,接收数据指示100.07变亮。PLC开始自动接收RFID控制器返回的响应数据,并自动存储到DM100开始的5个通道内。执行程序后查看从DM100开始的5个通道的内容,分别为:DM100:5244;DM101:3030;DM102:3131;DM103:3131;DM104:2A0D。所以接收的数据为:RD001111*,根据数据传输响应帧数据格式,可知从RFID标签读出的四个数为:1111。

  图6 PLC与RFID控制器通讯程序

  

  5. 结束语

  无协议通讯是一种简便易行的通讯方式,欧姆龙的CPM2A和CP系列等小型机都可以实现[4]。这种通讯方式编程灵活,通讯可靠性高,是一种比较理想的低本钱通讯方式。

  参考文献:

  [1] 徐世许.可编程序控制器应用指南—编程·通讯·联网[M].北京:电子产业出版社,2007: 278-285

  [2] OMRON. CP1H/CP1L CPU UNIT PROGRAMMING MANUAL[K]. Shanghai: OMRON, 2007

  [3] OMRON. RFID System V600 Series OPERATION MANUAL[K]. Shanghai: OMRON, 2003

  [4] 王凤杰,洪云.欧姆龙PLC无协议通讯功能研究[J].产业控制计算机,2008,21(5): 45-47