ISaGRAFで列車をコントロール

システム概要

電車の車両ドアやヒーター、電源制御のコントローラーにISaGRAFを使用しています。
コントローラー開発時には、実際の電車車両は使わず、車両のI/O、モーターなどの動作をシミュレートするWindows NTマシンからなるシミュレート装置を用い、そのプログラムにもISaGRAFを使用しています。
したがって開発時には、コントローラー - シミュレート装置の組み合わせが複数存在し、それぞれにISaGRAFワークベンチが人間と制御プログラムのインターフェースとして使用されています。
ここで各アプリケーションは、C言語によるドライバーや関数とインターフェースをとり30~50msの比較的緩やかな制御の記述にIEC 1131言語を適材適所で使用しています。

導入前の課題と導入のポイント

従来はコントローラー、シミュレート装置とも、全てC言語でプログラムされておりプログラム修正が容易ではありませんでした。
今回、多くの開発工数を要していたシミュレート装置にISaGRAFを用いて構成したことで、実機がなくてもコントローラーのアプリケーション開発およびデバックができ下記を可能としました。

  • 電車にコントローラーを取り付けた後、モーターを破損させるような
    トラブルを回避
  • 立ち上げ時間の短縮

また、複数のコントローラーからなるシステム全体を、ひとつのISaGRAFプロジェクトとしてプログラム開発を進めておき、ハードウェアができたときに個々のプログラムをダウンロードしてハードウェアの動作確認を行うことが可能になりました。

ISaGRAFで搬送用ロボットを制御

導入前の課題

  • メンテナンス性が悪い
  • C言語のプログラマーにしかアプリケーションが開発できない

ロボット動作の全てをC言語で記述していたため、ロボット動作プログラムの変更には、C言語によるコーディング、コンパイル、リンクの作業が必要でした。また、動作確認をするためのツールの作成も必要であり、ロボットの動作アプリケーションの開発には非常に多くの工数を要していました。

導入のポイント

ISaGRAFを導入することで、各ロボットAPIをISaGRAFのC言語ファンクションからコールするよう変更したため、アプリケーション開発とC言語ファンクション開発を分離できました。
またロボット動作のアプリケーションはSFCを用いて記述することが可能となり、導入前の課題が解決できました。

  • 開発工数の低減
  • C言語プログラマー以外でもアプリケーション開発が行えるようになった

さらにISaGRAFワークベンチをロボット動作確認用のツールとして活用でき、オンライン修正、変数モニタリング、ステップ実行、ブレークポイントなどの豊富なデバック機能を利用することでメンテナンス性も向上しました。また、ISaGRAFはModbusプロトコルをサポートしているため、プログラマブル表示器との接続も簡単にでき、容易にティーチングボックスを構成することができました。