PLC论坛-全力打造可编程控制器专业技术论坛

 找回密码
 注册哦

QQ登录

只需一步,快速开始

微信扫码登录

查看: 74088|回复: 0

[西门子] S7-1200 与 G120 CU250S-2PN 的 PROFINET 通讯(周期通讯读写变频器参数)

[复制链接]
发表于 2024-4-16 08:24:08 | 显示全部楼层 |阅读模式
1、PROFINET IO 通讯功能概述

SINAMICS G120 的控制单元CU250S-2 PN 支持基于PROFINET 的周期过程数据交换和变频器参数访问。

周期过程数据交换

PROFINET IO 控制器可以将控制字和主给定值等过程数据周期性的发送至变频器,并从变频器周期性的读取状态字和实际转速等过程数据。

变频器参数访问

提供PROFINET IO 控制器访问变频器参数的接口,有两种方式能够访问变频器的参数:

   1. 周期性通讯的PKW 通道(参数数据区):通过PKW 通道PROFINET IO 控制器可以读写变频器参数,每次只能读或写一个参数,PKW 通道的长度固定为4 个字。

   2. 非周期通讯:PROFINET IO 控制器通过非周期通讯访问变频器数据记录区,每次可以读或写多个参数。

本文通过示例介绍S7-1200 与G120 CU250S-2 PN 的PROFINET PKW 通讯,以组态标准报文353 为例介绍通过S7-1200 如何通过PKW通讯读r2902[5]参数值、写P1121 参数。

2、参数通道(PKW)的数据结构

PKW 通讯工作模式:主站发出请求,变频器收到主站请求后处理请求,并将处理结果应答给主站。



图 2-1 PKW 通讯原理



图 2-2 PKW 参数通道的结构

PKW 通讯的请求和应答数据总是包含4 个字,第1 个字和第2 个字传送参数号、索引以及任务类型(读或写),第3 个和第4 个字传送参数内容。

2.1 PKE:PKW 第 1 个字

   · AK:位 12~15 包含了任务 ID 或应答 ID,任务 ID 参考表 2-1,应答 ID参考表 2-2 ;

   · SPM:始终为 0;

   · PNU:参数号 < 2000 PNU = 参数号。参数号≥ 2000 PNU = 参数

号减去偏移,将偏移写入分区索引中( IND 位 7 … 0 )。



图 2-3 PKE 结构



表2-1 控制器发送给变频器的任务ID

   1) 所需参数元素在 IND(第 2 个字)中规定。

   2) 以下的任务 ID 是相同的:1 ≡ 6、2 ≡ 7、3 ≡ 8。

我们建议使用 ID 6、7 和 8。



表2-2 变频器发送给控制器的应答 ID

   1) 所需参数元素在 IND(第 2 个字)中规定。

   2) 所需含索引的参数元素在 IND(第 2 个字)中规定。



表2-3 应答 ID = 7 中的错误号

2.2 参数索引 IND:PKW 第 2 个字

   · 子下标(参数下标):标识变频器参数的子索引(参数下标)值。例如P0840[1]中括号中的“1”即为参数下标。

   · 分区下标:变频器参数偏移量,配合 PNU 确定参数号。例如 P2902 的分区下标 = 0x80,分区下表查询请参考表 2-4。



图2-4 IND 结构



表2-4 分区下标设置

2.3 参数值 PWE:PKW 第 3、4 个字

参数值 PWE 总是以双字方式( 32 位)发送,一条报文只能传送一个参数值。

   · 32 位的参数值由 PWE1(第 3 个字)和 PWE2(第 4 个字)两个字组成;

   · 16 位的参数值以 PWE2 表示,PWE1 为 0;

   · 8位的参数值以 PWE2 中位 0…7 表示,高 8 位和 PWE1 为 0;

   · BICO 参数:PWE1 表示参数号,PWE2 位 10…15 为 1,PWE2 位0…9 表示参数的索引或位号。

3、S7-1200 与CU250S-2 PN 的PROFINET PKW 通讯实例

3.1 S7-1200 组态

CU250S-2 PN 控制单元支持两种 PKW 通讯报文:353 报文和 354 报文,它们的区别在于过程值通道 PZD 数量的不同,PKW 通道功能完全相同。本示例以组态 353 报文为例。

S7-1200 与 CU250S-2 PN 的 PROFINET 通讯基本组态过程以及变频器通讯参数设置请参考《S7-1200 与 G120 CU250S-2 PN 的 PROFINET PZD 通讯》文档,在此不做详细介绍。

3.1.1 组态 CU250S-2 PN 通讯报文

1. 将硬件目录中“SIEMENS telegram 353, PKW+PZD-2/2”模块拖拽到“设备概览”视图的插槽中,系统自动分配了输入输出地址,本示例中分配PKW 的输入地址 IB68~IB75,输出地址 QB64~QB71,分配 PZD 的输入地址 IW76、IW78,输出地址 QW72、QW74。



图 3-1 组态与 CU250S-2 PN 通讯报文

3.1.2 编程

在 S7-1200 中调用扩展指令“DPRD_DAT”读取 PKW 区数据,调用扩展指令“DPWR_DAT”写入PKW 区数据。

   1. 双击项目树下的“Main(OB1)”打开 OB1 程序编辑窗口;

   2. 扩展指令目录中“分布式 I/O -> 其它 -> DPRD_DAT 和 DPWR_DAT ”指令拖拽到程序编辑窗口中。



图 3-2 S7-1200 编程

3.1.3 为系统功能“DPRD_DAT”、“DPWR_DAT”分配硬件标识

   1. 单击块参数“LADDR”;

2.在下拉列表中选择“SIEMENS_telegram_353,_PKW+PZD-2_2[AI/AO]”。



图 3-3 分配硬件标识符

3.1.4 为系统功能“DPRD_DAT”、“DPWR_DAT”分配其他参数

   1. DPRD_DAT 读取缓冲区从MB100 开始的 12 个字节;

   2. DPWR_DAT 发送缓冲区从MB200 开始的 12 个字节;

注意:也可以使用 DB 块作为缓冲区,创建 DB 时请将块访问模式定义为“标准-与 S7-300/400 兼容”模式。



图 3-4 分配其它参数

3.2 示例 1:读取参数r2902[5]数值

将 MB200~MB207 的 8 个字节请求数据发送到变频器,变频器返回的响应数据保存在MW100~MB107 的 8 个字节中。读取参数 P2902[5]值的请求数据格式参考表 3-1,变频器响应数据格式参考表 3-2。

r2902 参数范围在 2000…3999 之间,根据表 2-4 设置分区索引值为 0x80。PNU = 2902-2000 = 902(十进制)= 386 (十六进制)。

通过变量表模拟程序读取参数 r2902[5] = 100.0,参考图 3-5。



图3-5 S7-1200 读r2902[5]参数



表3-1 读取参数r2902[5]值的请求数据格式,PLC-〉变频器



表3-2 读取参数r2902[5]值的响应数据格式,变频器 -> PLC

3.3 示例2:修改参数P1121 数值

将MB200~MB207 的8 个字节请求数据发送到变频器,变频器返回的响应数据保存在MW100~MB107 的8 个字节中。修改参数P1121 值的请求数据格式参考表3-3,变频器响应数据格式参考表3-4。

P1121 参数范围在0…1999 之间,根据表2-1 设置分区索引值为0x00。

PNU = 1121(十进制)= 461 (十六进制)。

通过变量表模拟程序修改参数P1121 = 5.0,参考图3-6。



图3-6 S7-1200 写P1121 参数



表3-3 修改参数P1121 值的请求数据格式,PLC -> 变频器



表3-4 修改参数P1121 值的响应数据格式,变频器 -> PLC
更多详细内容,单击下方公众号,点赞+关注。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册哦

本版积分规则

QQ|小黑屋|手机版|Archiver|PLC技术网-PLC论坛 ( 粤ICP备17165530号 )|网站地图

GMT+8, 2024-5-4 16:34 , Processed in 0.051520 second(s), 27 queries .

快速回复 返回顶部 返回列表