图1 车间管理控制系统基本功能
图2 车间管理控制系统基本结构
单元agent:各单元agent(也即各资源agent)自主负责各自的任务,单元内的诸多设备也可理解为各子agent,单元本身则为一个mas。单元内的各设备对于单元agent争取到的并予分解的任务也要竞争,获胜者则须协作以完成单元任务。 过程agent:根据任务agent对任务的分解及对投标各agent筛选,组成车间的生产过程。这个生产过程是面向任务的、动态的,但也具有一定的相对稳定性。各参与任务的agent相互之间的协作方式在过程agent中也需有动态记录。过程agent还负责对应加工任务的成本核算,负责本生产过程中的各 agent间的运行协调与控制。 产品管理agent:对交给本车间加工的各种工件进行管理。管理内容包括:各工件的编号、工件所用材料、工件的交货期、加工该工件各工序的内容及精度、工件的状态(等待加工、正在被加工、加工结束、在小车上等等)等。 资源管理agent:负责车间的能力登记及车间内各种资源的动态管理,为任务agent的决策提供依据。各agent的功能、属性、能力等级、历史记录等都在资源agent中有详细的记录。资源器必须定时与各agent通信,以保持资源管理表的动态更新,还负责监视车间内各组成部分的运行状态、设备的使用折旧等情况,并及时向任务agent报告。 协作管理agent:从网上获取信息或发布信息都需要经过协作管理代理机进行处理,它负责接受任务或发布任务信息,接受任务反馈信息,另外,它记录任务的要求,各种相应的奖惩方法以及其他企业提出的申请,也负责本系统同外界的协调工作。
图3 agent的结构
各个agent在结构上都是类似的,一般由五个部分组成(如图3所示):通信模块、执行器、数据库、知识库、人机交互接口。通信模块包括两个部分:通信语言、通信接口。通信语言采用kqml,通信接口则采用corba的idl来描述。执行器包括三个部分:事件感知器、功能适配器、功能调用器。事件感知器根据通信模块传来的消息及自身状态,来判断所发生事件,根据所发生事件,功能适配器确定采用什么功能来处理此事件,功能调用器则从知识库中调用执行相应功能。人机交互接口则提供了一种手段,以便于用户能修改各agent的结构,也是agent知识库获取知识的一种手段。车间管理控制系统的来自外界的扰动也可以通过人机接口输入。 车间管理控制系统各agent之间的协调机制包括两大部分:一是过程agent之间及过程agent与任务agent间的协调:二是过程agent内各单元agent之间及他们同过程agent间的协调。 在加工过程中,若有单元agent对应的设备发生故障,过程agent首先将其承担的任务在本过程内重新分配,若分配不下去,则将其退回任务agent重新处理。过程agent之间也有负载平衡问题,当某过程agent内的各设备负荷过重时,可与某些负荷很轻的过程agent协商,将其承担的部分任务移交给他们完成。 一个生产过程内agent间协调的一个重要内容就是确定该加工路线中各单元agent的开工时间,这由过程agent与各单元agent以及各单元agent之间协商确定(如图3所示)。具体过程描述如下:过程agent首先将有先后顺序的子任务中的*道子任务的开工时间确定,并将结果通知承担该子任务的单元agent。该单元agent计算出可能的任务交付时间(要考虑工件传至下个单元的运输时间),并将其通知到下个单元agent。后续子任务的任务交付时间则根据前道子任务的任务交付时间、本道子任务的加工时间及本单元agent的加工任务计划相应确定,并通知后续单元agent。如此类推。对无先后顺序的各加工任务由各单元agent自行确定。 zui后,由过程agent根据任务的优先级、交货期约束,从整体优化的目标出发对各单元agent的开工时间进行调整,如对于优先级较高的急件、可能误期的子任务或瓶颈子任务,应优先安排,而将其他任务向后推延。
图4 车间管理控制系统的软件体系结构
图5 基于多agent的车间管理控制原型系统
4 软件原型系统的体系结构基于多agent的车间管理控制软件原型系统采用符合公共对象请求代理结构(corba)规范的中间软件作为集成管理和开发平台,原型软件的体系结构如图4 所示。各agent都是一个个的应用程序。各agent通过corba总线进行通信和互操作。通信语言采用kqml,通信接口则用idl语言定义描述。各单元agent内部则通过winsock接口实现其同控制和内部各自动化设备的控制工作站通信。对应于普通设备的单元agent则通过其人机接口向操作人员下达操作指令并接收操作人员的反馈从而实现对设备的控制。 原型系统的逻辑配置图如图5所示,软件的运行环境是由pc机构成的计算机网络。网络中单元agent所在pc机与加工设备相连或与另外一些pc机相连,这些pc机作为工作站级控制器控制相应加工设备。5 结论本文提出了一种基于多agent的车间管理控制系统,它能借助于mas系统的种种优点,克服传统cims下车间管理控制系统的一些缺点,实现车间的敏捷化,具有自适应能力,动态重构能力,对外交流、协作能力。从本文的研究可以看出,随着分布对象技术及支撑软件的成熟,车间管理控制系统从递阶式控制结构转向分布式控制结构是可行的,也是必要的。也只有采用分布式的控制结构,车间管理控制系统才能在车间范围内更有效地支持敏捷制造或别的*制造模式的实现。
