シミュレーション用PLCプロジェクトの作成#
今回の構成では、同一IPC内に制御用のPLCプロジェクト(赤枠)と、シミュレーション用PLCプロジェクト(青枠)の二つを混在させます。
まずは、このように2つのPLCプロジェクトを新規作成します。それぞれのPLCのタスクは次の通りに設定してください。
- 制御用のPLCモジュール
制御に必要なサイクルタイム、およびCPUコアを設定します。
- シミュレーション用PLCモジュール
制御用PLCに割り当てたタスクの1/2の周期のサイクルタイムに設定します。シミュレーションと実制御対処で性能面で変化が出ない様に出来る限り独立したCPUコアに割り当ててください。
制御用のプロジェクトへのI/Oマッピング#
通常のPLCソフトウェアを作成した上で、変数とI/Oをマッピングします。今回は図 3.24に示す次のI/Oをマッピングします。
- 出力
3位置5ポート電磁弁の押し側の電磁弁
3位置5ポート電磁弁の引き側の電磁弁
- 入力
エアシリンダの押し側の近接センサ
エアシリンダの引き側の近接センサ
PLCソフトウェアでは、I/Oを次の通り構造体で定義します。
TYPE cylinder2IO :
STRUCT
pull_sensor AT%I* :BOOL;
push_sensor AT%I* :BOOL;
pull_output AT%Q* :BOOL;
push_output AT%Q* :BOOL;
END_STRUCT
END_TYPE
シミュレータプロジェクトへのI/Oマッピング#
シミュレータプロジェクト内で、制御対象と同じ振る舞いとなるロジックを実装し、その変数とI/Oをマッピングします。制御用のプロジェクトと同一のアドレスにマッピングしますが、入力と出力が逆転している点にご注意ください。
- 出力
エアシリンダの押し側の近接センサ
エアシリンダの引き側の近接センサ
- 入力
3位置5ポート電磁弁の押し側の電磁弁
3位置5ポート電磁弁の引き側の電磁弁
TYPE cylinder2IO :
STRUCT
_pull_sensor AT%Q* :BOOL;
_push_sensor AT%Q* :BOOL;
_pull_output AT%I* :BOOL;
_push_output AT%I* :BOOL;
END_STRUCT
END_TYPE
制御用 |
シミュレータ用 |
---|---|
警告
これまでの操作後、Active configurationの際、設定によって自動的にRUNモードへ自動的に移行します。しかし、このままではSimlatorのサブデバイスのコマンドが初期化されず、プロセスデータの通信ができません。このあと再度次のアイコンを押してRestartを行ってください。