回复:技术专题探讨-SIMOTION D产品交流

LiuLin_JT

  • 帖子

    17
  • 精华

    0
  • 被关注

    2

论坛等级:侠客

注册时间:2006-08-01

普通 普通 如何晋级?

发布于 2009-03-16 21:38:52

0楼

quote:以下是引用motion在2009-03-13 14:26:59的发言:
“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”如何跟踪命令的执行状态。



事例的myCommandId := _getCommandId (); 指令是不是在开始的时候作为一个初始值,而
myFC := _pos (axis := myAxis,
position := position_1,
nextCommand :=IMMEDIATELY,
commandId :=myCommandId);
作为后面定位指令的判断?

但如果先执行了多个不同轴的定位指令后 ,再使用myCommandId := _getCommandId (); 指令时,是什麽结果呢?Commandid的buffer全局是只有一个吗?
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMOTION

共有2227条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。