プログラマブルロジックコントローラ (PLC) は、現代の工場・設備での自動化を担う中心的な存在です。PLC は製造・生産現場の様々なデバイスと連携し、センサー入力による監視を行いながら、アクチュエータへの制御指令を行うことで、生産設備を制御します。最近ではエネルギーマネジメントのコントローラとしても利用されており、その耐久性の高さから様々な分野で汎用的に使われています。
PLC プログラムの詳細なテストには、制御対象となる実際のプラント・設備全体が必要となります。しかし、設備が稼働中で利用できない、試験準備が大掛かりなものとなりコストがかかる、故障時の動作テストについてはそもそもテストの実施自体が困難、といったケースが考えられます。また、テスト自体も手動で実行されることが多いため時間がかかります。しかも、テスト実施手順によっては再現可能な結果が常に得られるとは限りません。
このような課題に対して、HILS (ハードウェアインザループシミュレーション)を活用することで、開発の初期段階であっても、スケーラブルで再現可能なテストをスムーズに実施できます。
HILSは、制御対象をリアルタイムで模擬することで実際の動作環境に近い状況を再現し、詳細で精度の高いテストを行うための手法・開発環境です。テストに必要なハードウェアは、テスト対象のPLC とリアルタイムシミュレータだけで完結できます。
シミュレータは、プラントの動作、環境条件、そしてPLCに接続されている通信・物理I/Oをシミュレートします。このテスト環境により、PLC アルゴリズムに対する幅広い機能テストを、さまざまな機器の状態や故障を含んだほぼすべての条件下で実施できます。
シミュレータとしての特性を生かし、Speedgoatはファクトリーオートメーション向けHILSテスト環境としてPLCの機能検証業務に幅広く活用することができます。例えば、PLCのシーケンシャルな動作の確認や、PLCロジックとサーボモーター・センサー・ロボットといったスレーブデバイスとの相互作用を実際の環境に近い形でテストすることできます。こういったテストでのユースケースにおいてSpeedgoatは下記のような特徴を提供し、開発者のテスト業務を支援します。
あらかじめ定義した固定パターンの静的なテストシナリオから、状況に応じてシナリオを変化させる動的なテストシナリオの実行まで、Speedgoatは様々なシナリオの実行が可能です。これらのテストシナリオをPLCに入力することで、PLC が機能・信頼性・安全性の観点で要件に準拠していることを自動的に検証できます。
テストパターンの作成にあたってはSimulinkに加えて、StateflowやSimulink Testといったツールがテストシナリオの作成を強力に支援します。
▲クリックで拡大表示
PLC テストの目的は、単純な論理テストの検証から複雑な制御設計の評価までさまざまですが、複雑な制御設計の評価については仮想のプラントモデルの実行が必要なケースもあります。Speedgoatは、MathWorks社製プロダクトとの親和性が高いシミュレータです。Cコード生成をサポートしたMathWorks社の第一原理モデリングツールSimscapeや、データ駆動型モデリングのための様々な手法を用いてプラントの挙動の再現を可能とします。これによりフィードバック制御などを含んだシステムの詳細な機能検証が可能となります。
▲クリックで拡大表示
PLC は産業用ネットワークのマスターとして動作し、フィールドバスを介して様々な機器に指示を与え全体の制御を行います。Speedgoatは、フィールドバス通信用I/O ボードを使用することで、フィールドバスを再現することができます。対応するプロトコルはModbus/TCP、EtherCAT、PROFINET、EtherNet/IPなどと幅広く、主要メーカーのPLCやカスタム設計されたPLCとの高速通信が可能になります。
Speedgoat はフィールドバス通信モデルを作成するための各種ライブラリを提供します。送受信したいデータをフィールドバスのパケットとして簡単に構成することができます。EtherCATであればESIファイルやENIファイル、PROFIBUSはGSDファイルなどのデバイス記述ファイル、 PROFINETのAMLファイルなどのネットワーク記述ファイルも簡単にインポートできます。
シングルノードおよびマルチノードの I/O モジュールを用いることで、小規模な集合体から大規模プラントまで通信ノードのエミュレートができます。さらに、複数のSpeedgoatを相互接続して同期させることで、より大規模なネットワークのシミュレーションが可能になります。
MathWorksとSpeedgoatが提供するRCP/HILS向けリアルタイムシミュレータ。Simulinkモデルとのシームレスな連携が可能。幅広い物理I/Oと産業分野を問わない通信プロトコルをサポート。