1 引言
ANC-45M 全功能数控系统是大连机床厂高 新技术开发中心与日本AVAIL 技研株式会社合作开发的立式、半闭环三轴加工中心数控系统。她使用了32 位RISC 型CPU,专用的多任务实时操作系统,改进的哈佛结构,9″彩色液晶显示器,双CPU、双主板设计,其中一个CPU 所在的主板是加工中心的控制子系统,另一个CPU 及其主板是它的输入、输出子系统,它是机床的人机用户界面。本文详细论述了数控ANC-45M 加工中心PLC 编辑器的设计与实现。
2 ANC—45M 加工中心的组成结构
两个CPU 及其主板之间用一根通信电缆线将两个主板上的RS-232 异步串行通信接口连接起来,用报文形式进行数据交换。其中交换的数据包括:MMC 侧(人机接口控制器)和CNC侧加工程序以及PLC 梯形图程序等的交换,MMC 侧和CNC 侧的实时坐标数据、机床状态参数的交换等。
3 软件系统结构
3.1 主程序算法结构
PLC 编辑器是MMC 部分的一个子程序,为了能更好地描述本文的内容,我们应首先分析一下MMC 部分主程序的设计算法,其三个主要程序模块算法如下:
(1) main 函数算法如图1 所示。
(2) 任务管理模块如图 2 所示。
图 2 任务管理模块算法
(3) 状态任务模块如图 3 所示。
图3 状态任务模块算法
主程序为每一个子功能模块预留了对应的两个子函数,PLC 编辑器有其相应的 无键处理子函数和向键处理子函数。在向键处理子函数中进行输入键值的判断处理,而无键处理子函数则进行实时状态参数的屏幕刷新处理。对于每个子功能模块,都有一个共同的特点,那就是其无键处理子程序相对于向键处理子程序较为短小。在当前子功能模块状态下、没有键值输入时就调用无键处理子函数,并且每一主程 序循环周期都要调用它;当在有键值输入的情况下,就转而调用向键处理子程序。一旦有按键输入,系统是以中断方式被CPU 所接收的,它首先进行相应的预处理,然后再调用任务管理模块子程序。任务管理模块程序是通过判断当前状态变量是否为初始状态,如果是则进入相应的初始处理,如果不是则判断是否按键状态,如是则分别进入相应的分支程序。
在有按键的情况下,程序首先判断该键值的类型,如果是改变功能子函数模块的 命令时,则首先调用相应的功能键值子函数模块,并送去状态变量值TASKSTART,同时把当前运行中的功能子模块放入后台等待该中断执行完后,接着执行 完;如果不是改变功能子模块,而是在当前功能子函数状态下的键值输入,系统则调用该功能键值处理子函数模块,并且送去TASKRUN 状态,这样也就进入了各子程序的键值处理子程序。
3.2 操作系统
该数控系统的操作系统采用的是AVAIL 公司自行开发设计的,并已经成功应用于公司生产的绣花机上,该公司生产的绣花机多年行销中国大陆等地,已经得到实践和用户的验证和认可。该操作系统是专门为任务相对比较单一的控制系统所设计的,其中有一个非常重要的时间任务控制模块,它负责对各任务的处理分配运行时间,并对任务执行时间进行监控。我们知 道,对于一个实时系统来说,系统的正确性不仅取决于计算的逻辑结果,而且还依赖于产生结果的时间。为了保证数控加工的精度,该操作系统采用一种硬实时任务的管理模式,即系统给一个特定的任务指定了一个最后的期限,而系统必须在这个最后期限之前处理完所规定的任务,否则系统就会强制中断该任务的执行。这个时 间任务模块决定了该数控系统的加工精度,依赖于多种因素的制约,比如CPU 执行速度的快慢、通讯口传输速率等等。由于该操作系统功能简单、任务可预测且单一,这就为该系统可靠性更高,稳定性更强提供了根本的保证。