このチュートリアルでは、エミュレーションによるシミュレーションプロジェクトを構築するための基礎を学習します。エミュレーションとは、シミュレートされたプログラマブルロジックコントローラー(PLC)ロジックを作成する機能を指す用語です。PLCを最終的に使用するシステムをシミュレートする場合は、エミュレーションを使用してFlexSim内のPLCロジックを開発およびテストできます。その際に、他のソフトウェアでラダーロジックを作成する必要はありません。詳細については、「エミュレーションについての主要な概念」を参照してください。
このチュートリアルでは、コンベヤを制御するPLCロジックをシミュレートします。コンベヤのロジックは、処理フローのエミュレーション共有アセットによってすべて処理されます。このモデルのコンベヤロジックはかなりシンプルです。コンベヤ上のフローアイテムがフォトアイに到達した後、5秒間遅延するシステムを設計します。
作業が完了すると、シミュレーションモデルは次の画像のように実行します。
このチュートリアルでは、エミュレーションプロジェクトの目標を覚えておくことが重要です。一般的に、この目標とは、後で実際のシステムでラダーロジックのプログラミング方法を簡単に説明できるようにシミュレーションモデルを設計することです。エミュレーションを使用すると、システム内のPLCが使用する理想的なロジックを設計できます。さらに、FlexSimを使用して、実際の製造システムにPLCをプログラムする従業員にロジックの仕組みを説明できます。このチュートリアルでは、この目標を念頭に置いてエミュレーションにアプローチします。
このステップでは、このチュートリアルの基本的な3Dモデルを構築します。この特定のモデルでは、いくつかのコンベヤオブジェクトを追加します。作業が終了すると、モデルは次の画像のようになります。
このモデルを構築するには:
10
」と入力します。モデルがこのステップの冒頭に表示した画像のようになっていることを確認します。
このステップでは、いくつかの処理フロー共有アセットを一般的な処理フローに追加します。これらの共有アセットは、エミュレーションプロジェクトを構築する際に使用する主要なオブジェクトになります。
変数は、PLCで受信または送信される任意の入力または出力です。このモデルでは、センサー(入力)、コントロール(出力)、接続(サーバーを表す)の3種類の変数を使用します。まず、コンベヤのフォトアイ(センサー)用とコンベヤのモーター(コントロール)用の2つの変数を追加します。このステップの最後に、これら2つの変数を3Dモデルで表すオブジェクトにリンクします。
このステップでは、サーバー接続用の変数も作成します。現時点では、このサーバー接続は非アクティブになります。つまり、サーバー接続はFlexSimの内部に限られます。FlexSimは、シミュレーションモデルを実行する際にサーバーとして機能します。FlexSimでは、すべての値を内部的に読み取りおよび書き込みします。この接続は、実際のPLCロジックのテストと検証を開始する、モデル構築プロジェクトの後半にアクティブにすることをお勧めします。
作業が完了すると、処理フローは次の画像のようになります。
これらのエミュレーション共有アセットを追加して接続するには:
形状 | 新しい名前 |
---|---|
最初の形状 | センサー(入力) |
2つ目の形状 | サーバー接続 |
3つ目の形状 | コントロール(出力) |
変数 | 新しい名前 |
---|---|
変数: センサー形状 |
変数:フォトアイ |
変数: 形状コントロール |
変数:モーター |
この時点でシミュレーションモデルを保存することをおすすめします。
このステップでは、前のステップで作成した2つの変数にアクションとイベントを設定します。モーターはコントロールです。つまり、サーバーからの出力値を読み取り、その出力に基づいて3Dモデルで特定のアクションを実行します。この場合、サーバーから0の値を受け取ると、コンベヤのモーターが停止し、1の値を受け取ると、再開するように設定します。
フォトアイ変数はセンサーです。つまり、3Dモデルで特定のイベントが発生すると、サーバーに入力値を書き込みます。フォトアイがカバーされると、サーバーに1の値が書き込まれます。フォトアイがアンカバーされると、サーバーに0の値が書き込まれます。
変数にアクションとイベントを設定するには:
0
」と入力します。1
」と入力します。0
」と入力します。この時点でシミュレーションモデルを保存することをおすすめします。
このステップでは、コンベヤのラダーロジックを作成する一般的な処理フローにアクティビティを追加します。
作業が完了すると、処理フローは次の画像のようになります。
各アクティビティと共有アセットの機能の概要を次に示します。
アクティビティ | 説明 |
---|---|
ソース:フォトアイのアイテム | [イベントトリガーソース]は、フォトアイ変数でイベントをリッスンするイベントリスニングアクティビティです。変更時イベントをリッスンします。つまり、PE1(フォトアイ)がフローアイテムでカバーされるタイミングをリッスンします。前のチュートリアルのステップで、フォトアイがカバーされると、サーバーに1の値が書き込まれることを説明しました。ソースは、フォトアイ変数の変更をリッスンします。サーバーに1の値が書き込まれると、ソースは次の下流アクティビティにトークンをリリースします。 |
変数を設定:モーターを0 | このアクティビティでは、モーター変数が0に設定され、3Dモデルのコンベヤモーターが停止します。 |
遅延:5秒 | このアクティビティでは、トークンが5秒間遅延し、実質的にコンベヤが5秒間停止します。 |
変数を設定:モーターを1 | このアクティビティでは、モーター変数が1に戻され、コンベヤモデルの実行が再開します。 |
シンク:リリースされたアイテム | このアクティビティでは、処理フローからトークンが削除され、フローアイテムはコンベヤに沿って継続します。このアクティビティにはデフォルト設定を使用します。 |
これらのアクティビティを追加して編集するには:
アクティビティ | 新しい名前 |
---|---|
ソース | ソース:フォトアイのアイテム |
変数を設定(1つ目) | 変数を設定:モーターを0 |
遅延 | 遅延:5秒 |
変数を設定(2つ目) | 変数を設定:モーターを1 |
シンク | シンク:リリースされたアイテム |
5.00
」と入力します。1.00
」と入力します。モデルをリセットして実行します。
シミュレーションモデルを実行すると、フローアイテムは、動作中にコンベヤのモーターをオフにするロジックが設定されているフォトアイに到達します。5秒後、コンベヤモーターは再びオンになり、フローアイテムは引き続きコンベヤの下流に移動します。
これで、FlexSimで基本的なPLCロジックをエミュレートする方法を学びました。次のチュートリアルタスクでは、エリア制限をコンベヤに追加する方法について学習し、[変数を取得]アクティビティが処理フローでどのように機能するかを確認します。「チュートリアルタスク3.2 - エリア制限PLCロジックを追加する」に進みます。