PLCシミュレーションの課題から学ぶ:実践ガイド
2002年のRoland Schulz氏の博士論文からのこの重厚な声明は、全体をうまく要約しています。
一言で言えば:「試行とテストはエラーを見つけるのに役立つ」ということです。
ここではプラント全体のシミュレーションについてではなく、オートメーションプログラムやユーザープロジェクトなどの個々のユニット(コンポーネント)に原則を分解して説明します。
かつて、Phoenix Contactの若手社員としてプログラミングを学んでいた私も、コントローラのシミュレーションがあれば、ブロックやプログラムの動作と機能を「試行錯誤」で理解できたでしょう。残念ながら当時は存在せず、後に登場したPLCシミュレーションも非常に限定的でした。IEC 61131-3コードのシミュレーションは可能でしたが、特殊デバイスのサポートや、Intel、ARM、Motorolaベースのシステム間でのコードの振る舞いの違いが欠けていました。

これらの考えと、「従来型」PLCシミュレーションで経験した苦労の記憶を踏まえ、開発工数と使用時の工数の両方を大きくせずに、真の付加価値を提供するものを見つけようとしました。
ユーザーとして、マウスクリック一つでプロジェクトをPLCまたはシミュレーションに送信したいです。プロセッサアーキテクチャを意識したくありませんし、シミュレーションでサポートされていない機能をコードで隠したり、削除したりすることを強制されたくありません。
実際の制御ハードウェアでも使用されている本物のファームウェアをシミュレーションで使用することほど自然なことはありません。それがまさに実現されたことです。
現在では、Windows上でさまざまなオペレーティングシステムを実行できるだけでなく、さまざまなプロセッサアーキテクチャとその特性をエミュレートする本格的なシステムエミュレーションが存在します。
当社のコントローラがLinuxベースであることは秘密ではありません。しかし、コード開発において、ここでも異なるプロセッサアーキテクチャが使用されていることは重要です。
エンジニアリングツール(当社の場合はPLCnext Engineer)では、コントローラのIPアドレスとシミュレーションをマウスクリック一つで選択でき、コードの追加修正やバイナリコードの互換性を心配する必要がありません。
それらの考察から何が生まれたか?
システムエミュレーションのQEMUを見つけ、これをコントローラのシミュレーションに使用することにしました。QEMUは「オープンソースのマシンエミュレーション」であり、私たちが求めていたものを正確に提供します。
ファームウェアを「ただ」実行するだけで、QEMUはPLCnext Technologyの完全なLinuxシステム(一部のPLCnextコントローラのARMプロセッサアーキテクチャを含む)をエミュレートします。こうしてPLCnextシミュレーションが誕生しました。認めますが、いくつかの小さな制限を含めました。PROFINET通信やその他の通信プロトコルは無効化されています。しかし、たとえばOPC UAサーバーは影響を受けません。
しかし、PLCnext Technologyのすべての特殊機能を維持できました。したがって、C/C++、C#、Matlab Simulinkのプログラムやコンポーネントもシミュレーションに送信できます。Storeで特定のアプリケーション向けに見つかるアプリも実行可能です。
さらにいくつかの制限は明らかです。このようなシミュレートされたシステムから決定論的な動作を期待することはできません。また、Windowsシステムの負荷によっては、PLCnextシミュレーションでウォッチドッグエラーが発生する場合があります。しかし、そのような場合はWindowsシステムでシミュレーションプロセスの優先度を上げれば、ウォッチドッグエラーはすぐに解決します。
ついに、コントローラのシミュレーション、あるいは定義によってはエミュレーションを手に入れました。しかし、私はそれを使わずにプログラミングを学ばなければならず、今ではそれほどプログラミングをしなくなりました。
産業技術
- PLCとDCS:適切なオートメーションシステムの選び方
- 心からの別れ:出版業界40年の歩みを終えて
- PLCとリアルタイムEthernetでコスト効率の良い生産制御を実現
- PLC vs DCS:自動化ニーズに最適な制御システムを選択
- SPICEで電気回路シミュレーションをマスター:設計者と学生のための実践ガイド
- 高解像度脳シミュレーションが神経変性疾患における感染性シードの拡散メカニズムを解明
- 産業用PLCが可変速ドライブを駆動する
- テレゲンの定理:解説・解答例・MATLABシミュレーション完全ガイド
- ショベル設計の最適化:実証済みシミュレーションワークフロー
- NASA Ames「Fe³」ツール─ 低高度高密度航空交通シミュレーションで安全・効率的UTM設計を支援
- Verilog表示タスクのマスター:効率的なデバッグとログ出力