CN113516344A - 基于Modelica的交换器并行生产车间离散系统模型库构建方法 - Google Patents
基于Modelica的交换器并行生产车间离散系统模型库构建方法 Download PDFInfo
- Publication number
- CN113516344A CN113516344A CN202110370229.4A CN202110370229A CN113516344A CN 113516344 A CN113516344 A CN 113516344A CN 202110370229 A CN202110370229 A CN 202110370229A CN 113516344 A CN113516344 A CN 113516344A
- Authority
- CN
- China
- Prior art keywords
- module
- state
- resource
- workpieces
- priority
- 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.)
- Granted
Links
- 238000004519 manufacturing process Methods 0.000 title claims abstract description 79
- 238000010276 construction Methods 0.000 title claims abstract description 14
- 238000012545 processing Methods 0.000 claims description 20
- 238000004364 calculation method Methods 0.000 claims description 16
- 238000004458 analytical method Methods 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 3
- 238000000034 method Methods 0.000 abstract description 33
- 230000006870 function Effects 0.000 abstract description 8
- 230000015572 biosynthetic process Effects 0.000 description 13
- 238000004088 simulation Methods 0.000 description 13
- 238000003786 synthesis reaction Methods 0.000 description 13
- 230000000903 blocking effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000003860 storage Methods 0.000 description 5
- 238000012827 research and development Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000010438 heat treatment Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000003754 machining Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007596 consolidation process Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41885—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- 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
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种基于Modelica的交换器并行生产车间离散系统模型库构建方法,冷热交换器并行生产生成车间包括,资源调度系统,具体包括资源池、资源获取和资源归还模块,存储系统,包括队列模块,加工系统,包括合并模块和延时模块,搬运系统,包括AGV和传送带搬运模块和送料系统,包括送料模块和终止模块。车间还包括实体,工具,接口和函数等。本申请首先对车间进行了拆分,划分出基本的模块,采用软件Modelica进行建模,再对每个模型进行仿真,采用状态机分析每个模型的状态。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种基于Modelica的交换器并行生产车间离散系统模型库构建方法。
背景技术
在“中国制造2025”战略的指引下,我国制造业持续快速发展,供给侧改革的逐渐推行,制造企业对于生产力水平提出了更高的要求。当前,生产车间的研发周期比较长,仿真模型的难度比较大,还没有一套合适的仿真系统来对生产车间进行仿真。
发明内容
本申请的主要目的在于提供一种基于Modelica的交换器并行生产车间离散系统模型库构建方法,以解决上述问题。
为了实现上述目的,根据本申请的一个方面,提供了一种基于 Modelica的交换器并行生产车间离散系统模型库构建方法,包括:
确定生产车间的基本生产模块;
采用软件Modelica对每个基本生产模块建模;
将每个基本生产模块的Modelica模型进行组合得到生产车间的模型。
在一种实施方式中,采用状态机理论对所述每个基本生产模块进行状态分析,确定每个基本生产模块的状态变化;
所述基本生产模块包括:队列模块、加工模块、合并模块、资源抓取模块、资源释放模块、资源池模块。
在一种实施方式中,队列模块的状态包括状态:空闲、输入、输出、负载和满载;
采用状态机理论对所述每个基本生产模块进行状态分析,包括:
如果所述队列中已储存工件数量为0,则所述队列模块进入空闲状态;
如果所述队列中已储存工件数量小于数量阈值时,所述队列模块进入输入状态。
在一种实施方式中,采用状态机理论对所述每个基本生产模块进行状态分析,还包括:
判断所述队列模块中的工件数量是否达到预定阈值,如果否,则继续加入新的工件;如果是,则所述队列模块进入负载状态或满载状态。
在一种实施方式中,判断输入的任意两组相邻的工件中,每个工件的类型是否相同;如果是,则判断两组工件的数量的和是否达到预定阈值;如果是,则将两组工件合并为一个工件。
在一种实施方式中,采用状态机理论对所述资源抓取模块进行状态分析,包括:
统计队列中的工件数量;如果所述工件数量达到预定阈值,则发出资源申请信号;获得资源后,按照优先级为每个工件分配资源;
当有新的工件进入队列时,资源抓取模块从空闲态转换到输入状态;
按照所述新的工件的优先级将所述新的工件放入等待队列中对应的位置;
统计新加入的工件的数量是否达到预定的阈值;如果是,则向资源池模块申请资源。
在一种实施方式中,采用状态机理论对所述资源抓取模块进行状态分析,包括:
如果与资源池模块相连的任一接口存在资源请求信号,所述资源池模块进入资源请求态;记录每一次接口的资源请求信息,更新储存的接口信息,进入资源等待状态;
如果资源请求数大于零且所述资源池模块当前拥有的资源数均大于零时,资源池模块进入输出状态;
根据储存的每个接口信息计算每个接口的优先级;
按照所述每个接口的优先级输出资源。
在一种实施方式中,采用以下公式计算当前每个接口的优先级;
priorityi=param1×leveli+param2×maxwaitTimei+param3×callNumi;
其中,priorityi为第i个接口的优先级;
param1为第一类接口信息在优先级计算中的常量参数;
param2为第二类接口信息在优先级计算中的常量参数;
param3为第三类接口信息在优先级计算中的常量参数;
leveli为第i个接口的优先级参数;
maxwaitTimei为第i个接口当前待处理呼叫最大等待时间;
callNumi为第i个接口的待处理资源呼叫次数。
为克服现有技术中的不足,本发明旨在提出一种基于Modelica模型的冷热交换器并行生产车间离散系统模型库构建方法。该方法是基于同一平台的建模方法,能够实现并行生产车间全生产线的无缝集成,可以有效降低构建生产车间仿真模型的难度和复杂度,增加模型的重用性和可扩展性,缩短生产车间的研发周期和降低成本。
为实现上述目的,本发明的基于Modelica模型的冷热交换器并行生产车间离散系统模型库构建方法通过以下技术方案实现:一种基于 Modelica语言的主动波浪补偿起重机系统的建模方法,主要包括以下三个部分:
第一部分,系统分解:将生产物流系统进行分解,为构建层次化的、可重用的、可扩展的模型库架构做准备,所述模型库架构包括资源调度系统、存储系统、加工系统、搬运系统和送料系统。所述的层次化,及模型库结构要设计合理、层次清晰、逻辑清楚。所述的可重用,即模型库中的模型基于单机的物理机构建立,直接或仅通过修改参数便可用于构建不同的系统模型。所述的可扩展,包含两层含义:一是模型库中的单机模型支持二次开发,可直接对其进行模型细化和完善;二是模型库结构可扩展,在模型库搭建完成之后需要添加新的模型时,可直接在模型库结构中添加而不需要重新设计模型库结构。
第二部分,模型库构建:所述模型库架构确定后,基于Modelica语言按照模型的物理原理对单机模型进行开发和测试,最终形成生产车间虚拟样机模型库,发过程中考虑单机模型的重用性和可扩展性。
第三部分,系统模型构建:所述模型库构建完成后,根据不同车间的生产线对搬运、送料、资源调度等系统的需求,利用构建的模型库快速搭建系统模型,不同单机模型之间通过连接器连接。与现有技术相比,本发明具有以下有益效果:1、基于Modelica语言开发。能够使开发的模型库层次清楚、模型可重用,可扩展,极大地提高建模效率,针对不同信号需求能够快速有效地进行建模与仿真验证;2、基于同一平台开发,能够实现离散、连续系统的无缝集成,实现系统的强耦合;3、该方法与常规方法相比,操作简单、能够大大缩短研发周期、降低研发成本。
本发明上述的技术方案,降低成本构建生产车间仿真模型的难度和复杂度,增加模型的重用性和可扩展性。有效降低生产成本、缩短生产周期、改善生产节拍、提升企业生产效率。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种生产车间的拆分示意图;
图2是根据本申请实施例的一种队列模块的状态图;
图3是根据本申请实施例的一种队列排列方法的流程图;
图4是根据本申请实施例的一种加工模块的状态示意图;
图5是根据本申请实施例的一种加工模块的软件仿真图;
图6是根据本申请实施例的一种工件加工方法的流程图;
图7是根据本申请实施例的一种合并模块的状态图;
图8是根据本申请实施例的一种合并模块的软件仿真图;
图9是根据本申请实施例的一种工件合并的方法流程图;
图10是根据本申请实施例的一种资源池模块的状态图;
图11是根据本申请实施例的一种资源抓取方法的流程图;
图12是根据本申请实施例的一种资源释放模块的状态图;
图13是根据本申请实施例的一种资源池模块的状态图;
图14是根据本申请实施例的一种资源池模块进行资源调度的方法流程图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
生产车间在设计之初,需要大量数据进行仿真验证,保证生产线处于设计成本之内,且达到预计产能要求;实现该目的需要软件仿真来完成对产能的预估,在实际建造生产线之前发现问题,避免产生重大损失,节约成本。而完成生产线的仿真,需要工作人员拥有较高的开发水平和专业知识。该专利实现该功能的具体原理为:通过Modelica语言,借助MWorks平台,开发出一套简单易用的仿真工具,用于交换器生产车间的各类专业仿真模拟,大大加强专业性和易用性。
一种基于Modelica的交换器并行生产车间离散系统模型库构建方法,包括:确定生产车间的基本生产模块;采用软件Modelica对每个基本生产模块建模;将每个基本生产模块的Modelica模型进行组合得到生产车间的模型。
首先将系统进行碎片化分解,逐级拆分出最小生产模块,根据状态机理论分析每个最小生产模块的生产逻辑,包括生产状态、生产参数、生产状态转换条件、与其他模块的对接;随后,由于确定本专利是基于对象的建模方式,可以确定工件为生产对象,所有模块的加工都是在对工件对象进行改造,确定每个模块对工件的修改方式和度量;构造所有生产模块后,建立多个单机模型,用于对所有生产模块进行功能测试和后续功能升级;最终,建造总机模型,输入所有参数,验证模型仿真成果,并根据仿真成果,对模块进行修改、测试、验证,直到模型满足要求。
具体的,采用状态机理论对所述每个基本生产模块进行状态分析,确定每个基本生产模块的状态变化;所述基本生产模块包括:队列模块、加工模块、合并模块、资源抓取模块、资源释放模块、资源池模块。
下面基于功能原理介绍部分仿真组件模型的实现过程:
1.Queue队列模块
队列模块,在模型中可作为每个加工模块前的工件等待缓冲区。
作用:储存等待输送至下一个模块的工件,且可以根据设定的优先级计算公式,在队列中根据优先级大小排列待输送工件的先后顺序;设定优先级数值越小排列位置越靠前,越先被输出至下一个模块(如,工件1优先级数值计算结果为15,工件2为20,则工件1的优先级高于工件2,排列位置靠前)。当两个工件优先级相等时,按照进入队列的先后顺序,先进入队列的工件优先级高于后进入的工件。
参数:
(1)maxbufferSize队列储存工件数量上限
(2)priority队列优先级计算公式
该模块主要存在五种状态:空闲(idle)、输出(output)、存储(input)、负载(loading)和满载(fullLoad),如图2所示。
当有阶跃信号输入且当前队列已储存工件数量(bufferNum)小于队列储存工件数量上限(maxbufferSize)的时候,该模块进入input状态,首先计算该工件在该队列中的优先级大小,并将其与当前队列内所有的工件从最靠前的位置挨个比较,若当前位置存在工件且该工件优先级大于等于当前比较位置的优先级,则继续与下一个位置的工件进行比较;反之,则已经找到该工件在当前队列内的优先位置,将当前比较位置及之后所有的工件向后移动一个位置,并把工件放入该位置,算法停止并根据bufferNum是否达到maxbufferSize上限判断进入loading或fullLoad态。
参见附图3所示的算法流程图,该方法包括:
步骤S301,工件输入;
步骤S302,计算工件优先级;
步骤S303,判断循环是否结束;
步骤S304,比较位置前进一位;如果否,则执行S305;如果是,则执行 S307;
步骤S305,当前位置是否为空;如果是,则执行S307,如果否,则执行 S306;
步骤S306,判断当前位置优先级是否大于该工件优先级;如果是,则执行S307;如果否,则执行S304;
步骤S307,纪录当前比较位置,结束循环;
步骤S308,当前队列存储工件数量加一;
步骤S309,更新队列数据;
步骤S310,队列历史最大存储工件数量加1。
loading与fullLoad态该两者状态算法大致相同,不同在于fullLoad无法与input相互转换,且会向前输出阻塞信号同时拒绝新的工件继续输入;work 状态下,会持续地接受后续模块传递来的工件与input进行相互转换;直到后续模块不阻塞队列内工件数量大于0,则进入output状态开始输出,输出队列排名第一位的工件,更新队列。若bufferNum为0进入idle状态,反之进入 loading状态。
2.Work加工模块
加工模块,在模型中工件进入该模块加工设定的时间。
作用:工件进入该模块,加工设定的时间后退出。
参数:
(1)maxBufferSize该工位最大可同时加工工件数量
(2)delayTime每个工件加工时间
该模块主要存在五种状态:空闲(idle)、输入(input)、输出(output)、加工(work)和满载(fullLoad),参见附图4与图5所示。
输入阶跃信号输入或当前队列已储存工件数量(bufferNum)大于0时,该模块进入加工状态,该模块处于加工态下会持续地接受后续模块传递来的工件,储存进加工队列中,同时进行加工;此状态下,Work模块会根据当前正在加工的工件数量是否大于该工位最大可同时加工工件数量,来判断是否向前输出阻塞信号同时拒绝新的工件继续输入,直到有工件输出,当前正在加工的工件数量小于该工位最大可同时加工工件数量为止;
参见附图6所示的一种算法的流程图。该方法包括:
步骤S601,是否有新工件进入;如果是,则执行步骤S602;
步骤S602,计算该工件的输出时间;
步骤S603,根据该工件的输出时间寻找该工件在队列中的位置;
步骤S604,更新队列数据;
步骤S605,当前加工工件数量是否大于最大可同时加工工件数量;如果是,则执行步骤S606;如果否,则返回步骤S601;
步骤S606,向前方模块发送阻塞信号,并拒绝后续工件进入;
步骤S607,当前加工工件数量是否大于零;如果是,则执行步骤S608;
步骤S608,当前时间是否到达队列最靠前位置加工工件的输出时间;如果是,则执行步骤S609;
步骤S609,判断后方模块是否阻塞;如果否,则执行步骤S610;
步骤S610,判断正在加工工件数量是否为0;如果否,则执行步骤S611;如果是,则执行步骤S612;
步骤S611,进入输出态;
步骤S612,进入空闲态。
当满足以下三个条件:(1)未收到后方模块的阻塞信号;(2)当前正在加工的工件数量大于0;(3)当前时间大于工件加工队列的第一位输出时间;模块便可由加工态进入输出态,将队列中最靠前的工件输出到下一个模块,随后快速进入空闲状态。
3.Combine工件合并模块
合并模块,在模型中将两组指定类型、数量的工件合并为一个新的工件输出。
作用:当输入的两组工件类型正确,数量达标,经过设定的时间将两组工件合并为一个新的工件输出。
参数:(1)combineTime 合成所需时间
(2)id 合成新工件的类型id
(3)requireWorkerNum_1 合成所需工件1的数量
(4)requireWorkerNum_2 合成所需工件2的数量
(5)id_1 合成所需工件1的种类
(6)id_2 合成所需工件2的种类
该模块主要存在五种状态:空闲(idle)、输入(input)、合并(combine)、等待(waiting)和输出(output),如图7与图8所示。
Combine模块存在两个输入接口,其中一个输入接口收到输入阶跃信号 Combine模块从空闲态转入输入态;输入态会记录每个输入接口已经接收到的工件数量,记录完成后进入waiting态,判断某个接口接收的工件数量是否达到合成所需工件数量,达到会向该接口前方的模块发送阻塞信号,同时拒绝该接口后续工件进入。
参见附图9所示的一种工件合并的方法流程图,该方法包括:
步骤S901,判断是否有新的工件进入;如果是,则执行步骤S902,如果否,则返回;
步骤S902,该接口对应的工件数加1;
步骤S903,该接口已记录工件数量是否等于该接口合成所需工件数量;如果是,则执行步骤S904,如果否,则执行步骤S901;
步骤S904,向前方与该接口相连的模块发送阻塞信号。
当每个接口的合成所需工件数量都满足要求,且Combine模块后方模块没有发生阻塞的情况,Combine直接进入合成态,经给设定的合成时间后,输出新的工件。在此期间,Combine模块依然拒绝前方任一接口输入工件,并向前输出阻塞信号,直到合成时间结束,工件输出为止。
4.Seize资源抓取模块
资源抓取模块,在模型中申请为工件申请所需资源。
作用:为输入的工件申请所需资源,并内置工件等待队列,每到达一定数量的工件便可以发出一次资源申请信号。当资源到达时,可以通过设置优先级计算方式,分别计算出队列中工件优先级,根据优先级赋予申请到的资源。优先级设置与Queue模块相同:设定优先级数值越小排列位置越靠前,越先获取资源。当两个工件优先级相等时,按照进入模块的先后顺序,先进入模块的工件优先级高于后进入的工件。
当资源到达模块,首先判断当前队列中的工件数量是否达到了启动下限,若未达到则继续等待;满足要求后,开始为该资源匹配工件,直到匹配工件数达到单个资源可匹配的工件数上限,或者队列中的工件全部匹配完毕,开始输出资源到下一个模块;
参数:(1)callCapacity 工件申请间隔数
(2)maxLoadCapacity 单个资源可匹配的工件数上限
(3)allowCapacity 资源匹配工件启动数
(4)maxPartBufferSize 工件等待队列数量上限
(5)maxCarBufferSize 资源等待队列数量上限
(6)resourceTypeID 申请资源类型
(7)waitTime 装载时间
(8)priority 工件队列优先级计算公式
该模块主要存在六种状态:空闲(idle)、工件输入(partInput)、资源输入(resourceInput)、等待(waiting)、满载(fullLoad)和输出(output),如图10所示。
Seize模块内置双队列,工件队列与资源队列;当有工件阶跃信号传入时, Seize模块其从idle态转换到partInput态,操作与Queue模块相似,首先根据设定的公式计算该工件优先级,找到在队列中对应的位置,将输入工件放入工件等待队列。同时,由于设定为每输入callCapacity个工件才申请一次资源,因此需要判断当前是否已经完成了一个循环,若工件等待数量与工件申请间隔数之余为零,即已达到一个循环,则向与Seize模块相连的ResourcePool模块申请资源,算法如图11所示。之后根据当前等待工件数量(bufferNum)与等待工件数量上限判断进入fullLoad或waiting态。
参见附图11所示的资源抓取方法的流程图。该方法包括:
步骤S1101,判断工件数量是否达到上限;如果是,则执行步骤S1108;如果否,则执行步骤S1102;
步骤S1102,判断是否有新工件进入;如果是,则执行步骤S1103;
步骤S1103,计算该工件优先级数值;
步骤S1104,根据优先级计算工件在队列中的位置;
步骤S1105,更新数据;
步骤S1106,判断是否满足申请资源条件;如果是,则执行步骤S1107,如果否,则执行步骤S1102;
步骤S1107,向资源池申请资源;
步骤S1108,向前输出阻塞信号;
步骤S1109,等待工件输出。
当资源到达时进入resourceInput态,更新模块中等待的资源数;Seize模块进入output态需要满足三个条件:当前工件数目达到允许出发工件数量下限、后方模块未阻塞和资源数大于零。转换到output态后,Seize模块开始为资源匹配优先级最高的工件,直到资源可承受工件数的最大值或工件等待队列中的工件被清空,更新数据,经给设定装载时间(waitTime)后退出。
5.Release资源释放模块
资源释放模块,在模型中释放与工件绑定的资源。
模块内置一个先进先出的的等待队列,将输入的资源存储于队列中,再根据进入顺序将队列中的工件与资源分离,释放资源,输出工件。在该模块中,为了使得资源释放和工件输入可以同时进行,使用了双状态机来实现。两个状态机分别不断循环,检测输入、输出。
参数:(1)waitTime 工件卸载时间
(2)maxBufferSize 等待卸载队列数量上限
状态机1存在两种状态:空闲(idle)、释放(releaseState);状态机2存在两种状态:空闲(idle)、记录(recordState),如图12所示。
Release模块内置状态机1算法较为简单,与Seize模块记录态相似,缺少了优先级计算。状态机2,通过循环检测等待释放资源数和后方阻塞状况,满足条件后转入释放态,释放资源,输出工件。
6.ResourcePool资源池模块
资源池模块,用于调度和管理资源。在该模块中,为了使得资源释放和工件输入可以同时进行,使用了双状态机来实现。两个状态机分别不断循环,检测输入、输出。
(1)seizeNum 与资源池相连的Seize模块数量;
(2)maxResourceNum 资源池初始拥有的全部资源数;
(3)typeID 资源池拥有的资源种类;
(4)schedulingStrategy 调度策略:1-先到先出模式;2-优先级模式;
(5)levelBuffer[seizeNum] 与资源池相连的Seize模块对应的优先级参数数组(若调度策略选1则该选项失效);
(6)parameters[] 优先级计算公式各参数常量参数(若调度策略选1则该选项失效)。
该模块主要存在四种状态:空闲(idle)、记录(record)、派遣(dispatch),等待(waitResource),如图13所示。
ResourcePool模块内置SeizeInfos数组,储存每个相连的Seize接口信息,包括:该Seize接口上一次未响应请求的到达时间点(lastCallTime)、该Seize 接口当前未响应次数(needResponseNum)、该Seize接口的重要程度(数字越大越重要)(level)。其中该Seize接口的重要程度(level)由参数levelBuffer在模块初始化时赋予;当与ResourcePool模块相连的任一Seize接口存在资源请求信号,ResourcePool模块就进入resourceRequire态,该状态下模块会记录每一次 Seize接口的资源请求信息,更新SeizeInfo数组对应位置储存的接口信息,随后进入resourceWaiting态。
资源请求数大于零且资源池当前拥有的资源数均大于零时,进入output态。模块会根据SeizeInfos数组储存的各种信息,计算出当前每个Seize接口的优先级。计算优先级过程中,首先对SeizeInfos数组储存的各类信息去量纲,做数据归一化处理,使用公式2-1进行处理。
式中:xki为SeizeInfos数组第i个Seize接口的第k类数据信息。
yki为xki归一化处理后的数据。
在一些实施例中,数据归一化之后,采用以下公式计算当前每个接口的优先级:
priorityi=param1×leveli+param2×maxwaitTimei+param3×callNumi;
其中,priorityi为第i个接口的优先级;
param1为第一类接口信息在优先级计算中的常量参数;
param2为第二类接口信息在优先级计算中的常量参数;
param3为第三类接口信息在优先级计算中的常量参数;
leveli为第i个接口的优先级参数;
maxwaitTimei为第i个接口当前待处理呼叫最大等待时间;
callNumi为第i个接口的待处理资源呼叫次数。
参见附图14所示的资源池模块进行资源调度的方法流程图;方法包括:
步骤S1401,判断是否有新的资源请求;
步骤S1402,纪录该请求接口当次请求时间;
步骤S1403,该请求接口的请求次数+1;
步骤S1404,判断当前资源数量是否为零;如果否,则执行步骤S1405,如果是,则执行步骤S1406;
步骤S1405,预处理所有接口数据,统一量纲;
步骤S1406,判断是否有新的资源返回;如果是,则执行步骤S1407;
步骤S1407,当前资源池内资源数量加一;
步骤S1408,当前是否存在尚未响应请求;如果是,则执行步骤S1405,如果否,则返回执行步骤S1401。
步骤S1409,遍历所有接口,确定优先级最大的请求;
步骤S1410,判断当前接口是否有尚未响应请求;
步骤S1414,计算该接口的优先级数值;
步骤S1412,判断当前位置接口优先级数值是否大于最大优先级数值;
步骤S1413,更新最大优先级数值和接口位置;
步骤S1414,判断遍历是否结束;如果否,则执行步骤S1405;如果是,则执行步骤S1416;
步骤S1415,接口位置加一;
步骤S1416,向纪录的最大优先级数值接口输出资源。
可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。处理器读取存储介质中的信息,结合其硬件完成上述方法的步骤。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件与软件组合来实现。当应用软件时,可以将相应功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围。
Claims (8)
1.一种基于Modelica的交换器并行生产车间离散系统模型库构建方法,其特征在于,包括:
确定生产车间的基本生产模块;
采用软件Modelica对每个基本生产模块建模得到Modelica模型;
将每个基本生产模块的Modelica模型进行组合得到生产车间的模型。
2.如权利要求1所述的基于Modelica的交换器并行生产车间离散系统模型库构建方法,其特征在于,采用状态机理论对所述每个基本生产模块进行状态分析,确定每个基本生产模块的状态变化;
所述基本生产模块包括:队列模块、加工模块、合并模块、资源抓取模块、资源释放模块、资源池模块。
3.如权利要求2所述的基于Modelica的交换器并行生产车间离散系统模型库构建方法,其特征在于,队列模块的状态包括状态:空闲、输入、输出、负载和满载;
采用状态机理论对所述每个基本生产模块进行状态分析,包括:
如果所述队列中已储存工件数量为0,则所述队列模块进入空闲状态;
如果所述队列中已储存工件数量小于数量阈值时,所述队列模块进入输入状态。
4.如权利要求3所述的基于Modelica的交换器并行生产车间离散系统模型库构建方法,其特征在于,采用状态机理论对所述每个基本生产模块进行状态分析,还包括:
判断所述队列模块中的工件数量是否达到预定阈值,如果否,则继续加入新的工件;如果是,则所述队列模块进入负载状态或满载状态。
5.如权利要求1所述的基于Modelica的交换器并行生产车间离散系统模型库构建方法,其特征在于,判断输入的任意两组相邻的工件中,每个工件的类型是否相同;如果是,则判断两组工件的数量的和是否达到预定阈值;如果是,则将两组工件合并为一个工件。
6.如权利要求2所述的基于Modelica的交换器并行生产车间离散系统模型库构建方法,其特征在于,采用状态机理论对所述资源抓取模块进行状态分析,包括:
统计队列中的工件数量;如果所述工件数量达到预定阈值,则发出资源申请信号;获得资源后,按照优先级为每个工件分配资源;
当有新的工件进入队列时,资源抓取模块从空闲态转换到输入状态;
按照所述新的工件的优先级将所述新的工件放入等待队列中对应的位置;
统计新加入的工件的数量是否达到预定的阈值;如果是,则向资源池模块申请资源。
7.如权利要求2所述的基于Modelica的交换器并行生产车间离散系统模型库构建方法,其特征在于,采用状态机理论对所述资源抓取模块进行状态分析,包括:
如果与资源池模块相连的任一接口存在资源请求信号,所述资源池模块进入资源请求态;记录每一次接口的资源请求信息,更新储存的接口信息,进入资源等待状态;
如果资源请求数大于零且所述资源池模块当前拥有的资源数均大于零时,资源池模块进入输出状态;
根据储存的每个接口信息计算每个接口的优先级;
按照所述每个接口的优先级输出资源。
8.如权利要求7所述的基于Modelica的交换器并行生产车间离散系统模型库构建方法,其特征在于,采用以下公式计算当前每个接口的优先级;
priorityi=param1×leveli+param2×maxwaitTimei+param3×callNumi;
其中,priorityi为第i个接口的优先级;
param1为第一类接口信息在优先级计算中的常量参数;
param2为第二类接口信息在优先级计算中的常量参数;
param3为第三类接口信息在优先级计算中的常量参数;
leveli为第i个接口的优先级参数;
maxwaitTimei为第i个接口当前待处理呼叫最大等待时间;
callNumi为第i个接口的待处理资源呼叫次数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110370229.4A CN113516344B (zh) | 2021-04-07 | 2021-04-07 | 基于Modelica的交换器并行生产车间离散系统模型库构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110370229.4A CN113516344B (zh) | 2021-04-07 | 2021-04-07 | 基于Modelica的交换器并行生产车间离散系统模型库构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113516344A true CN113516344A (zh) | 2021-10-19 |
CN113516344B CN113516344B (zh) | 2022-06-07 |
Family
ID=78062324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110370229.4A Active CN113516344B (zh) | 2021-04-07 | 2021-04-07 | 基于Modelica的交换器并行生产车间离散系统模型库构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113516344B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114974480A (zh) * | 2022-08-01 | 2022-08-30 | 浙江大学 | 基于Modelica精馏塔模型的模型设计参数计算方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011257803A (ja) * | 2010-06-04 | 2011-12-22 | Sharp Corp | 生産管理システムおよび生産管理方法 |
CN106506670A (zh) * | 2016-11-21 | 2017-03-15 | 北京永信至诚科技股份有限公司 | 一种云平台虚拟资源高速调度方法与系统 |
CN108279591A (zh) * | 2017-12-20 | 2018-07-13 | 北京控制工程研究所 | 一种仿真平台数字量通用输出方法 |
CN110619470A (zh) * | 2019-09-19 | 2019-12-27 | 成都飞机工业(集团)有限责任公司 | 一种装配生产线仿真模型及其构建方法 |
-
2021
- 2021-04-07 CN CN202110370229.4A patent/CN113516344B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011257803A (ja) * | 2010-06-04 | 2011-12-22 | Sharp Corp | 生産管理システムおよび生産管理方法 |
CN106506670A (zh) * | 2016-11-21 | 2017-03-15 | 北京永信至诚科技股份有限公司 | 一种云平台虚拟资源高速调度方法与系统 |
CN108279591A (zh) * | 2017-12-20 | 2018-07-13 | 北京控制工程研究所 | 一种仿真平台数字量通用输出方法 |
CN110619470A (zh) * | 2019-09-19 | 2019-12-27 | 成都飞机工业(集团)有限责任公司 | 一种装配生产线仿真模型及其构建方法 |
Non-Patent Citations (4)
Title |
---|
张洪昌,陈立平等: "基于Modelica 的半物理仿真硬件接口控制技术", 《计算机辅助工程》, 31 October 2015 (2015-10-31) * |
郑成军等: "离散型制造车间作业计划的虚拟可视化仿真研究", 《机械管理开发》, no. 03, 15 June 2012 (2012-06-15) * |
阎洪波等: "虚拟制造技术及其在制造业中的应用", 《宁波职业技术学院学报》, no. 02, 25 April 2006 (2006-04-25) * |
陈立平,丁建完等: "Media Modeling for Distillation process with Modelica MWorks", 《PROCEEDINGS 8TH MODELICA CONFERENCE,》, 31 March 2011 (2011-03-31) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114974480A (zh) * | 2022-08-01 | 2022-08-30 | 浙江大学 | 基于Modelica精馏塔模型的模型设计参数计算方法及装置 |
CN114974480B (zh) * | 2022-08-01 | 2022-10-11 | 浙江大学 | 基于Modelica精馏塔模型的模型设计参数计算方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113516344B (zh) | 2022-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109375601B (zh) | 基于数据驱动建模与仿真优化的流水线规划方法及设备 | |
CN110458280B (zh) | 一种适用于移动端的卷积神经网络加速方法及系统 | |
CN113516344B (zh) | 基于Modelica的交换器并行生产车间离散系统模型库构建方法 | |
CN105263128B (zh) | 一种批量发送短信的方法和装置 | |
CN109345200A (zh) | 基于大批量报告单的自动审核方法及装置、计算机可读存储介质 | |
CN101673343A (zh) | 在dsp+fpga架构中提高信号实时模式识别处理速度的系统及方法 | |
CN111754073A (zh) | 空间数据业务的集中式处理与分布式作业框架构建方法 | |
CN111784469A (zh) | 一种订单分播复核方法、装置、设备及存储介质 | |
CN109746405A (zh) | 铸坯辊道自动控制方法、装置、终端设备及存储介质 | |
CN101986603A (zh) | 一种基于数据驱动的工作流动态流程构建方法和系统 | |
CN109308217A (zh) | 一种时效任务的数据存储方法及装置 | |
CN109543217B (zh) | 串行等效的fpga并行布局方法 | |
CN107491298A (zh) | 一种按钮对象自动扫描方法及系统 | |
CN117611029A (zh) | 一种仓储物流系统的进程式仿真方法及系统 | |
CN111985634A (zh) | 神经网络的运算方法、装置、计算机设备及存储介质 | |
CN115130911A (zh) | 机器人执行失败的配送任务的处理方法及装置 | |
Lustman | A formal approach to scenario integration | |
CN110401718A (zh) | 基于空间众包的任务分配方法、装置、服务器及存储介质 | |
CN101625708A (zh) | 可视化结构分析系统 | |
CN101840494B (zh) | 一种条码边界判断装置 | |
CN115550642B (zh) | 仿真平台的多媒体链路调试方法、系统、设备及介质 | |
CN116263748A (zh) | 获取计算端算子数据及精度验证的方法及其设备 | |
CN111906781B (zh) | 基于图神经网络的机器人自主工具构建方法、系统及相关设备 | |
CN108062220A (zh) | 一种快速构建信息系统软件的构架 | |
CN201859453U (zh) | 一种支持图像并行处理的条码解码装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |