DX時代:【第1回】シーメンスの生産シミュレータ「プラントシミュレーション」の使い方を習得
www.plm.automation.siemens.com
Plant Simulation 15に収録されているサンプルモデルを使って基本操作を習得する。
第1回はカテゴリ「マテリアルフロー」、トピック「Assembly」、サンプル「Basic object Assembly」を使っていく。サンプルモデルからの学び方は、以下の手順で行う。
STEP1:サンプルモデルを開き、どのような仕事内容をシミュレーションするものかを把握する。
STEP2:それぞれのオブジェクトの設定項目を参照し、定義の仕方を確認する。
STEP3:メソッドがあればメソッドオブジェクト内のプログラムも参照する。
STEP4:概要を理解したところで、設定の一部を変更して、意図した通りにシミュレーションの結果に反映されるかを確認する。
サンプルモデルの難易度によって、多少の変更はあるかもしれないが、流れとしては概ね上記のような進め方で習得していく。
◆サンプルモデル
マテリアルフロー ⇒ Assembly ⇒ Basic object Assembly
STEP1:どのようなサンプルモデルか?
まず、サンプルモデルを開き、イベントコントローラでシミュレーションを実行してみる。速度はリアルタイムの50倍とした。モデルの動画を以下に示す。(Vimeo)
今回のサンプルモデルは、天板1枚と4脚のテーブルの組立である。
Sourceは2個用意され、上段のSourceMainからは天板、下段のSourcePartsからは脚が供給される。Sourceオブジェクトの左にData Tableがあり、ここで供給するものについて定義されていると思われる。
Sourceの先にはAssemblyStationがあり、ここで組立を行ったものをDrainへ排出するシンプルなプログラムだ。
また、MUの動きから机は2種類あるようで天板が緑色と水色のものがある。天板の種類によって取り付ける脚も違うようだ。
STEP2:オブジェクトの設定項目を確認
次はオブジェクトの設定項目を確認していく。
まずは天板を供給している上段のSourceMainで、オブジェクトを開くと次のような設定になっている。
MU選択は「順番に繰返して選択」でテーブルとして「MainParts」のData Tableを指定している。さらに右上の個数は40個と入力されている。天板を40個だけ作るオブジェクトのようだ。
次に天板のData Tableである「MainParts」を確認する。4列x2行で設定がされているので順にみていく。
まず1列目はobjectでMUとして、plateが定義されている。指定階層は「.Models. assembly. MUs. plate」になっていて、ユーザが定義したMUオブジェクトはクラスライブラリでも確認できる。2列目はinteger(整数)でNumberとして、両方とも2が入力されている。Part_AとPart_Bという2種類の天板を2個ずつ作成する。
今回のモデルで使用されているplateとLegsをクラスライブラリで確認。その他は本モデルでは使用されない。ちなみに、よく見るとplateとLegsでMUのアイコンが違っている。plateはコンテナで、Legsはパートである。
plateのMUを開くと、属性は次のように定義されている。XとYサイズが両方2と指定され、行列で2x2、つまり4つ分のサイズのオブジェクトであることがわかる。他のタブには特に設定されたものは見つからなかった。
続けて、脚を供給している下段のSource Partsを確認していく。Sourceオブジェクトを開くと次のような設定だ。
こちらも天板と同じくMU選択は「順番に繰返して選択」が指定され、Data Tableとして「Parts」テーブルが指示されている。右上の個数は160個になっていて、天板の40個よりも多い数が入力されている。
PartsのData Tableを開いた。1列目のobjectはMUとして、「.Models. assembly. MUs. Legs」が指示されていて、且つ2列目の数はそれぞれ8個である。天板は2個ずつの生産であったので、今回モデルのアセンブリ品(=テーブル)は天板1枚に脚4本の構成であることが読み取れる。
なお、こちらもLeg_AとLeg_Bの2種類がある。4列目のAttributes(属性)のセルをクリックすると、CurrIconが指示されているのがわかる。
クラスライブラリからMUsのLegsを一応確認。左上の2本の縦横線が入ったアイコンはパートを示す。
さて、ここから本題のアセンブリオブジェクトを確認していく。
Assembly Stationオブジェクトを開くと、属性タブは次のように設定されている。
「アセンブリテーブル」の設定方法
なし:アセンブリステーションはアセンブリテーブルを使用せず、代わりに各上流からのパートを予期する。
上流の表示:パートが移動してくる上流の番号をテーブルの列1に、その量を列2に入力する。(今回はコレ!)
MUタイプ: Part、Container、Transporterなどのパートの名前をアセンブリテーブルの列1に、その量を列2に入力する。
MU本体によって決まる:Part、Container、Transporteなどの、MU本体の名前、MUの名前、およびパーツの量を入力する。また、明示しない場合はアスタリスク(*)を入力することもできる。
今回のモデルでは、「上流の表示」が設定されており、「開く」でアセンブリテーブルを見ると次のように指定されている。
つまり、組立をするパートが流れてくる上流が2番で、組立をする数は4個である。
「プロセッサからのメインMU」は1が入力されていて、主となるMUは上流番号1から供給される。
また、「アセンブリモード」の設定は「MUを添付」or「新規MU」の2種類があり、今回のモデルは前者が選択されている。
「出口MU」の設定は、「MU本体」が指示されている。つまり、メインMUである天板に組立部品の脚を取り付け、後工程に排出する時は天板として扱うことを意味する。大は小を兼ねる的な考えで、テーブルの場合はイメージしやすい。ここの設定を「新規MU」とした場合は、組立をした2種、あるいはそれ以上の部品とは異なるMUを定義する必要がある。属性タブは以上となる。
次に時間設定タブを確認する。
プロセス時間として「1:00」が一定として入力されている。セットアップとリカバリ時間は指示されていない。
その他のタブ(故障設定、コントロール、出口ストラテジ等)は見るかぎり特に設定されていないようだ。
以上でサンプルモデル『Basic object Assembly』オブジェクト設定の確認ができた。
STEP3:メソッドのプログラムを確認
今回のサンプルモデルには「endSim」というメソッドが一つある。
ENDと名が付く通り、これはシミュレーション終了時に実行されるメソッドであり、Plant Simulationのヘルプには以下のように記載されている。
Plant Simulation は、シミュレーションランの終了時に、endSim という名前の全てのメソッドを呼出します。EventController がスケジュールされたイベントリスト内の全てのイベントを処理したとき、またはPlant Simulation がEventController の図の終了テキストボックスに入力した終了時間に達したときに、シミュレーションは終了します。
endSimオブジェクトを確認すると、次のような記述がある。
*記述されている具体的な中身については、いまの自分の実力では十分に理解することができないが、試しにこのメソッドを消してしまってもシミュレーションの実行には支障なかったので本質的なものではないと思われる。
STEP4:一部を変更してシミュレーション結果の確認
ここからは余談というかお遊びだが、STEP2で学習した設定方法から一部をわざと変えてみて、結果が追従することを確認する。
組立をする部品の数を変更
サンプルモデルではテーブルの部品構成が天板1枚に対し脚が4本であったが、これを脚3本にする。
AssemblyStation⇒属性⇒アセンブリテーブル⇒上流の表示⇒Numberを3に変更して、シミュレーションを再度実行。
結果は想定通り、脚が3本のテーブル組立になった。追加で気付いた点として、最初に用意されたモデルでは、テーブルが2種類あった。
①天板が緑+脚が茶色
②天板が水色+脚が黄色
の組み合わせであったが、これは数を合わせていたからで、制御的な縛りを設けている訳ではないようだ。それを示すのが上記のキャプチャ画像で、Part_Bである水色の天板に、Leg_Aである茶色の脚を組み立てている。
脚を3本にするのであれば、このプログラムの場合は、「Parts」Data TableでNumberを8→6に変更する必要がある。
*さいごに
今回のサンプルモデルでは、天板と脚がそれぞれ2種類、色別でMUの定義がされているが、この色定義をどこでしているのかが見つけれなかった。PlateとLegsともにMUの「グラフィック」設定はデフォルトの空欄のままなので、どこか別の箇所で指定・参照させているものと思うが、それがどこかを見つけることができなかった。