跟大家分享西门子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的指示灯显示错误报警。
一、软件和硬件需求,本文以博图V15为例:
1、硬件组态安装好的CPU1512C-1PN(6ES7 512-1CK00-0AB0)。
2、硬件组态安装好的ET200SP(6ES7 155-6AU00-0BN0)从站。
3、TIA Portal V15.1 软件。
4、在TIA Portal V15.1 软件正组态以上设备及从站,配置好PROFINET IO 网络系统。并下载到plc中,如下图所示。
二、在TIA Portal V15.1 软件编写程序
1、调用指令
在用户程序中调用D_ACT_DP指令。如下图所示:
D_ACT_DP指令的参数如下图所示:
2、取消激活IO从站
设置输入参数MODE的值为2,置位输入端REQ,执行禁用IO从站命令。如下图所示:
D_ACT_DP指令的输出BUSY由TRUE变为FALSE后,指令执行完成。网络视图中的IO从站 ET200sp的状态变为已禁用。ET200sp与CPU不再进行周期性数据通信。
3、激活IO从站
设置输入参数MODE的值为1,置位输入端REQ,执行激活IO从站命令。D_ACT_DP指令的输出BUSY由TRUE变为FALSE后,指令执行完成。网络视图中IO从站ET200sp恢复与CPU的周期性通信。
4、查询IO从站当前启用或禁用信息
当D_ACT_DP指令的输入参数MODE的值为0时,可以通过该指令查询IO从站当前的激活/取消激活的信息。此信息通过参数RET_VAL输出。RET_VAL的值为 16#0001时,DP 从站/PROFINET IO 设备处于启用状态。