1、MM440周期性数据通讯的报文说明 MM440周期性数据通讯报文有效 数据区域由两部分构成,即PKW区(参数识别ID-数值区)和PZD区(过程数据),见图1。 PKW区最多占用4个字,即PKE(参数标识符值:占用一个字)、IND(参数的下标:占用一个字)、PWE1和PWE2(参数数值:共占用两个字)。 S7-1200使用功能块DPRD_DAT/DPWR_DAT读取和修改参数需要占用4个PKW,即调用一次功能块可以修改一个参数。PKW区的说明见表2。下面分别介绍一下PKW区的四个字。 图1 图2 (1)第一个字PKE:参数识别标识ID,见图3。 图3 参数识别标记ID(PKE)总是一个16位的值,位0~10(PNU)包括所请求的参数号码,位11(SPM)用于参数变更报告的触发位,位12~15(AK)包括任务识别标记ID(见图4)和应答识别标记ID(见图5)。 图4 图5 (2)第二个字IND:参数的下标完整的参数号码是由基本参数号码和下标(PNU页号)中的位7产生,见图6。因为MM440参数号码没有超过4000,所以在读取和修改参数号为2000到3999时位7中必须为1。 图6 (3)第三个字PWE1和第四个字PWE2:参数数值,见图7。总是以双字(32位)来传送参数值(PWE)。在PPO报文中,仅一个参数值能被传送。由PWE1(高位有效字:第三个字)和PWE2(低位有效字:第四个字)组成一个32位参数值。用PWE2(低位有效字:第四个字)传送一个16位参数值,这种情况下,必须在PROFIBUS-DP主站中,设定PWE1(高位有效字:第三个字)为零。 图7 位0到15(PWE2):用于16位参数的参数值或用于32位参数的低位部分。 位16到31(PWE1):用于等于零的1位参数或用于32位参数的高位部分。 2、1200PLC硬件组态和站地址设置本例中主站选用的是1214C+CM1243-5 DP通讯模块,从站MM440的DP地址为3,选择的报文结构是PPO1,即含有4个PKW和2个PZD。也可以选择其他报文类型,只要含有4个PKW就可以,如下图: 3、周期性DP通讯读取和修改参数例程首先在主程序OB1块中调用使用功能块DPRD_DAT/DPWR_DAT读取和修改参数,功能块中LADDR管脚直接同一选择地址277,读写两个块LADDR管脚地址必须设置一致,否则可能会出现读写不统一的情况。 (备注:1200/1500定义LADDR管脚直接可以在管脚下标选项中直接选择,300/400在STEP7或TIA环境中需要手动输入,例如:W#16#100) 因为参数2000以下和2000以上的报文中IND不同,本文则以实例分别介绍如何读取和修改MM440的单字、双字和浮点数的三种参数类型。 (1) 单字:修改参数P2013[0]为4,如图: 修改参数请求报文 (2) 双字:修改参数P2200[1]为1,如下图。修改参数请求报文 实际应答报文 (3) 浮点数:修改参数P2240[1]为30.0,如下图。 修改参数请求报文 实际应答报文 来源:网络 |
|
来自: 金玉满堂jjnla8 > 《通信》