(57)【要約】【課題】他プログラマブルコントローラのラダープログラムを学習し、他プログラマブルコントローラにより制御される制御機械を、他プログラマブルコントローラに置き換えて自プログラマブルコントローラにより制御できるようにすること。【解決手段】他プログラマブルコントローラ１内のラダープログラムに基づく当該他プログラマブルコントローラ１とユーザ装置３との間を他プログラマブルコントローラに搭載のラダープログラムの実行に応じて伝送する入・出力信号を記録し、この記録した入・出力信号からラダープログラムを作成する。【選択図】図２
2010204998.tif 000002
【特許請求の範囲】
【請求項１】
他プログラマブルコントローラ内のラダープログラムに基づく当該他プログラマブルコントローラとユーザ装置との間でやり取りする入・出力信号を記録する信号記録手段と、この信号記録手段により記録された入・出力信号を、ラダープログラム内のラダー言語をアセンブルして得られた機械語による実行結果として、この入・出力信号を逆アセンブリすることでラダープログラム化するラダープログラム化手段と、を含み、
ラダープログラム化手段は、ラダープログラム中に上記入・出力信号を逆アセンブリできない関数ブロックが含まれるときは、その関数ブロックに関しては、入・出力信号そのものをラダープログラムとする、ことを特徴とするプログラマブルコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、他プログラマブルコントローラにより制御される制御機械等を当該他プログラマブルコントローラに置き換えて自プログラマブルコントローラで制御する場合において、他プログラマブルコントローラのユーザプログラムを学習して自プログラマブルコントローラにより上記制御機械等を制御可能とする技術に関するものである。
【背景技術】
【０００２】
プログラマブルコントローラは、多数の生産機械を制御する制御システムに組み込まれて使用される。プログラマブルコントローラは、当該プログラマブルコントローラ全体を統率して制御するＣＰＵ、ユーザプログラムが格納されるプログラムＲＯＭ、ＣＰＵが作業に用いるワークＲＡＭ等に加えて、各種生産装置や設備装置に取り付けたスイッチやセンサ等の入力機器からの信号を入力したり、アクチュエータ等の出力機器に制御出力を出力したりするＩ／Ｏ部を備える。このＩ／Ｏ部に接続される入力や出力の機器は、ユーザにより、生産機械に合わせて配置され、ユーザ装置を構成する。
【０００３】
以上のプログラマブルコントローラを組み込んだ制御システムにおいては、他プログラマブルコントローラにより制御している制御機械を、当該他プログラマブルコントローラを自プログラマブルコントローラに置き換えて制御することが必要な場合がある。この置き換え制御では、他プログラマブルコントローラのラダープログラムを学習する必要がある。
【０００４】
しかしながら、他プログラマブルコントローラでは、ラダープログラム中に当該他プログラマブルコントローラ独特の関数命令があり、他プログラマブルコントローラを自プログラマブルコントローラに置き換えることができない。
【０００５】
なお、学習機能付きのプログラマブルコントローラの特許文献としては、例えば、以下がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−１９０１１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、他プログラマブルコントローラのラダープログラムをすべて学習可能にして、他プログラマブルコントローラにより制御される制御機械を、当該他プログラマブルコントローラに置き換えて自プログラマブルコントローラにより制御できるようにすることである。
【課題を解決するための手段】
【０００８】
本発明によるプログラマブルコントローラは、他プログラマブルコントローラ内のラダープログラムに基づく当該他プログラマブルコントローラとユーザ装置との間でやり取りする入・出力信号を記録する信号記録手段と、この信号記録手段により記録された入・出力信号を、ラダープログラム内のラダー言語をアセンブルして得られた機械語による実行結果として、この入・出力信号を逆アセンブリすることでラダープログラム化するラダープログラム化手段と、を含み、ラダープログラム化手段は、ラダープログラム中に上記入・出力信号を逆アセンブリできない関数ブロックが含まれるときは、その関数ブロックに関しては、入・出力信号そのものをラダープログラムとすることを特徴とするものである。
【０００９】
本発明では、他プログラマブルコントローラにより制御している制御機械を、当該他プログラマブルコントローラを自プログラマブルコントローラに置き換えて制御することが必要な場合では、他プログラマブルコントローラ内のラダープログラムの実行に基づいて、当該他プログラマブルコントローラと、この他プログラマブルコントローラにより制御されるユーザ装置との間に自プログラマブルコントローラを介在させて、この自プログラマブルコントローラ内の信号記録手段により、これらの間を伝送する一連の入・出力信号を記録することができる。そして、自プログラマブルコントローラ内のラダープログラム化手段により、信号記録手段により記録された一連の入・出力信号を逆アセンブリしてラダープログラム化すると共に、ラダープログラム中の逆アセンブリできない関数ブロックに関しては入・出力信号で表すことができる。そのため、例えば、ラダープログラムで、ラダー言語の接点記号でロジック表現可能な場合では、プログラム要素をラダー言語で表すが、関数ブロックのように内部ロジックが不明なプログラム要素では、入・出力信号のみで表すことができるので、他プログラマブルコントローラにおけるラダープログラム中には当該他プログラマブルコントローラ独特の関数命令があっても、他プログラマブルコントローラを自プログラマブルコントローラに置き換えて制御機械を制御することができるようになる。
【発明の効果】
【００１０】
本発明では、他プログラマブルコントローラのラダープログラムをすべて学習することができるので、他プログラマブルコントローラにより制御される制御機械を、当該他プログラマブルコントローラに置き換えて自プログラマブルコントローラにより制御することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は他プログラマブルコントローラと、この他プログラマブルコントローラにより制御される制御機械とを含む制御システム構成を示す図である。
【図２】図２は図１の制御システムにおいて他プログラマブルコントローラのラダープログラムを学習する本発明の実施の形態のプログラマブルコントローラの概略構成を示す図である。
【図３】図３は図２の自プログラマブルコントローラ内の２つの機能ブロックを示す図である。
【図４】図４（ａ）は他プログラマブルコントローラのラダープログラムの一部、図４（ｂ）は他プログラマブルコントローラのラダープログラムを学習して得た自プログラマブルコントローラのラダープログラムの一部を示す図である。
【図５】図５は図４（ａ）の関数ブロックのロジックを入・出力信号のタイムチャートで示す図である。
【発明を実施するための形態】
【００１２】
以下、添付した図面を参照して、本発明の実施の形態に係る学習機能型プログラマブルコントローラを詳細に説明する。
【００１３】
まず図１に、他プログラマブルコントローラ１と、ユーザ装置３と、制御機械５とよりなる制御システムの概略構成を示す。他プログラマブルコントローラ１とは、実施の形態のプログラマブルコントローラを自プログラマブルコントローラとした場合に、制御システム内において当該自プログラマブルコントローラと置き換えられるプログラマブルコントローラをいう。この他プログラマブルコントローラ１は、ハードウエア的には、ＣＰＵ１ａ、ＲＯＭ１ｂ、ＲＡＭ１ｃ、Ｉ／Ｏ部１ｄ、を備え、ＣＰＵ１ａにより、ＲＯＭ１ｂに格納してあるプログラムに従って図１に示す制御システム全体を制御するようになっている。ＲＯＭ１ｂは、プログラムメモリとして、システム制御プログラム、ラダープログラムを格納している。ＲＡＭ１ｃは、ＣＰＵ１ａが自身のワークやその他に用いるメモリである。Ｉ／Ｏ部１ｄは、入・出力信号をユーザ装置３との間で送受信する。ユーザ装置３は、スイッチやセンサ等の入力機器３ａと、リレー，バルブ，アクチュエータ等の出力機器３ｂとを含み、入力機器３ａはターゲットシステムである制御機械５の状態等に関わる入力信号を他プログラマブルコントローラ１のＩ／Ｏ部１ｄに出力する一方、出力機器３ｂはＩ／Ｏ部１ｄからの制御出力に応答して制御機械５を制御する。
【００１４】
この他プログラマブルコントローラ１のラダープログラムの一部を図４（ａ）に示す。図４（ａ）はラダープログラムの一部がラダー言語によるラダー図で示されており、このラダー図の詳細な説明は略するが、ステップｎ１のプログラム要素は、入力接点Ｘ１と、出力接点Ｙ１とで構成される。ステップｎ２のプログラム要素は、入力接点Ｘ２と関数ブロックＦ１と、出力接点Ｙ２とで構成される。ステップｎ３のプログラム要素は、入力接点Ｘ３とＰＩＤブロックＦ２と、出力接点Ｙ３とで構成される。
【００１５】
他プログラマブルコントローラ１のＣＰＵ１ａは、プログラムＲＯＭ１ｂ内の図４（ａ）でその一部が示されるラダープログラムを実行し、ユーザ装置３を介して、制御機械５をシーケンス制御するようになっている。
【００１６】
他プログラマブルコントローラ１のＣＰＵ１ａは、Ｉ／Ｏ部１ｄを通じて制御機械５の状態に対応したスイッチやセンサ等の入力機器３ａのＯＮ／ＯＦＦ情報を入力し、ラダープログラムに沿って論理演算を実行すると共に、得られた演算結果に従い、リレー，バルブ，アクチュエータ等の出力機器３ｂに対し、ＯＮ／ＯＦＦ情報の信号を出力することで、ターゲットシステム内の制御機械５の制御を実行するようになっている。
【００１７】
次に図２を参照して他プログラマブルコントローラ１とユーザ装置３との間の入・出力配線７ａ，７ｂに自プログラマブルコントローラ９をラダープログラム化装置として接続する。自プログラマブルコントローラ９は、他プログラマブルコントローラ１と同様に、ハードウエア的には、ＣＰＵ９ａ、ＲＯＭ９ｂ、ＲＡＭ９ｃ、Ｉ／Ｏ部９ｄ、等を備える。
【００１８】
自プログラマブルコントローラ９が、他プログラマブルコントローラ１に置き換えてユーザ装置３を介して制御機械５を制御するには、図４（ａ）のラダープログラムを内部プログラムメモリ上に搭載することが必要である。そこで、実施の形態では、自プログラマブルコントローラ９を他プログラマブルコントローラ１とユーザ装置３との間の入・出力配線７ａ，７ｂに接続し、入・出力配線７ａ，７ｂ上の入・出力信号から逆アセンブリを行うことにより、図４（ｂ）のラダープログラムを得るようにしたものである。
【００１９】
図４（ｂ）は図４（ａ）のラダープログラムに対応してラダープログラムの一部を示す。図４（ｂ）のラダープログラムは、図４（ａ）のラダープログラムにおいて、関数ブロックＦ１が学習機能ブロックＦ１１に置き換わっている以外は、同じである。
【００２０】
すなわち、自プログラマブルコントローラ９は、他プログラマブルコントローラ１と同様に、上述したようにハードウエア的には、同様の構成を具備すると共に、ソフトウエア的ないし機能的には、図３で示すように信号記録手段９１と、ラダープログラム化手段９２とを具備している。
【００２１】
信号記録手段９１は、入力配線７ａ，出力配線７ｂ上の入力信号Ｓｉ１，Ｓｉ２，…および出力信号Ｓｏ１，Ｓｏ２，…を記録する。この入力信号Ｓｉ１，Ｓｉ２，…および出力信号Ｓｏ１，Ｓｏ２，…の一部を図５に示す。図５（ａ）は入力信号Ｓｉ１，Ｓｉ２，…のタイミングチャートであり、図５（ｂ）は出力信号Ｓｏ１，Ｓｏ２，…のタイミングチャートである。
【００２２】
自プログラマブルコントローラ９においては、信号記録手段９１により、他プログラマブルコントローラ１内のラダープログラムの実行に基づいて、当該他プログラマブルコントローラ１と、ユーザ装置３との間を伝送する入力信号Ｓｉ１，Ｓｉ２，…および出力信号Ｓｏ１，Ｓｏ２，…を記録することができるようになっている。
【００２３】
また、自プログラマブルコントローラ９においては、ラダープログラム化手段９２により、信号記録手段９１により記録された一連の入力信号Ｓｉ１，Ｓｉ２，…および出力信号Ｓｏ１，Ｓｏ２，…を逆アセンブリしてラダープログラム化する。この場合、入力信号Ｓｉ１，Ｓｉ２，…および出力信号Ｓｏ１，Ｓｏ２，…は他プログラマブルコントローラ１がラダープログラムを実行したときの機械語に対応している。この信号から他プログラマブルコントローラ１に搭載のラダープログラムのソースコードを解明する。
【００２４】
この場合、具体的には、図４（ａ）のステップｎ１と、ｎ２の一部と、ｎ３において、一般周知の入力接点構成と、出力接点構成と、ＰＩＤ関数に関しては、そのソースコードを解明することができる一方、関数ブロックＦ１に関しては、他プログラマブルコントローラ１独特のブロックであり、ソースコードは不明である。
【００２５】
そこで、この関数ブロックＦ１に関しては、機械語の状態、つまり、入力信号Ｓｉ１，Ｓｉ２，…および出力信号Ｓｏ１，Ｓｏ２，…そのものの状態で、ラダープログラムを構成する。その結果、ラダープログラム化手段９２においては、図４（ｂ）で示すように、関数ブロックＦ１が学習機能ブロックＦ１１に置き換わっている以外は、同じラダープログラムを得ることができる。
【００２６】
以上説明したように本実施の形態では、他プログラマブルコントローラ１により制御している制御機械５を、当該他プログラマブルコントローラ１を自プログラマブルコントローラ９に置き換えて制御することが必要な場合では、他プログラマブルコントローラ１内のラダープログラムの実行に基づいて、当該他プログラマブルコントローラ１と、この他プログラマブルコントローラにより制御されるユーザ装置３との間の入出力配線７ａ，７ｂに自プログラマブルコントローラ９を接続し、その内部の信号記録手段９１により、他プログラマブルコントローラ１とユーザ装置３との間を伝送する一連の入・出力信号を記録する。そして、ラダープログラム化手段９２により、信号記録手段９１により記録された一連の入・出力信号をラダープログラム化すると共に、上記ラダープログラム化に際して、ラダー言語で記述可能なプログラム要素はラダー言語で表す一方、ラダープログラムのうちの関数ブロックに関わるプログラム要素は、上記入・出力信号そのもので表すことができる。
【００２７】
そのため、例えば、ラダープログラムで、ラダー言語の接点記号でロジック表現可能な場合では、プログラム要素をラダー言語で表すが、関数ブロックのように内部ロジックが不明なプログラム要素では、入・出力信号のみで表すことができるので、他プログラマブルコントローラ１におけるラダープログラム中には当該他プログラマブルコントローラ独特の関数命令があっても、他プログラマブルコントローラ１を自プログラマブルコントローラ９に置き換えて制御機械５を制御することができるようになる。すなわち、図２において、他プログラマブルコントローラ１とユーザ装置３との間の入・出力配線７ａ，７ｂに自プログラマブルコントローラ９を接続していた状態から、図１において、他プログラマブルコントローラ１に置き換えて、自プログラマブルコントローラ９を接続して、ユーザ装置３と通信して、制御機械５を制御することができる。
【符号の説明】
【００２８】
１  他プログラマブルコントローラ
３  ユーザ装置
５  制御機械
７ａ  入力配線
７ｂ  出力配線
９  自プログラマブルコントローラ
９１  信号記録手段
９２  ラダープログラム化手段
【図１】
2010204998.tif 000003
【図２】
2010204998.tif 000004
【図３】
2010204998.tif 000005
【図４】
2010204998.tif 000006
【図５】
2010204998.tif 000007