13.2.3 非周期DP通信读取和修改参数例程
1.使用SFB52/SFB53
第一种方法就是使用SFB52/SFB53,对MM440进行非周期DP通信读取参数时必须要成对出现,即先发送读请求块SFB53,然后发送SFB52块读取参数;而修改参数只需要发送功能块SFB53就可以,具体如图13-22和图13-23所示。
图13-22 读请求(SFB53)
图13-23 读参数(SFB52)
功能块中ID的地址可以设置为PZD或者PKW的地址,也可以设置为诊断地址,本例中设为诊断地址W#16#1FFA;功能块中INDEX必须为47;建议功能块中LEN和RECORD的长度一致,或者RECORD的长度大于LEN的长度,只要小于240字节即可。
程序中先置M0.0为1发出读请求,然后程序自动把M0.0复位为0;再置M0.1为1进行读取参数,M0.1也自动复位为0。
2.使用SFC58/SFC59
第二种方法就是使用SFC58/SFC59,对MM440进行非周期DP通信读取参数必须要成对出现,即先发送读请求块SFC59,然后发送SFC58块读取参数;而修改参数只需要发送功能块SFC59就可以,如图13-24和图13-25所示。
图13-24 读请求SFC59
功能块中LADDR的地址可以设置为PZD或者PKW的地址,也可以设置为诊断地址,本例中设为诊断地址W#16#1FFA;功能块中IOID必须设置为B#16#54;功能块中RECNUM必须为B#16#2F,即十进制必须为47;程序中先置M2.0为1发出读请求,然后程序自动把M2.0复位为0;再置M2.1为1进行读取参数,M2.1也自动复位为0。图13-26所示为DP从站中的属性部分“诊断地址”。
图13-25 读参数SFC58
图13-26 诊断地址
3.具体编程案例分析
1)一次读取参数P1120的三个下标值和P1121的三个下标值,报文结构说明如图13-27所示,其中DB1.DBB 2(驱动单元ID号码):可以取值为0或1或2。实际设置如图13-28所示。
2)单字:修改参数P0701的三个下标值均为9,主程序调用功能块SFC59,如图13-29所示,M3.1置后则自动复位为0。实际修改参数如图13-30所示。变频器通信专用STARTER软件中参数P0701的三个下标值均被修改为9,如图13-31所示。
图13-27 报文结构说明
图13-28 实际设置
图13-29 主程序调用功能块SFC59
图13-30 实际修改参数(单字)
图13-31 变频器通信专用STARTER软件的显示结果(单字)
3)双字:把参数P2200的三个下标值都修改为1,实际修改参数见图13-32,STARTER软件中参数被修改为1,如图13-33所示。
图13-32 实际修改参数(双字)
图13-33 STARTER软件监视结果(双字)
4)浮点数:把参数P1120的三个下标修改为11.0/7.0/30.0,实际修改参数如图13-34所示,STARTER软件中参数被修改为11.0/7.0/30.0,如图13-35所示。
图13-34 实际修改参数(浮点数)
图13-35 STARTER软件监视结果(浮点数)