(57)【要約】【課題】  プログラマブルコントローラにおいて、高機能モジュールのチェックを行うためにはシステムプログラムにチェック用のＩ／Ｏシーケンスを組むか、チェックプログラムを作成してシステムプログラムと置き換えなければならなかった。また、高機能モジュールの操作はプログラミングを行わなければならないので、プログラムの知識とプログラム開発環境が必要であったという課題を解決する。【解決手段】  Ｉ／Ｏ操作コマンド処理し、このＩ／Ｏ操作コマンドによって変化した状態情報を収集するコマンド処理部をコントローラに設け、コマンド処理部が処理するＩ／Ｏ操作コマンドおよび前記状態情報を履歴として保存する履歴保存部、およびこの履歴保存部に保存された履歴からマクロを抽出するマクロ抽出部をプログラム開発装置に設けた。コントローラのシステムプログラムの書き換えが不要になり、かつプログラミング環境が異なるコントローラでも共通ルールでＩ／Ｏ操作が可能になる。【選択図】                    図１
2008269057.tif 000002
【特許請求の範囲】
【請求項１】
プログラム開発装置と、このプログラム開発装置と通信回線で接続され、前記プログラム開発装置で作成したプログラムが実行されるコントローラを具備したプログラム開発システムにおいて、
前記コントローラに内蔵され、前記プログラム開発装置から送られてきた操作コマンドを処理し、この操作コマンドによって変化した前記コントローラの状態情報を収集して前記プログラム開発装置に送信するコマンド処理部と、
前記プログラム開発装置に配置され、操作コマンドを入力して実行する操作コマンド入力部と、
前記プログラム開発装置に配置され、前記コントローラに送信する操作コマンド、および前記コマンド処理部から送信された状態情報を履歴情報として保存する履歴保存部と、
前記プログラム開発装置に配置され、前記履歴保存部に保存された履歴情報からマクロを抽出するマクロ抽出部と、
前記プログラム開発装置に配置され、前記履歴保存部に保存されている履歴情報、および前記マクロ抽出部が抽出したマクロを閲覧する履歴閲覧部と、
前記プログラム開発装置に配置され、前記マクロ抽出部が抽出したマクロを編集するマクロ編集部と、
を具備したことを特長とするプログラム開発システム。
【請求項２】
前記マクロ編集部は、前記マクロ抽出部が抽出したマクロにコメントを付加できるようにしたことを特長とする請求項１記載のプログラム開発システム。
【請求項３】
前記マクロは、前記操作コマンドおよび前記状態情報で構成されることを特長とする請求項１若しくは請求項２記載のプログラム開発システム。
【請求項４】
前記マクロをラダー言語および／またはＣ言語に自動変換することにより、プログラムを作成するようにしたことを特長とする請求項１乃至請求項３いずれかに記載のプログラム開発システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、簡単な操作でコントローラのプログラムを作成することができるシステムに関し、特にプログラマブルコントローラに用いて好適なプログラム開発システムに関するものである。
【背景技術】
【０００２】
図３にプログラマブルコントローラおよびこのプログラマブルコントローラ上で動作するプログラムを開発するプログラム開発装置の構成を示す。図３において、１０はプログラマブルコントローラであり、ラダープログラムなどのプログラムが実行され、このプログラムに基づいて他のモジュールを操作するＣＰＵモジュール１１、接点入出力などを司るデジタルＩＯモジュール１２、アナログ入出力を扱うアナログモジュール１３、他のプログラマブルコントローラ等と通信を行う通信モジュール１４、機器の温度調節を行う温度調節モジュール１５、加工機等の軸制御を行う軸制御モジュール１６で構成されている。
【０００３】
デジタルＩＯモジュール１２、アナログＩＯモジュール１３は動作が単純であるのに対して、通信モジュール１４、温度調節モジュール１５、軸制御モジュール１６は高機能モジュールと称され、高度な機能を有している。なお、これらの高機能モジュールは用途によって適宜組み合わせて使用され、この他にモーション制御モジュール、リモートＩＯモジュールなどがある。
【０００４】
２０はパソコン等で構成されたプログラム開発装置であり、プログラマブルコントローラ１０とはイーサネット（登録商標）等のＬＡＮ(Local Area Network)で接続される。通信モジュール１４、温度調節モジュール１５、軸制御モジュール１６などの高度な機能を有するモジュールを制御するためには複雑なＩ／Ｏ操作が必要であり、既存のプログラムをそのまま用いることはできない。そのため、Ｉ／Ｏ操作のシーケンスプログラムをプログラム開発装置２０で作成し、この作成したプログラムをプログラマブルコントローラ１０にダウンロードしてＣＰＵモジュール１１で実行する。このようにすることによって、複雑なＩ／Ｏ操作を確実に実行することができる。
【特許文献１】特開２００６−２０２１６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、このようなプログラム開発装置には、次のような課題があった。プログラム開発装置２０で作成したＩ／Ｏ操作のシーケンスプログラムを用いて高機能モジュールの機能をチェックするためには、プログラマブルコントローラ１０のシステムプログラムにチェック用のＩ／Ｏシーケンスを組むか、システムプログラムとは別のチェック用プログラムを作成して、システムプログラムと入れ替えてチェックしなければならない。このため操作が複雑になり、また専門的な知識が必要になるという課題があった。
【０００６】
また、高機能モジュールのＩ／Ｏ操作のプログラムを作成するためには特別なプログラム開発環境と高度な知識が必要になるという課題もあった。特に、リアルタイムＯＳを利用するＣＰＵモジュールの開発環境は簡単に準備することが難しいという課題もあった。
【０００７】
プログラマブルコントローラ１０を操作する既存の操作用プログラムを用いて、単純なＩ／Ｏ操作を繰り返し行うことで高機能モジュールを操作することはできるが、操作が煩雑になり、また実行する度に全操作を繰り返し行わなければならないので、同じ処理を再現することが困難であるという課題もあった。
【０００８】
従って本発明の目的は、システムプログラムを変更することなく、単純な操作で高機能モジュールのＩ／Ｏ操作を実現し、かつこのＩ／Ｏ操作をマクロとして抽出して編集することができるプログラム開発システムを提供することにある。
【課題を解決するための手段】
【０００９】
このような課題を達成するために、本発明のうち請求項１記載の発明は、
プログラム開発装置と、このプログラム開発装置と通信回線で接続され、前記プログラム開発装置で作成したプログラムが実行されるコントローラを具備したプログラム開発システムにおいて、
前記コントローラに内蔵され、前記プログラム開発装置から送られてきた操作コマンドを処理し、この操作コマンドによって変化した前記コントローラの状態情報を収集して前記プログラム開発装置に送信するコマンド処理部と、
前記プログラム開発装置に配置され、操作コマンドを入力して実行する操作コマンド入力部と、
前記プログラム開発装置に配置され、前記コントローラに送信する操作コマンド、および前記コマンド処理部から送信された状態情報を履歴情報として保存する履歴保存部と、
前記プログラム開発装置に配置され、前記履歴保存部に保存された履歴情報からマクロを抽出するマクロ抽出部と、
前記プログラム開発装置に配置され、前記履歴保存部に保存されている履歴情報、および前記マクロ抽出部が抽出したマクロを閲覧する履歴閲覧部と、
前記プログラム開発装置に配置され、前記マクロ抽出部が抽出したマクロを編集するマクロ編集部と、
を具備したものである。コントローラのプログラム開発環境に依存しないシステムを構築することができる。
【００１０】
請求項２記載の発明は、請求項１記載の発明において、
前記マクロ編集部は、前記マクロ抽出部が抽出したマクロにコメントを付加できるようにしたものである。マクロの動作が理解し易くなる。
【００１１】
請求項３記載の発明は、請求項１若しくは請求項２記載の発明において、
前記マクロを、前記操作コマンドおよび前記状態情報で構成するようにしたものである。入力、実行した操作コマンドを連続して再現することができる。
【００１２】
請求項４記載の発明は、請求項１乃至請求項３いずれかに記載の発明において、
前記マクロをラダー言語および／またはＣ言語に自動変換することにより、プログラムを作成するようにしたものである。プログラムの知識のない人でも、コントローラのプログラムを作成することができる。
【発明の効果】
【００１３】
以上説明したことから明らかなように、本発明によれば次のような効果がある。
請求項１，２、３および４の発明によれば、入力された操作コマンドを処理し、変化した状態情報を収集するコマンド処理部をコントローラに設け、プログラム開発装置で操作コマンドを入力して実行する操作を繰り返して、この実行した操作コマンドを履歴として保存すると共にコントローラに送信してコマンド処理部で処理し、この処理によって変化したコントローラの状態情報を履歴として保存して、これらの履歴からマクロを抽出するようにした。
【００１４】
プログラム開発装置で入力した操作コマンドを処理し、変化した状態情報を収集するコマンド処理部をコントローラに内蔵したので、コントローラのシステムプログラムを変更しなくても操作コマンドを実行することができるという効果がある。また、コントローラの開発環境に依存しないプログラム開発システムを実現することができるという効果もある。さらに、開発環境が異なるＣＰＵを内蔵したコントローラでも、共通のルールでＩ／Ｏの操作が可能になるという効果もある。
【発明を実施するための最良の形態】
【００１５】
以下本発明を図面を用いて詳細に説明する。図１は本発明に係るプログラム開発システムの一実施例を示す構成図である。なお、図３と同じ要素には同一符号を付し、説明を省略する。また、本実施例はコントローラとしてプログラマブルコントローラを用いた実施例である。
【００１６】
図１において、３０はプログラマブルコントローラであり、コマンド処理部３１、ＣＰＵモジュール１１、デジタルＩＯモジュール１２、アナログＩＯモジュール１３、通信モジュール１４、温度調節モジュール１５、および軸制御モジュール１６で構成されている。通信モジュール１４、温度調節モジュール１５、軸制御モジュール１６は高機能モジュールである。コマンド処理部３１は、後述するプログラム開発装置から送られてきたＩ／Ｏ操作コマンドを順番に処理し、この処理によって変化した各モジュールの状態情報を収集して、ＬＡＮ２１を介してプログラム開発装置に送信する。
【００１７】
４０はプログラム開発装置であり、ＬＡＮ２１でプログラマブルコントローラ３０と接続されている。プログラム開発装置４０は、ＬＡＮ２１に接続され、このＬＡＮ２１を介してプログラマブルコントローラ３０とデータの授受を行う通信部４１、履歴を保存する履歴保存部４２、この履歴保存部４２からマクロを抽出するマクロ抽出部４３、キーボードや表示器で構成される入出力部４４で構成されている。入出力部４４は、操作コマンドを入力する操作コマンド入力部と、履歴保存部４２に保存された履歴や抽出したマクロを閲覧する履歴閲覧部と、マクロ抽出部４３が抽出したマクロを編集するマクロ編集部の機能を具備している。
【００１８】
ユーザは入出力部４４を用いて高機能モジュールを操作するＩ／Ｏ操作コマンドを入力し、実行する。この実行されたＩ／Ｏ操作コマンドは履歴保存部４２に履歴として保存されると共に、通信部４１によってプログラマブルコントローラ３０内のコマンド処理部３１に送信される。コマンド処理部３１は受信したＩ／Ｏ操作コマンドを処理する。また、このＩ／Ｏ操作コマンドの処理によって変化した各モジュールの状態情報を収集し、ＬＡＮ２１を介して通信部４１に送信する。通信部４１は受信した状態情報を履歴保存部４２に出力する。履歴保存部４２はこの状態情報を履歴として保存する。
【００１９】
ユーザはまた、随時入出力部４４を操作して、履歴保存部４２に保存された履歴を閲覧することができる。また、ユーザの指示により、マクロ抽出部４３は履歴保存部４２に保存された履歴からマクロを抽出する。マクロとは、実行されたＩ／Ｏ操作コマンドとそのときの各モジュールの状態を順番に記録したものである。
【００２０】
また、ユーザは入出力部４４を用いてマクロ抽出部４３が抽出したマクロを閲覧し、編集することができる。例えば、マクロ抽出部４３が抽出したマクロを整理し、またマクロの理解を容易にするために、実行には無関係なコメントを挿入することができる。
【００２１】
ユーザは、任意の時点でマクロ抽出部４３が抽出し、またユーザが編集したマクロを呼び出し、実行することができる。マクロが実行されると、マクロに記載されたＩ／Ｏ操作コマンドが順番に通信部４１を介してコマンド処理部３１に送信される。コマンド処理部３１は、受信したＩ／Ｏ操作コマンドを処理する。この際、Ｉ／Ｏ操作コマンドのシーケンスを解釈せず、そのまま処理する。この一連のＩ／Ｏ操作コマンドによって変化した各モジュールの状態はコマンド処理部３１によって収集され、履歴保存部４２に保存される。この保存された履歴を参照することにより、ユーザはマクロが希望通りの操作を実行したかどうかを確認することができる。
【００２２】
次に、このプログラマブルコントローラ３０およびプログラム開発装置４０を用いて高機能モジュールのＩ／Ｏ操作プログラム作成の手順を、図２フローチャートを用いて説明する。
【００２３】
図２において、工程（Ｐ２−１）で、ユーザは高機能モジュールを操作するＩ／Ｏ操作コマンドを入力し、実行する。工程（Ｐ２−２）で、実行されたＩ／Ｏ操作コマンドは履歴保存部４２に保存されると共に、コマンド処理部３１に送信される。コマンド処理部３１は、工程（Ｐ２−３）で受信したＩ／Ｏ操作コマンドを処理し、この処理によって変化した各モジュールの状態を収集して送信する。この状態情報は履歴保存部４２によって、履歴として保存される（工程（Ｐ２−４））。ユーザは、Ｉ／Ｏ操作コマンドを順番に入力して実行する。工程（Ｐ２−５）で一連のＩ／Ｏ操作コマンドの入力、実行が終了したかを判断し、終了していないと工程（Ｐ２−１）に戻る。
【００２４】
一連のＩ／Ｏ操作コマンドの入力、実行が終了すると、工程（Ｐ２−６）でユーザはマクロ抽出部４３に指示し、履歴保存部４２に保存された履歴からマクロを抽出させる。そして、工程（Ｐ２−７）でこの抽出されたマクロを編集する。すなわち、コメントの挿入、不適切なＩ／Ｏ操作コマンドの除去などを行う。この際、履歴として保存されているモジュールの状態変化情報を参照して、各モジュールの動作を確認する。
【００２５】
編集が終了すると、工程（Ｐ２−８）でこの編集したマクロを実行する。マクロに記載されたＩ／Ｏ操作コマンドは順番にコマンド処理部３１に送られる。コマンド処理部３１は、このマクロに記載されたＩ／Ｏ操作コマンドを処理し、そのときの各モジュールの状態情報を収集する。この状態情報は履歴保存部４２に保存される。
【００２６】
ユーザは、履歴保存部４２に保存された状態情報から、高機能モジュールの動作を確認する（工程（Ｐ２−９））。高機能モジュールの動作が期待したものであると終了し、期待したものでないと、工程（Ｐ２−７）に戻って再度マクロを編集する。あるいは工程（Ｐ２−１）に戻って最初からＩ／Ｏ操作コマンドの入力、実行をやり直してもよい。
【００２７】
この実施例では、プログラム開発装置４０により連続するＩ／Ｏ操作コマンドを入力し、この入力したＩ／Ｏ操作コマンドを履歴として保存すると共に、プログラマブルコントローラ３０内のコマンド処理部３１に送信して処理し、保存した履歴からマクロを抽出するようにした。
【００２８】
Ｉ／Ｏ操作コマンド処理するコマンド処理部３１をプログラマブルコントローラ３０に配置したので、プログラマブルコントローラ３０のシステムプログラムを書き換えることなく、Ｉ／Ｏ操作コマンドを処理できる。
【００２９】
また、プログラマブルコントローラ３０で処理したＩ／Ｏ操作コマンド、およびこのコマンドによって変化した状態情報を履歴として保存し、この履歴からマクロを抽出するようにしたので、同じ操作を確実に繰り返すことができる。さらに、このマクロをラダー言語やＣ言語に変換する言語変換ソフトウエアに入力して、ラダープログラムやＣプログラムを自動作成することができる。Ｉ／Ｏ操作がそのままプログラムになるので、プログラミングの知識がない人でも、プログラマブルコントローラのプログラムを作成することができる。
【００３０】
また、Ｉ／Ｏ操作コマンドを入力するだけでプログラミングができるので、プログラム開発環境が異なるＣＰＵモジュールを内蔵したプログラマブルコントローラであっても、共通のルールでＩ／Ｏを操作し、プログラムを作成することができる。
【００３１】
図３に示すように、従来もネットワークを介して個々の処理を行うリモートプログラミングは行われてきたが、単にネットワークを介して高機能モジュールを操作するだけのものであった。本発明では履歴からマクロを抽出するようにしたので、処理の再現が容易になり、かつこのマクロを用いてプログラムを作成する本当の意味でのリモートプログラミングが可能になる。
【００３２】
なお、本実施例ではプログラマブルコントローラの高機能モジュールのＩ／Ｏ操作について説明したが、高機能モジュールだけでなく、他のモジュールの操作、あるいはＩ／Ｏ操作以外の操作に応用することができる。また、プログラマブルコントローラだけでなく、他のコントローラのチェックやプログラム作成に応用することもできる。
【図面の簡単な説明】
【００３３】
【００３４】
【図１】本発明の一実施例を示す構成図である。
【図２】本発明の一実施例の動作を示すフローチャートである。
【図３】従来のプログラマブルコントローラとプログラム開発装置の構成図である。
【符号の説明】
【００３５】
１１  ＣＰＵモジュール
１２  デジタルＩＯモジュール
１３  アナログＩＯモジュール
１４  通信モジュール
１５  温度調節モジュール
１６  軸制御モジュール
２１  ＬＡＮ
３０  プログラマブルコントローラ
３１  コマンド処理部
４０  プログラム開発装置
４１  通信部
４２  履歴保存部
４３  マクロ抽出部
４４  入出力部
【図１】
2008269057.tif 000003
【図２】
2008269057.tif 000004
【図３】
2008269057.tif 000005