专利名称:机床数控中集中式和分布式控制混合的安全逻辑控制系统的制作方法
技术领域:
本发明涉及一种机床数控系统中的I/O控制系统。
背景技术:
机床数控系统是数字化的机床控制系统,将描述刀具与工件相对运动的宏观运动指令转化为周期性的伺服系统控制指令;数控系统控制伺服实现驱动电机拖动下的机床进给轴运动来实现刀具与工件相对运动,实现加工工件。通常机床数控系统在运动控制功能外还拥有一套I/O控制系统,该系统管理包括各轴限位和原点、刀库、机床键盘以及电液气的开关控制等除伺服控制之外的所有工作,是机床能够安全稳定运行的关键,是数控系统的重要组成部分。数控机床的I/O控制系统随着技术的进步,经历了几代的发展。一、继电器逻辑系统早期的数控机床I/O逻辑控制独立于数控系统,完全由分离的继电器元件实现。 如果把继电器通电吸合定为1,失电释放定为0,或者以其触点闭合为1,断开为0,便可用继电器组成各种逻辑门电路,起到逻辑控制的功能。1、非门电路继电器输入信号A = 1时,继电器Kl吸合,触点Kl-I断开,输出Y = O ;而当输入信号A = 0时,继电器Kl释放,触点Kl-I闭合,输出为1。用继电器组成的非门电路如图 1 “继电器组成的非门电路”所示。2、与门电路当继电器输入信号A = 1,B = 1,C=1时,继电器K1、K2和K3均吸合,其对应的触点Κ1-1、Κ1-2,和Κ1-3全部闭合,输出Y = 1 ;若其中有一个或一个以上输入信号为0,则触点将切断正电源回路,输出为0。用继电器组成的与门逻辑如图2 “继电器组成的与门电路”所示。3、或门电路将继电器的常开触点并联,即可得到或逻辑。只要其中有一个继电器通电(A= 1, 或B= 1,或C= 1),所对应的触点便会闭合,输出Y= 1。用继电器组成的或门电路如图 3 “继电器组成的或门电路”所示。二、工业PLC系统如图4所示,工业PLC系统通常由逻辑运算处理核心模块CPU和外围I/O模块组成,CPU负责I/O的采集、逻辑运算和输出,I/O模块仅作为信号的物理输入输出接口。使用工业PLC进行多点集中控制,优点是技术成熟,稳定性好,控制效率高,缺点是不易与数控系统对接,与数控系统的协同工作比较困难,常常加大系统的设计复杂程度, 从而带来其他的不稳定因素。三、软PLC系统如图5所示,软PLC系统一般采用通用计算机加拓展I/O的硬件结构,核心控制运算在计算机上完成,并且通常集成在数控系统中,明显的优势就是克服了继电器逻辑系统和PLC系统的孤立性,将I/O控制功能集成于主系统下,使得能够很好的和其他组件协同工作,虽然不如硬PLC系统的高可靠性,但在软硬件技术水平不断提高的今天,软PLC系统的稳定性和控制效率也在不断提高。软PLC系统按照硬件结构分为集中和分散两种结构。集中结构即所有拓展I/O节点相对集中,基本上是插在主控计算机主板上的I/O板卡,因而集中供电,通过主控计算机内部总线直接接入处理器,由软件直接控制。分散结构即其I/O节点(输入/输出节点) 分散到机床的各个部分,由串行通讯接口接入主控计算机,通讯的内容是I/O节点信息;来自输入节点的信息汇总到主控计算机后,仍然由主控计算机实现控制逻辑运算,并通过串行通讯接口,将控制结果发送到输出节点,实现控制行为。集中结构优点在于直接与处理器交互,实时性好,但外围I/O节点受计算机接口限制,不易拓展且距控制现场较远,可能造成原始输入信息和最终输出信息的损失,并且增加布线成本。分散结构的优点是节省布线成本,缺点是通讯环节造成系统的延迟,降低了系统的实时性。集中结构和分散结构虽然硬件组织结构不同但其控制方式是相同的,即逻辑运算的处理核心均来自主控计算机。发明内容无论软硬PLC系统都有一个致命的问题,就是控制运算集中,一旦控制核心发生故障,整个系统就会瘫痪。本发明为克服上述缺陷提供了一种机床数控系统,其所实现的方法能够保证控制运算核心瘫痪的情况下,数控机床的轴限位、急停等安全开关仍能正常工作,并且能够在局部显著提高逻辑控制效率。本发明提供的一种机床数控系统,所实现的I/ 0控制方法,能够提高机床的I/O控制效率,大大减少控制响应时间,并且使数控机床的控制安全性和稳定性得到显著提升。为了达到上述目的,本发明提供了一种机床数控中集中式和分布式控制混合的安全逻辑控制系统,包括交互信息的数控子系统和逻辑控制子系统;所述逻辑控制子系统通过串行通信总线连接智能模块和受主控器管理的I/O模块;所述逻辑控制子系统包括控制资源管理器、控制逻辑程序编辑器、控制逻辑程序编译器,智能模块程序下载器,以及主控程序解释执行器。其中,所述控制资源管理器连至所述控制逻辑程序编辑器,所述控制逻辑程序编辑器连至所述控制逻辑程序编译器;所述控制逻辑程序编译器分别连至所述智能模块程序下载器和所述主控程序解释执行器;所述智能模块程序下载器连接至所述智能模块。所述智能模块包括相互连接的分控程序接收器和分控程序解释执行器。所述逻辑控制资源管理器,用于控制资源;所述资源包括I/O管理,用于分辩所述受主控器管理的I/O模块以及被锁定由所述智能模块的分控器使用的1/0,从而指导经所述控制逻辑程序编译器编译的文件送所述主控程序解释执行器执行或送所述智能模块使用;所述控制逻辑程序编辑器,用于主控程序和智能模块分控器的程序的设计,提供了为智能模块编写和编译控制逻辑程序的功能,在IDE环境中直接生成智能模块的执行程序。所述控制逻辑程序编译器,用于将所述主控程序编译成主控器的所述程序解释执行器识别的运行文件;同时还搭载所述智能模块的程序编译器,将所述智能模块分控器的程序编译成模块识别和执行的目标文件;所述智能模块程序下载器,用于将生成的智能模块分控程序文件下载到所述智能模块中的目标模块;所述主控程序解释执行器,用于载入编译后的所述主控程序,并执行, 实现主控器的执行功能。而所述智能模块,用于接收并执行所述分控器的程序,所述分控器的程序为控制逻辑程序;包括分控程序接收器和分控程序解释执行器;其中,所述分控程序接收器,用于接收上位机载入所述分控器的程序,确认接收的有效性和正确性后,将所述分控器的程序写入所述智能模块的非易失性存储区;所述分控程序解释执行器,负责将下载所述分控器的程序载入并执行。上述系统的执行步骤如下Si、打开逻辑控制集成开发环境,确认硬件控制资源,在所述逻辑控制资源管理器下,按照控制逻辑程序设计方案,规划模块I/O的用途和受控方;所述受控方包括所述主控程序解释执行器和所述智能模块的分控程序解释执行器;S2、按照控制逻辑程序设计方案在所述控制逻辑程序编辑器中编写所述主控程序,或所述智能模块分控器的程序;S3、调用所述控制逻辑程序编译器,分别编译所述主控程序和所述智能模块分控器的程序,分别生成所述主控程序解释执行器和所述智能模块的分控程序解释执行器的控制逻辑执行文件;S4、将主控程序载入所述主控程序解释执行器,将分控程序执行文件通过所述智能模块的程序下载器下载到智能模块,由所述智能模块载入分控程序解释执行器。本发明能够保证控制运算核心瘫痪的情况下,数控机床的轴限位、急停等安全开关仍能正常工作,并且能够在局部显著提高逻辑控制效率,从而提高机床的I/O控制效率, 大大减少控制响应时间,并且使数控机床的控制安全性和稳定性得到显著提升。
图1是现有技术继电器组成的非门电路;图2是现有技术继电器组成的与门电路;图3是现有技术继电器组成的或门电路;图4是现有技术工业PLC系统的组成结构示意图;图5是现有技术软PLC系统的组成结构示意图;图6是本发明安全逻辑控制系统组成结构示意图;图7是在数控机床上安全逻辑控制实现的流程示意图;图8是分控程序下载的流程示意图;图9是分控程序接收的流程示意图;图10是本发明一种具体实现方式结构示意图;图11是系统程序下载器和智能模块的程序接收器工作和交互流程示意图图12 —种具体实施方式
下利用C语言描述的程序主函数结构流程示意图。
具体实施方式本发明的技术方案是以分散式硬件结构的控制系统为基础,设计智能I/O模块, 赋予I/O模块一部分逻辑运算能力,使得模块在不依赖上位机的情况下,管理自己持有的I/O点,并能够进行基本的逻辑运算,形成相对独立的分控系统,智能模块仍受主控器监控, 模块内未被分控器占用的I/O资源仍可作为主控器的I/O资源使用,而已占用的I/O资源以及分控器的工作状态和中间结果等信息仍然可以被主控器查看或作为主控器的输入信号参与主控器的逻辑运算等。智能模块运算逻辑程序的编辑、编译完全在上位机的控制逻辑编程开发环境内实现,只是在运行前下载到目标模块上,这就使得从用户角度上来看,系统编程和运行的人机交互完全和传统的PLC系统一致,用户几乎不需要任何培训就可以像使用传统PLC —样使用本发明所实现的控制系统,并且为用户带来本质的安全性和控制效率的提升。如图6,本发明由下面几部分构成1.逻辑控制子系统集成开发环境,包括逻辑控制资源管理器、逻辑程序编辑器和逻辑程序编译器。a)逻辑控制资源管理器,负责控制资源。资源包括I/O管理、程序和子程序管理和实时任务管理等。这里的I/O管理的主要任务是分清哪些I/O受主控器管理,哪些I/O被锁定由智能模块的分控器使用。b)控制逻辑程序编辑器,负责主控器和智能模块分控器的程序的设计,提供了为智能模块编写和编译控制逻辑程序的功能,能够在IDE环境中直接生成智能模块的执行程序。c)控制逻辑程序编译器,负责将主控程序编译成主控器的程序解释执行器能够识别的运行文件,此外它还搭载智能模块的程序编译器,能够将智能模块的控制逻辑程序编译成模块的可识别或可执行目标文件。d)智能模块程序下载器,负责将生成的智能模块分控程序文件下载到目标模块。e)主控程序解释执行器,简称主控器,负责载入编译后的主控程序,并执行,实现主控器的执行功能。2.智能模块,是一种替代普通I/O模块,并且能够接收并执行简单控制逻辑程序的模块。智能模块除了兼容普通I/O模块的所有功能,还提供了分控程序接收器和分控程序解释执行器两部分重要的功能,用于实现局部的安全高效的逻辑控制功能。a)分控程序接收器。负责接收上位机载入的分控程序,确认程序接收的有效性和正确性,并将程序写入智能模块的非易失性存储区供使用。b)分控程序解释执行器,简称分控器,负责将下载到智能模块的程序的载入并执行。本发明公开了一种在数控机床上实现高效、高可靠性的安全逻辑控制的设计方法,整体步骤如图7。其执行步骤如下1.打开逻辑控制集成开发环境,了解硬件控制资源,在资源管理器下,按照控制逻辑程序设计方案,规划模块I/O的用途和受控方(受控主控器还是智能模块本身的分控器)O2.按照控制逻辑程序设计方案在控制程序编辑器中编写主控器和智能模块分控器的控制逻辑程序。3.调用控制逻辑程序编译器,分别编译主控和分控程序,生成主控器和智能模块分控器的控制逻辑执行文件。4.将主控程序载入主控程序解释执行器,将分控程序执行文件通过智能模块程序下载器下载到智能模块,由智能模块载入分控程序解释执行器。分控程序下载和接收过程如图8 5.启动运行数控逻辑控制子系统。实现方法本发明提出的逻辑控制子系统的设计方法根据数控系统选用的不同的操作系统和开发工具有多种实现方式。图9展示了本发明的一种实现方式。数控系统由数控系统硬件和数控系统软件构成。数控系统硬件,可以有多种计算机系统构成,例如X86PC构架、ARM处理器构架、 DSP处理器构架、单片机构架以及多个上述处理器构成的多CPU构架。中央处理器CPU通过内部计算机总线与其他设备连接,包括数控所必需的实时钟、伺服及I/O设备接口、存储介质和显示设备及输入设备。采用X86PC构架的硬件系统可以用机内8253或其兼容时钟体系作实时钟;可通过PCI总线或ISA总线接口模拟量输出卡和数字量输入输出卡实现伺服及I/O设备接口,对于现场总线接口的伺服及I/O设备,可采用相应现场总线通讯接口卡实现伺服及I/O设备接口 ;可采用标准硬盘或SD卡、CF卡作为文件系统存储介质。数控系统软件可用实时操作系统支持的应用程序开发工具来开发,例如RTLinux 操作系统支持的GCC开发环境,对于选择Windows+RTX作为实时操作系统的选择VC开发环境进行数控系统软件的开发。智能模块,前面提到过,除了具有普通I/O模块功能之外,还具有分控程序逻辑的接收和执行的能力,这就要求智能模块具有一定的数据处理能力,因此智能模块可以采用嵌入式硬件系统,如ARM7系列32位MCU,以及目前流行的ARM CotexM3M0系列,甚至一些8 位单片机如ATmega系列的AVR单片机也能满足要求。智能模块的软件根据实际的硬件资源情况来设计,可以嵌入一个小的实时系统以支持复杂一些的应用,并且提供更友好的资源使用接口 ;另一方面,也可以在无系统的情况下执行确定的几个任务,能够直接、高效的使用模块资源。数控逻辑控制子系统各部分具体实现方法如下(智能模块以带有CAN控制器的 AVR单片机AT90CAN128为例)1.集成开发环境,包括控制资源管理器、控制逻辑程序编辑器和控制逻辑程序编译器。这三部分都工作在非实时系统下,使用常规的软件开发工具(如Windows下的VC) 即可实现,其中程序编译器需要调用第三方编译器以实现智能模块控制逻辑程序的编译。2.主控逻辑程序执行器,是主控器的控制逻辑程序执行机构,需要在实时系统下运行以保证控制逻辑的快速执行,保证I/O控制的快速响应。3.智能模块控制逻辑程序下载器,负责将编译生成的智能模块控制逻辑程序文件快速安全的下载到智能模块中去。下载器先将文件载入,以二进制形式做分包处理,以符合通信协议的数据格式要求,为了数据安全,可以为每包数据做CRC冗余校验,并且设计数据错误重发机制,保证程序文件安全无误的下载到智能模块。参见图10,其下载步骤如下a)载入某模块执行文件待下载。b)将文件按照通信协议帧分段打包。
7[0077]c)复位所有网络设备,使其重新启动载入启动加载器(BootLoader),在启动加载器中完成程序的接收工作。d)启动分段帧下载,在接收到应答确认后,进行下一分段的下载,知道所有程序分段下载完毕。e)返回到a)步执行下一模块执行文件的下载。待所有智能模块程序下载完毕后, 通知所有模块BootLoader加载应用程序的运行。f)程序下载器完成使命退出。4.程序接收器,负责将接收到的控制逻辑程序文件完整无误的写入智能模块的程序存储区。与主系统软件的智能模块程序下载器配合使用,除了要完成数据的接收校验,错误重发通知等配合工作外,还要负责将接收的数据块重新拼在一起,还原程序文件,并将它保存到智能模块的程序存储区内供智能模块使用。参见图10,其与智能模块程序下载器的匹配接收步骤如下a)模块应用程序运行过程中收到CAN网络的节点复位指令,执行模块复位,由硬件载入启动加载器(BootLoder),这里也可以叫做程序接收器,由它来完成逻辑程序的接收过程。b)等待并接收发给本模块的程序分段,并按照顺序依次存储于指定的程序接收区,同时返回接收确认,告知上位机本分段接收成功。c)待所有分段接收完成后,等待下载器的通信指令,加载应用程序执行。下图是系统程序下载器和智能模块的程序接收器工作和交互流程(基于CAN总线)5.模块分控逻辑程序执行器,负责接收主控器的I/O指令,反馈外部I/O的状态, 还有更重要的一点就是能够载入并解释执行分控逻辑程序,按照编写的程序快速安全的执行逻辑指令。分控程序执行器有两种实现方法一是解释执行器,程序代码以确定的格式编写成一条一条的控制指令,执行器要将这些指令翻译为模块的可执行代码,一条一条的顺序翻译执行,这种方法由于增加了指令翻译的过程,其效率和执行速度显然不高,而且该方法同样对模块的软硬件环境提出了更高的要求,在硬件上,需要较高性能的MCU来完成大量的程序解释工作,在软件上一般需要嵌入式操作系统的支持,以完成复杂的运算和任务管理工作;另一种方法是编译执行,即下载的程序文件即是经过编译的程序,可以在智能模块上直接运行,显然该方法节省了指令翻译的过程,效率最高,但它要求上位机系统能够实现智能模块子程序的编译工作,即将前一方法的程序翻译工作挪到上位机实现,并且要求智能模块支持可执行代码的动态载入。要支持程序的动态载入,要求智能模块支持一个操作系统来实现PC机类似的程序管理和调用机制;或者智能模块硬件MCU支持程序的载入和引导,即智能模块MCU拥有一个启动加载器(BootLoader),支持系统在线编程,经过编译的程序可以直接下载到智能模块替代原有的程序执行,该方法对硬件性能的要求比较低,仅需支持在线编程,对软件也没有操作系统环境的要求,但要求上位机在编译分控逻辑程序的同时将该智能模块原有的应用程序一起编译成完成的模块软件。下面以AT90CAN128为例介绍逻辑程序执行器的实现AT90CAN128为8位AVR单片机,其运算能力有限,但它支持在线编程,可由启动加载器来完成程序的在线下载替换,因此我们采用编译执行的方式来实现逻辑程序执行器模块功能。AT90CAN128无OS运行,采用C编程,单片机启动跳转到程序的main函数开始执行,在main函数里,首先要进行软硬件资源的初始化,设计资源初始化子函数 subSMinitO ;然后进入主循环,主循环就是该单片机的程序循环主体,在智能模块掉电之前,单片机始终循环执行主循环中的任务。主循环的任务包括通信功能子程序subSMcomO、 应用功能子程序subSMapp ()、输入端口读取子程序subSMinputO、逻辑运算子程序 subSMlogicO、输出端口操作子程序 sub SMoutput ()。C语言描述的程序主函数结构如下
int main(void) {
unsigned short input = 0;//假设个数字端口输入 unsigned char output = 0;//假设个数字量端口输出 subSMinit();//智能模块(Smart Module)初始化子函数
while(l) {
subSMcom();//智能模块通信子函数 subSMappO;//智能模块应用子函数 input = subSMinput();//读耳又输入 output = subSMlogic(input);//逻辑运算 subSMoutput(output);//设置输出
}
}主函数的流程图见图11 从程序框架和流程图中我们可以看出,subSMlogicO函数就是我们逻辑程序执行器的实现。上位机只需将实现该模块逻辑运算的梯形图转换成C语句嵌入subSMlogic函数中,再调用AVR的编译器编译整个单片机工程然后下载到智能模块即可,待新程序开始运行就会直接执行新的逻辑运算程序功能。例如实现输入的低8位取反送给对应输出的梯形图程序转换成C语句如下unsigned char subSMlogic(unsigned short input) {
unsigned char output = 0; output = (unsigned char)~input; return output;
} 以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
权利要求1. 一种机床数控中集中式和分布式控制混合的安全逻辑控制系统,其特征在于,包括交互信息的数控子系统和逻辑控制子系统;所述逻辑控制子系统通过串行通信总线连接智能模块和受主控器管理的I/O模块;所述逻辑控制子系统包括控制资源管理器、控制逻辑程序编辑器、控制逻辑程序编译器,智能模块程序下载器,以及主控程序解释执行器;其中所述控制资源管理器连至所述控制逻辑程序编辑器,所述控制逻辑程序编辑器连至所述控制逻辑程序编译器;所述控制逻辑程序编译器分别连至所述智能模块程序下载器和所述主控程序解释执行器;所述智能模块程序下载器连接至所述智能模块; 所述智能模块,包括相互连接的分控程序接收器和分控程序解释执行器。
专利摘要本实用新型公开了一种机床数控中集中式和分布式控制混合的安全逻辑控制系统,包括交互信息的数控子系统和逻辑控制子系统;所述逻辑控制子系统通过串行通信总线连接智能模块和受主控器管理的I/O模块;所述逻辑控制子系统包括控制资源管理器、控制逻辑程序编辑器、控制逻辑程序编译器,智能模块程序下载器,以及主控程序解释执行器;所述智能模块包括分控程序接收器和分控程序解释执行器。本实用新型能够保证控制运算核心瘫痪的情况下,数控机床的轴限位、急停等安全开关仍能正常工作,并且能够在局部显著提高逻辑控制效率,从而提高机床的I/O控制效率,大大减少控制响应时间,并且使数控机床的控制安全性和稳定性得到显著提升。
文档编号G05B19/414GK202166874SQ20112015926
公开日2012年3月14日 申请日期2011年5月18日 优先权日2011年5月18日
发明者于德海, 刘庆宏, 刘沛, 林猛, 汤洪涛, 王声文, 王大伟, 白彦庆, 耿文剑, 董大鹏, 陈虎 申请人:大连光洋科技工程有限公司