如何去实现S7-1500从站的激活与取消激活

描述

通过指令“D_ACT_DP”,可根据需要取消激活和激活所组态的 DP 从站/PROFINET IO 设备。另外,还可查询每个指定的 DP 从站或 PROFINET IO 设备当前是启用还是禁用。

如果CPU中组态了未安装或暂不需要使用的 DP 从站/PROFINET IO 设备,则 CPU 将不会按规定时间间隔访问这些 DP 从站/PROFINET IO 设备。在从站禁用后,将停止进一步的 CPU 访问。对于 PROFIBUS DP,采用这种方式可确保 DP 总线循环速度达到最高,从而避免错误事件的发生。

如果使用“D_ACT_DP”禁用一个 DP 从站/PROFINET IO 设备,则其过程输出会置为组态的替代值或 0(安全状态)。分配的 DP 主站/PROFINET IO 控制器不再继续寻址该组件。被禁用的 DP 从站/PROFINET IO 设备不会导致CPU的指示灯显示错误报警。

博途编程

示例中的软件和硬件环境:

1.CPU1512C-1PN(6ES7 512-1CK00-0AB0),V2.6

2.ET200SP(6ES7 155-6AU00-0BN0),V3.3

3.TIA Portal V15.1

要求:已正确组态的PROFINET IO 网络系统。如图1所示:

Act

图1.PROFINET IO系统

1、调用指令

在用户程序中调用D_ACT_DP指令。如图2所示:

Act

图2.调用指令

D_ACT_DP指令的参数如表1所示:

REQ BOOL REQ=1:启用或禁用运行。
MODE USINT 0:请求寻址组件 启用或禁用的信息 (通过 RET_VAL 参数输出)
1:启用 DP 从站/PROFINET IO 设备
2:禁用 DP 从站/PROFINET IO 设备。
LADDR HW_DEVICE 从站的硬件标识符。
RET_VAL WORD 在指令执行过程中如果发生错误,则返回值将包含错误代码。
BUSY BOOL BUSY=1:作业仍处于激活状态。
BUSY=0:作业已终止。

表1.D_ACT_DP指令参数

2、取消激活IO从站

设置输入参数MODE的值为2,置位输入端REQ,执行禁用IO从站命令。如图3所示:

Act

图3.取消激活IO从站

D_ACT_DP指令的输出BUSY由TRUE变为FALSE后,指令执行完成。网络视图中的IO从站 ET200sp的状态变为已禁用。ET200sp与CPU不再进行周期性数据通信。如图4所示:

Act

图4.IO从站已禁用

此时ET200sp的子模块均处于禁用状态。如图5所示:

Act

图5.IO从站模块已禁用

ET200SP从站中的输出模块状态保持为用户硬件组态时的"对CPU STOP模式的相应"设置值。如图6所示:

Act

图6.输出模块设置

3、激活IO从站

设置输入参数MODE的值为1,置位输入端REQ,执行激活IO从站命令。如图7所示:

Act

图7.激活IO从站

D_ACT_DP指令的输出BUSY由TRUE变为FALSE后,指令执行完成。网络视图中IO从站ET200sp恢复与CPU的周期性通信。如图8所示:

Act

图8.IO从站已激活

ET200SP从站子模块由禁用状态恢复为正常工作状态。如图9所示:

Act

图9.IO从站模块已激活

4、查询IO从站当前启用或禁用信息

当D_ACT_DP指令的输入参数MODE的值为0时,可以通过该指令查询IO从站当前的激活/取消激活的信息。此信息通过参数RET_VAL输出。如图所示:

RET_VAL的值为 16#0001时,DP 从站/PROFINET IO 设备处于启用状态。如图10所示:

Act

图10.IO从站处于激活状态

RET_VAL的值为 16#0002时,DP 从站/PROFINET IO 设备处于禁用状态。如图11所示:

Act

图11.IO从站处于禁用状态。

当D_ACT_DP指令的输入参数 MODE=1或MODE=2 时,RET_VAL输出指令运行时的故障代码。



审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分