精华内容
下载资源
问答
  • 数字化制造系统参数化建模及仿真

    千次阅读 2020-07-19 20:53:33
    文章目录数字化制造系统参数化建模及仿真引言1 面向对象的着色Petri网建模1.1系统对象建模1.2系统对象子网建模1.3系统对象子网的集成2参数化建模系统实现2.1物理结构参数化2.2控制逻辑参数化2.2.1控制策略2.2.1交互...

    获取更多资讯,赶快关注公众号(名称:智能制造与智能调度,公众号:deeprlscheduler)吧!

    数字化制造系统参数化建模及仿真

    摘 要:为快速建立数字化制造系统的可配置仿真模型,建立了系统面向对象的着色Petri网抽象模型,指出了模型中的竞争和冲突以及对象间的信息传递机制,并提出“映射”思想,将抽象的Petri网模型转化为具体的EM-Plant模型,开发了一套图形化、层次化的数字化制造系统参数化建模系统,用于解决单行式车间布局的物理和逻辑建模问题。该系统通过人机交互的参数输入界面,可以容易地实现系统布局、策略选择、性能分析和仿真实验。最后以某中航企业的加工单元为例,分析了不同因素对系统性能的影响,建立了输出与输入之间的响应面方程,得到了系统的最佳配置方案,验证了该参数化建模系统的实用性、有效性和通用性。

    关 键 词:数字化制造系统;面向对象Petri网;EM-Plant;参数化建模;仿真

    引言

    数字化制造系统是数字化技术与制造技术的融合,它以制造过程的知识融合为基础、以数字化建模仿真与优化为特征,在虚拟现实、计算机网络、快速模型、数据库等技术支撑下,根据用户的需求,对产品信息、工艺信息和资源信息进行分析、规划和重组,进而快速生产出达到性能要求的产品的整个制造过程[1, 2]。数字化制造系统是一个涉及到多种过程、多种行为和多种对象的复杂系统, 具有离散性、混沌性、随机性和多层次性等特点[3],是典型的离散事件动态系统,仅仅依靠数学模型难以描述复杂的数字化制造全生命周期[4],因此有必要进行建模与仿真分析。

    在建立生产制造系统的仿真模型时,应该把传统的着重于描述离散事件系统动态行为的建模方法和着重于模型的可扩充和可重用性的面向对象[5, 6]方法结合起来,通过对象特征、对象行为和对象间的相互关系来描述系统功能、结构、信息和控制等方面的特征,实现生产制造系统中的物流、信息流和控制策略的分离,面向对象的着色Petri网(OOCPN)[7, 8]将是进行离散制造系统建模的有力工具,OOCPN在建模方法上采用了面向对象技术,保证了所建模型的本质性;在实现各对象子网时采用Petri[9, 10]网技术,保证了各对象的严谨性。把系统分割成若干个对象集,各对象之间一般是通过控制门变迁来实现信息传递,因此OOCPN通过托肯(赋予不同颜色集)、库所和变迁以及控制门清晰地描述了对象特征、对象行为和对象间的信息传递。

    但在实际应用中,OOCPN所建立的逻辑模型并不能很直观地指导生产现场的运行、调度和控制,也无法清晰地看出系统的物理布局、物流类型、控制策略等,因此有必要在此基础上开发一套直观、图形化和人机交互的建模系统,通过分析托肯属性、库所和变迁含义、对象间的信息传递机制等,建立与EM-Plant模型中物理结构参数、控制逻辑参数、仿真实验参数的映射关系,实现根据不同配置快速地建立数字化制造系统仿真模型[11-13]。

    1 面向对象的着色Petri网建模

    着色Petri网[14]可定义为一个六元组:CPN=(P,T,C,I,O,M0),其中P是库所集,T是变迁集,C={C1,C2,…… }是颜色集,I、O分别表示输入、输出函数,M0是初始标识。因此相比较于普通Petri网,着色Petri网加入了颜色集的概念,通过对库所着色,可限定库所中标识所能取得的颜色的范围,而对标识着色则可区分标识从而表现不同的资源、信息、状态等,所以颜色集相当于类型,而标识的颜色相当于变量的取值,这样便可通过颜色因素将具有相同性质或相似行为的元素归并到同一库所或变迁中,从而简化模型。

    但着色Petri网并没有改变Petri网建模“面向过程”的本质,为充分利用着色Petri网和面向对象建模的优势,将建立面向对象的着色Petri网模型。

    1.1系统对象建模

    基于数字化制造系统的制造环境,以类为分析单位,对系统的输入、资源、运行、输出分析等进行统一描述,可以将系统层仿真类分成四大类,即物理类、信息/控制类、服务类、组织类,如图1所示。

    图1 系统对象模型框架

    1)物理类:描述了系统中的物理资源信息。以机床为例,可以抽象出描述机床的两大属性:静态属性和动态属性。静态属性包括机床的管理特征(标识、名称、类型、尺寸、位置等)、加工特征(加工能力、装卸时间、故障率等);动态属性则根据对象的状态发生变化,如运行、等待、负荷等。因此,在对这类对象进行建模时,要在模型属性中体现这些特征;

    2)信息/控制类:为逻辑对象类,在系统中没有有形实体与之对应,其主要功能是读入系统参数,选择控制策略,从而进行动态调度;

    3)服务类:以图表的形式表达仿真结果;

    4)组织类:对系统进行层次划分,包括工厂、车间、生产线和单元。

    1.2系统对象子网建模

    以机床为研究对象,建立了如图2所示的机床对象子网Petri网模型。

    图2 机床Petri网模型

    其中colset Machine=product ID ∗ * Name ∗ * Type ∗ * State ∗ * Part ∗ * Xpos ∗ * Ypos ∗ * FailureRate ∗ * SetupTime ∗ * ProcessTime ∗ * Utilization;颜色集Machine分别定义了机床ID、名称、类型、状态、当前加工零件、位置坐标、故障率、准备时间、加工时间、利用率。

    图中状态库所含义如下:

    PM1:入缓冲有空位;PM2:入缓冲预定位;PM4:机床空闲;PM5:机床被占用;PM6:机床工作中;PM7:机床故障状态;PM8:出缓冲有空位;PM10:机床阻塞状态。

    图中队列库所及规则库所含义如下:

    PM3:入缓冲队列;PM9:出缓冲队列;Rule1:机床选择工件策略;Rule2:机床故障调度策略。

    图中消息库所含义如下:

    PI8:预约反馈消息;PI9:预约请求消息;PI10:工件运达消息;PI11:拉动运输消息;PI12:加载工件消息;PI13:加工结束消息;PI14:工件运走消息。

    图中变迁含义如下:

    TM1:预定机床入缓冲;TM2:工件运至入缓冲;TM3:加载工件到机床;TM4:机床开始加工;TM5:机床发生故障;TM6:机床故障调度;TM7:机床结束加工;TM8:释放出缓冲。

    1.3系统对象子网的集成

    对象子网集成思想是:将各相对独立的对象个体或者对象群组按照作用关系联结起来,集成的主要任务是要解决各对象间状态同步以及通信问题。本研究中重点关注工件、机床、运输设备、托盘缓冲站和装卸站之间的相互关系,按照这些关系将各对象子网逐个连接起来,形成完整的系统Petri网模型,如图3所示。各对象间的关系和对象间的通信控制是通过控制门及与控制门连接的有向弧实现,控制门控制着对象间的通信及消息发送和接收。

    图3 系统Petri网模型

    2参数化建模系统实现

    EM-Plant主要用于离散时间动态系统的仿真,其优势在于系统的集成性有利于生产线的研究和开发,图形化的建模、仿真环境和清晰的层次化模型结构,有利于建模工作[15, 16],EM-Plant本身也是面向对象建模,已经建立了基本对象的模型库并定义了相关属性,因此将Petri网的逻辑建模与EM-Plant的可视化建模相结合,可快速的实现数字化制造系统的参数化建模,包括物理结构参数化、控制逻辑参数化、仿真实验参数化

    2.1物理结构参数化

    系统的物理结构包括系统组成、机床布局类型及物流运输方式,通过将物理结构参数化,可快速实现物理重新配置。

    系统组成是指系统内的有形实体对象,即分别建立了对象子网的工件、机床、运输设备、装卸站和托盘缓冲站,在EM-Plant中与之关联的对象见表1。各对象的数量和缓冲站的容量均可根据相关库所中的托肯数量手动设置。

    表1 Petri网的基本元素与EM-Plant对象的关联

    Petri网对象子网EM-Plant对象
    运输设备Transporter
    机床SingleProc
    装卸站Frame
    托盘缓冲站PlaceBuffer
    工件Part

    常见的机床布局类型为直线型U型环型,根据参考机床的位置、选择的布局类型以及机床间的位置关系可生成机床的位置,如图4所示。定义界面如图5所示。

    (a)直线型

    (b)U型

    (c)环型

    图4 机床布局类型

    图5 设备参数定义界面

    物流运输方式对Petri网模型中运输设备的具体形式进行了详细定义,包括工件和刀具运输设备的运输方式,按照运输方式的不同,可分为运输式传送式机械手式,不同运输方式及定义参数见表2。

    表2 不同运输方式及定义参数

    不同方式运输设备类型定义参数
    运输式RGV、AGV、EMS控制点坐标、轨道长度、弧坐标
    传送式辊式传输、传送带控制点坐标、轨道长度、弧坐标
    机械手式机械手、刀具机械人转动角度、转动时间

    图6中展示了机械手的定义界面。

    图6 机械手定义界面

    2.2控制逻辑参数化

    2.2.1控制策略

    当系统内出现竞争或冲突时,就需要进行人工干预,选择相应的策略进行控制,如机床按照某一规则从等待队列中选择合适的工件进行加工,运输设备从任务列表选择执行合适的任务等。在图3中库所Rule1~Rule7分别表示各对象所使用的策略,见表3。通过定义不同的方法实现不同策略的选择,如图7所示。

    表3 控制策略

    图7  策略选择界面

    2.2.1交互式任务优先级

    优先级往往是根据多个因素计算出的综合重要性,在诸多策略中也常使用优先级进行控制。但优先级所需要考虑的因素及各因素权重会因调度人员的经验和车间现场的情况而有所不同,因此通过对因素个数、因素权重和隶属函数进行参数化,可实现交互式的优先级设置,如图8所示。

    图8 任务优先级定义界面

    根据对任务分配时需要考虑的因素分析得出,影响任务优先级的因素主要有:任务松弛率剩余完工时间剩余工序数目系统内逗留时间,任务优先级可下式计算得出:
    P r i o r i t y = ∑ i m W i ∗ f i ( a i ) (1) Priority = \sum\limits_i^m {{W_i}*} fi({a_i})\tag{1} Priority=imWifi(ai)(1)

    式中, m m m为考虑因素个数; W i W_i Wi为第 i i i个因素的权重; f i ( u i ) fi(u_i) fi(ui)为第 i i i个因素值为 u i u_i ui时的隶属函数值。

    最大、最小优先隶属函数:最大优先是指因素值越大优先级越高,最小优先是指因素值越小优先级越高,两者的隶属函数及对应的图形如下:
    f i ( u i ) max ⁡ = { 0 , u i ≤ a u i − a b − a , a < u i < b 1 , u i ≥ b (2) f i\left(u_{i}\right) \max =\left\{\begin{array}{cc} 0, & u_{i} \leq a \\ \frac{u_{i}-a}{b-a}, & \mathrm{a}<u_{i}<b \\ 1, & u_{i} \geq b \end{array}\right.\tag{2} fi(ui)max=0,bauia,1,uiaa<ui<buib(2)

    f ( u i ) min ⁡ = { 1 , u i ≤ a b − u i b − a , a < u i < b 0 , u i ≥ b (3) f\left(u_{i}\right) \min =\left\{\begin{array}{cc} 1, & u_{i} \leq a \\ \frac{b-u_{i}}{b-a}, & \mathrm{a}<u_{i}<b \\ 0, & u_{i} \geq b \end{array}\right.\tag{3} f(ui)min=1,babui,0,uiaa<ui<buib(3)

    (a)最大优先

    (b)最小优先

    图9 隶属函数

    2.3仿真实验参数化

    对仿真实验所需的基础数据(输入)、性能指标(输出)和实验管理器进行参数化,以根据不同的实验条件获得高置信度的实验结果,如图10所示。

    图10 仿真实验参数化界面

    基础数据为系统的输入数据,主要包括日历数据、零件数据、刀具数据、订单数据和工艺数据等。

    性能指标反映系统输出,例如加工设备和运输设备的利用率、缓冲区队列长度、在制品统计、拖期、制造期、等待时间等。

    实验管理器通过设置不同的随机数、实验次数、置信度等参数,对仿真结果进行统计分析。

    3仿真实例

    以某中航企业的制造单元为例,利用数字化制造系统参数化建模系统对其进行建模,分析在不同系统配置下的性能指标,通过多因子多水平实验,建立输出与输入之间的响应面方程,预测最佳的系统配置方案。

    3.1实例模型

    根据单元布置图纸,基于建立的数字化制造参数化建模系统,通过人机交互的方式确定各参数,建立如图11所示的EM-Plant模型,已知4台加工机床,机床出入缓冲容量均为1,运输设备为RGV,速度为0.81.2m/s,加速度为0.30.5m/s2,工件离线检验,并假设所需刀具已经在各机床刀库中准备就绪。

    图11 EM-Plant仿真模型

    3.2多因子多水平实验

    实验中以工件进入系统策略、运输设备选择任务策略、运输设备选择缓冲站策略和运输速度为自变量,分析在不同水平下系统的性能指标,如表4,包括平均机床利用率、平均制造期、平均等待时间和最大完成时间,得到各指标与各因子的响应面方程。

    表4 多因子多水平实验

    通过对实验结果进行方差和拟合分析,得到最适合的拟合阶次和相应响应面方程,结果如下:
    机床平均利用率响应面方程(基于编码)及曲面图形:
    O 1 = 88.92 − 0.21 ∗ A − 5.635 E − 003 ∗ B + 0.031 ∗ C + 0.055 ∗ D (4) O1=88.92-0.21*A-5.635E-003*B\\+0.031*C+0.055*D \tag{4} O1=88.920.21A5.635E003B+0.031C+0.055D(4)

    图12 机床平均利用率响应面(B=4,C=3)

    平均制造周期响应面方程(基于编码)及曲面图形:
    O 2 = 10.03 − 0.010 ∗ A − 2.524 E − 004 ∗ B + 2.125 E − 003 ∗ C − 0.040 ∗ D − 1.787 E + 4.544 E − 003 ∗ A ∗ B − 0.029 ∗ A ∗ C + 0.031 ∗ A ∗ D − 5.003 E − 2.215 E − 003 ∗ B ∗ C + 8.112 E − 004 ∗ B ∗ D + 4.881 E − 0.012 ∗ C ∗ D − 8.387 E − 8.362 E (5) O2=10.03-0.010*A-2.524E-004*B\\ +2.125E-003*C-0.040*D-1.787E+4.544E\\-003*A*B-0.029*A*C+0.031*A*D-5.003E\\-2.215E-003*B*C+8.112E-004*B*D\\+4.881E-0.012*C*D-8.387E-8.362E \tag{5} O2=10.030.010A2.524E004B+2.125E003C0.040D1.787E+4.544E003AB0.029AC+0.031AD5.003E2.215E003BC+8.112E004BD+4.881E0.012CD8.387E8.362E(5)

    图13 平均制造周期响应面(B=4,C=3)

    平均等待时间响应面方程(基于编码)及曲面图形:
    O 3 = 3.50 − 0.029 ∗ A − 9.291 E − 004 ∗ B − 1.756 E − 003 ∗ C − 1.986 E − 003 ∗ D + 6.084 E − 2.491 E − 004 ∗ A ∗ B − 2.425 E − 003 ∗ A ∗ C − 8.054 E − 003 ∗ A ∗ D − 3.011 E − 5.205 E − 004 ∗ B ∗ C + 5.299 E − 006 ∗ B ∗ D + 1.013 E − 2.513 E − 003 ∗ C ∗ D − 2.396 E − 1.842 E (6) O3=3.50-0.029*A-9.291E-004*B-1.756E\\-003*C-1.986E-003*D+6.084E\\-2.491E-004*A*B-2.425E-003*A*C-8.054E\\-003*A*D-3.011E-5.205E-004*B*C\\+5.299E-006*B*D+1.013E-2.513E-003*C*D\\-2.396E-1.842E\tag{6} O3=3.500.029A9.291E004B1.756E003C1.986E003D+6.084E2.491E004AB2.425E003AC8.054E003AD3.011E5.205E004BC+5.299E006BD+1.013E2.513E003CD2.396E1.842E(6)

    图14 平均等待时间响应面(B=4,C=3)

    最大完成时间响应面方程(基于编码)及曲面图形:
    O 4 = 3.50 − 0.029 ∗ A − 9.291 E − 004 ∗ B − 1.756 E − 003 ∗ C − 1.986 E − 003 ∗ D + 6.084 E − 2.491 E − 004 ∗ A ∗ B − 2.425 E − 003 ∗ A ∗ C − 8.054 E − 003 ∗ A ∗ D − 5.205 E − 004 ∗ B ∗ C + 5.299 E − 006 ∗ B ∗ D − 0.00251 ∗ C ∗ D − 2.396 E − 1.842 E (7) O4=3.50-0.029*A-9.291E-004*B-1.756E\\-003*C-1.986E-003*D+6.084E-2.491E\\-004*A*B-2.425E-003*A*C-8.054E-003*A*D\\-5.205E-004*B*C+5.299E-006*B*D\\-0.00251*C*D-2.396E -1.842E \tag{7} O4=3.500.029A9.291E004B1.756E003C1.986E003D+6.084E2.491E004AB2.425E003AC8.054E003AD5.205E004BC+5.299E006BD0.00251CD2.396E1.842E(7)

    图15 最大完成时间响应面(B=4,C=3)

    3.3基于综合满意度的数值优化

    为使机床平均利用率尽可能高,平均制造期、平均等待时间和最大完成时间尽可能小,通过分配给各指标不同的重要性即权重,得到满足综合满意度的解,即输入水平。现分配给各指标相同的重要性+++(+越多代表重要程度越高),得到系统最优配置方案如表5:

    表5 系统最佳配置方案

    输入输入输入输入输出输出输出输出
    ABCD/m/sO1/%O2/hO3/hO4/h
    2231.288.869.953.46192.1

    4结论

    通过分析系统中各在面向对象的着色Petri网模型基础上,基于EM-Plant建立了一套图形化、层次化的参数化建模系统,通过人机交互界面可快速、方便地实现参数录入,不同控制策略的选择以及性能指标分析,快速建立不同的仿真模型。

    将该系统应用于某中航企业的制造单元,建立了4台机床为直线型布局的模型,通过分析工件进入系统策略、运输设备选择任务策略、运输设备选择缓冲站策略和运输速度对机床平均利用率、平均制造周期、工件平均等待时间和最大完成时间的影响,建立了输出与输入的响应面方程,可对系统输出进行预测,通过基于综合满意度的数值优化,得到了系统的最佳配置方案。

    参考文献 References

    [1] 张浩,樊留群,马玉敏.数字化工厂技术与应用[M].北京:机械工业出版社, 2006:1-9

    [2] 王红军.数字化制造系统布局与优化技术[M].北京:中国财富出版社,2012:1-11

    [3] 贾晨辉,任小中,李云峰.数字化制造系统规划与建模仿真研究[J]. 组合机床与自动化加工技术.2009(06):30-34

    [4] 朱剑英.现代制造系统模式、建模方法及关键技术的新发展[J].机械工程学报.2000,36(8):1-5

    [5] 博什.面向对象分析与设计[M].3版.北京:电子工业出版社,2012:124-132

    [6] 邢金桦,汤军社.基于着色Petri网和面向对象技术的FMS中物流系统建模与仿真[J].机械制造.2014(05): 41-44

    [7] Liu Y P,Fu J H,Feng H Y.A Survey on the Object-oriented Petri Net Modeling[C]. Applied Mechanics and Materials,2012, 121:4350-4356

    [8] Meng X. Modeling of Reconfigurable Manufacturing Systems Based on Colored Timed Object-oriented Petri Nets[J].Journal of Manufacturing Systems.2010,29(2):81-90

    [9] Jalilvand A,Khanmohammadi S,Shabaninia F.Petri Net-based Modeling and Simulation of a Hybrid Manufacturing System[C].2005, 382-387

    [10] Duan B.Petri Net for Modeling of Manufacturing System[J]. Aviation Precision Manufacturing Technology.2008:53-58

    [11] Caggiano A.Digital Factory Concept Implementation for Flexible and Reconfigurable Manufacturing Systems Modelling and Analysis[D]. Università degli Studi di Napoli Federico II,2010

    [12] Gregor M,Hromada J,Matuszek J.Digital Factory Supported by Simulation and Metamodelling[J]. Applied Computer Science. 2008,4: 63-74

    [13] Worn H,Frey D,Keitel J. Digital Factory-planning and Running Enterprises of the Future[C]. Industrial Electronics Society,2000. IECON 2000.26th Annual Confjerence of the IEEE,2000, 2:1286-1291

    [14] Jensen K,Kristensen L M. Coloured Petri Nets - Modelling and Validation of Concurrent Systems[M].Berlin:Springer:2009

    [15] 施於人,邓易元,蒋维.eM-Plant仿真技术教程[M].北京:科学出版社,2009:27-383

    [16] 周金平.生产系统仿真——Plant Simulation应用教程[M].北京:电子工业出版社,2011:305-327

    展开全文
  • Tribon参数化建模之__对型材端切的参数化建模解析   摘要:参数化建模是工业设计软件普遍使用的建模技术,通过参数化可以提高建模速度的同时提高模型的标准化。Tribon中也大量使用了参数化建模技术,一条上万零件...

     

    Tribon参数化建模之__对型材端切的参数化建模解析

     

    摘要:参数化建模是工业设计软件普遍使用的建模技术,通过参数化可以提高建模速度的同时提高模型的标准化。Tribon中也大量使用了参数化建模技术,一条上万零件有几百人参与的船舶设计,很好的做到了标准统一。型材端切是参数化建模的典型,从端切入手研究Tribon在参数建模方面的程序设计思路是一个不错的方式。

     

    关键词:Tribon,端切,参数化建模

     

    1.      概述

    当一个型材加工时,也就是对原材料进行切割,型材端部必须加工成合适的形状,型材端部的形状叫端切(endcut)。在三维模型的表示中,需要通过输入CUT参数对型材的端部进行控制。参数由用户输入,自动计算和初始化设置三部分组成。这篇文章将讲解如何通过研究Tribon的端切定义,来在外部CAD程序中重构一个筋模型。

    2.      Tribon端切标准,原理

    Tribon包含大量的内置端切标准,提供给用户,此标准被分成大量预定义的端切类型。一个端切类型对应于一个特定的几何形状。它的实际外形由设定在标准表中的参数控制。其它的由设计者给出或自动计算出。如,根据型材端部连接。一扁钢端切的典型例子被说明如下(Tribon标准端切类型11)

    2.1   端切类型

    端切类型是范围10~326的数字,可用端切被覆盖且出版在Tribon中的端切标准。在M3中用户无法增加端切类型,而AM的新版本已经能够提供自定义端切类型。如上例是端切类型11。

    2.2   端切代码

    端切代码是端切类型的实例,以一定的标准值的组合对于直接的端切参数。端切类型的端切代码必须为数字,并加上两个类型数而生成,如属于某一个端切类型的端切代码限为100,(然而,每个端切代码有大量事件由直接给出参数的标量,在上例中仅角度V).

    Tribon供给大量已定义的端切代码作为标准。例如,下表显示端切的一些端切代码属于端切类型11,每一代码以某种组合R1,R2,这些值可由用户更改。此标准化得代码参数设于端切表中,存在SB_OGDB相关联的数据库,由initHull维护。

    2.3   显示的端切参数

    相关直接给出的参数及其它的解释以单独至某一端切,它们总数目前限制为6,大多数三个是尺寸参数(长度)(由参数名识别A,B,C)并去除三个端切角(V1,V2,V3),V1为型材腹板的角度,V2和V3是型材面板上的角度。这些参数必须一定次序给出,对每个端切类型规定。角度参数总在参数清单的后面,也总为可选项,如果它们不给出将由Tribon自动计算,如型材端部连接,否则,它们缺省为90度,如用户直接分配一个角度将代替,自动计算的一个。用户给出参数一般不更改。如果上述端切类型11,角度V就是显示的端切参数。

    2.4端切建模的使用

    设计者通过给出的端切代码制定其想用的端切类型,下述为显示的参数,如板架生成端切在Type:11,可由写入选择。

    CUT=1112,80

    这将导致端切类型11,R1=R2=35,V=80,作为比较。

    CUT=1112

    将按照连接计算V值,如无连接V=90。

    2.5  端切标准的用户设定

    如上述,用户可以通过端切表修改内置的端切标准参数,假定任一端切的几何能由一限定的参数控制。如,清单中型材加工草图,这些参数的解释对每一端切类型是单独的,参数是A,B,C,R1,R2,V1,V2,V3,V4。A,B,C是长度,R1和R2是切角半径,V1,V2,V3,V4是端切角,根据端切类型,一些参数的无关的。这九个参数就是Tribon内部控制型材端切的。

    2.6  端切表的初始化

    用户由端切表控制端切,在SB_OGDB内由initHull创建并更新,端切表应分配至Tribon环境变量,SB_ECUT后可用于运行程序。

    可能有工程根据端切表,因为仅这些端切类型/代码能再目前用的端切表中使用,可能限制端切的使用,通过去除它们,如某一工程可仅用总端切标准的子集,也可能在工程间更改内置参数,如一个小船可要求较小的由切角半径相比大船,用户可加新的端切代码,只要数量规格遵守。

    输入文件创建端切表目前是在单记录类型的文件文本,一个标准输出文件包含,所有现存端切类型的例子在Tribon中有举例。

    输入由两个记录类型并以下述方法组织

    <record type 600>

    <record type 601>(1…)

    因此必须以一记录类型600开始,接以任意数的记录类型601

    记录类型600简单包含分至SB_ECUT的端切表名,它有下述格式:

    600 ‘<endcut table name>’

    每一记录类型601定义一行表,如下述布置

    601 <type><npar><par1><par2>…<par<npar>>

    这有两种记录类型,选择行和参数行

    2.6.1选择行

    在选择行<type>是端切类型(在10~326),这表示它们仅为一端切类型的选择行,参数被固定,必须是9,参数是选择代码,对每种结果参数,按上表次序如A,B,C,等,对无关参数选择代码参数可为-1。其中选择代码是内置代码,是对参数灵活控制的一种方式,这方面值得我们软件开发学习。选择代码的详细说明在下面会提到。

    注:实际上,选择行必须由Tribon公司设定,并不能由用户更改

    2.6.2参数行

    参数行规定了与某一端切代码相关的初始化参数,典型切角半径及固定角度,<type>为端切代码,因此每个参数代码必须有一参数行。

    当用户想要增加一个新的端切代码时,如一个端切类型的新例子,它可由新端切代码增加一个新的参数行,更方便的方法就是拷贝一个已存在的行,属于目前类型并更改相关参数。

    参数的数量可变化,目前最大数是4,一般最少3个参数被给出,不相关的参数被定义为-1,但也不是必须。此每一参数的解释由选择代码控制,选择代码在当前端切代码出现的端切类型的选择行。如参数定义一切角半径,但切角应被一个削斜角,削斜的尺寸由负值给出KS切角。

    2.7选择代码与端切参数

    在描述选择代码前,先把其中的一些参数进行说明

    a)、A,B,C,R1,R2,V1,V2,V3,V4是根据端切几何能被建立的参数,这9个参数是系统内置参数,是直接生成内置端切形状的控制参数。

    b)、Acut,bcut, ccut,ang1,ang2,ang3(有时ang1和ang3被ang4代替)为显示参数,是建模时设计员输入或者系统自动计算出来的参数,并且与船体模型一起存储。

    2.7.1选择代码

    选择代码(SC)最多4个整数(=XYZW)根据在选择行的位置,有效的结果几何参数,如果选择代码有几个数字组成,必须从右向左解释,又是以几步进行,参数应以A,B,C等次序评估,因为几个评估参数可在下述一个评估中,在正选择代码的缺少肩头的数字应解释为,如X=0,Y=0,Z=1,W=0对应于选择代码为10。

    对于选择代码为负的参数,相应的参数将设为0,否则,参数应进行如下初始化:

    A is set = acut,

    B is set = bcut,

    C is set = ccut

    然而,这些值可以根据选择代码改变,具体描述如下:

    选择码

    选择码值

    参数

    说明

    W

     

     

    W>0,那么从当前端切代码的值取为其参数行的W列值, W值记录列位置值

    Z

     

     

    如Z>0 那么从acut(bcut,ccut)取值,如果Z=1 (2,3)

    Y

    =1

    V1

    如果输入角度ang1>0,设V1= ang1,默认为90

     

    =2

    V2

    设V2由W显示的值,默认为90

     

     

     

     

    X

    =1

    B

    如果B=0分配的值由W显示

     

    =1

    C

    如果C=0,那么设置C=(aprof-bcut)/2

     

    =1

    R1

    设置R1=0,如果B=0

     

    =1

    V1

    设V1=0,如果B=0

     

    =2

    B

    如果bcut不等于0,那么设B=bcut,否则设置B=aprof并按W减去数值

     

    =5

     

     

     

    =9

    R2

    R2按用户具体规格计算

    规格看起来复杂,实际上非常复杂的例子很少,如上述,当新的端切类型实施时,带有选择代码的选择行必须由Tribon解决方案定义,一般不会有用户更改,一旦你知道给出的参数具有什么适当的几何,改变参数行的参数是相当方便的

    2.7.2 例子

    下述为端切22的选择行,接以端切代码2211为参数行,

     

    Type

     

    A

    B

    C

    R1

    R2

    V1

    V2

    V3

    V4

    601

    22

    9

    10

    1021

    -1

    1

    -1

    100

    202

    -1

    -1

    601

    2211

    2

    35

    30

     

     

     

     

     

     

     

    假设设计员建模时扶强材端部由下述输入:

    CUT=2211,150,50,80(*)  (* 一般自动计算)

    端切类型22的选择行所表示的参数选择解释如下:

    A(选择代码 = 10, i.e X=0, Y=0, Z=1, W=0),由于Z=1,设置A=acut(150)

    B(选择代码=1021),第一个设定B=bcut(=50).因B有一个值,忽视由W(和X)显示的值,如果bcut为0,那么B将被设置等于R1(=35)

    C=0 (选择代码=-1)

    R1(选择代码=1),将R1到参数值1 的参数行(=35)

    R2=0(选择代码=-1)

    V1(选择代码=100).因为Y=1,设V1=ang1(=80),由于X=0不进一步更改

    V2(选择代码=202),由于W=2,设置V2等于参数行(30)第二参数,因为V2<90 V2不受条件Y=2的影响

    V3=0(选择代码=-1)

    V4=0(选择代码=-1)

    3.      参数化端切的程序化

    上面写了那么多实际上市帮助文档里面的说明,只是为了更好的理解列举在此。这篇文章当然不是简单的工程初始化说明,而是要自己开发一下端切的建模程序。

    3.1 参数说明

    帮助文档中的概念很多,开发程序前需要把这些概念理顺。下面就对其中的一些概念进行简单的说明。

    a)、端切类型是Tribon系统固定在程序中的(Aveva Marine新版本可以自定义添加)。也就是说端切类型种类固定,在程序制作中每种类型需要编写一个处理方式。

    b)、端切代码是初始化定义的标准代码,端切代码所在初始化行叫参数行,里面所表示参数意义是通过初始化中的选择行选择代码决定的。由于选择行无法更改,实际上端切代码初始化参数的意义对于某一个端切类型是固定的。

    不过,这种参数化的程序设计方式,也是值得我们学习的。往后可以更加灵活的控制。

    c)、一个端切的几何描述需要把A,B,C,R1,R2,V1,V2,V3,V4这9个参数进行设置,参数包括用户输入参数和初始化参数。

    3.2CSG建模

       计算方式确定之后,就需要考虑如何把模型显示在计算机上面。计算机上面显示三维模型的方式很多,其中有一种叫CSG(Constructive Solid Geometry)建模法,也叫体素建模法。是CAD软件中比较产用的构件实体模型的方式。

           CSG建模法,一个物体被表示为一系列简单的基本物体(如立方体,圆柱体,圆锥体)的布尔操作的结果,数据结构为树状结构。树叶为基本体素或变换矩阵,节点为运算,最上面的节点对应着被建模的物体。

           CSG建模方法简洁,生成速度快,处理方便。而且能够详细地记录构成实体的原始特征参数,甚至在必要时可修改体素参数或者附加体素进行重新拼合。

           在Tribon型材建模中,型材可以考虑为CSG模型的父节点,两端的端切作为子节点。通过端切与型材进行逻辑上面的减运算,这样就可以生成一个包含具体端切类型的型材模型。这种拓扑减实际上吧端切模型作为一种负实体(Negative Geometry),这在PDMS软件中大量使用。从侧面说明我们的推测Tribon内部的建模方式还是合理的。

    3.3 例子

    在这里我们按照上面的思路编写了一个基于AutoCAD的插件程序。通过读取Tribon中的数据库,重新构建了一个筋模型的显示程序。

    下图为Tribon中的模型,

    下图为AutoCAD中显示的模型。

     

    4.      小结

    Tribon作为一款成熟的船舶三维设计软件,能够实现整船的三维建模,功能强大且用户自定义丰富,这是软件中大量使用参数化建模的原因,也是参数化建模的优势。

    虽然,计算机三维建模技术已经很成熟。但是,还是很有必要研究一下成熟产品的软件架构方式,尤其是这种参数化建模程序,这对我们自己开发新软件将有很大的帮助。这篇文章只是从型材端切这一小块入手,从分析它的数据结构,到程序的设计,到最后模型的显示。从而论证我们的想法的可操作性,也为我们开发参数化建模程序提供了有益的借鉴。

           三维模型在计算机中的显示往往给用户带来一种全新的体验,尤其当下各种VR和AR技术流行的当下,能否实现传统CAD所建的模型,能够无障碍的显示在各个平台,将有很大的技术应用前景和经济价值。这篇文章从参数化建模和CSG建模的角度提供了一个很意思的模型创建和显示的解决方法。

    展开全文
  • jmeter实现参数化

    千次阅读 2018-06-18 22:19:34
    我们平常在使用jmeter做性能测试的时候,针对一些场景,往往需要参数化一些数据,最常用的就是CSV Data Set Config,下面我以登录场景为例,详细介绍利用jmeter实现登录的参数化1、首先,我们通过测试计划先建立一个...

    我们平常在使用jmeter做性能测试的时候,针对一些场景,往往需要参数化一些数据,最常用的就是CSV Data Set Config,下面我以登录场景为例,详细介绍利用jmeter实现登录的参数化

    1、首先,我们通过测试计划先建立一个线程组,添加相应的HTTP请求,再从监听器里添加聚合报告和察看结果树。                                

    2、 在配置元件里添加CSV Data Set Config。

    3、进入 CSV Data Set Config配置设置页面,此时我们开始准备数据文件,文件名以.csv结尾 ,数据之间的分隔符可用‘,’ 或者 tab键。

    • Allow Quoated data: 双引号相关,如果参数中需包含逗号,或者双引号”等,该项可以选择True

    • Recycle on EOF: 到了末尾处,是否循环读取参数
    • Stop thread on EOF: 到了末尾处是否停止线程
    • Sharing Mode:共享模式: 
      • All threads:所有线程,所有线程循环取值,线程一取第一行,线程二取下一行。
      • Current thread group:当前线程组,各个线程组分别循环取值。
      • Current thread:当前线程,该测试计划内的所有线程都取第一行

    注意:

    • 当Recycle on EOF选择true时,Stop thread on EOF选择true和false已经没有意义,就是说,你前面控制不听的循环读取,后面再让走或者停就没有任何意义
    • 当Recycle on EOF选择false时,Stop thread on EOF选择true,线程3个,参数2个,那么请求只会请求2次
    • 当Recycle on EOF选择false时,Stop thread on EOF选择false,线程3个,参数2个,那么会请求3次,但第3次请求没有参数可取,不允许循环,所以第三次请求错误

    4、参数的引用

    5、设置线程数和循环次数,开始压测,察看结果树、聚合报告(我们设置4个并发,1秒内启动所用线程,2次循环)

    察看结果树,我们可以发现,四组数据都以入参进行了请求,循环两次。

    展开全文
  • Jmeter参数化

    千次阅读 2019-06-19 15:58:11
     Filename:文件名,指保存参数化数据的文件目录,可以相对或者绝对路径。    File encoding:文件的编码格式,可以使用电脑自带的笔记本另存为时选择编码方式即可  Variable Names(comm...

    一、使用CSV Data Set Config:

      1、添加CSV Data Set Config:

      

     

      2、配置参数:

      

      

    •   Filename:文件名,指保存参数化数据的文件目录,可以相对或者绝对路径。

      

    •   File encoding:文件的编码格式,可以使用电脑自带的笔记本另存为时选择编码方式即可
    •   Variable Names(comma-delimited):参数名称(如:有几列参数,在这里面就写几个参数名称,每个名称中间用分隔符分割,分隔符在下面的“Delimitet”中定义,为了和文件中的“,”对应,这里也用“,”分割每个参数名,引用方法:${username},${password}
    •   Delimitet:定义分隔符,这里定义某个分隔符,则在“Variable Names”用这里定义的分隔符分割参数。
    •   Allow quote data:选项选为“true”的时候对全角字符的处理出现乱码 
    •   Recycle on EOF:是否循环读入,因为CSV Data Set Config一次读入一行,分割后存入若干变量中交给一个线程,如果线程数超过文本的记录行数,那么可以选择从头再次读入

      注意:

     

    Filename --- 参数项文件
    File Encoding --- 文件的编码,设置为UTF-8
    Vaiable Names --- 文件中各列所表示的参数项;各参数项之间利用逗号分隔;参数项的名称应该与HTTP Request中的参数项一致。
    Delimiter --- 如文件中使用的是逗号分隔,则填写逗号;如使用的是TAB,则填写\t;(如果此文本文件为CSV格式的,默认用英文逗号分隔)

     

    Recycle on EOF? --- True=当读取文件到结尾时,再重头读取文件
                        False=当读取文件到结尾时,停止读取文件
    Stop thread on EOF? --- 当Recycle on EOF为False时,当读取文件到结尾时,停止进程,当Recycle on EOF为True时,此项无意义

     

     

     

    备注说明:这里我用通俗的语言大概讲一下Recycle on EOF与Stop thread on EOF结果的关联

     

    Recycle on EOF :到了文件尾处,是否循环读取参数,选项:true和false

     

    Stop thread on EOF:到了文件尾处,是否停止线程,选项:true和false

     

    当Recycle on EOF 选择true时,Stop thread on EOF选择true和false无任何意义,通俗的讲,在前面控制了不停的循环读取,后面再来让stop或run没有任何意义

     

    当Recycle on EOF 选择flase时,Stop thread on EOF选择true,线程4个,参数3个,那么只会请求3次

     

    当Recycle on EOF 选择flase时,Stop thread on EOF选择flase,线程4个,参数3个,那么会请求4次,但第4次没有参数可取,不让循环,所以第4次请求错误

     

      3、使用变量:

      

     

    二、使用Jmeter函数助手:

      1、点击 选项-->函数助手 调出函数助手对话框

      2、选择 _CSVRead 函数(下图第一个框)

      3、函数参数:

        1)第一个参数:填写文件路径。

        2)第二个参数:文件列号是从0开始的,第一列0、第二列1、第三列2、依次类推,然后点击【生成】按钮,则会自动生成我们需要的参数化函数。

        3) 复制生成的参数化函数, copy过程需要使用的地方即可。

      

     

     

     

    另外,在Jmeter的bin\templates目录下面有些模板可供学习参考,这些都是非常不错的资料:

     

    展开全文
  • JMeter参数化4种实现方式

    千次阅读 多人点赞 2020-08-26 21:09:44
    前言 下面是目前JMeter系列已有博文...1 参数化释义 什么是参数化?从字面上去理解的话,就是事先准备好数据(广义上来说,可以是具体的数据值,也可以是数据生成规则),而非在脚本中写死,脚本执行时从准备好的数据中
  • 性能测试基础之脚本参数化

    千次阅读 2016-05-02 13:03:13
    本文主要对性能测试中的脚本参数化进行了定义、列举了几种常见的需进行脚本参数化的情况,并使用性能测试工具HyperPacer对如何进行脚本参数化进行了演示说明。
  • loadrunner11参数化设置

    千次阅读 2018-10-22 14:19:24
    双击Value后面的值选中后,右击选择Replace with a Parameter,设置参数名称,这部分是对用户名参数化,所以起名为username,,参数化时需要对value中的值是什么意思有个了解,不然参数化的东西都不知道是什么,参数化...
  • 常用SQL语句参数化+显示查询结果

    千次阅读 2013-07-21 07:46:45
    常用SQL语句参数化集合: 在不同的SQL语句中使用参数化的方式不尽相同,但一般都是用占位符,然后用command对象添加参数如来实现,现在把常用的参数化方法列表如下: 1.select语句的参数化:使用数据库应用...
  • Java的泛型(参数化类型)

    万次阅读 多人点赞 2018-05-30 20:09:54
    泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型)。也就是说在泛型使用过程中,操作的数据类型被指定为一个参数,这种参数类型可以用在类、接口和方法中,...
  • 1.参数化方法  参数化设计(Parametric)设计(也叫尺寸驱动Dimension-Driven)是CAD技术在实际应用中提出的课题,它不仅可使CAD系统具有交互式绘图功能,还具有自动绘图的功能。目前它是CAD技术应用领域内的一个...
  • SQL Server 2008 参数化查询

    千次阅读 2011-02-09 22:30:00
    一个简单理解参数化查询的方式是把它看做只是一个T-SQL查询,它接受控制这个查询返回什么的参数.通过使用不同的参数,一个参数化查询返回不同的结果.要获得一个参数化查询,你需要以一种特定的方式来编写你的代码,或它...
  • SQL参数化查询

    万次阅读 2014-03-26 15:19:17
    SQL参数化查询 一、以往的防御方式 以前对付这种漏洞的方式主要有三种: 字符串检测:限定内容只能由英文、数字等常规字符,如果检查到用户输入有特殊字符,直接拒绝。但缺点是,系统 中不可避免地会有些内容包含...
  • Jmeter的参数化方法

    万次阅读 2017-02-15 16:30:56
    对被测系统的用户名和密码进行参数化,来模拟多个用户同时登录系统。 一、利用函数助手获取参数值 选项->函数助手对话框 __Random, __CSVRead, 生成的函数字符串:${__Random(,,)}第一个参数为随机数的下限,第二个...
  • Creo二次开发:参数化设计

    千次阅读 2016-08-16 14:23:41
    以创建一个矿泉水瓶组件为例,实现参数化设计,包括瓶身和瓶盖两部分,其中参数和关系在Creo中已经定义好了。代码如下: //自定义函数 ProError action(ProParameter *parm, ProError status, ProAppData appdata)...
  • 今天大家一起来学习一下参数化的一个重要工具,我们在写脚本时,经常要用到参数化,而实现参数化最常用的方法之一就是使用CSV Data Set Config元件,使用方便,功能强大。   简单的使用方法估计大家都会,或者说...
  • lr参数化取值规则总结

    千次阅读 2016-09-20 12:02:37
    参数化中数据替换方式详解: 图一:顺序读取。   图二:随机替换:   图三:唯一:   Select next row Update value on     ...
  • QTP常用的几种参数化

    万次阅读 2012-12-11 15:48:12
    本次主要介绍下qtp的各种参数化方法和很多人在参数化时候容易犯的几个错误。  很多人最初接触参数化的时候都是从利用datatable的Global表参数化开始的。因为那是操作实现起来最简单的参数化,但同时也是误导和制约...
  • 03-Jmeter参数化取值策略

    千次阅读 2018-04-19 23:07:01
    总结:加循环控制器,可以理解成脚本里的循环,循环控制器不改变线程取值。 Jmeter线程共享模式-所有线程 当前线程:1个线程1个数据文件,线程组是几,就可以理解成复制出几分文件。 场景1: 如下图线程...
  • LoadRunner中参数化技术详解

    万次阅读 2012-03-21 14:54:06
    LoadRunner中参数化技术详解 LoadRunner在录制脚本的时候,只是忠实的记录了所有从客户端发送到服务器的数据,而在进行性能测试的时候,为了更接近真实的模拟现实应用,对于某些信息需要每次提交不同的数据,或者...
  • JMeter接口测试实战-参数化

    千次阅读 2017-09-28 16:26:10
    参数化到上一步写好JMeter接口脚本,只是测试完成了一种数据集合的情况。但这明显有个问题,如果需要测试另一种数据集合,需要修改请求、断言等几个地方脚本才能继续使用,这可不够灵活。参数化就是解决这个问题的一...
  • Python unittest 实现参数化的几种方式

    千次阅读 2018-05-18 18:16:09
    Python unittest 理论上是不建议参数驱动的,其用例应该专注单元测试,确保每个method的逻辑正确。 引用Stack Overflow的一个答案, “单元测试应该是独立的,没有依赖项的。这确保了每个用例都有非常具体而专一的...
  • 1.参数化详解准备工作,数据准备,postman,本身支持三种文件类型,TXT,CSV,Json三种2.使用CSV,TXT,JSON文件时如果出现中文乱码,可以通过notepad++打开文件,选择编码格式,改变编码为utf-8 改变文件的编码格式解决3:参数...
  • jmeter的几种参数化使用方法

    千次阅读 2018-05-24 17:34:59
    场景:在进行jmeter的接口自动化测试脚本的编写中需要使用参数化,现将接触到的几种参数化方法整理如下: 第一种: 使用“用户自定义变量”的配置元件来进行变量定义 填入变量、值、和备注就可以在后续的接口中...
  • Java8-10-行为参数化

    万次阅读 2019-03-25 21:11:52
    文章目录行为参数化版本1:要求筛选出颜色为绿色的苹果版本2:查找指定颜色的苹果版本3:查找重苹果版本4:使用策略模式版本5:使用匿名类版本6:lambda 表达式参考资料目录导航 行为参数化 在软件开发中,一个...
  • jmeter进行多用户登录用参数化操作

    千次阅读 2018-10-19 11:35:48
    jmeter进行多用户登录用参数化操作,首先我先注册要登录的几个用户。 如下: 我已经注册这三个用户: 用户, 密码 xie123,xie123 xie124,xie124 xie125,xie125 注册后我要实现几个用户登录,用参数化来实现。 我们会...
  • Jmeter参数化、断言、集合点

    万次阅读 2016-02-24 17:38:04
    一、参数化 参数化:简单的来理解一下,我们录制了一个脚本,这个脚本中有登录操作,需要输入用户名和密码,假如系统不允许相同的用户名和密码同时登录,或者想更好的模拟多个用户来登录系统。 这个时候就需要对...
  • jenkins 参数化运行性能测试脚本

    万次阅读 2020-07-15 14:55:42
    前言:我们用jenkins做持续集成的时候,...我们需要一个动态参数去实现工作效率最大! 解决方法 Jmeter动态命令行+Jenkins的build with parameter插件 具体实现 1:jmeter动态参数 JMeter提供了动态修改参数的方法
  • 性能测试时,为模拟大量用户,需要对脚本中的部分字段进行参数化参数化大致可以分两种方式,第一种方式是使用配置元件(csv data set config),下面详细介绍下该种方式 1.添加方式在测试计划、线程组、请求等下–>...
  • SolidWorks参数化设计中Excel的应用

    千次阅读 热门讨论 2017-07-16 10:05:24
    摘要:运用SolidWorks自带的系列零件设计表功能,可以自行设计SolidWorks参数化设计系统,系统主要利用Excel的强大功能,进行二次开发系统界面,达到企业的设计流程及设计规范。 关键词:SolidWorks,设计表,Excel...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,337,007
精华内容 534,802
关键字:

参数化控制