一、功能和工艺要求
1.接受常见的平面矢量图形文件,如PLT,DXF。
2.处理图形加工的先后顺序,及加工方向。
3.能简单处理图形,如选择,旋转,平移,镜像,复制,排列等。
4.可手动调试设备,及检测输入输出。
5.加工控制能调节速度,需要暂停,继续,中断等控制。
6.加工需要显示时度,时间,位置等部分用户信息
7.可设定加工工作原点,激光开关控制(此处不关心激光能量调节)
二、系统流程
三、使用函数
手动调试需要完成的功能:输入输出测试,手动驱动脉冲,检测运行状态,停止动作,找机械原点:
对应的函数调为:
d1000_out_bit 数字输出函数,可控制激光的开启或关闭
d1000_get_in_bit 读输入口状态
d1000_start_tr_move 手动发脉冲,可使用单轴点位运行
d1000_check_done 检测运动状态函数
d1000_decel_stop 停止脉冲输出(减速停较好)
d1000_home_move 单轴找原点函数
d1000_home_move_all 多轴找原点函数
d1000_board_init 控制卡初始化
d1000_board_close 控制卡释放
位置显示及清除需要的函数:
d1000_get_abs_position 取得绝对位置
d1000_set_position 设定位置函数,当值为0时位置清除
加工控制需要的函数:
d1000_start_ta_line2 两轴插补函数
d1000_set_vector_profile 设定矢量插补速度
d1000_change_speed 速度改变速度
四、核心部分的编程
在实际编程当中,有较多细节需要解决:
1.需要考虑响应加工暂停,继续,中断的操作,位置显示等
2.暂停后XY位置需要记录,有可能XY被手动移开
3.加工完整个图形,需要回到一停止位置,以便取料
4.开激光关激光,需要考虑激光的反应时间
5.在实际应用当中,当激光未开启时,为提高速度,可直接采用点位运动
6.需要需要速度的调节处理
注意:以下代码只体现只实用的编程思想,不会能通过编译器的编译
const UINT NORUN =0x0000; //空闲,或中断状态
const UINT RUNNING =0x0001; //运行状态标识
const UINT CONTINUE =0x0002; //继续标识
const UINT PAUSE =0X0003 //暂停标识
UINT m_nWorkStatus = NORUN; //记录加工状态,初始化为NORUN
void OnButtonStart()
{//开始按钮(可当暂停,继续,开始用,在某些情况下,继续与暂停隔开较好一些)
if( runData.GetSize() < 1 )
{
messageBox(“无加工数据或未生成加工路径”,”提示”);
return;,
}
switch( m_nWorkStatus ){
case NORUN://若空闲,直接加工
m_nWorkStatus = RUNNING; //运行
RunData(); //调用加工核心函数
Break;
Case RUNNING://若在运行,则中断
M_nWorkStatus = PAUSE;
StopMove( X,Y ); //停止XY驱动
Break;
Case PAUSE://若为暂停
M_nWorkStatus = CONTINUE;//继续处理
Break;
}
}
本文关键字:激光切割 机床,应用领域 - 机床
上一篇:钛合金航空结构件的高效数控加工