1. 配置RFID
1.1. 前往SICK官网下载RFID调试软件
官网地址https://www.sick.com/cn/zh
进入官网后直接在搜索栏搜索SOPAS,然后会有如下画面,
直接点击添加至愿望清单即可下载。
1.2.打开PROFINET功能
打开RFID配置软件,输入设备名称,注意此处的设备名称一定要和博途中组态的RFID设备名称一致。
配置IP地址,IP地址要与CPU在同一个网段,切与博途组态中的IP地址相同。
2.博途配置
2.1.前往西克官网下载RFID的GSD文件
选择适用于PROFINET功能的GSD文件进行下载。
2.2.在博途中导入GSD文件
2.2.1.打开博途
在工具栏里找到“选项”→“管理通用站描述文件”,将先前下载的GSDML
文件导入,如下图直接点击安装即可将GSD文件导入完成。
2.2.2.安装完成后,打开博途右侧的“硬件目录”→“其他现场设备”→“PROFINET IO”→“ident system”→“SICK AG”→“RFH6xx”,具体如下图所示。
2.3.硬件组态
2.3.1.将西克RFID拖放到组态窗口中,必须使用握手模式:Handshake(HS),此模式下,每次数据传输都需要PLC 进行回应;支持长数据的快速传输;非握手模式,通常用于短数据传输和通讯测试。
2.3.2.开始进行RFIDIP以及名称配置,具体配置方法与博途中配置其他硬件相同,在这里要必须注意,我们在博途中配置的RFIDIP地址和名称必须与RFID配置软件中的配置参数必须一致。
2.3.3.添加RFID控制字,如下图所示,我们可以根据自己需求选择8位到128位控制字。
2.4.安装SICKRFID库文件
2.4.1.首先进入西克官网下载RFID库文件,在这里我们选择S7功能块,因为本次用的CPU为1500,所以选择S7-1200/1500 TIA专用的功能块。如下图点击下载即可。
2.4.2.在博途中添加库文件,点击博途右侧“库”在全局库中安装刚才下载好的库文件。
2.4.3.开始添加功能块,将SICK AG中的程序包添加到程序块中,将SICK AG中的数据包添加到PLC数据类型中,如下图所示。
2.5.开始程序编写
2.5.1.创建一个RFID专用的全局DB数据块,在DB块中创建一个专用的数据,数据类型选择RFID库中的数据类型,如下图。
2.5.2.调用RFID功能块
管脚介绍:
HWInputIdent Input 硬件标识符,具体数据如下图所示在博途中查看
HWOutputIdent Output 硬件标识符,具体数据如下图所示在博途中查看
HWInputlength PLC分配给RFID input数据长度,本次我们使用的是32位。
HWOutputlenth PLC分配给RFID output数据长度,本次我们使用的是32位。
Tout 设置超时时间,可以用时间量填入其中,系统默认为5s
CANId 设置can 网的站号,如果整套系统采用Master/Slave 或Multiplexer/Server 的多组 组合(单个连接不需要设置)
Req 启动功能块,最后启动此bool 量。
TriggerOn 类似于SOPAS 触发,根据Output format 的设置输出。
ReadTag 用作读取Block 的值。
WriteTag 用作写入Tag 的值。
ReqBusy RFID读/写开始,启动功能块,此布尔量置位,读/写结束后复位。
ReqDone RFID读/写成功后置位,到下一次读/写开始复位。
Error RFID读/写错误后置位
ErrorCode RFID读/写报错代码,具体代码含义参见手册。
Triggeron RFID初次上电启动此布尔量后再置位Req启动功能块,此动作是用来初始化功 能块,否则无法启动RFID进行读/写操作。
Data 将上一步所创建的固定变量作为此管脚的输入数据
其他管脚可以不做处理。
2.6.RFID读写数据
2.6.1.打开我们创建的RFID固定变量
首先我们设置读数据的一些参数,
iStartBlock 读起始地址,默认为0
iNumBlocks RFID中INumBlock*4=iDatalength ,因为此次项目选择的为32位数据读取, 所以此处iNumBlocks值设置为8.
iDatalength 读数据长度,无需更改,自动变换
我们设置写数据的一些参数,
iStartBlock 写起始地址,默认为0
iNumBlocks RFID中INumBlock*4=iDatalength ,因为此次项目选择的为32位数据读取, 所以此处iNumBlocks值设置为8.
iBlocksize 此参数设置为4,不可更改。
2.6.2.读写操作
RFID第一次上电必须进行初始化操作,即
将功能块中的“TriggerOn”置“1”,然后将“Req”置“1”,正常完成后ReqDone 会置TRUE,闹证明初始化完成。
通过功能块读数据操作步骤:
将功能块中的“ReadTag”置”1”再将“Req”置“1”,直到“REQDONE”置“1”为读取成功。可以在创建的固定数据块中查看读取数据值,如下图
通过功能块写数据操作步骤:
将功能块中的“WriteTag”置”1”再将“Req”置“1”。直到“REQDONE”置“1”为写入成功,可以将下图中的数据值写入到RFID电子标签中。
上述步骤均为本次自己所做项目使用的RFID的配置步骤,自己通过查找手册以及SICK售后服务人员的帮助完成,仅供各位参考,如有误,敬请指正。