(57)【要約】【課題】ラダープログラムなどのコントローラで用いられるデバイス制御プログラムについて詳しい知識がない操作者でも、コントローラ配下の被制御デバイスの動作条件を容易に確認できるようにする。【解決手段】被制御デバイスを制御するＰＬＣ２１からラダープログラム２１ａを取得する。取得したラダープログラム２１ａを解析し、デバイスの動作（インターロック）条件を特定する。そして、デバイスの動作条件を自然言語により記述したコメント文字列を動作条件に関連付けて登録する。装置オペレータの制御デバイスやその動作名称に係る検索操作に応じて、そのデバイスの動作条件に関連付けられたコメント文字列を出力する。【選択図】図１
2019192067.tif 000002
【特許請求の範囲】
【請求項１】
被制御デバイスを制御するコントローラからデバイス制御プログラムを取得する取得部と、
取得した前記デバイス制御プログラムを解析し、前記被制御デバイスの動作条件を特定する解析部と、
前記動作条件を自然言語により記述したコメント文字列を前記動作条件に関連付けて登録する設定部と、
前記被制御デバイスの動作条件に関連付けられた前記コメント文字列を出力する出力部と、を備えたシステム。
【請求項２】
請求項１に記載のシステムにおいて、前記デバイス制御プログラムがラダーロジック形式に変換可能なプログラムテキストにより表現されているシステム。
【請求項３】
請求項２に記載のシステムにおいて、前記動作条件が、前記プログラムテキストにより記述された、前記被制御デバイス、および前記被制御デバイスの動作に関係する前記コントローラに接続された他のデバイスのインターロック条件であるシステム。
【請求項４】
請求項１から３のいずれか１項に記載のシステムにおいて、前記コメント文字列が、前記動作条件を成立させるための作業を支援する情報を含むシステム。
【請求項５】
請求項１から４のいずれか１項に記載のシステムにおいて、前記コントローラから、前記コントローラに接続された前記被制御デバイスおよび他のデバイスの状態を示すデバイスデータを取得し、取得したデバイスデータに基づき、前記被制御デバイスの動作条件のうち、成立している動作条件を除き、非成立の動作条件に係るコメント文字列のみを前記出力部により出力するシステム。
【請求項６】
請求項２または３に記載のシステムにおいて、前記出力部が、リスト形式および／またはラダーロジック形式により前記コメント文字列を出力するシステム。
【請求項７】
請求項１から６のいずれか１項に記載のシステムにおいて、前記取得部、前記解析部、および前記設定部が実装された第１のハードウェア装置とは異なり、前記第１のハードウェア装置とネットワーク接続された第２のハードウェア装置に前記出力部が実装されているシステム。
【請求項８】
被制御デバイスを制御するコントローラからデバイス制御プログラムを取得する取得工程と、
取得した前記デバイス制御プログラムを解析し、前記被制御デバイスの動作条件を特定する解析工程と、
前記動作条件を自然言語により記述したコメント文字列を前記動作条件に関連付けて登録する設定工程と、
操作者によって指定された前記被制御デバイスの動作条件に関連付けられた前記コメント文字列を出力する出力工程と、を含むシステム制御方法。
【請求項９】
請求項８に記載のシステム制御方法において、前記デバイス制御プログラムがラダーロジック形式に変換可能なプログラムテキストにより表現されているシステム制御方法。
【請求項１０】
請求項９に記載のシステム制御方法において、前記動作条件が、前記プログラムテキストにより記述された、前記被制御デバイス、および前記被制御デバイスの動作に関係する前記コントローラに接続された他のデバイスのインターロック条件であるシステム制御方法。
【請求項１１】
請求項８から１０のいずれか１項に記載のシステム制御方法において、前記コメント文字列が、前記動作条件を成立させるための作業を支援する情報を含むシステム制御方法。
【請求項１２】
請求項８から１１のいずれか１項に記載のシステム制御方法において、前記コントローラから、前記コントローラに接続された前記被制御デバイスおよび他のデバイスの状態を示すデバイスデータを取得し、取得したデバイスデータに基づき、前記被制御デバイスの動作条件のうち、成立している動作条件を除き、非成立の動作条件に係るコメント文字列のみを出力装置により出力するシステム制御方法。
【請求項１３】
請求項９または１０に記載のシステム制御方法において、前記出力工程で、リスト形式および／またはラダーロジック形式により前記コメント文字列を出力するシステム制御方法。
【請求項１４】
請求項８から１３のいずれか１項に記載のシステム制御方法において、前記取得工程、前記解析工程、および前記設定工程が実装された第１のハードウェア装置とは異なり、前記第１のハードウェア装置とネットワーク接続された第２のハードウェア装置に前記出力工程が実装されているシステム制御方法。
【請求項１５】
請求項８から１４のいずれか１項に記載の各工程をシステム制御を行う制御部に実行させるための制御プログラム。
【請求項１６】
請求項９に記載の制御プログラムを格納したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被制御デバイスを制御するコントローラのデバイス制御プログラムを処理するシステム、およびシステム制御方法に関する。
【背景技術】
【０００２】
工業製品を生産する生産ラインに配置された、搬送装置、加工装置、組立装置といったデバイス、機器の制御に、ＰＬＣ（プログラマブル・ロジック・コントローラ）、シーケンサなどと呼ばれる制御装置（コントローラ）が用いられている。
【０００３】
一般に、このような制御装置（コントローラ）では、配下のデバイスの動作を決定付ける制御構造を記述した制御プログラム（以下、デバイス制御プログラムという）が用いられる。例えば、ＩＥＣ６１１３１−３規格には、このようなデバイス制御プログラムとして、グラフィカル表現および、プログラムテキスト表現によるいくつかのソフトウェアアーキテクチャが記載されている。
【０００４】
このようなデバイス制御プログラムでは、ラダープログラムが用いられる場合がある。ラダープログラムでは、コントローラ配下のスイッチやリレー、モータなど種々のデバイスの要素で構成された回路図（ラダーロジック）のような様式で被制御機器の相互関係を記述する。ラダープログラムの作成や編集においては、この回路図に似たグラフィカルな形式が用いられる。一方、実際にメモリ上に格納されるラダープログラムは、例えば上記のＩＥＣ６１１３１−３規格に記載されるようなプログラムテキスト形式（あるいはそれと等価なバイナリデータや中間コード）が用いられる。一般に、このようなプログラムテキストは図１２のようなラダーロジック表現（形式）に変換可能なソフトウェアアーキテクチャである。
【０００５】
ラダープログラムでは、システム動作の確実性を確保するため、インターロックと呼ばれる仕組み用いられることがある。インターロック機構は、例えばラダープログラムのプログラマが「インターロック回路」などと呼ばれる制御関係を記述することにより定義、作成することができる。例えば、ある被制御機器の動作を別の被制御機器が動作していない場合にのみ許可するようなインターロック回路は、一方の被制御機器を動作させるデバイスのいわゆるｂ接点を他方の被制御機器の回路に追加する、といった形式で記述できる。
【０００６】
このインターロック機構（回路）は、特定のデバイスの動作に係る動作条件を記述したものと考えることができる。例えば、特定のデバイスの動作状態についてインターロック（条件）が「成立している／成立していない」と言った場合、そのデバイスに係る他のデバイスの状態が動作条件を「満たしている／満たしていない」という意味になる。
【０００７】
もし、あるデバイスに関するデバイス制御プログラムないしラダープログラムで定義されたインターロック条件が成立しない状態であれば、目的のデバイスは動作しない。例えば、装置オペレータが特定の動作を起動しようと操作パネルなどに配置された操作スイッチを押しても、目的のデバイスは動作しない。このように、あるデバイスで装置オペレータが意図した所望の動作が行われない場合、その原因を究明するには、そのデバイスのインターロック条件が何かを知り、その１つ１つを確認する必要がある。
【０００８】
従来では、このようなインターロック条件の調査には、ラダープログラムについてのリテラシー、知見、能力が必要であり、例えばコントローラとその配下のデバイスが配置された現場の装置オペレータには必ずしも容易ではない。例えば、インターロック条件の調査では、手持ちの端末でラダープログラムを表示させ、目的の被制御機器を特定し、そこに記述されているインターロック回路（条件）を読み取る、といった知見、能力が要求される。
【０００９】
そこで、ラダープログラムに記述された制御条件の理解を支援するため、ラダープログラムに記述されたデバイス間の依存関係を表示する、あるいはラダープログラムの検索結果に説明コメントを表示する、などの方法が従来より提案されている。例えば、特許文献１には、デバイス間の依存関係の把握を表示可能なデバッグ装置、デバッグ方法およびデバッグプログラムが開示されている。また、特許文献２には、検索結果表示画面に、スイッチ接点やコイルのような制御要素それぞれに付されたコメント（ネットコメント）を表示する機能を備えたラダープログラム編集装置が開示されている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特許第６１５０９５３号公報
【特許文献２】特許第６２１２０７４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、特許文献１記載の技術では、デバイス間の関係を表示させることはできるが、オペレータの関心がある動作がプログラムのどの場所に記載されているかを特定することができない。また、特許文献２記載の技術では、検索結果に含まれるネットコメントから接点やコイルのような制御要素の個々については理解できるが、特定のデバイスの動作条件を成立させるのに必要な作業については有用な情報を提供することができない。
【００１２】
即ち、従来では、デバイス制御プログラムで記述された特定のデバイスの動作条件が成立しない場合に、装置オペレータが何を解決すればその条件を成立させることができるか、を容易に理解できるよう支援する仕組みが提供されていなかった。
【００１３】
そこで本発明の課題は、ラダープログラムなどのコントローラで用いられるデバイス制御プログラムについて詳しい知識がない操作者でも、コントローラ配下の被制御デバイスの動作条件を容易に確認できるようにすることにある。
【課題を解決するための手段】
【００１４】
上記課題を解決するため、本発明のシステムにおいては、被制御デバイスを制御するコントローラからデバイス制御プログラムを取得する取得部と、取得した前記デバイス制御プログラムを解析し、前記被制御デバイスの動作条件を特定する解析部と、前記動作条件を自然言語により記述したコメント文字列を前記動作条件に関連付けて登録する設定部と、前記被制御デバイスの動作条件に関連付けられた前記コメント文字列を出力する出力部と、を備えた構成を採用した。
【発明の効果】
【００１５】
上記構成によれば、ラダープログラムなどのコントローラで用いられるデバイス制御プログラムについて詳しい知識がない操作者でも、コントローラ配下の被制御デバイスの動作条件を容易に確認することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明を実施可能なインターロック条件表示装置のシステム概略を示した説明図である。
【図２】図１のシステムにおけるインターロック条件表示に係る全体の制御手順を示したフローチャート図である。
【図３】図１の取得部の処理内容を示すフローチャート図である。
【図４】図１の設定部の処理内容を示すフローチャート図である。
【図５】図１のラダープログラム解析部の処理内容を示すフローチャート図である。
【図６】図１の表示データ生成部の処理内容を示すフローチャート図である。
【図７】図１の表示部の処理内容を示すフローチャート図である。
【図８】図１の動作リストデータの一例に相当するデータテーブルを示した説明図である。
【図９】図１の作業コメントデータの一例に相当するデータテーブルを示した説明図である。
【図１０】図１のインターロック条件データの一例に相当するデータテーブル図である。
【図１１】図１のデバイスデータの一例に相当するデータテーブル図である。
【図１２】図１のラダープログラムの一例を示す説明図である。
【図１３】本発明の実施例において制御される機器の一例を示した説明図である。
【図１４】図１３の構成におけるインターロック条件の非成立状態を示した説明図である。
【図１５】インターロック条件表示の表示画面の一例を示した説明図である。
【図１６】図１のインターロック条件表示装置のハードウェア構成例を示したブロック図である。
【発明を実施するための形態】
【００１７】
以下、添付図面を参照して本発明を実施するための形態につき説明する。なお、以下に示す構成はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施形態で取り上げる数値は、参考数値であって、本発明を限定するものではない。
【００１８】
以下に示す実施形態では、デバイス制御を行うコントローラとしてＰＬＣ（プログラマブル・ロジック・コントローラ）を例示する。また、コントローラが配下のデバイスを制御するためのデバイス制御プログラムのグラフィカル表現としてはラダープログラムないしラダーロジック（ラダー回路）を前提とする。しかしながら、実際にデバイス制御プログラムがＰＬＣのメモリやストレージに格納される時のフォーマットは任意である。なお、以下の実施形態で例示する部材名や、プログラム、データの名称はあくまでも一例に過ぎない。そして、以下の実施形態で例示する構成、制御手順は、デバイス制御プログラムのグラフィカル表現、あるいはメモリ上のテキスト表現が上記と異なる場合であっても、当業者において適宜、設計変更を加えた上、実施することができるのはいうまでもない。
【００１９】
図１に、本実施形態のシステムの概略構成を示す。インターロック条件表示装置の本システムはインターロック条件表示装置１、デバイス制御装置２、および表示装置３から構成される。
【００２０】
デバイス制御装置２は、例えば生産ラインに配置された加工装置、組立装置、搬送装置、ロボット装置、センサ、スイッチパネルなどのデバイスをシーケンス制御するＰＬＣ２１を含む。ＰＬＣ２１は、例えば生産ラインに配置された加工装置、組立装置、搬送装置、ロボット装置、センサ、スイッチパネルなどのデバイスに接続される。ＰＬＣ２１は、接続されたこれら配下のデバイスを制御するためのデバイス制御プログラムとして、ラダープログラム２１ａを格納する。ラダープログラム２１ａは、予め不図示のラダープログラム開発端末などを用いて作成され、ＰＬＣ２１の内部メモリなどに格納される。また、ＰＬＣ２１の内部メモリには、接続された配下の各デバイスの状態を表現したデバイスデータ２１ｂを有する。各デバイスの状態は、生産ラインのデバイスなどに配置されたセンサやリミットスイッチなどの状態を反映し、刻々と更新されるものとする。
【００２１】
ＰＬＣ２１では、例えばデバイス制御プログラムとしてのラダープログラム２１ａに、例えば図１２に示すようなラダーロジック（ラダー回路）を記述することにより、特定の被制御デバイスの動作条件（インターロック条件）を定義することができる。
【００２２】
図１２のラダープログラム２１ａの場合、被制御デバイスは出力デバイスであるＭ１００で、例えばモータやソレノイドなどに相当する。図１２のラダーロジックは、被制御デバイスとしての出力デバイスＭ１００の動作（インターロック）条件の１つは、例えばスイッチや接点などに相当するＴ１００およびＸ１０００の双方がオン、または、Ｔ１０１がオンになることを要求している。また、その際、例えばデバイスデータ２１ｂが示す２つの他のデバイスの状態（Ｄ１００、Ｄ２００）が特定の条件を満たすことが要求される。状態（Ｄ１００、Ｄ２００）に係る他のデバイスは、例えばＰＬＣ２１配下のセンサやリミットスイッチなどにより検出した温度などの数値データや、あるいは、特定のロボット装置の位置、姿勢である。
【００２３】
前述のように、図１２のように記述された被制御デバイス（Ｍ１００）の動作条件（インターロック条件）は、ラダーロジックに関する知見なしに解読することはかなり難しい。例えば、ここで、生産ラインの装置オペレータが、デバイス制御装置２のスイッチパネル（不図示）などに配置した起動スイッチを操作して被制御デバイス（Ｍ１００）を動作させようとしたが、意図した通りの動作が行われなかったとする。その時、装置オペレータが、手持ちの端末などを用いて図１２のような被制御デバイス（Ｍ１００）に係るラダープログラム２１ａにアクセスできる可能性はある。しかしながら、表示されたラダープログラム２１ａに記述されたラダーロジックを解読する知見がなければ、インターロックが成立しない原因を特定したり、インターロック条件を成立させるために必要な作業を特定するのは困難である。
【００２４】
そこで、本実施形態では、インターロック条件表示装置１を用いて本システムは、例えばデバイス制御装置２のＰＬＣ２１のデバイス制御プログラム、即ちラダープログラム２１ａ、およびデバイスデータ２１ｂを解析できるようにする。そして、その解析結果に基づき、特定の被制御デバイス（Ｍ１００）の動作条件に係る情報を出力装置としての表示装置３に表示させ、オペレータを支援できるようにする。その場合、被制御デバイス（Ｍ１００）の動作条件に関する支援情報は、例えばそのデバイスの動作条件を成立させるのに必要な要素を具体的に記述したコメント文字列によって出力する。好ましくは、この被制御デバイス（Ｍ１００）の動作条件に関する支援情報は、「○○を××して下さい」のような動作条件を成立させるのに必要な作業を自然言語により具体的に記述したコメント文字列とする（後述の図１５参照）。なお、このコメント文字列による動作（インターロック）条件に関する支援情報を出力する表示装置３はＬＣＤディスプレイなどから構成することができる。
【００２５】
図１６は、図１のインターロック条件表示装置１の制御系１０００の構成例を示している。図示のようなインターロック条件表示装置１は、パーソナルコンピュータ（ＰＣ）と同等のハードウェア構成を利用して実現することができる。図１６のインターロック条件表示装置１は、インターロック条件表示装置１の制御部として機能するＣＰＵ１ａと、ＲＯＭ１ｂと、ＲＡＭ１ｃと、記憶装置１ｄと、入力装置１ｅと、通信インターフェース１ｆとを備えている。ＣＰＵ１ａ、ＲＯＭ１ｂ、ＲＡＭ１ｃ、記憶装置１ｄ、入力装置１ｅ、通信インターフェース１ｆはバス１ｇを介して接続されている。
【００２６】
ＣＰＵ１ａは、ＲＡＭ１ｃを作業領域として使用しながら、ＲＯＭ１ｂ及び記憶装置１ｄに記憶されているプログラムを実行する。入力装置１ｅは、キーボードやマウスなどのポインティングデバイスなどによって構成される。ＰＬＣ２１との通信は、通信インターフェース１ｆを介して行われる。
【００２７】
図１では、インターロック条件表示装置１は機能ブロック表示により示されている。例えば、本実施形態のインターロック条件表示装置１は、設定部１１、ラダープログラム解析部１２、取得部１３、データ記憶部１４、表示部１５、表示データ生成部１６から構成される。これらのうち、取得部１３は例えばネットワークインターフェース回路などを用いて構成され、データ記憶部１４は、例えば上記のＲＡＭ１ｃ（図１６）の記憶領域によって構成される。また、図１６の制御系１０００に不図示のＨＤＤやＳＳＤ、ＮＡＳなどから構成された外部記憶装置が接続されている場合、データ記憶部１４にはこの外部記憶装置の記憶領域を用いることもできる。
【００２８】
図１において、書類フォルダに類似したシンボルで図示した各種のデータは、データ記憶部１４に格納される。また、インターロック条件表示装置１の機能ブロックの内、制御手順に係る機能は、ＣＰＵ１ａ（図１６）のソフトウェアによって実装される。本実施形態のシステム制御方法に関しては、以下でフローチャート図を用いて、詳細に説明する。本実施形態の制御手順を実現するためのＣＰＵ１ａ（図１６）のソフトウェアは、例えばＣＰＵ１ａが実行可能な制御プログラムとして、例えばＲＯＭ１ｂ（図１６）の例えばＥＥＰＲＯＭ領域や、上記のような外部記憶装置などに記憶させておく。
【００２９】
その場合、後述の制御手順を実現するためのＣＰＵ１ａの制御プログラムは、ネットワークインターフェース（不図示）を介して、上記の各記憶部に供給し、また新しい（別の）プログラムに更新することができる。あるいは、後述の制御手順を実現するためのＣＰＵ１ａの制御プログラムは、不図示の磁気ディスクや光ディスク、フラッシュメモリなどの記憶手段と、そのためのドライブ装置を経由して、上記の各記憶部に供給し、またその内容を更新することができる。上述の制御手順を実現するためのＣＰＵ１ａの制御プログラムを格納した状態におけるＲＯＭ１ｂや外部記憶装置などの記憶手段は、本発明の制御手順を格納したコンピュータ読み取り可能な記録媒体を構成することになる。
【００３０】
インターロック条件表示装置１の機能ブロックの内、取得部１３は、デバイス制御装置２のＰＬＣ２１が格納するラダープログラム２１ａとデバイスデータ２１ｂの情報を読出し、データ記憶部１４に記憶する。取得部１３は、デバイス制御装置２のＰＬＣ２１と通信するインターフェースを有し、ラダープログラム２１ａの情報読出し、およびデバイスデータ２１ｂの情報読出しを行う。
【００３１】
設定部１１は、特定の被制御デバイスの動作（インターロック）条件成立に必要な作業を記述したコメント文字列である作業コメントデータ１１ｂを登録編集し、データ記憶部１４に記憶させるために用いられる。その場合、作業コメントデータ１１ｂは、例えば装置オペレータが行う操作とラダープログラム該当箇所を関係付けた動作リストデータ１１ａと紐付けられた上で格納される。この設定登録の対象とする被制御デバイスの動作（インターロック）条件は、取得部１３によってＰＬＣ２１から取得したラダープログラム２１ａのラダーロジックによって記述されたものとする。
【００３２】
設定部１１による設定操作は、例えば、動作リストデータ１１ａに関連付けて登録すべき作業コメントデータ１１ｂの入力は、例えばインターロック条件表示装置１の制御系１０００の入力装置１ｅを介して行う。この作業コメントデータ１１ｂの設定操作は、ラダープログラム２１ａ中のデバイス要素と、ラダーロジックが記述している制御構造を理解している作業者、例えば、ラダープログラム２１ａのプログラマや管理者などにより行われる。
【００３３】
ラダープログラム解析部１２は、取得部１３によってＰＬＣ２１から取得したラダープログラム２１ａに記述された特定の被制御デバイスの動作（インターロック）条件を解析する。そして、解析結果に基づき、図１０に示すようなインターロック条件データ１２ａを生成し、データ記憶部１４へ記憶させる。ラダープログラム解析部１２ラダープログラム２１ａをインターロック条件毎に分割変換する機能と、インターロック条件を検索する機能を有するものとする。例えば、ラダープログラム２１ａには、単数のみならず、複数の被制御デバイスと、そのそれぞれの動作（インターロック）条件がラダーロジックによって記述される。そこで、ラダープログラム解析部１２は、例えば被制御デバイスごとにその動作（インターロック）条件を分割、特定し、インターロック条件データ１２ａ（図１０）を生成する。
【００３４】
データ記憶部１４は、設定部１１とラダープログラム解析部１２と取得部１３と表示データ生成部１６の各処理で生成されたデータを記憶する機能を有するもので、上述のようにＲＡＭ１ｃ（図１６）や不図示の外部記憶装置などによって構成される。
【００３５】
表示部１５は、データ記憶部１４に蓄積された情報を参照し、操作された処理に基づいた表示データ１６ａを表示する機能を有する。表示データ生成部１６は、表示装置３で操作された処理を、データ記憶部１４に記憶された作業コメントデータ１１ｂとインターロック条件データ１２ａとデバイスデータ２１ｂとを用いて表示データ１６ａを生成し、データ記憶部１４へ記憶する。
【００３６】
なお、図１では、例えば動作条件を自然言語により記述したコメント文字列の出力部としての表示部１５が、あたかもインターロック条件表示装置１の表示装置であるかのように図示されている。しかしながら、表示部１５は、必ずしもインターロック条件表示装置１を構成するＰＣハードウェアである必要はない。
【００３７】
例えば、表示部１５は、設定部１１、取得部１３、解析部１２、が実装されたインターロック条件表示装置１（第１のハードウェア装置）とは異なる例えば遠隔位置に存在していてもよい。例えば、表示部１５は、インターロック条件表示装置１とネットワーク接続された、ネットワーク端末（第２のハードウェア装置）の表示装置により構成されていてもよい。このネットワーク端末（第２のハードウェア装置）は、例えば、ＰＬＣ２１を備えたデバイス制御装置２が配置された生産ラインの装置オペレータが携行するような端末とする。即ち、インターロック条件表示装置１（第１のハードウェア装置）のみが、ＰＬＣ２１を備えたデバイス制御装置２が配置された生産ラインから遠隔位置にあり、ネットワーク接続されているような状態である。その場合、例えば動作条件を自然言語により記述したコメント文字列は、表示部１５を備えたネットワーク端末（第２のハードウェア装置）で行った特定の被制御デバイスを検索するような検索操作に応じてその表示部１５で表示させることができる。
【００３８】
このような構成によれば、生産ラインなどに配置された装置オペレータが、現場での特定の被制御デバイスのインターロック条件不成立に直面した場合でも、動作条件に係る自然言語によるコメント文字列を容易に入手できる。従来では、そのようなインターロック条件不成立の状況では、作業内容の示唆などの支援情報は、電話や電子メールなどの手段を介して、生産ラインの装置オペレータがＰＬＣ２１のラダープログラム２１ａの作成者などに連絡を取る必要があった。これに対して、上記のようなネットワーク構成を利用することにより、装置オペレータは、容易に特定の被制御デバイスのインターロック条件不成立を解決するのに必要なコメント文字列を入手することができる。
【００３９】
以下、本発明のインターロック条件表示装置１を用いたシステムの動作について、さらに図面を参照しつつ説明する。図２は、インターロック条件表示装置１について、処理の流れおよびデータの流れを表したフローチャート（Ｓ０００）である。
【００４０】
図２の制御手順は、ステップＳ００１〜Ｓ００６により構成される。図２の図示は、ステップＳ００６において、表示部１５を介して動作条件に係る自然言語によるコメント文字列を表示させるために必要な手続をごく大まかに列挙したものである。そして、図２の手続の列挙は、必ずしもステップＳ００１〜Ｓ００６がこの順序で全てシーケンシャルに実行されることを要求するものではない。
【００４１】
例えば、ラダープログラム２１ａの取得（Ｓ００２）、コメント文字列の設定登録（Ｓ００３）、インターロック条件の解析と同データ生成（Ｓ００４）は、特定のラダープログラム２１ａについて、予め一通り実行しておく構成でもよい。その場合、コメント文字列の表示データ生成（Ｓ００５）と、表示（Ｓ００６）は、例えば種々の被制御デバイスを検索する現場の装置オペレータの検索操作に応じて、その都度、繰り返し実行することができる。
【００４２】
また、後述するように、図２の手続において、ステップＳ００３（図４のＳ２００）の作業コメント登録では、便宜上、その後に図示してあるステップＳ００４（図５のＳ３００）のインターロック条件解析の結果が参照される。これらのステップＳ００３（図４のＳ２００）、ステップＳ００４（図５のＳ３００）は、例えばＣＰＵ１ａのマルチプロセスないしマルチスレッド実行などによって並行して実行される構成であってもよい。
【００４３】
一方、図３、図４、図５、図６、図７は、処理の流れを表したフローチャート（ステップＳ１００、Ｓ２００、Ｓ３００、Ｓ４００、Ｓ５００）である。これら図３〜図７の処理は、それぞれステップＳ１０１〜ステップＳ１０２、ステップＳ２０１〜ステップＳ２０２、ステップＳ３０１〜ステップＳ３０６、ステップＳ４０１〜ステップＳ４０４、およびステップＳ５０１〜ステップＳ５０２により構成される。
【００４４】
図３のステップＳ１０１〜ステップＳ１０２は、例えば図２のステップＳ００２に相当し、デバイス制御装置２と取得部１３と前記データ記憶部１４により実行される。また、図４のステップＳ２０１〜ステップＳ２０５は、例えば図２のステップＳ００３に相当し、設定部１１とデータ記憶部１４により実行される。また、図５のステップＳ３０１〜ステップＳ３０６は、例えば図２のステップＳ００４に相当し、ラダープログラム解析部１２とデータ記憶部１４により実行される。また、図６のステップＳ４０１〜ステップＳ４０４は、例えば図２のステップＳ００５に相当し、表示データ生成部１６とデータ記憶部１４において実行される。また、図７のステップＳ５０１〜ステップＳ５０２は、例えば図２のステップＳ００６に相当し、表示部１５とデータ記憶部１４において実行される。
【００４５】
以下、図２の各ステップを、その詳細を記述した図３〜図７の制御手順を参照して順次、説明する。その場合、これらの制御手順で作成ないし参照されるデータ構成は図８〜図１１に例示するような構成であるものとする。図８、図９、図１０、図１１はそれぞれ図１の動作リストデータ１１ａ、作業コメントデータ１１ｂ、インターロック条件データ１２ａ、デバイスデータ２１ｂのデータ構成の一例である。
【００４６】
また、図８、図９、図１０、図１１のデータ構成は、図１３、図１４に示すようなデバイス構成に相当する。図１３は、チャック機構２２ｃ１を有するシフタ２２ｃ、チャック機構２２ａ１を有するワーク受渡ロボット２２ａ、チャック機構２２ｂ１を有するワーク受取ロボット２２ｂを示している。これらのシフタ２２ｃ、ワーク受渡ロボット２２ａ、ワーク受取ロボット２２ｂはＰＬＣ２１により制御されるインターロック関係にあるデバイスである。図１３の構成では、ワーク受渡ロボット２２ａによってワーク２２ｄがシフタ２２ｃに受渡され、シフタ２２ｃによってワーク２２ｄが搬送され、ワーク受取ロボット２２ｂが受取ったワーク２２ｄを他の位置に排出する。上記の具体的な動作プログラムの細部はＰＬＣ２１に記述されているものとする。
【００４７】
ここで、図２において、ステップＳ００１は、続くステップＳ００２以降の手順の契機となる指令操作を示したものである。例えば、ラダープログラムの取得、解析、コメント文字列の設定、解析（Ｓ００２〜Ｓ００４）を、コメント文字列の検索、表示（Ｓ００５、Ｓ００６）に先立って予め実行しておく構成では、ステップＳ００２〜Ｓ００４の処理を選択する指令操作に相当する。この操作は、例えばインターロック条件表示装置１の制御系１０００において入力装置１ｅにより行うものとする。
【００４８】
インターロック条件表示装置１は、図２のステップＳ００２において、ステップＳ００１の指令操作に応答して、ＰＬＣ２１からラダープログラム２１ａ、あるいはさらにデバイスデータ２１ｂを取得する。この詳細な制御手順は、図３のステップＳ１００（Ｓ１０１、Ｓ１０２）に相当し、取得部１３がＰＬＣ２１に格納してあるデータを読み出す。具体的には、ステップＳ１０１で取得部１３がＰＬＣ２１のラダープログラム２１ａを取得し、データ記憶部１４に記憶させ、全てのラダープログラムを記憶したらＳ１０２に進む。ステップＳ１０２では、取得部１３によりＰＬＣ２１のデバイスデータ２１ｂを取得し、記憶する。完了したらＥＮＤ処理へ進み、図３のＳ１００は全ステップ完了となる。
【００４９】
取得されるデバイスデータ２１ｂは、図１１のように、デバイスアドレス２１ｂ１、デバイスコメント２１ｂ２、そのデバイスの現在の状態を表現する値２１ｂ３、の各フィールドを備えたデータリストないしデータテーブルの構造を有する。デバイスアドレス２１ｂ１のフィールドには、実際にはバイナリアドレスが格納される場合もあるが、便宜上、この例では図１２〜図１４の構成で用いているものと同じ表記（Ｔ１００、Ｄ１００、Ｍ１００…など）を用いている。デバイスコメント２１ｂ２のフィールドには、例えばラダープログラム２１ａ中で、そのデバイスについて記述されたコメント文字列が取得される。このデバイスコメントは、本実施形態における作業コメント（１１ｂ２）とは異なり、従来よりラダープログラムの言語仕様などにおいて、単にデバイスの名前を記述するなどの目的で用いられているものである。
【００５０】
インターロック条件表示装置１は、図２のステップＳ００３において、図４のフローチャートＳ２００に示した制御手順により、設定部１１により作業コメントデータの設定登録を行う。ここでは、設定部１１は、図４のステップＳ２０１で、設定部１１は、取得したラダープログラム２１ａを参照して、動作名称１１ａ１、およびラダープログラム出力回路キー１１ａ２で構成される動作リストデータ１１ａを取得する。図１３、図１４の構成では、動作名称１１ａ１、およびラダープログラム出力回路キー１１ａ２で構成される動作リストデータ１１ａは図８に示すような構成となる。設定部１１は、取得した動作リストデータ１１ａをデータ記憶部１４に格納する。
【００５１】
また、続くステップＳ２０２では、設定部１１は、インターロック条件１１ｂ１と、このインターロック条件１１ｂ１に関係づけられた作業コメント１１ｂ２と、で図９のように構成されたインターロック条件データ（１１ｂ）を記憶する。その後、制御はＥＮＤ処理へ進み図４のＳ２００は全ステップ完了となる。
【００５２】
なお、図４のコメントデータの設定登録は、例えば図９に示すような表形式と同等のユーザーインターフェースを表示部１５で表示し、入力装置１ｅ（図１６）で作業コメントデータ１１ｂを入力させることにより行う。この作業は、通常、ラダープログラム２１ａのプログラマやシステム管理者などが実行する。この時、このユーザーインターフェースの初期状態では、作業コメントデータ１１ｂの欄は空欄である。そして、この空欄の作業コメントデータ１１ｂの欄にプログラマやシステム管理者などがインターロック条件１１ｂ１に関連する作業コメントデータを入力する。
【００５３】
ここで、インターロック条件１１ｂ１は、例えばＣＰＵ１ａのマルチプロセスないしマルチスレッド実行などによって並行して実行される図２のステップＳ００４（図５のＳ３００）において、ラダープログラム解析部１２により解析、取得される。
【００５４】
即ち、図５のステップＳ３０１において、ラダープログラム解析部１２は、データ記憶部１４にラダープログラム２１ａを取得し、続いてステップＳ３０２で取得したラダープログラム２１ａをインターロック条件毎に分割変換する。ステップＳ３０１、Ｓ３０２によりラダープログラム２１ａのプログラムテキストの最終行まで処理したら（Ｂ３０１）、ステップＳ３０３に進む。
【００５５】
ＰＬＣ２１には複数のラダープログラム２１ａ（ないし複数のラダーロジック）が存在することがある。複数のラダープログラム２１ａが存在する場合は、全てのラダープログラム２１ａを処理したかを判定（Ｂ３０１）しながら、ステップＳ３０１の処理とステップＳ３０２の処理を繰り返し実行する。そして、全てのラダープログラム２１ａについてインターロック条件毎に分割変換が完了したらステップＳ３０３に進む。
【００５６】
さらに、ステップＳ３０３において、ラダープログラム解析部１２は、データ記憶部１４に格納されている動作リストデータ１１ａを取得する。この動作リストデータ１１ａ（図８）は例えば、並行動作により図４のステップＳ２００の手順により生成されているものとする。
【００５７】
続いて、ステップＳ３０４で、ラダープログラム解析部１２は、ステップＳ３０３にて取得した動作リストデータ１１ａのラダープログラム出力回路キー１１ａ２からインターロック条件を検索するための検索デバイスキーを抽出する。ラダープログラム出力回路キー１１ａ２が複数存在する場合は、すべてを検索デバイスキーとして抽出する。検索デバイスキーの抽出が完了したらステップＳ３０５に進める。
【００５８】
さらに、ステップＳ３０５において、ラダープログラム解析部１２は、動作リストデータ１１ａのラダープログラム出力回路キー１２ａ１と、ステップＳ３０２にてインターロック条件毎に分割変換したインターロック条件１２ａ２とを解析する。そして、その解析の結果、例えば図１０のようにラダープログラム出力回路キー１２ａ１とインターロック条件１２ａ２を関連付けたインターロック条件データ１２ａを生成する。
【００５９】
ラダープログラム解析部１２は、インターロック条件データ１２ａの生成が完了したらステップＳ３０６に進み、ステップＳ３０５で生成したインターロック条件データ１２ａをデータ記憶部１４に記憶させる。また、設定部１１には複数の動作リストデータ１１ａが存在することがある。従って、複数の動作リストデータ１１ａが存在する場合は、全ての動作リストデータ１１ａを処理したか確認（Ｂ３０２）しながら、ステップＳ３０３〜Ｓ３０４とＳ３０５〜Ｓ３０６を繰り返し実行することになる。以上のようにして図５のインターロック条件データの生成が終了すると、ＥＮＤ処理へ進み図５のＳ３００は全ステップ完了となる。
【００６０】
以上のようにして、図８、図９、図１０、の動作リストデータ１１ａ、作業コメントデータ１１ｂ、インターロック条件データ１２ａが生成されると、図２のステップＳ００５（図６のＳ４００）、Ｓ００６（図７のＳ５００）の作業コメントデータの表示データ生成、および例えば表示によるデータ出力が可能となる。
【００６１】
作業コメントデータの表示データ生成においては、まず、図６のステップＳ４０１で、表示部１５が、データ記憶部１４に記憶されている動作リストデータ１１ａ（図８）、およびインターロック条件データ１２ａ（図１０）を参照する。そして、操作者、例えば装置オペレータが指定した動作に係るインターロック条件１２ａ２を取得、抽出する。
【００６２】
本実施形態では、特定のデバイスの動作（インターロック）条件に関して装置オペレータを支援する作業コメントデータのうち、成立していない（非成立の）動作（インターロック）条件のみを表示するよう制御を行う。
【００６３】
このため、ステップＳ４０２では、表示部１５は、ＰＬＣ２１配下の各デバイスの状態を示すデバイスデータ２１ｂを取得する。デバイスデータ２１ｂはこのタイミングにおいて、ＰＬＣ２１から新たに取得する。あるいは、データ記憶部１４に記憶されているデバイスデータ２１ｂが何らかのバックグラウンド処理などにより随時更新されている場合には、データ記憶部１４からデバイスデータ２１ｂを取得してもよい。
【００６４】
続いて、表示部１５は、取得したインターロック条件１２ａ２とデバイスデータ２１ｂとを照合し、インターロック条件が非成立か否かを評価（Ｂ４０１）する。そして、インターロック条件が非成立の場合のみ、そのインターロック条件に関連づけられている作業コメントデータを取得（Ｓ４０３）する。この処理を全てのインターロック条件について行ったことを確認（Ｂ４０２）しながら繰り返す。このようにして、表示部１５は、データ記憶部１４の作業コメントデータ（図９）から、インターロック条件１２ａ２（図１０）が非成立である作業コメント１１ｂ２のみを抽出することができる（Ｓ４０４）。このｙ抽出処理が完了すると、ＥＮＤ処理へ進み、図６のＳ４００は全ステップ完了となる。
【００６５】
そして、図７のステップＳ５００（図２のＳ００６）で、表示部１５は、抽出したインターロック条件１２ａ２（図１０）が非成立である作業コメント１１ｂ２を表示装置３により表示させる。ここでは、まず、図７のステップＳ５０１で抽出したインターロック条件１２ａ２（図１０）が非成立である作業コメント１１ｂ２を適当な表示形式、例えば図１５に示すような表形式に加工する。そして、ステップＳ５０２で、表示部１５は、加工した作業コメント１１ｂ２を表示装置３に送信し、表示させる。
【００６６】
図１５の表形式の作業コメント１１ｂ２の表示は、特定の被制御デバイス、シフタ２２ｃの動作に係るもので、同図の上段に示すように「シフタ  ワーク受取位置」の動作名称（１５０１）のタイトル表記の部分を有する。例えば、この動作名称（１５０１）のタイトル表記の部分は、例えばプルダウン（アップ）メニュー形式や、テキスト入力フィールド形式で構成し、装置オペレータが所望の被制御デバイスを検索する検索操作入力を行えるよう構成することができる。このプルダウン（アップ）メニュー形式や、テキスト入力フィールド形式で構成した動作名称（１５０１）の部分は、例えば装置オペレータが携行する作業端末を表示装置３として用いる構成において検索手段としてその端末に表示させることができる。例えば上記のような構成により、装置オペレータは、動作条件の不成立に直面した時、デバイス名や参照符号（の一部）などを入力ないし指定することで、動作条件不成立に係る被制御デバイスを検索することができる。
【００６７】
また、図１５の表形式の表示では、図９の全ての作業コメント１１ｂ２から、インターロック条件１２ａ２（図１０）が非成立であるもののみが抽出されている。例えば、図１５の表示例では、そのタイミングで、ワーク２２ｄがシフタ２２ｃに載置状態であり、インターロック条件の１つ、Ｔ１００（図９）は成立している。このため図１５の下部の表形式の表示では、インターロック条件のＴ１００（図９）に係る作業コメントは非表示の状態となっている。
【００６８】
なお、図１５の表形式の出力フォーマットは一例であって、作業コメント１１ｂ２は、例えばラダープログラムに関する知見に乏しい装置オペレータのとって判りやすい形式であれば、当業者において任意の出力形式で出力して構わない。例えば、図１２に示したようなラダーロジック形式を用いて、作業コメント１１ｂ２を出力することが考えられる。その場合、例えば図９、図１０、図１５を対比して明らかなように、図１５の１番から３番の作業コメント文字列は、図１２中のラダーロジックのデバイス要素であるＤ１００＝Ｋ１、Ｄ２００＝Ｋ１、Ｔ１００、Ｔ１０１、Ｘ１０００の近傍にそれぞれ表示する。また、同時に、ラダーロジックのデバイス要素 Ｄ１００＝Ｋ１、Ｄ２００＝Ｋ１、Ｔ１００、Ｔ１０１、Ｘ１０００のグラフィック表示の表示色を変更したり強調表示形式を用いてインターロック条件の非成立を強調してもよい。
【００６９】
また、図１５のような表形式ないしはリスト形式、および図１２に示したようなラダーロジックによる出力形式と、を双方とも表示画面に出力して用いる手法を取っても構わない。また、作業コメント１１ｂ２の出力の手法は表示に拘らず、不図示のプリンタなどを用いた印刷出力であってもよいし、ネットワーク接続された外部装置への転送出力などによって行っても構わない。
【００７０】
ここで、図１３、図１４に示した構成における動作（インターロック）条件不成立の例について説明する。図１３で説明したように動作するデバイスがＰＬＣ２１の配下に接続されている場合において、各デバイスが図１４の状態にあるものとする。この図１４の各デバイスの位置、姿勢において、シフタ２２ｃをワーク受取ロボット２２ｂのワーク受取位置に移動させようとすると、ワーク受取ロボットとシフタ２２ｃが衝突ないし接触する。同様に、ワーク受渡ロボット２２ａもワーク受渡位置にいると衝突ないし接触する。また、シフタ２２ｃにワーク２２ｄが置かれている状態でチャック機構２２ｃ１を開いたまま移動するとワーク２２ｄが外れて、装置内の機構に衝突ないし接触する可能性がある。そこで、出力デバイス（Ｍ１００）の動作を介してシフタ２２ｃがワーク受取位置に移動するための動作条件（インターロック条件）は、ラダープログラムで表現すると、上述の図１２のようなラダーロジックになる。
【００７１】
そして、装置オペレータが出力デバイス（Ｍ１００）の動作を介してシフタ２２ｃをワーク受取位置に移動させる所定のスイッチ操作を行った時、上記の動作条件（インターロック条件）が不成立であれば、その所望の動作は実行されない。しかしながら、本実施形態のシステムでは、装置オペレータは図１５に示したような表示装置３のユーザーインターフェースを介して、「シフタ  ワーク受取位置」の動作名称（１５０１）を選択、ないし検索することができる。そして、動作（インターロック）条件を成立させるために、現在、必要とされている作業を記述した作業コメントの文字列（１５０２）を表示させることができる。この作業コメントの文字列（１５０２）には、自然言語で記述され、しかも具体的な作業内容を記述することができる。従って、ラダープログラムに関する知見に乏しい装置オペレータでも、プログラマや管理者の支援がなくても、極めて容易に動作条件（インターロック条件）の不成立を解消することができる。
【００７２】
以上に示した実施形態の構成はあくまでも一例であって、本発明の実施においては、当業者は本発明の範囲を逸脱しない限り、任意の設計変更を行って構わない。例えば、以上の実施形態では、デバイス制御プログラムや、そのグラフィカル表現としてラダープログラムやラダーロジックを考えた。しかしながら、デバイス制御プログラム、そのグラフィカル表現が上記のラダープログラムやラダーロジックとは異なるシステムにおいても、本発明の基本構成は実施することができる。本発明は、上述の実施例の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００７３】
なお、本発明におけるシステム及びシステムの制御は、前記インターロック条件および動作に関わるコメントの確認が必要であれば、いつでも実施することができる。特に、被制御デバイスの稼働開始前に実施する被制御デバイスのセッティング時に利用することで、セッティングに要する時間を大幅に短縮することができる。また、被制御デバイスの稼働後、被制御デバイスの動作エラー等による停止時にも有効である。
【符号の説明】
【００７４】
１…インターロック条件表示装置、１ａ…ＣＰＵ、１ｂ…ＲＯＭ、１ｃ…ＲＡＭ、１ｄ…記憶装置、１ｅ…入力装置、２…デバイス制御装置、３…表示装置、１１…設定部、１１ａ…動作リストデータ、１１ｂ…作業コメントデータ、１２…ラダープログラム解析部、１２ａ…インターロック条件データ、１３…取得部、１４…データ記憶部、１５…表示部、１６…表示データ生成部、１６ａ…表示データ、２１…ＰＬＣ、２１ａ…ラダープログラム、２１ｂ…デバイスデータ。２２ａ…ワーク受渡ロボット、２２ｂ…ワーク受取ロボット、２２ｄ…ワーク。
【図１】
2019192067.tif 000003
【図２】
2019192067.tif 000004
【図３】
2019192067.tif 000005
【図４】
2019192067.tif 000006
【図５】
2019192067.tif 000007
【図６】
2019192067.tif 000008
【図７】
2019192067.tif 000009
【図８】
2019192067.tif 000010
【図９】
2019192067.tif 000011
【図１０】
2019192067.tif 000012
【図１１】
2019192067.tif 000013
【図１２】
2019192067.tif 000014
【図１３】
2019192067.tif 000015
【図１４】
2019192067.tif 000016
【図１５】
2019192067.tif 000017
【図１６】
2019192067.tif 000018