您要打印的文件是:AGV机器人RFID传感器CK-G06A与西门子1200PLC应用手册

AGV机器人RFID传感器CK-G06A与西门子1200PLC应用手册

作者:佚名    转贴自:https://blog.csdn.net/Alex88389516/article/details/125191247    点击数:46


AGV机器人RFID传感器CK-G06A与西门子1200PLC应用手册

华翔天诚科技

于 2022-06-08 20:10:14 发布

阅读量1k
 收藏 7

点赞数 1
分类专栏: 工业自动化RFID应用与解决方案 文章标签: AGV机器人传感器 AGV机器人RFID传感器 AGV机器人 西门子1200 PLC RFID传感器
版权

工业自动化RFID应用与解决方案
专栏收录该内容
200 篇文章14 订阅
订阅专栏
AGV机器人RFID传感器CK-G06A是一款基于射频识别技术的低频RFID标签传感器,传感器工作频率为125KHZ,同时支持对EMID,FDX-B两种格式标签的读取。传感器内部集成了射频部分通信协议,用户只需通过RS232通信接口接收数据便能完成对标签的读取操作,而无需理解复杂的射频通信协议,CK-G06A型号的为RS485通讯接口。

        传感器自带Auto-turning自动调谐电路,在不同环境中工作时能自动调节电路参数,使外部环境对读卡距离的影响降到最小,进一步增强了自身的抗干扰能力, 具有接收灵敏度高、性能稳定、可靠性强等特点。

        传感器可广泛应用于物流,仓储管理,过程控制,AGV站点控制等领域机器人。

本文将重点介绍 AGV机器人RFID传感器CK-G06A与西门子1200 PLC的应用与调试!

 

一、CK-G06A通信连接

1、接线说明

           CK-G06A接线说明:

VCC  -- 读卡器24V电源

GND -- 读卡器0V

A      --  RS485通信口A线

B      --  RS485通信口B线

2、通信格式

通信接口:RS485

起始位:1个

数据位:8个

奇偶校验位:无

停止位:1个

波特率:9600

输出编码格式:ASCII码

3、数据格式

传感器同时支持EMID和FDX-B两种格式电子标签,信号输出数据格式如下:

【起始码】+【标签类型码】+【十进制卡号】+【RCC校验】+【结束码】

【起始码】      :1个字节,字符’$’

【标签类型码】:1个字节,’E’为EMID,’F’为FDX-B

【十进制卡号】:15字节,前3字节为国家代码,后12字节为卡号(高位在前)

【RCC校验】  :2个字节,高位在前,低位在后,为前16字节的异或值(不包括起始符’ $’)

【结束码】    :1一个字节,字符’#’

备注:EMID为10位数据编码格式,FDX-B为15位数据编码格式。例如:

1、   传感器输出” $E07300123456789070#”, ’E’是标签类型码,其中” 073”是国家代码,” 00”为补零数据,” 1234567890”为EMID格式编码数据,”70”是异或值

2、   传感器输出“$F91800001234678972#”,’F’是标签类型码,” 918000012346789”为标签编码数据,” 72”是异或值;

二、程序编写

1、硬件选型

PLC:西门子1211C AC/DC/RLY(6ES7211-1BE40-0XB0)

通信模块:西门子CB 1241 RS485 (6ES7241-1CH30-1XB0)

读卡器:CK-G06A

2、软件选型

编程组态软件:TIA Portal V14 SP1

PLC固件版本:V4.2

通信模块固件版本:V1.0

3、组态

3.1、 PLC选型

 

  3.2、通信模块选型

 

4、参数配置

4.1、通信格式设置

在设备视图内选中CB1241通信板 右键选择属性 在常规选项内点击IO-Link  将其内部属性调整至和CK-G06A的属性一致即可

4.2、接收开始帧

展开组态所接收的消息 点击消息开始  将以任意字符开始 改为以特殊条件开始 选中通过单个字符识别消息开始  在消息开始字符(十六进制)内填入24 (十六进制24在ASCII字符中代表的是$号)

 4.3、 接收结束帧

在消息结束选项框内 选中消息超时识别消息结束 再在下方的消息超时框内填入50(该值可根据自身实际情况进行调整)

再移动到下方的5字符消息结束序列  先勾选上方通过字符序列识别消息结束 再勾选检查字符1  填入23(十六进制23在ASCII码内是#号)

5、程序编写

首先先添加一个FB和DB块将其重命名一下

 

在项目树内选中刚刚新建好的DB块 右键选择属性 在弹出来的窗口内再选中属性 将优化的块访问取消勾选 点击确定

本例程内主要用到的功能指令在 通信→通信处理器→点到点 和 扩展指令→字符串+字符

首先先放置一个PORT_CFG功能块,该功能块主要是初始化通信模块的参数,具体含义可选中功能块后按F1查看。

写完初始化功能块后,就可以进行读操作了,放入一个RCV_PTP功能块。

这里我们主要注意BUFFER参数这里,不能使用String的数据类型。

P#DB3.DBX34.0 BYTE 32代表的是 从DB3程序块内第34个Byte的第0位开始的32BYTE

这里指向的是ReadHex里的32Byte用做接收BUFFER的缓存

程序段3是将数据拷贝到出去准备进行异或校验,并去除掉帧头$帧尾#。

ReadNdr为1时代表成功读取到数据     

程序段4是获取数据帧中最后那两位RCC校验的值

先从16进制的ASCII码转换成String字符串,再从字符串型转换成16进制,这样就由0X31,0X37转成了0X17

 

接收完成标志位=TRUE的时候

给RccCheck清零

再FOR 循环15次

RccCheck异或ReadRCC数组进行计算

最后再把ReadOK给复位

最后得出来的RccCheck值就是最后的的RCC校验值

将计算出来的RCC值与帧内的RCC值进行对比,一致的话说明传输过程中没有错数据。

再判断帧内FDX与EMID格式,将标志位置为不同的状态,再用上面用过的方法将ASCII码转成16进制进行输出,高位转换出来的时候由于只有7位所以要右移一下。

例:从1230_0450变为0123_0045

注:在该程序中EMID格式的中间两位00对应用没有造成影响,故不去除。各位可根据自己的实际情况将两位补偿的00给剔除掉。

在主函数内将其如图所示使用

       REQ :使能端

       ID    :硬件标识符

       EmidOrFdx    :卡片格式判断 SET: EMID格式  RESET: FDX-B格式

       OutDataL      :卡片数据低位

       OutDataH      :卡片数据高位


华翔天诚科技