- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE 1
PAGE 1
多线程技术解决开放式数控系统实时性能的应用设计
如何完成多任务的实时掌握,是开发数控系统必需解决的关键问题。本文介绍了多线程技术的基本概念,分析了C++builder环境下多线程技术的应用方法,通过开发实例给出了多线程技术在实现数控系统的实时响应中的应用。 1引言 实时性是数控系统一项重要的性能指标。 在IPC(IndustrialPersonalComputer)+运动掌握器构成的开放式数控系统开发平台上,虽然这种主从式结构,确保了运动掌握指令在运动掌握器内高速、实时的被执行,但在PC机上,仍需要完成诸照实时显示、预处理计算、系统状态监控等很多任务。为了保证系统的实时性能,拟采用多线程技术,通过多任务并行处理的方式,提高系统实时性。 本开发平台采用IPC+运动掌握器模式的开放式数控系统,主要的运动掌握由固高公司的GT400-SV通用运动掌握器完成。它供应C语言函数库GT400sv.lib和Windows动态连接库GT400.dll,能够实现复杂的掌握功能。数控系统的开发是将这些掌握函数与自己掌握系统所需的数据处理、界面显示、用户接口等应用程序模块集成在一起,建筑符合特定应用要求的掌握系统。 2进程与线程以及多线程技术 Windows操作系统既支持多进程,又支持多线程。一个进程就是应用程序的一个实例,一次执行过程也就是调入内存预备执行的程序,包括当前执行的应用程序的执行代码和程序执行相关的一些环境信息。每个进程拥有整台计算机的资源,无须知道其他进程在计算机中的信息。通常每个进程至少有一个线程在执行所属地址空间中的代码,该线程称为主线程,假如该主线程运行结束,系统将自动清除进程及其他地址空间。 线程是进程内部执行的路径,是操作系统安排CPU时间的基本实体,是程序运行的最小单位。每个进程都由主线程开始进行应用程序的执行。线程由一个堆栈、CPU寄存器的状态和系统调用列表中的一个入口组成。每个进程可以包含一个以上的线程,这些线程可以同时独立地执行进程地址空间中的代码,共享进程中的全部资源。 Windows系统安排处理器时间的最小单位是线程,系统不停地在各个线程之间切换。在PC机中,同一时间只有一个线程在运行。通常系统为每个线程划分的时间片很小(ms级别),这样快速系统的实时性就有了保障。 要实现多线程编程,可建立辅助线程(workerThread)和用户界面线程(UserInterfaceThread)。辅助线程主要用来执行数控程序、坐标显示、动态仿真和数据预处理;用户界面线程用来处理用户的输入,响应用户产生的事件和消息。 3数控系统实时性分析 3.1线程的实时性 数控系统需要完成的任务有许多,这些任务中,优先级的要求级别不一样。据此,可以利用Windows系统的多任务、抢占式的特点和多线程技术将各个任务分给不同的线程,并赋予各个线程不同的优先级,当高优先级的线程执行时,即实时性要求高的任务需要执行时,可以自动地终止其他线程的工作转而执行这一线程。通过这一方法,可以实现数控系统所要求的实时性。 3.2辅助线程创建 本开发系统中所创建的辅助线程可大致划分如下: (1)坐标显示线程 在手动脉冲面板、电动掌握面板和增量掌握面板中,可实时显示X、Y、Z三个运动轴的坐标。这样可使操作人员直观看到三轴的实际坐标。实时性要求较低,所以使用最低优先级:LowestNormal。 (2)图形显示线程 图像显示线程用于在动态仿真面板中执行图形绘制的指令。通过图形显示,操作者可以在动态仿真的同时,对人机界面进行操作。这一线程实时性要求较低,等级为:BlowNormal。 (3)IO状态掌握线程 此线程用于检测由系统输入的各个离散量,以及从数控程序得到的指令来输出机床各离散量的状态。此线程优先级比前两线程高,等级为:Normal。 (4)数据预处理线程 数据预处理线程主要负责完成编码形式转换、刀具长度补偿、刀具半径补偿和公英制转换等运动掌握数据预处理函数的执行。等级为:Normal。 (5)运动掌握线程 此线程主要用于运动掌握器执行数控代码函数的运行。负责向缓冲器输入运动掌握命令,清空缓冲器和打开关闭缓冲器等操作。等级稍高:AboveNormal。 (6)紧急掌握线程 此线程处理一些需要机床马上做出反应的时间,如机床的急停等。优先级最高,等级为:Highest。
您可能关注的文档
最近下载
- 毕业设计小型气动冲压机设计.docx VIP
- DB35/T 158.3-2001菲律宾蛤仔标准综合体 采苗和培育技术规范.pdf VIP
- 2024年全国统一高考数学试卷(新高考Ⅰ)[含答案].doc VIP
- 人教版六年级上册数学第4单元比附加题 课内提升(含解析).docx VIP
- (完整版)PHQ-9抑郁症筛查量表.doc VIP
- 《汽车智能座舱语音分级与测评方法》.pdf VIP
- 第一章引言.doc
- 2025年年级上学期期末数学试题(华东师大版B卷)(含解析) .pdf VIP
- 浙江省城市桥梁隧道运行安全风险防控导则(试行).pdf VIP
- 2025年铜包铝镁线行业研究报告及未来发展趋势预测.docx
原创力文档


文档评论(0)