面向FMS生产调度和控制的零件动态工艺模型研究
面向FMS生产调度和控制的零件动态工艺模型研究*
注意:本文已经在《中国机械工程》(1998,9(9):36~38)杂志发表
使用者请注明文章内容出处 赵天奇邓建春童国帆李培根段正澄 摘要:提出一种基于FMS生产调度与控制的零件动态工艺模型。该模型由零件加工工序和各个工序之间的约束关系描述两部分组成,去掉了传统人为的加工顺序约束,易于与生产调度控制系统集成,能充分发挥FMS生产调度柔性的特点,为FMS优化生产调度的实现提供一条较好的途径。
关键词FMS生产调度CAPP动态工艺模型
中国图书资料分类法分类号TH165 笔者根据FMS生产调度的特点,在现有零件模型的基础上提出零件的动态工艺模型。
1零件工艺模型的常用表达方法
通常的CAPP系统只能设计出静态的或只具有部分柔性的理想化的工艺规程。
1.1固定加工顺序的工艺文件方式
通常生产调度中使用的零件工艺文件格式为
零件名;
零件号;
工序1,机床名加工时间;
工序2,机床名加工时间;
……
工序n,机床名 加工时间;
END
该方法的优点是表达方式简单明了,缺点是限制了加工的自由度及柔性,使得加工只能严格按给定的工艺顺序进行,从而限制了柔性加工系统最优指标的实现。该方法对单机加工或JOB—SHOP生产较合适。
1.2多工艺方案与/或图的表示方法[1,2]
图1为一个实例零件的与/或图。用与/或图
图1实例零件的加工顺序与/或图 可以表示出零件加工顺序的部分约束关系。通过对该图按一定的启发式搜索算法进行搜索可得到多个可行的加工工艺路线。
该方法在一定程度上增加了CAPP的柔性,并考虑到了静态生产环境,但是没有考虑实际的动态生产情况,因而还很难在FMS生产系统中应用。
1.3有向图表示方法
有向图可以表示零件的加工工艺顺序。图2为一实例。通过对有向图的遍历可得到多个工艺方案。
图2实例零件工序结构的有向图表示 该方法直观地表达了零件加工工序及工序之间的约束关系,可用图论的方法进行描述与变换,但对FMS可替代加工工序无法表达,须对多个加工工艺方案进行复杂的评价才有可能得到可行的加工方案。
2基于FMS的零件动态工艺模型
为了适应FMS生产柔性的特点,零件工艺描述必须既能反映零件的所有加工特征,又能反映出加工工序之间的约束关系,同时还能表示出加工工序的可替代性。所谓可替代加工工序是指某一工序可以由不同的机床加工完成,一旦确定好加工机床,则可完成该工序加工的其它候补工序即取消。
为了增加零件工艺表达的灵活性,减少人为的对工艺加工顺序的约束,笔者以现有零件工艺模型为基础,提出了一种更灵活的表示方法。
零件动态工艺模型仍用有向图表示(见图3),图中节点表示零件的一个加工工序或一系列的可替代加工工序,该工序与加工机床及对应的加工参数相联系(如加工时间、刀具号、NC文件名等);有向弧表示零件工序的加工顺序约束关系。任何从头节点(Head)到尾节点(End)的遍历路径都是一个有效的加工工艺路线。
图3实例零件的动态工艺模型 假设该有向图有n条遍历路线(工艺方案),第i道工序有ki种加工方案(即有ki-1个可替代加工工序),共有m个节点(不计Head和End节点),则零件可能有的加工方案数为。
常用的CAPP系统产生的工艺方案较大地限制了零件工艺表达的柔性。较好的情况是仅考虑了部分生产调度的静态因素,而且一定要产生完整的和确定的加工工艺路线(一般要通过对多工艺方案进行评价后得到),这使得CAPP系统过于复杂。这里提出的零件动态工艺模型却是仅提供零件的工序、可替代工序及工序加工顺序之间的约束关系,至于实际生产中具体选择什么样的加工顺序、每道工序中选择哪一个可替代工序则完全由实际生产中的资源状态、零件本身的加工情况以及用户的具体要求进行选择,零件的具体加工工艺路线不需要事先确定,直到零件加工好后才知道,并且相同类型的零件可能有不同的工艺路线,零件的具体加工工艺是在实际加工中根据系统的状态及加工性能指标动态重组而成。
这样的零件描述相对传统的Job-Shop生产而言似乎是不完备的,但却为现代化的柔性生产提供了更大的调度空间。该方法不仅大大减少了CAPP的工作量及难度,显著提高了实际生产调度控制中的灵活性,而且不会提高调度控制的难度,从而为FMS生产性能(如系统生产率、总加工时间、机床负荷平衡率等)的提高创造了条件。
3零件动态工艺模型的计算机表示方法及数据结构
3.1零件工艺参数描述
该部分描述了零件的所有工序参数,以文件形式表示,其结构为
零件名;
零件号;
工序1,工序11 工序12 … 工序1k1;
工序2,工序21 工序22 … 工序2k2;
……
工序n,工序n1 工序n2 … 工序nkn;
END
工序i表示第i道工序的信息节点;工序ij表示工序i的所有可完成该工序加工的工序节点序列。上述文件表示零件共有n道加工工序,其中工序1有k1种实现方法,工序2有k2种实现方法,……工序n有kn种实现方法。
工序信息节点及可替代工序节点的数据结构(C++语言表示)为
class ProcedureInfo∥工序信息节点类
{ public:
ProcedureInfo():∥构造函数
ProcedureInfo(int,float,ProcedureInfo* AlternativeProc 《面向FMS生产调度和控制的零件动态工艺模型研究》
本文链接地址:http://www.oyaya.net/fanwen/view/174174.html
使用者请注明文章内容出处 赵天奇邓建春童国帆李培根段正澄 摘要:提出一种基于FMS生产调度与控制的零件动态工艺模型。该模型由零件加工工序和各个工序之间的约束关系描述两部分组成,去掉了传统人为的加工顺序约束,易于与生产调度控制系统集成,能充分发挥FMS生产调度柔性的特点,为FMS优化生产调度的实现提供一条较好的途径。
关键词FMS生产调度CAPP动态工艺模型
中国图书资料分类法分类号TH165 笔者根据FMS生产调度的特点,在现有零件模型的基础上提出零件的动态工艺模型。
1零件工艺模型的常用表达方法
通常的CAPP系统只能设计出静态的或只具有部分柔性的理想化的工艺规程。
1.1固定加工顺序的工艺文件方式
通常生产调度中使用的零件工艺文件格式为
零件名;
零件号;
工序1,机床名加工时间;
工序2,机床名加工时间;
……
工序n,机床名 加工时间;
END
该方法的优点是表达方式简单明了,缺点是限制了加工的自由度及柔性,使得加工只能严格按给定的工艺顺序进行,从而限制了柔性加工系统最优指标的实现。该方法对单机加工或JOB—SHOP生产较合适。
1.2多工艺方案与/或图的表示方法[1,2]
图1为一个实例零件的与/或图。用与/或图
图1实例零件的加工顺序与/或图 可以表示出零件加工顺序的部分约束关系。通过对该图按一定的启发式搜索算法进行搜索可得到多个可行的加工工艺路线。
该方法在一定程度上增加了CAPP的柔性,并考虑到了静态生产环境,但是没有考虑实际的动态生产情况,因而还很难在FMS生产系统中应用。
1.3有向图表示方法
有向图可以表示零件的加工工艺顺序。图2为一实例。通过对有向图的遍历可得到多个工艺方案。
图2实例零件工序结构的有向图表示 该方法直观地表达了零件加工工序及工序之间的约束关系,可用图论的方法进行描述与变换,但对FMS可替代加工工序无法表达,须对多个加工工艺方案进行复杂的评价才有可能得到可行的加工方案。
2基于FMS的零件动态工艺模型
为了适应FMS生产柔性的特点,零件工艺描述必须既能反映零件的所有加工特征,又能反映出加工工序之间的约束关系,同时还能表示出加工工序的可替代性。所谓可替代加工工序是指某一工序可以由不同的机床加工完成,一旦确定好加工机床,则可完成该工序加工的其它候补工序即取消。
为了增加零件工艺表达的灵活性,减少人为的对工艺加工顺序的约束,笔者以现有零件工艺模型为基础,提出了一种更灵活的表示方法。
零件动态工艺模型仍用有向图表示(见图3),图中节点表示零件的一个加工工序或一系列的可替代加工工序,该工序与加工机床及对应的加工参数相联系(如加工时间、刀具号、NC文件名等);有向弧表示零件工序的加工顺序约束关系。任何从头节点(Head)到尾节点(End)的遍历路径都是一个有效的加工工艺路线。
图3实例零件的动态工艺模型 假设该有向图有n条遍历路线(工艺方案),第i道工序有ki种加工方案(即有ki-1个可替代加工工序),共有m个节点(不计Head和End节点),则零件可能有的加工方案数为。
常用的CAPP系统产生的工艺方案较大地限制了零件工艺表达的柔性。较好的情况是仅考虑了部分生产调度的静态因素,而且一定要产生完整的和确定的加工工艺路线(一般要通过对多工艺方案进行评价后得到),这使得CAPP系统过于复杂。这里提出的零件动态工艺模型却是仅提供零件的工序、可替代工序及工序加工顺序之间的约束关系,至于实际生产中具体选择什么样的加工顺序、每道工序中选择哪一个可替代工序则完全由实际生产中的资源状态、零件本身的加工情况以及用户的具体要求进行选择,零件的具体加工工艺路线不需要事先确定,直到零件加工好后才知道,并且相同类型的零件可能有不同的工艺路线,零件的具体加工工艺是在实际加工中根据系统的状态及加工性能指标动态重组而成。
这样的零件描述相对传统的Job-Shop生产而言似乎是不完备的,但却为现代化的柔性生产提供了更大的调度空间。该方法不仅大大减少了CAPP的工作量及难度,显著提高了实际生产调度控制中的灵活性,而且不会提高调度控制的难度,从而为FMS生产性能(如系统生产率、总加工时间、机床负荷平衡率等)的提高创造了条件。
3零件动态工艺模型的计算机表示方法及数据结构
3.1零件工艺参数描述
该部分描述了零件的所有工序参数,以文件形式表示,其结构为
零件名;
零件号;
工序1,工序11 工序12 … 工序1k1;
工序2,工序21 工序22 … 工序2k2;
……
工序n,工序n1 工序n2 … 工序nkn;
END
工序i表示第i道工序的信息节点;工序ij表示工序i的所有可完成该工序加工的工序节点序列。上述文件表示零件共有n道加工工序,其中工序1有k1种实现方法,工序2有k2种实现方法,……工序n有kn种实现方法。
工序信息节点及可替代工序节点的数据结构(C++语言表示)为
class ProcedureInfo∥工序信息节点类
{ public:
ProcedureInfo():∥构造函数
ProcedureInfo(int,float,ProcedureInfo* AlternativeProc 《面向FMS生产调度和控制的零件动态工艺模型研究》