(57)【特許請求の範囲】
【請求項１】
ＰＬＣにインストールされるべき制御用プログラムであるラダープログラムの開発支援装置と、当該ラダープログラムがインストールされることにより制御機能が実現されるＰＬＣと、前記開発支援装置と前記ＰＬＣとの間で様々な情報のやり取りを行うための通信手段とを有し、
前記開発支援装置には、ラダープログラムを模擬的に実行させることができるＰＬＣシミュレータが具備されていると共に、
ラダープログラム中に、所定の異常フラグのオンオフ状態を参照して動作すべき異常ロジックが組み込まれ、かつその異常フラグが、ＰＬＣのハードウェアや通信に起因する異常の有無に対応する２つの状態を取ることができ、かつＰＬＣ内の所定メモリに格納され、ＰＬＣの外部からは書替不能とされているものであるときには、
前記異常フラグが異常発生を意味するオン状態となったときと同じ状態を仮想的に作り出すことができる異常発生ロジックを当該ラダープログラムに組み込んだ状態で、当該ラダープログラムを前記ＰＬＣシミュレータにかけて模擬実行させることにより、前記異常ロジックのデバッグを行うことができるようにしたＰＬＣシステムであって、
前記開発支援装置には、
前記異常ロジックが組み込まれたラダープログラム中に、当該ラダープログラム中に前記異常発生ロジックが存在するか否かに対応する２つの状態を取り得る異常発生ロジック存在フラグを書き込むと共に、この異常発生ロジック存在フラグの状態を、異常発生ロジックが存在することを示す状態と異常発生ロジックが存在しない状態とに書き替えるための仕組みを設けると共に、
前記ＰＬＣには、
運転モードへの動作モード切替を命令する動作モード切替命令が前記開発支援装置から与えられたとき、運転モードにおいて実行されるべきラダープログラム中に書き込まれた異常発生ロジック存在フラグの状態を参照し、そのフラグの状態が異常発生ロジックが存在しない状態を示すときには、動作モードを運転モードに切り替えて当該ラダープログラムを実行するのに対して、そのフラグの状態が異常発生ロジックが存在する状態を示すときには、運転モードへの動作モード切替を行わないようにする仕組みが設けられており、
それにより、開発支援装置の側において、異常発生ロジック存在フラグの状態を、異常発生ロジックの存在状態と不存在状態とに合わせて書き替え操作することにより、開発支援装置からＰＬＣへと誤って異常発生ロジックが存在する状態のままで転送されたラダープログラムが、そのままＰＬＣ実機で実行されることによる危険を回避し得るようにした、ことを特徴とするＰＬＣシステム。
【請求項２】
前記ＰＬＣには、
運転モードへの動作モード切替を命令する動作モード切替命令が前記開発支援装置から与えられたとき、運転モードにおいて実行されるべきラダープログラム中に書き込まれた異常発生ロジック存在フラグの状態が、異常発生ロジックが存在しない状態を示すか、又は異常発生ロジックが存在する状態を示すか、の状態を記憶する状態フラグが設けられており、
前記開発支援装置には、
前記ＰＬＣ側の状態フラグの内容をモニタすると共に、その内容が異常発生ロジックが存在するものであるときには、当該開発支援装置の操作者に対して、ラダープログラム中に異常発生ロジックが存在するために、ＰＬＣ側において運転モードへの切り替えができない旨を表示する仕組みが設けられている、ことを特徴とする請求項１に記載のＰＬＣシステム。
【請求項３】
前記開発支援装置には、
前記ラダープログラム中に組み込まれた１又は２以上の異常発生ロジックのそれぞれの回路位置アドレスを当該ラダープログラム中に書き込むための仕組みと、
前記ラダープログラム中に書き込まれた回路位置アドレスに基づいて、ラダー図上の各異常発生ロジック部分を選択的に１つずつ表示させる仕組みとが設けられている、ことを特徴とする請求項１に記載のＰＬＣシステム。
【請求項４】
前記開発支援装置には、
前記ＰＬＣの現在の動作モードが運転モード以外のモードであることを条件として、前記選択的に１つずつ表示される異常発生ロジック部分のそれぞれを削除するか否かを操作者に対して問い合わせる仕組みがさらに設けられている、ことを特徴とする請求項３に記載のＰＬＣシステム。
【請求項５】
前記問い合わせに対して削除する旨が操作者により回答されたときには、前記開発支援装置及び前記ＰＬＣは、前記表示された１の異常発生ロジック部分の削除を可能とするためのオンラインエディットモードへと移行する、ことを特徴とする請求項４に記載のＰＬＣシステム。
【請求項６】
前記開発支援装置には、
前記表示された１の異常発生ロジック部分がオンラインエディットモードにて削除されたときには、オンラインエディットモードを一旦終了させると共に、その時点で未削除の異常発生ロジックがなおも存在するときには、それらのうちの１つの異常発生ロジック部分を表示させると共に、それを削除するか否かを操作者に対して問い合わせる仕組みがさらに設けられている、ことを特徴とする請求項５に記載のＰＬＣシステム。
【請求項７】
前記問い合わせに対して削除する旨が操作者により回答されたときには、前記開発支援装置及び前記ＰＬＣは、前記表示された１の異常発生ロジック部分の削除を可能とするためのオンラインエディットモードへと移行する、ことを特徴とする請求項６に記載のＰＬＣシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、プログラマブル・コントローラ（以下、ＰＬＣと言う）にインストールされるべき制御用プログラムであるラダープログラムの開発支援装置と、当該ラダープログラムがインストールされることにより制御機能が実現されるＰＬＣとを、シリアル通信等の通信手段を介して結んでなるＰＬＣシステムに関する。
【背景技術】
【０００２】
ＰＬＣにインストールされるべき制御用プログラムであるラダープログラムの開発支援装置と、当該ラダープログラムがインストールされることにより制御機能が実現されるＰＬＣとを、シリアル通信等の通信手段で結ぶことにより、プログラム開発支援装置によるラダープログラムの作成、作成されたラダープロクラムのデバッグ等のための実行シミュレーション、完成されたラダープロクラムのＰＬＣ実機へのアップロード、ＰＬＣ上のラダープログラムのモニタ、ＰＬＣ上のラダープログラムの一部修正等のためのオンラインエディタ、ＰＬＣの各種動作モードの切替制御等の様々な作業を可能としたＰＬＣシステムは、従来より種々知られている。
【０００３】
上述の様々な作業を実現するために、プログラム開発支援装置には、ラダープログラムの作成、編集、アップロード、ダウンロード、モニタ、オンラインエディタ、シミュレーション、動作モードの切替等々のための各種の機能が組み込まれている。
【０００４】
このようなプログラム開発支援装置としては、一般のパーソナルコンピュータ（以下、パソコンと言う）に、そのような種々の機能を実現するための専用ソフトウェアをインストールすることで構成されるものと、専用の可搬型ハードウェアに各種機能をファームウェアにより組み込んで構成されるもの（一般に、「プログラミングコンソール（略してプロコン）」等と称される）とが、従来より知られている。
【０００５】
ところで、一般的に、この種のＰＬＣには、ＰＬＣのハードウェアや通信に起因する異常の有無に対応して２つの値（異常ありを示すオン状態又は異常なしを示すオフ状態）のいずれかを取り得るように仕組まれ、かつラダープロクラムにて任意に参照可能とされたフラグ（以下、異常フラグと称する）が用意されている。
【０００６】
ユーザは、この異常フラグを動作条件として、任意の異常ロジック（例えば、異常フラグの値がオン状態となったとき、所定の異常時対応処理（例えば、パトライトを点灯してその旨を報知する等々）を実行すると言ったロジック）をラダープログラムに組み込むことができる。
【０００７】
作成されたラダープログラムを実機ＰＬＣにインストールして実行させるためには、それに先立って、デバッグ作業が必要とされる。このデバッグ作業は、作成されたラダープログラムを実機ＰＬＣ又はＰＬＣシミュレータに掛け、プログラム開発支援装置を介して、任意の入出力をオン状態又はオフ状態にさせたり、任意のデータの値を変更操作して、ラダープログラムに含まれる各ロジックが正常に動作するか否かを確認すると言った手法で行われる。
【０００８】
しかし、上述の異常ロジックが組み込まれたラダープログラムについては、異常ロジックの動作条件となる異常フラグのオンオフ状態は、通信異常やハードウェア異常が実際に起きない限り変化することがない。そのため、プログラム開発支援装置の機能をもってしても、人為的に実機ＰＬＣ上の異常フラグの値を変化させることはできないため、上述の一般的な手法によりデバッグ作業を行うことは困難である。なお、ＰＬＣシミュレータについても、実機ＰＬＣと同等の操作性を実現しているため、人為的に異常フラグの値を変化させることはできず、状況は同じである。
【０００９】
そのため、従来、この種の異常ロジックの組み込まれたラダープログラムのデバッグにあたっては、図１２（ａ）〜（ｃ）に示されるように、異常フラグが異常発生を意味するオン状態となったときと同じ状態を仮想的に作り出すことができる異常発生ロジック４０２を異常ロジック４０１と共に当該ラダープログラム４に組み込んだ状態で、当該ラダープログラム４をＰＬＣシミュレータにかけ、プログラム開発支援装置の操作で異常発生ロジックを作動させた状態で、当該ラダープログラム４を模擬実行させると言った特殊なデバッグ手法が採用されている（例えば、特許文献１参照）。
【００１０】
このような特殊なデバッグ手法によれば、異常フラグの値それ自体はオフ状態であっても、異常発生ロジックにより、異常フラグの値がオン状態となったものと同じ状態を模擬的に創出することができるため、それを利用して異常ロジックを模擬実行させることで、異常ロジックの動作を確認しつつ、デバック作業を行うことが可能となる。
【特許文献１】特開２００１−０４２９０７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、このような特殊な手法を使用したデバッグ作業を行うために、ラダープログラム中に組み込まれる異常発生ロジックは、異常フラグが異常発生を意味するオン状態となったときと同じ状態を仮想的に作り出すことができるものであるから、デバッグ作業が終了したのち、この異常発生ロジックが誤って削除されずに残されたまま、ラダープログラムが実機にインストールされて実行された場合には、予期せぬ誤動作の原因となりかねない（図１２参照）。
【００１２】
なお、上述の異常発生ロジックは、ＩＮ命令、ＯＵＴ命令、ＡＮＤ命令、ＯＲ命令等々と言った普通の命令語で構成されているため、ラダープログラム中から異常発生ロジックだけを機械的に自動抽出して削除するのは困難であり、削除作業は人手に頼らざるを得ないのが現状である。
【００１３】
この発明は、上述の問題点に着目してなされたものであり、その目的とするところは、デバッグ作業者の削除し忘れ等を原因として、異常発生ロジックが残されたままの状態で、ラダープログラムがプログラム開発支援装置から実機ＰＬＣに転送されて実行され、それにより予期せぬ誤動作が生ずることを回避できるようにしたＰＬＣシステムを提供することにある。
【課題を解決するための手段】
【００１４】
上述の技術的な課題は、以下の構成を有するＰＬＣシステムの採用により解決することができると考えられる。
【００１５】
すなわち、本発明のＰＬＣシステムは、ＰＬＣにインストールされるべき制御用プログラムであるラダープログラムの開発支援装置と、当該ラダープログラムがインストールされることにより制御機能が実現されるＰＬＣと、前記開発支援装置と前記ＰＬＣとの間で様々な情報のやり取りを行うための通信手段とを有している。
【００１６】
前記開発支援装置には、ラダープログラムを模擬的に実行させることができるＰＬＣシミュレータが具備されていると共に、ラダープログラム中に、所定の異常フラグのオンオフ状態を参照して動作すべき異常ロジックが組み込まれ、かつその異常フラグが、ＰＬＣのハードウェアや通信に起因する異常の有無に対応する２つの状態を取ることができ、かつＰＬＣ内の所定メモリに格納され、ＰＬＣの外部からは書替不能とされているものであるときには、前記異常フラグが異常発生を意味するオン状態となったときと同じ状態を仮想的に作り出すことができる異常発生ロジックを当該ラダープログラムに組み込んだ状態で、当該ラダープログラムを前記ＰＬＣシミュレータにかけて模擬実行させることにより、前記異常ロジックのデバッグを行うことができるようになっている。
【００１７】
前記開発支援装置には、前記異常ロジックが組み込まれたラダープログラム中に、当該ラダープログラム中に前記異常発生ロジックが存在するか否かに対応する２つの状態を取り得る異常発生ロジック存在フラグを書き込むと共に、この異常発生ロジック存在フラグの状態を、異常発生ロジックが存在することを示す状態と異常発生ロジックが存在しない状態とに書き替えるための仕組みを設けられている。
【００１８】
前記ＰＬＣには、運転モードへの動作モード切替を命令する動作モード切替命令が前記開発支援装置から与えられたとき、運転モードにおいて実行されるべきラダープログラム中に書き込まれた異常発生ロジック存在フラグの状態を参照し、そのフラグの状態が異常発生ロジックが存在しない状態を示すときには、動作モードを運転モードに切り替えて当該ラダープログラムを実行するのに対して、そのフラグの状態が異常発生ロジックが存在する状態を示すときには、運転モードへの動作モード切替を行わないようにする仕組みが設けられている。
【００１９】
それにより、開発支援装置の側において、異常発生ロジック存在フラグの状態を、異常発生ロジックの存在状態と不存在状態とに合わせて書き替え操作することにより、開発支援装置からＰＬＣへと誤って異常発生ロジックが存在する状態のままで転送されたラダープログラムが、そのままＰＬＣ実機で実行されることによる危険を回避できるようになっている。
【００２０】
本発明の好ましい実施の形態においては、前記ＰＬＣには、運転モードへの動作モード切替を命令する動作モード切替命令が前記開発支援装置から与えられたとき、運転モードにおいて実行されるべきラダープログラム中に書き込まれた異常発生ロジック存在フラグの状態が、異常発生ロジックが存在しない状態を示すか、又は異常発生ロジックが存在する状態を示すか、の状態を記憶する状態フラグが設けてもよく、また前記開発支援装置には、前記ＰＬＣ側の状態フラグの内容をモニタすると共に、その内容が異常発生ロジックが存在するものであるときには、当該開発支援装置の操作者に対して、ラダープログラム中に異常発生ロジックが存在するために、ＰＬＣ側において運転モードへの切り替えができない旨を表示する仕組みを設けてもよい。
【００２１】
このような構成によれば、プロクラム開発支援装置の側で、ＰＬＣの動作モードを運転モードに切り替えるための操作を行ったときに、ＰＬＣで実行されるべきラダープログラムに異常発生ロジックが存在することに起因して、運転モードへの切替が拒否されたときには、ＰＬＣ側の状態フラグの内容をモニタすることによって、その旨の表示がプログラム開発支援装置の側のディスプレイに行われるため、プログラム開発支援装置の操作者はそのことに直ちに気付くことができる。
【００２２】
本発明の好ましい実施の形態においては、前記開発支援装置には、前記ラダープログラム中に組み込まれた１又は２以上の異常発生ロジックのそれぞれの回路位置アドレスを当該ラダープログラム中に書き込むための仕組みと、前記ラダープログラム中に書き込まれた回路位置アドレスに基づいて、ラダー図上の各異常発生ロジック部分を選択的に１つずつ表示させる仕組みとを設けてもよい。
【００２３】
このような構成によれば、ＰＬＣで実行されるべきラダープログラムに異常発生ロジックが存在することに起因して、運転モードへの切替が拒否されたときに、ＰＬＣ側のラダープログラムをモニタすれば、そのラダープログラムに含まれる異常発生ロジック部分が選択的に１つずつ、ディスプレイ上に表示されるから、それに基づいて、ラダープログラム中のどこに異常発生ロジックが残されているかを操作者は確認することができる。
【００２４】
本発明の好ましい実施の形態においては、前記開発支援装置には、前記ＰＬＣの現在の動作モードが運転モード以外のモードであることを条件として、前記選択的に１つずつ表示される異常発生ロジック部分のそれぞれを削除するか否かを操作者に対して問い合わせる仕組みがさらに設けてもよい。
【００２５】
このような構成によれば、例えばデバッグの要不要等の都合に応じて、ラダープログラムに含まれる異常発生ロジックの中から、削除されるべきロジックを任意に選択することができる。
【００２６】
本発明の好ましい実施の形態においては、前記問い合わせに対して削除する旨が操作者により回答されたときには、前記開発支援装置及び前記ＰＬＣは、前記表示された１の異常発生ロジック部分の削除を可能とするためのオンラインエディットモードへと移行するようにしてもよい。
【００２７】
このような構成によれば、操作者がその異常発生ロジックを削除する旨の回答を行うと、前記表示された１の異常発生ロジック部分の削除を可能とするためのオンラインエディットモードへと移行するため、当該ラダープログラムをＰＬＣからダウンロードせずとも、その異常発生ロジックをラダープログラム上から削除することができる。
【００２８】
本発明の好ましい実施の形態においては、前記開発支援装置には、前記表示された１の異常発生ロジック部分がオンラインエディットモードにて削除されたときには、オンラインエディットモードを一旦終了させると共に、その時点で未削除の異常発生ロジックがなおも存在するときには、それらのうちの１つの異常発生ロジック部分を表示させると共に、それを削除するか否かを操作者に対して問い合わせる仕組みをさらに設けもよい。
【００２９】
このような構成によれば、その時点で未削除の異常発生ロジックがなおも存在するときには、前記表示された１の異常発生ロジック部分がオンラインエディットモードにて削除されたときには、オンラインエディットモードを一旦終了させたのち、それらのうちの１つの異常発生ロジック部分を表示させると共に、それを削除するか否かを操作者に対して問い合わせが行われるため、ひとりでに次の異常発生ロジックについて削除が促されることとなる。
【００３０】
本発明の好ましい実施の形態においては、前記問い合わせに対して削除する旨が操作者により回答されたときには、前記開発支援装置及び前記ＰＬＣは、前記表示された１の異常発生ロジック部分の削除を可能とするためのオンラインエディットモードへと移行するようにしてもよい。
【００３１】
このような構成によれば、ラダープログラムに含まれる異常発生ロジックのうち、必要なものについて、オンラインエディットにより順次に削除することが可能となる。
【発明の効果】
【００３２】
本発明によれば、開発支援装置の側において、異常発生ロジック存在フラグの状態を、異常発生ロジックの存在状態と不存在状態とに合わせて書き替え操作することにより、開発支援装置からＰＬＣへと誤って異常発生ロジックが存在する状態のままで転送されたラダープログラムが、そのままＰＬＣ実機で実行されることによる危険を回避することが可能となる。
【発明を実施するための最良の形態】
【００３３】
以下に、この発明に係るＰＬＣシステムの好適な実施の一形態を添付図面を参照しながら詳細に説明する。
【００３４】
本発明に係るＰＬＣシステムの一実施例を示すシステム構成図が図１に示されている。同図に示されるように、このＰＬＣシステムは、ＰＬＣにインストールされるべき制御用プログラムであるラダープログラム４の開発支援装置１と、当該ラダープログラム４がインストールされることにより制御機能が実現されるＰＬＣ２と、開発支援装置１とＰＬＣ２との間で様々な情報のやり取りを行うための通信手段３とを有する。
【００３５】
図示の開発支援装置１は、パソコン（ＰＣ）１０に所定の専用ソフトウェアであるＰＬＣプログラミングツール１０１を組み込むことにより構成されている。パソコンのハードウェア構成は、当業者により周知であるが、念のため概説すれば、図２（ａ）に示されるように、ＯＳのほか、本発明に係るＰＬＣプログラミングツールを構成する各種のソフトウェアを実行する機能を有する演算部（ＣＰＵ）１１と、演算部１１にて実行されるべき各種のソフトウェアの実行モジュールを格納する第１記憶部（ＲＯＭ／ＨＤＤ）１２と、演算部（ＣＰＵ）１１がそれらのソフトウェアを実行する際のワークエリアを提供する第２記憶部（ＲＡＭ）１３と、後述するＰＬＣとの間のシリアル通信を行うための通信制御部１４とから構成されている。
【００３６】
パソコン（ＰＣ）１０に組み込まれるべき専用ソフトウェアであるＰＬＣプログラミングツール１０１は、ラダープログラムの作成や編集、ＰＬＣへのアップロード、ＰＬＣからのダウンロード、ＰＬＣモニタ、ＰＬＣ側にあるラダープログラムのオンラインエディタ、ラダープログラムの実行シミュレーション、ＰＬＣの動作モード切替、等々を実現するための各種のソフトウェアにより構成されている。
【００３７】
そして、図３に示されるように、ラダープログラム中に、所定の異常フラグのオンオフ状態を参照して動作すべき異常ロジック４０１が組み込まれ、かつその異常フラグが、ＰＬＣのハードウェアや通信に起因する異常の有無に対応する２つの状態を取ることができ、かつＰＬＣ内の所定メモリに格納され、ＰＬＣの外部からは書替不能とされているものであるときには、操作者は、ＰＬＣプログラミングツール１０１を操作することによって、異常フラグが異常発生を意味するオン状態となったときと同じ状態を仮想的に作り出すことができる異常発生ロジック４０２−１，４０２−２を当該ラダープログラムに組み込んだ状態で、当該ラダープログラムをＰＬＣシミュレータにかけて模擬実行させることにより、異常ロジック４０１のデバッグを行うことができる。
【００３８】
すなわち、図３においては、異常ロジック４０１は、異常フラグに相当するａ接点とパトライトとの直列接続回路により構成されている。また、異常発生ロジックは、外部入力に相当するａ接点とテンポラリ（ＴＭＰ）・リレーとの直列接続回路である第１部分４０２−１と、異常フラグに相当するａ接点と並列に接続されたＴＭＰリレーのａ接点である第２部分４０２−２とから構成されている。
【００３９】
そして、ＰＬＣプログラミングツール１０１を操作して、ラダープログラムをＰＬＣシミュレータに掛けた状態で、外部入力に相当するａ接点をオン状態とすれば、ＴＭＰリレーが作動してそのａ接点がオンすることにより、異常フラグに相当するａ接点がオフ状態であっても、パトライトを作動させることができるから、異常ロジック４０１の動作確認を行ないつつ、異常ロジック４０１のデバッグが可能となるのである。
【００４０】
次に、ＰＬＣ２の側の構成について説明する。ＰＬＣ２は、図２（ｂ）に示されるハードウェア構成を前提として、これにＰＬＣとして必要な各種のファームウェアを組み込むことで実現されている。
【００４１】
ＰＬＣのハードウェア構成は、当業者により周知であるが、念のため概説すれば、図２（ｂ）に示されるように、装置全体を統括制御するマイクロプロセッサ（ＭＰＵ）や主として命令実行機能が組み込まれたＡＳＩＣ等で構成される演算部（ＣＰＵ）２１と、ＰＬＣとしての各種の機能を実現するために演算部（ＣＰＵ）２１のマイクロプロセッサにて実行されるべき各種のファームウェアを格納する第１記憶部（ＲＯＭ）２２と、演算部（ＣＰＵ）２１のマイクロプロセッサにて各種のファームウェアを実行する際のワークエリア、ラダープログラムが参照する入出力や各種のデータを格納するための入出力エリア、実行用のラダープログラムを格納するためのユーザプログラムエリア、等々を提供するための第２記憶部（ＲＡＭ）２３と、後述する開発支援装置１との間のシリアル通信を行うための通信制御部２４と、開発支援装置１から受信したラダープログラムを格納するための第３記憶部（Ｆｌａｓｈ  メモリ）２５と、外部入出力端子との間でデータの入出力を行うための入出力回路２６とを含んで構成されている。
【００４２】
図１に戻って、図示されるＰＬＣ２側のラダープログラム４は、先に説明した図２のハードウェア構成において、第３記憶部（Ｆｌａｓｈ  メモリ）２５に保存され、その実行にあたっては第２記憶部（ＲＡＭ）２３のユーザプログラムエリアへと転送される。通信部２０１の機能は、通信制御部２４により実現される。ラダー実行エンジン２０２の機能は、演算部（ＣＰＵ）２１に含まれるＡＳＩＣにより実現される。動作制御部２０３の機能は、演算部（ＣＰＵ）２１に含まれるマイクロプロセッサ（ＭＰＵ）が第１記憶部（ＲＯＭ）に格納されたファームウェアを実行することにより実現される。
【００４３】
なお、動作制御部２０３に含まれる状態フラグＦ１は、後に詳述するように、運転モードへの動作モード切替を命令する動作モード切替命令が開発支援装置１から与えられたとき、運転モードにおいて実行されるべきラダープログラム中に書き込まれた異常発生ロジック存在フラグの状態が、異常発生ロジックが存在しない状態を示すか、又は異常発生ロジックが存在する状態を示すか、の状態を記憶するためのものである。
【００４４】
開発支援装置１とＰＬＣ２とを結ぶ通信手段３としては、所定の通信プロトコルを有するシリアル通信が採用されている。なお、開発支援装置１とＰＬＣ２とは専用の通信ケーブルで結んでもよいし、多数のＰＬＣが接続されるネットワークを介して結ぶようにしても良い。
【００４５】
そして、この通信手段３を介することにより、後に詳細に説明するように、ラダーモニタ、ＰＬＣステータス取得、動作モード切替命令の付与、等々の各種の情報のやり取りが行われることとなる。
【００４６】
次に、以上の構成よりなるＰＬＣシステムの作用を、図４〜図９に示される作用説明図、及び図１０及び図１１のフローチャートを参照しながら詳細に説明する。
【００４７】
先ず、最初に、操作者は、開発支援装置１のＰＬＣプログラミングツール１０１を使用して、所望のラダープログラム４を作成すると共に、必要に応じて、そのラダープログラム４内に、異常ロジック４０１を記述する（図３、及び図１０のステップ１０１ＹＥＳ，１０２参照）。
【００４８】
こうして異常ロジック４０１が組み込まれたラダープログラムの一例が図３に示されている。同図に示されるように、この異常ロジック４０１は、異常フラグに相当するａ接点がオン状態となると、パトライトを作動させるように仕組まれている。ここで、先に説明したように、異常フラグに相当するａ接点は、ハードウェアや通信に起因する異常が実際に起きたときに限りオン状態となるものであり、実機ＰＬＣでは勿論のこと、ＰＬＣシミュレータにおいても、プログラミングツールの操作により人為的にオン状態とすることはできない。
【００４９】
そこで、操作者は、さらに、異常発生ロジックを同ラダープログラム上に組み込む（図３、及び図１０のステップ１０３参照）。ここで、異常発生ロジックとは、異常フラグが異常発生を意味するオン状態となったときと同じ状態を仮想的に作り出すことができるロジックである。図３の例にあっては、異常発生ロジックは、外部入力に相当するａ接点とテンポラリ（ＴＭＰ）・リレーとの直列接続回路である第１部分４０２−１と、異常フラグに相当するａ接点と並列に接続されたＴＭＰリレーのａ接点である第２部分４０２−２とから構成されている。
【００５０】
次に、操作者は、同ラダープログラム上に、異常発生ロジック存在フラグ４０３及び異常発生ロジック回路位置アドレス４０４を書き込むための操作を行う（図４、及び図１０のステップ１０４参照）。ここで、異常発生ロジック存在フラグ４０３とは、ラダープログラム上に異常発生ロジック４０２−１，４０２−２が存在するか否かを示すフラグである。また、異常発生ロジック回路位置アドレス４０４とは、上述の異常発生ロジック４０２−１，４０２−２のラダープログラム上における回路位置を示すアドレスであり、この例では、異常発生ロジック４０２−１，４０２−２が属するラダープログラムの構成単位（以下、ラダー構成単位と言う）の先頭アドレスが、異常発生ロジック回路位置アドレス４０４とされている。
【００５１】
通常のＰＬＣの場合、ラダープログラムの構成単位としては、例えば、プログラム、タスク、セクション、ファンクションブロック（ＦＢ）、ストラクチャードテキスト（ＳＴ）、ＳＦＣ等々を挙げることができ、それらの構成単位毎に、任意の属性情報等を個別に格納可能とされている。
【００５２】
そこで、操作者は、ＰＬＣプログラミングツール１０１を操作することによって、異常発生ロジックが属するラダー構成単位のプロパティにて、その構成単位に異常発生ロジック４０２（以下、４０２−１と４０２−２をあわせたものを異常発生ロジック４０２と呼ぶ）が含まれていることを示すために、その構成単位の属性を「異常発生ロジックオン」と操作する（図１０、ステップ１０４参照）。すると、ＰＬＣプログラミングツール１０１による「異常発生ロジックオン」操作に応答して、ラダープログラム上には、異常発生ロジック存在フラグ４０３及び異常発生ロジック回路位置アドレス４０４が保持されることとなる。なお、異常発生ロジック存在フラグ（このときは、異常発生ロジック４０２が存在することを意味するオン状態）４０３及び異常発生ロジック回路位置アドレス４０４の保持される位置は、任意であり、ラダープログラムの先頭、末尾、その他特定のステップ等々に保持させればよいであろう。
【００５３】
次に、操作者は、作成されたラダープログラムを、異常発生ロジック存在フラグ４０３及び異常発生ロジック回路位置アドレス４０４が保持されたままで、ＰＬＣプログラミングツール１０１に具備されたＰＬＣシミュレータに掛け、その状態で異常発生ロジック４０２を作動させることにより、異常フラグがオン状態とされたと同じ状態を創出し、それにより異常ロジック４０１が正常に動作するか否かを確認する。ここで、正常に動作しなければ、その原因を究明することで、デバッグを行うことができる。
【００５４】
なお、通常のＰＬＣプログラミングツール１０１には、異常フラグを除き、すべての入出力、設定データ等々を任意に人為的にオンオフさせることができる機能が具備されているので、この機能を利用することで、図３の例であれば、外部入力に相当するａ接点、又はＴＭＰリレー等を人為的にオン状態とすることで、異常発生ロジック４０２を作動させることができる。
【００５５】
次に、操作者は、デバッグ作業の完了を待って、ＰＬＣプログラミングツール１０１を使用して、ラダープログラム上から異常発生ロジック４０２を削除すると共に、異常発生ロジック存在フラグ４０３の状態を、異常発生ロジック４０２が存在しないことを意味するオフ状態）に書き替える。
【００５６】
上述の削除並びに書き替えのための操作は、ＰＬＣプログラミングツール１０１のプログラム編集機能を使用して行ってもよいし、今回新たに開発された自動削除並びに書き替え機能を使用して行ってもよい。
【００５７】
今回新たに開発された自動削除並びに書き替え機能を使用する場合には、ＰＬＣプログラミングツール１０１において、該当する「消去・書き替え」機能を実行するための動作モードへの移行操作を行ったのち、異常発生ロジックの削除を指令する。すると、ラダープログラムに保持されている異常発生ロジック回路位置アドレスに基づいて、ラダープログラム上の異常発生ロジック部分が順次に検索されて、ＰＬＣプログラミングツール１０１の表示画面上に表示されると共に、併せて、操作者に対して削除するか否かを問いかける問い合わせ文が表示される。操作者が、削除するを選択すれば、当該異常発生ロジック部分は例えばラダー構成単位で自動的に削除されると共に、異常発生ロジック存在フラグ４０３は、異常発生ロジックが存在しないことを意味するオフ状態に書き替えられる。
【００５８】
１つの異常発生ロジック部分について、削除並びに書き替えが完了する毎に、次の異常発生ロジック部分についての表示更新、削除問い合わせが同様にして行われ、これに対応して削除並びに書き替えを選択する操作を繰り返すことにより、ラダープログラムに含まれる異常発生ロジックを必要に応じて選択的に削除することができる。
【００５９】
次に、ＰＬＣ実機へとラダープログラムをアップロードする場合について説明する。図５に示される、本発明に係るＰＬＣシステムの作用説明図（その２）を参照されたい。
【００６０】
ＰＬＣプログラミングツール１０１で作成されたラダープロクラム４をＰＬＣ実機２へとアップロードする場合には、従来よりＰＬＣプログラミングツール１０１に具備されているプログラムアップロード機能を利用して、転送指令を与える。すると、通信手段３の作用により、ＰＬＣプログラミングツール１０１からＰＬＣ実機２へと、ラダープログラム４の転送が行われ、転送されたラダープログラム４は、図２（ｂ）に示される第３記憶部（Ｆｌａｓｈメモリ）２５へと格納されることとなる。
【００６１】
こうして実機ＰＬＣ２に格納されるラダープログラム４には、異常発生ロジック存在フラグ４０３及び異常発生ロジック回路位置アドレス４０４が保持されている。これらの異常発生ロジック存在フラグ４０３及び異常発生ロジック回路位置アドレス４０４は、必要により、ＰＬＣ内の第２記憶部（ＲＡＭ）２３内のパラメータエリア又はデータエリア等に転送記憶される。
【００６２】
次に、ＰＬＣ実機２における動作モードの切り替え処理について説明する。図６に示される、本発明に係るＰＬＣシステムの作用説明図（その３）、及び図１１のフローチャートを参照されたい。
【００６３】
ＰＬＣ実機２における動作モードを運転モードに切り替えるためには、操作者は、ＰＬＣプログラミングツール１０１において、又はＰＬＣ実機２に接続された可搬式の簡易型プログラミングツール（以下、プロコンと言う）において、所定の切り替え操作を行う（図１１のステップ２０１ＹＥＳ、２０２）。これにより、プロコンは、動作モード切替指示をＰＬＣ実機２へと発行する（図１１のステップ２０３）。
【００６４】
すると、実機ＰＬＣ２の通信部２０１が動作モード切替指示を受け取ると共に、これを動作制御部２０３へと受け渡す。動作制御部２０３は、自機のメモリに格納されたラダープログラム４に保持された異常発生ロジック存在フラグ４０３の内容を参照する（図１１のステップ２０４）。
【００６５】
続いて、動作制御部２０３は、プロコンから与えられた切替指示の内容が、動作モードを他のモードから運転モードへと切り替えることを指示するものであり、かつラダープログラム４に保持された異常発生ロジック存在フラグの内容が、異常発生ロジックが存在することを意味するオン状態であるか否かの判定を行う（図１１のステップ２０５参照）。
【００６６】
ここで、上述の判定結果が否定される場合には（図１１のステップ２０５ＮＯ）、ステップ２０６へと移行して、実機ＰＬＣ２の動作制御部２０３はラダー実行エンジン２０２へとラダー実行指令を与える。すると、動作モードは運転モードへと切り替えられ、ラダー実行エンジン２０２によるラダープログラムの実行が開始される。つまり、プロコンから与えられた切替指示の内容が、動作モードを他のモードから運転モードへと切り替えることを指示するものであり、かつラダープログラム４に保持された異常発生ロジック存在フラグの内容が、異常発生ロジックが存在しないとを意味するオフ状態であるときには、異常発生ロジックの作動に基づく誤動作の虞はないとして、ラダー実行エンジン２０２により、ラダープログラムの実行を開始するのである。
【００６７】
なお、ラダープログラムの実行は、第３記憶部（Ｆｌａｓｈメモリ）２５から第２記憶部（ＲＡＭ）２３に展開されたラダープログラムを、演算部（ＣＰＵ）２１に内蔵されるＡＳＩＣにて構成されるラダー実行エンジン２０２により解読実行することで、例えばスキャニング型又は都度実行型の実行方式により行われる。
【００６８】
これに対して、上述の判定が肯定される場合には（図１１のステップ２０５ＹＥＳ）、ステップ２０７へと移行して、動作制御部２０３は切り替え動作を行うことなく、所定の報知用ＬＥＤの表示状態を変更することで、ＰＬＣ実機の側において運転モードへの切り替えに失敗したことを報知すると共に、その旨を所定の状態フラグＦ１に記憶させ、併せて、プロコンに対して運転モードへのモード切り替えに失敗したことを切り替え要求命令に対するレスポンスとして返す。つまり、プロコンから与えられた切替指示の内容が、動作モードを他のモードから運転モードへと切り替えることを指示するものであり、かつラダープログラム４に保持された異常発生ロジック存在フラグの内容が、異常発生ロジックが存在することを意味するオン状態であるときには、異常発生ロジックの作動に基づく誤動作の虞があるとして、ラダープログラムの実行を開始しないのである。
【００６９】
従って、プログラム開発支援装置１におけるＰＬＣプログラミングツール１０１の操作で、異常発生ロジック４０２を使用して、異常ロジック４０１を含むラダープロクラムのデバッグ作業を行ったのち、本来は異常発生ロジック４０２を削除すべきところ、これを削除し忘れたまま、ＰＬＣ実機２へとそのラダープログラムを転送して、ＰＬＣ実機２を運転モードに切り替えたような場合には、当該ラダープログラム中に含まれる異常発生ロジック存在フラグがオン状態とされていることから、そのような運転モードへの切り替えはＰＬＣ実機２の側で拒否され、異常発生ロジック４０２を含むラダープログラムがＰＬＣ実機にて実行されることによる誤動作の虞を未然に防止することができる。
【００７０】
次に、ＰＬＣプログラミングツール１０１における異常発生ロジック存在に起因する切り替え失敗後の処理について説明する。図７に示される、本発明に係るＰＬＣシステムの作用説明図（その４）を参照されたい。
【００７１】
先に説明したように、開発支援装置１には、ＰＬＣ側の状態フラグＦ１の内容をモニタすると共に、その内容が異常発生ロジックが存在するものであるときには、当該開発支援装置の操作者に対して、ラダープログラム中に異常発生ロジックが存在するために、ＰＬＣ側において運転モードへの切り替えができない旨を表示する仕組みが設けられている。
【００７２】
このような構成によれば、プロクラム開発支援装置１の側で、ＰＬＣの動作モードを運転モードに切り替えるための操作を行ったときに、ＰＬＣで実行されるべきラダープログラムに異常発生ロジックが存在することに起因して、運転モードへの切替が拒否されたときには、ＰＬＣ側の状態フラグＦ１の内容をモニタすることによって、その旨の表示がプログラム開発支援装置１の側のディスプレイに行われるため、プログラム開発支援装置１の操作者はそのことに直ちに気付くことができる。
【００７３】
また、開発支援装置１には、ラダープログラム中に組み込まれた１又は２以上の異常発生ロジックのそれぞれの回路位置アドレス４０４を当該ラダープログラム中に書き込むための仕組みと、ラダープログラム中に書き込まれた回路位置アドレス４０４に基づいて、ラダー図上の各異常発生ロジック部分を選択的に１つずつ表示させる仕組みとが設けられている。
【００７４】
このような構成によれば、ＰＬＣ２で実行されるべきラダープログラムに異常発生ロジック４０３が存在することに起因して、運転モードへの切替が拒否されたときに、ＰＬＣ側２のラダープログラムをモニタすれば、そのラダープログラムに含まれる異常発生ロジック部分が検索されて選択的に１つずつ、ディスプレイ上に表示されるから、それに基づいて、ラダープログラム中のどこに異常発生ロジックが残されているかを操作者は確認することができる。
【００７５】
また、開発支援装置１には、ＰＬＣ２の現在の動作モードが運転モード以外のモードであることを条件として、前記選択的に１つずつ表示される異常発生ロジック部分のそれぞれを削除するか否かを操作者に対して問い合わせる仕組みがさらに設けられている。
【００７６】
このような構成によれば、例えばデバッグの要不要等の都合に応じて、ラダープログラムに含まれる異常発生ロジックの中から、削除されるべきロジックを任意に選択することができる。
【００７７】
また、開発支援装置１には、前記問い合わせに対して削除する旨が操作者により回答されたときには、前記開発支援装置及び前記ＰＬＣは、前記表示された１の異常発生ロジック部分の削除を可能とするためのオンラインエディットモードへと移行する仕組みが設けられている。
【００７８】
このような構成によれば、操作者がその異常発生ロジックを削除する旨の回答を行うと、前記表示された１の異常発生ロジック部分の削除を可能とするためのオンラインエディットモードへと移行するため、当該ラダープログラムをＰＬＣからダウンロードせずとも、その異常発生ロジックをラダープログラム上から削除することができる。
【００７９】
更に、開発支援装置１には、前記表示された１の異常発生ロジック部分がオンラインエディットモードにて削除されたときには、オンラインエディットモードを一旦終了させると共に、その時点で未削除の異常発生ロジックがなおも存在するときには、それらのうちの１つの異常発生ロジック部分を表示させると共に、それを削除するか否かを操作者に対して問い合わせる仕組みが設けられている。
【００８０】
このような構成によれば、その時点で未削除の異常発生ロジックがなおも存在するときには、前記表示された１の異常発生ロジック部分がオンラインエディットモードにて削除されたときには、オンラインエディットモードを一旦終了させたのち、それらのうちの１つの異常発生ロジック部分を表示させると共に、それを削除するか否かを操作者に対して問い合わせが行われるため、ひとりでに次の異常発生ロジックについて削除が促されることとなる。さらに、問い合わせに対して削除する旨が操作者により回答されたときには、開発支援装置及び前記ＰＬＣは、前記表示された１の異常発生ロジック部分の削除を可能とするためのオンラインエディットモードへと移行するように仕組まれている。このような構成によれば、ラダープログラムに含まれる異常発生ロジックのうち、必要なものについて、オンラインエディットにより順次に削除することが可能となる。
【００８１】
本発明に係るＰＬＣシステムの作用説明図（その５）が図８に示されている。ＰＬＣプログラミングツール１０１は、運転モード切替を行わない場合には、操作者にオンラインエディットを行うか否かを問い合わせ、オンラインエディットを行う旨の入力がなされた場合には、デバッグプログラム回路位置アドレス４０４を用いてラダープログラムを検索し、対応するラダープログラムを画面に表示するものである。
【００８２】
次いで、本発明に係るＰＬＣシステムの作用説明図（その６）が図９に示されている。ＰＬＣプログラミングツール１０１は、ＰＬＣ２に接続せずオフラインとした場合には、デバッグプログラム回路一覧を表示することが出来る。この場合、メニューやアイコンなどで「デバッグプログラム一覧表示」を操作者が選択すると、ＰＬＣプログラミングツール１０１は全てのデバッグプログラム存在フラグ４０３（４０３−１，４０３−２，４０３−３，・・・）を検索し、結果としてデバッグプログラム存在フラグ４０３がＯＮであるラダー構成単位（タスクやセレクションなど）及びデバッグプログラム回路位置アドレス４０４（４０４−１，４０４−２，４０４−３，・・・）を一覧として表示する。
【産業上の利用可能性】
【００８３】
本発明によれば、開発支援装置の側において、異常発生ロジック存在フラグの状態を、異常発生ロジックの存在状態と不存在状態とに合わせて書き替え操作することにより、開発支援装置からＰＬＣへと誤って異常発生ロジックが存在する状態のままで転送されたラダープログラムが、そのままＰＬＣ実機で実行されることによる危険を回避することが可能となる。
【図面の簡単な説明】
【００８４】
【図１】本発明に係るＰＬＣシステムの一実施例を示すシステム構成図である。
【図２】本発明に係るＰＬＣシステムの要素機器に関するハードウェア構成図である。
【図３】異常ロジック及び異常発生ロジックを含むラダープログラムの一例を示すラダー回路図である。
【図４】本発明に係るＰＬＣシステムの作用説明図（その１）である。
【図５】本発明に係るＰＬＣシステムの作用説明図（その２）である。
【図６】本発明に係るＰＬＣシステムの作用説明図（その３）である。
【図７】本発明に係るＰＬＣシステムの作用説明図（その４）である。
【図８】本発明に係るＰＬＣシステムの作用説明図（その５）である。
【図９】本発明に係るＰＬＣシステムの作用説明図（その６）である。
【図１０】デバッグ作業時の操作手順を示すフローチャートである。
【図１１】運転モード切替操作とＰＬＣの動作とを示すフローチャートである。
【図１２】本発明が解決しようとする課題を説明するための図である。
【符号の説明】
【００８５】
１          プログラム開発支援装置
２          ＰＬＣ
３          通信手段
４          ラダープログラム
１０        ＰＣ
１１        演算部（ＣＰＵ）
１２        第１記憶部（ＲＯＭ／ＨＤＤ）
１３        第２記憶部（ＲＡＭ）
１４        通信制御部
２１        演算部（ＣＰＵ）
２２        第１記憶部（ＲＯＭ）
２３        第２記憶部（ＲＡＭ）
２４        通信制御部
２５        第３記憶部（Ｆｌａｓｈメモリ）
２６        入出力回路
１０１      ＰＬＣプログラミングツール
２０１      通信部
２０２      ラダー実行エンジン
２０３      動作制御部
４０１      異常ロジック
４０２      異常発生ロジック
４０２−１  第１部分
４０２−２  第２部分
４０３      異常発生ロジック存在フラグ
４０４      異常発生ロジック回路位置アドレス
Ｆ１        状態フラグ
【図１】
0004919091.tif 000002
【図２】
0004919091.tif 000003
【図３】
0004919091.tif 000004
【図４】
0004919091.tif 000005
【図５】
0004919091.tif 000006
【図６】
0004919091.tif 000007
【図７】
0004919091.tif 000008
【図８】
0004919091.tif 000009
【図９】
0004919091.tif 000010
【図１０】
0004919091.tif 000011
【図１１】
0004919091.tif 000012
【図１２】
0004919091.tif 000013