HOME > ソフテックだより > 第297号(2018年1月3日発行) 技術レポート「PLC開発におけるシミュレータを活用した実機レスデバッグ」

「ソフテックだより」では、ソフトウェア開発に関する情報や開発現場における社員の取り組みなどを定期的にお知らせしています。
さまざまなテーマを取り上げていますので、他のソフテックだよりも、ぜひご覧下さい。

ソフテックだより(発行日順)のページへ
ソフテックだより 技術レポート(技術分野別)のページへ
ソフテックだより 現場の声(シーン別)のページへ


ソフテックだより 第297号(2018年1月3日発行)
技術レポート

「PLC開発におけるシミュレータを活用した実機レスデバッグ」

1. はじめに

各メーカーのPLCプログラミングツールには、PLCのシミュレータが搭載されています。
シミュレータは、文字通り実機PLCをシミュレーションするものであり、実機PLCが無い状況でもPC1台あれば手軽にプログラムを動かしてみることができます。
対応命令に制限がある、タイマ精度が実機PLCと異なるなど多少制約はありますが、うまく活用することでPLCアプリケーションの開発効率を向上させることができます。

本技術レポートでは、過去の事例を取り上げ、シミュレータを活用することのメリット、注意すべき点について紹介したいと思います。
また、各シミュレータの機能についても簡単に紹介します。

2. シミュレータを使用するメリットと活用事例

2.1 実機が無くても動作確認できる

ソフトウェア開発の現場では、コーディングを終えたあと、実際にプログラムを動作させてバグを潰すデバッグ作業を行います。
PLCアプリケーション開発でも同様で、なるべく現地の環境に近いデバッグ環境を社内に立ち上げてデバッグを行います。

デバッグ環境構築に最低限必要な実機PLCは、弊社ではお客様からお借りして使用することがほとんどです。
現地へ新規に納入するような案件であれば、実際に納めるPLCを借用してハードウェア確認も兼ねて使用することができますが、既に稼働しているシステムの改造案件である場合など、PLCの借用が難しいことも多々あります。

何とか実機PLCを確保しようと努力はしますが、どうしても確保できない場合にシミュレータを利用することも一つの選択肢となります。
シミュレータはPC上で動作するため、実機PLCと比較していくつか制約があります。
この制約を熟知した上で利用すれば非常に強力なツールであると思います。

2.2 PLC機種の違いを吸収

他人が開発したプログラムを解析するようなケースにおいてもシミュレータのメリットが発揮されます。
ただ闇雲に回路を読んでいくよりも、動きを確認しながら見ていった方が、速く正確に解析することができるためです。

PLCは同じメーカーでも機種が多く存在するため、解析対象のプログラムに合った実機PLCを用意するのは大変です。
シミュレータならば機種設定を合わせるだけで利用可能となり、シミュレータが機種の違いを吸収してくれます。

弊社の事例では、古いPLCのリプレース案件で役立っています。
古いPLCの場合には更に実機PLCを準備することが大変になりますので、シミュレータが大活躍します。

2.3 実機では行えない詳細なデバッグ作業も

シミュレータを利用することで、実機PLCでは行うことができないデバッグも可能となります。
組込み、パソコンアプリケーション開発でごく普通に行うステップ実行が代表例です。
ラダープログラムにおいても、好きな条件でブレークさせて1ステップずつ演算結果を確認していくということが、シミュレータを利用すると可能となります。

弊社のPLC技術者ならば、このようなデバッグ機能に頼らなくても通常は問題となりませんが、過去の事例では再現性の低いバグの原因追究を行う場面でシミュレータが威力を発揮しました。
バグが再現したらブレークするように条件設定し、再現するまでシミュレータを走らせておくという使い方です。

シミュレータによっては、ブレークした状態から過去に遡ってステップ実行する機能も搭載されていますので、バグ再現時の状態を確認できるだけでなく、より効率良く原因に辿りつくことが可能です。

2.4 ラダープログラムの学習にも有効

また、これらのデバッグ機能は、ラダープログラムを学習している方にも有効です。
1ステップごとに命令の実行結果を確認することができるため、ラダープログラムの理解を深めるのに最適な機能です。
各社タッチパネルにもシミュレータがあり、PLCのシミュレータと連携できるものもありますので、HMI(ヒューマンマシンインタフェース)とセットで学習する際にも環境構築の手間が大きく軽減されます。

3. シミュレータを使用する際の注意点

実機PLCは、制御プログラムを動作させるために専用で開発された組込みアプリケーションですが、シミュレータはあくまでWindows OS上でシミュレーションしているだけです。汎用的なWindows OS上で動作するため、どうしても制約は存在します。
この制約は「実機PLCとシミュレータの違い」として、どのPLCメーカーも取扱説明書に詳しく記載していますので、違いを熟知した上で利用する必要があります。

3.1 タイマ精度

実機PLCとシミュレータの違いの中で代表的なものは、タイマの精度です。
実機PLCはリアルタイムな処理が可能ですが、Windowsアプリケーションであるシミュレータのタイマ精度はOSに依存します。
そのため、ラダープログラムで使用するタイマ命令、クロック系の特殊リレーなど時間に関係するものは、実機PLCと全く同一にはなりません。
厳密な時間管理が必要なプログラムには不向きということとなります。

3.2 対応命令

対応命令にも実機PLCとシミュレータで違いがあります。
使用頻度の高い一般的な命令はどのシミュレータでも対応していますが、ソケット通信、ファイル処理といった外部との通信やリソースを使用するような命令は未サポートとなっているメーカーが多いです。
未サポート命令については、取扱説明書にまとめられており、命令が使われた場合にどのような動きをするかについても記載されています。
また、シミュレータによっては、実行中のプログラムで使用している未サポート命令をリストアップしてくれる機能もありますので、どこまでシミュレーションできるのか把握した上で利用する必要があります。

以上の通り、実機PLCと完全に同一の動作とはなりませんので無条件に信頼してしまうのは少々危険です。
三菱PLCの取扱説明書『GX Works2 Version1 オペレーティングマニュアル(共通編)』、18.1.1章「シミュレーション機能の安全および取扱い上の注意事項」にも以下の記述があります。

シミュレーション機能は実際のシーケンサCPUをシミュレーションして、作成したシーケンスプログラムをデバッグするものですが、デバッグ後のシーケンスプログラムの動作を保証するものではありません。

実機との違いや制約をしっかり把握した上で、目的を持って活用する必要があります。

4. 各社シミュレータの特徴

最後に、PLCメーカー4社のシミュレータの特徴を簡単に挙げさせて頂きます。
詳しい情報は参考文献に記載した各社ドキュメントを参照頂ければと思います。

メーカー シミュレータ 内容
三菱電機 GX Simulator2
  • 三菱PLCのプログラミングツールGX Works2に搭載されているシミュレータ。
  • 同社製タッチパネルGOTと相性が良く、HMI含めたデバッグ環境の構築が簡単に行える。
  • 「シミュレーション未サポート命令表示」機能があり、シミュレーション可能な範囲が把握しやすい。
横河電機 Virtual-M3
  • 横河PLCのプログラミングツールWideField3と連携して動作するシミュレータ。
  • 同社の上位リンクプロトコルに対応しているタッチパネル、SCADAであればメーカー問わず接続可能。
  • 外部機器側の動作もラダープログラムで組むことが可能で、より複雑な仮想I/Oシミュレーションが可能。
  • 最大128回まで過去に遡ったステップ実行が可能。もちろんデバイスの値も元に戻る。
キーエンス KV STUDIO
  • キーエンスPLCのプログラミングツールKV STUDIOに搭載さているシミュレータ。
  • ファイル関係の命令もサポートしており、対応命令の制約が少ない。
  • デバッグ機能がとても豊富。 逆連続ステップ実行、逆1ブロック実行、逆1ステップ実行といった過去に遡るデバッグが可能。
オムロン CX-Simulator
  • OMRON PLC(CS/CJ/CP/NSJシリーズ)用の統合パッケージCX-Oneに含まれたシミュレータ。プログラミングツールCX-Programmerと連携して動作する。
  • 2つのサイクルタイム設定(仮想サイクルタイム/パソコンサイクルタイム)が選択可能。仮想サイクルタイムに設定することで、時間の扱いがより実機PLCに近くなる。
  • シリアル通信用命令、ネットワーク通信用命令もサポートしており、対応命令の制約が少ない。

5. おわりに

PLC開発におけるシミュレータを活用した実機レスデバッグというテーマで、シミュレータの活用事例や注意点を紹介しました。
執筆にあたっての調査で、今まで使ったことが無かった機能についても理解が深まり、改めて開発効率向上に活用できると感じました。
皆様も本レポートを参考にして利用してみてはいかがでしょうか。

最後に、4社のシミュレータの機能については、本技術レポートではほんの一部しか紹介することができませんでした。
より詳細な情報は、参考文献に記載した各社のドキュメント、ホームページ、アプリケーション内のヘルプを参照頂ければと思います。

(M.S.)

[参考文献]
『GX Simulator Version 7 オペレーティングマニュアル』三菱電機
『エンジニアリングソフトウェア GX Works2 Version1オペレーティングマニュアル(共通編)』三菱電機
『General Specifications SF681-MDW FA-M3 シミュレーションソフトウェア Virtual-M3 R1』横河電機
『User's Manual FA-M3 シミュレーションソフトウェア Virtual-M3 IM 34M06Q50-22』横河電機
『ラダーサポートソフト KV STUDIO Ver.9 ユーザーズマニュアル』キーエンス
FA-M3シミュレーションソフトウェア「Virtual-M3」(https://go.yokogawa.co.jp/virtualm3_tokucyou.html)横河電機

関連ページへのリンク

関連するソフテックだより

ページTOPへ