admin 管理员组

文章数量: 1086019


2024年3月19日发(作者:网络模块接法图解视频)

维普资讯

Vo1.27 NO.5 2007.9/1 0 船电技术2007年第5期 

用VB实现上位机与RFID控制器的串行通信 

王伟 杨海萌2 

(1青岛大学,山东青岛266071; 2土哈石油勘探开发指挥部,新疆哈密839009) 

摘要:介绍上位机与欧姆龙V600系YURFID控制器串行通信连接方式、通信命令和通信数据帧格式。阐述了在 

VB环境下使用MSComm控件实现上位机与RFID控制器串行通信的方法,并给出了串口初始化、发送数据及串口 

事件处理程序代码。此方法为进一步开发RFID应用系统提供了有价值的参考。 

关键词: Visual Basic MSComm RFID控制器 串行通信 

中图分类号:TM571 文献标识码:A 文章编号:1003.4862(2007)05.0307-03 

Implementing of Serial Communication between Host Computer 

and RFID Controller Based on Visual Basic 

Wang Wei ,Yang Haimeng 

(1 Qingdao University,Shandong 26607 1;2 Tuha Petroleum Exploration&Develop}ment Corporation,Xinjiang 839009,China) 

Abstract:The communication link way,communication commands and communication data structure between 

host compu ̄r and OMRON V600 Series RFID controller are introduced.The serial communication between host 

compu ̄r and RFID controller using MSComm under VB environment is expounded.The communication program 

is given.The communication meNod is helpful to urtfher developing RFID application system. 

Key words:Visual Basic;MSComm;RFID controller;serial communication 

RFID(Radio Frequency Identification)无线射频 

上位机与欧姆龙V600系列RFID控制器有1:1 

和1:N两种链接模式。图1为上位机与RFID控制 

器的1:1链接,系统由一台上位机和一台RFID设 

备组成。RFID设备由RFID控制器V600.CA5D02、 

天线V600.H07及无源电子标签V600-D23P66N三 

识别是一种非接触式的自动识别技术,它通过射频 

信号自动识别目标对象并获取相关数据,识别工作 

无需人工干预,可工作于各种恶劣环境。近几年来, 

RFID技术在国内外迅速发展,已经被广泛的应用到 

流水线生产自动化,集装箱管理,停车场管理,车辆防 

盗等系统。例如,在某汽车生产线上,每辆汽车的 

部分组成。RFID控制器支持RS232和RS485瓜S422 

接口,可以与计算机、PLC等设备连接通信。图中 

上位机与RFID控制器通过RS232C口进行通信, 

完成对电子标签的读/写操作。 

上位机与RFID控制器之间的无握手信号的连 

车架上放置一个电子标签,记录着需要零部件的信 

息、需要完成的工序等。在汽车装配的过程中,控 

制器自动识别电子标签中的信息,从而控制生产工 

序和零件的安装,完成汽车的组装。下面以欧姆龙 

V600系列RFID为例,介绍在VB环境下使用 

接方案,如图2所示。这种方式连线方便,仅需要 

1根信号地线GND和2根数据线:发送线TXD和 

MSComm控件实现上位机与RFID控制器串行通信 

的方法。 

接收线RXD。接线时,上位机串口的发射端TXD、 

接收端RXD分别与RFID控制器的接收端RXD、 

发射端TXD连接,双方的GND相连,各自的请求 

1通信连接方式 

收稿日期:2007.08.09 

作者简介:王伟(1981一),男,硕士研究生,主要研究方向为计算机控制。 

维普资讯

船电技术2007年第5期 

发送线RTS、允许发送线CTS短接。控制线RTS、 

CTS白连,默认对方信号存在,以确保进入握手后 

的状态,可直接交换数据。 

RFID 

图l上位机与RFID控制器的1:1链接 

上位机 RFID控制器 

信号 脚号 信号 脚号 

DCD 1 FG 1 

RXD 2 SD 2 

TXD 3 RD 3 

DTGNDR 4 5 ]、 .J\  F- RSCS 54 

DSR 6 、 5V 6 

RTS 78 \ L EDR 7 8 

CI 9 SG 9 

图2上位机与RFID控制器外部接线图 

上位机与RFID控制器进行通信时双方的通信 

参数设置(如波特率、校验方式、数据位等)应该 

致。RFID控制器通信参数的默认设置为:波特 

率9600,偶校验方式,7位数据位,2位停止位。 

为了方便起见,双方的通信参数多设置为RFID控 

制器的默认值。 

2数据的传输协议 

上位机与RFID控制器使用SYSWAY通信协议 

通信,上位机优先发送通信指令,RFID控制器接 

收后,首先分析来自上位机的命令,然后对电子标 

签进行读写。通信结束后,RFID控制器返回一个 

响应代码到上位机。 

RFID控制器指令系统十分丰富,共23条,可 

以非常灵活的实现与主机之间的通信,其中包括通 

信命令、一般的通信子命令、主机命令等。通信命 

令多用于执行与电子标签的通信,例如对电子标签 

的读写等。通信子命令一般用于取消某种操作,而 

主机命令则用于主机设备控制RFID控制器。在上 

位机与RFID控制器通信过程中用到的最多的是通 

信命令,常用通信命令的代码及其功能如表l。 

本系统采用1:1的链接模式,通信过程中不计 

算校验码,因此,只能通过响应代码来判断通信结 

308 

Vo1.27 NO.5 2007.9/1 0 

表1 RFID控制器部分命令表 

果的正确性。图3给出上位机与RFID控制器之间 

传输数据的格式。从上位机发送到RFID控制器的 

数据块为命令帧,反过来,从 Ⅲ)控制器发送到 

上位机的数据块为响应帧。每个帧以指令代码开 

始,以结束符结束,响应帧中还包括反应执行结果 

的响应码。上位机与RFI【)控制器之间可以传送十 

六进制或ASCII码形式的数据,每一帧最大允许传 

送数据为271个字符。例如:写命令帧 

WTA100101111*,上位机发送给RFID控制器, 

RFID控制器执行后返回的响应帧为WT00 ̄,结束 

代码0o表明通信正常,指令正确执行。 

命令帧 ! I I l I 』 ! I:: }: 

猩含 耋 毒 开始地址 数据 结束符 

响应帧 匡巨 三四 

操全 代码 绰枣 代码 一… 数据 结束符 

图3 1:1数据传输格式 

如果传送的数据大于271个字符,可以将数据 

分成起始帧、若干中间帧、结束帧进行传送。起始 

帧必须包含命令码,读/写头号,开始地址等,否则 

通信的过程中将会有错误发生。上位机每发送完一 

帧时,在收到RFID控制器返回的分界符(即“/”) 

后再发送下一帧,只有当结束帧数据发送完毕时才 

返回响应代码。 

RFID设备数据存放在标签中,与条码技术不 

同,RFID标签的数据存储的容量更大,针对于不 

同的标签,数据存储容量不同。电子标签 

V600一D23P66N存储容量为254个字节(存储地址 

从0000H~0oF【)H),可以存储物品的大量信息。 

3上位机与RFID控制器通信程序的设计 

3.1 MSComm控件 

维普资讯

Vo1.27 No.5 2007.9/1 0 

MSComm是Microsoft公司提供的Windows下 

船电技术2007年第5期 

时才触发oncomm的接收事件 

串行通信编程的ActiveX控件。它提供了两种处理 

通信的方法:一种是事件驱动方法,一种是查询方 

MSComm1.InputLen=0 

MSComm1.PortOpen=True 

’清空输入缓冲区 

’打开串口 

法。①事件驱动方法:OnComm事件是MSComm 

控件产生的惟一的事件,当有数据到达端口、端口 

状态变化或有通信错误时,都会触发OnComm事 

件。这种方法实时性强,可以快速地对外界的情况 

senddata.Text=”RDA1001008”’发送框初始值 

End Sub 

(2)发送数据 

发送数据的功能是将命令数据按通信协议组 

做出反应。②查询方法:在程序中设置定时器实 

现对端口周期性的扫描。这种方法编程简单,调试 

成数据包发往RND控制器。程序实现如下: 

Private Sub Send

Click() 

方便。由于事件驱动的方法比查询的方法程序响应 

及时、可靠性高,当应用程序执行完某一串口操作 

后,将不断检查MSComm控件的CommEvent属性, 

以检查是否有事件发生。因此,采用事件驱动方法, 

通信界面包括一个“发送”按钮和两个文本框。单击 

“发送”按钮,上位机发送文本框的数据,上位机收 

到RF1D控制器返回的数据显示在接收文本框内。 

下面介绍主要MSComm控件的属性: 

● CommPort:设定通信连接端口代号,Windows 

系统使用所设定的端口与外界通信。 

●PortOpen:设定通信口状态,若为真,通信端 

口打开,否则关闭。 

・ Settings:设定通信口参数,其格式是”bbbb,P, 

d,S”,其中bbbb为通信速率(波特率),P为通信检 

查方式(奇偶校验),d为数据位数,s为停止位数, 

其设定应与RFID的设定一致。 

● OnComm事件:当CommEve,nt的属性值变化 

时,无论是错误或事件发生,都会触发此事件。 

● Rthreshold:设定为某一值,每当传输到缓冲区 

的字符等于该设定值时,都会使MSComm控件产生 

OnComm事件。 

● CommEvent:传回OnComm事件发生时的数值 

码。 

3.2通信程序 

通信程序主要由以下几个部分组成:串口初始 

化、发送数据、串口事件处理。 

(1)串口初始化 

串口初始化的功能是打开端口,设置通信参 

数。程序代码如下: 

Private Sub Form

_

Load() 

MSComm1.CommPort=1 ’选择串口1 

MSComm1.Settings=”9600,e,7,2”’通信参数设置 

MSComm1.EOFEnable=True’触发oncomm事件 

MSComm1.RThreshold=1’当输入字符达到此值 

Dim X As String 

If senddata.Text=…’Then 

X=MsgBox(”发送数据不能为空”,16) 

Exit Sub 

EndIf 

MSComm1.Output=senddata+g r og.+Chr¥(131 

’加上“书"和回车符号发送 

End Sub . 

(3)串口事件处理 

串口事件处理程序的主要功能是接收数据,并 

把数据显示在文本框内。程序实现如下: 

Private Sub MSComml

OnComm() 

If MSComm1.CommEvent=comEvReceive Then 

’如果是接收事件则进行处理 

receive.Text=receive.Text+MSComm1.Input’ 

EndIf 

End Sub 

4结束语 

随着RFID技术应用的日益普及,RFID控制器 

与上位机通信已经变成RFID技术应用过程中一个 

非常重要的环节。本文利用VB实现上位机与欧姆 

龙V600系列RND控制器的串行通信,以读写电 

子标签中的数据,这为进一步开发RFID的应用系 

统提供了有价值的参考。 

参考文献: 

[1】.居荣,鞠勇.使用MSComm控件实现与PLC的串行通 

信[J].工矿自动化.2002(5):5 ̄7 

【2】.OMRON.V600系列RND操作手册【z】.2003. 

【3】.范逸之,陈立元.Visual Basic与RS一232串行通信控制 

【M】.北京:清华大学出版社,2002 

【4】.游战清.无线射频识别技术(RFID)理论与应用[M】.北 

京:电子工业出版社,2004. 

309 


本文标签: 数据 上位 控制器 命令 发送