1.多轴多通道数控软件结构
CME988数控系统是在DOS(或Windows)环境下运行的多轴多通道数控软件。一个通道就是一个完整的CNC控制功能,即可以控制一台机床,它包括机床的坐标轴X、Y、Z、…,主轴,刀库位置控制,PLC功能等。通道数和每个通道内的控制轴数,可由参数设定。
从理论上讲,系统的通道数可以很多,但实际上,由于每个通道都占一定的硬件空间和硬软件的运行时间,所以不可能无限多。本系统的硬件结构是单CPU结构,可选用四通道工作方式,最多联动轴为8轴。系统最小控制周期=3ms+2ms/通道数,其中3ms为系统运行所需的基本时间,与通道数无关,每个通道还需占用2ms时间。
为使数控系统控制多个通道,尽可能选用速度较快的PC。为了方便用户使用,系统软件采用两组设定。第一级为系统配置级,第二级为参数配置级。系统配置级给定系统配置的上限,如最大通道数、每通道的最大轴数、系统的控制周期。在参数配置级,用户可以在给定系统的最大配置范围内,以参数方式设置机床的控制轴数、进给轴名称、是否要刀库位置控制、是否要主轴调速等控制。
2.一个通道的软件结构
CME988软件的框图,它有五个基本功能软件模块:CNC模块、PLC模块、会话编程模块、扩展数控语言模块和FMS网络通信模块。这些模块是用C语言编写,与计算机和操作系统无关,这些模块具有可移植性。
在DOS操作系统下,实现CME988软件的实时多任务操作系统,由该实时多任务操作系统调度五个基本软件功能模块,使五个软件功能模块能在DOS操作系统支持下运行。
和PC外部设备(如显示器、磁盘驱动器和键盘等)的连接,是通过BIOS软件模块(或用C语言编写)来实现的。该部分软件具有一定的兼容性,使其适应PC外设不断发展的要求,例如适应高分辨率的显示器、新型网卡等。
CNC输入输出接口模块软件,是将CNC系统与机床进给伺服、主轴伺服、PLC进行信息交换。这部分软件是对用户开放的,将根据位置控制和DI/DO的设计不同而不同。
(1)CNC软件模块其主要功能有:
1)1~4个通道的控制。
2)每通道最多8轴联动。
3)直线、圆虎螺旋线插补。
4)刀具长度补偿、半径补偿、刀尖补偿和3D刀偏补偿。
5)随机刀具管理,刀具寿命管理。
6)伺服漂移补偿,螺距误差补偿。
7)导轨直线度补偿,导轨垂直度补偿。
8)反向间隙补偿。
9)对称加工、比例缩放和软限位。
10)运行状态自动记录,系统故障诊断。
11)窗口和菜单方式操作,中英文提示。
12)3维/2维图形仿真,可存储图形数据。
13)多种车削、铣削和钻削固定循环。
(2)扩展数控语言软件模块
这种语言类似于有些CNC系统供应商提供的用户宏程序功能,但比宏程序功能更丰富和灵活。机床制造商和使用机床的最终用户,可以利用扩展数控语言自行开发特殊的控制功能。例如用扩展数控语言开发特种固定循环,也可以用这种语言把CME988扩展到用于步冲机、火焰切割机、弯管机等领域。扩展数控语言的主要功能有:
1)数学运算。
2)逻辑运算。
3)指定机床各轴运动指令。
4)指定主轴运动指令。
5)与PLC输入/输出接口交换数据。
6)通道之间的数据交换与运行同步。
7)磁盘数据管理和运行状态记录。
8)子程序调用和跳转指令。
9)系统运行控制,例如通道启动、暂停和复位等。
10)利用扩展数控语言可以完成刀具长度的自动补偿。
11)完成工件安装定位误差的自动补偿。
12)完成刀具的自动更换。
13)在扩展数控语言支持下,可用一台CME988系统的一个通道为主通道,控制多个CNC系统,完成柔性制造单元的控制任务。
(3)会话编程系统软件模块
本模块提供在CNC软件模块背景下操作,面向加工工艺的图形交互会话编程系统(针对车床、加工中心)。编程由中、英文菜单引导,由图形窗口支持。此系统还能读入由AUTOCAD系统生成的CAD几何数据(DXF),附加必要的工艺信息,直接生成数控加工程序。
(4)FMS通信软件模块
它提供适用于FMS控制系统或车间管理的通信协议,接口硬件可以根据数据通信的速度要求,选择RS232接口或者是ARCNET通信网卡。ARCNET是一种标准的PC外部设备,通信速度高,可带多个节点,可靠性高,特别适用于PC在工业环境下的联网使用。FMS通信协议的主要功能有:
1)执行CNC操作命令,启动、复位和暂停等。
2)查询CNC系统的运行状态。
3)CNC系统文件的管理,如发送、接收、复制和删除等。
4)传送PLC操作指令,输入和输出。
(5)PLC软件模块
PLC模块是完全向数控系统用户开放的模块。PLC程序的编制是用C语言完成的。C语言具有丰富的功能,使PLC程序的编制简捷直观,逻辑性强,调试方便,是一般CNC系统内藏PLC的指令系统无法比拟的。为更方便编制PLC程序,该模块还增设了一些专用功能。为避免直接和CNC内核打交道,采用公用变量来使CNC和PLC间进行信息交换,用户只需对这些变量进行操作,即可完成与CNC程序的数据交换。
定义了26种功能指令,如输入、输出、定时器、脉冲发生器等。
通过PLC进行轴控制。
为使PLC程序的编制简明快捷,设计了名为US.C的所谓“用户PLC程序框架”,用户在编制自己的PLC时,只需在US.C的适当部分填上自己的控制语句即可。
用C语言编制的PLC程序经编译和系统软件进行连接,生成最后的把CNC和PLC模块连接在一起的控制程序。
PLC程序的调用大致可划分为两个阶段。初始化PLC程序,存于init-PLC-user(){初始化内容}部分中,{}中的程序只在系统加电时执行一次,该部分完成一些和机床的初始化状态相关的操作。另一阶段是系统每8ms执行一次其余的PLC程序。
(转载)