可重构计算机数字控制系统与数字控制方法、 重构方法 技术领域 本发明属先进控制与先进制造领域, 具体涉及一种基于 PC 的、 全方位开放的、 标 准化的可重构计算机数字控制系统及其数字控制方法与重构方法, 以适应可重构制造系统 对数字控制系统的要求。
技术背景 可重构制造系统是先进制造的研究前沿, 是未来制造系统的发展方向。1998 年, 美国国家研究委员会发表了 “2020 年制造业面临的挑战” 的研究报告, 将可重构制造系 统列为 10 大关键技术的第一位。对可重构制造系统具有决定性意义的是可重构机床 RMT(Reconfigurable Machine Tools)。十余年来, 数字信息技术突飞猛进, 可重构机床毫 无进展, 其原因在于可重构机床必须建立在可重构计算机数字控制系统的基础上。没有可 重构计算机数字控制系统, 可重构机床则成无米之炊。
数字控制系统的可重构性成为可重构制造系统中亟待解决的关键技术。 可重构计算机数字控制系统应该是一种开放式数字控制系统, 这是本领域的共识。 自从 1952 年美国 MIT 研制出第一台电子管数控系统以来, 历经晶体管、 集成电路、 小型计算机、 微型计算机之后, 数控系统于上世纪八十年代发展为基于 PC 的开放式数控系 统, 产生了现有开放式数控系统的三种模式 : PC 嵌入 NC 模式、 NC 嵌入 PC 模式、 软开放式模 式。
NC 嵌入 PC 模式的所谓基于运动控制器的开放式数控系统成为现有开放式数控系 统的主流, 运动控制器成为一个高新技术产业并风靡全球。开放式运动控制器在美国被誉 为新一代的工业控制器, 在日本被认为是将来的第三次工业革命。
IEEE(Institute of Electrical and Electronic s Engineers, 电气电子工程师 协会 ) 关于开放式数控系统的定义为 :
“符合系统规范的应用系统可以运行在多个销售商的不同平台上, 可以与其它系 统的应用进行互操作, 并且具有一致风格的用户交互界面。 ”
中国国家标准 《GB/T 18759.1-2002·机械电气设备·开放式数控系统·第 1 部分 总则》 抓住 IEEE 定义的本质并遵循 IEEE 定义的基本原则, 在 3.1 款中直截了当将开放性定 义为应用软件的 “即插即用” , 将开放式数控系统定义为 :
“指应用软件构筑于遵循公开性、 可扩展性、 兼容性原则的系统平台之上的数控系 统, 使应用软件具备可移植性、 互操作性和人机界面的一致性。 ”
开放式体系结构是实现高性能、 智能化数字控制的关键技术。然而, 近三十年来, 在 IEEE 定义的误导下, 正如文献 《高性能运动控制在数控系统中的应用综述》 (载 《信息与 控制》 , 2003 年第 3 期, 中国自动化学会和中国科学院沈阳自动化研究所联合主办, 作者 : 王 军平, 王安, 敬忠良, 陈全世 ) 所指出的, “开放式体系结构还没有统一、 明确的概念内涵, 系 统实现技术还处于百家争鸣时代” , “开放式体系结构的研究还处于初期阶段” 。
从信息论的角度来看, 数控系统只是将压缩在刀路曲线与进给速度中的数字控制 信息解压。在基于 IEEE 定义的现有开放式数控系统中, 插补迭代控制方法就是数字控制信 息的一种解压方法。
插补迭代控制方法的基本技术方案是, 对于给定的刀路 (Tool Path) 曲线与刀具 的进给速度, 在实时操作系统的控制下, 以插补周期为分时周期, 采用插补迭代算法实时计 算相关坐标轴的数字控制信息, 并实时分配发送给伺服驱动装置执行, 以控制机械系统之 间的确定性运动关系。 在每个插补周期中, 由插补所生成的数字控制信息, 一方面立即实时 分配发送给伺服驱动装置执行, 另一方面又作为下一个插补周期的输入进行迭代以生成下 一个数字控制信息, 从而构成数字控制信息的实时迭代。 跟随插补周期的节拍, 数字控制信 息不断地生成、 分配、 发送、 执行, 从而又以过程迭代的方式周而复始, 构成控制过程的实时 迭代。
发明人发现, 基于 IEEE 定义的现有开放式数控系统没有可重构性的基本原因有 四点 :
第一、 平台相关性
所谓平台无关性一般指的是应用软件可以在多个不同品种的 CPU 上运行以及多 个操作系统上运行。前者为硬件平台无关性, 后者为软件平台无关性。 中国国家标准 《GB/T 18759.1-2002·机械电气设备·开放式数控系统·第 1 部分 总则》 将开放式数控系统的基本体系结构分为应用软件和系统平台, 系统平台由硬件平台 与软件平台组成。 所谓硬件平台, 是软件平台和应用软件运行的基础部件, 处于基本体系结 构的最底层 ; 所谓软件平台, 是应用软件运行的基础部件, 处于基本体系结构的硬件平台和 应用软件之间。所谓 NC 核心软件则是应用软件中的基础软件, 也就是涉及运动控制、 轴控 制和运动控制管理的应用软件模块。为叙述的简便, 将 NC 核心软件简称为数控应用软件。
软件平台一般包括操作系统、 图形系统及应用编程接口 APT, 其中核心是实时操作 系统。
从计算机与计算机应用的发展历史来看, 采用分时运行多个用户程序的多任务操 作系统是一个划时代的进展。 然而, 在本质上, 多任务操作系统只是为适应内部与外部资源 的管理以及内部与外部的环境变化而构建的一种内外资源的管理机制以及响应内外环境 变化的应变机制。
在基于 IEEE 定义的现有开放式数控系统中, 插补迭代控制方法将实时操作系统 的管理机制与应变机制转变为一种普适的控制机制, 实时操作系统便成为进行实时插补迭 代以生成数字控制信息的实时控制中心, 现有数控系统形成了以实时操作系统为中心的系 统架构。 插补迭代控制算法的运算规则与实时操作系统的任务调度规则紧密耦合在一起构 成一种实时的数字控制方法, 即插补迭代控制方法。插补迭代控制方法贯穿于数字控制技 术与数控系统的全部历史, 创建了数控系统的 “插补时代” 。 。
在基于 IEEE 定义的现有开放式数控系统中, 插补迭代控制算法作为数字控制信 息的一种解压方法, 必须在实时操作系统的控制下实时地进行插补计算。实时操作系统具 有高精度计时功能、 多级中断嵌套处理机制与实时调度机制, 其核心是进程调度与线程调 度。实时性将进程调度与线程调度复杂化。并行算法又将进程调度与线程调度进一步复杂 化。与机器指令级流水线的并发性和处理器级进程的并发性相比, 线程的并发性所面临的
不确定性极为复杂。
进程与线程, 再加上并行算法, 导致实时操作系统的高度复杂化以及数控应用软 件的高度复杂化。 对于高速高精度的多轴系统, 数控应用软件势必成为采用并行算法、 涉及 多进程 / 多线程嵌套调用以及多重实时嵌套中断的一个庞大而复杂的中断系统。
问题在于, 一旦运动速度提高、 或运动精度提高、 或联动轴增加、 或联动参数增加, 实时操作系统的插补周期必然以指数形式增长, 从而需要更多位数更高速度的 CPU、 更多位 数更强实时性的实时操作系统、 更优化的实时调度能力、 以及更先进的插补迭代控制算法。
问题还在于, 为了研发那个庞大而复杂的中断系统, 既要精通数字控制技术, 又要 精通计算机软硬体系结构, 还要精通并行算法与多线程编程。 这就意味着, 数控应用软件成 为所谓的专家型系统, 即只有精通上述技术的复合型专家才能研发的系统, 用户无法进行 二次开发, 从而完全丧失了开放性。
因此, 基于 IEEE 定义的开放式现有数控系统完全 “被计算机化” , 在体系结构上, 实质上成为需要配置实时操作系统的通用计算机系统, 数控应用软件只是其中的一个专用 应用系统, 其开放性只能定义为数控应用软件的 “即插即用” 。
由此可见, 在本质上, 基于 IEEE 定义的现有开放式数控系统并不具有平台无关 性, 而是相反, 具有平台相关性, 对于高速高精度的多轴系统来说, 更是平台强相关性。 基于 IEEE 定义的现有开放式数控系统既然具有平台强相关性, 在本质上便失去 了重构的基础。
第二、 实时控制过程不具有可重构性
在基于 IEEE 定义的现有开放式数控系统中, 实时控制过程既是数字控制信息的 迭代过程又是实时控制过程的迭代过程, 与插补迭代控制算法密不可分, 高速高精度的插 补迭代算法自然成为现有数控技术中的核心技术。故而, 日本的 OSEC 计划 (Open System Environment for Controller) 认为, 没有先进的控制算法的开放式数控系统只是进化性 的、 不是理想的和革命性的。
在体系结构上, 基于 IEEE 定义的现有开放式数控系统被划分为系统平台和应用 软件两大部分, 应用软件进而划分为人机控制层和运动控制层。运动控制层是数控系统完 成实时控制过程的内核, 由一些标准组件构成。 显然, 这是一种面向应用软件配置的体系结 构。这就意味着, 基于 IEEE 定义的现有开放式数控系统是面向对象而不是面向过程的。
数字控制系统的核心问题是实时控制刀路曲线。相应于机械系统的重构, 刀路曲 线的实时控制过程必然需要重构。
在基于 IEEE 定义的现有开放式数控系统中, 对于不同的刀路曲线, 例如, 直线、 圆 弧、 抛物线、 渐开线、 NURBS 曲线等, 必须研发相应的插补迭代算法并在数控应用软件中配置 相应的实时控制模块。 因此, 相应于机械系统的重构, 实时控制过程的重构必然涉及实时控 制模块的修改, 或替换、 增加实时控制模块。舍此之外, 再无其他技术手段。
显然, 这与数字控制系统可重构性的内涵相距甚远。
发明人发现, 对于数字控制来说, 过程比对象更具本质特征。 数字控制系统中的数 字控制是一个过程, 而不是对象。然而, 基于 IEEE 定义的现有开放式数控系统是面向对象 而不是面向过程的。
在插补迭代控制方法中, 实时控制过程就是插补周期控制下的坐标值增量的生成
过程、 分配过程、 发送过程、 执行过程的周而复始。 因而, 实时控制过程与刀路曲线的几何特 征、 加工过程的工艺特征、 机械系统的运动学 / 动力学特征等密不可分, 与 CPU 的位数、 运算 速度等硬件平台密不可分, 与实时操作系统等软件平台密不可分, 与插补迭代算法密不可 分。这就从根本上限制了实时控制过程的重构。换言之, 在基于 IEEE 定义的现有开放式数 控系统中, 刀路曲线的实时控制过程无法开放, 不具有可重构性。
第三、 通信周期为系统参数
网络化是先进制造技术的重要技术特征。
中国国家标准 “GB/T 18759.1-2002· 机械电气设备· 开放式数控系统· 第 1 部分 : 总则· 5.2.4.2” 规定, 外部通信应符合有关的国家标准或国际标准, 内部通信应符合 ISO 标 准通信模型。
外部通信用于数控系统与车间管理网之间, 其按口可称为网络接口, 例如工业以 太网接口或其他现场总线 Field bus)。
继而, 对于内部通信接口, 中国国家标准 《GB/T 18759.3-2009. 机械电气设备 . 开 放式数控系统 . 第 3 部分总线接口与通信协议》 以 ISO/OSI 开放系统互联参考模型为基础, 规范了一种现场总线, 称之为 “开放式数控系统总线” , 用于连接 “数控装置、 伺服驱动装置、 主轴驱动装置、 传感器装置、 I/O 装置” , 以实现这些 “装置间的数字式、 双向、 多点的通信” , 并满足系统对周期性、 实时性、 同步、 可靠性、 安全性、 开放性等方面的要求。另一种数控系 统现场总线标准 《机床数控系统 NCUC-Bus 现场总线协议规范 ( 草案 )》 的草案已公开、 也以 ISO/OSI 开放系统互联参考模型为基础。
众所周知, ISO/OSI 开放系统互联参考模型是针对计算机网络之间的通信模型。 所 述现场总线标准对总线体系结构进行了简化, 主要由物理层、 数据链路层与应用层构成。 所 述现场总线导致通信周期成为另一个系统参数, 通信协议的实时性、 数据表示的兼容性等 一系列问题导致内部通信高度复杂化与高成本。
相应于机械系统的重构, 实时控制过程中的数字控制信息的数据格式, 包括进给 当量 ( 纳米或微米 )、 数据的字节数等都将发生变化。 在所述现场总线中必须制定用户层通 信协议, 对开放式数控系统内部的数据交换中的数据格式、 时序关系和纠错方式予以规范。 因而, 与实时操作系统中的插补周期类似, 现场总线中的通信周期反而成为制约数字控制 系统可重构性的因素。
对于可重构计算机数字控制系统来说, 为此必须耗费大量计算资源配用于支持各 类现场总线 ( 例如 CAN、 Profibus、 Sercos 等 )。
第四、 编程接口与人机界面的一致性
在基于 IEEE 定义的开放式现有数控系统中, 采用 G 代码标准作为数控加工程序的 编程接口。上世纪 50 年代纸带作为输入的基本物理介质时, 为规范在纸带上表示字符, 制 定了纸带穿孔的编码标准, 即 G 代码标准。
G 代码标准是信息技术起步阶段的原始产物, 受纸带的限制不可避免地存在信息 量过少的缺陷。各个厂商因而对 G 代码都进行了基本语义之外的扩张, 导致 G 代码程序与 相应硬件的依赖, 数控加工程序在不同的数控系统之间不具有互换性, 造成各种数控系统 互不兼容。因而, 作为编程接口, G 代码标准不具备人机界面的一致性, 成为数控技术进一 步发展的瓶颈之一, 也制约了数字控制系统的开放性与可重构性。上述四个方面的问题导致基于 IEEE 定义的现有开放式数控系统只有三种技术方 案来解决数字控制系统的开放性。
其一是研发更多位数、 更高速度的 CPU 与更多位数、 实时性更强的实时操作系统。 例如, 2009 年, 中国国家 “高档数控机床与基础制造装备” 科技重大专项计划将 64 位 CPU、 64 位实时操作系统、 以及插补周期达到 0.125ms 的多轴联动数控系统列为关键技术。
其二是研发更先进的插补迭代控制算法。例如, 日本在 OSEC 计划推动下, 研发出 用于运动控制器的 64 位超高速芯片与 NURBS 插补迭代控制算法。
其三是研发基于超高速处理器与实时操作系统的全软开放式数控系统。 所谓全软 开放式数控系统, 形象地说, 就是在实时操作系统支持下将数字控制系统完全 PC 化。
显然, 上述三种技术方案都依赖实时操作系统, 刀路曲线的实时控制过程无法开 放。一个严峻的事实是, 在基于 IEEE 定义的现有开放式数控系统中, 相应于机械系统的重 构, 特别是相应于高速高精度多轴系统的重构, 无论是 NC 嵌入 PC 模式还是软开放式模式, 都不能解决上述四个方面的问题, 特别是, 都不能解决实时控制过程的可重构性, 只能重新 研发那个庞大而复杂的中断系统。
因此, 中国国家标准 “GB/T 18759.1-2002·机械电气设备·开放式数控系统·第 1 部分总则” 未对数控系统的可重构性进行技术界定, 也未对可重构数控系统作任何说明, 仅在 4.5.2 款中将可重构性列为开放式数控系统中有待实现的最高层次而已。换言之, 对 基于 IEEE 定义的现有开放式数控系统来说, 可重构性只是一个美妙的设想。 发明人发现, IEEE 关于开放式数控系统的定义是阻碍可重构计算机数字控制系统 发展的根本原因, 其首要因素是 IEEE 定义所产生的控制观念。在观念上, 必须对现有数字 控制技术进行变革, 树立以工作机为中心的控制观念。 数控系统是为工作机服务的, 其任务 只是为工作机制造数字控制信息即多维关联数据流, 所述多维关联数据流不能夹带工作机 不需要的插补周期、 通信周期、 轮廓步长等冗余信息。
对于数字控制来说, 过程比对象更具本质特征。数控系统中的数字控制是一个过 程, 而不是对象。 IEEE 定义下的现有数控系统的体系结构, 与历史上天文学中地心说的托勒 密体系结构类似, 均缘于观念的错误。
发明人进而发现, IEEE 定义存在三个原则性错误。
IEEE 定义的第一个原则性错误是, 在控制观念上, IEEE 定义将数控系统定位为控 制工作机的实时指挥中心, 没有关联数据流的概念。
IEEE 定义的第二个原则性错误是, 在体系结构上, IEEE 定义忽视了数字控制的过 程本质, 面向对象而不是面向过程, 没有控制流程的概念, 将数控系统定义为一种需要配置 实时操作系统的通用计算机系统。
IEEE 定义的第三个原则性错误是, 在控制方法上, IEEE 定义忽视了插补迭代控制 算法只是数字控制信息的一种解压方法, 从而将实时操作系统的内外资源的管理机制以及 响应内外环境变化的应变机制视为一种普适的控制机制, 将插补迭代控制算法的运算规则 与实时操作系统的任务调度规则紧密耦合在一起构成一种实时控制方法。
因此, IEEE 定义必然产生下述问题 :
1)、 一切事物都处于过程之中, 都要遍历产生、 发展、 消亡等阶段并演化出层次结 构。 在过程的不同层次中事物演化出的结构便成为对象。 一切对象都在过程中实现其功能。
对象只是关于事物在特定层次结构的一种人为抽象, 过程则是事物在不同层次结 构中实际运动的动态行为。IEEE 定义完全忽视了数字控制的过程本质, 将数字控制过程视 为对象, 导致数字控制信息的迭代与控制流程的迭代, 不可能涉及数字控制信息的开放性、 数字控制过程的开放性与数字控制过程之间的界面的开放性。
2)、 IEEE 定义以数控系统为中心, 所定义的开放性是计算机系统本身应具有的开 放性, 所谓开放式数控系统的体系结构是从计算机系统移植过来的, 是一种面向对象以便 实现控制软件模块化的体系结构, 不能反映数控系统在整个控制过程中的技术特征。
3)、 IEEE 定义未能从制造系统的宏观视野来审视开放式数控系统的体系结构, 采 用通用计算机系统的体系结构, 导致开放式的概念含糊不清, 至今也未能统一。互操作性、 可移植性、 可伸缩性、 可互换性等描述性词汇便成为开放式的所谓技术规范, 阻碍了数控系 统的标准化进程。
4)、 IEEE 定义面向对象而不是面向过程, 忽视了计算机数字控制的本质, 数控系统 “被计算机化” , 数字控制技术的发展被引向所谓 “先进的控制算法” ( 日本 OSEC 计划 ), 即 插补迭代控制算法的精度与速度, 从而误导了数字控制技术的发展方向。
5)、 数控系统的核心问题是实时控制过程的开放性与可重构性。在 IEEE 定义的开 放式数控系统中, 实时控制模块因面向对象而无法开放, 从根本上制约了数控系统的发展。 6)、 IEEE 定义基于通用计算机系统的体系结构, 局限于数控软件的功能划分及其 相互之间的操作界面, 对于数字控制的过程特征缺乏系统学范畴的界定, 因而, 数控系统被 定义为配置了数控软件的通用计算机系统, 从而在实质上将开放式数控系统定义为制造数 字控制信息的刚性集成制造系统。
7)、 IEEE 定义不是以工作机为中心, 而是以数控系统为中心, 从而产生了插补周 期、 轮廓步长等大量冗余信息, 违反了简单性原则。这些冗余信息消耗了大量计算资源, 违 反了经济性原则。
8)、 过程的开放性与对象的开放性是完全不同的。过程的开放性必然涉及数字控 制信息的生成、 分配、 发送、 执行的控制流程。IEEE 定义完全没有控制流程的观念。
IEEE 定义的开放式数控系统的体系结构不是按照制造数字控制信息的控制流程 来配置控制资源的体系结构。
9)、 IEEE 定义没有将数字控制信息看作是一种产品, 未涉及数字控制信息的开放 性。
10)、 G 代码标准是现有数控程序采用的编程接口。G 代码编程接口不具备人机界 面的一致性。IEEE 定义关于人机界面的表述过于抽象, 所谓 “人机界面的一致性” 回避了编 程接口的开放性。
因此, IEEE 定义不是一个关于计算机数字控制系统的开放性定义, 只是试图规范 应用软件的 “即插即用” 问题, 并未解决数控系统的开放性, 反而在体系结构上将数控系统 强制为通用计算机系统架构下的专用计算机系统, 从而将数控系统的发展牢牢地钉死于 “插补时代” 。
综上所述, 在 IEEE 定义的错误观念主导下的现有开放式数控系统中, 数控系统所 制造的数字控制信息、 制造数字控制信息的方法、 以及制造数字控制信息的过程与过程界 面, 都是封闭的、 非标准的、 不可重构的。所制造的数字控制信息成为现有数控系统的内部
物品。这就从根本上否定了数控系统的开放性与可重构性, 人为地将现有数字控制技术与 现有开放式数控系统高度复杂化, 为数控系统的重构设置了难以逾越的障碍, 必然导致现 有开放式数控系统无法演化为第三次工业革命所期盼的控制机。
发明人舍弃 IEEE 关于开放式数控系统的定义, 将开放式数控系统定义为 :
“所谓开放式数控系统是按照控制流程配置嵌入式子系统的计算机数字控制系 统, 具有开放的人机界面、 开放的数字控制信息、 开放的数字控制信息制造方法、 开放的数 字控制信息制造过程、 数字控制信息制造过程之间的开放的界面、 开放的应用软件。 ”
这一定义同样适用于所述嵌入式子系统, 因而是一个系统学与分形几何学相结合 的定义。在所定义的开放式数控系统中不存在数字控制信息的迭代与控制流程的迭代, 控 制信息流的拓扑结构是一种线性拓扑结构。应用软件的开放性就是 “即插即用” 。
IEEE 定义的开放性只涉及应用软件的开放性以及操作使用计算机时的人机界面 的开放性。
发明人的这一定义表明, 开放式数控系统的开放性具有下述五个方面的内涵 :
1)、 人机界面的开放性, 包括数字控制信息制造过程的所有控制过程界面中的人 机界面, 特别是编程接口的开放性 ; 2)、 数字控制信息的开放性 ;
3)、 数字控制信息的制造方法的开放性 ;
4)、 数字控制信息的制造过程的开放性 ;
5)、 数字控制信息制造过程之间的界面的开放性。
所谓数字控制信息的开放性指的是数字控制信息生成部件中生成的数字控制信 息的公开性与透明性。
所谓数字控制信息制造方法的开放性指的是允许用户 ( 或开发商 ) 构造或集成 自己的数字控制信息的制造方法, 也就是实时控制方法完全软件化与应用软件的 “即插即 用” 。
所谓数字控制信息制造过程的开放性指的是数字控制信息的每个子过程的公开 性与透明性。
数控系统的内部接口用于系统内部功能部件之间交换信息。
所谓数字控制信息制造过程之间的界面的开放性指的是内部接口的开放性。
所谓人机界面的开放性指的是编程接口的开放性。
由此可见, 发明人的上述开放式数控系统的定义反映了现代制造业的发展环境对 控制机所提出的标准化问题, 以适应工作机、 动力机等产业的标准化进程。
发明人在发明专利 《计算机数字控制系统数据流关联控制方法与体系结构》 ( 中国 专利号 : ZL200710124304.9, 授权公告日 : 2009 年 8 月 19 日 ) 中发明了数据流关联控制方 法 (Data-stream Related Control, DRC 控制 ), 使现有数控系统告别了插补时代, 迈入了 数据流关联控制时代, 产生了新一代控制机即数据流关联控制机 (DRC 控制机 )。
发明人在发明专利 《一种标准化控制机》 ( 申请号 : 200910110439.9PCT 国际申请 号: PCT/CN2010/072914) 公开了一种标准化 DRC 控制机及其重构方法, 按照数字控制信息 的生成、 分配发送、 执行的控制流程来配置控制资源, 所述标准化 DRC 控制机由数字控制信 息生成部件, 数字控制信息分配发送部件与数字控制信息执行部件构成。
发明人将数字控制信息看作是一种产品, 将数字控制信息的生成、 分配、 发送、 执 行这一制造数字控制信息的工艺流程称之为控制流程。
根据工艺流程配置相应的生产设备, 进行专业化标准化生产, 这是制造业走过的 必由之路。显然, 工艺流程是分工合作、 实现专业化、 标准化生产的基础。将数字控制信息 看作是一种产品, 则必然存在制造数字控制信息的工艺流程。
正如在机械制造中必须按照机械制造的工艺流程来配置相应的加工设备一样, 在 信息制造中也必须按照制造数字控制信息的控制流程来配置相应的嵌入式子系统。
发明人将控制流程划分为数字控制信息生成过程、 数字控制信息分配发送过程与 数字控制信息执行过程等三个子过程。
发明人发现, 数字控制信息的生成过程, 包括数字控制信息的解压过程、 数字控制 信息的优化过程以及确定性误差的补偿过程等, 理应是 “运筹帷幄之中, 决胜千里之外” , 是 一个非实时过程。而数字控制信息的分配发送过程则有如 “军令如山” , 数字控制信息的执 行过程更是 “兵贵神速” , 都必须是实时的。
按照制造数字控制信息的控制流程, 开放式数控系统的体系结构可解耦为数字控 制信息生成部件 ( 数字信息制造系统 )、 数字控制信息分配发送部件 ( 数据流控制器 )、 数 字控制信息执行部件 ( 伺服驱动装置与 I/O 装置 ) 等三个功能部件。
在数字控制技术中, 由 “1” “0” 形态的离散位置信息一般称为步进型, 由坐标值增 量构成的离散位置信息则称之为增量型。
设刀路 (Tool Path) 曲线为 X、 y、 Z、 A、 B、 W、 E、 H 等 8 个变量的函数。其中, X、 y、 Z、 A、 B 为联动的坐标轴, W、 E、 H 为需要实时控制的参数 ( 例如, W 为激光脉冲的宽度、 E为 激光脉冲的能量、 H 为激光脉冲的频率 )。对于数据流关联控制来说, 需要实时控制的工艺 参数与坐标值并无任何本质上的差别, 可以将控制该工艺参数的开关视为虚拟坐标轴, 参 数值视为该虚拟坐标轴的坐标值, 从而将坐标轴联动与工艺参数的实时控制统一起来, 称 之为多轴多参数联动。在本发明中, 坐标轴包括虚拟坐标轴。
表 1 为 8 联动的多维关联数据流的示意图。
表1
表 1 中, 时间 T 被离散分割为 n 个区间 : Δti, i = 1, ..., n。Δti(i = 1, ..., n) 称之为该刀路曲线的 T 分割。X、 y、 Z、 A、 B、 W、 E、 H 等在 Δti 内的坐标值增量离散为 ΔXi、 Δyi、 ΔZi、 ΔAi、 ΔBi、 ΔWi、 ΔEi、 ΔHi。微线段 ΔLi(ΔXi、 Δyi、 ΔZi、 ΔAi、 ΔBi) 称之为该 刀路曲线的 L 分割。
在实时控制过程中, X 轴首先进给 ΔX1, 经过 Δt1 后再进给 ΔX2, 直到 ΔXn, y、 Z、 A、 B、 W、 E、 H 等轴也是如此。因而, Δtn 是冗余的故舍去。另外, 为了统一控制步骤, 增加
Δt0。Δt0 与刀路曲线无关, 可适当设定, 例如, 将 Δt0 设定为 Δtn。将下标 0, 1, ..., n-1 调整为 1, ..., n。为叙述的方便起见, 且有别于插补周期, 将 T 分割中的 Δti(i = 1, ..., n) 称之为控制节律。
表 1 指出, 对于数据流关联控制来说, 需要实时控制的工艺参数与坐标值并无本 质上的差别, 可以将控制该工艺参数的开关视为虚拟坐标轴, 参数值视为虚拟坐标轴的坐 标值, 从而将坐标轴联动与工艺参数的实时控制统一起来, 称之为多轴多参数联动。 在本发 明中, 坐标轴包括虚拟坐标轴。
由此可见, 刀路曲线的数字控制信息包括两部分。第一部分是 L 分割, 描述相关坐 标轴联动时的坐标值增量及其所要求的联动性, 用于控制相关坐标轴联动以产生所要求的 合成位移。第二部分是 T 分割, 描述所述合成位移之间的随动性, 用于控制所述合成位移之 间的时间间隔。所述 L 分割还包括传动链之间的反向间隙、 螺距误差、 不垂直度与不平行度 误差等确定性误差或热变形误差之类的准确定性误差。
刀路曲线的 L 分割在 T 分割的控制下形成关联数据流。根据离散位置信息的 “1” “0” 形态或坐标值增量形态, 关联数据流可分为步进型关联数据流与增量型关联数据 流。
按给定的数据格式, 刀路曲线的 L 分割在存储空间生成的数字映像称之为刀路曲 线的联动表。按给定的数据格式, 刀路曲线的 T 分割在存储空间生成的数字映像称之为刀 路曲线的随动表。
显然, 数字控制技术的核心任务是生成刀路曲线的联动表与随动表, 所谓实时控 制就是按照随动表中的控制节律向相应的伺服驱动装置分配发送联动表中的坐标值增量。
在基于 IEEE 定义的现有开放式数控系统中, L 分割是在实时控制过程中动态产 生的。控制节律 Δti(i = 1, ..., n) 称之为插补周期, 是等长的。在实时操作系统的控制 下, 插补迭代控制算法在插补周期 Δti(i = 1, ..., n) 中产生 ΔLi(ΔXi、 Δyi、 ΔZi、 ΔAi、 ΔBi)。插补周期从而成为一个系统参数。
在数据流关联控制中, 数字控制信息生成部件无须配置实时操作系统, 不存在插 补周期, 控制节律 Δti 不是等长的。
从表 1 可以清楚地看出, 数字控制的基本问题就是制造关联数据流。实时控制过 程的基本问题就是关联数据流的实时控制。
对于给定的工件, 所谓数字控制信息生成过程就是数字控制信息生成部件制造关 联数据流的过程, 即刀路曲线的联动表与随动表的生成过程。
根据加工工艺确定的顺序, 数字控制信息生成部件生成 DRC 数控程序。
DRC 数控程序由运动指令构成, 用于控制工件的加工过程。运动指令包括状态指 令、 开关指令、 轨迹指令。 状态指令用于操作辅助功能 ; 开关指令用于控制 I/O 装置 ; 轨迹指 令用于控制伺服驱动装置, 完成一条刀路曲线的走刀过程。
数字控制信息生成部件通过离散几何规划生成刀路曲线的联动表, 通过离散运动 规划生成刀路曲线的随动表, 并按给定的数据格式, 生成标准文件形态的联动表与随动表。
一般采用常规的 PLC 控制刀库, 或采用软 PLC 生成组合逻辑的控制流来控制刀库 中的换刀过程。作为常规技术, 本发明不涉及用于刀库控制的控制流。
DRC 数控程序是数字控制信息生成部件所制造的完全数字化、 商品化的 “数字控制信息” 产品。DRC 数控程序的生成过程就是采用运动指令的编程过程。因而, 数字控制信息 生成部件既是数控编程的开放式平台又是数控技术的开放式开发平台。
所谓数字控制信息分配过程就是数字控制信息分配发送部件将联动表中的坐标 值增量分配给相关的伺服驱动装置, 例如, 将 ΔXi、 Δyi、 ΔZi、 ΔAi、 ΔBi 分配给 X、 y、 Z、 A、 B 等 5 个坐标轴的伺服驱动装置。
所谓数字控制信息的发送过程就是数字控制信息分配发送部件按照控制节律实 时控制数字控制信息的发送。
所谓数字控制信息的执行过程就是伺服驱动装置将坐标值增量写入位置环, 驱动 坐标轴进给。
在基于数据流关联控制的所述 DRC 控制机中, 数字控制信息的生成不是实时的, 数字控制信息的分配发送、 执行则是实时的。
发明人发现, 如果将 DRC 数控程序的结构予以改进, 数字控制信息分配过程则转 化为非实时过程, 因而可将数字控制信息分配过程与数字控制信息发送过程分离, 将控制 流程划分为数字控制信息生成过程、 数字控制信息分配过程、 数字控制信息发送过程与数 字控制信息执行过程等四个子过程, 将开放式数控系统的体系结构解耦为数字控制信息生 成部件、 数字控制信息分配部件、 数字控制信息发送部件、 数字控制信息执行部件等四个功 能部件。
继而, 发明人进一步发现, 数字控制信息的控制流程划分为生成过程、 分配过程、 发送过程、 执行过程之后, 导致 DRC 控制机的体系结构的重大改进, 成为一种基于 PC 的、 全 方位开放的、 标准化的可重构计算机数字控制系统。发明内容
数据流关联控制 (Data-stream Related Control, 简称 DRC 控制 ) 的目的是为第 三次工业革命提出一种控制信息、 控制方法、 控制过程与体系结构全方位开放的、 基于 PC 的标准化控制机 ( 简称为 DRC 控制机 ), 以适应第三次工业革命对数控系统的要求。
基于数字控制信息分配过程的非实时性, 本发明将 DRC 控制机进行改进, 提出一 种基于 PC 的、 全方位开放的、 标准化的可重构计算机数字控制系统。
本发明的技术方案如下所述。
一种可重构计算机数字控制系统, 其特征在于, 包括 PC 系统、 解释程序存储器、 实 时控制模块、 伺服驱动装置、 I/O 装置、 串行接口、 联动接口、 I/O 接口 ;
所述 PC 系统通过串行接口与所述伺服驱动装置连接, 通过 I/O 接口与所述 I/O 装 置连接, 用于生成控制工件加工过程的 DRC 数控程序, 包括状态指令生成模块、 开关指令生 成模块、 轨迹指令生成模块、 DRC 数控程序生成模块、 轴联动表分配模块、 DRC 数控程序运行 模块 ;
所述状态指令生成模块用于生成控制辅助过程的状态指令 ;
所述开关指令生成模块用于生成控制 I/O 装置的开关指令 ;
所述轨迹指令生成模块用于生成控制伺服驱动装置完成刀路曲线走刀过程的轨 迹指令 ;
其中, 所述轨迹指令生成模块包括离散几何规划模块与离散运动规划模块 ;所述离散几何规划模块用于生成存储有刀路曲线的 L 分割的联动表 ; 所述 L 分割 用于控制坐标轴联动产生合成位移 ; 所述联动表区分为各个轴的轴联动表, 所述轴联动表 用于存储相关坐标轴的 L 分割分量, 控制该坐标轴产生轴位移 ;
所述离散运动规划模块用于存储有刀路曲线的 T 分割与状态字的随动表 ; 所述 T 分割用于控制所述轴位移之间的时间间隔 ; 所述状态字用于指定联动的坐标轴 ;
所述 DRC 数控程序生成模块, 用于根据加工工艺将状态指令、 开关指令、 轨迹指令 链接为 DRC 数控程序 ;
所述轴联动表分配模块用于通过所述串行接口向所述伺服驱动装置分配所述轴 联动表 ;
所述 DRC 数控程序运行模块用于运行所述 DRC 数控程序, 执行状态指令控制辅助 过程、 执行开关指令通过所述 I/O 接口控制 I/O 装置、 执行轨迹指令启动所述实时控制模块 通过所述联动接口控制所述伺服驱动装置完成刀路曲线的加工过程 ;
所述解释程序存储器用于存储所述状态指令、 所述开关指令、 所述轨迹指令的解 释程序 ;
所述实时控制模块用于按照所随动表中的控制节律 Δti(i = 1, ..., n), 通过所 述联动接口向所述伺服驱动装置发送联动命令 ; 所述联动命令用于控制所述状态字指定的 坐标轴之间的同步 ; 所述伺服驱动装置设有轴联动表初始化模块与轴联动表控制模块 ; 所述轴联动表 初始化模块用于设置执行标志, 并根据所述轨迹指令的顺序码, 将所述轴联动表的首地址 写入 L 指针 ; 跟随所述联动命令, 所述轴联动表控制模块根据 L 指针从所述轴联动表中读取 该轴的坐标值增量并写入位置环, 驱动坐标轴进给产生合成位移。
进一步地, 上述可重构计算机数字控制系统中, 所述状态字的字节数为用户参数。
所述轴联动表文件还包括特征表 ; 所述特征表用于标识该坐标轴的逻辑属性 ; 所 述逻辑属性包括进给当量、 数据的字节数、 电子齿轮传动比。
所述联动接口的每个数据位分别连接一个伺服驱动装置。
所述串行接口为现场总线、 RS232 接口、 RS485 接口、 USB 接口或无线接口。
所述 DRC 数控程序运行模块包括运动指令取指模块、 状态指令执行模块、 开关指 令执行模块、 轨迹指令执行模块 ; 所述运动指令取指模块用于将 DRC 数控程序的首地址写 入运动指令指针并读取运动指令, 将运动指令的功能字节写入运动指令寄存器, 将下一条 运动指令的地址写入运动指令指针 ; 所述运动指令指针用于指定下一条运动指令的地址 ; 如果所述运动指令为状态指令, 所述状态指令执行模块用于执行该状态指令的解释程序 ; 如果所述运动指令为开关指令, 所述开关指令执行模块用于执行该开关指令的解释程序 ; 如果所述运动指令为轨迹指令, 所述轨迹指令执行模块用于执行该轨迹指令的解释程序。
进一步地, 所述轨迹指令执行模块设置运行标志, 启动所述实时控制模块 ; 所述实 时控制模块包括联动坐标轴设置模块、 联动命令设置模块、 节律控制模块、 终点控制模块 ; 所述联动坐标轴设置模块用于将随动表的首地址写入 T 指针, 从所述随动表中读取状态字 并写入状态字寄存器, 指定联动的坐标轴 ; 所述联动命令设置模块用于读取所述随动表中 的 Δti(i = 1, ..., n) 并写入 T 分割定时器 ; T 分割定时器中的定时时间到, 所述节律控制 模块用于启动脉冲发生器输出一个脉冲, 通过联动接口向所述状态字寄存器指定的伺服驱
动装置发送联动命令 ; 所述终点控制模块用于控制所述轨迹指令的终点, 如果所述 T 指针 等于所述随动表的末地址, 即到达所述轨迹指令的终点, 关闭运行标志 ; 否则, T 指针指向 下一个 Δti。
进一步地, 所述实时控制模块还包括随动表文件存储器与扇区分析模块, 通过内 部总线与所述 PC 系统 1 连接 ; 所述随动表文件存储器用于接收并存储所述随动表文件 ; 所 述扇区分析模块用于读取所述随动表文件。
进一步地, 所述实时控制模块通过双口 RAM 与 PC 系统连接 ; 所述双口 RAM 中存储 所述随动表。
本发明提出的一种可重构计算机数字控制系统的数字控制方法包括下述步骤 :
步骤 1、 DRC 数控程序生成步骤 : 用于 PC 系统 1 生成 DRC 数控程序, 包括下述步骤 :
步骤 101、 轨迹指令生成步骤 : 轨迹指令生成模块生成控制伺服驱动装置 4 完成刀 路曲线走刀过程的轨迹指令, 包括离散几何规划步骤与离散运动规划步骤 ; 离散几何规划 步骤用于离散几何规划模块生成存储有刀路曲线的 L 分割的联动表 ; 所述 L 分割用于控制 坐标轴联动产生合成位移 ; 所述联动表区分为各个轴的轴联动表, 用于存储各个坐标轴的 L 分割分量, 控制该坐标轴产生轴位移 ; 离散运动规划步骤用于离散运动规划模块生成存 储有刀路曲线的 T 分割与状态字的随动表 ; 所述 T 分割用于控制所述轴位移之间的时间间 隔; 所述状态字用于指定联动的坐标轴。
步骤 102、 状态指令生成步骤 : 状态指令生成模块生成控制辅助过程的状态指令。
步骤 103、 开关指令生成步骤 : 开关指令生成模块生成控制 I/O 装置的开关指令。
步骤 104、 DRC 数控程序生成步骤 : DRC 数控程序生成模块根据加工工艺将所述状 态指令、 所述开关指令、 所述轨迹指令链接为 DRC 数控程序。
步骤 2、 轴联动表分配步骤 : 轴联动表分配模块 15 通过串行接口 6 向伺服驱动装 置 4 分配所述轴联动表。
步骤 3、 DRC 数控程序运行步骤 : DRC 数控程序运行模块 16 运行所述 DRC 数控程序, 包括下述步骤 :
运动指令取指步骤 : 运动指令取指模块 161 将 DRC 数控程序的首地址写入运动指 令指针并读取运动指令, 将运动指令的功能字节写入运动指令寄存器, 将下一条运动指令 的地址写入运动指令指针 ; 所述运动指令指针用于指定下一条运动指令的地址 ;
状态指令执行步骤 : 如果运动指令取指步骤中的运动指令为状态指令, 状态指令 执行模块 162 则执行该状态指令的解释程序 ;
开关指令执行步骤 : 如果运动指令取指步骤中的运动指令为开关指令, 开关指令 执行模块 163 则执行该开关指令的解释程序 ;
轨迹指令执行步骤 : 如果运动指令取指步骤中的运动指令为轨迹指令, 轨迹指令 执行模块 163 则执行该轨迹指令的解释程序。
进一步的, 上述可重构计算机数字控制系统的数字控制方法中, 所述轨迹指令执 行步骤设置运行标志, 并启动下述实时控制步骤 :
步骤 a、 联动坐标轴设置步骤 : 根据所述轨迹指令的顺序码, 联动坐标轴设置模块 31 将随动表的首地址写入 T 指针, 从随动表中读取状态字并写入状态字寄存器, 指定联动 的坐标轴 ;步骤 b、 联动命令设置步骤 : 根据 T 指针, 联动命令设置模块 32 读取随动表中的 Δti(i = 1, ..., n) 并写入 T 分割定时器 ;
步骤 c、 节律控制步骤 : T 分割定时器中的定时时间到, 节律控制模块 33 启动脉冲 发生器输出一个脉冲, 通过联动接口 7 向状态字寄存器指定的伺服驱动装置 4 发送联动命 令;
步骤 d、 联动表控制步骤 : 跟随所述联动命令, 伺服驱动装置 4 的轴联动表控制模 块 41 根据 L 指针从其轴联动表中读取坐标值增量, 写入位置环, 驱动坐标轴进给产生合成 位移 ;
步骤 e、 终点控制步骤 : 终点控制模块 34 控制轨迹指令的终点, 如果 T 指针等于随 动表的末地址, 即到达所述轨迹指令的终点, 关闭运行标志 ; 否则, T 指针指向下一个 Δti, 重复步骤 b 至步骤 e。
本发明提出的一种可重构计算机数字控制系统的重构方法包括下述步骤 :
步骤 1、 重构离散坐标系 : PC 系统 1 重构离散坐标系 ; 所述离散坐标系包括正交离 散坐标系与非正交离散坐标系。
步骤 2、 重构结构常数数据库 : PC 系统 1 重构结构常数数据库 ; 所述结构常数数 据库存储坐标轴的精细结构常数与坐标系参数 ; 所述坐标轴的精细结构常数包括线位移误 差、 角位移误差、 反向间隙 ; 所述坐标系参数包括坐标轴之间的不平行度、 不垂直度。
步骤 3、 重构状态指令 : PC 系统 1 重构状态指令 ; 所述状态指令用于控制辅助过 程;
步骤 4、 重构开关指令 : PC 系统 1 重构开关指令 ; 所述开关指令用于控制 I/O 装置。
与现有技术对比, 本发明产生的原创性有益效果为 :
1、 基于控制流程的加工过程模型
基于 IEEE 定义的现有开放式数控系统面向对象, 采用有限状态机加工数据模型 描述复杂的、 具有不同层次实时性要求的多个控制任务。有限状态机是反应式系统的一种 高度抽象的建模工具, 对开发商而言, 结构复杂, 复用性差 ; 对用户而言, 则犹如蛛网式迷 宫, 毫无开放性。
数据流关联控制不是面向对象, 而是面向过程。 根据数字控制的过程特征, 本发明 为开放式数控系统提出一种加工过程模型。
与基于 IEEE 定义的现有开放式数控系统的有限状态机模型对比, 这种加工过程 模型是开放的, 极为清楚地描述了开放式数控系统的体系结构, 揭示了在不同的控制流程 中合理配置控制资源的技术方案与关键技术。
2、 数字控制方法的重大变革
在基于 IEEE 定义的现有开放式数控系统中, 实时操作系统的插补周期与现场总 线的通信周期是两个系统时钟。跟随插补周期与通信周期的节拍, 刀路曲线的数字控制信 息不断地生成、 分配、 发送、 执行, 从而以数字控制信息的实时迭代与控制过程的实时迭代 的方式周而复始。在这种体系结构中, 刀路曲线的实时控制过程既包括数字控制信息的实 时迭代与控制过程的实时迭代, 又包括实时通信过程, 涉及插补迭代算法的精度与速度、 刀 路曲线的几何特征、 加工过程的工艺特征、 机械系统的运动学 / 动力学特征、 处理器的位数 与运算速度等硬件平台、 实时操作系统等软件平台等一系列复杂因素。本发明按照数字控制信息的生成、 分配、 发送、 执行的控制流程配置控制资源, 并 将数字控制信息的生成过程与分配过程非实时化, 刀路曲线的实时控制过程简化为启动实 时控制模块按照随动表中的 Δti(i = 1, ..., n) 指定的节律, 通过联动接口向状态字指定 的伺服驱动装置单向发送联动命令 ; 伺服驱动装置则跟随联动命令, 将所述轴联动表中的 坐标值增量逐次写入位置环, 驱动相应坐标轴联动产生合成位移。
本发明以随动表中的节律 Δti(i = 1, ..., n) 取代了插补周期, 取消了实时操作 系统对实时控制过程的控制权, 以最简单的单向发送的联动命令取代了极为复杂的实时通 信, 取消了现场总线对实时控制过程的控制权, 从而将刀路曲线的实时控制过程转化为最 简单的联动命令的实时发送, 彻底清除了操作系统与现场总线对实时控制过程的制约, 实 现了实时控制方法与实时控制过程的开放性, 导致数字控制方法的重大变革。
3、 高精度多轴同步机制
多轴同步驱动技术是现有数控技术中亟待解决的关键技术。国家 “高档数控机床 与基础制造装备” 2009 年度科技重大专项 “课题 18 全数字高档数控装置” 将双轴同步驱动 技术列为现有数控技术中的一项关键技术。
在基于 IEEE 定义的开放式数控系统中, 多轴同步取决于现场总线中周期通信的 实时同步机制。
简单就是美。
在本发明中, 多轴同步取决于通过联动接口实时发送的联动命令, 联动的坐标轴 则由状态字指定。 所述联动命令为并行的同步脉冲, 所述状态字为用户参数, 所述联动接口 类似于状态字控制下的并行接口。因此, 本发明以极为简单的技术手段解决了多轴同步机 制问题, 具有高速高精度的同步能力, 从而将复杂的多轴同步驱动技术转化为简单的常规 技术。
4、 优良的可重构性
机械系统的重构意味着坐标轴运动关系的改变与坐标轴的增减, 特别是坐标轴的 增加。因而, 刀路曲线的实时控制过程的可重构性成为可重构计算机数字控制系统的核心 问题, 这就要求实时控制方法完全软件化, 实时控制过程与操作系统、 现场总线等软件平台 无关、 与编程接口无关。
基于 IEEE 定义的现有开放式数控系统面向对象而不是面向过程, 刀路曲线的实 时控制过程无法开放, 不具有可重构性。 对于不同的曲线类型, 必须定义专用的插补指令并 配置特定的实时插补控制模块, 因而, G 代码标准下的插补指令也不具有可重构性。相应于 坐标轴运动关系的改变, 基于 IEEE 定义的现有技术只能是增加实时插补控制模块或修改 现有实时插补控制模块。显然, 这与可重构性的内涵相距甚远。相应于坐标轴的增加, 特别 是相应于 5 轴及 5 轴以上的机械系统的重构, 基于 IEEE 定义的现有技术则只能求助于 64 位以上的高速 CPU、 64 位以上的更强实时性的实时操作系统、 更优化的实时调度能力、 以及 更先进的插补迭代控制算法, 而且必须重新研发那个庞大而复杂的中断系统。 显然, 这已不 是重构问题了。
本发明中的轨迹指令只有一种格式, 与刀路曲线中的曲线类型无关。不存在重构 问题。
在本发明中, PC 系统所制造的 DRC 数控程序、 轴联动表、 随动表等文件包括了控制伺服驱动装置与 I/O 装置所需要的全部数字控制信息, 数字控制信息是开放的, 制造数字 控制信息的方法是开放的 ; 此外, 本发明还将数字控制信息分配过程非实时化, 将数字控制 信息的实时发送转化为极为简单的联动命令的实时发送, 数字控制信息分配过程也是开放 的。
相应于坐标轴的增加, 在本发明中只涉及状态字的位数与字节数。 作为用户参数, 状态字的位数与字节数不存在重构问题。
在本发明将刀路曲线的实时控制过程简化为启动实时控制模块。 所述实时控制模 块是开放的, 通过内置固化的扇区分析模块, 其运行与 PC 的操作系统无关, 也无须配置任 何嵌入式实时操作系统。
本发明既没有插补周期, 也没有通信周期, 全面实现了实时控制方法的软件化, 完 全解决了刀路曲线的实时控制过程的重构问题。
相应于机械系统的重构, 还涉及辅助功能操作与 I/O 装置中的开关量控制。这就 涉及本发明中的状态指令与开关指令。
状态指令与开关指令都与机械系统的特定结构密不可分, 属于个性化功能。机械 系统重构后, 状态指令与开关指令往往需要重构。
在本发明中, 状态指令与开关指令的结构与功能极为简单, 对于用户来说, 在 PC 的用户层重新定义状态指令与开关指令并编写其解释程序是熟悉的简单技术。
数字控制系统的重构还涉及内部接口的重构, 特别是运动控制级实时接口的重 构。本发明将运动控制接口分为非实时串行接口与实时联动接口。
本发明的联动接口并非通信接口, 联动命令只是同步脉冲。 在发送端, 联动接口类 似按 Δti(i = 1, ..., n) 所指定的节律不断地单向传输状态字的并行接口 ; 在接收端, 一个 伺服驱动装置分别与联动接口的一个数据位连接, 联动接口类似一根中断控制线。 因而, 本 发明提出的联动接口不存在重构问题。
本发明的非实时接口是一个标准串行接口, 例如标准的 USB 接口或 UART 支持下的 其他标准串行接口, 属于常规技术。所述非实时接口无须重构。
在本发明中, PC 系统、 实时控制模块、 运动控制接口均与操作系统等软件平台无 关, 也与硬件平台无关。因而, 本发明提出的可重构计算机数字控制系统具有平台无关性。
数字控制系统的重构还涉及编程接口。在基于 IEEE 定义的现有开放式数控系统 中, G 代码形式的数控加工程序必须在实时操作系统的掌控下进行, 从而与软硬平台相关。 作为编程接口, G 代码标准不具备人机界面的一致性。在本发明中, 所述 DRC 数控程序采用 标准化文件系统取代 G 代码程序, 具有人机界面的一致性, 不存在重构问题。
因此, 在本发明中, 数字控制系统的重构仅涉及离散坐标系的重构与结构常数数 据库的重构。这些问题均属于 PC 中的常规技术。
综上所述, 机械系统重构后, 对于本发明所提出的可重构计算机数字控制系统, 轨 迹指令与刀路曲线的实时控制过程、 联动接口与非实时接口均无须重构, 需要重构的仅限 于离散坐标系与结构常数数据库, 以及在 PC 的用户层重新定义状态指令与开关指令, 编写 其解释运行程序。因而, 本发明将可重构计算机数字控制系统的重构方法转化为 PC 中的常 规技术手段, 具有优良的可重构性, 完全解决了可重构计算机数字控制系统的重构问题。
5、 标准化1)、 体系结构的标准化
本发明提出的可重构计算机数字控制系统的体系结构, 基于数字控制信息的生 成、 分配、 发送、 执行的控制流程配置控制资源。 特别是, 本发明在数字控制信息分配过程中 通过非实时串行接口向伺服驱动装置分配轴联动表, 从而将数字控制信息的分配过程非实 时化, 显著简化了可重构计算机数字控制系统的体系结构。
在本发明提出的可重构计算机数字控制系统中, 数字控制信息生成部件基于 PC, 是一个标准化部件。数字控制信息生成部件所制造的 DRC 数控程序、 轴联动表、 随动表等数 字控制信息文件都是标准文件, 与操作系统等软件平台无关。标准化文件系统成为数字控 制信息的载体, 实现了数字控制信息的开放性。
在本发明中, 实时控制模块无须配置操作系统, 其核心功能仅在于将 Δti 写入 T 分割定时器, 在状态字控制下通过联动接口实时发送联动命令, 功能与结构极为简单, 可以 标准化。
2)、 运动控制接口的标准化
数字控制系统的标准化还涉及内部接口的标准化, 特别是运动控制级实时接口的 标准化。
在基于 IEEE 定义的现有开放式数控系统中, 为了实现坐标值增量的实时分配, 现 场总线技术成为数控系统与伺服驱动装置之间的运动控制接口的主流技术。 所述现场总线 技术以 ISO/OSI 开放系统互联参考模型为基础, 完全忽视了数字控制的过程特征, 完全忽 视了数控设备区别于计算机网络的本质特征。通信周期成为系统时钟, 数据链路层与应用 层及其协议的实时性, 数据表示的兼容性等一系列问题耗费了大量计算资源。
现场总线的国际标准多达 12 个, 厂商的企业标准更多。这种状况导致中国国家 标准 “GB/T 18759.2-2006·机械电气设备·开放式数控系统·第 2 部分体系结构” 设置了 5.6 款, 要求支持各类现场总线 ( 例如 CAN、 Profibus、 Sercos 等 )。
不幸的是, 多标准就意味着没有标准。
本发明将运动控制接口分为非实时串行接口与实时联动接口。在辅助过程中, 将 每个坐标轴的轴联动表通过串行接口分配给相应的伺服驱动装置。在所述串行接口中, 通 信周期并非系统参数, 不存在同步机制, 避免了通信协议的实时性及其地复杂问题。 所述轴 联动表为标准文件, 不存在数据表示的兼容性问题。 因而, 所述串行接口可以是任何标准串 行接口, 例如标准的 USB 接口或 UART 支持下的其他标准串行接口。
所述联动命令只是一个同步脉冲。在发送端, 联动接口类似按 Δti(i = 1, ..., n) 的节律不断地单向传输状态字的并行接口 ; 在接收端, 一个伺服驱动装置分别与联动接 口的一个数据位连接, 联动接口则类似一根中断控制线。显然, 所述联动接口可以标准化。
因此, 所述联动接口与所述非串行接口都是标准化的, 解决了运动控制接口的标 准化问题。
3)、 编程接口的标准化
在基于 IEEE 定义的现有开放式数控系统中, 采用 G 代码标准作为数控加工程序的 编程接口。上世纪 50 年代纸带作为输入的基本物理介质时, 为规范在纸带上表示字符, 制 定了纸带穿孔的编码标准, 即 G 代码标准。
在 G 代码程序中, 用不同的插补指令来描述一条刀路曲线中的不同曲线。对于不同的曲线又必须使用不同的插补迭代算法来实现不同的插补指令, 曲线的实时加工过程被 插补迭代算法实时化, 从而导致插补迭代算法成为面向对象的封闭的实时控制算法, 从实 时控制过程方面制约了数字控制系统的开放性与可重构性。
G 代码标准是信息技术起步阶段的原始产物, 受纸带的限制不可避免地存在信息 量过少的缺陷。各个厂商因而对 G 代码都进行了基本语义之外的扩张, 导致 G 代码程序与 相应硬件的依赖, 数控加工程序在不同的数控系统之间不具有互换性, 不具备人机界面的 一致性, 造成各种数控系统互不兼容, 阻碍控制信息的交换与共享, 从编程接口方面制约了 数字控制系统的开放性与可重构性。
在插补迭代算法中, 每个坐标轴必须具有相同的逻辑属性。一旦坐标坐标轴的逻 辑属性不同, 例如, 进给当量 ( 纳米、 微米等 ) 不同、 数据的字节数不同等, 数控系统的功能 与结构都要发生相应的变化, 从实时控制过程与实时通信过程两方面制约了系统的开放性 与可重构性。
在本发明提出的可重构计算机数字控制系统中, 根据加工工艺确定的顺序, 采用 使用状态指令、 开关指令、 轨迹指令来编写 DRC 数控程序。
DRC 数控程序面向控制流程, 轨迹指令面向刀路曲线的加工过程。 轨迹指令的轴联 动表与随动表携带加工刀路曲线所需要的全部数字控制信息, 由数字控制信息生成部件非 实时地制造出来, 因而允许每个坐标轴具有不同的逻辑属性。 上述 DRC 数控程序、 轴联动表、 随动表都以标准化文件的形态在系统中进行传送, 也以文件的形态在不同的数控系统之间进行传送。
上述文件符合文件规范, 采用诸如 FAT16、 FAT32 等文件系统。标准化文件成为 数字控制信息的载体, 与硬件平台无关, 与操作系统等软件平台无关, 具有广泛的平台无关 性, 实现了数字控制信息的开放性。上述 DRC 数控程序、 轴联动表、 随动表都采用标准化文 件系统, 实现了控制信息的标准化, 成为一种易于标准化的编程接口。
综上所述, 本发明提出的可重构计算机数字控制系统实现了数字控制信息的开放 性, 数字控制方法的开放性, 数字控制信息的生成过程、 分配过程、 发送过程、 执行过程的全 程开放性, 为数字控制系统的标准化奠定了坚实的基础。
6、 通用高效的开放式数控语言
与现有 G 代码数控语言对比, 本发明提出的状态指令、 开关指令、 轨迹指令与 DRC 数控程序面向工作机, 逻辑结构简单, 具有人机界面的一致性, 基于 PC 具无须编译, 是一种 关于数控技术的开放的、 通用的、 高效率的运动描述语言和逻辑描述语言, 充分支持用户自 行拓展数控技术的应用并始终保持人机界面的一致性。
7、 高可靠性
众所周知, 在基于 IEEE 定义的现有开放式数控系统中, 插补周期与通信周期是两 个系统参数, 不仅耗费了大量的计算资源, 而且将数字控制信息的生成、 分配、 发送、 执行的 整个控制流程实时化, 导致实时操作系统与现场总线成为制约数控系统可靠性的两个关键 环节。
操作系统是一个极为复杂的系统, 可能隐含有几百上千个潜在的漏洞。这些漏洞 往往需要几年、 十几年的维护时间来修复, 并且也很难彻底消除。统计资料指出, 影响计算 机系统可靠性的因素, 硬件错误仅占百分之几, 绝大多数的错误来源于系统的管理。显然,
系统管理的错误则基本上来源于操作系统。 因此, 对于计算机数字控制系统的可靠性来说, 实时操作系统犹如达摩克利斯之剑。
通信过程暴露于恶劣的工业环境中, 在基于 IEEE 定义的现有开放式数控系统中, 现场总线导致通信周期也成为一个系统参数, 通信协议的实时性、 数据表示的兼容性等一 系列问题导致内部通信高度复杂化, 是影响可靠性的另一个重要原因。
在本发明中, PC 不介入刀路曲线的实时控制过程, 实时控制模块的运行与 PC 的操 作系统无关, 也无须配置任何嵌入式实时操作系统。
本发明将数字控制信息分配过程从数字控制信息的实时控制过程中分离, 在一次 通信过程中完成数字控制信息的分配过程, 通信周期不再是系统参数。 特别是, 与现场总线 中的实时周期通信过程对比, 本发明中的联动接口只是简单地单向发送同步脉冲, 功能与 结构高度简化。
综上所述, 本发明从源头上解决了制约数控系统可靠性的两个关键环节, 具有高 可靠性。
8. 第三次工业革命所期盼的控制机
在一般的意义上, 现代制造装备的体系结构可抽象为三个系统, 即动力机、 工作机 和控制机。 动力机提供能量, 控制机向工作机与动力机发送控制信息, 工作机从动力机获取 能量完成产品的制造。
第一次工业革命的标志是工作机的诞生, 机械代替手工工具。
第二次工业革命的标志是动力机的诞生, 蒸汽机、 内燃机、 电机代替了人力、 畜力。
第三次工业革命将以自动化为主要标志, 即控制机的诞生。
从制造业的观点来看, 上述划分是符合逻辑的。
在制造业中, 数字控制系统扮演控制机的角色。然而, 现有数字控制系统在开放 性、 可重构性、 标准化以及数字控制技术的软件化等方面存在严重缺陷, 并非可以与动力 机、 工作机相提并论, 难以成为第三次工业革命所期盼的控制机。
与基于 IEEE 定义的现有开放式数控系统相比, 本发明提出的可重构计算机数字 控制系统具有高度简化的实时控制过程与数字控制方法、 数字控制技术完全软件化、 可靠 性高、 可以标准化、 价格低廉、 易于普及等显著优点。因而, 作为一种基于 PC 的、 全方位开放 的、 可重构的、 标准化的开放式数控系统, 本发明提出的可重构计算机数字控制系统正是第 三次工业革命所期盼的控制机。 附图说明
图 1 为基于控制流程的加工过程模型图一 ;
图 2 为基于控制流程的加工过程模型图二 ;
图 3 为具体实施方式中数控系统的体系结构示意图 ;
图 4 为图 1 中的 PC 系统的功能模块图 ;
图 5 为图 1 中的实时控制模块的功能模块图 ;
图 6 为图 1 中的伺服驱动装置的功能模块图。 具体实施方式为了保证机床结构及其布局可以根据所加工产品的变化进行快速重组, 模块化结 构成为可重构机床的基本技术特征。通常, 模块化的概念及其实施仅局限在机床制造企业 内部。 然而, 在可重构机床中, 模块化的概念及其实施必须延伸到用户, 换言之, 面向用户是 可重构性的本质特征。
在可重构机床中, 所谓可重构性, 指的是用户可以根据所加工产品的变化对机床 的结构、 布局、 加工功能进行快速重组的能力。
相对于可重构机床的模块化, 通常认为可重构计算机数字控制系统也应模块化。
数字控制系统的核心功能是实时控制刀路曲线的加工过程。这就意味着, 对于可 重构计算机数字控制系统来说, 刀路曲线的实时控制过程必须是开放的, 从而成为面向用 户的。
在背景技术中已说明, 在基于 IEEE 定义的现有开放式数控系统中, 刀路曲线的实 时控制过程无法开放。 其原因在于, 一方面, 用于实时控制过程的数控应用软件系统成为实 时操作系统掌控下的采用并行算法、 涉及多进程 / 多线程嵌套调用以及多重实时嵌套中断 的一个庞大而复杂的中断系统。另一方面, 刀路曲线的实时控制过程与刀路曲线的几何特 征、 加工过程的工艺特征、 机械系统的运动学 / 动力学特征密不可分, 与 CPU 的位数、 运算速 度等硬件平台密不可分, 与实时操作系统等软件平台密不可分, 与插补迭代算法密不可分。
因而, 在基于 IEEE 定义的现有开放式数控系统中, 所谓实时控制的模块化结构实 质上是面向对象的模块化结构, 也就是对于不同的刀路曲线, 配置不同的实时控制模块。 不 幸的是, 这种面向对象的模块化结构并不是面向用户的, 而是面向数控系统制造企业的, 与 可重构性的本质特征完全背道而驰。因而, 依赖这种面向对象的模块化结构来实现数字控 制系统的可重构性只是一种幻觉。
人与机床是数字控制系统的两个服务对象, 三者之间必然存在信息交换问题。在 背景技术中已说明, 在基于 IEEE 定义的现有开放式数控系统中, 在人机界面上采用 G 代码 标准作为编程接口, 在运动控制级采用现场总线, 从而导致编程接口与现场总线成为基于 IEEE 定义的现有开放式数控系统没有可重构性的重要因素。
基于上述分析, 发明人将可重构计算机数字控制系统定义为 :
所谓可重构计算机数字控制系统是按照控制流程配置嵌入式子系统的计算机数 字控制系统, 具有实时控制方法软件化, 实时控制过程与处理器位数、 速度等硬件平台的无 关性、 与操作系统等软件平台的无关性、 以及与编程接口的无关性。
数据流关联控制按照制造数字控制信息的流程来配置控制资源。DRC 数控程序成 为数字控制信息生成部件所制造的完全数字化、 商品化的 “数字控制信息” 产品。所述数字 控制信息生成部件既是数控编程的开放式平台又是数控技术的开放式开发平台, 实时控制 方法完全软件化。
在现有开放式数控系统的体系结构中, 伺服驱动装置视为数控机床的功能部件, 不属于数控系统的范畴。 根据可重构计算机数字控制系统的上述定义, 本发明从控制流程、 体系结构、 现场总线、 编程接口等方面进一步改进 DRC 控制机。这些问题都需要将伺服驱动 装置纳入数控系统之中, 重新审视伺服驱动装置的功能与结构。
在机床的数字控制中, 伺服驱动装置包括伺服电机及其运动控制系统, 主要用于 控制伺服电机的转速与转角。 所谓转速控制又称速度模式, 也就是速度控制, 用于控制主轴的转速 ; 所谓转角控制又称位置模式。也就是位置控制, 用于控制坐标轴的位移。在本发明 中, 伺服驱动装置为位置模式, 其接收与执行的数字控制信息为坐标轴的离散位置信息, 位 置反馈信息由伺服驱动装置内的嵌式入系统处理。至于主轴的转速则视为工艺参数, 归于 带参数的开关量控制。
从背景技术可知, 在数据流关联控制中, 数字控制技术的核心任务是生成刀路曲 线的联动表与随动表。 所谓实时控制过程, 就是按照随动表中的控制节律, 坐标值增量的分 配过程、 发送过程、 执行过程的周而复始。
例如, 为实现 X、 y、 Z、 A、 B 等 5 个坐标轴的 5 轴联动, 首先从联动表中读取 ΔX1、 Δy1、 ΔZ1、 ΔA1、 ΔB1 并通过运动控制接口分别发送给 X、 y、 Z、 A、 B 等伺服驱动装置 ; X、 y、 Z、 A、 B 等伺服驱动装置接收 ΔX1、 Δy1、 ΔZ1、 ΔA1、 ΔB1 后, 写入其位置环, 驱动 X、 y、 Z、 A、 B 等 5 轴联动, 实现合成位移 ΔL1 ; 再经过 Δt1 后, 从联动表中读取 ΔX2、 Δy2、 ΔZ2、 ΔA2、 ΔB2 并通过运动控制接口分别发送给 X、 y、 Z、 A、 B 等伺服驱动装置 ; X、 y、 Z、 A、 B 等伺服驱 动装置接收 ΔX2、 Δy2、 ΔZ2、 ΔA2、 ΔB2 后, 写入其位置环, 驱动 X、 y、 Z、 A、 B 等 5 轴联动, 实 现合成位移 ΔL2 ; 如此周而复始, 从而按照控制节律产生刀路曲线所要求的合成位移, 直至 刀路曲线的终点。
所述联动表与随动表称之为所述刀路曲线的关联数据流, 由数字控制信息生成部 件生成。
联动表中的 L 分割
ΔLi(ΔXi、 Δyi、 ΔZi、 ΔAi、 ΔBi), i = 1, ..., n,
可以按 ΔXi、 Δyi、 ΔZi、 ΔAi、 ΔBi 分离为 5 个子表, 称之为所述刀路曲线的轴联 动表。如果将 X、 y、 Z、 A、 B 等 5 轴的轴联动表在辅助过程中分配给 X、 y、 Z、 A、 B 等伺服驱动 装置, 数字控制信息分配发送过程得以分离为数字控制信息分配过程与数字控制信息发送 过程, 从而将数字控制信息分配过程非实时化, 并从数字控制信息的实时控制过程中分离 出来。
这样一来, 对于 X、 y、 Z、 A、 B 等 5 轴联动的刀路曲线, 其实时控制过程就是, X、 y、 Z、 A、 B 等伺服驱动装置按随动表中的控制节律 Δti(i = 1, ..., n), 从 ΔXi(i = 1, ..., n)、 Δyi(i = 1, ..., n)、 ΔZi(i = 1, ..., n)、 ΔAi(i = 1, ..., n)、 ΔBi(i = 1, ..., n) 等 5 个 轴联动表中实时同步地读取坐标值增量并予以执行。
数字控制信息分配过程的非实时化导致下述四方面的重要改进。
1)、 加工过程模型与体系结构
文献 《开放式数控技术及其在我国的发展状况》 ( 《航空制造技术》 , 2010 年第 3 期, 作者 : 富宏亚梁全 ) 指出, 数控系统的开放性可以分为 3 类 : 数控系统软件的开放性、 加工 数据模型的开放性和硬件实施平台的开放性。
数控系统的加工数据模型是规划体系结构与开发数控技术的基础。
基于 IEEE 定义的现有开放式数控系统面向对象, 加工数据模型用于描述数控系 统中每个对象的功能、 行为、 起始过程、 以及它们之间相互操纵的关系, 特别是针对复杂的、 具有不同层次实时性要求的多个控制任务进行清楚的描述。 因而, 采用有限状态机 (Finite State Machine, FSM) 的加工数据模型在开放式数控系统的开发中占有重要的地位。例如, 中国国家标准 《GB/T18759.1-2002· 机械电气设备· 开放式数控系统· 第 1 部分总则》 、 《GB/T18759.2-2006·机械电气设备·开放式数控系统·第 2 部分 : 体系结构》 都清楚地规范了 有限状态机模型。 有限状态机是反应式系统的一种高度抽象的建模工具, 对开发商而言, 结 构复杂, 复用性差 ; 对用户而言, 则犹如蛛网式迷宫, 毫无开放性。
数据流关联控制不是面向对象, 而是面向过程, 必须根据数字控制的过程特征, 为 开放式数控系统提出一种开放的加工过程模型。
本发明将控制流程划分为数字控制信息生成过程、 数字控制信息分配过程、 数字 控制信息发送过程与数字控制信息执行过程等四个子过程, 进而将数字控制信息分配过程 从数字控制信息的实时控制过程分离, 成为非实时过程。
数字控制信息分配过程从数字控制信息的实时控制过程中分离后, 所述数字控制 系统的体系结构解耦为数字控制信息生成部件、 数字控制信息分配部件、 数字控制信息发 送部件、 数字控制信息执行部件等四个功能部件。数字控制信息执行部件包括伺服驱动装 置与 I/O 装置。
所述控制流程可分为实时过程与非实时过程。从可重构性来看, 所述四个功能部 件的功能与结构应重新审视, 所述实时过程与非实时过程的控制方法应重新审视。
2)、 文件结构
数字控制信息分配过程从数字控制信息的实时控制过程中分离后, 作为数控加工 的 DRC 数控程序的结构, 应从可重构性方面来重新审视, 以支持所述实时控制过程与非实 时分配过程。
3)、 编程接口
所述程序接口指的是不同数控系统之间交换加工程序时, 加工程序之间的编程接 口。
在不同数控系统之间, DRC 数控程序成为编程接口。 数字控制信息分配过程从数字 控制信息的实时控制过程中分离后, 在控制流程中, 文件成为数字控制信息的载体。因此, 所述 DRC 数控程序文件与操作系统平台无关。然而, 从可重构性来看, 所述 DRC 数控程序作 为编程接口, 应与现场总线无关。
4)、 内部接口
数字控制信息分配过程从数字控制信息的实时控制过程中分离后, 轴联动表非实 时地分配给伺服驱动装置, 实时控制过程得以高度简化, 内部接口的实时通信过程得以高 度简化, 内部接口的功能与结构应重新审视, 以支持实时通信过程的可重构性。
本发明提出一种可重构计算机数字控制系统, 从数字控制系统的开放式体系结 构、 实时过程与非实时过程的控制方法、 DRC 数控程序的结构与编程接口、 内部接口的功能 与结构、 伺服驱动装置的功能与结构等方面对所述 DRC 控制机进一步予以改进, 以适应第 三次工业革命对可重构计算机数字控制系统的要求。
下面将结合附图及具体实施例对本发明的技术方案进行详细描述。
工件的加工过程一般可划分为辅助过程、 换刀过程与走刀过程。
辅助过程涉及由 I/O 装置控制的辅助功能与状态设置。
换刀过程涉及刀库控制。对于换刀过程, 一般采用常规的 PLC 控制刀库, 或采用软 PLC 生成组合逻辑的控制流来控制换刀过程。本发明不涉及 PLC 及 I/O 装置的控制方法。
走刀过程涉及刀路曲线的实时控制。因此, 在工件的加工过程中, 数控系统只有三种工作状态 : 辅助功能操作、 开关量 控制、 刀路曲线的实时控制。数据流关联控制用状态指令、 开关指令、 轨迹指令三类运动指 令来描述这三种工作状态。
一、 运动指令
1)、 状态指令与辅助功能操作
状态指令用于描述辅助功能。
状态指令可分为系统初始化状态指令与系统运行状态指令。
系统初始化状态指令用于设置 / 修改一些参数, 例如设定伺服驱动装置的初始化 参数、 刀库的初始化参数等。 系统运行状态指令用于设定系统的运行状态, 例如, 设置自动、 手动、 指定程序段、 启动、 结束、 暂停等运行状态, 实现检测、 参数调整、 故障诊断等功能。
状态指令包括功能字节、 辅助字节。
(1)、 功能字节
功能字节为 2 个字节, 用于描述该状态指令的基本功能, 包括标识码与指令码。
第 1 个功能字节为状态指令的标识。
B7 : 状态指令或开关指令的标识, 例如, B7 = 1 ;
B6 : 状态指令的标识码, 例如, B6 = 0 ;
B5 : 标识状态指令的参数状态, 带参数 / 不带参数 ;
B4 ~ B0 : 5 位特征码, 标识参数的个数, 最多可携带 32 个参数。
第 2 个功能字节为状态指令的功能码, 共 256 条状态指令。
(2)、 辅助字节
辅助字节为多个字节, 标识该状态指令的多个参数值, 每个参数占 2 个字节。
状态指令还包括诊断指令, 用于向伺服驱动装置分配发送一系列的特定数据, 以 诊断联动表分配过程中的故障。
2)、 开关指令与开关的实时控制
开关指令用于描述开关及其控制的参数。
所述开关如果携带需要实时控制的工艺参数, 本发明视为虚拟坐标轴。
所述开关如果不携带需要实时控制的工艺参数, 则属于常规的 PLC 控制。主轴转 速控制可视为携带参数 ( 转速 ) 的开关。
换刀指令属于常规的 PLC 控制。本发明将换刀指令视为一种开关指令。作为常规 技术, 本发明不涉及换刀指令的具体控制过程。
开关指令包括功能字节、 辅助字节。
(1)、 功能字节
功能字节为 2 个字节, 用于描述该开关指令的基本功能, 包括标识码与指令码。
第 1 个功能字节为开关指令的标识。
B7 : 状态指令或开关指令的标识, 例如, B7 = 0 ;
B6 : 开关指令的标识码, 例如, B6 = 1 ;
B5 : 标识开关指令的参数状态, 带参数 / 不带参数 ;
B4 ~ B0 : 5 位特征码, 标识参数的个数, 最多可携带 32 个参数。
第 2 个功能字节为开关指令的功能码, 共 256 条开关指令。(2)、 辅助字节
辅助字节为多个字节, 标识该开关指令的多个参数值, 每个参数占 2 个字节。
对于状态指令与开关指令, 用户 ( 或开发商 ) 可自行定义其辅助字节并通过解释 程序的重写自行定义其功能。因而, 状态指令的指令格式与开关指令的指令格式都是开放 的, 支持用户 ( 或开发商 ) 的二次开发。
3)、 轨迹指令与刀路曲线的实时控制
在 DRC 控制中, 对于一条刀路曲线, 用一条轨迹指令来控制伺服驱动装置, 实现坐 标轴联动。
在 DRC 控制中, 需要实时控制的工艺参数由开关携带, 该开关称为虚拟坐标轴, 工 艺参数称为该虚拟坐标轴的坐标值。因此, 在本发明中, 坐标轴包括虚拟坐标轴。
轨迹指令为单字节指令, 只有一种格式, 其指令码为 :
B7 : 轨迹指令的标识, 例如, B7 = 0 ;
B6 ~ B0 : 7 位顺序码, 用于对轨迹指令编号。
顺序码在刀路曲线的轨迹指令与其所携带的联动表、 随动表之间建立一一对应关 系; 联动表用于控制相关坐标轴联动以产生所要求的合成位移 ; 随动表用于控制所述合成 位移之间的时间间隔。
在本发明中, 轨迹指令只有一种格式, 与刀路曲线中的曲线类型无关。
二、 DRC 数控程序
在一次走刀过程中, 刀具中心的轨迹称为刀路曲线 (Tool Path)。
按给定的数据格式, 一条刀路曲线的 L 分割 ΔXi、 Δyi、 ΔZi、 ΔAi、 ΔBi、 ΔWi、 ΔEi、 ΔHi 在存储空间的数据文件称之为 L 分割的联动表。按给定的数据格式, 该刀路曲线的 T 分割 Δti(i = 1, ..., n) 在存储空间的数据文件称之为 T 分割的随动表。L 分割与 T 分割 称之为刀路曲线的关联数据流。
T 分割中, Δti 为无符号的 2 字节二进制整数。
L 分割中, 坐标值增量 (ΔXi、 Δyi 等 ) 为原码表示的带符号的二进制整数, 最高位 为符号位 (+/-), 对应坐标轴的正转 / 反转。特别是, 坐标值增量 (ΔXi、 Δyi 等 ) 的进给当 量 ( 纳米或微米 )、 数据所占字节数都可以不同。
在工件的加工过程中, 数控设备只有辅助功能操作、 I/O 装置的逻辑控制、 刀路曲 线的实时控制等三种工作状态。 因此, 工件的加工过程一般可划分为辅助过程、 换刀过程与 走刀过程。 辅助过程涉及辅助功能操作, 换刀过程涉及刀库控制, 走刀过程涉及刀路曲线的 实时控制。
与这三种工作状态相对应, 数控系统有三类运动指令 : 状态指令、 开关指令、 轨迹 指令。根据加工工艺确定的顺序, 用户使用状态指令、 开关指令、 轨迹指令来描述工件的整 个加工过程。
这种由加工工艺确定了顺序的运动指令之集合就是该工件加工过程的数控加工 程序, 本发明称之为 DRC 数控程序。
DRC 数控程序是数字控制信息制造系统所制造的数字化产品, 从而将控制信息的 传统形态, 如图纸、 G 代码程序等予以完全数字化。
DRC 数控程序由运动指令构成, 用于控制工件的加工过程 ; 运动指令包括状态指令、 开关指令、 轨迹指令 ;
状态指令用于操作辅助功能。
开关指令用于控制 I/O 装置。
轨迹指令用于控制伺服驱动装置, 完成一条刀路曲线的走刀过程。
三、 DRC 数控程序的结构
作为数字控制信息的数字化产品, DRC 数控程序的结构也就是产品的数字化结构。 DRC 数控程序的结构决定了 DRC 控制机的功能与结构, 反之, DRC 控制机的功能与结构又影 响 DRC 数控程序的结构。
工件的加工过程一般包括多个走刀过程。每个走刀过程完成一条刀路曲线的加 工。
一条刀路曲线通常由若干段曲线构成, 每段曲线的几何结构可能相同也可能不相 同, 合成每段曲线的坐标轴因之可能相同也可能不相同。
本发明不按照曲线的几何结构分段, 而是按联动的坐标轴分段。每段曲线中联动 的坐标轴相同, 用一条轨迹指令来描述。 因而, 一条刀路曲线的加工达程往往使用多条轨迹 指令。
轨迹指令中的顺序码, 用于对轨迹指令按加工顺序编号。
在本发明中, 按照联动的坐标轴, 所述联动表划分为轴联动表。例如, 关于 ΔXi(i = 1, ..., n) 的 X 轴联动表, 关于 Δyi(i = 1, ..., n) 的 y 轴联动表, 等等。
轨迹指令与刀路曲线的轴联动表、 随动表相对应。
随动表中设置状态字, 用于标识该段曲线中联动的坐标轴。 状态字为一个字节, 字 节的位数可以为 32、 16、 8。例如, 8 位状态字可指定 8 个联动的坐标轴。从低位到高位, 状 态字的每位控制一个伺服驱动装置的使能状态及数据通道。例如, 状态字 “11100000” 指定 X、 y、 Z 等轴的伺服驱动装置、 状态字 “00011000” 指定 A、 B 等轴的伺服驱动装置。
将状态字的位数与个数为用户参数。 用户可通过状态指令设置状态字的位数与字 节数。
在每个轴联动表文件中设置特征表, 用于标识该段曲线中坐标轴的逻辑属性 ; 坐 标轴的逻辑属性包括进给当量 ( 纳米、 微米等 )、 数据所占的字节数, 还包括电子齿轮传动 比等伺服参数。因此, 在一次加工过程中, 允许每个坐标轴具有不同的进给当量、 不同的数 据字节数、 不同的电子齿轮传动比, 以适应高速高精度加工的需要。
为实现按名存取文件, 文件目录中包括文件名、 物理地址、 文件结构、 存取控制等 大量信息。
DRC 数控程序、 轴联动表、 随动表均采用标准文件格式, 其编程接口的信息之丰富、 信息量之大是 G 代码程序编程接口难以实现的。
DRC 数控程序为可执行文件 ; 轴联动表、 随动表为数据文件。 DRC 数控程序、 轴联动 表、 随动表均采用诸如 FAT16、 FAT32 之类的标准文件系统。
文件系统是在磁盘上组织文件的方法。FAT(File Allocation Table) 是一种广 泛使用的标准化文件系统。为了实现单片机系统的海量数据存储并支持单片机系统与使 用操作系统的计算机通过文件系统交换数据, 已研发出一些名为文件管理器的芯片, 例如 CH376, SL811、 PB375A 等。文件管理器内置了 FAT16、 FAT32 文件系统的硬盘扇区分析固件,用于读取 FAT 表、 FDT 表、 BPB 表等相关的扇区地址和数据区的地址, 无须配置操作系统, 从 而独立地完成文件管理的全部功能 : 打开、 新建或删除文件、 枚举和搜索文件、 支持长文件 名等。
四、 控制流程
数据流关联控制面向过程, 按照制造数字控制信息的控制流程来配置控制资源。
轴联动表分配过程的非实时化导致数字控制信息分配过程从数字控制信息的实 时控制过程中分离, 控制流程因之划分为数字控制信息生成过程、 数字控制信息分配过程、 数字控制信息发送过程与数字控制信息执行过程等四个子过程, 数字控制系统的体系结构 因之解耦为数字控制信息生成部件、 数字控制信息分配部件、 数字控制信息发送部件、 数字 控制信息执行部件等四个功能部件。
从实时性来看, 控制流程可分为实时过程与非实时过程。数字控制信息生成过程 与数字控制信息分配过程为非实时过程, 数字控制信息发送过程与数字控制信息执行过程 为实时过程。
1)、 数字控制信息生成过程
数字控制信息生成过程就是制造关联数据流的过程, 即刀路曲线的联动表与随动 表的生成过程。数字控制信息生成过程还包括 DRC 数控程序的生成过程即加工过程的编程 过程。
数字控制信息生成过程是非实时过程。
数字控制信息生成部件生成 DRC 数控程序, 包括以下内容 :
(1)、 根据机械系统的运动学特征, 建立正交离散坐标系 / 非正交离散坐标系 ;
(2)、 根据机械系统的机械属性, 建立结构常数数据库用于存储所述机械属性 ; 所 述机械属性包括坐标轴的线位移误差、 角位移误差、 反向间隙等精细结构常数, 以及坐标轴 之间的不平行度、 不垂直度等坐标系参数 ;
(3)、 根据加工工艺, 进行刀路曲线规划, 完成刀具补偿与刀路路径规划, 生成刀路 曲线文件 ;
(4)、 对刀路曲线文件中的每条刀路曲线进行离散几何规划与离散运动规划, 生成 该刀路曲线的轴联动表与随动表, 生成相应的轨迹指令及其轴联动表与随动表 ;
(5)、 根据用户程序, 生成相应的状态指令 ;
(6)、 根据用户程序, 完成 I/O 装置中的开关量控制, 生成相应的开关指令 ;
(7)、 根据加工工艺, 链接状态指令、 开关指令、 轨迹指令, 生成 DRC 数控程序 ; 最后 一条运动指令为结束加工的 “停机” 状态指令。
2)、 数字控制信息分配过程
数字控制信息分配过程就是向伺服驱动装置分配轴联动表。 分配控制信息在轴联 动表的目录中。
通过将轴联动表事先分配给相应的伺服驱动装置, 从而将联动表的分配过程非实 时化。
3)、 数字控制信息发送过程
数字控制信息发送过程与数字控制信息执行过程涉及 DRC 数控程序的运行过程。
DRC 数控程序运行过程也就是运动指令的执行过程, 包括从 DRC 数控程序中读取运动指令与执行该运动指令的解释程序。
在取指过程中, 运动指令的功能字节写入运动指令寄存器, 分析处理其他字节, 下 一条运动指令的地址写入运动指令指针 ; 在执行过程中, 执行该运动指令的解释程序, 完成 所述运动指令指定的功能。
如果译码判定为为状态指令, 则执行该状态指令的解释程序 ;
如果译码判定为为开关指令, 则执行该开关指令的解释程序 ;
如果译码判定为为轨迹指令, 则执行该轨迹指令的解释程序。
状态指令与开关指令执行过程属于辅助过程, 对实时性的要求不高, 属于常规技 术。
轨迹指令的执行过程就是走刀过程, 也就是一条刀路曲线的实时控制过程, 是数 控系统的核心功能。
工件的加工过程一般包括多个走刀过程。每个走刀过程完成一条刀路曲线的加 工。用一条轨迹指令描述一条刀路曲线的走刀过程, 每条轨迹指令对应一个轴联动表与一 个随动表。在 DRC 数控程序中, 一般有 m 条轨迹指令, 因而, 有 m 个轴联动表与 m 个随动表。
一条刀路曲线通常由若干段曲线构成, 每段曲线的几何结构可能不同。 在发明中, 几何结构不同的曲线段视为不同的刀路曲线。
数字控制信息分配过程非实时化后, m 条轨迹指令的轴联动表存储在伺服驱动装 置的轴联动表文件存储器, m 条轨迹指令的随动表存储在实时控制模块的随动表文件存储 器。因而, 必须为分离后的轴联动表与随动表建立联系。
每条轨迹指令携带顺序码, 标识该轨迹指令在 DRC 数控程序中的位置。轴联动表 中包括每条轨迹指令的轴联动表作为子文件, 其目录包括顺序码 ; 随动表中包括每条轨迹 指令的随动表作为子文件, 其目录也包括顺序码。因而, 对于所有的轨迹指令, 顺序码为每 条轨迹指令与其轴联动表、 随动表建立了对应关系。
这样一来, 数字控制信息分配过程非实时化后, 在刀路曲线的实时控制过程中, 为 控制相关坐标轴进行联动, 只须按照状态字指定的坐标轴向相关伺服驱动装置单向发送同 步脉冲。为叙述简单起见, 将状态字控制下的这组同步脉冲称之为联动命令。
因而, 数字控制信息分配过程非实时化后, 数字控制信息发送过程便简化为按照 控制节律 Δti(i = 1, ..., n), 向轨迹指令的状态字指定的伺服驱动装置单向发送联动命 令。
4)、 数字控制信息执行过程
数字控制信息执行过程就是伺服驱动装置跟随联动命令控制坐标轴进给产生合 成位移的过程。
伺服驱动装置接收联动命令后, 根据 L 指针从轴联动表中读取坐标值增量, 写入 位置环, 驱动坐标轴进给产生合成位移 ; L 指针加 1, 直至 L 指针等于轴联动表的末地址。
五、 接口
数控系统的接口一般可分为内部接口与外部接口。
1)、 外部接口
外部接口指的是网络接口。
所述网络接口用于车间管理网中不同数字控制系统之间交换信息, 一般可采用工业以太网接口等, 属于常规技术。
2)、 联动接口
数字控制系统的内部接口用于数字控制信息生成部件、 数字控制信息分配部件、 数字控制信息发送部件、 数字控制信息执行部件等四个功能部件之间交换信息。本发明将 内部接口划分为实时接口与非实时接口。
实时接口包括联动接口与 I/O 接口。I/O 接口用于向 I/O 装置中的开关发送开关 指令, 属于常规技术。
本发明将实时接口称之为联动接口, 用于向伺服驱动装置发送联动命令。
在 G 代码程序中, 实时通信接口极为复杂, 没有可重构性, 只能耗费大量计算资源 配置不同的现场总线。 这种状况导致中国国家标准 “GB/T18759.2-2006· 机械电气设备· 开 放式数控系统· 第 2 部分体系结构” 设置了 5.6 款, 要求支持各类现场总线 ( 例如 CAN、 Profibus、 Sercos 等 )。
事实上, 现场总线的国际标准已有 12 种之多, 厂商的企业标准更多。不幸的是, 多 标准就意味着没有标准。
在基于 IEEE 定义的现有开放式数控系统中, 现场总线采用周期通信方式向伺服 驱动装置实时同步传输插补产生的坐标值增量, 通信周期成为系统参数, 实时同步机制、 数 据表示的兼容性成为传输的关键。 在本发明中, 数字控制信息分配过程从数字控制信息的实时控制过程中分离后, 轴联动表非实时地分配给伺服驱动装置, 实时通信过程退化为按照控制节律, 向状态字指 定的伺服驱动装置单向实时发送联动命令, 实时控制过程得以高度简化, 联动接口得以高 度简化。
在发送端, 联动接口类似按 Δti(i = 1, ..., n) 的节律不断地单向传输状态字的 并行接口 ; 在接收端, 一个伺服驱动装置分别与联动接口的一个数据位连接, 类似一根中断 控制线。
对于伺服驱动装置来说, 联动命令只是同步脉冲, 联动接口并非通信接口。因而, 在本技术中, 不存在实时通信过程。
3)、 非实时接口
非实时接口用于在辅助过程向伺服驱动装置非实时地分配轴联动表。
重要的是, 轴联动表的分配过程是非实时的, 不存在实时性问题因而无须实时同 步机制, 不存在周期通信因而通信周期不再是系统参数。 轴联动表为标准文件, 不存在另外 制定通信协议的问题。
因此, 非实时接口可以是任何标准串行接口, 包括现场总线、 RS232 与 RS485 接口、 USB 接口、 移动存储器、 无线接口等。
六、 编程接口
所谓编程接口指的是不同数控系统之间交换加工程序时, 加工程序之间的程序接 口。
在基于 IEEE 定义的开放式现有数控系统中, 采用 G 代码标准作为数控加工程序的 编程接口。
与现有 G 代码的数控加工程序不同, DRC 数控程序的特征在于 :
1)、 G 代码程序面向对象, DRC 数控程序面向控制流程
在基于 IEEE 定义的现有开放式数控系统中, 采用 G 代码标准作为数控加工程序的 编程接口。上世纪 50 年代纸带作为输入的基本物理介质时, 为规范在纸带上表示字符, 制 定了纸带穿孔的编码标准, 即 G 代码标准。
G 代码程序是面向对象的。在 G 代码程序中, 用不同的插补指令来描述一条刀路 曲线中的不同曲线。 对于不同的曲线又必须使用不同的插补迭代算法来实现不同的插补指 令, 曲线的实时加工过程被插补迭代算法实时化, 从而导致插补迭代算法成为面向对象的 封闭的实时控制算法。
在 DRC 数控程序中, 轨迹指令面向刀路曲线的加工过程。 DRC 数控程序是面向控制 流程的。
2)、 控制信息的标准化
在插补迭代算法中, 每个坐标轴必须具有相同的逻辑属性。一旦坐标坐标轴的逻 辑属性不同, 例如, 进给当量 ( 纳米、 微米等 ) 不同、 数据的字节数不同等, 数控系统的功能 与结构都要发生相应的变化, 从实时控制过程与实时通信过程两方面制约了系统的开放性 与可重构性。 G 代码标准是信息技术起步阶段的原始产物, 受纸带的限制不可避免地存在信息 量过少的缺陷。各个厂商因而对 G 代码都进行了基本语义之外的扩张, 导致 G 代码程序与 相应硬件的依赖, 数控加工程序在不同的数控系统之间不具有互换性, 造成各种数控系统 互不兼容, 阻碍控制信息的交换与共享, 不具备人机界面的一致性, 从编程接口方面制约了 数字控制系统的开放性与可重构性。
轨迹指令的轴联动表与随动表携带加工刀路曲线所需要的全部数字控制信息, 由 数字控制信息生成部件非实时地制造出来, 允许每个坐标轴具有不同的逻辑属性。
DRC 数控程序、 轴联动表、 随动表等都以标准化文件的形态在系统中进行传送, 也 以文件的形态在不同的数控系统之间进行传送。这些文件符合文件规范, 采用诸如 FAT16、 FAT32 等标准文件系统。标准化文件成为数字控制信息的载体, 与硬件平台无关, 与操作系 统等软件平台无关, 具有广泛的平台无关性, 实现了数字控制信息的开放性。 标准化文件取 代 G 代码程序, 成为一种易于标准化的编程接口, 有利于控制信息的标准化。
七、 刀路曲线的实时控制
轨迹指令的执行过程涉及数字控制信息发送部件与伺服驱动装置。为简单起见, 数字控制信息发送部件简称为实时控制模块, 包括联动坐标轴设置模块、 联动命令设置模 块、 节律控制模块、 终点控制模块。
1、 实时控制模块发送联动命令
T 指针 : 用于读取随动表中的 Δti(i = 1, ..., n)。
L 指针 : 用于读取轴联动表中的坐标值分量。
执行轨迹指令时, 轨迹指令执行模块设置运行标志, 启动实时控制模块。
实时控制模块按照控制节律主导着轨迹指令的执行过程, 坐标轴联动的实时控制 过程转化为下述过程 :
步骤 1、 联动坐标轴设置步骤 : 根据轨迹指令的顺序码, 联动坐标轴设置模块将随 动表的首地址写入 T 指针, 从随动表中读取状态字并写入状态字寄存器, 指定联动的坐标轴; 步骤 2、 联动命令设置步骤 : 根据 T 指针, 联动命令设置模块读取随动表中的 Δti(i = 1, ..., n) 并写入 T 分割定时器 ;
步骤 3、 节律控制步骤 : T 分割定时器中的定时时间到, 节律控制模块启动脉冲发 生器输出一个脉冲, 通过联动接口向状态字寄存器指定的伺服驱动装置发送联动命令 ;
步骤 4、 终点控制步骤 : 终点控制模块控制轨迹指令的终点, 如果 T 指针等于随动 表的末地址, 即到达轨迹指令的终点, 关闭运行标志 ; 否则, T 指针指向下一个 Δti, 重复步 骤 2 至步骤 4 ;
轨迹指令执行模块查询实时控制模块的运行标志, 如果到达轨迹指令的终点, 则 执行下一条运动指令。
2、 伺服驱动装置控制坐标轴进给
伺服驱动装置接收轴联动表后, 将执行标志置 “1” ; 根据轨迹指令的轴联动表的顺 序码, 将轴联动表的首地址写入 L 指针 ; 根据轴联动表文件中的特征表, 设置坐标轴的逻辑 属性。
伺服驱动装置接收联动命令后, 跟随联动命令, 轴联动表控制模块根据 L 指针从 其轴联动表中读取坐标值增量, 写入位置环, 驱动坐标轴进给产生合成位移 ; L 指针加 1, 直 至 L 指针等于轴联动表的末地址, 将执行标志置 “0” , 准备执行下一条轨迹指令的轴联动 表。
这样一来, 所谓刀路曲线的实时控制过程, 就是按照控制节律, 控制被状态字指定 的伺服驱动装置从轴联动表中读取坐标值增量并写入其位置环的过程。 实时控制模块产生 联动命令 ; 跟随联动命令, 伺服驱动装置不断地驱动坐标轴进给产生合成位移。 如此周而复 始, 直至 T 指针到达随动表的末地址, 即到达所述轨迹指令的终点。
例如, 对于 X、 y、 Z、 A、 B 等 5 轴联动, 状态字为 “11111000” , 其实时控制过程就是, 实时控制模块不断地将随动表中的控制节律 Δti(i = 1, ..., n) 写入 T 分割定时器, 产生 联动命令并通过联动接口向 X、 y、 Z、 A、 B 等伺服驱动装置发送联动命令 ; X、 y、 Z、 A、 B 等伺 服驱动装置则跟随联动命令, 各自的的轴联动表控制模块分别从各自的轴联动表中不断地 同步读取 ΔXi、 Δyi、 ΔZi、 ΔAi、 ΔBi 并写入位置环, 驱动坐标轴进给产生合成位移。如此 周复始, 直至所述刀路曲线的终点。
八、 体系结构的系统实现技术方案
在基于 IEEE 定义的现有开放式数控系统中, 实时操作系统的插补周期与现场总 线的通信周期是两个系统时钟。跟随插补周期与通信周期的节拍, 刀路曲线的数字控制信 息不断地生成、 分配、 发送、 执行, 从而以数字控制信息的实时迭代与控制过程的实时迭代 的方式周而复始。在这种体系结构中, 刀路曲线的实时控制过程既包括数字控制信息的实 时迭代与控制过程的实时迭代, 又包括实时通信过程, 涉及插补迭代算法的精度与速度、 刀 路曲线的几何特征、 加工过程的工艺特征、 机械系统的运动学 / 动力学特征、 处理器的位数 与运算速度等硬件平台、 实时操作系统等软件平台等一系列复杂因素。
本技术方案按照数字控制信息的生成、 分配、 发送、 执行的控制流程配置控制资 源, 其中, 生成过程与分配过程为非实时过程, 发送过程与执行过程为实时过程。
本技术方案将刀路曲线的实时控制过程简化为按照随动表中的控制节律 Δti(i
= 1, ..., n), 通过联动接口向状态字指定的伺服驱动装置单向发送联动命令 ; 伺服驱动装 置则跟随联动命令, 将所述轴联动表中的坐标值增量逐次写入位置环, 驱动相应坐标轴联 动产生合成位移。因而, 数字控制信息执行过程解耦为联动信息执行过程与位置信息执行 过程。
本技术方案以随动表中的控制节律 Δti(i = 1, ..., n) 取代了插补周期, 取消了 实时操作系统对实时控制过程的控制权。 本技术方案以最简单的单向发送的联动命令取代 了极为复杂的实时通信, 取消了现埸总线对实时控制过程的控制权。 因而, 上述技术方案彻 底清除了操作系统与现埸总线对实时控制过程的制约, 为可重构数字控制系统的系统实现 技术指明了方向。
图 1 为基于控制流程的加工过程模型图, 其中实线表示实时过程, 虚线表示非实 时过程。为清楚起见, 可在图 1 中增添伺服驱动装置中反馈信息的执行过程, 如图 2。
与基于 IEEE 定义的现有开放式数控系统的加工数据模型对比, 上述加工过程模 型极为清楚地描述了开放式数控系统的体系结构, 揭示了在不同的控制流程中合理配置控 制资源的技术方案与关键技术。
为了更清楚地说明本技术方案, 并与基于 IEEE 定义的现有开放式数控系统的系 统实现技术进行对比, 举一个形象化的例子。
一个乐队演奏交响乐, 交响乐曲相当于刀路曲线, 各种乐器相当于坐标轴, 演员相 当于伺服驱动装置, 实时操作系统则相当于乐队指挥。
在基于 IEEE 定义的现有开放式数控系统中, 在交响乐曲的演奏过程 ( 刀路曲线 的加工过程 ) 中, 演员们 ( 伺服驱动装置 ) 事先不知道演奏什么曲调的交响乐曲 ( 刀路曲 线 ), 乐队指挥 ( 实时操作系统 ) 必须在演奏现场将交响乐曲按等长的时间片 ( 插补周期 ) 分成若干曲段 ( 实时插补计算出坐标值增量 ), 并将每段曲子通过某种实时方式逐次告知 每个演员 ( 与伺服驱动装置通过现埸总线进行实时通信 ), 每个演员逐次实时记录每段曲 子进行演奏。这种模式的极端复杂性是显而易见的。
在本技术方案中, 通过排练 ( 离散几何规划与离散运动规划 ), 交响乐曲按其内在 的旋律 ( 随动表中的不等长节律 Δti) 划分为若干曲段, 并为每个演员事先分配一个标记 着曲段顺序的乐谱 ( 分配轴联动表 ), 乐队指挥 ( 实时控制模块 ) 在演奏现场只须按照随动 表中的控制节律 Δti(i = 1, ..., n), 用指挥棒 ( 通过联动接口发送联动命令 ) 告知每个 演员, 每个演员则跟随指挥棒发出的命令翻阅自己的乐谱 ( 轴联动表 ) 进行演奏。这种模 式的高度简单性也是显而易见的。
1、 若干定义
1)、 数字控制信息生成部件
数字控制信息生成部件基于 PC, 包括状态指令生成模块、 开关指令生成模块、 轨迹 指令生成模块、 DRC 数控程序生成模块。
2)、 数字控制信息分配部件
数字控制信息分配过程就是将联动表中的坐标值增量分配给相关伺服驱动装置, 例如, 将 ΔXi、 Δyi、 ΔZi、 ΔAi、 ΔBi 分配给 X、 y、 Z、 A、 B 等 5 个坐标轴的伺服驱动装置。
数字控制信息分配部件包括轴联动表文件存储器、 轴联动表分配模块、 串行接口。
3) 数字控制信息发送部件数字控制信息发送部件用于按照控制节律向状态字指定的伺服驱动装置实时发 送联动命令。为简便起见, 数字控制信息发送部件改称为实时控制模块。
实时控制模块涉及从文件存储器读取随动表中的 Δti(i = 1, ..., n) 与状态字。 随动表文件是由 PC 的操作系统遵循诸如 FAT16、 FAT32 文件系统规范写入随动表文件存储 器的标准文件。 在本技术方案中, 实时控制模块还包括随动表文件存储器, 并配置了固化的 扇区分析模块, 用于读取 FAT 表、 FDT 表、 BPB 表等相关的扇区地址和数据区的地址, 从而与 PC 的软硬件平台无关。
在多 CPU 系统中, 通常采用双口 RAM 作为 CPU 之间的数据交换接口。在本技术方 案中, 双口 RAM 用于存储随动表文件, 实时控制模块通过双口 RAM 与 PC 系统连接, 并读取 PC 写入双口 RAM 中的随动表中的 Δti(i = 1, ..., n) 与状态字, 却与 PC 的操作系统无关。
4)、 数字控制信息执行部件
数字控制信息执行部件包括伺服驱动装置与 I/O 装置。作为常规技术, 本实施方 式不涉及用于控制 I/O 装置的控制流。
数字控制信息执行过程就是伺服驱动装置将坐标值增量写入位置环, 驱动坐标轴 进给。
5)、 运动控制接口
运动控制接口包括非实时接口、 联动接口。
所述非实时接口为各种标准串行接口, 例如现场总线、 RS232 接口、 RS485 接口、 USB 接口、 移动存储器、 无线接口等。
所述联动接口, 在发送端, 类似按 Δti(i = 1, ..., n) 的节律不断地单向传输状态 字的并行接口, 包括状态字寄存器、 T 指针、 T 分割定时器、 脉冲发生器 ; 在接收端, 一个伺服 驱动装置分别与联动接口的一个数据位连接, 类似一根中断控制线。
6)、 数控应用程序系统
数控应用程序系统包括 DRC 数控程序、 解释程序存储器、 DRC 数控程序运行模块。
DRC 数控程序运行模块包括运动指令取指模块、 状态指令执行模块、 开关指令执行 模块、 轨迹指令执行模块。
运动指令取指模块用于将 DRC 数控程序的首地址写入运动指令指针并读取运动 指令, 将运动指令的功能字节写入运动指令寄存器, 将下一条运动指令的地址写入运动指 令指针 ; 所述运动指令指针用于指定下一条运动指令的地址 ;
如果运动指令为状态指令, 状态指令执行模块执行该状态指令的解释程序 ; 如果 运动指令为开关指令, 开关指令执行模块执行该开关指令的解释程序 ; 如果运动指令为轨 迹指令, 轨迹指令执行模块执行该轨迹指令的解释程序。
2、 体系结构
图 3 为一种可重构数控系统的体系结构示意图, 图 4 至图 6 为各部件的功能模块 图, 包括 PC 系统 1、 解释程序存储器 2、 实时控制模块 3、 伺服驱动装置 4、 I/O 装置 5、 串行接 口 6、 联动接口 7、 I/O 接口 8。PC 系统 1 通过串行接口 6 与伺服驱动装置 4 连接, 通过 I/O 接口 8 与 I/O 装置 5 连接。PC 系统 1 包括数字控制信息生成部件、 数字控制信息分配部件、 数控应用程序系统, 通过诸如 PCI 之类的内部总线与实时控制模块连接, 通过串行接口、 I/ O 接口与数字控制信息执行部件连接, 构成整体式的体系结构。PC 系统 1 还可以通过双口 RAM 与实时控制模块连接, 二者共享随动表。
PC 系统 1 用于生成控制工件加工过程的 DRC 数控程序, 包括状态指令生成模块 11、 开关指令生成模块 12、 轨迹指令生成模块 13、 DRC 数控程序生成模块 14、 轴联动表分配 模块 15、 DRC 数控程序运行模块 16。
上述模块的功能为 :
状态指令生成模块 11 用于生成控制辅助过程的状态指令。
开关指令生成模块 12 用于生成控制 I/O 装置的开关指令。
轨迹指令生成模块 13 用于生成控制伺服驱动装置完成刀路曲线走刀过程的轨迹 指令。轨迹指令生成模块包括离散几何规划模块与离散运动规划模块。离散几何规划模块 用于生成存储有刀路曲线的 L 分割的联动表 ; 所述 L 分割用于控制坐标轴联动产生合成位 移; 所述联动表区分为各个轴的轴联动表 ; 所述轴联动表用于存储相关坐标轴的 L 分割分 量, 控制该坐标轴产生轴位移。离散运动规划模块用于存储有刀路曲线的 T 分割与状态字 的随动表 ; 所述 T 分割用于控制所述轴位移之间的时间间隔 ; 所述状态字用于指定联动的 坐标轴。
DRC 数控程序生成模块 14, 用于根据加工工艺将状态指令、 开关指令、 轨迹指令链 接为 DRC 数控程序。
轴联动表分配模块 15 用于通过串行接口 6 向伺服驱动装置 4 分配轴联动表。
DRC 数控程序运行模块 16 用于运行 DRC 数控程序, 执行状态指令控制辅助过程、 执 行开关指令通过 I/O 接口 8 控制 I/O 装置 5、 执行轨迹指令启动实时控制模块 3 通过联动接 口 7 控制伺服驱动装置 4 完成刀路曲线的加工过程。 包括运动指令取指模块 161、 状态指令 执行模块 162、 开关指令执行模块 163、 轨迹指令执行模块 164。 运动指令取指模块 161 用于 将 DRC 数控程序的地址写入运动指令指针并读取运动指令, 将运动指令的功能字节写入运 动指令寄存器, 将下一条运动指令的地址写入运动指令指针 ; 所述运动指令指针用于指定 下一条运动指令的地址。如果所述运动指令为状态指令, 所述状态指令执行模块 162 用于 执行该状态指令的解释程序 ; 如果所述运动指令为开关指令, 所述开关指令执行模块 163 用于执行该开关指令的解释程序 ; 如果所述运动指令为轨迹指令, 所述轨迹指令执行模块 164 用于执行该轨迹指令的解释程序。
解释程序存储器 2 用于存储上述状态指令、 开关指令、 轨迹指令的解释程序。
实时控制模块 3 通过内部总线与 PC 系统 1 连接, 用于按照随动表中的控制节律 Δti(i = 1, ..., n), 通过联动接口 7 向伺服驱动装置 4 发送联动命令 ; 所述联动命令用于 控制所述状态字指定的坐标轴之间的同步 ;
伺服驱动装置 4 设有轴联动表初始化模块 41 与轴联动表控制模块 42。接收轴联 动表后, 轴联动表初始化模块 41 用于设置执行标志, 根据轨迹指令的顺序码, 将轴联动表 的首地址写入 L 指针 ; 根据轴联动表文件中的特征表, 设置坐标轴的逻辑属性。 跟随联动命 令, 轴联动表控制模块 42 根据 L 指针从轴联动表中读取该轴的坐标值增量并写入位置环, 驱动坐标轴进给产生合成位移, 直至 L 指针等于所述轴联动表的末地址, 关闭执行标志。
在本技术方案中, 轴联动表文件还包括特征表 ; 所述特征表用于标识该坐标轴的 逻辑属性 ; 所述逻辑属性包括进给当量、 数据的字节数、 电子齿轮传动比。 在基于 IEEE 定义 的现有开放式数控系统中, 插补迭代算法要求联动的坐标轴必须具有相同的逻辑属性。一旦坐标坐标轴的逻辑属性不同, 例如, 进给当量 ( 纳米、 微米等 ) 不同、 数据的字节数不同 等, 数控系统的功能与结构都要发生相应的变化, 从实时控制过程与实时通信过程两方面 制约了系统的开放性与可重构性。因而, 本技术方案的这一技术特征克服了上述缺陷。
在本技术方案中, 串行接口 6 仅用于在非实时过程中伺服驱动装置 4 传输轴联动 表, 因而, 其具体结构不受任任限制, 现场总线、 RS232 接口、 RS485 接口、 USB 接口或无线接 口等均可以采用。这就意味着, 不必为串行接口 6 制定标准, 换言之, 串行接口 6 已经标准 化了。
综上所述, 在本技术方案中, 可重构计算机数字控制系统的系统实现技术方案具 有下述技术特征 :
控制流程划分为数字控制信息生成过程、 数字控制信息分配过程、 数字控制信息 发送过程与数字控制信息执行过程等四个子过程并配置相应的控制资源 ;
数字控制信息生成过程与数字控制信息分配过程非实时化 ;
状态指令、 开关指令、 轨迹指令编写的 DRC 数控程序作为编程接口 ;
轨迹指令只有一种格式, 与刀路曲线中的曲线类型无关。
轨迹指令与联动表、 随动表分离 ; 联动表中的每个坐标轴的轴联动表作为独立的 子文件, 在辅助过程中通过非实时串行接口分配给伺服驱动装置并存储在其轴联动表存储 器中 ; 随动表设置状态字, 用于指定联动的坐标轴, 状态字的字节数为用户参数 ; 轴联动表 文件设置特征表, 用于设置坐标轴的逻辑属性, 从而将坐标轴逻辑属性的处理问题前移至 伺服驱动装置 ; 所述文件符合文件规范, 采用诸如 FAT16、 FAT32 等标准文件系统。标准化文件成 为数字控制信息的载体, 与硬件平台无关, 与操作系统等软件平台无关。
在体系结构方面, PC 系统包括数字控制信息生成部件、 数字控制信息分配部件、 数 控应用程序系统 ; 实时控制模块作为硬盘之类的外部设备, 通过诸如 PCI 之类的内部总线 或通过双口 RAM 共享随动表的形式与 PC 系统连接。
PC 系统将刀路曲线的实时控制过程的控制权移交给实时控制模块。 实时控制模块 则按照随动表中的控制节律 Δti(i = 1, ..., n), 通过联动接口向状态字指定的伺服驱动 装置发送联动命令 ; 伺服驱动装置则跟随联动命令, 将所述轴联动表中的坐标值增量逐次 写入位置环, 驱动相应坐标轴联动产生合成位移。
本技术方案的的上述技术特征最大程度地简化了刀路曲线的实时控制方法, 导致 可重构计算机数字控制系统的体系结构与实时控制方法的重大变革, 并以极为简单的技术 手段解决了可重构计算机数字控制系统的重构问题。
基于上述可重构计算机数字控制系统的数字控制方法, 包括下述步骤 :
步骤 1、 DRC 数控程序生成步骤 : 用于 PC 系统 1 生成 DRC 数控程序, 包括下述步骤 :
步骤 101、 轨迹指令生成步骤 : 轨迹指令生成模块生成控制伺服驱动装置完成刀 路曲线走刀过程的轨迹指令, 包括离散几何规划步骤与离散运动规划步骤 ; 离散几何规划 步骤用于离散几何规划模块生成存储有刀路曲线的 L 分割的联动表 ; 所述 L 分割用于控制 坐标轴联动产生合成位移 ; 所述联动表区分为各个轴的轴联动表, 用于存储各个坐标轴的 L 分割分量, 控制该坐标轴产生轴位移 ; 离散运动规划步骤用于离散运动规划模块生成存 储有刀路曲线的 T 分割与状态字的随动表 ; 所述 T 分割用于控制所述轴位移之间的时间间
隔; 所述状态字用于指定联动的坐标轴。
步骤 102、 状态指令生成步骤 : 状态指令生成模块生成控制辅助过程的状态指令。
步骤 103、 开关指令生成步骤 : 开关指令生成模块生成控制 I/O 装置的开关指令。
步骤 104、 DRC 数控程序生成步骤 : DRC 数控程序生成模块根据加工工艺将所述状 态指令、 所述开关指令、 所述轨迹指令链接为 DRC 数控程序。
步骤 2、 轴联动表分配步骤 : 轴联动表分配模块 15 通过串行接口 6 向伺服驱动装 置 4 分配所述轴联动表。
步骤 3、 DRC 数控程序运行步骤 : DRC 数控程序运行模块 16 运行所述 DRC 数控程序, 包括下述步骤 :
运动指令取指步骤 : 运动指令取指模块 161 将 DRC 数控程序的首地址写入运动指 令指针并读取运动指令, 将运动指令的功能字节写入运动指令寄存器, 将下一条运动指令 的地址写入运动指令指针 ; 所述运动指令指针用于指定下一条运动指令的地址 ;
状态指令执行步骤 : 如果运动指令取指步骤中的运动指令为状态指令, 状态指令 执行模块 162 则执行该状态指令的解释程序 ;
开关指令执行步骤 : 如果运动指令取指步骤中的运动指令为开关指令, 开关指令 执行模块 163 则执行该开关指令的解释程序 ;
轨迹指令执行步骤 : 如果运动指令取指步骤中的运动指令为轨迹指令, 轨迹指令 执行模块 163 则执行该轨迹指令的解释程序。
PC 系统 1 通过串行接口 6 首先向伺服驱动装置 4 分配轴联动表, 然后运行 DRC 数 控程序。其中运行轨迹指令时, 轨迹指令执行模块 164 启动实时控制模块 3, 将刀路曲线的 实时控制过程的控制权移交给实时控制模块 3。
实时控制模块 3 按照随动表中的控制节律 Δti(i = 1, ..., n), 通过联动接口 7 向 伺服驱动装置 4 发送联动命令 ; 各个伺服驱动装置 4 则跟随联动命令, 将各自轴联动表中的 坐标值增量逐次写入位置环, 驱动各自的坐标轴进给, 产生合成位移。 如此周而复始, 直至 T 指针等于随动表的末地址, 即到达该轨迹指令的终点, 关闭运行标志, DRC 数控程序运行模 块执行下一条运动指令。
轨迹指令执行模块 164 将控制权移交给实时控制模块 3 之后, 处于查询状态, 查询 实时控制模块 3 的运行状态。如果运行标志关闭, 则执行下一条运动指令, 直至执行停机指 令, 结束工件的加工过程。
具体地, 刀路曲线的实时控制过程包括下述步骤 :
步骤 a、 联动坐标轴设置步骤 : 根据所述轨迹指令的顺序码, 联动坐标轴设置模块 31 将随动表的首地址写入 T 指针, 从随动表中读取状态字并写入状态字寄存器, 指定联动 的坐标轴 ;
步骤 b、 联动命令设置步骤 : 根据 T 指针, 联动命令设置模块 32 读取随动表中的 Δti(i = 1, ..., n) 并写入 T 分割定时器 ;
步骤 c、 节律控制步骤 : T 分割定时器中的定时时间到, 节律控制模块 33 启动脉冲 发生器输出一个脉冲, 通过联动接口 7 向状态字寄存器指定的伺服驱动装置 4 发送联动命 令;
步骤 d、 联动表控制步骤 : 跟随所述联动命令, 伺服驱动装置 4 的轴联动表控制模块 41 根据 L 指针从其轴联动表中读取坐标值增量, 写入位置环, 驱动坐标轴进给产生合成 位移 ;
步骤 e、 终点控制步骤 : 终点控制模块 34 控制轨迹指令的终点, 如果 T 指针等于随 动表的末地址, 即到达所述轨迹指令的终点, 关闭运行标志 ; 否则, T 指针指向下一个 Δti, 重复步骤 b 至步骤 e。
对于机械系统的重构, 首先必须对机械系统进行运动规划。
CAD/CAM/CAE 技术的广泛应用, 特别是 CAE 技术用计算机辅助求解复杂机械系统 的多维运动关系、 刚度、 稳定性、 动力学响应、 热变形等问题的分析计算以及结构性能的优 化设计, 已成为机械系统的运动规划和结构优化中必不可少的数值计算工具。 因此, 在本实 施方式中, 机械系统的运动规划视为常规 CAE 技术。
本实施方式中的可重构计算机数字控制系统的重构涉及以下问题。
1)、 离散坐标系的重构问题
机械系统重构后, CAE 对机械系统进行运动规划和结构优化, 得到机械系统的运动 关系。对重构后的机械系统, 必须重建离散坐标系。
2)、 结构常数数据库的重构问题
机械系统重构后, 机械属性发生变化。 根据机械系统重构后的机械属性, 重构结构 常数数据库 ; 所述机械属性包括坐标轴的线位移误差、 角位移误差、 反向间隙等精细结构常 数, 以及坐标轴之间的不平行度、 不垂直度等坐标系参数。
3)、 状态指令与开关指令的重构问题
状态指令涉及辅助功能操作, 开关指令涉及 I/O 装置中的开关量控制, 二者都与 机械系统的特定结构密不可分, 属于个性化功能。 机械系统重构后, 状态指令与开关指令往 往需要重构。
在本技术方案中, 状态指令与开关指令的定义及其解释运行都基于 PC, 是开放的。 用户可自行定义其辅助字节中的参数值并通过重写解释程序实现自行定义的功能。
在 PC 中定义状态指令与开关指令, 编写其解释运行程序均在用户层进行, 与 PC 的 硬件平台、 软件平台无关, 是可重构的。
4)、 实时控制过程的重构问题
数字控制系统的核心问题是实时控制刀路曲线。相应于机械系统的重构, 刀路曲 线的实时控制过程必然需要重构。
实时控制过程的重构涉及轨迹指令的重构与联动接口的重构。
基于 IEEE 定义的现有开放式数控系统是面向对象而不是面向过程的。在插补迭 代控制方法中, 实时控制过程既是数字控制信息的迭代过程又是实时控制过程的迭代过 程。 因而, 实时控制过程与刀路曲线的几何特征、 加工过程的工艺特征、 机械系统的运动学 / 动力学特征等密不可分, 与 CPU 的位数、 运算速度等硬件平台密不可分, 与实时操作系统等 软件平台密不可分, 与插补迭代算法密不可分。 刀路曲线的实时控制过程无法开放, 不具有 可重构性。对于不同的曲线类型, 必须定义专用的插补指令并配置特定的插补模块, 因而, G 代码标准下的插补指令是不可重构的。
本技术方案中的轨迹指令只有一种格式, 只与联动的坐标轴的个数有关, 与刀路 曲线中的曲线类型无关。不存在重构问题。现有技术将 5 轴联动视为最尖端技术。在本技术方案中, 联动的坐标轴由随动表 中的状态字指定, 状态字的位数与字节数则是用户参数。一个 8 位的状态字可控制 8 个坐 标轴联动, 一个 16 位的状态字可控制 16 个坐标轴联动。因而, 对于绝大多数的用户来说, 不存在重构问题。 机械系统的轴数如果超过一个状态字的位数, 在本技术方案中, 只须将状 态字的用户参数设置为 2 个或 2 个以上字节, 并配置 2 个或 2 个以上的联动接口, 因而也无 须重构。本技术方案提出的轨迹指令的格式适用于任何机械系统, 具有广泛的通用性。
本技术方案将刀路曲线的实时控制过程简化为启动实时控制模块。 通过内置固化 的扇区分析模块, 其运行与 PC 的操作系统无关, 也无须配置任何嵌入式实时操作系统。
本技术方案的联动接口并非实时通信接口, 联动命令只是同步脉冲。 在发送端, 联 动接口类似按 Δti(i = 1, ..., n) 指定的节律不断地单向传输状态字的并行接口 ; 在接收 端, 一个伺服驱动装置分别与联动接口的一个数据位连接, 联动接口类似一根中断控制线。 因而, 本技术方案提出的联动接口不存在重构问题。
5)、 非实时接口的重构问题
非实时接口是一个标准串行接口, 例如标准的 USB 接口或 UART 支持下的其他标准 串行接口, 属于常规技术。对于机械系统的重构, 所述非实时接口无须重构。
综上所述, 机械系统重构后, 对于本发明所提出的可重构计算机数字控制系统, 轨 迹指令与刀路曲线的实时控制过程、 联动接口与非实时接口均无须重构, 需要重构的仅限 于离散坐标系与结构常数数据库, 以及在 PC 的用户层重新定义状态指令与开关指令, 编写 其解释运行程序。因而, 本技术方案将可重构计算机数字控制系统的重构方法转化为 PC 中 的常规技术手段, 具有优良的可重构性, 完全解决了可重构计算机数字控制系统的重构问 题。
具体的, 本技术方案的可重构计算机数字控制系统的重构方法, 包括下述步骤 :
步骤 1、 重构离散坐标系 : PC 系统重构离散坐标系 ; 所述离散坐标系包括正交离散 坐标系与非正交离散坐标系。
步骤 2、 重构结构常数数据库 : PC 系统重构结构常数数据库 ; 所述结构常数数据库 存储坐标轴的精细结构常数与坐标系参数 ; 所述坐标轴的精细结构常数包括线位移误差、 角位移误差、 反向间隙 ; 所述坐标系参数包括坐标轴之间的不平行度、 不垂直度。
步骤 3、 重构状态指令 : PC 系统重构状态指令 ;
步骤 4、 重构开关指令 : PC 系统重构开关指令。
以上内容是结合具体的优选实施方式对可重构计算机数字控制系统所作的进一 步详细说明, 不能认定本发明的具体实施只局限于这些说明。例如, PC 系统与实时控制模 块的连接方式, 除本实施例中采用的具体方式外, 还可以采用其他多种连接方式。 对于本发 明所属技术领域的普通技术人员来说, 在不脱离本发明构思的前提下, 还可以在其他方面 做出若干简单推演或替换, 都应当视为属于本发明的保护范围。