使用SFC51“RDSYSST”替代SFC12“D_ACT_DP”监 控DP从站设备状态

问题:
使用系统功能SFC12“D_ACT_DP”,如何获得所有激活和未激活的从站的总体情况?n

解答:
使用系统功能SFC12“D_ACT_DP”,为参数“LADDR”指定一个逻辑地址,为参数“MODE”> 指定作业ID 0,可确定一个DP从站的状态。为了监视主站系统中的所有DP从站,必须对每个DP从站执行上述系统功能。n

使用系统功能SFC51“RDSYSST”执行此项任务将更好。使用该系统功能,可以在一次调用中读取所有DP从站的状态。下 表列出了执行此项任务时需要为SFC分配的参数。n

I/O类型 参数 类型 含义
I REQ True BOOL TRUE触发处理过程
I SZL_ID W#16#0692 WORD 所有DP从站的OK状态
I INDEX B#16#1 WORD 主站系统的数目,例如:1
O RET_VAL INT 返回值
O BUSY BOOL 处理过程仍在进行
O SZL_HEADER STRUCT
O DR ANY 确定数据的目标区域

表1:系统功能SFC51的参数n

关于表1中的参数说明:
REQ:
系统功能SFC51是一个异步功能,即处理过程可能跨越多个周期。因此,再次调用该功能之前,应当评估BUSY参数。只有BUSY参数未置位时,> 才能启动一项新的作业。

SZL_ID:
表1中指定的数值只适用于集成DP接口模块上的主站系统。对于外部DP接口模块(例如CP443-5 Ext.),必 须使用数值W#16#4692。

INDEX:
从Hardware Configuration(PROFIBUS(x);DP主站系统(1))中获得此参数的值。

SZL_HEADER:
并不需要此参数,但是必须声明它。传送到此参数中的STRUCT变量包含两个WORD变量。

DR:
将用于保存所确定的数据的变量指定给此参数。在本例中,该变量必须为一个ARRAY OF BYTES [1…16]。该 ARRAY中为每个DP从站(16 x 8 = 128)保留一位。地址为Address 1的DP从站的状态保存在第一个字节的Bit 0位中。如果该位已置位,则表明那个DP从站有故障或者未激活。

注意事项:
关于系统功能SFC51的更多详情请参阅STEP 7的在线帮助,或者通过Start > SIMATIC > DOCUMENTATION选择手册“System Software for S7-300/400 System and Standard Functions”,也可参见条目号:1214574

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc340195.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论