Worker学习,实现下面的简单案例!
一、案例介绍
不同的工件由不同的工人进行处理。
二、建模
三、参数设置
不同零件由不同的工人处理,此部分功能通过代码实现!
1、表文件
随机生成3种零件
2、工人池
3、协调器、工作区等等的设置不再详细介绍,可查阅以前的文章。接下来主要介绍“单处理”
4、若想实现零件A由工人A处理,零件B由工人B处理,零件C由工人C处理,需要在单处理调用“导入器”时先调用自定义的方法,方法内部根据零件名称为导入器指定相关的“服务”即可!
实现此部分功能的方法较多,具体可查看文章《[PlantSimulation]#C011#Simtalk语法学习-S02-setServices和setAlternativeServices》
粘贴一个使用setServices方法的纯代码实现
param type: integer -- Importer type (0=failure, 1=setup, 2=processing, 3=transport) var part := ?.cont var servicesTable: table[string,integer,string] ?.imp.getServices(servicesTable) servicesTable.delete switch type case 0 ?.failImp.import case 1 ?.setupImp.import case 2 switch part.name case "A" servicesTable.writeRow(1,1, "Work_A",1) case "B" servicesTable.writeRow(1,1, "Work_B",1) case "C" servicesTable.writeRow(1,1, "Work_C",1) end ?.imp.setServices(servicesTable) ?.imp.import end
5、结束。
已有 3268 位网友参与,快来吐槽:
发表评论