• 本站域名:OceanCoder.cn 若您喜欢本站,请添加至收藏夹!
  • 网站少部分资源来源自网络,如有侵犯您的权益,请联系站长删除!
  • 本站所有文章,除特殊标明外,皆为本人原创,转载请注明出处,谢谢合作!
  • 本站所下载的资源,若无特殊说明,使用统一解压密码:oceancoder.cn
  • 本站已实现布局自适应,支持手机端、pad端访问,欢迎体验
  • 本站部分资源可通过微信公众号留言获取,欢迎体验

[PlantSimulation]#C003#官方入门案例学习.第二部分

PlantSimulation OceanCoder 2020-04-14 228 次浏览 0个评论

入门案例共分为三部分,这是第二部分

第二部分


此部分内容在第一部分基础上扩展,涉及到子框架知识和一丢丢编程的内容。

1、我们将通过在文件夹TestingLine中使用“源”,“物料终结”和几个“单处理”创建另一个Frame来开始本节。我们还将使用在本教程的第1部分中创建的名为Test的框架。新建框架并重命名ProcessingLine,接下来用它作为主框架进行功能设计。依次拖入控件形成如下界面,请读者自行根据图片内容重命名控件。

image.png

双击“单处理PreTest”设置如下参数

image.png

2、接下来,我们将在站点PreTest和Drain之间插入我们先前创建的两个Test站点。

将第一部分的Test框架作为子框架拖动到下图位置并重命名,所谓的子框架就是基类的意思,若修改基类,则全局生效!

image.png

3、接下来,我们修改基类“Test”框架。双击打开类库-TestingLine-Test框架,删掉“源”和“物料终结”,如下图所示

image.png

4、删掉了进口和出口,就需要用新的进和出进行替换,所以用到了“接口Interface”,也就是工具箱-物料流-界面控件(此处软件内部竟然将interface翻译成界面,也是醉了),拖进来吧,像下面这样

image.png

5、返回主框架ProcessingLine,连线

image.png

6、现在让我们使用EventController运行仿真。您会注意到,子框架类似于模型中的其他任何对象,但更高级。当您打开“ 子框架”时,您可以在“ 框架”中查看零件的活动。理解为对基类的引用!

7、接下来的内容(7-9步)个人感觉可有可无,此部分演示了图标的功能!

Frame ProcessingLine中运行模拟时,您将看不到任何零件在测试站上移动。要显示站内的动作,我们必须打开各个站。相反,我们将在每个Frame上定义一个动画点,以在名为ProcessingLineFrame上显示动画部分。

意思就是当仿真上一步时,物料经过子框架Test1和Test2时,啥动静没有,给人的感觉是从PreTest出来直接进入Drain了,总的来说就是不连贯、看着不爽,所以接下来要解决这个不爽的问题。

8、接下来在(基类)框架Test中进行修改,这样所有的引用自动生效,省事。在基类Test上右键,点击“编辑图标”

image.png


9、按图片提示操作,然后关闭“编辑图标”窗口,现在运行仿真时,您会看到零件在处理过程中在子框架Test1和Test2上移动(会有个小箱子经过子框架)。

10、分流。我们可以控制单处理PreTest进入子框架Test1和Test2的比例,接下来的操作,可以让60%的物料进入Test1,40%的物料进入Test2

1)双击打开“ProTest”,然后单击选项卡“出口”。

2)从下拉列表中选择“ 百分比 ”作为“ 策略”,然后选中“ 阻止 ”复选框。然后单击“ 应用”,此时会弹出“打开列表”按钮。

3)点击下拉列表框百分比下方的打开列表按钮。

4)键入60第一行,按键盘上的Enter键,然后键入40第二行。这意味着60%的零件将移动到编号1的后继零件,而40%的零件移动到编号2的后继零件。

image.png

11、单击确定以应用更改并关闭SingleProc命名的预测试。

现在,当您运行仿真并分析两个测试站中的图表时,您会注意到,在子框架Test1中处理的零件比在子框架Test2中处理的零件更多。这是由于我们输入工作站PreTest的“ 百分比”表中的分布引起的。

注意事项:如果结果相反,说明连接的顺序反掉了,请打开常规-视图选型-更多-勾选后续对象,可以看到下图界面

image.png

数字代表物料是先进入Test1再进入Test2

如果相反,即在站点Test2上处理的零件多于在站点Test1上的零件,则删除PreTest和测试站点之间的连接器。然后首先将PreTest与Test1连接,然后将PreTest与Test2连接。首先连接到PreTest站的测试站是后继号1,之后连接到PreTest站的测试站是后继号2。后继号1始终在后继号2之前服务

12、添加流水线,工具箱-物料流-线

image.png

13、运行模拟时,您将看到零件沿直线移动到桩号PreTest。为了计算进入生产线的零件,我们将在生产线的开头插入一个传感器。然后,只要零件通过传感器,我们将使用一种方法来使Plant Simulation增加计数器。

您可以在“ 方法”中编写源代码以定义特殊的行为,这些特殊行为无法通过选择或在对象的对话框中输入设置来设置。为此,Plant Simulation提供了专有的编程语言SimTalk。

14、插入变量,信息流-变量。双击变量并将其命名NumberOfDevices。选择复选框初始值,然后输入值0。这样,在模拟开始时,变量的值会自动设置为0。

15、插入方法来控制变量,信息流-方法。重命名为counter

16、添加传感器。

1)打开“ 线 ”对话框。

2)单击“控件”。

3)单击“传感器”。

4)单击新建,然后输入0作为传感器的位置。这将其放置在Line的开始处。

5)单击“ 控件 ”文本框中的按钮,选择“ 计数器”,然后单击“ 确定”。

image.png

6)关闭对话框传感器列表。

7)再次单击“ 确定”以应用更改并关闭“ 线”的对话框。


17、编程。双击打开方法counter,录入下面的代码

param SensorID: integer, Front: boolean
NumberOfDevices := NumberOfDevices + 1

18、通过单击“ 编辑”功能区选项卡上的按钮来保存源代码,然后关闭方法窗口。

运行模拟以观察零件沿直线运动触发传感器并增加计数器。为了更好地遵循模拟,降低仿真速度在EventController。

image.png


19、保存项目。第二部分结束!


已有 228 位网友参与,快来吐槽:

发表评论