用户中心
· 企业空间 首页 | 资讯 | 技术 | 产品 | 企业 | 直播 | 专题 | 智能制造 | 论坛| 在线研讨会
广州博玮伺服科技有限公司----打造国产交流伺服系统第一品牌!国产高端交流伺服系统专业制造商与技术服务商!
企业空间 > 案例应用 > 正文
  • COMIZOA/COMI-LX系列运动控制卡在激光切割中的应用
  • 发布时间:2011/2/18 16:45:47   修改时间:2011/2/18 16:45:47 浏览次数:3433
  • 一、功能和工艺要求
    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.在某些激光切割系统中,激光的控制较为复杂,其编程思想基本一致

  • 企业介绍
广州博玮伺服驱动科技有限公司是由广州博玮自动化设备有限公司控股,广州机床研究所参股于2009年2月共同组建的一个主要专业研发生产“博玮-BWS”BH系列系列异步伺服电机(0.55-380KW),双基数主轴电机(0.55-75KW);自主研发了“全数字化交流伺服…  更多>>
  • 联系方式

广州博玮伺服科技有限公司----打造国产交流伺服系统第一品牌!国产高端交流伺服系统专业制造商与技术服务商!

联系人:曾莲莲

地址:广州市黄埔区护林路104号骊丰大厦406室 QQ:2390006016

邮编:510070

电话:020-18688899098

传真:020-80720768

公司网址:http://www.chinabwae.com

  • 该空间手机版

扫描此二维码即可访问该空间手机版

  • 在线反馈
1.我有以下需求:



2.详细的需求:
姓名:
单位:
电话:
邮件:
您还没有登录,请登陆,
如果您还没有注册,点击这里注册.
  • 网友反馈
  • 顾女士 在2023/3/31 16:10:00留言
  • 留言类型:我想得到贵公司产品的价格信息,
  • 详细留言:812FX4工业以太网交换机的价格
  • 在2022/3/1 12:38:00留言
  • 留言类型:我让贵公司技术支持人员联系我,
  • 详细留言:你好,我想把编程时的自动序号功能取消了,但不知道改那个参数。
  • wang 在2019/11/25 14:03:00留言
  • 留言类型:我想得到贵公司产品的价格信息,
  • 详细留言:TE200A40A400V000/4mA20/FC/DIN/ENG/-NOFUSE/-//00 产品价格
  • 刘晓伟 在2017/6/10 16:35:00留言
  • 留言类型:我想得到贵公司产品详细资料,我让贵公司产品销售人员联系我,
  • 详细留言:我需要异步伺服电机的资料,我公司意向采购
  • 张小姐 在2015/3/25 15:18:00留言
  • 留言类型:得到贵公司产品详细资料,贵公司技术支持人员联系我,
  • 详细留言:贺德克泵:http://www.hydac-zh.com/beng/ HYDAC泵:http://www.hydac-zh.com/beng/ 贺德克叶片泵:http://www.hydac-zh.com/ypb/ HYDAC叶片泵:http://www.hydac-zh.com/ypb/ 叶片泵:http://www.hydac-zh.com/ypb/ HYDAC给水泵:http://www.hydac-zh.com/gsb/ 贺德克给水泵:http://www.hydac-zh.com/gsb/ 给水泵:http://www.hydac-zh.com/gsb/
更多请进入空间管理中心查看
关于我们 | 网站地图 | 联系我们
© 2003-2018    经营许可编号:京ICP证120335号
公安机关备案号:110102002318  服务热线:010-82053688
我要反馈