Emulate3DでTargetSelectorについて解説(後編)
皆さんこんにちは、Emulate3Dの技術担当の吉田です。
今回はEmulate3Dで利用する「TargetSelector」についてまとめます。
前回紹介した記事の他に次のパターンをご紹介します。
目次
重みづけラウンドロビン
指定した数量ごとに搬送先を分けたいときはありませんか?
この機能を使用すれば、搬送先へ指定した数量ごとに搬送することが可能です。
手順
SelectionModeをSequenceに変更します。
Quantity欄を変更することで搬送数を変えることができます。
これで搬送先へ指定した数量ごとに搬送されます。
実行結果
搬送可能なところを選択
搬送可能なラインを選択したいときはありませんか?
この機能を使用すれば、搬送先を指定することが可能です。
手順
搬送可能な搬送先にだけ搬送したいのでフィルタリング機能を使用します。
Filteringタブを選択し「Target.TransferState.ReadyForIncoming == true」と入力すると搬送先の候補が受け入れ可能なものに絞り込まれます。
Filteringで使用可能な変数
- Load(転送対象と見なされているロード)
- Target(ターゲットと見なされているビジュアル)
- RulesOwner(実行されるルールを所有するビジュアル)
- Sender(ターゲットセレクターが現在リスニングしているビジュアル)
実行結果
エラー品を除外
エラー品があった場合別の搬送先にしたいときはありませんか?
この機能を使用すれば、条件づけが可能です。
手順
エラー品を判断するため、PropertyAssignerを使用します。
(詳細な手順は後日紹介します。)
PropertyAssignerを配置しListeningToをPE1に設定します。
PropertyAssignerを使用することで搬送するワークにシリアル番号を付与することができます。
TargetSelectorの搬送先一覧からエラー品の搬送先を一番最上位に移動させます。
今回はシリアル番号が3の倍数をエラー品と仮定して搬送先を分けます。
移動させた搬送先のfilter欄に「Load.SerialNo %3 == 0」と入力すると3の倍数のロードだけ搬送先を分けることができます。
実行結果
終わりに
いかがでしたでしょうか。
今回はTargetSelectorの使い方をまとめました。
今後もブログを書いていくのでご活用ください。