如何使用苏培PROFINET总线网关 与西门子1200系列PLC通讯 点击:8 | 回复:0



苏培智能

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 0回
  • 年度积分:53
  • 历史总积分:53
  • 注册:2025年5月23日
发表于:2025-05-23 14:34:21
楼主

    PROFINET 是一种实时以太网标准,面向各种工业应用 (包括工厂自动化、过程自动化和楼宇自动化)所需的高速、确定性通信PROFINET 最初在西门子主导下作为常用的 PROFIBUS 现场总线技术的网络扩展而开发,现在得到了 PROFIBUS & PROFINET International 的支持。

本期我们来注重介绍一下Superisys RFID如何使用PROFINET总线网关与西门子1200系列PLC进行通讯读写。 Superisys IACM-P4系列工业网关是一种提供标准工业总线协议的RFID控制器,支持ProfiNet、EtherCAT、Ethernet/IP协议;包含两个M12 T-CODE电源供电接口,两个M12 D-CODE 4-PIN 网络接口与4个M12 A-CODE RFID读写头接口;工业以太网传输速率最高支持100Mbps,可级联多个总线模块到PLC中,提供强大的现场采集数据能力。外壳采用轻便坚固的工程塑料,具有连接范围广、通信能力强、环境适应好、防护等级高等特点。

ü 可同时连接4RFID读写头进行独立操作;

ü 支持ProfiNetEtherCATEtherNet/IP协议;

ü IP67的防护等级,能够适应油污、粉尘、潮湿等恶劣工况;

ü 双网口,集成交换机功能,可组星型网络和树型网络;

电源输入带反接保护和3000W浪涌保护RFID端口带防反接和过压过流保护 

硬件构架介绍

 

 

RFID架构系统主要组成如下:

控制器(PLC):

下发命令控制读写头进行操作;

网关总线控制器

PLC与网关总线控制器进行通讯,间接控制读写头;

读写头(超高频/高频):

获取控制器的命令,执行对载码体的读/写数据操作;

载码体载码体(超高频/高频):

存储数据的载体,数据存储区域划分如下:

高频载码体有UID区(通常只有8 byte/只读且唯一)、USER区(实际内存大小因载码体类型而异/可读可写);

1. 组态连接

1.1 总线网关GSD文件安装

打开西门子TIA软件,新建一个项目程序,在“选项”栏下方选择“管理通用站描述文件(GSD)”选项,选择GSD文件的相应文件夹,如下图所示:

 图片2.png

勾选相应文件夹下的GSD文件,点击“安装”,完成即可。

1.2 总线网关设备组态

Ø 双击“设备组态”,选择 “网络视图”,在右方的“硬件目录”下依次点击“其它现场设备”——“Gateway”——“Superisys”——“IACM-P4”——“Superisys_PN_V2.32”,将其拖拽至“网络视图”空白栏,如下图所示:

图片3.png

Ø 双击IACM-P4-PN”设备,选择硬件模块的“网口”图标双击,修改配置PN网关的IP地址为192.168.0.10(默认),如下图所示:

图片4.png

设置完成,编译好点击“保存”即可。

1.3 PN网关组态参数下载

Ø 选择“设备组态”图标,在上方选项栏点击“下载到设备”,选择好相应的PC网络接口以及子网连接,“搜索”到PLC的IP地址后,点击“下载”按钮对“硬件组态”进行下载(本例程使用西门子1200系列型号的PLC,IP地址设置为:192.168.0.8)下载完硬件组态后,点击上方“转至在线”按钮,选择“网络设备”栏,如下图所示:

图片5.png 

通常进行一个PN总线网关使用测试时,“IACM-P4-PN”总线网关是直接显示正常在线的,如上图所示,显示绿色;

(用户也可通过总线网关状态指示灯对连接状态进行确认)

Ø 在进行多个PN总线网关的连接测试时,通常后续PN总线网关需要重新分配设备名称,点击“转至在线”后,“IACM-P4-PN_1”总线网关会显示未能正常连接,选择“DP-NORM”模块,右键选择“分配设备名称”,在出现的“分配PROFINET设备名称”的串口中,点击“更新列表”按钮,选中更新出现的“IACM-P4”设备,点击“分配名称”按钮对PN总线网关设备进行PROFINET设备名称在线分配,如下图所示:

图片6.png 

Ø 分配完成后,关闭“分配PROFINET设备名称”弹窗,点击“转至离线”按钮,再次进行“设备组态”下载,下载完成后,再次点击“转至在线”按钮,查看PN总线网关设备的在线连接状态,如下图所示:

图片7.png 

2. 功能块介绍

2.1网关RFID通道的变量映射

选择例程程序的IACM-P4-PN”模块,右键选择“属性”,点击“系统常数”,对应网关读写头的输入输出地址映射自动分配如下图所示:

图片8.png 

2.2 RFID读写功能块引脚说明

一个RFID_RW_FB”功能块实例调用对应一个端口通道的读写头,功能块图形如下:

图片9.png 

Ø 功能块引脚说明

每个功能块实例对应一个读写头,功能块引脚定义及功能如下:

输入引脚定义解析:

序号

名称

数据类型

说明

1

IN_Address

HW_SUBMODULE

RFID组态输入硬件标识符

2

xRead

Bool

读取载码体的USER区(需指定起始地址、长度进行读取)

3

wReadAddress

Word

读操作指定的载码体内存起始地址

4

iReadLength

Int

读操作指定的载码体内存字长度

5

xWrite

Bool

对载码体的USER区写入(需指定起始地址、长度进行写入)

6

wWriteAddress

Word

写操作指定的载码体内存起始地址

7

iWriteLength

Int

写操作指定的载码体内存字长度

8

arrWriteData

Array[Byte]

写载码体USER内存数据填充区

9

xReset

Bool

复位命令,复位状态机

10

OUT_Address

HW_SUBMODULE

RFID组态输出硬件标识符

输出引脚定义解析:

序号

名称

数据类型

说明

1

xReady

Bool

读写头连接信号

0:未建立连接  

1:已建立连接

2

xTP

Bool

读写头检测载码体信号

0:未检测到载码体  

1:已检测到载码体

3

xBusy

Bool

读写头命令执行状态

0:空闲    1:执行命令中

4

iTagRSSI

Int

读写头感应载码体信号强度

0:未感应到

1:信号强度较弱

2:信号强度较好

3:信号强度强

5

iUIDLength

Int

载码体ID长度

6

arrUIDData

Array[Byte]

载码体ID数据区

7

arrReadData

Array[Byte]

读载码体内存数据存储区

输入输出引脚定义:

序号

名称

数据类型

说明

1

wErrorCode

Word

读写头命令执行状态码

16#00 :成功

16#XX :错误码(具体见第四章错误代码定义详情)

2

iStepNum

Int

功能块命令执行步序

3

xReadError

Bool

读取载码体内存命令执行错误

4

xReadDone

Bool

读取载码体内存命令执行成功

5

xWriteError

Bool

写入载码体内存命令执行错误

6

xWriteDone

Bool

写入载码体内存命令执行成功

 

xReadxWrite两个信号互斥,同一时间只能有一个信号为高电平,功能块只会执行第一个检测到的有效信号。

2.3 RFID读写头输入输出地址映射

本例程中,PN总线网关的各个RFID地址映射通过组态的“硬件标识符”进行映射的,如下图所示,RFID1的输入、输出硬件标识符分别是“282”、“283”,分别将数字填写到相应的RFID1调用功能块“IN_Address”和“OUT_Address”引脚即可:

 

图片10.png 

3 读写头读/写功能示例

3.1命令执行时序

1、载码体ID读取

 调用RFID读写功能块后,默认保持RFID使能当读写头感应到载码体的在位信号(xTP)的上升沿,自动上传载码体ID数据,当载码体离开读写头感应区域时,载码体ID数据自动清空,具体的时序如下所示

图片11.png 

2、命令执行

 在执行读写载码体内存数据命令时,需要先填写好读写的参数(读写载码体内存的起始地址,字节长度,写入的数据填充区数据内容等),然后再触发读写命令,具体的命令执行时序如下图所示:

图片12.png 

xRead/Write执行过程中,在未收到(xRead/WriteDone、xRead/WriteError)信号时,请不要手动复位xRead/Write信号,也建议用xTP信号去替代xRead信号进行自动读取触发。

3.2UID数据区

Ø 操作步骤如下:

a) 载码体靠近读写头,读写头自动感应载码体,载码体到位信号“xTP”变为“TRUE”;

b) arrUIDData[0] – arrUIDData[7] 自动获取所靠近载码体的UID数据,固定长度8个字节;

图片13.png

备注:UID数据出厂时设定,可读不可写,数据序列是唯一的

3.3USER数据区

Ø 写入数据至载码体

当载码体静止在读取范围时,通过写入功能可以向一个载码体指定的地址写入特定长度的数据命令的执行以”xWrite”高电平开始,在命令执行前,需要填写以下参数:


序号

参数

参数类型

说明

1

wWriteAddress

输入

指定载码体内存的起始地址

2

iWriteLength

输入

写载码体的内存字节长度

3

arrWriteData

输入

写载码体内存的数据填充区

Ø 写入操作步骤如下:

a) 载码体靠近到位,载码体到位信号xTP信号的值为“1”;

b) arrwriteData数组中填充数据要写入的数据;

c) 载码体到位,载码体到位信号xTP信号的值为“TRUE”;

d) 修改数据长度iWriteLength的值8,单位为字节;

e) 修改起始地址wWriteAddress的值为16#0000

f) 修改写入命令xWrite  1”;

g) 查看功能块反馈回来的完成信号xWriteDone和错误信号xWriteError

如下图所示:从起始地址0开始,写入8个字节数据进入载码体的用户区成功。

图片14.png

3.4USER区

Ø 从载码体读取数据

当载码体在读取范围时,通过读取功能可从载码体指定起始地址读取特定长度的数据命令的执行以”xRead”高电平开始,在命令执行前,需要先填充部分引脚参数:

序号

参数

参数类型

说明

1

wReadAddress

输入

指定载码体内存的起始地址

2

iReadLength

输入

读取载码体的内存字节长度

3

arrReadData

输出

读取载码体内存的数据存储区

Ø 读取操作步骤如下:

a) 载码体到位,载码体到位信号xTP信号的值为“TRUE”;

b) 修改数据长度iReadLength的值为8,单位为字节;

c) 修改起始地址wReadAddress的值为16#0000

d) 修改写入命令xRead  1”(必须先复位xWrite信号);

e) 查看功能块反馈回来的完成信号xReadDone和错误信号xReadError

如下图所示:从起始地址0开始,读取8个字节载码体的用户区数据成功。

图片15.png

4.错误码

4.1 错误码详细定义

读写头自定义错误码(命令执行错误时):

错误码

定义

说明

十进制

十六进制

144

90H

无标签响应

此时标签可能不在读取范围

145

91H

射频数据错误

此时可能有强电磁干扰导致数据传输出错或者数据传输一半标签离开读取区域

147

93H

标签内存锁定

标签内存已经锁定禁止写入

149

95H

标签离开

读取到一半数据标签离开

150

96H

标签离开

一半数据标签离开

161

A1H

射频数据发射异常

射频数据无法发送出去

176

B0H

参数错误


功能块自定义错误码:

错误码

定义

说明

十进制

十六进制

144

70H

读写头未连接

读写头未正常连接

145

71H

命令无效

命令执行时参数错误

147

74H

读取超时

读取命令执行超时

149

75H

写入超时

写入命令执行超时

150

90H

标签不在位

命令执行时,载码体不在感应区域

 




楼主最近还看过


热门招聘
相关主题

官方公众号

智造工程师