(57)【要約】  制御システム（１）は、ＦＡ機器（６０１、６０２、６０３）を診断するための診断ルールの適用に使用される診断パラメータを供給する情報処理装置（２００）と、ＦＡ機器（６０１、６０２、６０３）を診断及び制御するＰＬＣ（１００）とを含む。情報処理装置（２００）のルール供給部（２６０）は、診断パラメータをプログラマブルロジックコントローラに供給する。ＰＬＣ（１００）のプログラム記憶部（１３０）は、診断処理の機能を実現するための診断機能ブロックを含むプログラムであって、ＦＡ機器（６０１、６０２、６０３）を制御する処理を実行するための制御プログラムを記憶する。ＰＬＣ（１００）の実行部（１８０）は、診断パラメータを設定した診断機能ブロックを含む制御プログラムを実行することにより、ＦＡ機器（６０１、６０２、６０３）を診断し、診断結果に応じてＦＡ機器（６０１、６０２、６０３）を制御する。
2020166004.tif 000002
【特許請求の範囲】
【請求項１】
診断対象を診断するための診断ルールの適用に使用される診断パラメータを供給する情報処理装置と、診断対象を診断及び制御するプログラマブルロジックコントローラとを含む制御システムであって、
前記情報処理装置は、
前記診断パラメータを前記プログラマブルロジックコントローラに供給するルール供給手段、
を備え、
前記プログラマブルロジックコントローラは、
診断処理の機能を実現するための診断機能ブロックを含むプログラムであって、制御対象を制御する処理を実行するための制御プログラムを記憶するプログラム記憶手段と、
前記診断パラメータを設定した前記診断機能ブロックを含む前記制御プログラムを実行することにより、前記診断対象を診断し、診断結果に応じて前記制御対象を制御する実行手段と、
を備える制御システム。
【請求項２】
前記プログラマブルロジックコントローラは、
前記診断パラメータを設定した前記診断機能ブロックを前記プログラマブルロジックコントローラが実行可能な形式に変換する第１変換手段と、
前記制御プログラムを前記プログラマブルロジックコントローラが実行可能な形式に変換する第２変換手段と、
を備え、
前記実行手段は、前記第１変換手段が変換した前記診断機能ブロックと、前記第２変換手段が変換した前記制御プログラムとを結合し、結合したプログラムを実行することにより、前記診断対象を診断し、前記診断結果に応じて前記制御対象を制御する、
請求項１に記載の制御システム。
【請求項３】
前記制御プログラムはラダーダイアグラムで記載されており、前記診断機能ブロックはファンクションブロックダイアグラムで記載された部品化されたプログラムである、
請求項１または２に記載の制御システム。
【請求項４】
前記情報処理装置は、
前記診断対象からデータを収集する収集手段と、
前記収集手段が収集したデータを解析し、解析結果を出力する解析手段と、
前記診断対象を診断するための診断ルールを生成し、前記診断ルールの適用に使用される前記診断パラメータを出力する診断ルール生成手段と、
を備える、
請求項１から３のいずれか１項に記載の制御システム。
【請求項５】
前記情報処理装置が備える前記収集手段は、前記プログラマブルロジックコントローラを介して前記診断対象からデータを収集し、あるいは、前記診断対象から直接データを収集する、
請求項４に記載の制御システム。
【請求項６】
前記制御対象には、前記診断対象が含まれる、
請求項１から５のいずれか１項に記載の制御システム。
【請求項７】
前記制御対象には、前記診断対象が含まれない、
請求項１から５のいずれか１項に記載の制御システム。
【請求項８】
診断処理の機能を実現するための診断機能ブロックを含むプログラムであって、制御処理を実行するための制御プログラムを記憶するプログラム記憶手段と、
診断対象を診断するための診断ルールの適用に使用される診断パラメータを受信するルール受信手段と、
前記診断パラメータを設定した前記診断機能ブロックを組み込んだ前記制御プログラムを実行することにより、前記診断対象を診断し、診断結果に応じて制御対象を制御する実行手段と、
を備えるプログラマブルロジックコントローラ。
【請求項９】
情報処理装置が、プログラマブルロジックコントローラの診断対象を診断するための診断ルールの適用に使用される診断パラメータを前記プログラマブルロジックコントローラに供給するステップと、
前記プログラマブルロジックコントローラが、診断処理の機能を実現するための診断機能ブロックに前記診断パラメータを設定するステップと、
前記プログラマブルロジックコントローラが、制御対象を制御する処理を実行するための制御プログラムに、前記診断パラメータを結合するステップと、
前記プログラマブルロジックコントローラが、前記診断機能ブロックが結合された前記制御プログラムを実行することにより、前記診断対象を診断するステップと、
前記プログラマブルロジックコントローラが、前記制御プログラムを実行することにより、前記制御対象を制御するステップと、
を含む方法。
【請求項１０】
制御対象を制御する処理を実行するための制御プログラムと、
前記制御プログラムに組み込まれる機能ブロックであって、診断対象を診断するための診断ルールの適用に使用される診断パラメータが設定され、診断処理の機能を実現する診断機能ブロックと、
を含み、
前記診断機能ブロックは、前記診断機能ブロックが前記制御プログラムに接続するための内部インタフェース部と、前記診断パラメータを受け付ける外部インタフェース部とを備え、
コンピュータに、
診断対象を診断させ、
診断結果に応じて前記制御対象を制御させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御システム、プログラマブルロジックコントローラ、方法、及びプログラムに関する。
【背景技術】
【０００２】
生産現場である工場、プラント等において、設備の予防保全、製造品質の向上等を目的として、プログラマブルロジックコントローラと、プログラマブルロジックコントローラを管理する上位システムとが連携して、生産工程、検査工程、その他の工程において使用されている機械装置を診断することがある。【０００３】
特許文献１には、プログラマブルロジックコントローラといったフィールド機器の上位システムが、診断ルールを生成し、診断ルールをフィールド機器に供給することが記載されている。フィールド機器は、上位システムから供給された診断ルールと、診断対象の機器から収集したデータとに基づいて、当該機器を診断し、診断結果に応じたアラートを出力する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−０６２９３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載された構成では、フィールド機器が、診断結果に従ったアラートを出力した後、例えば、作業者が、該当の機器に必要な処置を施す必要があった。この場合、フィールド機器がアラートを出力した後、すぐに作業者が該当の機器に処置を施すことができないことも多かった。このため、機器の診断から、機器の制御が行われるまでに時間差が生じていた。【０００６】
本発明は、上記実情に鑑みてなされたものであり、プログラマブルロジックコントローラが、制御対象の機器を診断後、直ちに制御対象の機器を制御することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明に係る制御システムは、診断対象を診断するための診断ルールの適用に使用される診断パラメータを供給する情報処理装置と、診断対象を診断及び制御するプログラマブルロジックコントローラとを含む。情報処理装置が備える診断ルール供給手段は、診断パラメータをプログラマブルロジックコントローラに供給する。プログラマブルロジックコントローラが備えるプログラム記憶手段は、診断処理の機能を実現するための診断機能ブロックを含むプログラムであって、制御対象を制御する処理を実行するための制御プログラムを記憶する。プログラマブルロジックコントローラが備える実行手段は、診断パラメータを設定した診断機能ブロックを含む制御プログラムを実行することにより、診断対象を診断し、診断結果に応じて制御対象を制御する。
【発明の効果】
【０００８】
本発明に係る制御システムにおいて、情報処理装置は、診断対象を診断するための診断ルールの適用に使用される診断パラメータをプログラマブルロジックコントローラに供給する。プログラマブルロジックコントローラは、診断パラメータを設定した診断機能ブロックを含む制御プログラムを実行することにより、診断対象を診断し、診断結果に応じて制御対象を制御する。このように、プログラマブルロジックコントローラは、制御対象の機器の診断後、直ちに制御対象の機器を制御することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態に係る制御システムに含まれる各装置の機能ブロック図
【図２】実施の形態に係る制御システムに含まれる各装置のハードウェア構成を示す図
【図３】実施の形態に係るユーザプログラムの例を示す図
【図４】実施の形態に係るプログラマブルロジックコントローラのプログラム記憶部及び第２変換部の構成を説明するための図
【図５】実施の形態に係る診断用機能ブロックの例を示す図
【図６】実施の形態に係る診断パラメータの例を示す図
【図７】実施の形態に係る診断ルール生成処理のフローチャート
【図８】実施の形態に係る実行準備処理のフローチャート
【図９Ａ】変形例に係る診断用機能ブロックの例を示す図
【図９Ｂ】変形例に係る診断パラメータの例を示す図
【図１０Ａ】変形例に係る他の診断用機能ブロックの例を示す図
【図１０Ｂ】変形例に係る他の診断パラメータの例を示す図
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態に係る制御システムについて、図面を参照しつつ詳細に説明する。
【００１１】
（実施の形態）
図１に示す、制御システム１は、ＦＡ機器６０１〜６０３を制御するプログラマブルロジックコントローラ１００と、診断ルールを生成する情報処理装置２００と、ユーザがプログラマブルロジックコントローラを操作するためのメンテナンスツール５００とを含む。
【００１２】
プログラマブルロジックコントローラ１００（以下、ＰＬＣ１００と称する）は、生産システムにおいて、ＦＡ機器６０１、６０２及び６０３を制御する制御装置である。ＦＡ機器６０１、６０２及び６０３は、生産ラインで稼動する機械装置である。ＰＬＣ１００は、制御プログラムを実行することにより、ＦＡ機器６０１、６０２及び６０３を制御する。具体的には、ＰＬＣ１００は、設定された周期であるスキャンタイム毎に制御プログラムの各命令を実行することにより、ＦＡ機器６０１、６０２及び６０３から供給された入力信号が示す値を使用した演算を行い、演算結果を示す値に基づく出力信号をＦＡ機器６０１、６０２及び６０３に供給する。以下、ＦＡ機器６０１、６０２及び６０３をまとめてＦＡ機器６００と称することがある。
【００１３】
実施の形態に係る特徴的な構成として、ＰＬＣ１００は、制御プログラムの実行中に、情報処理装置２００から供給された診断ルールに従ってＦＡ機器６００を診断し、診断結果に応じてＦＡ機器６００を制御する。ＦＡ機器６００は、ＰＬＣ１００の診断対象であり、制御対象である。
【００１４】
情報処理装置２００は、ＰＬＣ１００を介して、あるいは、直接、ＦＡ機器６００からデータを収集し、収集したデータを解析する。さらに、情報処理装置２００は、解析結果に基づいて、ＦＡ機器６００を診断するための診断ルールを生成し、生成した診断ルールを適用するために使用されるパラメータである診断パラメータをＰＬＣ１００に供給する。情報処理装置２００は、ＰＬＣ１００が制御プログラムの実行を開始するのに先だって、解析と診断ルールの生成を行う。情報処理装置２００として、例えば、産業用ＰＣ（Industrial Personal Computer：ＩＰＣ）が使用される。
【００１５】
ＰＬＣ１００が実行する診断処理は、例えば、演算結果を示す値が、指定された範囲内である場合は正常であると診断し、指定された範囲外である場合は異常であると診断する、といったものである。ＰＬＣ１００が、このような診断処理を行う場合、情報処理装置２００は、解析結果から、指定範囲を定める上限値と下限値とを求め、求めた条件値と下限値とを診断パラメータとしてＰＬＣ１００に供給する。
【００１６】
メンテナンスツール５００は、ユーザがＰＬＣ１００を操作するためのツールである。ユーザは、メンテナンスツール５００を使用して、ＦＡ機器６００の制御に必要なプログラムを作成し、作成したプログラムをＰＬＣ１００に格納する。さらに、ユーザは、メンテナンスツール５００を使用して、ＰＬＣ１００と情報処理装置２００とがそれぞれ動作するために必要なデータを、ＰＬＣ１００と情報処理装置２００とに格納する。メンテナンスツール５００として、例えば、ＦＡ機器６００と同じ工場内に設けられている専用のアプリケーションをインストールしたパーソナルコンピュータが使用される。ここで、ユーザとは、例えば、ＰＬＣ１００の管理者である。
【００１７】
図２に示すように、ＰＬＣ１００は、ハードウェア構成として、各種のプログラム及びデータを記憶するメモリ１１と、ネットワーク７０１を介して他の装置と通信するフィールドバスインタフェース１２と、ネットワーク７０２を介して他の装置と通信する情報系ネットワークインタフェース１３と、ＰＬＣ１００全体を制御するＭＰＵ（Micro Processing Unit）１４とを有する。メモリ１１とフィールドバスインタフェース１２と情報系ネットワークインタフェース１３とは、バス１９を介してＭＰＵ１４に接続されており、それぞれＭＰＵ１４と通信する。
【００１８】
メモリ１１は、揮発性メモリと不揮発性メモリとを含む。メモリ１１は、ＰＬＣ１００の各種機能を実現するためのプログラムを格納する。具体的には、メモリ１１は、収集プログラム１１１と、ユーザプログラム１１２と、診断用機能ブロック１１３とを記憶する。さらに、メモリ１１はＭＰＵ１４のワークメモリとして用いられる。
【００１９】
収集プログラム１１１は、ＰＬＣ１００に、指定された対象からデータを収集する機能を実現させるためのプログラムである。
【００２０】
ユーザプログラム１１２は、ＰＬＣ１００に、制御対象を制御する機能を実現させるためのプログラムである。ユーザプログラム１１２は、ラダーダイアグラムで記載されている。ユーザプログラム１１２は、ユーザが作成したプログラムである。
【００２１】
診断用機能ブロック１１３は、ユーザプログラム１１２内で繰り返し使用する診断処理に係る回路ブロックを部品化したものである。診断用機能ブロック１１３は、ファンクションブロックダイアグラムで記載されている。診断用機能ブロック１１３は、ＰＬＣ１００の製造メーカが作成したものである。メモリ１１には、２以上の診断用機能ブロック１１３が格納されていてもよい。診断用機能ブロック１１３は、本発明の診断機能ブロックの一例である。
【００２２】
実施の形態においては、ユーザは、図３に示すように、診断用機能ブロック１１３が組み込まれたユーザプログラム１１２を作成するものとする。よって、ＰＬＣ１００は、ユーザプログラム１１２の命令を順次実行することにより、ＦＡ機器６００の診断及び制御を行うことができる。
【００２３】
フィールドバスインタフェース１２は、ネットワークインタフェース回路を含み、ＭＰＵ１４の制御の下、ネットワーク７０１を介して情報処理装置２００及びＦＡ機器６００と通信する。ネットワーク７０１は、フィールドバス規格に則ったネットワークである。
【００２４】
情報系ネットワークインタフェース１３は、ネットワークインタフェース回路を含み、ＭＰＵ１４の制御の下、ネットワーク７０２を介して情報処理装置２００及びＦＡ機器６００と通信する。ネットワーク７０２は、例えば、１０ＢＡＳＥ−Ｔ、１００ＢＡＳＥ−Ｔといった規格に則ったネットワークである。
【００２５】
ＭＰＵ１４は、メモリ１１に記憶されている各種プログラムを実行して、ＰＬＣ１００の各種機能を実現する。具体的には、ＭＰＵ１４は、収集プログラム１１１を実行することにより、指定された収集対象からデータを収集する。ＭＰＵ１４は、診断用機能ブロック１１３が組み込まれたユーザプログラム１１２を実行することにより、ＦＡ機器６００の制御及び診断を行う。
【００２６】
情報処理装置２００は、ハードウェア構成として、各種のプログラム及びデータを記憶するメモリ２１と、ネットワーク７０１を介して他の装置と通信するフィールドバスインタフェース２２と、ネットワーク７０２を介して他の装置と通信する情報系ネットワークインタフェース２３と、情報処理装置２００全体を制御するＣＰＵ（Central Processing Unit）２４とを有する。メモリ２１とフィールドバスインタフェース２２と情報系ネットワークインタフェース２３とは、バス２９を介してＣＰＵ２４に接続されており、それぞれＣＰＵ２４と通信する。
【００２７】
メモリ２１は、揮発性メモリと不揮発性メモリとを含む。メモリ２１は、情報処理装置２００の各種機能を実現するためのプログラムを格納する。具体的には、メモリ２１は、収集プログラム２１１と、解析プログラム２１２と、ルール生成プログラム２１３とを記憶する。さらに、メモリ２１はＣＰＵ２４のワークメモリとして用いられる。
【００２８】
収集プログラム２１１は、情報処理装置２００に、指定された対象からデータを収集する機能を実現させるためのプログラムである。解析プログラム２１２は、情報処理装置２００に、収集したデータを解析する機能を実現させるためのプログラムである。ルール生成プログラム２１３は、情報処理装置２００に、解析結果に基づいて診断ルールを生成する機能を実現させるためのプログラムである。
【００２９】
フィールドバスインタフェース２２は、ネットワークインタフェース回路を含み、ＣＰＵ２４の制御の下、ネットワーク７０１を介して情報処理装置２００とＦＡ機器６００と通信する。情報系ネットワークインタフェース２３は、ネットワークインタフェース回路を含み、ＣＰＵ２４の制御の下、ネットワーク７０２を介してＰＬＣ１００と通信する。
【００３０】
ＣＰＵ２４は、メモリ２１に記憶されている各種プログラムを実行して、情報処理装置２００の各種機能を実現する。具体的には、ＣＰＵ２４は、収集プログラム２１１を実行することにより、指定された収集対象からデータを収集する。ＣＰＵ２４は、解析プログラム２１２を実行することにより、収集したデータを解析する。ＣＰＵ２４は、ルール生成プログラム２１３を実行することにより、解析結果に基づいて、診断ルールを生成し、診断ルールを適用するための診断パラメータを出力する。
【００３１】
図２に示すメンテナンスツール５００は、ハードウェア構成として、各種のプログラム及びデータを記憶するメモリ５１と、ネットワーク７０２を介して他の装置と通信する情報系ネットワークインタフェース５２と、ユーザインタフェースである入出力装置５３と、メンテナンスツール５００全体を制御するＣＰＵ５４とを有する。メモリ５１と情報系ネットワークインタフェース５２と入出力装置５３とは、バス５９を介してＣＰＵ５４に接続され、それぞれＣＰＵ５４と通信する。
【００３２】
メモリ５１は、揮発性メモリと不揮発性メモリとを含む。メモリ５１は、メンテナンスツール５００の各種機能を実現するためのプログラムを格納する。具体的には、メモリ５１は、メンテナンスプログラム５１１を格納する。また、メモリ５１は、ＣＰＵ５４のワークメモリとして用いられる。
【００３３】
メンテナンスプログラム５１１は、メンテナンスツールの各種機能を実現するためのプログラムである。メンテナンスプログラム５１１は、メンテナンスツール５００に、ＰＬＣ１００及び情報処理装置２００の動作に必要なデータをＰＬＣ１００及び情報処理装置２００に送信する機能を実現させる。メンテナンスツール５００が、ＰＬＣ１００に送信するデータは、収集プログラム１１１と、ユーザプログラム１１２と、診断用機能ブロック１１３と、データの収集処理に必要な各種設定データとを含む。メンテナンスツール５００が情報処理装置２００に送信するデータは、データの収集処理に必要な各種設定データと、解析処理に必要な各種設定データを含む。
【００３４】
さらに、メンテナンスプログラム５１１は、メンテナンスツール５００に、ＰＬＣ１００及び情報処理装置２００にデータ収集の開始の指示を送信する機能を実現させる。メンテナンスプログラム５１１は、情報処理装置２００にルール生成の処理の開始の指示を送信する機能を実現させる。
【００３５】
情報系ネットワークインタフェース５２は、ネットワークインタフェース回路を含み、ＣＰＵ５４の制御の下、ネットワーク７０２を介してＰＬＣ１００及び情報処理装置２００と通信する。入出力装置５３は、マウス、キーボード、ディスプレイを含む。入出力装置５３のマウス、キーボードがユーザからの操作入力を受け付け、受け付けた操作入力を示す信号をＣＰＵ５４に出力する。入出力装置５３のディスプレイは、ＣＰＵ５４から供給される信号に基づく画像を表示する。
【００３６】
ＣＰＵ５４は、メンテナンスプログラム５１１を実行して、メンテナンスツール５００の各種機能を実現する。具体的には、ＣＰＵ５４は、ユーザの操作指示に従って、ＰＬＣ１００及び情報処理装置２００の動作に必要な各種の設定データ及びプログラムをＰＬＣ１００及び情報処理装置２００に送信する。ＣＰＵ５４は、ユーザの操作指示に従って、ＰＬＣ１００及び情報処理装置２００にデータ収集の処理の開始指示を送信する。ＣＰＵ５４は、ユーザの操作指示に従って、解析手法の指定を受け付け、収集データの解析処理を実行する。ＣＰＵ５４は、ユーザの操作指示に従って、情報処理装置２００にルール生成の処理の開始指示を送信する。
【００３７】
続いて、図１を参照して制御システム１が含む各装置の機能構成を説明する。ＰＬＣ１００は、機能的には、データ収集の設定データを記憶する収集設定記憶部１１０と、収集対象からデータを収集する収集部１２０と、制御プログラム及び診断プログラムを記憶するプログラム記憶部１３０と、収集したデータを格納するデータ格納部１４０と、情報処理装置２００から診断パラメータを受信するルール受信部１５０と、制御プログラムを変換する第１変換部１６０と、診断プログラムを変換する第２変換部１７０と、制御プログラム及び診断プログラムを実行する実行部１８０とを含む。
【００３８】
収集設定記憶部１１０は、収集部１２０が実行するデータ収集処理に関する設定を示す設定データを記憶する。収集設定記憶部１１０が記憶する設定データは、収集の対象となる装置を特定する情報と、収集するデータを特定する情報と、データを収集する収集間隔とを含む。ユーザが、メンテナンスツール５００を使用してこれらのデータをＰＬＣ１００に格納する。収集設定記憶部１１０の機能は、図２に示すメモリ１１により実現される。
【００３９】
図１に示す収集部１２０は、収集設定記憶部１１０に格納されたデータ収集処理に関する設定に従ってデータを収集する。具体的には、収集部１２０は、指定された収集対象から、指定されたデータを、指定された収集間隔で収集し、収集したデータをデータ格納部１４０に格納する。図示する例では、収集部１２０は、ＦＡ機器６０１及び６０２からデータを収集する。収集部１２０は、後述のメンテナンスツール５００の操作受付部５１０から収集の開始指示を受けると、収集処理を開始する。収集部１２０と後述の情報処理装置２００の収集部２２０とが収集したデータを以下、収集データと称することがある。収集データは、例えば、ＦＡ機器６００に設けられた振動センサ、温度センサ、圧力センサ、流量センサ等のセンサが取得したデータを含む。収集部１２０の機能は、図２に示すＭＰＵ１４が収集プログラム１１１を実行することにより実現される。収集部１２０は、本発明の収集手段の一例である。
【００４０】
図１に示すプログラム記憶部１３０は、ＰＬＣ１００がＦＡ機器６００を制御するための制御プログラムと、ＰＬＣ１００がＦＡ機器６００を診断するための診断プログラムとを記憶する。図２に示すユーザプログラム１１２が制御プログラムに相当する。診断用機能ブロック１１３が診断プログラムに相当する。プログラム記憶部１３０の機能は、図２に示すメモリ１１により実現される。プログラム記憶部１３０は、本発明のプログラム記憶手段の一例である。
【００４１】
前述したように、ユーザプログラム１１２には、診断用機能ブロック１１３が組み込まれている。このため、図４に示すようにプログラム記憶部１３０においては、ユーザプログラム１１２内にファンクションブロック実行定義１１２ａが含まれている。プログラムの実行時に、ユーザプログラム１１２と診断用機能ブロック１１３とは、内部インタフェース１１３１により結合されることになる。よって、診断用機能ブロック１１３は、ユーザプログラム１１２から呼び出され、実行されることになる。また、ユーザプログラム１１２からの診断用機能ブロック１１３の呼び出し方、診断用機能ブロック１１３からユーザプログラム１１２への診断結果の渡し方については、ＰＬＣ１００の仕様として予め定義されている。診断用機能ブロック１１３は、この定義に基づいて機能が実装された機能部である内部インタフェース１１３１を備える。内部インタフェース１１３１は、本発明の内部インタフェース部の一例である。さらに、診断用機能ブロック１１３は、診断パラメータを受け付ける外部インタフェース１１３２を備える。外部インタフェース１１３２については後述する。
【００４２】
診断用機能ブロック１１３は、診断処理の内容を定義した定義情報と、診断パラメータに関する定義情報とを含む。図５に示す例では、診断用機能ブロック１１３に、診断処理として、「入力値Ｍと入力値Ｎとの和が、上限値Ｖ１と下限値Ｖ２とにより特定される範囲内にある場合、正常であることを示す値として『ハイ』を出力する」こと、と、「入力値Ｍと入力値Ｎとの和が、上限値Ｖ１と下限値Ｖ２とにより特定される範囲の外にある場合、異常であることを示す値として『ロー』を出力する」こと、とが定義されている。
【００４３】
入力値Ｍと入力値Ｎとは、例えば、ＦＡ機器６００から供給された入力信号が示す値である。上限値Ｖ１と下限値Ｖ２とは、診断パラメータとして、情報処理装置２００からＰＬＣ１００に供給される。
【００４４】
情報処理装置２００から供給される診断パラメータは、情報処理装置２００が生成した診断ルールを、ＰＬＣ１００が制御対象を診断する診断処理に適用するために使用されるパラメータである。
【００４５】
図１に示すデータ格納部１４０は、収集部１２０が収集したデータを記憶する。データ格納部１４０の機能は、図２に示すメモリ１１により実現される。収集部２２０は、本発明の収集手段の一例である。
【００４６】
図１に示すルール受信部１５０は、情報処理装置２００から診断パラメータを受信し、受信した診断パラメータを第２変換部１７０に出力する。情報処理装置２００が、ＰＬＣ１００に診断パラメータを送信するタイミングと、第２変換部１７０が、診断プログラムを実行可能形式に変換するタイミングとは異なるため、実際は、ルール受信部１５０が受信した診断パラメータをメモリ１１に保存し、第２変換部１７０がメモリ１１に保存された診断パラメータを読み出す。ルール受信部１５０の機能は、図２に示す情報系ネットワークインタフェース１３とＭＰＵ１４とにより実現される。ルール受信部１５０は、本発明のルール受信手段の一例である。
【００４７】
図１に示す第１変換部１６０は、プログラム記憶部１３０が記憶する制御プログラムをＰＬＣ１００が実行可能な形式に変換し、変換した制御プログラムを実行部１８０に出力する。前述のように、制御プログラムに相当する図２に示すユーザプログラム１１２はラダーダイアグラムで記載されている。このため、第１変換部１６０は、具体的には、ユーザプログラム１１２をオブジェクトコード形式のファイルに変換し、変換したユーザプログラム１１２をメモリ１１に格納する。第１変換部１６０の機能は、図２に示すＭＰＵ１４により実現される。第１変換部１６０は、本発明の第１変換手段の一例である。
【００４８】
図１に示す第２変換部１７０は、図４に示すように、ルール受信部１５０が情報処理装置２００から受信した診断パラメータＰ１を、外部インタフェース１１３２により、プログラム記憶部１３０が記憶する診断用機能ブロック１１３に適用する。診断パラメータＰ１の診断用機能ブロック１１３への適用の仕方については、ＰＬＣ１００の仕様として予め定義されている。外部インタフェース１１３２は、この定義に基づいて機能が実装された機能部である。外部インタフェース１１３２は、本発明の外部インタフェース部の一例である。
【００４９】
第２変換部１７０は、診断パラメータを適用した診断プログラムを、ＰＬＣ１００が実行可能な形式に変換し、変換した診断プログラムを実行部１８０に出力する。前述のように、診断プログラムに相当する図２に示す診断用機能ブロック１１３はファンクションブロックダイアグラムで記載されている。このため、第２変換部１７０は、具体的には、診断用機能ブロック１１３に情報処理装置２００から受信した診断パラメータを代入したものを、オブジェクトコード形式のファイルに変換し、変換した診断用機能ブロック１１３をメモリ１１に格納する。第２変換部１７０の機能は、図２に示すＭＰＵ１４により実現される。第２変換部１７０は、本発明の第２変換手段の一例である。
【００５０】
例えば、診断用機能ブロック１１３に、図５に示すような診断処理が定義されているとする。ここで、情報処理装置２００から診断パラメータとして、上限値Ｖ１を示す値と下限値Ｖ２を示す値とが供給されたとする。この場合、第２変換部１７０は、上限値Ｖ１を示す値と下限値Ｖ２を示す値とを、診断用機能ブロック１１３の上限値Ｖ１と下限値Ｖ２とに代入し、診断用機能ブロック１１３をオブジェクトコード形式のファイルに変換する。
【００５１】
図１に示す実行部１８０は、第１変換部１６０が出力した変換後の制御プログラムと、第２変換部１７０が出力した診断プログラムとを結合して、結合したプログラムを実行することにより、ＦＡ機器６００を診断及び制御する。具体的には、実行部１８０は、第１変換部１６０がメモリ１１に格納した変換済みのユーザプログラム１１２と、第２変換部１７０がメモリ１１に格納した変換済みの診断用機能ブロック１１３とを結合したプログラムを実行する。実行部１８０の機能は、図２に示すＭＰＵ１４により実現される。実行部１８０は、本発明の実行手段の一例である。
【００５２】
図３に示すユーザプログラム１１２に、図５に示すような診断用機能ブロック１１３が組み込まれているとする。情報処理装置２００からＰＬＣ１００に、図６に示すような診断パラメータＰ１として、上限値Ｖ１として「１００」と下限値Ｖ２として「２０」とが供給されたとする。この場合の、第１変換部１６０と、第２変換部１７０と、実行部１８０とのそれぞれの動作の例を説明する。
【００５３】
第１変換部１６０は、ユーザプログラム１１２をオブジェクトコード形式のファイルに変換する。第２変換部１７０は、上限値Ｖ１を示す値「１００」を診断用機能ブロック１１３のＶ１に代入し、下限値Ｖ２を示す値「２０」を診断用機能ブロック１１３のＶ２に代入する。その後、第２変換部１７０は、診断用機能ブロック１１３をオブジェクトコード形式のファイルに変換する。
【００５４】
実行部１８０は、第１変換部１６０が変換したユーザプログラム１１２と、第２変換部１７０が変換した診断用機能ブロック１１３とを結合して、結合したプログラムを実行する。実行部は、プログラムの実行中に、入力値Ｍと入力値Ｎとの和が、上限値Ｖ１を示す値である「１００」より大きいと判別すると正常であることを示す値として「ハイ」を出力する。さらに、実行部１８０は、入力値Ｍと入力値Ｎとの和が下限値Ｖ２を示す値「２０」未満であると判別すると、異常であることを示す値として「ロー」を出力する。その結果、図３に示す「命令００４」は実行されない。このように、実行部１８０は、入力値Ｍと入力値Ｎとの和が、情報処理装置２００が指定する範囲内なら正常であると診断し、指定された範囲外である場合には異常であると診断する。
【００５５】
図１に示すように、情報処理装置２００は、機能的には、データ収集の設定データを記憶する収集設定記憶部２１０と、収集対象からデータを収集する収集部２２０と、データ解析の設定データを記憶する解析設定記憶部２３０と、収集したデータを解析する解析部２４０と、解析結果に基づいて診断ルールを生成する診断ルール生成部２５０と、診断パラメータをＰＬＣ１００に供給するルール供給部２６０とを含む。
【００５６】
収集設定記憶部２１０は、収集部２２０が実行するデータ収集処理に関する設定を示す設定データを記憶する。収集設定記憶部２１０が記憶する設定データは、収集の対象となる装置を特定する情報と、収集するデータを特定する情報と、データを収集する収集間隔とを含む。ユーザは、メンテナンスツール５００を使用してこれらのデータを情報処理装置２００に格納する。収集設定記憶部２１０の機能は、図２に示すメモリ２１により実現される。
【００５７】
図１に示す収集部２２０は、収集設定記憶部２１０に格納されているデータ収集処理に関する設定に従ってデータを収集する。具体的には、収集部２２０は、指定された収集対象から、指定されたデータを、指定された収集間隔で収集し、収集したデータを解析部２４０に出力する。収集部２２０は、メンテナンスツール５００を介してユーザから収集の開始指示を受けると、収集処理を開始する。
【００５８】
図示する例では、収集部２２０は、ＦＡ機器６０３から直接データを収集する。収集部２２０は、ＰＬＣ１００のデータ格納部１４０に格納されているデータを取得する。言い換えると、収集部２２０は、ＰＬＣ１００を介して、ＦＡ機器６０１及び６０２からデータを収集する。収集部２２０の機能は、図２に示すＣＰＵ２４が収集プログラム２１１を実行することにより実現される。
【００５９】
解析設定記憶部２３０は、解析部２４０が実行する解析処理に関する設定を示す設定データを記憶する。解析設定記憶部２３０は、設定データとして、解析部２４０が実行する解析手法それぞれに応じた各種のパラメータを記憶する。解析部２４０が使用する解析手法は、重回帰分析、ＭＴ（マハラノビス・タグチ）法、決定木等を含む。例えば、解析設定記憶部２３０は、重回帰分析用のパラメータとして、目的変数、説明変数、偏回帰係数の初期値等を記憶する。解析設定記憶部２３０は、ＭＴ法のパラメータとして、単位空間のデータを記憶する。解析設定記憶部２３０は、決定木のパラメータとして、分岐対象のデータとその閾値とを記憶する。ユーザが、メンテナンスツール５００を使用して、これらのパラメータを示すデータを解析設定記憶部２３０に格納する。解析設定記憶部２３０の機能は、図２に示すメモリ２１により実現される。
【００６０】
さらに、解析設定記憶部２３０は、収集データを最低限収集する必要があるデータ数を記憶する。このデータ数は、解析部２４０が解析処理を開始する開始条件となる。
【００６１】
解析部２４０は、後述のメンテナンスツール５００の操作受付部５１０から収集処理の開始指示を受けると、収集部２２０に収集処理を開始させる。解析部２４０は、解析処理を開始することが可能となると、即ち、開始条件が満たされると、例えば、その旨をメンテナンスツール５００に通知する。これに応答して、メンテナンスツール５００の操作受付部５１０は、解析手法の選択画面を入出力装置５３のディスプレイに表示する。ユーザが、所望の解析手法を選択すると、操作受付部５１０は、選択された解析手法を特定する情報とともに、診断ルール生成の開始指示を情報処理装置２００に送信する。
【００６２】
従って、解析部２４０は、ユーザが選択した解析手法による解析処理を開始する。具体的には、解析部２４０は、ユーザが選択した解析手法について、解析設定記憶部２３０が記憶するパラメータを使用し、選択された解析手法により収集データを解析する。解析部２４０は、解析結果を診断ルール生成部２５０に出力する。
【００６３】
例えば、ユーザが、解析手法として重回帰分析を使用することを指定した場合、解析部２４０は、収集データのうちユーザが指定した値を目的変数とし、収集データのうちユーザが指定した値を説明変数として、重回帰分析を行う。解析部２４０は、解析結果として、推定された回帰式と、重相関係数と、決定係数等を診断ルール生成部２５０に出力する。解析部２４０の機能は図２に示すＣＰＵ２４が解析プログラム２１２を実行することにより実現される。解析部２４０は、本発明の解析手段の一例である。
【００６４】
診断ルール生成部２５０は、解析部２４０が出力する解析結果から、診断ルールを生成し、診断ルールの適用に使用される診断パラメータをルール供給部２６０に出力する。診断ルールは、例えば、ある式の値として、許容される範囲がどこからどこまでかを定めるものである。例えば、診断ルール生成部２５０は、解析部２４０が出力する回帰式が示す推定された回帰モデルから、ＦＡ機器６０１〜６０３が出力する値の外れ値を決める閾値を求めることができる。診断ルール生成部２５０は、外れ値を決める閾値として、ＦＡ機器６０１〜６０３が出力される値それぞれの上限値と下限値とを決める。診断ルール生成部２５０の機能は、図２に示すＣＰＵ２４がルール生成プログラム２１３を実行することにより実現される。診断ルール生成部２５０は、本発明の診断ルール生成手段の一例である。
【００６５】
図１に示すルール供給部２６０は、診断ルール生成部２５０が出力した診断パラメータをＰＬＣ１００のルール受信部１５０に送信する。ルール供給部２６０の機能は、図２に示す情報系ネットワークインタフェース２３とＣＰＵ２４とにより実現される。ルール供給部２６０は、本発明のルール供給手段の一例である。
【００６６】
図１に示すように、メンテナンスツール５００は、機能的には、操作受付部５１０を含む。操作受付部５１０は、ユーザから受け付けた操作を示す信号及びユーザが入力したデータをＰＬＣ１００及び情報処理装置２００に送信する。
【００６７】
具体的には、操作受付部５１０は、ユーザの操作指示に従って、ＰＬＣ１００に、データ収集処理に関する設定を示す設定データと、プログラム記憶部１３０に格納される制御プログラム及び診断プログラムと、収集プログラム２１１を送信する。操作受付部５１０は、ユーザの操作指示に従って、情報処理装置２００に、データ収集処理に関する設定を示す設定データと、解析処理に関する設定を示す設定データとを送信する。
【００６８】
さらに、操作受付部５１０は、ユーザから受け付けたデータ収集の開始指示を示す信号をＰＬＣ１００及び情報処理装置２００に送信する。操作受付部５１０は、ユーザから受け付けた診断ルール生成の開始指示を、ユーザが選択した解析手法を示す情報とともに、情報処理装置２００に送信する。操作受付部５１０の機能は、図２に示すＣＰＵ５４により実現される。
【００６９】
続いて、情報処理装置２００が診断ルールを生成する診断ルール生成処理を説明する。情報処理装置２００は、ＰＬＣ１００が制御プログラムの実行を開始するのに先だって、診断ルールを生成する必要がある。図１に示す情報処理装置２００の収集部２２０と解析部２４０と診断ルール生成部２５０とＰＬＣ１００の収集部１２０とは協働して下記の処理を実行する。
【００７０】
ユーザが、メンテナンスツール５００を使用して、ＰＬＣ１００に収集処理の開始を指示したものとする。このため、ＰＬＣ１００の収集部１２０は、指定された収集間隔でＦＡ機器６０１及び６０２からデータを収集し、収集したデータをデータ格納部１４０に格納する。さらに、ユーザは、メンテナンスツール５００を使用して、情報処理装置２００に収集処理の開始を指示したものとする。
【００７１】
図７に示すように、収集部２２０は、収集設定記憶部２１０が記憶する収集間隔を示すデータに基づいて、データを収集するタイミングであるか否かを判別する（ステップＳ１１）。収集部２２０は、データを収集するタイミングであると判別すると（ステップＳ１１；Ｙｅｓ）、指定された収集対象から指定されたデータを収集し（ステップＳ１２）、収集したデータを解析部２４０に出力する。具体的には、収集部２２０は、ＰＬＣ１００のデータ格納部１４０に格納されたデータを読み出す。さらに、収集部２２０は、ＦＡ機器６０３のメモリの指定された場所からデータを読み出す。
【００７２】
解析部２４０は、解析設定記憶部２３０に設定されたデータに基づいて、解析処理を開始できるか否かを判別する（ステップＳ１３）。具体的には、収集されたデータ数が、解析設定記憶部２３０に格納されている収集データを最低限収集する必要があるデータ数に到達したか否かを判別する。解析部２４０は、解析処理を開始できると判別すると（ステップＳ１３；Ｙｅｓ）、ユーザから解析手法の指定を受け付ける（ステップＳ１４）。例えば、解析設定記憶部２３０に格納されている解析手法の一覧を入出力装置５３のディスプレイに表示する。ユーザが入出力装置５３のキーボード、マウス等を使用して所望の解析手法を選択したとする。解析部２４０は、ユーザが選択した解析手法について、解析設定記憶部２３０に格納された解析処理のためのパラメータを使用して収集データの解析処理を実行する（ステップＳ１５）。
【００７３】
解析部２４０は、解析が終わると、解析結果をユーザに提示する（ステップＳ１６）。解析部２４０は、解析結果を示す画面のデータを図２に示すメンテナンスツール５００に送信する。これに応答して、メンテナンスツール５００のＣＰＵ５４は、受信した画面のデータを入出力装置５３のディスプレイに表示する。
【００７４】
図７に示すように、解析部２４０は、解析結果から診断ルールを生成することが可能であるか否かを判別する（ステップＳ１７）。解析部２４０は、メンテナンスツール５００から診断ルールの生成の指示を受け付けた場合、診断ルールの生成が可能であると判別する。解析部２４０は、診断ルールの生成が可能であると判別すると（ステップＳ１７；Ｙｅｓ）、解析結果を診断ルール生成部２５０に出力する。
【００７５】
一方、解析部２４０は、解析結果から診断ルールを生成することができないと判別すると（ステップＳ１７；Ｎｏ）、再びステップＳ１４の処理を実行する。例えば、メンテナンスツール５００を介して受け付けたユーザの指示が、診断ルールの生成の指示ではなく、再度解析を実行することを指示するものである場合、解析部２４０は再びステップＳ１４の処理を実行する。
【００７６】
ステップＳ１８において、診断ルール生成部２５０は、診断ルールを生成する（ステップＳ１８）。ここで、制御対象がＦＡ機器６０１であると仮定する。例えば、診断ルール生成部２５０は、ＦＡ機器６０１から収集したデータの解析結果から、正常時に入力値Ｍと入力値Ｎとの和が取り得る値として期待される範囲を求める。診断ルール生成部２５０は、入力値Ｍと入力値Ｎとの和が、求めた範囲内にある場合、ＦＡ機器６０１が正常であると診断することを決める。診断ルール生成部２５０は、入力値Ｍと入力値Ｎとの和が、当該範囲外である場合、ＦＡ機器６０１に異常が発生していると診断することを決める。診断ルール生成部２５０は、当該範囲の上限値と下限値とを示す値を求め、求めた値を診断パラメータとしてルール供給部２６０に出力する。
【００７７】
ルール供給部２６０は、診断ルール生成部２５０が出力した診断パラメータをＰＬＣ１００に送信する（ステップＳ１９）。以上が、診断ルールの生成に係る処理である。
【００７８】
上記の診断ルール生成処理が実行されることにより、ＰＬＣ１００に、診断パラメータが供給される。ＰＬＣ１００は、情報処理装置２００から供給された診断パラメータを使用して、ＦＡ機器６００を診断するため、以下に説明する実行準備処理を制御プログラムの実行に先立って行う必要がある。
【００７９】
実行準備処理は、ＰＬＣ１００に電源が投入された後、ＰＬＣ１００が実行する初期化の処理に含まれている。よって、ＰＬＣ１００に電源が投入される、あるいは、ＰＬＣ１００が再起動されたタイミングで、図１に示す第１変換部１６０及び第２変換部１７０は、実行準備処理を実行する。プログラム記憶部１３０には、制御プログラムと診断プログラムとが予め格納されているものとする。ルール受信部１５０は、情報処理装置２００から診断パラメータを受信済みであるものとする。
【００８０】
図８に示すように、第２変換部１７０は、プログラム記憶部１３０から診断プログラムを読み出す（ステップＳ２１）。第２変換部１７０は、メモリ１１に格納されている診断パラメータを、診断プログラムに設定し、診断プログラムをＰＬＣ１００が実行可能な形式に変換し（ステップＳ２２）、変換した診断プログラムを実行部１８０に出力する。
【００８１】
第１変換部１６０は、図１に示すプログラム記憶部１３０から制御プログラムを読み出す（ステップＳ２３）。第１変換部１６０は、制御プログラムをＰＬＣ１００が実行可能な形式に変換し（ステップＳ２４）、変換した制御プログラムを実行部１８０に出力する。実行部１８０は、実行可能形式に変換された制御プログラムと、実行可能形式に変換された診断プログラムとを結合し、結合したプログラムをメモリ１１に保存する。実行部１８０は、具体的には、図２に示すユーザプログラム１１２がオブジェクトコード形式に変換されたファイルと、診断用機能ブロック１１３がオブジェクトコード形式に変換されたファイルとを結合する。以上が、実行準備に係る処理である。
【００８２】
その後、ユーザのスイッチ操作により運転モードに移行すると、実行部１８０は、診断プログラムが組み込まれた制御プログラムをスキャンタイム毎に実行する。具体的には、ＰＬＣ１００は、ＦＡ機器６００から供給された入力信号を定期的に取得し、取得した入力信号を使用して、プログラムの命令を実行する。上記のように、制御プログラムには、診断用のロジックが組み込まれているので、ＰＬＣ１００は、制御プログラムの実行中に、情報処理装置２００から供給された診断ルールに従ってＦＡ機器６００を診断し、診断結果に応じてＦＡ機器６００を制御することができる。
【００８３】
以上説明したように、実施の形態に係る制御システム１においては、情報処理装置２００が診断ルールを生成し、診断ルールを適用するために使用される診断パラメータをＰＬＣ１００に供給する。ＰＬＣ１００は、情報処理装置２００から供給されたパラメータを設定した診断プログラムを組み込んだ制御プログラムを実行する。制御システム１は、このような構成を備えることで、制御対象の機器を診断し、診断結果に基づいて即時に制御対象の機器を制御することが可能である。さらに、情報処理装置２００は、制御対象から収集したデータを解析した結果から診断ルールを生成するため、ＰＬＣ１００は、制御対象に適した診断ルールを使用して制御対象を適切に診断することができる。
【００８４】
実施の形態においては、診断用機能ブロック１１３を使用して診断処理を実行するので以下のような利点がある。ユーザプログラム１１２と診断用機能ブロック１１３とを結合するための内部インタフェース１１３１に変更が無ければ、ユーザプログラム１１２内のファンクションブロック実行定義１１２ａを変更して、呼び出す診断用機能ブロック１１３を変更するだけで、診断機能を変更することができる。
【００８５】
前述のように診断用機能ブロック１１３は、ＰＬＣ１００の製造メーカが作成したものである。例えば、診断用機能ブロック１１３がアップデートされた場合には、ＰＬＣ１００のユーザは、新しい診断用機能ブロック１１３をＰＬＣ１００に保存し、ＰＬ１Ｃ１００に再度実行準備処理を実行させればよい。また、ユーザは、現在の診断処理とは異なる診断処理のアルゴリズムを採用したい場合にも、新しい診断用機能ブロック１１３をＰＬＣ１００に保存し、ＰＬ１Ｃ１００に再度実行準備処理を実行させればよい。ユーザは、ユーザプログラム１１２内のファンクションブロック実行定義１１２ａを変更することなく、ユーザプログラム１１２に新しい診断用機能ブロック１１３を適用することができる。よって、ユーザは、ユーザプログラム１１２に大きな修正を加える必要はない。
【００８６】
ＰＬＣ１００は、情報処理装置２００から供給された診断パラメータが設定された診断用のファンクションブロックを実行することによりＦＡ機器６０１〜６０３を診断する。情報処理装置２００は、診断ルールを変更した場合、新たな診断ルールから生成した診断パラメータをＰＬＣ１００に供給すればよい。ＰＬＣ１００が再度実行前処理を実行することで、診断用のファンクションブロックに新たな診断パラメータを設定することができる。ユーザは、ＰＬＣ１００の制御プログラム及び診断プログラムを修正する必要がない。このように、情報処理装置２００が診断ルールを変更したとしても、ＰＬＣ１００は、簡便な方法で、変更後の診断ルールを適用することができる。
【００８７】
さらに、データの解析と、診断ルールの生成とは、処理負荷が高い処理であるが、これらの処理を、ＰＬＣ１００ではなく、情報処理装置２００が実行するので、ＰＬＣ１００の本来の処理であるＦＡ機器６０１〜６０３の制御処理に影響を与えない。
【００８８】
解析部２４０は、解析結果をそのまま診断ルール生成部２５０に出力する例を説明したが、解析部２４０は解析後に、重相関係数と決定係数とから、推定された回帰式の有意性を検定してもよい。解析部２４０は、回帰式が有意性を有している場合に、診断ルール生成部２５０に解析結果を出力するようにしてもよい。
【００８９】
ルール供給部２６０は、ＰＬＣ１００に診断パラメータを送信したとき、その旨をユーザに通知するようにしてもよい。例えば、ルール供給部２６０は、診断パラメータをＰＬＣ１００に送信した旨を通知するメールをメンテナンスツール５００に送信する。ユーザは、診断パラメータがＰＬＣ１００に送信した旨の通知を受けると、ＰＬＣ１００を再起動し、最新の診断パラメータを診断用機能ブロック１１３に適用することができる。
【００９０】
また、情報処理装置２００は、ＦＡ機器６００から収集したデータの解析結果から診断ルールを生成するため、ＦＡ機器６００からデータをある程度収集するまでは診断ルールを生成することができない。ＰＬＣ１００は、デフォルトの診断パラメータをメモリ１１に記憶しておいてもよい。ＰＬＣ１００は、情報処理装置２００から初回の診断パラメータを受信するまでは、デフォルトの診断パラメータを診断用機能ブロック１１３に適用することができる。また、情報処理装置２００から受信した診断パラメータが何らかの理由で破損している場合に備えて、ＰＬＣ１００は、デフォルトの診断パラメータを有していてもよい。この場合、情報処理装置２００から受信した診断パラメータが破損しているときには、ＰＬＣ１００は、デフォルトの診断パラメータを診断用機能ブロック１１３に適用してもよい。
【００９１】
実施の形態においては、情報処理装置２００が、ＦＡ機器６０３から直接データを収集する例を説明したが、これに限られない。情報処理装置２００は、ＰＬＣ１００を介して、全てのＦＡ機器６００からデータを収集してもよい。あるいは、情報処理装置２００は、ＰＬＣ１００を介さず、全てのＦＡ機器６００から直接データを収集してもよい。
【００９２】
実施の形態においては、情報処理装置２００は、１つのＰＬＣ１００から収集したデータを解析し、診断ルールを生成する例を説明したが、情報処理装置２００は、同一の工場内、あるいは異なる工場内にある複数のＰＬＣからデータを収集し、収集したデータの解析結果から診断ルールを生成するようにしてもよい。
【００９３】
情報処理装置２００は、ＦＡ機器６００から収集したデータを解析した結果から、診断ルールを生成したが、これに限られない。情報処理装置２００は、予め蓄積されたデータを解析し、その解析結果から診断ルールを生成してもよい。予め蓄積されたデータは、ＦＡ機器６００から取得されたデータであってもよいし、ＦＡ機器６００と同種の機械装置であって、ＦＡ機器６００とは異なる機器から取得されたデータであってもよい。
【００９４】
（変形例）
実施の形態においては、ファンクションブロック内に式が設定されており、この式により、値ｎが設定された範囲内であるか否かを判定するため、情報処理装置２００が診断パラメータとして上限値及び下限値をＰＬＣ１００に供給する例を説明したが、これに限られない。情報処理装置２００は、診断パラメータとして、値ではなく、式を供給してもよい。
【００９５】
例えば、図９Ａに示すように、診断用機能ブロック１１３Ａに、診断処理として、「式１が、上限値Ｖ１と下限値Ｖ２とにより特定される範囲内にある場合、正常であることを示す値として『ハイ』を出力する」こと、と、「式１が、上限値Ｖ１と下限値Ｖ２とにより特定される範囲の外にある場合、異常であることを示す値として『ロー』を出力する」こと、とが定義されているとする。
【００９６】
この場合、情報処理装置２００は、診断パラメータＰ２として、図９Ｂに示すように式１と、上限値Ｖ１と、下限値Ｖ２と、を供給する。
【００９７】
また、例えば、図１０Ａに示すように、診断用機能ブロック１１３Ｂに、診断処理として、「式２が満たされた場合、『ハイ』を出力する」こと、と、「式２が満たされない場合、『ロー』を出力する」こと、とが定義されているとする。
【００９８】
この場合、情報処理装置２００は、診断パラメータＰ３として、図１０Ｂに示すように式２を供給する。
【００９９】
上記の実施の形態では、ＦＡ機器６００が、ＰＬＣ１００の診断対象であり、制御対象であり、診断対象と制御対象とが同一である例を説明したが、これに限られない。診断対象と制御対象とは異なる機器であってもよい。例えば、ＰＬＣ１００は、搬送装置を診断し、搬送装置に不具合が発生していると判別すると、制御対象である加工機を停止するようにしてもよい。あるいは、診断対象の一部に制御対象が含まれていてもよい。
【０１００】
実施の形態では、診断用機能ブロック１１３が、診断処理の結果として、正常であることを示す値と異常であることを示す２つの値とを出力する例を説明したが、これに限られない。例えば、診断結果として、３つ以上の値を出力することをあらかじめ定義しておいてもよい。この場合、診断用機能ブロック１１３は、診断結果として、定義された値のうちのいずれかの値を出力する。
【０１０１】
実施の形態では、情報処理装置２００が、解析結果に基づいて、診断ルールを生成し、診断ルールを適用するための診断パラメータを出力する例を説明したが、これに限られない。情報処理装置２００は診断ルールを生成しなくてもよい。例えば、情報処理装置２００は、予め与えられた診断ルールと、解析結果とに基づいて、診断パラメータを出力してもよい。
【０１０２】
実施の形態では、情報処理装置２００として、産業用ＰＣを使用する例を説明したが、これに限られない。情報処理装置２００として、パーソナルコンピュータを使用してもよいし、クラウド上のサーバを使用してもよい。
【０１０３】
実施の形態では、メンテナンスツール５００として、専用のアプリケーションをインストールしたパーソナルコンピュータを使用する例を説明したが、これに限られない。例えば、情報処理装置２００として機能するコンピュータが、さらにメンテナンスツール５００として機能してもよい。あるいは、クラウド上のサーバが、メンテナンスツール５００として機能してもよい。
【０１０４】
上記のプログラムを記録する記録媒体としては、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ、半導体メモリ、磁気テープを含むコンピュータ読取可能な記録媒体を使用することができる。
【０１０５】
本発明は、広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
【符号の説明】
【０１０６】
Ｍ，Ｎ  入力値、Ｐ１，Ｐ２，Ｐ３  診断パラメータ、Ｖ１  上限値、Ｖ２  下限値、１  制御システム、１１，２１，５１  メモリ、１２，２２  フィールドバスインタフェース、１３，２３，５２  情報系ネットワークインタフェース、１４  ＭＰＵ、１９，２９，５９  バス、２４，５４  ＣＰＵ、５３  入出力装置、１００  プログラマブルロジックコントローラ（ＰＬＣ）、１１０，２１０  収集設定記憶部、１１１，２１１  収集プログラム、１１２  ユーザプログラム、１１２ａ  ファンクションブロック実行定義、１１３，１１３Ａ，１１３Ｂ  診断用機能ブロック、１２０，２２０  収集部、１３０  プログラム記憶部、１４０  データ格納部、１５０  ルール受信部、１６０  第１変換部、１７０  第２変換部、１８０  実行部、２００  情報処理装置、２１２  解析プログラム、２１３  ルール生成プログラム、２３０  解析設定記憶部、２４０  解析部、２５０  診断ルール生成部、２６０  ルール供給部、５００  メンテナンスツール、５１０  操作受付部、５１１  メンテナンスプログラム、６０１〜６０３（６００）  ＦＡ機器、７０１，７０２  ネットワーク、１１３１  内部インタフェース、１１３２  外部インタフェース
【図１】
2020166004.tif 000003
【図２】
2020166004.tif 000004
【図３】
2020166004.tif 000005
【図４】
2020166004.tif 000006
【図５】
2020166004.tif 000007
【図６】
2020166004.tif 000008
【図７】
2020166004.tif 000009
【図８】
2020166004.tif 000010
【図９Ａ】
2020166004.tif 000011
【図９Ｂ】
2020166004.tif 000012
【図１０Ａ】
2020166004.tif 000013
【図１０Ｂ】
2020166004.tif 000014
【手続補正書】
【提出日】令和2年4月17日(2020.4.17)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
上記目的を達成するため、本発明に係る制御システムは、診断対象を診断するための診断ルールの適用に使用される診断パラメータを供給する情報処理装置と、診断及び制御を行うプログラマブルロジックコントローラとを含む。情報処理装置が備えるルール供給手段は、診断パラメータをプログラマブルロジックコントローラに供給する。プログラマブルロジックコントローラが備えるプログラム記憶手段は、診断対象を診断する機能を実現する診断機能ブロックを含んでおり、制御対象を制御する機能を実現する制御プログラムを記憶する。プログラマブルロジックコントローラが備えるデフォルトパラメータを記憶する記憶手段は、診断パラメータの初期設定値であるデフォルトパラメータを記憶する。プログラマブルロジックコントローラが備える実行手段は、診断パラメータを設定した診断機能ブロックを含む制御プログラムを実行することにより、診断対象を診断し、診断結果に応じて制御対象を制御する。実行手段は、診断パラメータが情報処理装置から供給されるまでデフォルトパラメータを設定した診断機能ブロックを含む制御プログラムを実行し、情報処理装置から診断パラメータが供給されると、供給された診断パラメータを設定した診断機能ブロックを含む制御プログラムを実行する。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
診断対象を診断するための診断ルールの適用に使用される診断パラメータを供給する情報処理装置と、診断及び制御を行うプログラマブルロジックコントローラとを含む制御システムであって、
前記情報処理装置は、
前記診断パラメータを前記プログラマブルロジックコントローラに供給するルール供給手段、
を備え、
前記プログラマブルロジックコントローラは、
前記診断対象を診断する機能を実現する診断機能ブロックを含んでおり、制御対象を制御する機能を実現する制御プログラムを記憶するプログラム記憶手段と、
前記診断パラメータを設定した前記診断機能ブロックを含む前記制御プログラムを実行することにより、前記診断対象を診断し、診断結果に応じて前記制御対象を制御する実行手段と、
前記診断パラメータの初期設定値であるデフォルトパラメータを記憶する記憶手段と、
を備え、
前記実行手段は、前記診断パラメータが前記情報処理装置から供給されるまで前記デフォルトパラメータを設定した前記診断機能ブロックを含む前記制御プログラムを実行し、前記情報処理装置から前記診断パラメータが供給されると、供給された前記診断パラメータを設定した前記診断機能ブロックを含む前記制御プログラムを実行する、
制御システム。
【請求項２】
前記実行手段は、前記情報処理装置から供給された前記診断パラメータが破損している場合には、前記デフォルトパラメータを設定した前記診断機能ブロックを含む前記制御プログラムを実行する、
請求項１に記載の制御システム。
【請求項３】
前記情報処理装置は、前記診断ルールを変更すると、変更後の前記診断ルールから生成した新たな前記診断パラメータを前記プログラマブルロジックコントローラに供給し、
前記実行手段は、前記情報処理装置から供給された新たな前記診断パラメータを設定した前記診断機能ブロックを含む前記制御プログラムを実行する、
請求項１または２に記載の制御システム。
【請求項４】
前記プログラマブルロジックコントローラは、
前記診断パラメータを設定した前記診断機能ブロックを前記プログラマブルロジックコントローラが実行可能な形式に変換する第１変換手段と、
前記制御プログラムを前記プログラマブルロジックコントローラが実行可能な形式に変換する第２変換手段と、
を備え、
前記実行手段は、前記第１変換手段が変換した前記診断機能ブロックと、前記第２変換手段が変換した前記制御プログラムとを結合し、結合したプログラムを実行することにより、前記診断対象を診断し、前記診断結果に応じて前記制御対象を制御する、
請求項１から３のいずれか１項に記載の制御システム。
【請求項５】
前記制御プログラムはラダーダイアグラムで記載されており、前記診断機能ブロックはファンクションブロックダイアグラムで記載された部品化されたプログラムである、
請求項１から４のいずれか１項に記載の制御システム。
【請求項６】
前記情報処理装置は、
前記診断対象からデータを収集する収集手段と、
前記収集手段が収集したデータを解析し、解析結果を出力する解析手段と、
前記診断対象を診断するための診断ルールを生成し、前記診断ルールの適用に使用される前記診断パラメータを出力する診断ルール生成手段と、
を備える、
請求項１から５のいずれか１項に記載の制御システム。
【請求項７】
前記情報処理装置が備える前記収集手段は、前記プログラマブルロジックコントローラを介して前記診断対象からデータを収集し、あるいは、前記診断対象から直接データを収集する、
請求項６に記載の制御システム。
【請求項８】
前記制御対象には、前記診断対象が含まれる、
請求項１から７のいずれか１項に記載の制御システム。
【請求項９】
前記制御対象には、前記診断対象が含まれない、
請求項１から７のいずれか１項に記載の制御システム。
【請求項１０】
診断対象を診断した診断結果に応じて、制御対象を制御するプログラマブルロジックコントローラであって、
前記診断対象を診断する機能を実現する診断機能ブロックを含んでおり、前記制御対象を制御する機能を実現する制御プログラムを記憶するプログラム記憶手段と、
前記診断対象を診断するための診断ルールの適用に使用される診断パラメータを受信するルール受信手段と、
前記診断パラメータを設定した前記診断機能ブロックを組み込んだ前記制御プログラムを実行することにより、前記診断対象を診断し、診断結果に応じて前記制御対象を制御する実行手段と、
前記診断パラメータの初期設定値であるデフォルトパラメータを記憶する記憶手段と、
を備え、
前記実行手段は、前記診断パラメータが供給されるまで前記デフォルトパラメータを設定した前記診断機能ブロックを含む前記制御プログラムを実行し、前記診断パラメータが供給されると、供給された前記診断パラメータを設定した前記診断機能ブロックを含む前記制御プログラムを実行する、
プログラマブルロジックコントローラ。
【請求項１１】
情報処理装置が、プログラマブルロジックコントローラの診断対象を診断するための診断ルールの適用に使用される診断パラメータを前記プログラマブルロジックコントローラに供給するステップと、
前記プログラマブルロジックコントローラが、前記診断対象を診断する機能を実現する診断機能ブロックに前記診断パラメータを設定する設定ステップと、
前記プログラマブルロジックコントローラが、制御対象を制御する機能を実現する制御プログラムに、前記診断機能ブロックを結合する結合ステップと、
前記プログラマブルロジックコントローラが、前記診断機能ブロックが結合された前記制御プログラムを実行することにより、前記診断対象を診断し、診断結果に応じて前記制御対象を制御するステップと、
を含み、
前記プログラマブルロジックコントローラは、前記情報処理装置から前記診断パラメータが供給されるまで、前記設定ステップで、予め設定された前記診断パラメータの初期設定値を前記診断機能ブロックに設定し、
前記プログラマブルロジックコントローラは、前記情報処理装置から前記診断パラメータが供給されると、前記設定ステップで、供給された前記診断パラメータを前記診断機能ブロックに設定する、
方法。
【請求項１２】
プログラマブルロジックコントローラが実行するプログラムであって、
制御対象を制御する機能を実現する制御プログラムと、前記制御プログラムに組み込まれる機能ブロックであって、診断対象を診断するための診断ルールの適用に使用される診断パラメータが設定され、前記診断対象を診断する機能を実現する診断機能ブロックと、を含み、
前記診断機能ブロックには、外部から前記診断パラメータが供給されるまでは、予め設定された前記診断パラメータの初期設定値が設定され、外部から前記診断パラメータが供給されると、供給された前記診断パラメータが設定され、
前記プログラマブルロジックコントローラに、
前記診断対象を診断させ、
診断結果に応じて前記制御対象を制御させる、
プログラム。
【手続補正書】
【提出日】令和2年12月25日(2020.12.25)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
上記目的を達成するため、本発明に係る制御システムは、診断対象を診断するための診断ルールの適用に使用される診断パラメータを供給する情報処理装置と、診断及び制御を行うプログラマブルロジックコントローラとを含む。情報処理装置が備えるルール供給手段は、診断パラメータをプログラマブルロジックコントローラに供給する。プログラマブルロジックコントローラが備えるプログラム記憶手段は、制御対象を制御する機能を実現する制御プログラムと、制御プログラムに結合するための内部インタフェース部及び診断パラメータを受け付ける外部インタフェース部を備え、診断対象を診断する機能を実現する診断機能ブロックを記憶する。プログラマブルロジックコントローラが備えるデフォルトパラメータを記憶する記憶手段は、診断パラメータの初期設定値であるデフォルトパラメータを記憶する。プログラマブルロジックコントローラが備える実行手段は、外部インタフェース部により診断パラメータを設定した診断機能ブロックを内部インタフェース部により結合した制御プログラムを実行することにより、診断対象を診断し、診断結果に応じて制御対象を制御する。実行手段は、診断パラメータが情報処理装置から供給されるまでデフォルトパラメータを設定した診断機能ブロックを含む制御プログラムを実行し、情報処理装置から診断パラメータが供給されると、供給された診断パラメータを設定した診断機能ブロックを含む制御プログラムを実行する。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
診断対象を診断するための診断ルールの適用に使用される診断パラメータを供給する情報処理装置と、診断及び制御を行うプログラマブルロジックコントローラとを含む制御システムであって、
前記情報処理装置は、
前記診断パラメータを前記プログラマブルロジックコントローラに供給するルール供給手段、
を備え、
前記プログラマブルロジックコントローラは、
制御対象を制御する機能を実現する制御プログラムと、前記制御プログラムに結合するための内部インタフェース部及び前記診断パラメータを受け付ける外部インタフェース部を備え、前記診断対象を診断する機能を実現する診断機能ブロックを記憶するプログラム記憶手段と、
前記外部インタフェース部により前記診断パラメータを設定した前記診断機能ブロックを前記内部インタフェース部により結合した前記制御プログラムを実行することにより、前記診断対象を診断し、診断結果に応じて前記制御対象を制御する実行手段と、
前記診断パラメータの初期設定値であるデフォルトパラメータを記憶する記憶手段と、
を備え、
前記実行手段は、前記診断パラメータが前記情報処理装置から供給されるまで前記デフォルトパラメータを設定した前記診断機能ブロックを含む前記制御プログラムを実行し、前記情報処理装置から前記診断パラメータが供給されると、供給された前記診断パラメータを設定した前記診断機能ブロックを結合した前記制御プログラムを実行する、
制御システム。
【請求項２】
前記実行手段は、前記情報処理装置から供給された前記診断パラメータが破損している場合には、前記デフォルトパラメータを設定した前記診断機能ブロックを結合した前記制御プログラムを実行する、
請求項１に記載の制御システム。
【請求項３】
前記情報処理装置は、前記診断ルールを変更すると、変更後の前記診断ルールから生成した新たな前記診断パラメータを前記プログラマブルロジックコントローラに供給し、
前記実行手段は、前記情報処理装置から供給された新たな前記診断パラメータを設定した前記診断機能ブロックを結合した前記制御プログラムを実行する、
請求項１または２に記載の制御システム。
【請求項４】
前記プログラマブルロジックコントローラは、
前記診断パラメータを設定した前記診断機能ブロックを前記プログラマブルロジックコントローラが実行可能な形式に変換する第２変換手段と、
前記制御プログラムを前記プログラマブルロジックコントローラが実行可能な形式に変換する第１変換手段と、
を備え、
前記実行手段は、前記第２変換手段が変換した前記診断機能ブロックと、前記第１変換手段が変換した前記制御プログラムとを結合し、結合したプログラムを実行することにより、前記診断対象を診断し、前記診断結果に応じて前記制御対象を制御する、
請求項１から３のいずれか１項に記載の制御システム。
【請求項５】
前記制御プログラムはラダーダイアグラムで記載されており、前記診断機能ブロックはファンクションブロックダイアグラムで記載された部品化されたプログラムである、
請求項１から４のいずれか１項に記載の制御システム。
【請求項６】
前記情報処理装置は、
前記診断対象からデータを収集する収集手段と、
前記収集手段が収集したデータを解析し、解析結果を出力する解析手段と、
前記診断対象を診断するための診断ルールを生成し、前記診断ルールの適用に使用される前記診断パラメータを出力する診断ルール生成手段と、
を備える、
請求項１から５のいずれか１項に記載の制御システム。
【請求項７】
前記情報処理装置が備える前記収集手段は、前記プログラマブルロジックコントローラを介して前記診断対象からデータを収集し、あるいは、前記診断対象から直接データを収集する、
請求項６に記載の制御システム。
【請求項８】
前記制御対象には、前記診断対象が含まれる、
請求項１から７のいずれか１項に記載の制御システム。
【請求項９】
前記制御対象には、前記診断対象が含まれない、
請求項１から７のいずれか１項に記載の制御システム。
【請求項１０】
診断対象を診断した診断結果に応じて、制御対象を制御するプログラマブルロジックコントローラであって、
制御対象を制御する機能を実現する制御プログラムと、前記制御プログラムに結合するための内部インタフェース部及び診断パラメータを受け付ける外部インタフェース部を備え、前記診断対象を診断する機能を実現する診断機能ブロックを記憶するプログラム記憶手段と、
前記診断対象を診断するための診断ルールの適用に使用される診断パラメータを受信するルール受信手段と、
前記外部インタフェース部により前記診断パラメータを設定した前記診断機能ブロックを前記内部インタフェース部により結合した前記制御プログラムを実行することにより、前記診断対象を診断し、診断結果に応じて前記制御対象を制御する実行手段と、
前記診断パラメータの初期設定値であるデフォルトパラメータを記憶する記憶手段と、
を備え、
前記実行手段は、前記診断パラメータが供給されるまで前記デフォルトパラメータを設定した前記診断機能ブロックを結合した前記制御プログラムを実行し、前記診断パラメータが供給されると、供給された前記診断パラメータを設定した前記診断機能ブロックを含む前記制御プログラムを実行する、
プログラマブルロジックコントローラ。
【請求項１１】
情報処理装置が、プログラマブルロジックコントローラの診断対象を診断するための診断ルールの適用に使用される診断パラメータを前記プログラマブルロジックコントローラに供給するステップと、
前記プログラマブルロジックコントローラが、前記診断対象を診断する機能を実現する診断機能ブロックに備えられ、診断パラメータを受け付ける外部インタフェース部により、前記診断機能ブロックに前記診断パラメータを設定する設定ステップと、
前記プログラマブルロジックコントローラが、前記診断機能ブロックに備えられ、前記診断機能ブロックが、制御対象を制御する機能を実現する制御プログラムに結合するための内部インタフェース部により、制御対象を制御する機能を実現する制御プログラムに、前記診断機能ブロックを結合する結合ステップと、
前記プログラマブルロジックコントローラが、前記診断機能ブロックが結合された前記制御プログラムを実行することにより、前記診断対象を診断し、診断結果に応じて前記制御対象を制御するステップと、
を含み、
前記プログラマブルロジックコントローラは、前記情報処理装置から前記診断パラメータが供給されるまで、前記設定ステップで、予め設定された前記診断パラメータの初期設定値を前記診断機能ブロックに設定し、
前記プログラマブルロジックコントローラは、前記情報処理装置から前記診断パラメータが供給されると、前記設定ステップで、供給された前記診断パラメータを前記診断機能ブロックに設定する、
方法。
【請求項１２】
プログラマブルロジックコントローラが実行するプログラムであって、
制御対象を制御する機能を実現する制御プログラムと、前記制御プログラムに組み込まれる機能ブロックであって、診断対象を診断するための診断ルールの適用に使用される診断パラメータが設定され、前記診断対象を診断する機能を実現する診断機能ブロックと、を含み、
前記診断機能ブロックは、前記診断機能ブロックが前記制御プログラムに結合するための内部インタフェース部と、前記診断パラメータを受け付ける外部インタフェース部とを備え、
前記診断機能ブロックには、前記外部インタフェース部により、外部から前記診断パラメータが供給されるまでは、予め設定された前記診断パラメータの初期設定値が設定され、外部から前記診断パラメータが供給されると、供給された前記診断パラメータが設定され、
前記プログラマブルロジックコントローラに、
前記診断対象を診断させ、
診断結果に応じて前記制御対象を制御させる、
プログラム。
【国際調査報告】
2020166004.tif 000015
2020166004.tif 000016
2020166004.tif 000017
2020166004.tif 000018