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

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

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

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

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

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

 

推荐产品

数控龙门高速铣
数控龙门高速铣YF-D1615 该款型号高速铣床是本公司对原有机型改造创新升级后推出的第一款主打产品,它结合了原有的老款数控铣床的性能特点,更改了有效行程,并不断的进行创新和改良,才有了这款具有结构合理、稳定性强、精度高、刚性强、效率高等众多优势的产品。该款机型是一帆数控
数控雕铣机
数控雕铣机YF-D660 此款型号高速数控雕铣机是本公司比较畅销的一款机型,它结合了市场上客户对于小型机床精加工、粗加工体的工作需求,同时又参照YF-D870机型的标准配置元件所研制而成。采用立柱横梁一体的设计结构,且能长久地保持良好的刚性和精度,加强机床的刚性和稳
龙门数控高速铣
龙门数控高速铣YF-D1311 本款型号数控高速铣床采用合理的结构强度及内部加强肋的搭配,并在横梁上增加一根X轴向的导轨,提供机械之整体的高刚性,增强了在切削加工时的稳定性。再配备高精度的进口直线导轨、丝杆和主轴,使该机型的性能既可用于雕刻也可以用于雕铣,同时也起到了特定
高速精密雕铣机
高速精密雕铣机YF-G660 此款型号高精密雕铣机是结合了以前轻重型机的各大性能优点,采用低床身和立柱横梁一体的设计结构, 再配套高性能和大功率的伺服电机,高精度和超规格的丝杆、导轨,高转速和高精度的主轴,使得机床具有稳定性好、刚性强、加工平衡、加工精度高等功能特点。该
QQ咨询
微信咨询
拨打电话
返回顶部