ソフトウェアPLC
ソフトウェアPLC
電車の車両ドアやヒーター、電源制御のコントローラーにISaGRAFを使用しています。
コントローラー開発時には、実際の電車車両は使わず、車両のI/O、モーターなどの動作をシミュレートするWindows NTマシンからなるシミュレート装置を用い、そのプログラムにもISaGRAFを使用しています。
したがって開発時には、コントローラー - シミュレート装置の組み合わせが複数存在し、それぞれにISaGRAFワークベンチが人間と制御プログラムのインターフェースとして使用されています。
ここで各アプリケーションは、C言語によるドライバーや関数とインターフェースをとり30~50msの比較的緩やかな制御の記述にIEC 1131言語を適材適所で使用しています。
従来はコントローラー、シミュレート装置とも、全てC言語でプログラムされておりプログラム修正が容易ではありませんでした。
今回、多くの開発工数を要していたシミュレート装置にISaGRAFを用いて構成したことで、実機がなくてもコントローラーのアプリケーション開発およびデバックができ下記を可能としました。
また、複数のコントローラーからなるシステム全体を、ひとつのISaGRAFプロジェクトとしてプログラム開発を進めておき、ハードウェアができたときに個々のプログラムをダウンロードしてハードウェアの動作確認を行うことが可能になりました。
ISaGRAFを導入することで、各ロボットAPIをISaGRAFのC言語ファンクションからコールするよう変更したため、アプリケーション開発とC言語ファンクション開発を分離できました。
またロボット動作のアプリケーションはSFCを用いて記述することが可能となり、導入前の課題が解決できました。
さらにISaGRAFワークベンチをロボット動作確認用のツールとして活用でき、オンライン修正、変数モニタリング、ステップ実行、ブレークポイントなどの豊富なデバック機能を利用することでメンテナンス性も向上しました。また、ISaGRAFはModbusプロトコルをサポートしているため、プログラマブル表示器との接続も簡単にでき、容易にティーチングボックスを構成することができました。
CPU | Pentium 133MHz |
---|---|
OS | リアルタイムOS |
I/O | DI/O 入力16点、出力16点 |
サポートカード | 4軸独立制御速度指令式 |
通信 | RS422 2チャンネル使用 |
今回、ISaGRAF Windows95-RTターゲットとKDW5を導入し、HMIの作成にはVisual Basicを、制御部分にはISaGRAFを使用しました。
HMI部と制御部のソフトウェア開発を分離することで、下記のメリットが得られ、アプリケーションや表示内容変更の工数を削減できました。
また、ISaGRAFのデバッグ機能を使うことで、下記のメリットが得られます。
さらにはプラットフォームにPC/AT互換のコンピュータを採用したことで、下記のメリットも得ました。
1台のKDW5でMMI、コントローラーを構築でき装置の小型化と共にコストダウンを実現しました。
プラットフォーム | コマツ PC/AT互換パネルコンピュータKDW5 |
---|---|
OS | Windows95 + リアルタイムOS |
DIO | ISAバス、入力32点、出力32点 |
D/A、D/A | ISAバス 12bitバス絶縁型D/A 12bit差動電圧/電流入力完全独立A/D |
モーターコントローラー | ISAバス インテリジェントタイプ 4軸サーボ/ステップコントローラー |
ICハンドラ用コントローラー装置として、コマツ製パネルコンピュータにWindows95をリアルタイム拡張したWindows 95-RTターゲットを用いています。サーボ位置決め制御にはARCNETを、またI/Oには高速リモートI/OであるSAVE NETを用いてシステムを構成しています。ARCNET用I/Fボードに対する制御には、ISaGRAFの標準機能であるCファンクション/ファンクションブロックを利用し、IEC 61131-3言語からC言語関数を呼び出し、それぞれの言語の利点をうまく引き出しています。まさしくC言語のCASEツールとしてもISaGRAFが利用されています。
また、I/O開発ツールでSAVE NETのI/Fボード用ドライバーを開発し、高速リモートアクセスを実現しています。Windows側では、ICの分類品の総数などをVCで作成したWindowsアプリケーションで表示させています。WindowsのアプリケーションとISaGRAF間のデータ交換は、共有メモリを経由しWindows側のデータリフレッシュを高速に行っています。
SFC言語を利用した構造化プログラミングにより効率の良いプログラム開発を実施しています。
プログラムの見やすさが、開発効率、メンテナンスの効率を向上させています。
PC | コマツ製パネルコンピュータKDW5 |
---|---|
ターゲット | ISaGRAF 95-RTターゲット |
I/O | 入力点数 約300点 内部変数 約1,700点 |
モーター制御軸数 | 25軸 |
その他 | SAVE NETとARCNETを利用 |
メインとなるマン・マシン・インターフェースをWindows95で構成し、制御のリアルタイム性を確保するためにISAバス上に拡張したPLCエンジンカードにISaGRAFの実行エンジンを移植した事例です。
リアルタイムOSを使用し、CPUにはSHマイコンを使用しています。
I/OはISAバスからは拡張できないので、カード上にPC104のインターフェースを用意し、ここからフィールドバスのI/Oを拡張しています。
PLC上には、ホストマシンとの通信を行なうためのデュアルポートRAMがあり、これを介してISaGRAFのワークベンチとの通信を行うことができます。また、シリアルポートをもち、外部のパソコンからデバッグが可能です。この開発には、ターゲット開発キットとワークベンチ開発キットを使用する必要がありましたが、比較的容易に開発できました。
サーボ制御も同様に、ISAバスに拡張したサーボカードが行います。サーボ制御とPLC制御の間の同期は、Windowsのアプリケーションでとっています。
(サーボの制御に必要なクリティカルなI/Oに関しては、ダイレクトにServoCardで行っています。)ISaGRAFの変数にアクセスするWindowsアプリケーションは、ISaGRAFのワークベンチと全く同じ方法でアクセスします。従って、この通信のための特別な改造は、ISaGRAF実行エンジンに必要としません。
CPU | Hitachi SH |
---|---|
OS | リアルタイムOS |
I/O | DI/O 入力32点、出力32点 |
D/A | 16Bit、±10V |
Field Bus | ARCNET |
ISaGRAFを使用することによって次のメリットを得ました。
また、プログラムの修正履歴や、ドキュメントが自動的に生成されるといったCASEツールとしての利用効果にも期待しています。
従来は、アプリケーション開発にはC言語の知識、専用の開発装置類の使用方法の取得が必要でありましたが、ISaGRAFのようなグラフィカルなツールによって専門知識がなくても、アプリケーション開発が可能になりました。このことで、よりユーザーニーズや実車を知る開発者がアプリケーション開発を行えるようになり、アプリケーション開発が効率よく行えるようになりました。
これまでも多くのソフトウェア部品はライブラリという形で再利用を実施してましたが、そのインターフェースは統一化が難しく理想と現実のギャップが大きくありました。これは、IEC 1131-3言語ファンクションブロックを用いることで大幅に改善されます。
新しいハードウェア、OSが登場しても再度ISaGRAFの実行エンジンさえ移植してしまえば、その上で動作するISaGRAFのアプリケーションの変更は一切不要なため、アプリケーションの再利用が可能になりました。
OS | μITRON |
---|---|
CPU | 32bit RISC |
メモリ | フラッシュ500kB RAM 1MB |
入力 | DI 32ch、A/D 20ch パルス 4ch、エンコーダ 2ch |
出力 | DO 16ch、 D/A 10ch |
通信 | RS-232C 4ch、RS-422 1ch、RS-485 1ch、CAN 2ch、S-NET 1ch |
グラフィック性に優れたマン・マシン・インターフェース(MMI)と産業分野で必須である高速なリアルタイム制御機能をもちます。また、ネットワーク化への対応やプログラム開発の容易さなどから、低コストでかつ信頼性の高い各種産業機器、システムを構築することができ、FAのみならずさまざまな産業分野での利用が可能です。
MMI系アプリケーションソフトウェア(画面、ネットワーク)はJavaによるブラウザ表示ができ、リアルタイム系とMMI系アプリケーションを同時に実行することが可能です。アプリケーションソフトウェアは、リアルタイムOS上で、相互にデータの交換を行いながら同時動作するため、高速性と優れたMMIを有したシステムを容易に構築することができます。
また、パソコンPLCソフトウェア、Java、C言語の各種プログラムは、パソコンのWindows上でも開発が可能で、システムの特長や開発容易性を考慮した組み合わせによるプログラム開発が行えます。
リアルタイム制御系アプリケーションソフトウェアはC言語とパソコンPLCソフトウェア「FC-PLC ISaGRAF」をサポート。IEC1131-3準拠の5言語に対応した「FC-PLC ISaGRAF」でJavaやC言語では、記述しにくい高度な制御プログラムを容易に記述可能となります。
OS | Windows CE 2.12/3.0 |
---|---|
ハードウェア | コマツ パネルコンピュータ CPU:VR4122 150MHz SDRAM:32MB Flashメモリ:32MB 表示器:TFTカラー液晶 10.4インチ VGA タッチパネル:アナログ式 |
開発環境 | Microsoft eMbedded Visual C++ 3.0、ISaGRAF開発ツールキット KDS-IDK |
Visual Basicのアプリケーションは、操作用の画面と生産条件ファイルの管理を行い、情報をISaGRAFにパラメータとして渡しています。
ISaGRAFのアプリケーションでは、外部I/Oとのインターロックとリアルタイムの制御を行っています。