问题概述
S7-1200/1500 PLC通过组态工艺对象(TO)的方式进行运动控制时,通过MC_Power进行轴的使能控制。
在某些工况下,要求设备启动后,PLC立即对轴进行使能控制,因此用户在编写轴使能程序时,常常会将MC_Power的Enable管脚直接给定为常1。这样编程的前提是必须要保证驱动器、编码器在PLC运行前已准备就绪,如果PLC先于驱动器完成启动,就会造成MC_Power无法正常完成使能,功能块出现16# 8001错误代码,如图1-1所示。
图1-1 编程示例及错误代码
在工艺对象轴状态中显示“与设备(驱动装置或编码器)通信故障”,如图1-2所示。
图1-2 工艺对象报警显示
为了避免上述情况的发生,在通过"MC_Power"使能轴之前,所有相关的传感器(编码器)和执行器(驱动装置)都必须处于可用状态。本文介绍了"MC_Power"的编程方法。
2 编程说明
在工艺对象的详细视图中可以查看轴控制的驱动器和传感器(编码器)通讯状态的变量“StatusDrive”和“StatusSensor”,如图2-1所示。
图2-1 工艺对象状态变量详细视图
将Enable管脚与工艺对象中与通讯相关的变量“TO.StatusDrive.CommunicationOK”、“TO.StatusSensor[x].CommunicationOK”进行关联,同时检测“TO.StatusSensor[x].State”的值是否为2(“VALID”)。
如果在组态工艺对象时,“与驱动装置进行数据交换”时选择了“运行时自动应用驱动值(在线)”或“与编码器进行数据交换”时选择了“运行过程中自动应用编码器值(在线)”,如图2-2、2-3所示,MC_Power的Enable管脚则还可以将“TO.StatusDrive. AdaptionState”或“TO.StatusSensor[x].AdaptionState”的状态(2:“ADAPTED”,已完成数据传送;3:“NOT_APPLICABLE”, 未选择数据传输)加入到启动条件中。
图2-2 选择“运行时自动应用驱动值(在线)”
图2-3 选择“运行过程中自动应用编码器值(在线)”
编程示例如图2-4所示,当PLC与驱动器都启动完成,且通讯建立时,将Enable管脚置1,完成轴及驱动器的使能。
图2-4 正确的“MC_Power”编程示例
注意:
PLC与驱动器之间通讯建立后,如果在正常运行过程中出现通讯中断的情况,通讯恢复后,在对MC_Power进行使能时,Error管脚会出现16#8001错误,工艺对象会出现“与设备(驱动装置或编码器)通信故障”报警,由于工艺对象故障的存在,MC_Power将无法对驱动器进行使能,只有确认故障后,驱动器才能重新使能。