rfid读写器价格与电脑通信的RS-485接口可以与plc通信吗

论文发表、论文指导
周一至周五
9:00&22:00
西门子RF260与三菱FX―3U通信控制程序设计
  摘 要:工业控制中,需要对流水线中的产品进行分拣,如何能将相应的产品分拣出来,可采用射频技术来实现,将电子标签固定在产品中,当产品通过流水线经过读写器时,读写器将产品中的信息读出,根据读出的相关信息以便系统能够做到正确分拣。本文在分析RF260通信协议的基础上,设计了RF260与FX-3U的通信控制程序。 中国论文网 /8/view-6276874.htm  关键词:RF260 协议 PLC   中图分类号:TM571.61 文献标识码:A 文章编号:(2014)04(b)-0016-01   1 RFID系统介绍   本设计中识别系统主要采用西门子 RF260R读写器、电子标签。RFID识别系统是一种非接触式的自识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预,操作快捷方便[1]。   西门子RF 260R是带有集成天线的读写器。设计紧凑,非常适用于装配。该读写器配有:一个RS232接口,带有3964传送程序,用于连接到PC系统、S7-1200、三菱等其他控制器。技术规范为:工作频率为13.56 MHz,电气数据最大范围为135 mm,通信接口标准为RS232,额定电压为DC24 V,电缆长度为30 M。   2 RFID通信协议分析   通信协议:第三方控制器与其通信时采用无协议通信,且不可更改,数据长度:8 位;奇偶:奇数;停止位:1位;传输速率为:19200 bps;   与第三方控制器使用时传输数据如下(IN为PLC输入,OUT为PLC输出,以下相应的数据为16进制)。   RFID上电:上电后,RFID发出FF、FC、02三个数据,对方接收到数据后,对方输出10,RFID发出02、00、0f、10、03、1e。   RFID启动:当对方接收到02、00、0f、10、03、1e数据后,对方发送02,当对方接收到10后,对方发送0a、00、00、00、25、02、00、00、01、00、01、10、03、3e,当RFID收到后,RFID发送出10、02,对方收到后发送10,RFID发送05、00、00、01、02、00、10、03后,RFID系统启动。   RFID停止:对方向RFID发出02,RFID系统收到02后,发出10,对方收到10后,发出03、 0a、00、02、10、03、18,RFID系统收到03、0a、00、02、10、03、18后,发出10、02,对方收到10、02后,发出10,RFID系统收到10后,发出02、0a、19、10、03、02,RFID系统停止工作。   读标签:对方发出10、02,RFID系统收到10、02后,发出10;对方收到10后,发出05、02、00、00、00、10、10、10、03、14,进入等待发现标签状态;对方收到10、02,发现标签,发出10;对方收到01、0f、00、00、01、10、03、19后,发出10;对方收到02后,发出10;读写器发送标签数组对方接收到类似如下的数据:15、02、00、00、00、10、10、31、32、33、34、35、36、37、38、39、61、62、63、64、65、66、00、10、03、32,标签的数据采用ASCⅡ码;RFID发出02,表示标签离开,对方收到02后,发出10;RFID收到10后,发出04、0f、00、00、00、10、03、18。   写标签:对方发出10、02,RFID系统收到10、02后,发出10,进入写标签;对方发出类似如下的标签信息:15、02、00、00、00、10、10、31、32、33、34、35、36、37、38、39、61、6、63、64,RFID收到上述信息,将此信息写入电子标签,RFID发出10、02;对方收到10、02后,代表对方发送的数据已经写入标签,对方发出10;RFID收到10后,发出02、01、00、10、03、10,写标签过程结束。   3 PLC控制程序设计   控制程序以RFID启动及RFID读取数据为例,分析设计PLC控制程序。PLC上电后,M8002使中间继电M280得电,M280得电进入步1,当PLC接收到RFID传送过来的数据后,M8123置位[2],在不1中,PLC将接收到的数据依次存入D90开始的数据区,当判定D93中存入的数据是2时,M370置位;M370置位后,使M280复位,M281置位,进入步2,首先将10送到D500中,然后发送到RFID,接下来M281复位,M282置位,进入步3;步3中,首先将10送到D500中,然后发送到RFID,如果接收到数据(M8123置位),M282复位,M283置位,进入步4;步4中,首先将0a、00、00、00、25、02、00、00、01、00、01、10、03、3e放入D500-D506数据区中,然后发送到RFID,PLC等待接收数据,当判定D2中接收到的数据是2时,M283复位,M284置位,进入步5;步5中,当M8123置位时,也就是说接收到数据时,M284复位,M285置位,进入步6;步6中,当M8123置位时,也就是说接收到数据时,M28,5复位,M285置位,进入步7;步7中,首先将数据区D500-D507、D0-D9中的内容清零,将数据05、02、00、00、00、10、10、10、03、14写入数据区D520-D524数据区中,然后发送到RFID,当PLC接收到数据后,判定接收到的数据是否为2,如果为2表示发现标签,M286复位,M287置位,进入步8;步8中,首先将10写入D530中,然后发送到RFID,接收到数据后,M287复位,M288置位,进入步9;步9中,首先将D520-D527、D10-D11区域中的数据清零,步9中,接收到数据后,判断D13中的数据是否为2,如果接收的是2,M288复位,M289置位,进入步10(准备读取标签内部数据);步10中,首先将10送到D535中,然后发送到RFID,接收到数据后,M289位,M290置位,进入步11(读取标签);步11中,首先将10送到D536中,然后发送到RFID,当M8123为ON时,标签数据已读入,M290复位,M291置位,进入步12(标签准备离开)。后边的写标签及RFID停止参照协议按类似的方式设计。   4 结语   通过实际多次测试,首先通过专用的读写标签的软件,将数据写入电子标签,当标签经过读写器时,标签的数据可以完整的传送到PLC;然后通过PLC将数据写入电子标签,数据均可以正确写入及传送到PLC。   参考文献   [1] RFID-Systems FC 45 Function Manual[Z].2006.   [2] FX3U编程手册[基本和应用指令说明书[Z].2005.
转载请注明来源。原文地址:
【xzbu】郑重声明:本网站资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有,如有不愿意被转载的情况,请通知我们删除已转载的信息。
xzbu发布此信息目的在于传播更多信息,与本网站立场无关。xzbu不保证该信息(包括但不限于文字、数据及图表)准确性、真实性、完整性等。单片机、电路板
连接器、接插件
其他元器件
关于PLC与RFID控制器无协议通信
关于PLC与RFID控制器无协议通信
0. 引言在大型生产线上,为了实现流水线自动化,PLC与RFID技术结合的应用不断增加。PLC作为一种高可靠性的控制装置,与RFID进行数据通信,不但可以实现对每一个生产过程的控制与管理,而且可以提高自动化生产流水线的生产效率。欧姆龙公司的CPM2A/2C、CQM1H、C200H&、CP1、CJ1及CS1等系列PLC都可以支持无协议通信功能。利用TXD和RXD等指令,通过串行通信端口,PLC与计算机之间、PLC与PLC之间、PLC与各种通信设备之间(如变
& 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所示。 &&& 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所示。& 使用无协议通信发送和接收消息时,开始代码及结束代码之间的数据用TXD指令来发送,或者是将要插入开始代码及结束代码之间的数据用RXD指令来接收。使用TXD指令发送数据时,应先将数据从I/O存储器读取后发送,使用RXD指令接收数据时,顺序恰恰相反。TXD/RXD一次发送和接收的最大数据量为256个字节。无协议通信时,发送和接收的数据的开始代码和结束代码由用户在PLC系统设定中指定。图3为欧姆龙CP1H型PLC无协议通信的指令结构。&&&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&&&&&&&& Fig.3& commands of No-Protocol Communication&&&&&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:1的通信模式下,通信过程中不计算校验码,因此,只能通过响应代码来判断通信结果的正确性。图4给出了上位机与RFID控制器之间传输数据的格式。从上位机发送到RFID控制器的数据块为命令帧,反过来,从RFID控制器发送到上位机的数据块为响应帧。每个帧以指令代码开始,以结束符结束,响应帧中还包括反应执行结果的响应码。上位机与RFID 控制器之间可以传送十六进制或ASCII形式的数据,每一帧最大允许传送数据为271个字符。&&&&&&&如果传送的数据大于271个字符,可以将数据分成起始帧、若干中间帧、结束帧进行传送。起始帧必须包含命令码,读/写头号,开始地址等,否则通信的过程中将会有错误发生。上位机每发送完一帧时,在收到RFID 控制器返回的分界符(即&↙&)后再发送下一帧,只有当结束帧数据发送完毕时才返回响应代码。&&4. PLC与RFID控制器无协议通信的实现&&4.1 CP1H通信端口设置&&&&&&PLC与RFID控制器之间使用RS-422方式进行通信。根据RFID控制器通信规格要求,使用欧姆龙编程软件CX-Programmer7.1将CP1H串口1模式设置为&RS-232C&,通信波特率设置9600,数据格式为7、2、E,如图5所示。&&4.2 RFID控制器参数设置&&&&&&RFID控制器通信参数设置应与PLC通信端口参数一致:波特率9600,偶校验方式,7位数据位,2位停止位。DIP开关SW6为ON,表示使用终端电阻。&&4.3 通信举例&&&&&&通过PLC与RFID控制器之间的通信,编程实现从RFID标签地址0100H开始的通道内读取四个数据,读取的数据存储到PLC的DM区内。根据通信数据传输格式,要发送的数据为RDA1001004*。将要发送的数据转化为16进制数&D&&,存放到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。&5. 结束语&&&&&&无协议通信是一种简便易行的通信方式,欧姆龙的CPM2A和CP系列等小型机都可以实现[4]。这种通信方式编程灵活,通信可靠性高,是一种比较理想的低成本通信方式。
上一篇:已经是第一篇
型号/产品名
深圳市福田区科鑫电子商行
深圳市福田区科鑫电子商行
深圳市福田区科鑫电子商行
深圳市福田区科鑫电子商行单片机、电路板
连接器、接插件
其他元器件
PLC及PC与RFID识别读写器串行通讯的实现
PLC及PC与RFID识别读写器串行通讯的实现
&&&& RFID的全称是Radio Frequency IdentifICation,即射频识别,它利用无线电射频实现可编程控制器(PLC)或微机(PC)与标识间的数据传输, 从而实现非接触式目标识别与跟踪。
  一个典型的RFID射频识别系统包括四部分:标识、天线、控制器和主机(PLC或PC),系统结构图见图1。
&&&& RFID的全称是Radio Frequency IdentifICation,即射频识别,它利用无线电射频实现可编程控制器(PLC)或微机(PC)与标识间的数据传输, 从而实现非接触式目标识别与跟踪。
  一个典型的RFID射频识别系统包括四部分:标识、天线、控制器和主机(PLC或PC),系统结构图见图1。
  图1 RFID射频识别系统结构图
  标识一般固定在跟踪识别对象上,如托盘、货架、小车、集装箱,在标识中可以 存储 一定字节的数据,用于记录识别对象的重要信息。当标识随识别对象移动时,标识就成为一个移动的数据载体。以RFID在计算机组装线上的应用为例,标识中可以记录机箱的类型(立式还是卧式)、所需配件及型号(主板、硬盘、CD-ROM等)、需要完成的工序等。又如在邮包的自动分拣和跟踪应用中,可以在标识中 存储 邮包的始发地、目的地、 路由 等信息。
  天线的作用是通过无线电磁波从标识中读数据或写数据到标识中。天线形状大小各异,大的可以做成货仓出口的门或通道,小的可以小到1mm。
  控制器用于控制天线与PLC或PC间的数据通信,有的控制器还带有数字量输入输出,可以直接用于控制。控制器与天线合称读写器。
  PLC或PC根据读写器捕捉到的标识中的数据完成相应的过程控制,或进行数据分析、显示和存储。
  本文即以具有代表性的美国EMS(Escort Memory Systems)公司的13.56MHz无源RFID射频识别读写器LRP830为例,介绍了PLC及PC与RFID读写器进行串行通讯,从而获取标识数据,用于控制或数据处理的具体实现方法。
  2 RFID射频识别读写器的命令集及串行通讯 协议
  以LRP830读写器为例,LRP830是EMS 13.56MHz无源系列射频读写器中的一种,它的标识和天线可以在水下或高温腐蚀环境中正常工作,可以一次读写99个标识,最大读写距离63.5cm。它带有两个串口,一个DeviceNet接口,4个DI隔离输入,4个DI隔离输出,保护等级IP66,NEMA4封装,非常适合于在工业自动化中应用。
  LRP830读写器上的串口是合在一起的,通过专用电缆可以分接出COM1和COM2两个串口,两个串口作用不同,COM1用作通讯口,从PLC或PC接收命令并返回响应数据, 可以配置为RS232、RS422或DeviceNet接口。COM2用于配置系统参数(如读写模式、波特率等)或 下载 系统升级程序。
  LRP830可以与所有EMS的FastTrackTM系列无源标识结合使用,每个标识中可以存储48个字节的数据,另外还有8个字节用于存储只读的唯一的序列号(出厂前由厂方设定)。
  LRP830提供了单标识读写命令集(见表1),多标识读写命令与此类似。  
  表1 单标识命令集
  每种命令可以有三种通讯 协议 :ABxS 、ABxF 、ABx ASCII。表2 是ABxS通讯 协议 持续读单标识命令的一个例子,其它命令与此类似。
  表2 ABxS协议持续读单标识命令举例
  3 RFID读写器与PLC串行通讯
  以EMS RFID读写器LRP830 与GE Fanuc VersaMax PLC的串行通讯为例。VersaMax PLC的RS232串口与LRP830的COM1接线对应关系见表3。
  表3 VersaMax与LRP830读写器的串口接线对应关系
  通过PLC控制RFID读写器读写标识数据的实现流程如图2所示。
  图2 PLC读写RFID标识数据的程序结构框图
  以下是具体实现时要注意的技术细节:
  1) LRP830与VersaMax PLC的串口相连时,信号线要错线,即VersaMax RS232口的TXD/RXD要接LRP830 的COM1的RXD/TXD,LRP830与PC连接时则是直通的。
  2) PLC使用串行I/O通讯协议与RFID读写器通讯。串口初始化、设置缓冲区、清除缓冲区、写串口、读串口状态等操作都是先通过一组BLKMOV WORD指令给COMMREQ的数据块赋值,然后执行COMMREQ指令完成的。例如,以下语句(见图3)通过RFID读写器写10个FF(46H)到标识中,从第一个字节写起。
  图3 PLC与RFID读写器串行通讯例程
  3) 要注意PLC写标识数据只需要执行写串口命令就可以了,而PLC读标识数据的过程则包含两步:一是PLC执行写串口命令, 即写读标识命令到RFID读写器;二是PLC执行读串口命令,捕捉RFID读写器返回的数据。这是由于RFID读写器在接到读标识命令后,会返回读命令的响应信息到串口缓冲区,其中包含了读到的标识数据。
  4) 使用ABxS协议时,要注意命令字的MSB和LSB的顺序问题。RFID读写器与PLC通讯时,要将读写器指令的MSB和LSB颠倒一下,即LSB在前,MSB在后。例如图3中,第二个BLKMOV WORD指令的第三个输入IN3应为16#4AA,而非16#AA04。
  5) 利用读写器指示灯的变化辅助PLC程序调试。LRP830读写器的面板上有两排LED指示灯,其中,当“ANT”亮时,表示天线在执行读写操作;“COM1”亮时,表示串口1执行了写命令,“RF”亮时,表示有标识被读写且仍在读写范围内。
  4 RFID读写器与PC串行通讯
  仍以EMS RFID读写器LRP830为例。与PC机相连时,LRP830的COM1/COM2与PC机的9针串口COM1/COM2的连接对应关系见表4。
  表4 LRP830的串口与PC串口连接对应关系
  在PC机上开发串口通讯程序,可以使用现有的通讯控件(如VB的Mscomm),也可以使用高级编程语言结合 Windows
API实现。本文用Delphi 6在 Windows 2000环境中,应用多线程技术实现了PC与RFID读写器间的串行通信。使用Delphi的优点是,Delphi对许多Windows底层API函数作了封装,简化了程序代码。使用多线程的优点是,程序编写比较灵活,而且串口监听线程不影响主线程其它任务的执行。程序结构框图见图4。
&&&&&&& 在具体实现上述思路时,要注意以下技术细节:
  1) 根据RFID读写器通讯协议的特点,读写器每执行一个主机发来的指令,无论是读标识还是写标识,都会返回一定字节的响应数据,用以确认命令已执行或返回标识中存储的数据。因此,主机读或写标识数据都需要先写(串口命令)后读(返回的串口数据)。
  2) 为了使程序体现模块化的设计思想,易于调试和维护,可以把各种RFID命令预先存入命令数组中,而把主机对RFID串口的命令和捕捉RFID读写器命令响应编制成单独的子程序,在调用它之前,先调用命令字赋值子程序。
  3) 对主线程的说明:在主线程中用CreateFile函数建立串口事件,设置缓冲区和通信参数,创建串口监听线程。用WriteFile写串口函数完成通过RFID读写器写数据到标识中。部分程序如下:
  hcom := CreateFile(pchar(WhIChcom), GENERIC_WRITE or GENERIC_READ,
  0, 0, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0); //产生串口事件
  setupcomm(hcom,TOTALBYTES,TOTALBYTES); //设置缓冲区
  getcommstate(hcom,lpdcb);
  lpdcb.BaudRate:=BAUDRATE; //波特率
  lpdcb.StopBits := STOPBIT; //停止位
lpdcb.ByteSize := BYTESIZE; //每字节有几位
  lpdcb.Parity :=PARITY; //奇偶校验
  setcommstate(hcom,lpdcb); //设置串口
  Mycomm := Tcomm2.Create(False); //创建串口监听线程
  WriteFile(hcom, WriteBuffer,sizeof(WriteBuffer),lpBytesSent, 0);//写标识命令
  4) 对串口监听线程的说明:
  程序中用到的方法主要有Synchronize和Terminate。Synchronize是Delphi提供的一种 安全 调用线程的方法,它把线程的调用权交给了主线程,从而避免了线程间的冲突,这是一种最简单的线程间同步的方法,可以省去用其它语言编程时需要调用的多个Windows API 函数,例如createEvent(创建同步事件),Waitforsingleobject(等待同步事件置位),resetevent(同步事件复位),PostMessage(向主线程发送消息)等。用Delphi编写多线程通讯程序的优点是显而易见的。例如以下语句即可实现串口监听线程:
  While (not Terminated) do //如果终止属性不为真
  dwEvtM
  Wait := WaitCommEvent(hcom,dwevtmask,lpol); //等待串口事件
  if Wait Then
  Synchronize(DataProcessing); //同步串口事件
  上述程序一旦检测到串口事件,就调用DataProcessing方法读串口数据,并写入数组,供程序其它部分调用,另外还要检测何时退出线程,程序如下:
  procedure Tmainform.DataProcessing
  clear := CLEARCOMMERROR(hcom,lperrors,@comms); //清除串口错误
  if Clear Then
  Begin //处理接收数据
  ReadFile(hcom,ReadBuffer,Comms.cbInQue,LPReadNumber,0);
  ReceBytes[I+ArrayOffset] := ReadBuffer[I];
  //读串口缓冲区数据并写入数组
  gameover := (ReceBytes[I+ArrayOffset-1]=Byte($FF))
  and (ReceBytes[I+ArrayOffset]=Byte($FF)); //终止条件
  if gam //退出线程
  其中,Terminate将线程的Terminated属性设置为True。线程一旦检测到Terminated属性为True,就会结束线程,去执行Onterminate事件,在Onterminate事件中对采集到的RFID标识数据进行处理。由于RFID读写器的ABxS协议的命令响应的最后两个字节都是FF,所以可以将收到连续的两个FF作为终止线程的条件之一。
  程序应用举例:
  以持续读标识中所有48字节数据命令为例,在程序中用WriteBuffer数组保存该命令,对WriteBuffer数组的各个元素赋值如下:
  WriteBuffer[0] := Byte($AA); WriteBuffer[1] := Byte($0D); //连续读标识命令字头
  WriteBuffer[2] := Byte($00); WriteBuffer[3] := Byte($00); //从第一个字节开始读
  WriteBuffer[4] := Byte($00); WriteBuffer[5] := Byte($30); //读48个字节数据
  WriteBuffer[6] := Byte($00); WriteBuffer[7] := Byte($02); //延时2秒
  WriteBuffer[8] := Byte($ff); WriteBuffer[9] := Byte($ff); //连续读标识命令字
  执行持续读标识命令后,程序以WriteBuffer数组写串口,RFID读写器执行此命令,并返回响应数据(见图5)。
  图5 持续读标识命令执行结果
  从图5窗口中可以看到,前4个字节AA OD FF FF就是LRP830读写器对持续读命令的确认信息,然后是数据报文头AA OD和标识中48个字节的数据(每字节数据前加00),最后是数据报文尾FF FF。
  5 结束语
  本文介绍了可编程控制器及微机与RFID射频识别读写器进行串行通讯,从而获取标识中的数据的具体实现方法:PLC通过串行I/O通讯协议与RFID读写器实现串行通讯,PC通过Windows多线程技术与RFID读写器实现串行通讯。本文所述方法具有通用性,对于其它厂家的PLC和RFID系统也有一定的参考价值。RFID射频识别技术在我国工业自动化等领域的应用才刚刚开始,前景非常广阔。本文对于促进该技术的推广应用具有一定的积极意义。
型号/产品名
深圳市福田区科鑫电子商行
深圳市福田区科鑫电子商行
深圳市福田区科鑫电子商行
深圳市福田区科鑫电子商行

我要回帖

更多关于 rfid读写器 的文章

 

随机推荐