Instant Engineering

エンジニアの仕事効率を上げる知識をシェアするブログ/QC統計手法/公差設計・解析/TPS(トヨタ生産方式)

Plant Simulation:フローコントロールのエラー検証-Exit strategies Validation-

DX時代:【第15回】シーメンス製の生産シミュレータ「プラントシミュレーション」の使い方を習得

www.plm.automation.siemens.com

 

Plant Simulation 15に収録されているサンプルモデルを使って基本操作を習得する。

第15回はカテゴリ「マテリアルフロー」、トピック「Exit strategies」、サンプル「Validation」を使っていく。サンプルモデルからの学び方は、以下の手順で行う。

STEP1:サンプルモデルを開き、どのような仕事内容をシミュレーションするものかを把握する。

STEP2:それぞれのオブジェクトの設定項目を参照し、定義の仕方を確認する。

STEP3:概要を理解したところで、設定の一部を変更して、意図した通りにシミュレーションの結果に反映されるかを確認する。

サンプルモデルの難易度によって、多少の変更はあるかもしれないが、流れとしては概ね上記のような進め方で習得していく。

 

◆サンプルモデル

 マテリアルフロー ⇒ Exit strategies ⇒ Validation

 

STEP1:どのようなサンプルモデルか?

どのようなサンプルか把握するためにまずはイベントコントローラを実行してみる。シミュレーション動画を以下に示す(Vimeo)

シミュレーションを実行すると途中でエラーが出て停止するモデルだ。どの設定箇所が誤っているのかをユーザが調査するトラブルシューティング的な感じのモデルで、そのような形態のサンプルは今回が初めてのケースだ。

シミュレーションを開始すると、Sourceから計6個のパーツが供給される。モデル中央のFlowControlで何らかの法則で3箇所に分配されていくが、6個目のパーツが来たところでエラーが出てシミュレーションが停止する。分配するための法則に合致せず、どこにも排出できないようだ。

シミュレーションの動きから推測できるざっくりしたモデルの概要は以上だ。

 

STEP2:オブジェクトの設定項目を確認

それではさっそく各オブジェクトの設定項目を確認していく。まずはモデル左側から。

f:id:yuinomi:20210814124552p:plain

Sourceオブジェクトの属性タブを確認する。

f:id:yuinomi:20210814124654p:plain

作成の時間は「配布テーブルによる調整」で、外部参照先のDataTableとして「Deliveries」が定義されている。

Deliveriesを確認する。1行目のDelivery Timeはすべて0.000なので同時タイミングで一斉に作成する。2列目のMUはEntityという名称の同じクラスへのパスを指定している。

4列目Nameでそれぞれ名称を定義している。

f:id:yuinomi:20210814125150p:plain
5列目Attributesの「t」をクリックすると、さらに下層の表が開く。1行目のName「Red」では、上図のようにName of AttributeとしてColor「red」が定義されている。すべて確認すると以下のようになっていた。

 

    Name     Color    Shape

1   Red       red     -

2   Yellow      yellow    -

3   Green      green    -

4   Black_Round   black    round

5   Black_Square   black    square

6   Black_Fluid    black    fluid

 

次に「L」という名称のLineオブジェクトを確認する。属性タブを以下に示す。

f:id:yuinomi:20210814130151p:plain

長さ3mで搬送速度1m/sなので、このオブジェクトは入ってから出ていくまでが3秒である。その他タブはデフォルト通りだったので省略する。

 

続いては、モデル中央のFlowControlオブジェクトを確認する。

f:id:yuinomi:20210815112936p:plain

出口ストラテジータブを以下に示す。ストラテジは「MU属性」、属性タイプは「String」が定義されている。「ブロッキング」が有効化されているので、これはストラテジに必ず従って分配し、条件が成立していない時は待つことになる。

f:id:yuinomi:20210815113202p:plain

ストラテジ「MU属性」のリストを開いて確認する。

f:id:yuinomi:20210815113204p:plain

1列目属性にはColorとShapeが定義され、2列目にValueとして内訳が設定されている。属性タイプはString型である。

今回のサンプルモデルがシミュレーション実行でエラーが出た理由は、6個目のMU(パーツ)の定義がされておらず、分配先を決定できなかったためである。6個目のパーツは下記の設定だった。

6   Black_Fluid    black    fluid

Colorであるblack、Shapeを示すfluidともに出口ストラテジのリストで定義されていないためエラーとなった。エラーを回避するには、リストに「black」か「fluid」のどちらかを定義する必要がある。(blackで定義すると他のものと干渉するのでfluidがやりやすい)

 

「入口ストラテジー」タブを以下に示す。ストラテジは「最初に来たものを最初に提供」が選択されている。

f:id:yuinomi:20210815114641p:plain

 

さて、残りはモデル右側の部分である。3箇所に分配した先は長さ5mのLineオブジェクトを通ってDrainへと排出されていく。いずれのオブジェクトも特に見るべき設定箇所がないのでキャプチャの貼付は省略する。

f:id:yuinomi:20210815114828p:plain

これで各オブジェクトの設定項目確認は以上だ。

 

STEP3:一部を変更してシミュレーション結果の確認

まずはシミュレーションでエラーが出た原因を除去し、最後まで処理を実行できるようにしてみる。FlowControlの出口ストラテジータブのリストにShapeのfluidを定義する。

f:id:yuinomi:20210815115426p:plain

 6行目を新しく追加した。下流番号は2とした。これでシミュレーションを実行すると、途中でエラーは発生せず、6個目のパーツは定義した通り下流2へ分配された。

f:id:yuinomi:20210815115640p:plain

ここまでは簡単だったので、次はColorとShapeの下流指定を干渉させた時にどちらが優先されるかを検証する。

出口ストラテジーのリストを以下のように設定した。4行目を挿入し、Colorのblackを定義した。6個目のパーツは属性「black x fluid」で、fluidは定義されていないがblackがあるので下流2へ分配されるのは予測される。属性「black x round」を持つパーツが、ColorとShapeそれぞれで異なる分配先を指定さてた時にどういう挙動になるかを確認した。

f:id:yuinomi:20210815120820p:plain

シミュレーションを実行した結果、black属性を持つものは、Shapeが何であってもすべて下流2へ分配された。どうやらリストは上から順に検索されて、合致されるものが見つかった時点で分配先は確定し、それ以降に該当するものがあっても無視されるシステムのようだ。

f:id:yuinomi:20210815121428p:plain

 

今回のサンプルモデル『Exit strategies Validation』の確認は以上で完了する。