分享好友 方案首页 频道列表

COMIZOA/COMI-LX系列运动控制卡在激光切割中的应用———COMIZOA/COMI-LX系列运动控制卡在激光切割中的应用

2012-04-15广州博玮伺服科技有限公司

一、功能和工艺要求
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;

void OnButtonStop()
{//中断加工处理
m_nWorkStatus = NORUN;
StopMove(X,Y);

double fRunSpeed(10.0); //加工速度

void RunData()

//数据runData的定义为: CarrayrunData
//CDPoint的定义,可参见[编程技术]的资料
const int nSize = runData.GetSize();
//处理进度度
progress.SetRang(0, nSize);

CDPoint pntBreak; //暂停时记录的断点
BOOL bPause=false;
for( int I(0); I

::DoEvent(); //一个系统消息处理函数
switch( m_nWorkStatus ){
case PAUSE://若为暂停,只管循检系统消息
continue;
case CONTINUE:
m_nWorkStatus = RUNNING;
case RUNNING:

if( IsMove(X,Y) ) break;//如果XY在运行,则继续检测系统消息
const CDPoint &pt = runData[I];
if( I == 0 || bPause )

bPause = false;
//快速到达第一点或断点
I == 0?
fast_moveto( pt.x, pt.y )://达到第一点
fast_moveto( pntBreak.x, pntBreak.y);//达到断点
while( IsMove(X,Y) ) :: DoEvent();//等待达到位置
if( m_nWorkStatus == RUNNING )

OpenLasert( Nio ); //开启激光
Sleep( ti_open ); //开启延时

continue;

Con_Line_move( pt.x, pt.y, fRunSpeed );
//此处用匀速,因为激光切割速度不快
while( IsMove(X,Y) ) ::DoEvent();
if( m_nWorkStatus == PAUSE )

CloseLasert( nIO );//关闭激光
Sleep( ti_close );//关闭延时
bPause = true;//有暂停
pntBreak.x = GetX(); pntBreak.y = GetY();//记录断点位置

else
if( m_nWorkStatus == RUNNING )
{//正常完成一个数据点
I ++;
Progress.PostMessage( PM_POS, I, 0 ); //更新进度条

}// end case running
}// end switch workstatus
}// end for i
CloseLasert( nIO );//关闭激光
Sleep( ti_close );//关闭延时
if( m_nWorkStatus != NORUN )
{//顺序加工完
Fast_moveto (stopX,stopY);//达到停止位置
//其它计数处理

else{
//提示加工中断

void OnVscrollSpeed( )
{//响应的速度事件调节
fRunSpeed += 1;
或者
fRunSpeed -=1;
d1000_change_speed( fRunSpeed );//速度值更改

注意:
::DoEvent 函数在[编程技术]中或《编程高手》书中可找到
OpenLasert和CloseLasert函数只完成一个d1000_out_bit操作

Fast_moveto 内含XY两轴点位或插补驱动函数
Con_line_move 内含XY两轴的插补驱动函数(一般为常速)

GetX() 和GetY()函数内含d1000_get_abs_position位置读取函数
IsMove函数内含检测XY两轴运动状态检测函数

五、注意事项
1.本程序未考虑脉冲当量的关系,需要用户自行处理,在此只提供一种编程思路
2.部分参数需要用户通过设定,在此只为简单介绍
3.使用的部分结构需要参考其它资料,或来电咨询。
4.控制操作在实际应用当中,需要改变按钮的文字显示,用户需要留意
5.完好的系统,需要限定速度和限定XY范围
6.在某些激光切割系统中,激光的控制较为复杂,其编程思想基本一致

 

 

收藏
凌华科技PCI-9846高速数字化仪在电子时间引信通用测试系统中的应用
本文介绍了电子时间引信的工作原理及测试系统要求,并说明了凌华科技PCI-9846高速数字化仪在电子时间引信通用测试系统中的应用。

0评论2012-12-21

使用LabVIEW和PXI定位飞行过程中飞机的噪声源
为了能开发出更为安静的客机,我们必须定位所有的噪声源,以加强我们对噪音生成原理的认识。在开发一架飞机时,我们可以通过数值分析和模型测试预测噪音等级。然而,实际飞机噪音的属性和特性只能在实际飞行测试中才能获得。利用声音波束成形技术来定位噪音源定位是一种有效可行的方法。

0评论2012-10-31

使用LabVIEW和PXI,以深入了解战场爆炸伤害的影响程度
在可控的实验室环境中重现战争伤害需要一个复杂的工程解决方案。使用NI最新的技术方法,我们可以获得前所未有的,对于整个事件内部原理更加精细的认识,而这一切只需要不到5毫秒的时间。

0评论2012-10-31

使用LabVIEW、PXI、DAQ和DIAdem搭建声纳导流罩监测系统
NI硬件和LabVIEW软件的结合使得我们团队即便在面对客户复杂要求的情况下,也能够在短期内开发应用程序。总体上,我们用了五个月的时间对软件应用程序进行人工设计,开发和测试。尤其是在起步阶段,我们还利用图形化编程对程序进行测试,轻松完成调试。

0评论2012-10-31

NI提供产品用于波音787航电设备检测
我们使用LabVIEW可以快速地开发新的测试软件,而且可以对CAN总线数据进行无限制的控制。PXI-CAN卡非常容易配置,而且有着高度的操作可靠性。

0评论2012-09-12

NI为美海军提供通信测试设备
利用美国国家仪器公司的PXI系统, ALE System Integration公司开发了一套用于美国海军飞机机载通信设备的测试系统。

0评论2012-09-12

NI全新技术数据管理平台特性
为什么需要采集数据?为了验证产品的安全性?是否需要依据长期的变化趋势来做出有据可依的决定?也许,您正面临着挑战,正在进行测试并通过数据来寻找解决方案或决定下一步行动。这些测试生成的数据是非常有价值的。很多情况下,您只能进行一次测试 - 随着测试复杂度和频率的增加,测试的成本也随之增加。

0评论2012-09-10

使用LabVIEW、PXI和CompactRIO快速开发太空探索飞行器结构测试系统
G Systems 使用NI软硬件组件开发各个系统,帮助我们缩短开发周期,保持高级功能。

0评论2012-08-08

HIL测试减少75%的飞机拦阻器控制系统现场测试时间
卓达宇航选择了National Instruments Alliance Partner的一员:Process Automation,为下一代飞机拦阻系统开发控制系统。Process Automation在控制系统上使用了NI LabVIEW软件与CompactRIO,在HIL测试系统上使用了NI VeriStand和 实时PXI硬件,成功开发了SmartArrest,相比之前的系统实现显著地节约了成本。

0评论2012-08-08

创建用于监控飞机噪音的分布式无线系统
在硬件评估过程中,我们决定使用NI产品,因为相比那些低成本的声级仪表,NI的产品测量质量好、坚固耐用,且十分可靠。

0评论2012-08-08