(57)【要約】【課題】ユーザの操作入力に基づき作成した表示型式のシーケンスプログラムをマシン語型式に変換してプログラマブルコントローラ（ＰＬＣ）８に格納し、逆変換の指示に基づきＰＬＣからマシン語型式のシーケンスプログラムを読み出し表示型式に逆変換して表示するプログラミング装置１にて、シーケンスプログラムを構成するファンクションブロック（サブシーケンスプログラム）の作成時に宣言（定義）した全パラメータを、当該サブシーケンスプログラム内での実使用の有無に関係なく上記逆変換時には復元させ、ファンクションブロックのメンテナンス効率を高める。【解決手段】コード相互変換手段３１を介し、シーケンスプログラムをマシン語型式に変換する際、ファンクションブロックのパラメータの宣言情報も当該サブシーケンスプログラムと共にマシン語型式に変換し、逆変換時にも当該サブシーケンスプログラムと共にパラメータ宣言情報を逆変換して表示可能にする。【選択図】      図１
2004341824.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブルコントローラが実行するシーケンスプログラムの作成に関わる操作入力に基づいて表示型式のシーケンスプログラムを作成したのち、このシーケンスプログラムをプログラマブルコントローラが解釈できるマシンコード型式のシーケンスプログラムに変換してプログラマブルコントローラに格納し、
また読み出しの指示に基づいてプログラマブルコントローラからマシンコード型式のシーケンスプログラムを読み出したのち、表示型式のシーケンスプログラムに逆変換して表示出力するプログラマブルコントローラのプログラミング装置において、
前記シーケンスプログラムをマシンコード形式に変換する際に、主となるシーケンスプログラム内にサブルーチンプログラムの形で含まれるファンクションブロックとしてのシーケンスプログラム（以下サブシーケンスプログラムという）の作成に当たって宣言された１または複数の全てのパラメータの宣言情報を、現実に作成された当該サブシーケンスプログラムにこの全てのパラメータが使用されているか否かに関わらず、当該サブシーケンスプログラムと共にマシンコード形式に変換し、
プログラマブルコントローラから前記のようにシーケンスプログラムを読み出して逆変換する際に、前記のマシンコード形式に変換したファンクションブロックの全パラメータの宣言情報を、当該サブシーケンスプログラムと共に表示型式に逆変換し、表示出力することを可能にする手段を備えたことを特徴とするプログラマブルコントローラのプログラミング装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、プログラマブルコントローラ（ＰＬＣとも略記する）が実行するシーケンスプログラムを表示型式で作成したのちマシンコード型式に変換してＰＬＣに格納し、またシーケンスプログラムの読み出しの際、ＰＬＣ内に格納されているマシンコード型式のシーケンスプログラムを表示型式に逆変換して表示するプログラマブルコントローラのプログラミング装置において、
特に、主となるシーケンスプログラム内にサブルーチンの形で含まれるファンクションブロックとしてのシーケンスプログラム（以下ファンクションブロック・シーケンスプログラム又はサブシーケンスプログラムともいう）の作成に当たって宣言された全てのパラメータの宣言情報を、この全パラメータが実際の当該サブシーケンスプログラムに使用されているか否かに関わらず、前記シーケンスプログラムの逆変換の際、表示出力可能とする機能を備えたプログラマブルコントローラのプログラミング装置に関する。
【０００２】
【従来の技術】
従来、プログラマブルコントローラ（ＰＬＣ）はＰＬＣ内に格納されているシーケンスプログラムを演算実行して、ＰＬＣに接続される電子機器の自動シーケンス制御を行うことが知られている。このシーケンスプログラムはＰＬＣに接続されたプログラミング装置を用いて、ユーザにより作成され、ＰＬＣに格納される。
図４はこの種のプログラミング装置のシステム構成を示す。同図において、１はプログラミング装置、８はプログラミング装置１と接続されるプログラマブルコントローラ（ＰＬＣ）である。
【０００３】
プログラミング装置１内では、中央演算処理装置（ＣＰＵ）２、システムメモリ３、ユーザプログラムメモリ４、入力装置（キーボード、マウス等からなる）５、表示器６、入出力インタフェース（Ｉ／Ｏとも略記する）７が共通バス９に接続されている。
ＣＰＵ２はシステムメモリ３に格納されたシステムプログラムに基づき、シーケンスプログラムの表示、作成、転送処理に関わる制御を行う。
システムメモリ３は、ＣＰＵ２が実行するシステムプログラムを格納する領域で、ＣＰＵ２の演算に用いるデータ、表示器６に表示するデータ、作成途中のシーケンスプログラム等を記憶する。
【０００４】
ユーザプログラムメモリ４は、作成済み又は変更済みのシーケンスプログラムを格納する。
入力装置５からは、ユーザによりＣＰＵ２に対する動作指示や、シーケンスプログラムを構成するシーケンス命令の入力などが行われる。
表示器６は、シーケンスプログラム作成モードにおいては、シーケンスプログラムをラダー図等のプログラミング言語形態で表示する。
入出力インタフェース７は、プログラマブルコントローラ（ＰＬＣ）８と信号線Ｌを介して接続され、シーケンスプログラムや、ＰＬＣ８に対する動作指示を転送する。
【０００５】
このようなシステム構成のもとで、ユーザはプログラミング装置１に、入力装置５からシーケンス命令を入力し、プログラミング装置１を介してシーケンスプログラムを作成する。プログラミング装置１は、シーケンスプログラムをＰＬＣが解釈できるマシンコードに変換し、ＰＬＣ８に格納する。
また、ユーザはＰＬＣ８に格納されたシーケンスプログラムをモニタする場合、ＰＬＣ８からプログラミング装置１にシーケンスプログラムを読み出す。この際、プログラミング装置１は一旦、ユーザプログラムメモリ４に取り出したマシンコード（マシン語）形式のシーケンスプログラムを、ラダー図等のプログラミング言語からなる表示型式のシーケンスプログラムへ逆変換してシステムメモリ３に格納し表示器６に表示する。
【０００６】
ユーザがシーケンスプログラムを作成する際には、使用頻度や再利用性の高い処理を１つの命令に纏めたプログラム部品を、サブルーチンの形で主となるシーケンスプログラム（メインシーケンスプログラムともいう）に組み込んで使用する。
プログラム部品は、国際標準規格（ＩＥＣ６１１３１−３）ではファンクションブロックと呼ばれる。なお、ファンクションブロックとなるシーケンスプログラムを前記のようにファンクションブロック・シーケンスプログラム又はサブシーケンスプログラムとも呼ぶ。
【０００７】
図５はプログラミング装置１の表示器６に表示されるファンクションブロックに関わる画面の例を示す。
ここで図５ａ）の１１は、ファンクションブロックＦＢの開発時、一旦、ユーザにより作成されてシステムメモリ３に格納されたファンクションブロックＦＢを呼び出す際の画面の例を示し、ＦＢ１はいくつかの個別のファンクションブロックのうちの１つのファンクションブロックを示す。
この呼出し画面１１において、Ｐ（Ｐ１〜Ｐ６）は本例では当該のファンクションブロックＦＢ１に入出力する（または入出力する可能性がある）６個のパラメータを示し、Ｖ０００１〜Ｖ０００６は各パラメータＰ１〜Ｐ６のそれぞれの属性の１つとしてのデバイスアドレスＰＡの値を示す。
【０００８】
また図５ｂ）の１２は、ユーザがファンクションブロックＦＢ１を作成するに当たって先ず開くパラメータ宣言画面で、ユーザはこの画面１２上で各パラメータＰ１〜Ｐ６それぞれに３つの属性ＰＡ，ＰＢ，ＰＣを宣言（定義）する。
ここで、ＰＡは上記したパラメータＰ１〜Ｐ６それぞれのデバイスアドレス、ＰＢはパラメータＰ１〜Ｐ６がそれぞれ入力パラメータ、出力パラメータのいずれであるかを示す入／出力属性、ＰＣはパラメータＰ１〜Ｐ６それぞれのビット長である。
図１ｃ）の１３は、ユーザが図１ｂ）のパラメータ宣言画面１２で各パラメータＰ１〜Ｐ６を定義したのち、実際にシーケンス命令を入力して作る当該ファンクションブロックＦＢ（ＦＢ１）のシーケンスプログラムとしてのサブシーケンスプログラムＳＰ（ＳＰ１）の表示画面である。この例ではサブシーケンスプログラムＳＰ１はラダー図で表現されている。
【０００９】
【特許文献１】
特開２００１−２２４１２号公報
【００１０】
【発明が解決しようとする課題】
ところで、従来のプログラミング装置１では、ユーザがプログラマブルコントローラ（ＰＬＣ）８からシーケンスプログラムをユーザプログラムメモリ４に取り出し、このシーケンスプログラムに含まれるファンクションブロックＦＢを復元して調べようとする場合の逆変換時には、ＣＰＵ２がファンクションブロックＦＢについてのサブシーケンスプログラムＳＰを解析し、入力属性を持つパラメータや出力属性を持つパラメータ等を復元している。
しかしファンクションブロックＦＢを作成する際に、ユーザがパラメータ宣言画面１２上で、例えば当該サブシーケンスプログラムＳＰの将来の拡張を考えて或るパラメータを、いわば予約の形で定義したとしても、実際のサブシーケンスプログラムＳＰには一度もそのパラメータを使用せずに作成してマシンコードに変換し、ＰＬＣ８に格納した場合には、そのファンクションブロックＦＢの逆変換時にはそのパラメータは復元するための情報がないため復元されない。
【００１１】
例えば、図５に示したようにパラメータＰ５は、ファンクションブロックＦＢ１の作成を開始した時には、パラメータ宣言画面１２上では定義されたが、実際の当該ファンクションブロックＦＢ１のサブシーケンスプログラムＳＰ１の作成時には、当該サブシーケンスプログラムＳＰ１の画面１３に示されるように、ラダー図上にはパラメータＰ５のデバイスアドレス値Ｖ０００５の表示がなく使用されていない。
この場合、ユーザがファンクションブロックＦＢ１を作成して、このファンクションブロックＦＢ１がプログラミング装置１のシステムメモリ３に留まっている状態においては、ユーザは図１ａ）のようにファンクションブロック呼出画面１１上にファンクションブロックＦＢ１を呼び出してパラメータＰ５の存在を知ることができる。
【００１２】
しかし一旦、当該ファンクションブロックＦＢ１のサブシーケンスプログラムＳＰ１がマシンコードに変換されてプログラマブルコントローラ（ＰＬＣ）８に格納されたのち、再び逆変換されてプログラミング装置１に呼び出された場合にはパラメータＰ５は図６に示すように復元されない。
即ち、図６ａ）〜ｃ）は、一旦、マシンコードに変換されてＰＬＣ８に格納されたサブシーケンスプログラムＳＰ１をプログラミング装置１に読み出し逆変換したときの図５ａ）〜ｃ）にそれぞれ対応する画面を示す。
この図６に示すように図６ｃ）と図５ｃ）は同じ画面１３であるが、図６ａ）のファンクションブロック呼出画面ではパラメータＰ５のデバイスアドレスＰＡの値Ｖ０００５が消えた画面１１’に変わり、図６ｂ）のパラメータ宣言画面ではパラメータＰ５の宣言情報（属性定義情報）が全く無くなった画面１２’に変わってしまう。
【００１３】
しかしながら、このようにファンクションブロックＦＢ１の作成時に予約したパラメータＰ５が復元されないということは、当該ファンクションブロックＦＢ１のサブシーケンスプログラムＳＰ１を開発した際の思考作業の結果の一部が失われることになり、当該ファンクションブロックＦＢ１を改良したりする際の作業効率を低下させる方向に働く。
そこで、本発明は、ファンクションブロックの開発時に定義したパラメータは、そのサブシーケンスプログラム上での使用、不使用にかかわらず、当該ファンクションブロックの逆変換時に復元できるプログラマブルコントローラのプログラミング装置を提供することを課題とする。
【００１４】
【課題を解決するための手段】
前記の課題を解決するために、請求項１のプログラマブルコントローラのプログラミング装置は、
プログラマブルコントローラ（８）が実行するシーケンスプログラムの作成に関わる（入力装置５からの）操作入力に基づいて表示型式のシーケンスプログラムを作成したのち、このシーケンスプログラムをプログラマブルコントローラが解釈できるマシンコード型式のシーケンスプログラムに変換してプログラマブルコントローラに格納し、
また読み出しの指示に基づいてプログラマブルコントローラからマシンコード型式のシーケンスプログラムを読み出したのち、表示型式のシーケンスプログラムに逆変換して（表示器６に）表示出力するプログラマブルコントローラのプログラミング装置（１）において、
前記シーケンスプログラムをマシンコード形式に変換する際に、主となるシーケンスプログラム内にサブルーチンプログラムの形で含まれるファンクションブロックとしてのシーケンスプログラム（ＳＰ１など、以下サブシーケンスプログラムという）の作成に当たって宣言された１または複数の全てのパラメータ（Ｐ１〜Ｐ６など）の宣言情報（デバイスアドレスＰＡ、入出力属性ＰＢ、ビット長ＰＣなど）を、現実に作成された当該サブシーケンスプログラムにこの全てのパラメータが使用されているか否かに関わらず、当該サブシーケンスプログラムと共にマシンコード形式に変換し、
プログラマブルコントローラから前記のようにシーケンスプログラムを読み出して逆変換する際に、前記のマシンコード形式に変換したファンクションブロックの全パラメータの宣言情報を、当該サブシーケンスプログラムと共に表示型式に逆変換し、表示出力することを可能にする手段（ファンクションブロックパラメータ宣言情報・コード相互変換手段３１）を備えたものとする。
【００１５】
本発明の作用は次の如くである。即ち、
ユーザが作成するファンクションブロックのシーケンスプログラム（サブシーケンスプログラム）をＰＬＣが解釈するマシンコードヘ変換する際に、パラメータ宣言情報もマシンコード化し、当該サブシーケンスプログラムのマシンコードに追加してＰＬＣ内に格納するようにして、ファンクションブロックのサブシーケンスプログラムの逆変換時にはパラメータ宣言情報も逆変換し、当該サブシーケンスプログラム内での実使用の有無に関係なく全パラメータが復元されるようにするものである。
【００１６】
【発明の実施の形態】
以下、図１ないし３を参照して本発明の実施の形態を説明する。図１は本発明を適用したプログラマブルコントローラ（ＰＬＣ）のプログラミング装置のシステム構成を示す。
同図においては図４に示した従来のプログラミング装置に対して、システムメモリ３内のＣＰＵ２の動作プログラムにファンクションブロックパラメータ宣言情報・コード相互変換手段３１を追加した点が異なる。
このパラメータ宣言情報・コード相互変換手段３１は、作成したファンクションブロックＦＢを含むメインシーケンスプログラムをマシンコード化してＰＬＣ８に格納する時には、ファンクションブロックＦＢの作成開始時点での全てのパラメータＰの宣言（定義）情報（つまりパラメータＰの属性情報）を、ファンクションブロックＦＢのサブシーケンスプログラムＳＰと共に表示型式からマシンコードに変換し、またＰＬＣ８からプログラミング装置１にファンクションブロックＦＢを含むメインシーケンスプログラムを逆変換して呼び出す際も、上記パラメータＰの宣言情報を当該サブシーケンスプログラムＳＰと共にマシンコードから表示型式に逆変換する機能を持つ。
【００１７】
図２はプログラミング装置１によりファンクションブロックＦＢを作成し、プログラマブルコントローラ（ＰＬＣ）８に格納する際における、図１のプログラミング装置１の要部の動作の手順を示すフローチャートで、Ｓ１００〜Ｓ１０３はそのステップ番号である。また便宜上、ここではファンクションブロックＦＢとしては図５に例示したＦＢ１を作成するものとして説明する。
図２を説明すると、先ずユーザプログラムであるメインシーケンスプログラムを作成するが、ここではステップＳ１００で当該のメインシーケンスプログラムを構成するファンクションブロックＦＢ１のサブシーケンスプログラムＳＰ１を作成する。
【００１８】
このステップＳ１００の詳細処理としては、ステップＳ１００Ａでユーザが入力装置５を介してパラメータＰ１〜Ｐ６の定義（宣言）を行い、ステップＳｌ００ＢでサブシーケンスプログラムＳＰ１についてのシーケンス命令を入力し、Ｓ１００ＣでパラメータＰ１〜Ｐ６それぞれのデバイスアドレスＰＡ（具体値はＶ０００１〜Ｖ０００６）を入力する。
なお、続いて図外の処理によりファンクションブロックＦＢ１をサブシーケンスプログラムＳＰ１として含むメインシーケンスプログラム全体を作成する。
次にステップＳ１０１ではメインシーケンスプログラムの作成が完了したか否かを判別し、作成が完了すると作成済のメインシーケンスプログラムをシステムメモリ３に格納する。
【００１９】
次はシステムメモリ３に格納されている作成済のメインシーケンスプログラムをプログラマブルコントローラ（ＰＬＣ）８が解釈できるマシンコードに変換してユーザプログラムメモリ４に格納する。
この変換処理ではステップＳｌ０２で、ファンクションブロックＦＢ１をマシンコードに変換する。ステップＳｌ０２の詳細処理としては、ステップＳｌ０２ＡでパラメータＰ１〜Ｐ６の宣言情報をマシンコードへ変換し、ステップＳｌ０２ＢでそのサブシーケンスプログラムＳＰ１をマシンコードへ変換し、共にユーザプログラムメモリ４に格納する。
【００２０】
続く図外の処理を経てメインシーケンスプログラム全体がマシンコードに変換されユーザプログラムメモリ４へ格納されると、次のステップＳｌ０３でユーザプログラムメモリ４に格納されている、マシンコードのメインシーケンスプログラムをプログラマブルコントローラ（ＰＬＣ）８に転送する。
ここでステップＳ１０２Ａが、図１のファンクションブロックパラメータ宣言情報・コード相互変換手段３１の機能の１つに相当する。
図３はプログラマブルコントローラ（ＰＬＣ）８からサブシーケンスプログラムＳＰ１を含むメインシーケンスプログラムをプログラミング装置１に読み出す際における、図１のプログラミング装置１の要部の動作の手順を示すフローチャートで、Ｓ２００〜Ｓ２０２はそのステップ番号である。
【００２１】
図３を説明すると、先ずステップＳ２００で、ユーザの指示によりファンクションブロックＦＢ１をサブシーケンスプログラムＳＰ１として含むメインシーケンスプログラムを、プログラマブルコントローラ（ＰＬＣ）から読み出し、プログラミング装置１のユーザプログラムメモリ４に格納する。
次に読み出したメインシーケンスプログラムをマシンコードから表示形式へ変換する。その際、ステップＳ２０１でサブシーケンスプログラムＳＰ１をマシンコードから表示形式へ変換する。
このステップＳ２０１の詳細処理としては、ステップＳ２０１ＡでファンクションブロックＦＢ１の各パラメータＰ１〜Ｐ６の宣言情報のマシンコードを表示形式に変換し、更にステップＳ２０１ＢでサブシーケンスプログラムＳＰ１のマシンコードを表示形式に変換してシステムメモリ３に格納する。
【００２２】
続く図外の処理を経てメインシーケンスプログラム全体が表示形式へ変換されシステムメモリ３に格納されると、次のステップＳ２０２で、システムメモリ３に格納されたファンクションブロックＦＢ１の各パラメータＰ１〜Ｐ６の宣言情報やサブシーケンスプログラムＳＰ１等を、ユーザによる該当する表示指令操作に応じ、図５に示した各画面１１〜１３として表示器６に表示する。
ここでステップＳ２０１Ａが、図１のファンクションブロックパラメータ宣言情報・コード相互変換手段３１の機能の他の１つに相当する。
【００２３】
【発明の効果】
本発明によれば、ＰＬＣ内にファンクションブロックのサブシーケンスプログラムのマシンコードと共にファンクションブロックの作成開始時点におけるパラメータ宣言情報のマシンコードも格納するようにしたので、ＰＬＣからシーケンスプログラムを読み出す際に、ファンクションブロックのサブシーケンスプログラム内での実際の使用の有無に関係なく、ファンクションブロックの全てのパラメータの宣言情報を元の状態に復元することができる。
従って、従来、ファンクションブロックのメンテナンスの際に行っていたパラメータの復元不足状態の確認や不足パラメータの再定義等の作業が全て解消されることになり、ファンクションブロックのメンテナンス効率を高めることができる。
【図面の簡単な説明】
【図１】本発明の一実施例としてのプログラミング装置のシステム構成図
【図２】シーケンスプログラムを作成しプログラマブルコントローラに格納する際における図１のプログラミング装置の要部の動作手順を示すフローチャート
【図３】プログラマブルコントローラからシーケンスプログラムを読み出す際における、図１のプログラミング装置の要部の動作手順を示すフローチャート
【図４】図１に対応する従来のシステム構成図
【図５】本発明の適用時におけるファンクションブロックに関わる各種の画面表示例を示す図
【図６】図５に対応する従来の画面表示例を示す図
【符号の説明】
１      プログラミング装置
２      ＣＰＵ
３      システムメモリ
４      ユーザプログラムメモリ
５      入力装置
６      表示器
７      入出力インタフェース（Ｉ／Ｏ）
８      プログラマブルコントローラ
９      共通バス
Ｌ      信号線
３１    ファンクションブロックパラメータ宣言情報・コード相互変換手段
【図１】
2004341824.tif 000003
【図２】
2004341824.tif 000004
【図３】
2004341824.tif 000005
【図４】
2004341824.tif 000006
【図５】
2004341824.tif 000007
【図６】
2004341824.tif 000008