问题:
使用系统功能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