技术论坛

S7-1200与MM4变频器PROFIBUS通讯-周期通讯读写参数实例

作者 主题
侠士

经验值: 1878
发帖数: 125
精华帖: 5
主题:【分享】S7-1200与MM4变频器PROFIBUS通讯-周期通讯读写参数实例
推荐帖 推荐帖


只看楼主 楼主 2019-08-20 09:10:10

 

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,如图:

修改参数请求报文
PKE=MW200=200D
IND=MW202=0080
PWE1= MW204=0000
PWE2= MW206=0004
实际应答报文
PKE= MW300=100D
IND= MW302=0080
PWE1= MW304=0
PWE2= MW306=4

 

(2) 双字:修改参数P2200[1]为1,如下图。
修改参数请求报文
PKE= MW200=80C8
IND= MW202=0080
PWE1= MW204=0001
PWE2= MW206=0000

实际应答报文
PKE= MW300=50C8
IND= MW3002=0080
PWE1= MW304=0001
PWE2= MW306=0000

 

(3) 浮点数:修改参数P2240[1]为30.0,如下图。

修改参数请求报文
PKE= MW200=80F0
IND= MW202=0080
PWE1+PWE2= MD204=30.0

实际应答报文
PKE= MW300=50F0
IND= MW302=0080
PWE1+PWE2= MD304=30.0

 


 
推荐帖推荐理由: 该项目不失为设备改造项目的参考,步骤详实。 (推荐人:WWCWWC)
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1579508&b_id=104&s_id=0&num=9

至圣

经验值: 72010
发帖数: 8043
精华帖: 145
回复:S7-1200与MM4变频器PROFIBUS通讯-周期通讯读写参数实例
推荐帖


只看楼主 1楼 2019-08-20 09:22:33

好贴!

虽然MM440变频器离我们的使用渐行渐远了,但是在用设备上还是能够看到它的靓颖的,该贴不失为好贴的原因就在此。尤其是设备改造项目很有参考价值。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 136822
发帖数: 34972
精华帖: 435
回复:S7-1200与MM4变频器PROFIBUS通讯-周期通讯读写参数实例


只看楼主 2楼 2019-08-20 09:33:54

PZD是周期通讯,PKW也是吗?我记得PKW是非周期通讯呀?


我是你的朋友
以下网友喜欢您的帖子:

  
侠士

经验值: 1878
发帖数: 125
精华帖: 5
回复:S7-1200与MM4变频器PROFIBUS通讯-周期通讯读写参数实例
推荐帖


只看楼主 楼主 3楼 2019-08-20 10:23:25
以下是引用kdrjl在2019-08-20 09:33:54的发言 >2楼

PZD是周期通讯,PKW也是吗?我记得PKW是非周期通讯呀?

MM440周期性数据通讯报文有效数据区域由两部分构成,即PKW区(参数识别ID-数值区)和PZD区(过程数据),如下图。PKW区最多占用4个字,即PKE(参数标识符值:占用一个字)、IND(参数的下标:占用一个字)、PWE1和PWE2(参数数值:共占用两个字)。S7-1200/1500使用功能块DPRD_DAT/DPWR_DAT读取和修改参数需要占用4个PKW,即调用一次功能块可以修改一个参数。

 

MM440非周期性数据通讯的报文说明
MM440也支持非周期通讯方式,即扩展的PROFIBUS DP(DPV1)功能,一次最多可以传送240个字节,传输数据块的内容应遵照 PROFIdrive Profile, version 4.0(with data block 47 (DS47))非周期参数通道结构。它包括参数请求和参数应答两部分。

 




 
以下网友喜欢您的帖子:

  
至圣

经验值: 18920
发帖数: 2108
精华帖: 0
回复:S7-1200与MM4变频器PROFIBUS通讯-周期通讯读写参数实例
推荐帖


只看楼主 4楼 2019-08-20 13:10:25

嗯,步骤详细,实用


 
以下网友喜欢您的帖子:

  
至圣

经验值: 18415
发帖数: 2409
精华帖: 1
回复:S7-1200与MM4变频器PROFIBUS通讯-周期通讯读写参数实例
推荐帖


只看楼主 5楼 2019-08-20 13:30:32

嗯实例分享,不错


 
以下网友喜欢您的帖子:

  
至圣

经验值: 10583
发帖数: 1796
精华帖: 0
回复:S7-1200与MM4变频器PROFIBUS通讯-周期通讯读写参数实例


只看楼主 6楼 2019-08-20 13:48:56
很有参考价值,谢谢分享。
 
以下网友喜欢您的帖子:

  
侠士

经验值: 1878
发帖数: 125
精华帖: 5
回复:S7-1200与MM4变频器PROFIBUS通讯-周期通讯读写参数实例


只看楼主 楼主 7楼 2019-08-20 14:24:22

 感谢各位的肯定


 
以下网友喜欢您的帖子:

  
奇侠

经验值: 6042
发帖数: 939
精华帖: 4
回复:S7-1200与MM4变频器PROFIBUS通讯-周期通讯读写参数实例


只看楼主 8楼 2019-08-20 15:45:36

非常好的实例分享,感谢!


不患无位,患所以立
以下网友喜欢您的帖子:

  
侠圣

经验值: 2121
发帖数: 80
精华帖: 9
回复:S7-1200与MM4变频器PROFIBUS通讯-周期通讯读写参数实例


只看楼主 9楼 2019-09-06 11:05:45

 

不错的实例分享


 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
S7-1200与MM4变频器PROFIBUS通讯-周期通讯读写参数实例
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。