回复:关于轴使能和停轴的问题

LeeWheel

  • 帖子

    346
  • 精华

    4
  • 被关注

    25

论坛等级:侠士

注册时间:2004-04-20

普通 普通 如何晋级?

发布于 2010-03-25 18:53:24

1楼

当程序不是很大的时候,尽量使用BACK GROUND TASK吧。
1、使能轴可以在BACK GROUND TASK中使用。
关于使能:请使用_enableaxis命令来完成,举例:
myRetDINT :=
_enableaxis(
axis := 此处填轴的名称
,enablemode := ALL
// ,servocontrolmode := ACTIVE
// ,servocommandtoactualmode := INACTIVE
,nextcommand := IMMEDIATELY
// ,commandid := (0,0)
// ,forcecontrolmode := INACTIVE
// ,stwbitset := 0
// ,movingmode := DO_NOT_CHANGE
);
在这个命令之前加入一些判断,比如如果已经使能就不用再使能,如果错误就先复位后再使能等等。

2、可以任意启停轴的,停止的方法有几个,一个是_stop命令,但是这个命令停下来很慢,建议使用_stopemergency,这个命令可以规定时间停轴,缺点是再次启动前需要Reset一次轴。
举例:速度轴的停止
IF NOT gb_run_state AND Axis_main.movecommand.state <> inactive THEN
myRetDINT :=
_stopemergency(
axis := Axis_main
,stopdrivemode := STOP_IN_DEFINED_TIME
,stoptimetype := DIRECT
,stoptime := stop_time
,mergemode := IMMEDIATELY
,nextcommand := IMMEDIATELY
// ,commandid := (0,0)
,movingmode := SPEED_CONTROLLED
);
END_IF;

总之灵活运用吧。





评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMOTION

共有2222条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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