具体实现VC实现数控雕铣机加工过程

程序采用VisualC++的多线程编程来实现对数控雕铣机操作时实性和动态性要求。所谓线程是指一个独立的过程,是系统分配处理器时间资源的基本单位。线程机制使得系统具有多任务功能。

PCNC软件系统一般执行过程为:读取处理后的NC文件→译码→轨迹插补计算→伺服控制,这样一个基本的加工循环,在未运行完最后一条NC语句前,该循环将一直进行。如果应用程序仅有一个线程即用户界面线程,一旦程序执行仿真,它将独占CPU一直运行下去直到结束,无法接受和处理用户消息和事件。也就无法实现实时性的要求,而多线程就可以解决这个问题。

VisualC++中线程可分为用户界面线程(UserInterfaceThread)和工作线程(WorkerThread)。用户界面线程的特点是拥有单独的消息队列,具有自己的窗口界面能够对用户输入事件和消息作出响应。工作线程一般用于处理后台任务,仅由函数体实现,不处理窗口消息。采用多线程后,用户界面线程主要用来显示当前指令、更新状态参数(X,Y,Z轴坐标值,主轴进给速度、加工时间等),以及接受用户输入指令。将实现仿真的程序放在一个工作线程中。这样尽管工作线程忙个不停,但用户线程却“空闲”可以随时响应用户输入事件和消息。用户线程和工作线程之间通过事件对象Cevent来负责线程之间的通信。

设置“暂停仿真”和“开始仿真”两个按钮,当按下在“暂停仿真”后程序暂停用户可以观察指令和相应状态;按下“开始仿真”后又断点处重新开始执行。其实现的具体方法如下:在“暂停仿真”按钮的单击事件响应函数中设置停止事件有信号,“开始仿真”按钮的单击事件响应函数中设置启动事件有信号,工作进程在循环体中检测相应事件是否有信号,从而执行相应的程序。需要做的工作是定义两个事件停止事件和启动事件,创建一个工作者线程,并建立工作线程的控制函数体。其程序流程如图2所示。用户界面线程和工作线程的状态参数和图象缓冲区首地址通过全局变量来传递。用户界面线程首先建立图象缓冲区,将缓冲区初始化后,通过全局变量将缓冲区首地址和绘制图象的窗口句柄传递给工作进程。工作进程将译码后的数据转化成图像数据,不断刷新缓冲区,调用MFC类库中的CDC类BitBlt()来重绘屏幕,这样就形成加工动画过程。在重绘屏幕时加入延时,这个延时由每条指令所走的步距总和和对应插补的速度决定。通过比例延时可以较为精确地获得实际加工时间。

状态参数的刷新则由WINDOW下计时器Timer实现,在达到设定时间后由计时器Timer发出WM-TIMER系统消息到用户界面线程消息队列中,由其对应的消息处理函数OnTimer来刷新状态参数。

 

推荐产品

数控加工中心
数控加工中心YF-C850 此机型的整体机械机构采用树脂砂铸件制造,内部加强筋加多加大高刚性设计,加强机械精度的持久性及加工精度的稳定性,并保证了整体长久不变形。该机型具有自动换刀装置及三轴、四轴联动控制功能,系统一次装夹, 可自动连续对四面进行铣、钻、铰及丝攻等多种
CNC高速龙门铣
CNC高速龙门铣YF-D1190 此型号机床采用了合理的结构强度和内部加强肋的搭配,并在横梁上增加了一根X轴向的导轨,提高了机床整体的刚性,增强了机床在切削加工时的稳定性。再加上配备的高精度进口直线导轨、丝杆和主轴,使得该机型的性能大大提升,既可以用于雕刻也可以用于雕铣,同
数控木工雕刻机
数控木工雕刻机YF-M260150 YF-M260150型数控木工雕刻机采用加厚方管并用高强度铸铁,利用低床身和立柱横梁一体的设计结构, 再配用高性能和大功率的进口伺服电机,高精度和超规格的进口丝杆、导轨,高转速和高精度的主轴,使得机床具有稳定性高、刚性强、加工平衡、切削力度
数控龙门高速铣
数控龙门高速铣YF-D1615 该款型号高速铣床是本公司对原有机型改造创新升级后推出的第一款主打产品,它结合了原有的老款数控铣床的性能特点,更改了有效行程,并不断的进行创新和改良,才有了这款具有结构合理、稳定性强、精度高、刚性强、效率高等众多优势的产品。该款机型是一帆数控
QQ咨询
微信咨询
拨打电话
返回顶部