S7-1200与G120CU240X-2DP的PROFIBUS通信第2部分周期通信读写变频器参数1G120PROFIBUS通信功能概述SINAMICSG120第二代控制单元CU240B-2DP、CU240E-2DP、CU240E-2DPF支持基于PROFIBUS的周期过程数据交换和变频器参数访问。周期过程数据交换--通过该通信PROFIBUS主站可将控制字和主设定值等过程数据周期性的发送至变频器,并从变频器周期性的读取状态字和实际转速等过程数据。G120最多可以接收和发送8个过程数据字。该通信使用周期性通信的PZD通道(过程数据区),变频器不同的报文类型定义了不同数量的过程数据字(PZD)。变频器参数访问--提供PROFIBUS主站访问变频器参数的接口,有两种方式能够访问变频器参数:1.周期性通信的PKW通道(参数数据区):通过PKW通道主站可以读写变频器参数,每次只能读或写一个参数,PKW通道的长度固定为4个字。2.非周期性通信:主站采用PROFIBUS-DPV1通信访问变频器数据记录区,每次可以读或写多个参数。本文通过示例介绍S7-1200与CU240E-2DPF的PROFIBUSPKW通信,介绍如何通过PKW通信读P2902[5]参数值、写P1121参数值。2参数通道(PKW)的数据结构PKW通信工作模式:主站发出请求,变频器收到主站请求后处理请求,并将处理结果应答给主站。图2-1PKW通信原理PKW通信的请求和应答数据总是包含4个字,第1个字和第2个字传送参数号、索引以及任务类型(读或写),第3个和第4个字传送参数内容。图2-2PKW参数通道的结构PKE:PKW第1个字•AK:位12~15包含了任务ID或应答ID,任务ID参考表2-1,应答ID参考表2-2;•SPM:始终为0;•PNU:参数号2000PNU=参数号。参数号≥2000PNU=参数号减去偏移,将偏移写入分区索引中(IND位7…0)。图2-3PKW结构表2-1主站发送给变频器的任务ID表2-2变频器发送给主站的应答ID应答ID=7变频器会在参数值PWE1中将错误号发送给主站。表2-3应答ID=7时的错误编号注:更多错误编号描述请参考《CU240E-2操作手册》参数索引IND:PKW第2个字•子下标(参数下标):标识变频器参数的子索引(参数下标)值。例如P840[1]中括号中的“1”即为参数下标。•分区下标:变频器参数偏移量,配合PNU确定参数号。例如P2902的分区下标=0x80,分区下表查询请参考表2-1。图2-4IND结构表2-4分区下标设置,取决于变频器参数范围参数值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表示参数的索引或位号。3S7-1200与CU240X-2DP的PROFIBUSPKW通信实例3.1S7-1200组态CU240E-2DPF控制单元支持两种PKW通信报文:353报文和354报文,它们的区别在于过程值通道PZD数量的不同,PKW通道功能完全相同。本示例以组态353报文为例。S7-1200与CU240X-2DP的PROFIBUS通信基本组态过程以及变频器通信参数设置请参考《S7-1200与G120CU240X-2DP的PROFIBUSPZD通信》文档,在此不做详细介绍。•组态与CU240E-2DPF通信报文1)将硬件目录中“SIEMENStelegr353,PKW+PZD-2/2”模块拖拽到“设备概览”视图的第1个插槽中,系统自动分配了输入输出地址,本示例中分配PKW的输入地址IB68~IB75,输出地址QB64~QW71,分配PZD的输入地址IW76、IW78,输出地址QW72、QW74;2)为方便编程将插槽1的PKW区重命名为“PKW”(在调用系统功能DPRD_DAT、DPWR_DAT时将用到此名字),将插槽2的PZD区重命名为“PZD”。图3-1组态与CU240E-2DPF通信报文•编程:在S7-1200中调用扩展指令“DPRD_DAT”读取PKW区数据,调用扩展指令“DPWR_DAT”写入PKW数据。1)双击项目树下的“Main(OB1)”打开OB1程序编辑窗口;2)扩展指令目录中“分布式I/O-其它-驱动器-DPRD_DAT和DPWR_DAT”指令拖拽到程序编辑窗口中。图3-2S7-1200编程•为系统功能“DPRD_DAT”、“DPWR_DAT”分配硬件标识:1)单击块参数“LADDR”;2)在下拉列表中选择“PKW[AI/AO]”。图3-3分配硬件标识符•为系统功能“DPRD_DAT”、“DPWR_DAT”分配其它参数:1)DPRD_DAT读取缓冲区从MB100开始的8个字节;2)DPRD_DAT发送缓冲区从MB200开始的8个字节;注意:也可以使用DB块作为缓冲区,创建DB时请将块访问模式定义为“标准-与S7-300/400兼容”模式。图3-4分配其它参数3.2示例1:读取参数P2902[5]数值将MB200~MB207的8个字节请求数据发送到变频器,变频器返回的响应数据保存在MW100~MB107的8个字节中。读取参数P2902[5]值的请求数据格式参考表2.2.1,变频器响应数据格式参考表2.2.2。P2902参数范围在2000…3999之间,根据表2-1设置分区索引值为0x80。PNU=2902-2000=902(十进制)=386(十六进制)。通过变量表模拟程序读取参数P2902[5]=100.0,参考图3-4。图3-4S7-1200读P2902[5]参数表3-1读取参数P2902[5]值的请求数据格式,PLC-变频器PKW(第1个字)MW200MW200IND(第2个字)MW202MW202PWE(第3个和第4个字)MD204AK(4bit)(1bit)PNU(10bit)子索引(参数下标)(8bit)高字节分区索引(8bit)低字节PWE1(16bit)高字PWE2(16bit)低字0x10x3860x050x800x00000x0000表3-2读取参数P2902[5]值的响应数据格式,变频器-PLCPKW(第1个字)MW200IND(第2个字)MW202PWE(第3个和第4个字)MD204AK(4bit)(1bit)PNU(10bit)子索引(参数下标)(8bit)高字节分区索引(8bit)低字节PWE1(16bit)高字PWE2(16bit)低字0x20x3860x050x80100.0(浮点数)3.3示例2:修改参数P1121数值将MB200~MB207的8个字节请求数据发送到变频器,变频器返回的响应数据保存在MW100~MB107的8个字节中。修改参数P1121值的请求数据格式参考表2.3.1,变频器响应数据格式参考表2.3.2。P1121参数范围在0…1999之间,根据表2-1设置分区索引值为0x00。PNU=1121(十进制)=461(十六进制)。通过变量表模拟程序修改参数P1121=5.0,参考图2-2。图3-5S7-1200写P1121参数表3-3修改参数P1121值的请求数据格式,PLC-变频器PKW(第1个字)MW200IND(第2个字)MW202PWE(第3个和第4个字)MD204AK(4bit)(1bit)PNU(10bit)子索引(参数下标)(8bit)高字节分区索引(8bit)低字节PWE1(16bit)高字PWE2(16bit)低字0x30x4610x000x005.0(浮点数)表3-4修改参数P1121值的响应数据格式,变频器-PLCPKW(第1个字)MW200IND(第2个字)MW202PWE(第3个和第4个字)MD204AK(4bit)(1bit)PNU(10bit)子索引(参数下标)(8bit)高字节分区索引(8bit)低字节PWE1(16bit)高字PWE2(16bit)低字0x20x4610x000x005.0(浮点数)4文档说明S7-1200与G120CU240X-2DP之间的PROFIBUS通信入门指南包含3个部分:《S7-1200与G120CU240X-2DP的PROFIBUS通信第1部分控制变频器起停及调速》:介绍S7-1200通过周期性通信PZD通道(过程数据区)控制和检测变频器状态。《S7-1200与G120CU240X-2DP的PROFIBUS通信第2部分周期通信读写变频器参数》:介绍S7-1200通过周期性通信PKW通道(参数数据区)读写变频器参数。《S7-1200与G120CU240X-2DP的PROFIBUS通信第3部分非周期通信读写变频器参数》:介绍S7-1200通过非周期性通信读写变频器参数。本文档为第2部分,另外2部分文档可在西门子下载中心搜索下载。下载中心地址:7390883873911605注:有关PROFIBUS通信内容更详细信息请参考《CU240E-2操作手册》关键词G120,CU240E-2DP,CU240B-2DP,S7-1200,PROFIBUS,PKW