雷赛控制卡可以用java写吗_运动控制卡应用编程技巧几招(2)

四、 驱动轴状态、位置读取和设定

对于驱动轴的状态,分为两种:1、指脉冲输出状态;2、指专用输入信号电平状态

检测脉冲输出是否完成,可以写成如下函数,假设软件总共只用到XYZ三轴:

int IsRunning( int nAxis = -1 )//默认为-1是有目的的

{

if( nAxis != -1 )

return d1000_check_done( nAxis ) == 0 ;

//当nAxis == -1时,检测三个轴是否有一个在运行,这种检测在加工时常用

return d1000_check_done( XCH ) == 0 ||

d1000_check_done( YCH ) == 0 ||

d1000_check_done( ZCH ) == 0;

}

当用户等待YCH脉冲发完,则用一个循环检测即可:

while( g_DmcCard.IsRuning( YCH ) ) ::DoEvents();

别忘了,IsRuning是CctrlCard的成员函数,而DoEvents函数在DMC1000不能响应系统消息的文章中有详细实现和功能描述。

在实际加工时,作插补时,常需要等待上次所有运动结束才开始新的运动。故有如下表现:

for( int I(0),step(0); I

{

DoEvents();

switch( m_nworkStatus ){

case Pause:

<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值