工业RFID应用之技术篇(八):几种半导体行业RFID读卡器的常用通信方式详解
这段时间美国针对华为的限制越演越烈,施压台积电、威胁英国、加拿大,下一代5G通信市场的巨大利益使得美国近乎撕破脸面,不顾中美贸易协定对华为频频出手。
过去20年是互联网蒸蒸日上的时代,也是半导体产业技术蓬勃发展的黄金时机,如今下一代高性能精密芯片的第一梯队就是台积电和中芯国际,作为半导体行业的老大哥,它们都对自身的产业线升级改造非常重视。
今天我们就介绍一个常用于半导体行业的RFID读卡器,CK-610是一款专门为半导体产业结构升级而开发的RFID智能设备,使用RFID技术对生产线进行智能改造升级,减少人工成本,提高生产效率。
该设备集成了Modbus工业总线通讯协议和半导体行业常见的SECS通讯协议,可以满足客户在生产活动中的通信要求。
SECS半导体常用通讯协议
SECS标准是用来统一各个生产设备之间以及生产设备与控制设备之间的通讯,让设备间有通用的通讯标准接口,设备制造商只要提供符合通讯标准规范的设备,便可快速地整合在管理系统中,不但可缩短设备开发的时间及成本,并可增加设备装机的效率达到快速量产,进而提升产能输出。
CK-610是一款工作在134.2khz频率的低频半导体读写器,防护等级达到IP67,尺寸20*50mm,标签采用玻璃管外壳,通讯距离0~50mm,通讯接线采用五芯电缆,分为RS485接线和RS232接线两种。
接线端子 |
232接口 |
说明 |
485接口 |
说明 |
颜色 |
1 |
VCC |
24V |
VCC |
24V |
棕色 |
2 |
TX |
发送管脚 |
A |
通信A线 |
白色 |
3 |
GND |
0V |
GND |
0V |
蓝色 |
4 |
RX |
接受管脚 |
B |
通信B线 |
黑色 |
5 |
SG |
信号地 |
SG |
信号地 |
灰色 |
SECS通讯协议连接方式采用RS232连接,可以直连到工控机,SECS标准是点对点协议,设备之间采用一应一答模式,如下图所示连接,将读写器通过“USB转232转接线”连接到PC进行调试。
按照通讯线颜色接线,可以看到CK-610左侧电源指示灯常亮,说明设备初始化成功,天线正常,设备可正常工作。打开半导体SECS标准通用软件SECS Emulator,设定通讯参数。
读取通讯档案“CK.sml”并开启通讯。
查看SECS Emulator下方可以看到命令栏,读数据、写数据、读ID、写ID等功能都支持,发送S1F1命令,可以看到PC与CK-610通讯正常。
SECS标准是点对点协议,一应一答通讯,将玻璃管标签放在读写器感应区发送读数据命令,将标签拿开发送读数据命令得到如下结果,“NO”代表操作无误,数据返回为“22334455”。
Modbus RTU
为方便客户的使用,CK-610还集成了通用工业通讯协议Modbus RTU,采用RS232接线或者RS485接线,单机可由232或485直连设备,多机可通过工业485总线并联在PLC和工控机。
连接到PC时推荐使用USB转485或232的转接头,在PC上通过晨控智能专门开发的配置软件方便对此读写器进行功能配置。
CK-610读取的数据分为状态标识数据和用户数据,例如从0x00至0x04这五个寄存器分别保存设备信息,0x05~0x09为UID码,0x0A之后为用户数据区。
连接CK-610和PC,接通电源,将玻璃管标签放入感应区,读取一串数据,得到“00 02 00 02 00 01 00 00 00 00 31 31 32 32 33 33 34 34 35 35”。
打开配置软件选择com口后点击搜索即可成功与读写器进行通信,波特率、校验位读写器站号将会自动显示为对应的数据。现在我们从0x00开始读取10个寄存器,得到如上数据。
一个word为一个寄存器,包含两个字节,数据中:
0x00为“00 02”,代表读卡器站号,设备出厂默认站号为02,可以根据需要更改(0为广播站,不能设定为0);
0x01为“00 02”,代表波特率,例如01为4800,02为9600;
0x02为“00 01”,代表无校验,根据需要可以更改为奇校验或者偶校验;
0x03为“00 00”,备用寄存器;
0x04为“00 00”,读写状态寄存器,00代表读/写成功,01代表读写操作失败,数据无效,02代表读写操作失败,需重新读/写。
0x05~0x09为“31 31 32 32 33 33 34 34 35 35”代表UID码区,有些标签没有,有些有,此码为出厂设定,全球唯一,小编现在手上这个标签没有这个UID码区,因此可以从0x05开始写入数据。
0x0A的之后为用户数据区,可以根据用户需求写入数据。
CK-610支持三种命令:03、06、10,03命令为读数据功能,可从指定寄存器开始读取指定数量的寄存器数据;06命令为写单个寄存器,可以对指定寄存器写入数据;10命令为写多个寄存器,可从指定寄存器开始,写入指定个寄存器数据。
打开串口助手,我们来试一下三种数据命令的使用,首先是03读命令,如图数据为“02 03 00 00 00 06”,(最后两位为Modbus CRC校验,忽略不计),这串指令的含义为:向站号为02的设备发出03读命令,从00开始读06个寄存器,可以看到返回数据为“02 03 0C 00 02 00 02 00 01 00 00 00 00 31 31”其中0C代表后面有12个有效字节,其它数据含义则不在说明。
第二次为从05开始读取06个寄存器数据,第三个发送数据为06命令,其的含义为将“11 11”数据写入05寄存器,通过第四次的读命令可以看到数据成功写入。
第五次的命令“02 10 00 06 00 04 08 00 22 00 33 00 44 00 55”为10写多个寄存器指令,含义为从06起始,写入04个寄存器,08代表后面有效数据为8个,写入之后通过读命令可以看到数据以及成功写入05~09寄存器。
以上即是CK-610半导体行业RFID使用过程的一些要点,希望能够帮助到您,更多有关RFID技术的产品和应用案例请登录广东晨控智能技术有限公司官网或者关注(晨控智能)微信公众号了解,晨控智能期待您的咨询以及合作。