CN101477357A - 基于corba的柔性制造系统模型的建立 - Google Patents
基于corba的柔性制造系统模型的建立 Download PDFInfo
- Publication number
- CN101477357A CN101477357A CNA2008100190941A CN200810019094A CN101477357A CN 101477357 A CN101477357 A CN 101477357A CN A2008100190941 A CNA2008100190941 A CN A2008100190941A CN 200810019094 A CN200810019094 A CN 200810019094A CN 101477357 A CN101477357 A CN 101477357A
- Authority
- CN
- China
- Prior art keywords
- corba
- class
- client
- model
- fms
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/60—Electric or hybrid propulsion means for production processes
Landscapes
- General Factory Administration (AREA)
Abstract
本发明基于CORBA的柔性制造系统模型的建立是一种用于现代工厂中分布式控制系统模型建立的方法。CORBA作为一种中间软件,对运行在不同主机上的对象提供服务。该系统包含面向对象的FMS模型建立、基于CORBA的面向对象FMS的建模、各物理对象IDL定义及CORBA实现的方法等方面。以AGV小车和机床为例给出了物理对象的IDL接口定义,服务器端通过定义类的接口然后建立实现类的一个实例,使实现类的对象访问客户端,并能处理从客户端到这些对象的操作。
Description
一、技术领域
本发明基于CORBA(Common Objectrequest Broker Agent公共对象请求代理结构)的柔性制造系统模型的建立是一种用于现代工厂中柔性制造系统模型建立的一种控制方法。CORBA作为由运行在不同主机上的对象提供服务使用的一种中间软件,适用于面向对象的递阶分布式控制系统的建模及控制。
二、背景技术
现代工厂中的柔性制造系统由异类的硬件、分布在不同种类平台上的软件(如操作站、远程控制单元、编成控制器及智能设备)及通讯系统(如局域网等)组成。FMS的特点是能够获得柔性自动生产,如有效的加工一些不同种类不同数量的零件。但是目前制造系统规模增加及车间控制软件的复杂性使递阶控制系统失去了柔性。首先,因为在不同的单元控制器之间频繁的控制信号交互,实时地处理基于车间层的状态信号非常困难。其次,改变车间层结构或控制策略需要对设备控制器进行根本性的变动。控制系统协调全部车间层的各项活动,应满足实时、分布和对象之间的协同等分布式网络化制造系统的技术要求。目前软件实现的方法多是结构化编程或客户/服务器模式,其分布性难以实现,难以实现可扩展、可充配、可适应的要求。代表分布式对象技术的CORBA(公共对象请求代理结构)规范,是解决问题的一个有效途径。
三、发明内容
1、发明目的
本发明的目的是分析和构建基于CORBA的面向对象的递阶分布式控制系统进而在软件中实现模型控制。
2、技术方案
(1)面向对象的FMS模型
从面向对象的观点,该软件的类可分为:FMS物理实体类、FMS数据库类、和FMS概念类。FMS物理实体类包括机床、物流、装卸单元等等。数据库类是与生产订单、工艺计划、产品、数控数据等有关的信息。单元控制器则是一种概念类。继承了“物理”类的“控制器”类封装了一些公共方法如:决策、监控及执行等一些共有的活动。换句话说,公共的方法和通用的属性被设计成独立的类而成为“控制器”类。继承了单元控制器类的FMS物理类如图1所示。对于加工单元、物流单元、装卸单元及缓冲区单元,“数控机床”、“AGV小车”、“机械手”及“存储缓冲”类分别从“单元控制器”类得到继承。
(2)基于CORBA的面向对象FMS的建模
一个FMS系统是由很多完成自己制造任务的控制单元组成的,譬如装卸站单元、物流单元和数控单元等,他们互相合作以完成生产任务。图2是一个递阶分布式FMS结构,它给出了一个由三个层次控制器组成的集成模型:车间控制器、单元控制器及设备控制器。车间控制器层负责计划编制及从单元控制层接受信息然后发布基于生产计划的指令。单元控制层执行从生产计划授予的指令然后发指令给底层设备单元。底层设备如数控机床、机械手、AGV小车、缓冲区及装卸站都属于递阶结构中的底层设备层。这些设备的任务是执行由底层设备单元控制层授予的和反馈给它们的指令,这些单元控制层发送的指令是由车间层下达给每个单元控制层的指令。单元控制器能与车间控制器进行通讯,然后车间控制器将决定给合适的单元执行指令,该指令将根据执行成本及几个子单元装载平衡来决定。另外,分配及监控控制单元将监测指令的进程。在每一层次中,都有一个运行控制模块协调其所在层次所有单元之间的运行,并唯一负责同上层运行控制模块联系;在控制层中的每个功能模块如车间层的订单计划或者调度执行决定了在FMS运转过程的明确的功能范围。事实上,功能单元为其它单元对象使用提供了连续的顺序。在同一层次的每个功能模块通过CORBA与其它模块通讯,这就加强了系统的稳定性。这样的递阶分布式控制结构既可以支持整体系统的实现,又能以功能单元的形式实现某一单项功能,从而具有控制任意层次上生产系统的可能。
(3)IDL定义
IDL的规格是由面向对象模型手动定义的。因为IDL仅仅用于定义CORBA对象的接口,所以它不需要进行编程。FMS中的IDL定义见以下指令表,以AGV小车和机床为例:
AGV小车对象的IDL规范:
//AGV小车属性和操作方法的定义
interface trans
{ // members of transport class
readonly attribute short buffer;//Status ofbufferforAGV(use right 6 bits)
readonly attribute short position;//Current status of AGV
attribute short destinAddr; // Task destination address for AGV
attribute short transStopCode; //operation′s flag of functions
attribute boolean transStartFlag;
void doorOpen();//open the door of machine
void fileTrans(in string ncProcID);//transfer nc file to machine
};
机床对象的IDL规范:
interface machine
{ //CNC number,can not modify directly
readonly attribute string ncProcID;
attribute short machStatus;//the status of machine
attribute short doorStatus;//the status of machine’s door
readonly attribute boolean machStartFlag;
readonly attribute boolean doorOpenFlag;
readonly attribute boolean fileTransFlag;
//IDL operations
void machStartNoFile();//startthe machine without file trans void machStartFile(in
string ncProcID);
void doorOpen();//open the door of machine
void file Trans(in string ncProcID);//transfer nc file to machine
};
(3)CORBA实现的方法
以“Machine”接口为例说明。接口定义包含属性和操作。属性对应物理对象对应的变量,操作对应客户调用的函数。“Machine”接口包含两个属性ncProcID andmachStatus,每个属性只读;他还包括方法machStartFile(in string ncProcID)。IDL编译后产生三个C++文件:
Machine.hh包含在客户端和服务器中的头文件。
MachineC.cpp编译并连接到客户端程序获得“Machine”对象的源程序。
MachineS.cpp编译并连接到服务器端的源程序,实现“Machine”对象的调用。
文件Machine.hh和MachineC.cpp定义客户端是用并获得对象“Machine”的客户端桩代码
//自动生成文件Machine.hh.
#include<CORBA.h>
…
class Machine:public virtual CORBA::Object{
public:
…
virtual CORBA::Short machStatus (CORBA::Environment
&IT_env=CORBA::IT_chooseDefaultEnv());
virtual void machStartFile(const char*ncProcID,CORBA::Environment
&IT_env=CORBA::IT_chooseDefaultEnv());
…
};
class Machine_var:public CORBA::_var{
public:
Machine_var &operator=(Machine*IT_p);
Machine_var &operator=(const Machine_var & IT_s);
Machine*operator->();
…
};
当客户端调用对象“Machine”一个引用的函数时,Orbix提交函数的调用给服务器的对象以实现对象“Machine”的IDL接口。只读属性machStatus和ncProcID对应于函数MachStartFile()的成员。客户端可通过调用这些成员汉书读取属性的当前值。
当写客户端程序时,类“Machine_var”帮助管理与类“Machine”有关的内存。
文件Machine.hh和MachineS.cpp定义的对象框架代码允许服务器程序实现IDL接口并接受客户端到对象的操作方法的调用。
//在文件Machine.hh中自动产生
#include<CORBA.h>
…
classMachineBOAImpl:public virtual Machine {
public:
…
virtual char*ncProcID(CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv())=
0;
virtualCORBA::Short machStatus (CORBA::Environment
&IT_env=CORBA::IT_chooseDefaultEnv())=0;
virtual void machStart(CORBA::Environment&IT_env=CORBA::IT_chooseDefaultEnv())=0;
};
类“MachineBOAImpl”定义了包含在“Machine”IDL接口中的成员函数。每个只读属性和操作都映射在对应的抽象成员函数中。为实现“Machine”接口,需定义从“MachineBOAImpl”中继承而来并能实现每个抽象成员函数的类。这种方法叫做BOAImpl方法。我们定义的类如下:
//在Machine_i.h中
#include<Machine.hh>
class Machine_i:public MachineBOAImpl
{
public:
…
CORBA::String_mgr m_ncProcID;
CORBA::Short m_machStatus;
public:
Machine_i();
virtual~fanuc0i_i();
virtual char*ncProcID(CORBA::Environment &env);
virtual CORBA::Short machStatus(CORBA::Environment &env);;
virtual void machStatus(CORBA::Short machStatus,CORBA::Environment
&IT_env=CORBA::IT_chooseDefaultEnv());
virtual void machStartFile(const char*ncProcID,CORBA::Environment
&IT_env=CORBA::IT_chooseDefaultEnv());
…
}
然后如下实现成员函数:
//在文件Machine_i.cpp中
#include"Machine_i.h"
Machine_i::Machine_i()
{ …
m_machStatus=2;//机床停止
}
char*Machine_i::ncProcID(CORBA::Environment&)
{
returnm_ncProcID;
}
CORBA::Short Machine_i::machStatus(CORBA::Environment&)
{
returnm_machStatus;
}
void Machine_i::machStartFile(const char*ncProcID,CORBA::Environment &)
{
if(((CNewDNCApp*)AfxGetApp())->m_automatic)
{
m_ncProcID=ncProcID;
m_machStartFlag=true;
}
}
成员函数或的一些值以响应从客户端程序的操作调用。为创建一个实现对象,只要在服务器程序中创建一个实现类的实例。例如在服务器朱函数中创建一个Machine_i的实例。当服务器初始化一个Orbix对象时,每个服务器对象都必须调用Orbix函数以实现初始化并从客户端得到操作调用。
一个完整地服务器程序主函数main()如下:
#include"Machine_i.h"
#include<iostream.h>
intmain(){
Machine_i myMachine;
CORBA::Orbix.impl_is_ready(
"Machine",0L);
return;
};
然后编写获得Orbix对象的客户端程序。首先要确定一个CORBA对象的饮用,当客户端地址空间有对象引用,Orbix创建一个代理服务对象充当远程实现对象的代理。Orbix在代理服务对象上对执行对象所对应的函数提出调用。在Orbix中,活的对象引用的作简单的方法是使用绑定机制。绑定到“Machine”对象的客户端编程如下:
#include"Machine.hh"
#include<iostream.h>
int main(int argc,char**argv){
Machine_var gVar;
…
gVar=Machine::_bind(":Machine",fms);
…
}
为获得对象的属性和操作方法,可以通过代理服务对象返回函数Machine::_bind()的值一调用适当的成员函数。代理可通过网络直接将函数的调用值给执行对象的合适的成员函数。
3、技术效果
(1)本发明基于CORBA的柔性制造系统模型的建立能控制系统协调全部车间层的各项活动,可满足实时、分布和对象之间的协同等分布式网络化制造系统的技术要求。本软件实现的方法可实现可扩充、可重配、可适应的系统控制要求。代表分布式对象技术的CORBA规范,是解决无锡职业技术学院产教结合型FMS问题的一个有效的途径。
(2)本发明基于CORBA的柔性制造系统模型的建立说明了如何利用CORBA来实现控制系统各单元间的通讯,基于CORBA的客户/服务器接口通讯方式及通过CORBA对象的静态调用实现。
(3)基于CORBA技术规范来开发面向对象的分布式控制系统将大大缩短程序开发的周期,并降低程序的难度。无锡职业技术学院产教结合型FMS的开发基于CORBA平台,使分布在不同计算机上的模块能互相通讯,达到了分布式控制的目的。
四、附图说明
图1是本发明基于CORBA的柔性制造系统模型的建立的在“控制器”类和“物理”类之间的继承关系示意图。其中有控制器(1)、机床(2)、AGV小车(3)、机械手(4)及缓冲区(5)。
图2是本发明基于CORBA的柔性制造系统模型的建立的“基于CORBA的递阶分布式FMS控制结构”示意图。其中有车间控制器(1)、单元控制器器(2)、底层设备控制器(3)、工装管理(4)、订单管理(5)、FMS通用数据库(6)、计划调度(7)、派送及监控(8)、通用加工物理对象(9)、专用物理对象(10)、通用加工物理对象(11)、专用物理对象(12)、通用加工物理对象(13)、专用物理对象(14)、CNC(15)、加工中心(16)、AGV(17)、机械手(18)、缓冲站(19)及装卸站(20)。
五、具体实施方案
本发明使用IONA公司的产品Orbix2.3C。在服务器和客户端程序开发后,按照以下步骤实施:
(1)要在VC++工程中设置加入库文件itgi.lib,工程选项中加入“ORBIX DLL”/D,preprocessor definitions中加入ORBIX DLL,这样才能保证编译通过。
(2)引用对象前,服务器端要检测是否初始化成功,客户端要先绑定到CORBA服务上,以免产生异常错误。
(3)状态标志要在构造函数中初始化。
(4)状态标志在客户端是只读的。
(5)服务器端应该申请一个CORBA服务,这通过工具Orbix Server Manager来实现。
(6)运行中,要开启Orbix Daemon。
(7)两通讯模块之间需要局域网相连。
Claims (5)
1、本发明基于CORBA的柔性制造系统模型的建立是分析和构建基于CORBA的面向对象的递阶分布式控制系统进而在软件中实现模型的控制方法。它包含面向对象的FMS模型建立、基于CORBA的面向对象FMS的建模、本模型IDL定义及CORBA实现的方法等方面。
2、根据权利要求1所述的基于CORBA的柔性制造系统模型建立中的面向对象的FMS模型,其特征在于:它由物理类、数据库类及控制器类等组成。
3、根据权利要求1所述的基于CORBA的面向对象FMS的建模,其特征在于:它是一个由三个层次控制器组成的集成模型:车间控制器、单元控制器及设备控制器,在同一层次的每个功能模块通过CORBA与其它模块通讯,这就加强了系统的稳定性。
4、根据权利要求1所述的本模型IDL定义,其特征在于:以AGV小车和机床为例给出了各物理对象的IDL接口定义。
5、根据权利要求1所述的CORBA实现的方法,其特征在于:在客户端开发程序建立通讯的两端(单元控制器),一端作为服务器端(机床控制),一端作为客户端(调度控制模块)。服务器端开发步骤:定义类的接口;建立实现类的一个实例;使实现类的对象访问客户端并能处理从客户端到这些对象的操作。从客户端开发步骤:得到类的一个引用;获得在对象IDL接口中定义的属性和方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008100190941A CN101477357A (zh) | 2008-01-04 | 2008-01-04 | 基于corba的柔性制造系统模型的建立 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008100190941A CN101477357A (zh) | 2008-01-04 | 2008-01-04 | 基于corba的柔性制造系统模型的建立 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101477357A true CN101477357A (zh) | 2009-07-08 |
Family
ID=40838085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008100190941A Pending CN101477357A (zh) | 2008-01-04 | 2008-01-04 | 基于corba的柔性制造系统模型的建立 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101477357A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102968523A (zh) * | 2012-11-02 | 2013-03-13 | 浙江工业大学 | 基于元胞机的造船企业分段车间空间调度模型的建模方法 |
CN103324173A (zh) * | 2013-06-08 | 2013-09-25 | 上海交通大学 | 基于中间件的多异构机器人协作方法 |
CN103771106A (zh) * | 2014-02-21 | 2014-05-07 | 无锡职业技术学院 | 一种车间级物料输送小车控制系统及操控方法 |
CN106293619A (zh) * | 2016-08-16 | 2017-01-04 | 苏州朋泰智能科技有限公司 | 一种用于mes系统的设备控制装置 |
CN106292584A (zh) * | 2016-08-16 | 2017-01-04 | 苏州朋泰智能科技有限公司 | 一种基于模块化的控制单元的柔性制造系统 |
CN106325242A (zh) * | 2016-08-16 | 2017-01-11 | 苏州朋泰智能科技有限公司 | 一种基于模块化的控制单元的mes系统 |
CN111625227A (zh) * | 2020-06-08 | 2020-09-04 | 成都信息工程大学 | 一种兼容多种数据库的系统设计方法 |
-
2008
- 2008-01-04 CN CNA2008100190941A patent/CN101477357A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102968523A (zh) * | 2012-11-02 | 2013-03-13 | 浙江工业大学 | 基于元胞机的造船企业分段车间空间调度模型的建模方法 |
CN102968523B (zh) * | 2012-11-02 | 2015-05-27 | 浙江工业大学 | 基于元胞机的造船企业分段车间空间调度模型的建模方法 |
CN103324173A (zh) * | 2013-06-08 | 2013-09-25 | 上海交通大学 | 基于中间件的多异构机器人协作方法 |
CN103324173B (zh) * | 2013-06-08 | 2015-10-28 | 上海交通大学 | 基于中间件的多异构机器人协作方法 |
CN103771106A (zh) * | 2014-02-21 | 2014-05-07 | 无锡职业技术学院 | 一种车间级物料输送小车控制系统及操控方法 |
CN103771106B (zh) * | 2014-02-21 | 2016-01-20 | 无锡职业技术学院 | 一种车间级物料输送小车控制系统及操控方法 |
CN106293619A (zh) * | 2016-08-16 | 2017-01-04 | 苏州朋泰智能科技有限公司 | 一种用于mes系统的设备控制装置 |
CN106292584A (zh) * | 2016-08-16 | 2017-01-04 | 苏州朋泰智能科技有限公司 | 一种基于模块化的控制单元的柔性制造系统 |
CN106325242A (zh) * | 2016-08-16 | 2017-01-11 | 苏州朋泰智能科技有限公司 | 一种基于模块化的控制单元的mes系统 |
CN106325242B (zh) * | 2016-08-16 | 2019-09-24 | 苏州朋泰智能科技有限公司 | 一种基于模块化的控制单元的mes系统 |
CN111625227A (zh) * | 2020-06-08 | 2020-09-04 | 成都信息工程大学 | 一种兼容多种数据库的系统设计方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lins et al. | In-process machine vision monitoring of tool wear for Cyber-Physical Production Systems | |
CN101477357A (zh) | 基于corba的柔性制造系统模型的建立 | |
CN101539772A (zh) | 产品生命周期管理方法及设备 | |
Borgia et al. | STEP-NC compliant approach for setup planning problem on multiple fixture pallets | |
Zhang et al. | Holonic control at the production and controller levels | |
Adlemo et al. | Towards a truly flexible manufacturing system | |
Caesar et al. | Digital twin framework for reconfiguration management | |
Ou-Yang et al. | Developing a computer shop floor control model for a CIM system—using object modeling technique | |
Badr | Agent-based dynamic scheduling for flexible manufacturing systems | |
Illmer et al. | Petri net controlled virtual commissioning–a virtual design-loop approach | |
Lee et al. | Process planning interface for a shop floor control architecture for computer-integrated manufacturing | |
Nof | Critiquing the potential of object orientation in manufacturing | |
Cheung et al. | HSCF: a holonic shop floor control framework for flexible manufacturing systems | |
Nunziatini et al. | Data-driven simulation for production balancing and optimization: a case study in the fashion luxury industry | |
Wijayah et al. | Reconfigurable factory-wide resource-based system integration for control | |
Kjellberg et al. | Design of a manufacturing resource information system | |
Babiceanu | Holonic-based control system for automated material handling systems | |
Bitsch et al. | Open semantic modeling for smart production systems | |
Acaccia et al. | Pilot CIM implementation for lean engineering experimentation | |
Narayanan et al. | Modeling control decisions in manufacturing systems simulation using objects | |
Sperandio et al. | Production system life-cycle modeling for control assessment | |
Schuh et al. | Real-time capable Production Planning and Control in the Order Management of builtto-order Companies | |
Shaw | The design of a distributed knowledge-based system for the intelligent manufacturing information system (artificial intelligence, planning, operations management) | |
Liu et al. | Establishment of the model for flexible manufacturing system based on CORBA and IDEF 0 | |
EP4160388A1 (en) | Method and system for the default of a suitable architecture model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090708 |