多线程技术解决开放式数控系统实时性能的应用设计_第1页
多线程技术解决开放式数控系统实时性能的应用设计_第2页
多线程技术解决开放式数控系统实时性能的应用设计_第3页
多线程技术解决开放式数控系统实时性能的应用设计_第4页
多线程技术解决开放式数控系统实时性能的应用设计_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第第页多线程技术解决开放式数控系统实时性能的应用设计JC35导读:如何完成多任务的实时控制,是开发数控系统必须解决的关键问题。本文介绍了多线程技术的基本概念,分析了C++builder环境下多线程技术的应用方法,通过开发实例给出了多线程技术在实现数控系统的实时响应中的应用。

1引言

实时性是数控系统一项重要的性能指标。

在IPC(IndustrialPersonalComputer)+运动控制器构成的开放式数控系统开发平台上,虽然这种主从式结构,确保了运动控制指令在运动控制器内高速、实时的被执行,但在PC机上,仍需要完成诸如实时显示、预处理计算、系统状态监控等许多任务。为了保证系统的实时性能,拟采用多线程技术,通过多任务并行处理的方式,提高系统实时性。

本开发平台采用IPC+运动控制器模式的开放式数控系统,主要的运动控制由固高公司的GT400-SV通用运动控制器完成。它提供C语言函数库GT400sv.lib和Windows动态连接库GT400.dll,能够实现复杂的控制功能。数控系统的开发是将这些控制函数与自己控制系统所需的数据处理、界面显示、用户接口等应用程序模块集成在一起,建造符合特定应用要求的控制系统。

2进程与线程以及多线程技术

Windows操作系统既支持多进程,又支持多线程。一个进程就是应用程序的一个实例,一次执行过程也就是调入内存准备执行的程序,包括当前执行的应用程序的执行代码和程序执行相关的一些环境信息。每个进程拥有整台计算机的资源,无须知道其他进程在计算机中的信息。通常每个进程至少有一个线程在执行所属地址空间中的代码,该线程称为主线程,如果该主线程运行结束,系统将自动清除进程及其他地址空间。

线程是进程内部执行的路径,是操作系统分配CPU时间的基本实体,是程序运行的zui小单位。每个进程都由主线程开始进行应用程序的执行。线程由一个堆栈、CPU寄存器的状态和系统调用列表中的一个入口组成。每个进程可以包含一个以上的线程,这些线程可以同时独立地执行进程地址空间中的代码,共享进程中的所有资源。

Windows系统分配处理器时间的zui小单位是线程,系统不停地在各个线程之间切换。在PC机中,同一时间只有一个线程在运行。通常系统为每个线程划分的时间片很小(ms级别),这样快速系统的实时性就有了保障。

要实现多线程编程,可建立辅助线程(workerThread)和用户界面线程(UserInterfaceThread)。辅助线程主要用来执行数控程序、坐标显示、动态仿真和数据预处理;用户界面线程用来处理用户的输入,响应用户产生的事件和消息。

3数控系统实时性分析

3.1线程的实时性

数控系统需要完成的任务有很多,这些任务中,优先级的要求级别不一样。据此,可以利用Windows系统的多任务、抢占式的特点和多线程技术将各个任务分给不同的线程,并赋予各个线程不同的优先级,当高优先级的线程执行时,即实时性要求高的任务需要执行时,可以自动地终止其他线程的工作转而执行这一线程。通过这一方法,可以实现数控系统所要求的实时性。

3.2辅助线程创建

本开发系统中所创建的辅助线程可大致划分如下:

(1)坐标显示线程

在手动脉冲面板、电动控制面板和增量控制面板中,可实时显示X、Y、Z三个运动轴的坐标。这样可使操作人员直观看到三轴的实际坐标。实时性要求较低,所以使用zui低优先级:LowestNormal。

(2)图形显示线程

图像显示线程用于在动态仿真面板中执行图形绘制的指令。通过图形显示,操可以在动态仿真的同时,对人机界面进行操作。这一线程实时性要求较低,等级为:BlowNormal。

(3)IO状态控制线程

此线程用于检测由系统输入的各个离散量,以及从数控程序得到的指令来输出机床各离散量的状态。此线程优先级比前两线程高,等级为:Normal。

(4)数据预处理线程

数据预处理线程主要负责完成编码形式转换、刀具长度补偿、刀具半径补偿和公英制转换等运动控制数据预处理函数的执行。等级为:Normal。

(5)运动控制线程

此线程主要用于运动控制器执行数控代码函数的运行。负责向缓冲器输入运动控制命令,清空缓冲

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论