西门子SCL编程指令状态信息

一、编程时需要考虑的状态信息

在逐步执行运动控制命令时,确保等待激活的命令执行完成后再启动新命令!

使用运动控制指令的状态消息和工艺对象的“StatusBits”变量,可以检查激活的命令是否已完成。

在下例中,请按照所示顺序执行。如未遵守此顺序,将显示轴或命令错误。

1.1 使用运动控制指令“MC_Power”启用轴

只有启用轴后,轴才可以执行运动作业,通过对变量<轴名称>.StatusBits.Enable=TRUE与运动控制指令"MC_Power"的输出参数Status=TRUE进行AND运算,将检查轴是否已启用。

1.2 使用运动控制指令“MC_Reset”确认错误

 启用运动控制指令前,必须使用“MC_Reset”确认需要确认的错误。

启用新命令前,需要检查错误是否已成功确认,为此需要对变量<轴名称>.StatusBits.Error=FALSE和运动控制指令“MC_Reset”的输出参数Done=TRUE进行与运算。

1.3 使用运动控制指令“MC_Home”使轴回原点

在可以启动MC_MoveAbsolute命令之前,轴必须回原点。通过对变量<轴名称>.StatusBits.HomingDone=TRUE与运动控制指令“MC_Home”的输出参数Done=TRUE进行与运算,可以检查轴是否已回原点。

1.4 避免多次使用相同的背景

运动控制命令的所有信息都存储在背景数据块中。

如果要跟踪当前命令的状态,请勿使用该背景启动新命令。如果要单独跟踪命令,则需使用不同的背景。如果用一个背景用于多个运动控制命令,则各命令的状态和错误信息将会相互覆盖。

二、指令输出参数Done信号变化

2.1 命令执行完成

如果运动控制命令已对其下结论前完全执行,则通过输出参数“Done”的值为TRUE的形式对此进行指示。输入参数“Execute”的信号状态影响输出参数“Done”中的显示持续时间:

2.2 中止命令

如果运动控制命令在执行期间中止,则通过输出参数“CommandAborted”的值为TRUE的形式对此进行指示。输入参数“Execute”的信号状态影响输出参数“CommandAborted”中的显示持续时间:

2.3 命令执行过程中出错

如果运动控制命令在执行期间中止,则通过输出参数“CommandAborted”的值为TRUE的形式对此进行指示。输入参数“Execute”的信号状态影响输出参数“CommandAborted”中的显示持续时间:

三、运动控制语句的错误显示

运动控制指令将在运动控制指令输出参数“Error”、“ErrorID”和“ErroInfo”中指示运动控制命令和工艺对象中的所有错误。

如果输出参数“Error”的值为TRUE,则无法执行整个命令或其中各个部分。错误原因通过输出参数“ErrorID”的值进行指示。输出参数“ErrorInfo”的值返回关于错误原因的详细信息。

3.1 伴随轴停止的运行错误(例如:已逼近硬限位开关)

如果轴正在运转,则将以组态的减速度或急停减速度使轴停止,具体视错误情况而定。

此类错误在错误触发运动控制指令和运动控制指令“MC_Power”中指示。

3.2 不伴随轴停止的运行错误(例如:轴未回原点)

不伴随轴停止的运行错误发生在用户程序运行期间。

如果轴正在运转,则将继续运转,此类错误仅在触发错误的运动控制指令中指示。

3.3 运动控制指令中组态出错(例如:参数“Velocity”的值错误)

如果在运动控制指令的输入参数中指定的信息不正确,则将发生参数化错误。

如果轴正在运转,则将继续运转,此类错误仅在触发错误的运动控制指令中指示。

3.4 “轴”工艺对象的组态错误(例如:“加速度”的值无效)

如果在轴组态中错误组态一个或多个参数,或者在程序运行期间错误修改可编辑的组态数据,则将发生组态错误。以组态的急停减速度使正在运转的轴停止。

此类错误在错误触发运动控制指令和运动控制指令“MC_Power”中指示。

3.5 “命令表”工艺对象的组态错误(例如:“速度”的值无效)

如果在轴组态中错误组态一个或多个参数,或者在程序运行期间错误修改可编辑的组态数据,则将发生组态错误。如果轴正在运转,则将继续运转。

此类错误仅在运动控制指令“MC_CommandTable”中指示。

3.6 内部错误

发生内部错误时,将使轴停止。此类错误在错误触发运动控制指令中指示,有时也在运动控制指令“MC_Power”中指示。

猜你喜欢

转载自blog.csdn.net/viixin/article/details/130720964