CN100514234C - 基于pc机的开放式数控系统 - Google Patents
基于pc机的开放式数控系统 Download PDFInfo
- Publication number
- CN100514234C CN100514234C CNB2007101449569A CN200710144956A CN100514234C CN 100514234 C CN100514234 C CN 100514234C CN B2007101449569 A CNB2007101449569 A CN B2007101449569A CN 200710144956 A CN200710144956 A CN 200710144956A CN 100514234 C CN100514234 C CN 100514234C
- Authority
- CN
- China
- Prior art keywords
- real
- module
- time
- task
- windows
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Numerical Control (AREA)
Abstract
基于PC机的开放式数控系统,它涉及一种基于Windows的数控系统,以解决现有基于Windows的数控系统存在的实时性较差、开发成本较高以及基于WINCE的数控系统存在的软硬件兼容性较差的问题。本发明的实时调度模块用于建立PC机和硬件接口板之间的连接、调度实时任务;CNC模块用于在PC机的内存中建立共享内存区以及与实时调度模块连接,并通过实时调度模块调度实时任务来实现位置控制功能;PLC模块通过实时调度模块调度实时任务来实现逻辑控制功能;人机界面模块将输入的路径程序、设置的运行方式、进行系统的数据配置传送给实时任务并将实时任务的执行结果显示给用户;实时调度模块、CNC模块和PLC模块都嵌入在Windows操作系统中,人机界面模块是一个通用性的WINDOWS程序。
Description
技术领域
本发明涉及一种基于Windows操作系统的数控系统。
背景技术
目前,Windows系列操作系统在PC机上占据着统治地位,它标准美观的图形用户接口(GUI)、方便快捷的操作方式,不但已经被普通用户所接受,而且在工业应用领域内的用户也越来越多。
然而Windows是一个多任务的操作系统,PC机软硬件资源被多个程序共享,导致系统的实时性不好,如果系统资源被其它程序占用,CNC程序就无法满足实时性的要求,而CNC程序对实时性和连续性要求非常高,因此Windows操作系统环境下很难保证实时性,难以应用在实时控制系统中。
目前解决Windows实时性问题主要有以下两种方式:
(1)使用专门的实时内核开发工具,如通用的RTX开发环境就能开发出实时内核,但是这种开发环境往往价格都比较高,而且这种系统的实时性好坏很大程度上取决于开发人员对开发环境的理解和掌握程度,如果用得不好反而会影响系统的实时性;
(2)采用WINCE系统,这种操作系统能够解决实时性的问题,但是它的软、硬件兼容性不好,尤其是系统中不能借用第三方的软、硬件资源,如CAN的通信功能就不能在WINCE系统上实现。
2006年12月31日在《伺服系统》杂志上发表的论文《一种高性能、开放式软件数控系统及其应用》中,介绍了一种H1-800数控系统,该系统的控制器安装有Micrsoft Windows NT操作系统,系统内嵌有PA的NT实时内核,能够使数控系统以固定的时间间隔执行实时任务,而且在执行实时任务时,禁止其他非实时任务执行,并能够直接获得系统相关的硬件资源。该技术方案虽然解决了原有数控系统的实时性低的问题,但它仅适用于Windows NT操作系统,通用性不强;另外,所述PA的NT实时内核只能够“以固定的时间间隔执行实时任务”,没有实现真正意义上的“实时性”。
发明内容
本发明为解决现有的CNC系统存在的实时性较差、以及基于WINCE的数控系统存在的软硬件兼容性较差的问题,提供一种基于PC机的开放式数控系统。本发明包括以下单元:
PC机1,所述PC机1基于Windows操作系统;
数控设备2,用于接收PC机1发出的控制命令并完成数控加工的实时任务的执行;
硬件接口板3,用于建立PC机1和数控设备2之间的连接并作为中断源产生停止PC机1其它任务、仅执行数控加工的实时任务的中断信号;
它还包括以下单元:
实时调度模块4,用于建立PC机1和硬件接口板3之间的连接,调度数控加工的实时任务并为实时任务分配优先级;
CNC模块5,通过实时调度模块4调度实时任务来实现从零件加工程序中产生数控机床刀具的运动路径,管理程序缓冲区中存储的零件加工程序、编译零件加工程序、工具路径插补、轴位置控制、与实时调度模块4通信,并在PC机1的内存中建立共享内存区8以及与实时调度模块4连接;
PLC模块6,通过实时调度模块4调度的实时任务来完成开关量的逻辑控制、模拟量控制和过程控制的功能;
人机界面模块7,通过共享内存区8输入路径程序、设置运行方式、进行系统的数据配置,并通过共享内存区8接收数控加工的实时任务反馈的执行结果,再将执行结果显示给用户;
实时调度模块4、CNC模块5和PLC模块6都嵌入在Windows操作系统中,人机界面模块7是一个运行在用户态的Windows程序。
本发明的有益效果是:基于Windows操作系统,不但具有响应较快、兼容性较好、开发成本较低的特点,而且由实时调度模块4为数控程序分配最高的优先级,当硬件接口板3产生中断时,数控程序可以独占CPU的资源,实现较高的实时性和可靠性,能够更好的满足机械加工中对控制精度的较高要求。
附图说明
图1是本发明的整体结构示意图。
具体实施方式
具体实施方式一:参见图1,本实施方式包括以下单元:
PC机1,所述PC机1基于Windows操作系统;
数控设备2,用于接收PC机1发出的控制命令并完成数控加工的实时任务的执行;
硬件接口板3,用于建立PC机1和数控设备2之间的连接并作为中断源产生停止PC机1其它任务、仅执行数控加工的实时任务的中断信号;
它还包括以下单元:
CNC模块5,通过实时调度模块4调度实时任务来实现从零件加工程序中产生数控机床刀具的运动路径,管理程序缓冲区中存储的零件加工程序、编译零件加工程序、工具路径插补、轴位置控制、与实时调度模块4通信,并在PC机1的内存中建立共享内存区8以及与实时调度模块4连接;
PLC模块6,通过实时调度模块4调度的实时任务来完成开关量的逻辑控制、模拟量控制和过程控制的功能;
人机界面模块7,通过共享内存区8输入路径程序、设置运行方式、进行系统的数据配置,并通过共享内存区8接收数控加工的实时任务反馈的执行结果,再将执行结果显示给用户;
实时调度模块4、CNC模块5和PLC模块6都嵌入在Windows操作系统中,人机界面模块7是一个运行在用户态的Windows程序。
所述硬件接口板3可采用公开号为CN1818895的发明专利公开的串并综合型总线数据传输方法传输PC机1与数控设备2之间的数据;所述实时调度模块4是一个嵌入到PC机1中的Windows内核的驱动程序,由一个.EXE文件作为初始进程,此初始进程导入整个的CNC模块5的系统软件,从注册表读取系统配置和.INI文件来创建所有需要的程序,并在启动程序前读取所有的共享文件;所述CNC模块5用于从零件加工程序中产生数控机床刀具的运动路径,并管理程序缓冲区中存储的零件加工程序、编译零件加工程序、工具路径插补、轴位置控制、与PLC模块6以及外部环境通信;所述PLC模块6用于实现逻辑控制功能、通过实时调度模块4创建实时任务来完成所有的PLC程序;所述人机界面模块7是一个通用性的运行在用户态下的Windows程序,可以输入路径程序、设置运行方式、进行系统的数据配置等操作,输入的数据经过处理后送入共享内存区8,实时任务执行时从共享内存区8中读取输入指令,并把相关运行结果送回共享内存区8,人机界面模块7从共享内存区8中读取这些结果并显示在界面上供操作者查询;用户还可以根据具体的要求编写第三方程序模块9,第三方程序模块9也是一个运行在用户态的Windows程序,用于为用户提供其它的数控操作;人机界面模块7和第三方程序模块9都作为Windows程序10运行,实施调度模块4、CNC模块5和PLC模块6都作为实时子系统11运行。
CNC模块5和PLC模块6都以计算机程序的形式存储在PC机1中,并采用共享映射存储器的技术与人机界面模块7之间进行通信,通过共享PC机1的同一段内存区来实现数据的交换,通信区域包括以下几个部分:从人机界面模块7传递到CNC模块5和PLC模块6的数据和命令;从CNC模块5和PLC模块6传递到人机界面模块7的数据和命令;从CNC模块5和PLC模块6传递到人机界面模块7的用于显示的轴位置、命令位置和实际位置的偏差、路径速度等;CNC模块5和PLC模块6之间的通信包括以下内容:来自PLC模块6的二进制信号、发送到PLC模块6的二进制信号、NC参数、NC修正、轴位置、命令等。
CNC模块5由编译进程和插补进程组成。编译进程由运行在核心态的编译任务和运行在用户态的数据服务器线程组成;编译任务的主要职责是编译NC程序并把信息转化成插补器能够理解的方式,编译任务还完成偏移量和工具长度修正,诊断,传送插补进程的输入输出信息等功能;数据服务器线程为所有的CNC程序的文件IO服务,数据服务器线程不是PA实时子系统的一部分,当它进行文件操作的时候需要Windows API,因此它是作为标准Windows32用户态线程来实现的;插补进程由插补任务和位置任务组成,插补任务是由插补进程创建的,插补任务以固定周期工作,插补任务是CNC模块5的执行单元。位置任务和插补任务一样,都是由硬件定时器产生的中断来启动的。编译进程首先启动,它初始化所有的数据、建立与人机界面模块7之间的通信并建立编译进程和插补进程之间通信所需要的共享内存区域、它连接到实时调度模块4并创建一个实时任务—编译任务、还建立数据服务器来处理所有的CNC模块5的文件输入输出;插补进程是在编译器初始化后启动的,它初始化插补进程专用的数据和内存、连接到实时调度模块4并建立两个实时任务:插补任务和位置任务。
工作原理:PC机1启动并完成自检和通过硬件接口板3对数控设备2进行检测,实时调度模块4启动并分配给实时任务最高的优先级,CNC模块5启动并初始化位置控制程序的数据,建立共享内存区8并连接到实时调度模块4,PLC模块6启动并初始化逻辑控制程序的数据,人机界面模块7启动,用户通过人机界面模块7把数控参数等数据输入到共享内存区8中,PC机1将位置控制程序和逻辑控制程序所需要的数据通过硬件接口板3读入到共享内存区8,由硬件接口板3产生中断,PC机1暂停所有正在执行的程序,实时调度模块4调度位置控制程序和逻辑控制程序的运行,进行插补、位置控制的运算,通过硬件接口板3发送到数控设备2,实时调度模块4通过硬件接口板3接收到数控设备2的反馈信息并将反馈信息显示到人机界面模块7上,当位置控制程序和逻辑控制程序都执行完毕后,中断返回,数控过程结束。
Claims (1)
1、基于PC机的开放式数控系统,它包括以下单元:
PC机(1),所述PC机(1)基于Windows操作系统;
CNC模块(5),通过实时调度模块(4)调度实时任务来实现从零件加工程序中产生数控机床刀具的运动路径,管理程序缓冲区中存储的零件加工程序、编译零件加工程序、工具路径插补、轴位置控制、与实时调度模块(4)通信,并在PC机(1)的内存中建立共享内存区(8)以及与实时调度模块(4)连接;
PLC模块(6),通过实时调度模块(4)调度的实时任务来完成开关量的逻辑控制、模拟量控制和过程控制的功能;
人机界面模块(7),通过共享内存区(8)输入路径程序、设置运行方式、进行系统的数据配置,并通过共享内存区(8)接收数控加工的实时任务反馈的执行结果,再将执行结果显示给用户;
其特征在于它还包括以下单元:
数控设备(2),用于接收PC机(1)发出的控制命令并完成数控加工的实时任务的执行;
硬件接口板(3),用于建立PC机(1)和数控设备(2)之间的连接并作为中断源产生停止PC机(1)其它任务、仅执行数控加工的实时任务的中断信号;
实时调度模块(4),用于建立PC机(1)和硬件接口板(3)之间的连接,调度数控加工的实时任务并为实时任务分配优先级;
实时调度模块(4)、CNC模块(5)和PLC模块(6)都嵌入在Windows操作系统中,人机界面模块(7)是一个运行在用户态的Windows程序;其中,所述实时调度模块(4)是一个嵌入到PC机(1)中的Windows内核的驱动程序,由一个EXE文件作为初始进程,此初始进程导入整个的CNC模块(5)的系统软件,从注册表读取系统配置和INI文件来创建所有需要的程序,并在启动程序前读取所有的共享文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101449569A CN100514234C (zh) | 2007-12-28 | 2007-12-28 | 基于pc机的开放式数控系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101449569A CN100514234C (zh) | 2007-12-28 | 2007-12-28 | 基于pc机的开放式数控系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101196738A CN101196738A (zh) | 2008-06-11 |
CN100514234C true CN100514234C (zh) | 2009-07-15 |
Family
ID=39547190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007101449569A Expired - Fee Related CN100514234C (zh) | 2007-12-28 | 2007-12-28 | 基于pc机的开放式数控系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100514234C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101923335A (zh) * | 2010-08-10 | 2010-12-22 | 济南大学 | 基于内核平台、直接面向加工路径点的开放式数控系统 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101533263B (zh) * | 2009-02-17 | 2011-01-26 | 固高科技(深圳)有限公司 | 一种计算机可编程自动控制系统及其控制方法 |
JP4927975B2 (ja) * | 2010-07-06 | 2012-05-09 | ファナック株式会社 | パソコン機能を有する数値制御装置 |
CN102540972B (zh) * | 2010-12-09 | 2013-06-19 | 沈阳高精数控技术有限公司 | 支持多点跨平台通讯的数控机床远程控制方法 |
CN102567082B (zh) * | 2010-12-09 | 2013-08-07 | 中国科学院沈阳计算技术研究所有限公司 | 一种基于线程管理的数控系统实时任务动态配置方法 |
CN102346687A (zh) * | 2011-09-21 | 2012-02-08 | 南京航空航天大学 | 基于Windows驱动程序的实时系统 |
CN102722142A (zh) * | 2011-12-09 | 2012-10-10 | 绍兴文理学院 | 基于图编程的轴承切削自动生产线专用控制系统 |
CN103163827B (zh) * | 2011-12-14 | 2015-07-29 | 沈阳高精数控技术有限公司 | 一种用于总线式数控系统的关键数据采集方法 |
CN102495590A (zh) * | 2011-12-20 | 2012-06-13 | 上海三一精机有限公司 | 数控系统电气调试方法 |
CN102591262A (zh) * | 2012-03-21 | 2012-07-18 | 绍兴文理学院 | 基于图编程的轴承切削自动生产线系统硬件 |
CN103365253A (zh) * | 2012-04-10 | 2013-10-23 | 宝元数控精密股份有限公司 | 可弹性灵活运用的自动化控制器 |
CN102662349B (zh) * | 2012-05-21 | 2013-11-20 | 天津职业技术师范大学 | 跨平台数控系统 |
CN103955153B (zh) * | 2014-04-15 | 2017-02-15 | 深圳众为兴技术股份有限公司 | 一种运动控制系统及方法 |
JP6441262B2 (ja) * | 2016-06-24 | 2018-12-19 | ファナック株式会社 | 加工プログラム編集装置、方法、及び編集用プログラム |
CN106802635B (zh) * | 2017-03-08 | 2020-08-11 | 北京海普瑞森科技发展有限公司 | 一种隐形眼镜车床的控制方法、装置和系统 |
EP3413147B1 (en) * | 2017-06-07 | 2022-03-23 | Brooks Automation (Germany) GmbH | Method for controlling a plc using a pc program |
CN107888508B (zh) * | 2017-09-29 | 2021-07-20 | 广州奇芯机器人技术有限公司 | 一种基于pc-nc的数控系统及其抗干扰弱实时通讯方法 |
CN108334035A (zh) * | 2017-12-21 | 2018-07-27 | 苏州谷夫道自动化科技有限公司 | 一种数控系统编程方法 |
US11300939B2 (en) * | 2018-06-22 | 2022-04-12 | Soft Servo Systems, Inc. | Motion control program, motion control method, and motion control device |
CN109542648A (zh) * | 2018-11-23 | 2019-03-29 | 凌云光技术集团有限责任公司 | 一种跨进程通信的方法及装置 |
CN110703677A (zh) * | 2019-09-29 | 2020-01-17 | 四川中曼电气工程技术有限公司 | 一种集成在工控机上的plc控制系统 |
CN112346405B (zh) * | 2020-10-13 | 2022-03-01 | 深圳市汇川技术股份有限公司 | 数控系统控制方法、装置、数控系统及计算机存储介质 |
CN114594731A (zh) * | 2020-12-07 | 2022-06-07 | 山东新松工业软件研究院股份有限公司 | 一种基于总线控制的cnc控制方法及其系统 |
CN112846476B (zh) * | 2020-12-15 | 2023-05-26 | 广州瑞松智能科技股份有限公司 | 智能一体化的搅拌摩擦焊数控系统 |
CN116736792B (zh) * | 2023-08-01 | 2024-04-05 | 广州亿达科技有限公司 | 一种嵌入cnc系统中的逻辑控制编程方法与装置 |
-
2007
- 2007-12-28 CN CNB2007101449569A patent/CN100514234C/zh not_active Expired - Fee Related
Non-Patent Citations (6)
Title |
---|
一种高性能、开放式软件数控系统及其应用. 李凤阁,黄勇.伺服系统,第1期. 2006 |
一种高性能、开放式软件数控系统及其应用. 李凤阁,黄勇.伺服系统,第1期. 2006 * |
基于PC和Windows的开放式数控系统的接口设计. 庄丽阳,蒋薏.淮阴工学院学报,第13卷第5期. 2004 |
基于PC和Windows的开放式数控系统的接口设计. 庄丽阳,蒋薏.淮阴工学院学报,第13卷第5期. 2004 * |
基于Windows的开放式数控系统的实现. 左飞雁,张桂香,白裔峰.计算技术与自动化,第22卷第3期. 2003 |
基于Windows的开放式数控系统的实现. 左飞雁,张桂香,白裔峰.计算技术与自动化,第22卷第3期. 2003 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101923335A (zh) * | 2010-08-10 | 2010-12-22 | 济南大学 | 基于内核平台、直接面向加工路径点的开放式数控系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101196738A (zh) | 2008-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100514234C (zh) | 基于pc机的开放式数控系统 | |
CA2208297C (en) | Method and computer program product for reducing inter-buffer data transfers between separate processing components | |
KR100300776B1 (ko) | 자동화 장치 | |
US6425038B1 (en) | Conversion of desk-top operating system for real-time control using installable interrupt service routines | |
WO2017177695A1 (zh) | 一种数控系统中应用的开发与集成方法及系统 | |
EP2169547A1 (en) | Compilation model for programmable logic controllers (PLC) | |
CN100370380C (zh) | 一种开放式可重组软数控系统 | |
US7669002B1 (en) | System and method for providing an application with memory access methods | |
US9709974B2 (en) | Open numeric control system with real time kernel and a real-time control method of a tool path | |
WO2004055633A3 (en) | System and method for software application development in a portal environment | |
CN112199173B (zh) | 双核cpu实时操作系统数据处理方法 | |
CN101114174A (zh) | 嵌入式四轴运动控制器 | |
CN102346687A (zh) | 基于Windows驱动程序的实时系统 | |
CN103744342A (zh) | 一种基于双核处理器的pac实时控制系统 | |
CN111267111B (zh) | 一种机器人控制方法、装置及系统 | |
CN102621960A (zh) | 一种基于ARM-Linux的编译型PAC | |
CN114594937A (zh) | 一种程序组态方法和系统 | |
US7107119B2 (en) | Controller for a machine tool or production machine | |
CN201237713Y (zh) | 嵌入式一体化工控机 | |
Yu et al. | Design of controller system for industrial robot based on RTOS Xenomai | |
JP2004280299A (ja) | コントローラ、開発装置及びシステム | |
CN112233498B (zh) | 一种表格式可编程显示控制器 | |
Zhang et al. | An USB-based software CNC system | |
CN107817776B (zh) | 一种串口屏二次开发系统 | |
US20240134815A1 (en) | Systems and methods for graphically programming an application with external integrated circuits |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090715 Termination date: 20141228 |
|
EXPY | Termination of patent right or utility model |