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 -> 变频器