エミュレーションについての主要な概念
エミュレーションを使用するタイミング
エミュレーションとは、シミュレートされたプログラマブルロジックコントローラー(PLC)ロジックを作成する機能を指す用語です。PLCを最終的に使用するシステムをシミュレートする場合は、エミュレーションを使用してFlexSim内のPLCロジックを開発およびテストできます。その際に、他のソフトウェアでラダーロジックを作成する必要はありません。
すべてのシミュレーションプロジェクトが必ずしもエミュレーションを使用することで恩恵を受けるわけではありません。FlexSimのエミュレーションツールを使用する可能性が高いシナリオは次のとおりです。
- 実際のラダーロジックをプログラミングする別のチームメンバーに引き継がれるPLCロジックを設計する。シミュレーションのエキスパートとして、PLCのプログラミングに限らず効率的な製造システムを設計するのを専門としている場合もあります。エミュレーションツールを使用すると、システム内のPLCが使用する理想的なロジックを設計できます。さらに、エミュレーションツールを使用して、実際のシステムのPLCをプログラミングする従業員にロジックがどのように動作するのかを伝えることができます。
- プログラミングした後にPLCロジックの精度をテストする。PLCのラダーロジックを実装した後、FlexSimを実際のシステムに接続して、PLCロジックが正しくプログラムされているかどうかを判断できます。シミュレーションモデルが実行され、実際のシステムからリアルタイムで入力が取得されると、シミュレーションモデルとシステムの結果を比較してPLCが正しくプログラムされたことを検証できます。
これらのシナリオがシミュレーションプロジェクトに該当する場合、エミュレーションは有用なツールになります。
エミュレーションプロジェクトの概要
次の画像に、エミュレーションによるシミュレーションプロジェクトを構築する処理を示します。
次のセクションでは、プロセスの各フェーズについて説明し、詳細については他の関連トピックへのリンクを示します。
3Dモデルにオブジェクトを追加する
他のシミュレーションプロジェクトと同様に、3Dモデルにオブジェクトを追加することから始めます。
処理フローでPLCロジックを作成する
エミュレーションプロジェクトが通常のシミュレーションプロジェクトと異なる点は、処理フローでモデルのロジックを構築する方法です。シミュレーションプロジェクトでエミュレーションを使用する場合、モデル構築処理の早い段階でPLC中心のロジックをモデルの処理フローに統合します。これを行うには、PLCコントローラーの入力および出力に似た方法でロジックを構築します。
PLCプログラマーにシミュレーションモデルを引き継ぐ
モデルロジックを構築した後、最適なシステムを設計したと確信するまでシミュレーションモデルをテストして検証します。この時点で、シミュレーションモデルをPLCプログラマーに引き継ぎ、彼らにモデルロジックについて説明できます。処理フローはPLC中心の方法で設計されるため、PLCプログラマーが処理フローをラダーロジックに変換するのは非常に簡単です。
PLCロジックを検証
PLCがプログラムされたら、FlexSimを使用してPLCロジックが正しくプログラムされたことを確認できます。FlexSimは、PLCまたはPLCが使用するサーバーに直接接続できます。FlexSimが実行されてPLCと通信すると、内部ロジックを実行していたときのシミュレーションモデルの結果を比較できます。2つのシステムを比較して、ロジックが正しいことを確認したり、必要に応じてシミュレーションモデルまたはPLCを微調整したりできます。
PLCロジックをエミュレートするツール
FlexSimでは、2つの異なる方法を使用してPLCロジックをエミュレートできます。処理フローツールで変数の追加やロジックの構築を行ったり、ツールボックスでエミュレーションツールを使用したりできます。いくつかの点において、使用するツールは個人的な好みによります。ただし、このガイドはモデルドキュメントに適していてロジックを明確に伝えるためのものであるため、処理フローツールでのエミュレーションの構築に重点を置きます。このトピックのスクリーンショットの一部は、エミュレーションツールのものです。
主な用語
FlexSimのエミュレーションツールを理解する上で重要な用語を次に示します。
PLC
PLCは、プログラマブルロジックコントローラーの一般的な略語です。PLCは、製造システムの機械とのやり取りに専用のコンピュータです。これらの特殊なコンピュータは、通常、自動製造システムの頭脳として機能し、システムの入出力を接続してシステム全体の動作をコントロールします。
接続
FlexSimのエミュレーションツールでは、接続という用語はFlexSimのエミュレーションツールとサーバーまたはPLC間の接続を指します。現在、FlexSimはOPCおよびModbus経由で接続できます。
FlexSimでサーバーへの接続を設定する場合、接続をアクティブにするか非アクティブにするかを決定できます。接続がアクティブな場合、FlexSimは実際のサーバーまたはPLCから直接データを読み取りおよび書き込みします。接続が非アクティブな場合、FlexSimで作成された理論的なシミュレーションモデルからデータをプルします。
変数
この場合、変数という用語はPLCによって送受信される任意の入力および出力を指します。FlexSimには、センサー(入力)とコントロール(出力)の2つのタイプの変数があります。
センサー(PLC入力)
センサーはPLCへの入力です。入力はPLCに製造環境を伝えます。たとえば、センサーを次の場所に接続できます。
- 位置検出器
- フォトアイ
- 温度センサー
- リミットスイッチ
- システムを監視するその他の機器
センサーは入力からPLCに環境データを提供し、PLCはそのデータに基づいてどのようなアクションを実行するのか決定します。
各センサーは、一連のイベントに関連付けることができます。センサーがリッスンするイベントを指定できます。たとえば、フォトアイをリッスンしている場合は、[カバー時]イベントと[アンカバー時]イベントをリッスンするようにセンサーを設定できます。各センサーで使用できる特定のイベントは、シミュレーションモデルでセンサーが接続されているオブジェクトの種類によって異なります。詳細については、「イベントについての主要な概念」を参照してください。
コントロール(PLC出力)
コントロールはPLCの出力です。コントロールは、システムに応答する方法と何を実行するかを指示します。たとえば、コントロールは次のような指示を出すことができます。
- ドアまたはロックのバルブを開く
- 特定の処理を駆動するモーターをコントロールする
- 警告を発する
- シュートを開閉する
- コンベヤベルトを動かしているモーターを開始、停止、特定の位置に移動するよう指示する
受信した入力(値)に基づいて、PLCはシステムに実行するアクションを指示するコントロールを送出します。
ラダーロジック
ラダーロジックは、工業用コントロールアプリケーションで使用されるPLCソフトウェアの開発に使用されるプログラミング言語です。FlexSimでは実際のラダーロジックは使用しませんが、処理フローアクティビティを使用して、どのようにPLCのラダーロジックをプログラミングすべきか伝えることができます。
アクティブな接続と非アクティブな接続
エミュレーションプロジェクトを初めてセットアップするときは、サーバー接続を作成する必要があります。すべての変数(センサーとコントロール)をこの接続に接続します。デフォルトでは、このサーバー接続は非アクティブになります。つまり、サーバー接続はFlexSimの内部に限られます。シミュレーションモデルが実行されると、サーバーはシミュレーションモデルから入力を取得します。まだ実装されていない理論上のモデルまたは将来の状態のモデルを構築している場合は、サーバー接続を非アクティブにしておく必要があります。
PLCロジックをテストする必要のあるエミュレーションプロジェクトのフェーズに移行すると、サーバー接続をアクティブにできます。実際のサーバーにコンピュータを接続し、FlexSimで資格情報を設定してサーバーにアクセスする必要があります。また、すべてのエミュレーション変数をサーバー上の適切な変数に割り当てる必要もあります。
サーバーがアクティブな状態でシミュレーションモデルを実行する場合、理想としては1.00の速度でのみモデルを実行します。つまり、モデルをリアルタイムで実行します。PLCロジックをテストして実際のシステムとシミュレーションモデルを比較できるように、シミュレーションモデルと実際のシステムを同じ速度で実行し続けます。詳細については、「PLCロジックを検証する」を参照してください。
ベストプラクティス
次のセクションでは、FlexSimでPLCロジックを設計する際に考慮すべきいくつかのベストプラクティスの概要を説明します。
PLCプログラマーと協力する
エミュレーションプロジェクトの最終目標はPLCプログラマーにシミュレーションモデルを引き継ぐことです。そのため、処理フローでロジックを構築する方法が確実にプログラマーの期待に沿うように、PLCプログラマーと協力して作業することを検討します。たとえば、プログラマーが容易に把握および理解できるように処理フローロジックを編成する方法についてアドバイスを受ける必要がある場合があります。
ロジックを文書化する
エミュレーションの目的は、シミュレーションエキスパートとPLCプログラマーのコミュニケーションを円滑にすることであるため、処理フローにドキュメントを追加することが重要です。少なくとも、処理フロー内の要素の目的を示す明確なアクティビティ名と変数名を使用するようにしてください。処理フローに説明テキストを追加することも検討してください。