“commandid”是用于命令识别的,当一个系统功能发出一个命令时,会传送一个“commandid”。命令被工艺对象执行时,它会在命令中存贮“commandid”,这样可用于之后识别命令的运行状态。通过“_getCommandId”系统功能块可在整个项目范围内获得唯一的“commandid”,这就确保在系统中不会存在相同的“commandid”。
通过“_getStateOf...Command”系统功能块(如: _get StateOfAxisCommand)。数据类型为“StructRetCommandState”中的“EnumCommandIdState”的返回值可查询运动命令的执行状态信息。如果您不需要查询命令的运行状态可以不必分配不同的commandid的变量,如需要再将分配。
使用“commandid”的示例:
//...
VAR
myCommandId : CommandIdType;
END_VAR
//...
// Save unique ID
myCommandId := _getCommandId ();
// Execute function with ID
myFC := _pos (axis := myAxis,
position := position_1,
nextCommand :=IMMEDIATELY,
commandId :=myCommandId);
//...
本程序示例描述了通过“commandid”如何跟踪命令的执行状态。
管理员注:本帖已被纳入此次探讨整理结果,请
点此详阅