(57)【特許請求の範囲】
【請求項１】
複数のＰＬＣユニットによってシステムが構築され、ユーザプログラムを実行して制御対象機器を制御するプログラマブルロジックコントローラであって、
当該システムに適用可能なＰＬＣユニットの型名と、前記ＰＬＣユニットが実行可能な機能名と、前記ＰＬＣユニットのシリアルナンバーとが検索用項目として夫々関連付けられた複数の製品機能対応情報を格納する第１の処理部と、
外部装置から、前記検索用項目を含む通知要求を受信した場合、受信した検索用項目を含む前記製品機能対応情報を前記第１の処理部から取得し、取得した製品機能対応情報に含まれる検索用項目であって、前記受信した検索用項目に関連付けられた検索用項目を含む応答データを作成し、作成した応答データを前記外部装置に返信する第２の処理部と、
前記ユーザプログラムの実行時にＰＬＣユニットが未対応の機能を実行しようとしたことによって未対応機能実行エラーが発生した場合に、前記製品機能対応情報を前記第１の処理部から読み出し、前記未対応機能実行エラーが発生した機能を実行可能なＰＬＣユニットのシリアルナンバーをユーザに通知するためのメッセージを作成する第３の処理部と、
を備えることを特徴とするプログラマブルロジックコントローラ。
【請求項２】
前記未対応機能実行エラーが発生した機能を実行可能なＰＬＣユニットのシリアルナンバーとユーザの宛先情報とを関連付けて、ＰＬＣユニットを販売する業者が運用する商取引用のサーバ宛てに送信する手段を有することを特徴とする請求項１に記載のプログラマブルロジックコントローラ。
【請求項３】
情報を不揮発に記憶する記憶部をさらに有し、
前記第２の処理部は、前記ユーザプログラムを実行するユーザプログラム実行部から前記検索用項目を含む通知要求を受信した場合には、作成した前記応答データを前記記憶部に記憶させて、該記憶部に前記応答データを記憶させたことを、前記ユーザプログラム実行部に通知することを特徴とする請求項１又は２に記載のプログラマブルロジックコントローラ。
【請求項４】
前記ＰＬＣユニットが実行可能な機能名を前記検索用項目として含む通知要求に応じて、前記ＰＬＣユニットのシリアルナンバーを含む応答データを作成し、該ＰＬＣユニットのシリアルナンバーとユーザの宛先情報とを関連付けて、ＰＬＣユニットを販売する業者が運用する商取引用のサーバ宛てに送信する手段を有することを特徴とする請求項１又は２に記載のプログラマブルロジックコントローラ。
【請求項５】
前記第２の処理部が作成する前記応答データのデータ形式を指定可能としたことを特徴とする請求項１から４のいずれか１項に記載のプログラマブルロジックコントローラ。
【請求項６】
前記製品機能対応情報をサーバから取得する第４の処理部を有することを特徴とする請求項１から５のいずれか１項に記載のプログラマブルロジックコントローラ。
【請求項７】
前記第４の処理部は、ＰＬＣユニットのアップデートデータが存在することを示すアップデート情報を前記サーバから受信する処理と、前記アップデート情報をユーザに通知する処理と、前記アップデートデータをネットワーク経由で取得する設定がなされている場合に前記アップデートデータを前記サーバから受信する処理を行うことを特徴とする請求項６に記載のプログラマブルロジックコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムで実現したい機能の可否を通知する機能に関し、使用可能機能の可否を通知する制約情報通知機能を有するプログラマブルロジックコントローラ（Programmable  Logic  Controller,  PLC）に関する。
【背景技術】
【０００２】
他の機器と接続して使用される電子機器においては、接続される機器の操作性を高めるために、各機器の操作や使用目的に関する情報を検索・管理し、ユーザの要求に応じて、これらの機能を利用するためのインタフェースを提供することが行われている。また、障害診断手段を設けることもなされており、障害発生時に発生原因を推測し、ユーザに通知できるようにすることも行われている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−１７９９８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
プログラマブルロジックコントローラのユニットには、一般的にシリアルナンバーが付与されている。使用したい機能がある場合、ユーザはユニットに付与されたシリアルナンバーをもとに該当製品のマニュアルを参照し、使用したい機能に対応しているか確認する必要があった。【０００５】
本発明は、上記に鑑みてなされたものであって、機能の使用可否の確認及び使用したい機能に対応するユニットの検索を行えるプログラマブルロジックコントローラを得ることを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、複数のＰＬＣユニットによってシステムが構築され、ユーザプログラムを実行して制御対象機器を制御するプログラマブルロジックコントローラであって、当該システムに適用可能なＰＬＣユニットの型名と、ＰＬＣユニットが実行可能な機能名と、ＰＬＣユニットのシリアルナンバーとが検索用項目として夫々関連付けられた複数の製品機能対応情報を格納する第１の処理部と、外部装置から、検索用項目を含む通知要求を受信した場合、受信した検索用項目を含む製品機能対応情報を第１の処理部から取得し、取得した製品機能対応情報に含まれる検索用項目であって、受信した検索用項目に関連付けられた検索用項目を含む応答データを作成し、作成した応答データを外部装置に返信する第２の処理部と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明にかかるプログラマブルロジックコントローラは、機能の使用可否の確認及び使用したい機能に対応するユニットの検索を行えるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、本発明にかかるプログラマブルロジックコントローラの実施の形態のシステム構成を示す図である。
【図２】図２は、実施の形態にかかるプログラマブルロジックコントローラの機能構成を示す図である。
【図３】図３は、製品機能対応情報のデータ構造を示す図である。
【図４】図４は、データ収集時の動作の流れを示すフローチャートである。
【図５】図５は、ＰＬＣユニットのアップデートに関する動作の流れを示すフローチャートである。
【図６】図６は、アップデート情報の一例を示す図である。
【図７】図７は、アップデート一覧のデータ構造の一例を示す図である。
【図８】図８は、エンジニアリングツールを含む入出力機器を使用して機能の使用可否をユーザに通知する場合の動作の流れを示すフローチャートである。
【図９】図９は、ユーザプログラムを使用して機能の使用可否をユーザに通知する場合の動作の流れを示すフローチャートである。
【図１０】図１０は、エラー発生時にエラーメッセージを作成するか否かを判断する処理の流れを示すフローチャートである。
【図１１】図１１は、エラー情報のデータ構造の一例を示す図である。
【図１２】図１２は、エラー発生時に作成されるエラーメッセージの一例を示す図である。
【図１３】図１３は、エンジニアリングツールを含む入出力機器を使用して、機能の一覧情報を用いて機能の使用可能可否を通知する動作の流れを示すフローチャートである。
【図１４】図１４は、シミュレーションソフトウェアを含む入出力機器を使用して使用可能機能を確認する動作の流れを示すフローチャートである。
【図１５】図１５は、データベースを使用して、手持ちＰＬＣユニットの使用可能機能情報を確認する動作の流れを示すフローチャートである。
【図１６】図１６は、ＰＬＣユニットの購入支援動作の流れを示す図である。
【発明を実施するための形態】
【０００９】
以下に、本発明にかかるプログラマブルロジックコントローラの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１０】
実施の形態．
図１は、本発明にかかるプログラマブルロジックコントローラの実施の形態のシステム構成を示す図である。プログラマブルロジックコントローラ１３は、ＣＰＵ（Central  Processing  Unit）ユニット１３１、入力ユニット１３２及び出力ユニット１３３を含んでシステムが構成されている。不図示の安全入力機器から入力ユニット１３２が受信した入力信号に基づいてＣＰＵユニット１３１がユーザプログラムを実行し、演算結果を出力ユニット１３３へ送信し、出力ユニット１３３から不図示の安全出力機器へ演算結果に基づく出力信号を送信する。なお、ユーザプログラムは、一例を挙げると、ラダーや専用命令である。プログラマブルロジックコントローラ１３は、ＣＰＵユニット１３１、入力ユニット１３２及び出力ユニット１３３は、電源１７から電力の供給を受けて動作する。なお、ここでは最小のシステム構成を示しているが、プログラマブルロジックコントローラ１３は、拡張ユニットが組み合わされてシステムが構成される場合もある。また、入力ユニットと出力ユニットとを一体化した入出力ユニットが入力ユニット１３２及び出力ユニット１３３の代わりに用いられる場合もある。以下の説明において、ＣＰＵユニット、入力ユニット、出力ユニット、入出力及び拡張ユニットなどを総称してＰＬＣユニットと言う。
【００１１】
図２は、実施の形態にかかるプログラマブルロジックコントローラの機能構成を示す図である。プログラマブルロジックコントローラ１３は、ネットワークを通じて入出力機器１１、サーバ１２及びデータベース２１に接続可能である。入出力機器１１は、インストールメディア１６を用いてエンジニアリングツールプログラムがインストールされたコンピュータである。なお、入出力機器１１には、エンジニアリングツールプログラムのインストール時に、インストールメディア１６により製品機能対応情報２６が格納されている。サーバ１２は、製品機能対応情報２６、アップデート情報１４及びアップデートデータ１８を格納している。データベース２１は、手持ちＰＬＣユニットの型名とシリアルナンバーとを管理している。
【００１２】
図３は、製品機能対応情報のデータ構造を示す図である。製品機能対応情報２６は、ＰＬＣユニットのシリアルナンバー２７と使用可能機能情報１５とを含んでいる。使用可能機能情報１５は、機能名１５１と対象機器名１５２と機能対応バージョン１５３とを対応付けたレコードを複数有する。
【００１３】
また、プログラマブルロジックコントローラ１３には、外部記憶媒体１９を接続可能である。外部記憶媒体１９は、一例を挙げると、メモリカード、ＵＳＢ（Universal  Serial  Bus）メモリ、外付けハードディスクである。
【００１４】
プログラマブルロジックコントローラ１３は、制約情報機能部１、データ収集部７、内蔵メモリ２０、ユーザプログラム実行部２２及びサーバアクセス部２８を有する。
【００１５】
データ収集部７は、各ＰＬＣユニットの製品機能対応情報２６を収集する処理を行う機能部である。データ収集部７は、収集命令部８、パラメータ取得部９及びサーバ取得部１０を有する。収集命令部８は、データ収集命令をパラメータ取得部９及びサーバ取得部１０に出力する。パラメータ取得部９は、入出力機器１１からプログラマブルロジックコントローラ１３に対して書き込まれたパラメータを取得する。サーバ取得部１０は、ネットワーク経由でサーバ１２から全てのＰＬＣユニットのアップデート情報１４や製品機能対応情報２６を取得する。サーバ取得部１０は、製品機能対応情報２６をサーバ１２から取得する第４の処理部である。
【００１６】
ユーザプログラム実行部２２は、ユーザプログラムを実行する機能部である。
【００１７】
制約情報機能部１は、シリアルナンバーや使用可能機能を入出力機器１１や外付けの表示装置などを通じてユーザに通知するための処理を行う機能部である。制約情報機能部１は、命令処理部２、データ作成部３、エラー登録部４、メッセージ作成部５及びデータ処理部６を有する。命令処理部２は、シリアルナンバー及び機能の使用可否などをユーザに通知する動作を実行するための命令を出力する。データ作成部３は、ユーザに通知するためのデータを予め指定されたデータ形式で作成する。命令処理部２及びデータ作成部３は、入出力機器１１から検索用項目を含む通知要求を受信した場合、受信した検索用項目を含む製品機能対応情報をデータ処理部６から取得し、取得した製品機能対応情報に含まれる検索用項目であって、受信した検索用項目に関連付けられた検索用項目を含む応答データを作成し、作成した応答データを入出力機器１１に返信する第２の処理部である。なお、製品機能対応情報については後述する。
【００１８】
エラー登録部４は、プログラマブルロジックコントローラ１３において発生する各種エラーの要因が登録されており、発生したエラーが未対応の機能を実行しようとした際に発生するエラーであるか否かを確認する。以下、未対応の機能を実行使用とした際に発生するエラーを未対応機能実行エラーという。また、メッセージ作成部５から受け取ったメッセージをイベント履歴やエラー情報詳細に登録する処理を行う。
【００１９】
メッセージ作成部５は、エラーメッセージを作成する処理を行う。
【００２０】
データ処理部６は、データ収集部７で収集されたデータ、すなわち製品機能対応情報２６を保存する。データ処理部６は、ＰＬＣユニットの型名と、ＰＬＣユニットが実行可能な機能名と、ＰＬＣユニットのシリアルナンバーとが検索用項目として夫々関連付けられた複数の製品機能対応情報を格納する第１の処理部である。データ処理部６は、データ作成部３又はエラー登録部４から要求があった場合、保存しているデータから必要なデータを取り出して渡す。また、データ処理部６は、プログラマブルロジックコントローラのシステム構成に関する情報を保持している。
【００２１】
メッセージ作成部５及びデータ処理部６は、ユーザプログラムの実行時に未対応機能実行エラーが発生した場合に、製品機能対応情報をデータ処理部６から読み出し、エラーが発生した機能を実行可能なＰＬＣユニットのシリアルナンバーをユーザに通知するためのメッセージを作成する第３の処理部である。具体的には、メッセージ作成部５は、未対応機能実行エラーが発生したことをエラー登録部４から通知された際に、エラー発生時に実行した命令や処理に関する情報をエラー登録部４から受信し、データ処理部６にエラー発生時に実行した命令や処理に関する情報を要求する。データ処理部６は、自身が保持する製品機能対応情報を参照し、メッセージ作成部５から通知された使用機能に一致する機能名に関連付けられているシリアルナンバーを取得して、メッセージ作成部へ送る。データ処理部６からの情報をもとに、メッセージ作成部５はエラーが発生した機能を実行可能なＰＬＣユニットのシリアルナンバーをユーザに通知するためのメッセージを作成する。
【００２２】
サーバアクセス部２８は、サーバ１２に対してプログラマブルロジックコントローラ１３からデータを送信するための機能部である。
【００２３】
後述するようにユーザがＰＬＣユニットを新たに購入しようとする際に、ネットワーク経由で発注手続きをする場合には、発注者を特定するためのユーザ情報や購入対象ユニットを特定する型番などの情報は、サーバアクセス部２８を通じてプログラマブルロジックコントローラ１３からサーバ１２へ送信される。
【００２４】
ユーザは、パラメータ書き込み時に製品機能対応情報２６をパラメータから取得するか、サーバ１２から取得するかを選択し、収集命令部８に設定する。
【００２５】
パラメータ書き込み時に、製品機能対応情報２６をパラメータから取得するように取得方法を設定した場合は、ユーザは、事前にサーバ１２から取得した各ＰＬＣユニットのシリアルナンバーとそれに対応する使用可能機能とを、パラメータ書き込み時にパラメータとともにデータ処理部６に製品機能対応情報２６として書き込む。なお、パラメータ書き込み時に、サーバ１２に接続できず、製品機能対応情報２６をサーバ１２から取得できない場合は、インストールメディア１６を用いて入出力機器１１にエンジニアリングツールプログラムとともにインストールされた製品機能対応情報２６を入出力機器１１から取得する。
【００２６】
図４は、データ収集時の動作の流れを示すフローチャートである。データ収集が必要になると、命令処理部２は収集命令部８に製品機能対応情報取得命令を出力する（ステップＳ１０１）。命令処理部２から収集命令部８への製品機能対応情報取得命令の発行間隔は、事前にユーザが指定することも可能である。命令処理部２から製品機能対応情報取得命令を受信すると、収集命令部８は、製品機能対応情報２６をパラメータから取得する設定であるか、サーバ１２から取得する設定であるかを確認する（ステップＳ１０２）。サーバ１２から取得する設定である場合（ステップＳ１０２／Ｙｅｓ）、収集命令部８は、サーバ取得部１０に製品機能対応情報収集命令を出力する（ステップＳ１０３）。サーバ取得部１０は、収集命令部８から受信した製品機能対応情報収集命令に応じてサーバ１２から製品機能対応情報２６を取得する（ステップＳ１０４）。一方、パラメータから取得する設定である場合、換言すると、サーバ１２からデータを収集しない場合（ステップＳ１０２／Ｎｏ）、収集命令部８は、パラメータ取得部９に製品機能対応情報収集命令を出力する（ステップＳ１０５）。パラメータ取得部９は、収集命令部８から製品機能対応情報収集命令を受信すると、入出力機器１１から書き込まれる製品機能対応情報２６を取得して、収集命令部８に出力する（ステップＳ１０６）。
【００２７】
図５は、ＰＬＣユニットのアップデートに関する動作の流れを示すフローチャートである。プログラマブルロジックコントローラ１３がサーバ１２に接続されている場合、データ収集部７は、データ収集時にサーバ１２から取得した情報に基づいてアップデート情報１４の有無を確認する。アップデートされている機能があれば、データ収集部７は、サーバ取得部１０によりアップデート情報１４をサーバ１２からダウンロードし命令処理部２に渡す（ステップＳ２００）。
【００２８】
命令処理部２は、アップデート情報を表示する処理を行って、アップデート可能なＰＬＣユニットが存在することをユーザに通知する（ステップＳ２０１）。図６は、アップデート情報の一例を示す図である。アップデート情報１４には、アップデート情報がある機器情報と対応した機能とが記載されている。アップデート情報１４の通知タイミングは、ユーザが指定することが可能である。例えば、ユーザが機能の使用可否を調べたときや、バージョンアップ情報が公開されたときにエンジニアリングツールがインストールされた入出力機器１１から通知することができる。
【００２９】
アップデートデータ１８をネットワーク経由で取得する設定がされていない場合（ステップＳ２０２／Ｎｏ）、ユーザは、アップデート情報１４を参照し、電話、ファクシミリ、郵便などの非電子的手法又は電子メールでアップデート対象ＰＬＣユニットのシリアルナンバーやユーザ情報を製造メーカ等に伝える（ステップＳ２１３）。ここでのユーザ情報とは、ＰＬＣユニットをアップデートしようとする者の名称及び住所などの宛先情報であるが、ＰＬＣユニットのユーザがユーザ登録するなどして製造メーカ等がこれらの情報を既に把握している場合には、ユーザＩＤのように単純にユーザを識別する情報であっても良い。なお、ＰＬＣユニットをアップデートしようとする者の名称とは、個人であれば氏名、団体においては法人名などである。製造メーカ等は、非電子的手法で通知されたシリアルナンバーに従って、ユーザ宛にアップデートデータ１８が記録された情報記録媒体を発送する。ユーザは、受け取った情報記録媒体に記録されているアップデートデータを用いてＰＬＣユニットをアップデートする（ステップＳ２１４）。
【００３０】
アップデートデータ１８をネットワーク経由で取得する設定がされている場合（ステップＳ２０２／Ｙｅｓ）、ユーザは、エンジニアリングツールを含む入出力機器１１からアップデート対象機器の対象機器名２３１とアップデートバーション２３２とが記載されたアップデート一覧２３とアップデート要求とをプログラマブルロジックコントローラ１３へ送信する（ステップＳ２０３）。図７は、アップデート一覧のデータ構造の一例を示す図である。入出力機器１１からアップデート一覧２３とアップデート要求とを受信した命令処理部２は、アップデート一覧２３及びアップデート要求を収集命令部８へ送信する（ステップＳ２０４）。アップデート一覧２３及びアップデート要求を命令処理部２から受信した収集命令部８は、サーバ取得部１０にアップデートデータの取得命令を出力する（ステップＳ２０５）。アップデートデータの取得命令に応じて、サーバ取得部１０は、サーバ１２から必要なアップデートデータ１８を取得する（ステップＳ２０６）。アップデートデータ１８は、アップデートさせたい機器のファームウェアをアップデートするのに必要な全てのデータであり、アップデート一覧２３によって示される。
【００３１】
サーバ取得部１０は、サーバ１２から取得したアップデートデータ１８を収集命令部８へ送信する（ステップＳ２０７）。サーバ取得部１０からアップデートデータ１８を受信した収集命令部８は、アップデートデータ１８を命令処理部２へ送信する（ステップＳ２０８）。アップデートデータ１８をサーバ取得部１０から受信した命令処理部２は、ユーザにアップデートデータ１８を受信したことを通知する（ステップＳ２０９）。
【００３２】
アップデートを自動実行する設定の場合（ステップＳ２１０／Ｙｅｓ）、命令処理部２はアップデートデータ１８を用いてＰＬＣユニットをアップデートする（ステップＳ２１１）。これにより、ＰＬＣユニットのファームウェアが最新のバージョンに書き換えられる。一方、アップデートを自動実行する設定ではない場合（ステップＳ２１０／Ｎｏ）、命令処理部２はユーザからアップデート実行の指示を受けたタイミングでＰＬＣユニットのアップデートを行う（ステップＳ２１２）。
【００３３】
エンジニアリングツールを含む入出力機器１１を使用して機能の使用可否をユーザに通知する場合の動作について説明する。図８は、エンジニアリングツールを含む入出力機器を使用して機能の使用可否をユーザに通知する場合の動作の流れを示すフローチャートである。プログラマブルロジックコントローラ１３を実際に構成しているＰＬＣユニットのシリアルナンバーは、ユーザにとって既知の情報であり、エンジニアリングツールに予め入力されている。まず、ユーザは、エンジニアリングツールを含む入出力機器１１から、検索用項目としてのシリアルナンバーとともに通知要求をプログラマブルロジックコントローラ１３へ送信する（ステップＳ３０１）。エンジニアリングツールから通知要求とともにシリアルナンバーを検索用項目として受信した命令処理部２は、データ作成部３に製品機能対応情報を要求する（ステップＳ３０２）。データ作成部３は、命令処理部２からの要求に応じて、データ処理部６から実際にプログラマブルロジックコントローラ１３を構成している各ＰＬＣユニットのシリアルナンバーが使用可能機能情報１５に関連付けられている製品機能対応情報２６を取得する（ステップＳ３０３）。
【００３４】
データ作成部３は、データ処理部６から取得した製品機能対応情報２６を基に、型名及び機能名を含む応答データを予め設定されたデータ形式で作成し命令処理部２に返す（ステップＳ３０４）。命令処理部２は、データ作成部３から受け取った応答データを、エンジニアリングツールを含む入出力機器１１に送信する（ステップＳ３０５）。エンジニアリングツールを含む入出力機器１１では、命令処理部２から受信した応答データに基づいて使用可能機能情報１５の内容を自由な形式で表示することが可能である。例えばエンジニアリングツールを含む入出力機器１１は、プログラマブルロジックコントローラ１３を構成するＰＬＣユニットが実行可能な機能を表示することができる。
【００３５】
データ作成部３により応答データのデータ形式を指定できるため、エンジニアリングツールを含む入出力機器の他にも、パーソナルコンピュータ、タブレット端末、携帯型端末、表示機などの表示機能を有する機器を用いて使用可能機能情報をユーザに提示することが可能である。
【００３６】
なお、ＰＬＣユニットのシリアルナンバーだけでなくバージョン情報もエンジニアリングツールから通知要求とともに命令処理部２へ送ることで、ＰＬＣユニットの現在のバージョンに対応するレコードのみをデータ処理部６が取得するように動作させることも可能である。
【００３７】
ユーザプログラムを使用して機能の使用可否をユーザに通知する場合の動作について説明する。図９は、ユーザプログラムを使用して機能の使用可否をユーザに通知する場合の動作の流れを示すフローチャートである。ユーザプログラムに機能の使用可否の通知を要求する命令が含まれて入る場合、ユーザプログラム実行部２２は、通知要求を命令処理部２へ送信する（ステップＳ４０１）。ユーザプログラム実行部２２から通知要求を受信した命令処理部２は、プログラマブルロジックコントローラ１３を実際に構成しているＰＬＣユニットのシリアルナンバー２７を検索用項目としてデータ作成部３に送信する（ステップＳ４０２）。データ作成部３は、プログラマブルロジックコントローラ１３を実際に構成しているＰＬＣユニットのシリアルナンバー２７を命令処理部２から受信すると、実際にプログラマブルロジックコントローラ１３を構成している各ＰＬＣユニットのシリアルナンバー２７に使用可能機能情報１５が関連付けられている製品機能対応情報２６をデータ処理部６から取得する（ステップＳ４０３）。
【００３８】
そして、データ作成部３は、データ処理部６から取得した情報を指定されたメモリに指定された形式で保存する（ステップＳ４０４）。本実施の形態においては、指定できるメモリとは、プログラマブルロジックコントローラ１３に接続された外部記憶媒体１９やプログラマブルロジックコントローラ１３が持つ内蔵メモリ２０とする。指定がない場合、データ作成部３が決めたメモリに保存する。本実施の形態においては、データ作成部３がデータの保存先を決める場合、外部記憶媒体１９が接続されている場合は、外部記憶媒体１９を保存先とし、それ以外は内蔵メモリ２０を保存先とする。そして、データ作成部３は、命令処理部２に完了通知を返す（ステップＳ４０５）。保存場所の指定が無かった場合、データ作成部３は、使用可能機能情報を保存した記憶媒体を示す情報も命令処理部２に返す。
【００３９】
命令処理部２は、データ作成部３から受け取った各情報をユーザプログラム実行部２２に出力する（ステップＳ４０６）。ユーザプログラム実行部２２は、外部記憶媒体１９や内蔵メモリ２０に保存された使用可能機能情報１５を読み出して、通知する処理を行う（ステップＳ４０７）。例えば、プログラマブルロジックコントローラ１３が備える不図示の表示装置や、プログラマブルロジックコントローラ１３に制御対象機器として接続される表示装置に使用可能機能情報を表示させる。プログラマブルロジックコントローラ１３が備える不図示の表示装置は、一例を挙げると、ドットマトリクスＬＥＤ（Light  Emitting  Diode）である。
【００４０】
エラー発生時にエラーの原因となったＰＬＣユニットのシリアルナンバー及び機能の使用可否をユーザに通知する場合の動作について説明する。図１０は、エラー発生時にエラーメッセージを作成するか否かを判断する処理の流れを示すフローチャートである。命令実行によりエラーが発生すると、ユーザプログラム実行部２２はエラーが発生したことを命令処理部２に通知する（ステップＳ５０１）。命令実行によりエラーが発生したことをユーザプログラム実行部２２から通知された命令処理部２は、エラー情報をエラー登録部４に通知する（ステップＳ５０２）。図１１は、エラー情報のデータ構造の一例を示す図である。エラー情報２４は、発生元ユニットの情報であるエラーナンバー２４１、ネットワークナンバー２４２、局番２４３及び対象号機２４４と使用機能の情報である実行した命令／処理２４５とを含んでいる。命令処理部２からエラー情報を通知されたエラー登録部４は、エラー原因を確認し、発生したエラーが未対応機能実行エラーであるか否かを判断する（ステップＳ５０３）。
【００４１】
発生したエラーが未対応機能実行エラーではない場合（ステップＳ５０３／Ｎｏ）、無処理で処理を終了する。発生したエラーが未対応機能実行エラーである場合（ステップＳ５０３／Ｙｅｓ）、エラー登録部４は、エラー情報２４から発生元ユニットの情報と、使用機能の情報とを取り出し、メッセージ作成部５に通知する（ステップＳ５０４）。なお、発生元ユニットの情報は、具体的には、エラーナンバー２４１、ネットワークナンバー２４２、局番２４３及び対象号機２４４である。また、使用機能の情報は、具体的には、実行した命令／処理２４５である。
【００４２】
メッセージ作成部５は、エラー登録部４から受け取った発生元ユニット、使用機能に関する情報をデータ処理部６に要求する（ステップＳ５０５）。メッセージ作成部５からの要求を受信したデータ処理部６では、自身が保持するプログラマブルロジックコントローラの構成情報を基に、ネットワークナンバー２４２、局番２４３及び対象号機２４４で特定されるＰＬＣユニットのシリアルナンバーを特定し、特定したシリアルナンバーをメッセージ作成部５に送る（ステップＳ５０６）。加えて、データ処理部６は、自身が保持する製品機能対応情報を参照し、メッセージ作成部５から通知された使用機能に一致する機能名に関連付けられているシリアルナンバーを取得して、メッセージ作成部５へ送る（ステップＳ５０７）。データ処理部６からの情報をもとに、メッセージ作成部５はエラーメッセージを作成し、エラー登録部４に通知する（ステップＳ５０８）。例えば、メッセージ作成部５は、発生元ユニットのシリアルナンバーに加え、使用機能を実行可能なユニットのシリアルナンバーを示すエラーメッセージを作成する。エラー登録部４では、メッセージ作成部５で作成されたメッセージを内蔵メモリ２０に登録する（ステップＳ５０９）。
【００４３】
なお、メッセージ作成部５は、使用機能に一致する機能名に関連付けられているシリアルナンバーをデータ処理部６から複数受信した場合には、エラーが発生した機能を実行可能なＰＬＣユニットのシリアルナンバーをユーザに通知するためのメッセージを作成する際に、受信したシリアルナンバーを全て列記するのではなく、範囲として示す形式でメッセージを作成するようにしても良い。図１２は、エラー発生時に作成されるエラーメッセージの一例を示す図である。エラーメッセージ２５は、エラーの原因となった装置のＰＬＣユニットの型名及びシリアルナンバーとともに、エラーが発生した機能を使用することが可能なＰＬＣユニットのシリアルナンバーを範囲として表示している。エラーメッセージの登録後、エラー登録部４は、命令処理部２に完了通知を返す（ステップＳ５１０）。完了通知を受けた命令処理部２は、エラーメッセージを外付けの表示装置に表示するなどの処理を行う（ステップＳ５１１）。
【００４４】
エンジニアリングツールを含む入出力機器１１を使用して、機能の一覧情報を用いて機能の使用可能可否を通知する場合の動作について説明する。図１３は、エンジニアリングツールを含む入出力機器を使用して、機能の一覧情報を用いて機能の使用可能可否を通知する動作の流れを示すフローチャートである。まず、ユーザは、エンジニアリングツールを含む入出力機器１１から、通知要求とともに機能の一覧情報を検索用項目としてプログラマブルロジックコントローラ１３へ送信する。換言すると、エンジニアリングツールを含む入出力機器１１から、通知要求とともに複数の機能名を検索用項目としてプログラマブルロジックコントローラ１３へ送信する（ステップＳ６０１）。なお、エンジニアリングツールへ送信する機能の一覧情報は、プログラマブルロジックコントローラ１３に適用可能な全ての機能の一覧であっても良いし、全機能の中から選択した一部の機能のみの一覧であってもよい。
【００４５】
通知要求及び機能の一覧情報を受信した命令処理部２は、データ作成部３に製品機能対応情報２６を要求する（ステップＳ６０２）。データ作成部３は、プログラマブルロジックコントローラ１３に適用可能な各ＰＬＣユニットの製品機能対応情報２６をデータ処理部６から取得する（ステップＳ６０３）。製品機能対応情報２６をデータ処理部６から取得したデータ作成部３は、機能の一覧情報に含まれる機能名と一致する機能名１５１を持つ使用可能機能情報１５があるか否かを確認する。換言すると、データ作成部３は、検索用項目と一致する機能名１５１を持つ使用可能機能情報１５があるか否かを確認する（ステップＳ６０４）。
【００４６】
検索用項目と一致する機能名１５１を持つ使用可能機能情報１５がある場合（ステップＳ６０４／Ｙｅｓ）、データ作成部３は、機能対応バージョン１５３及びシリアルナンバー２７を機能の一覧情報に追加記録する（ステップＳ６０５）。検索用項目と一致する機能名１５１を持つ使用可能機能情報１５がない場合（ステップＳ６０４／Ｎｏ）、データ作成部３は、未対応である旨を、機能の一覧情報に追加記録する（ステップＳ６０６）。追加記録が終わると、データ作成部３は、追加記録した情報を命令処理部２に返す（ステップＳ６０７）。命令処理部２は、データ作成部３から受け取った情報をエンジニアリングツールを含む入出力機器１１に送信する（ステップＳ６０８）。命令処理部２から情報を受信した入出力機器１１は、取得した情報を自由な形式で表示することが可能である。例えば、使用したい機能に対応するＰＬＣユニットのシリアルナンバーなどを一覧表示することが可能である。
【００４７】
実機ではなく、シミュレーションなどから使用可能機能を確認する場合について説明する。図１４は、シミュレーションソフトウェアを含む入出力機器を使用して使用可能機能を確認する動作の流れを示すフローチャートである。まず、ユーザは、シミュレーションソフトウェアを含む入出力機器１１から通知要求と、シミュレーションソフトウェア上で仮想的に構築されたプログラマブルロジックコントローラの構成情報と、使用したい機能の一覧情報とをプログラマブルロジックコントローラ１３へ検索用項目として送信する（ステップＳ７０１）。なお、プログラマブルロジックコントローラの構成情報は、具体的には、ＰＬＣユニットの型名である。また、使用したい機能の一覧情報は、具体的には、複数の機能名である。プログラマブルロジックコントローラの構成情報及び使用したい機能の一覧情報を通知要求とともに受信した命令処理部２は、データ作成部３に製品機能対応情報２６を要求する（ステップＳ７０２）。データ作成部３は、データ処理部６から構成情報によって指定された型名を対象機器名１５２に含む使用可能機能情報１５を持つ製品機能対応情報２６を取得する（ステップＳ７０３）。製品機能対応情報２６をデータ処理部６から取得したデータ作成部３は、機能一覧の使用したい機能の機能名と一致する機能名１５１を有する使用可能機能情報１５を持つ製品機能対応情報２６があるか否かを確認する（ステップＳ７０４）。
【００４８】
選択された機能に対応する機能名１５１有する使用可能機能情報１５を持つ製品機能対応情報２６がある場合（ステップＳ７０４／Ｙｅｓ）、データ作成部３は、機能対応バージョン１５３を機能の一覧情報に追加記録する（ステップＳ７０５）。選択された機能に対応する機能名１５１を有する使用可能機能情報１５を持つ製品機能対応情報２６がない場合（ステップＳ７０４／Ｎｏ）、データ作成部３は、未対応である旨を機能の一覧情報に追加記録する（ステップＳ７０６）。機能の一覧情報への追加記録が終わると、データ作成部３は、処理した情報を命令処理部２に返す（ステップＳ７０７）。命令処理部２は、データ作成部３から受け取った情報をエンジニアリングツールを含む入出力機器１１に送信する（ステップＳ７０８）。命令処理部２から情報を受信した入出力機器１１は、取得した情報を自由な形式で表示することが可能である。例えば、使用したい機能に対応するＰＬＣユニットのシリアルナンバーや型名などを一覧表示することが可能である。
【００４９】
手持ちＰＬＣユニットの型名とシリアルナンバーとを管理しているデータベースを使用して、手持ちＰＬＣユニットの使用可能機能情報を確認する場合の動作、換言すると、ユーザが所持しているＰＬＣユニットの型名とシリアルナンバーとを管理しているデータベースを使用して、ユーザが所持しているＰＬＣユニットの使用可能機能情報を確認する場合の動作について説明する。図１５は、データベースを使用して、手持ちＰＬＣユニットの使用可能機能情報を確認する動作の流れを示すフローチャートである。まず、ユーザは、手持ちＰＬＣユニット情報と使用したい機能の一覧情報とを通知要求とともに検索用項目として入出力機器１１からプログラマブルロジックコントローラ１３へ送信する（ステップＳ８０１）。なお、手持ちＰＬＣユニット情報は、具体的には、手持ちＰＬＣユニットのシリアルナンバー及び型名である。入出力機器１１から通知要求及び検索用項目を受信した命令処理部２は、入出力機器１１から通知要求及び検索用項目を受信したことをデータ作成部３に通知する（ステップＳ８０２）。入出力機器１１から通知要求及び検索用項目を受信したことを命令処理部２から通知されたデータ作成部３は、データ処理部６から手持ちＰＬＣユニットの製品機能対応情報２６を取得する（ステップＳ８０３）。製品機能対応情報２６を取得したデータ作成部３は、機能一覧の使用したい機能の機能名と一致する機能名１５１を有する使用可能機能情報１５を持つ製品機能対応情報があるか否かを確認する（ステップＳ８０４）。
【００５０】
使用したい機能の機能名と一致する機能名１５１を有する使用可能機能情報１５を持つ製品機能対応情報２６がある場合（ステップＳ８０４／Ｙｅｓ）、データ作成部３は、機能対応バージョン１５３を機能の一覧情報に追加記録する（ステップＳ８０５）。使用したい機能の機能名と一致する機能名１５１を有する使用可能機能情報１５を持つ製品機能対応情報がない場合（ステップＳ８０４／Ｎｏ）、データ作成部３は、未対応である旨を機能の一覧情報に追加記録する（ステップＳ８０６）。機能の一覧情報への追加記録が終わると、データ作成部３は、処理された情報を命令処理部２に返す（ステップＳ８０７）。命令処理部２は、データ作成部３から受け取った情報をエンジニアリングツールを含む入出力機器１１に送信する（ステップＳ８０８）。命令処理部２から情報を受信した入出力機器１１は、取得した情報を自由な形式で表示することが可能である。例えば、使用したい機能に対応する手持ちＰＬＣユニットのシリアルナンバーや型名などを一覧表示することが可能である。
【００５１】
なお、図１０に示した処理のステップＳ５１１でエラー情報の通知を受けたユーザは、エラーの原因となった機能を実行可能なＰＬＣユニットの購入を希望することがあると考えられる。また、図１３の処理のステップＳ６０８で機能対応バージョンやシリアルナンバーの通知を受けたユーザは、所望の機能を実行可能なＰＬＣユニットの購入を希望することがあると考えられる。このため、プログラマブルロジックコントローラ１３は、エラー情報や機能対応バージョンやシリアルナンバーをユーザに通知した際に、ユーザがＰＬＣユニットを容易に購入できるようにするための購入支援機能を備えている。以下の説明において、ＰＬＣユニットを特定するための情報、具体的には機能対応バージョンやシリアルナンバーをユニット特定情報と表記する。
【００５２】
図１６は、ＰＬＣユニットの購入支援動作の流れを示す図である。エラー情報やユニット特定情報をユーザに通知した後、ユーザから発注命令が発行されると、命令処理部２が発注命令を受理する（ステップＳ９０１）。発注命令は、例えば入出力機器１１に表示された通知画面において発注ボタンを押下するユーザ操作が行われることによって発行される。命令処理部２が発注命令を受理すると、メッセージ作成部５は、通知内容に基づいた発注フォーマットを作成する（ステップＳ９０２）。例えば、エラー情報を通知した場合には、エラーの原因となった機能を実行可能なＰＬＣユニットのユニット特定情報を含む発注フォーマットを作成する。あるいは、所望の機能を実行可能なＰＬＣユニットのユニット特定情報を通知した場合には、通知したユニット特定情報を含む発注フォーマットを作成する。
【００５３】
その後、命令処理部２は、ネットワーク経由で発注するか否かの選択をユーザに要求する（ステップ９０３）。ネットワーク経由で発注するか否かの選択の要求は、例えば入出力機器１１の表示画面上に選択要求画面を表示することによって行われる。
【００５４】
ネットワーク経由で発注することが選択された場合（ステップＳ９０３／Ｙｅｓ）、命令処理部２は、内蔵メモリ２０に予め格納されているユーザ情報を読み出し、ユニット特定情報を含む発注フォーマットのデータとともに、サーバアクセス部２８からサーバ１２に対して送信する（ステップＳ９０４）。なお、ここでのユーザ情報とは、ＰＬＣユニットを購入しようとする者の名称及び住所などの宛先情報であるが、購入先がこれらの情報を既に把握している場合には、ユーザＩＤのように単純に購入者を識別する情報であっても良い。なお、ＰＬＣユニットを購入しようとする者の名称とは、個人であれば氏名、団体においては法人名などである。また、内蔵メモリ２０にユーザ情報が格納されていない場合には、命令処理部２は、ユーザ情報の入力をユーザに要求する。ユーザ情報の入力要求は、例えば入出力機器１１の表示画面上に入力要求画面を表示することによって行われる。
【００５５】
サーバ１２へ送られたユーザ情報及び発注フォーマットのデータは、サーバ１２から不図示のネットワークを経由してＰＬＣユニットの製造メーカや販売代理店などの購入先へ送信される（ステップＳ９０５）。購入先の製造メーカ等は、サーバ１２から受信したユーザ情報及び発注フォーマットに従って、ユーザ宛にＰＬＣユニットを発送する。
【００５６】
一方、ネットワーク経由で発注する選択がなされなかった場合は（ステップＳ９０３／Ｎｏ）、ユニット特定情報を含む発注フォーマットがユーザに通知される（ステップＳ９０６）。ユーザは通知された発注フォーマットを参照し、電話、ファクシミリ、郵便などの非電子的手法や電子メールでユニット特定情報及びユーザ情報を購入先である製造メーカ等に伝える（ステップＳ９０７）。購入先の製造メーカ等は、非電子的手法や電子メールで通知されたユニット特定情報及びユーザ情報に従って、ユーザ宛にＰＬＣユニットを発送する。
【００５７】
なお、ユニット特定情報を含む発注フォーマットは、エラー情報や所望の機能を実行可能なＰＬＣユニットのユニット特定情報が通知された時点で作成しても良いし、ユーザから発注命令が発行される前の時点で作成しても良い。
【００５８】
以上の手順により、エラーの原因となった機能を実行可能なＰＬＣユニットや所望の機能を実行可能なＰＬＣユニットを容易に購入できる。
【００５９】
以上のように、本実施の形態によれば、システム全体もしくは、特定のＰＬＣユニットに関して、１回の命令で製品機能対応情報、すなわち、シリアルナンバー及び使用可能機能情報を短時間で調べることができる。実施の形態にかかるプログラマブルロジックコントローラは、システムを稼働させた状態で、入出力機器からでも機能の使用可否確認のための操作が可能であるため、システムが存在する現場および、遠隔地で確認することが可能である。
【００６０】
実施の形態にかかるプログラマブルロジックコントローラは、システムを新規構築又は構成を変更する場合、システム内に新規購入又は交換が必要なＰＬＣユニットがあるか否かをマニュアルで確認することなく調べることができるため、システムの立ち上げコストが削減できる。実機がなくてもシミュレーションなどで調べることが可能であるため、購入前の選定にも利用でき、システムの選定コストの削減ができる。
【００６１】
実施の形態にかかるプログラマブルロジックコントローラは、各ＰＬＣユニットにどのような機能があるのか不明な場合、機能を一覧で閲覧でき、一覧のリストから使用したい機能を選択することで対応しているＰＬＣユニットの型名及びシリアルナンバーを知ることができる。これにより、新しく搭載された機能がすぐにわかるため、マニュアルで各ＰＬＣユニットの機能を調べる必要がない。また、手持ちのＰＬＣユニットの型名とシリアルナンバーとを管理しているデータベースがあれば、連動させることで、簡単に購入が必要なユニットを調べることが可能になる。
【００６２】
実施の形態にかかるプログラマブルロジックコントローラは、バージョンアップの必要性を自動的に検出するため、バージョンアップ情報を定期的に確認する必要がなく、保守管理コストがかからない。バージョンアップをするかユーザが毎回選択することが可能であり、バージョンアップが必要な場合は、ネットワーク経由でバージョンアップも可能となる。バージョンアップが不要の場合、不必要なバージョンアップをする必要がないため、システムを変更せず使用し続けることができる。
【産業上の利用可能性】
【００６３】
以上のように、本発明にかかるプログラマブルロジックコントローラは、使用したい機能がある場合、既存のシステムで対応できるのかや、新しく製品を買う場合にその機能が使用可能かをどこからでも短時間で確認できる点で有用である。
【符号の説明】
【００６４】
１  制約情報機能部、２  命令処理部、３  データ作成部、４  エラー登録部、５  メッセージ作成部、６  データ処理部、７  データ収集部、８  収集命令部、９  パラメータ取得部、１０  サーバ取得部、１１  入出力機器、１２  サーバ、１３  プログラマブルロジックコントローラ、１４  アップデート情報、１５  使用可能機能情報、１６  インストールメディア、１７  電源、１８  アップデートデータ、１９  外部記憶媒体、２０  内蔵メモリ、２１  データベース、２２  ユーザプログラム実行部、２３  アップデート一覧、２４  エラー情報、２５  エラーメッセージ、２６  製品機能対応情報、２７  シリアルナンバー、２８  サーバアクセス部、１３１  ＣＰＵユニット、１３２  入力ユニット、１３３  出力ユニット、１５１  機能名、１５２，２３１  対象機器名、１５３  機能対応バージョン、２３２  アップデートバージョン、２４１  エラーナンバー、２４２  ネットワークナンバー、２４３  局番、２４４  対象号機、２４５  実行した命令／処理。
【図１】
0005951127.tif 000002
【図２】
0005951127.tif 000003
【図３】
0005951127.tif 000004
【図４】
0005951127.tif 000005
【図５】
0005951127.tif 000006
【図６】
0005951127.tif 000007
【図７】
0005951127.tif 000008
【図８】
0005951127.tif 000009
【図９】
0005951127.tif 000010
【図１０】
0005951127.tif 000011
【図１１】
0005951127.tif 000012
【図１２】
0005951127.tif 000013
【図１３】
0005951127.tif 000014
【図１４】
0005951127.tif 000015
【図１５】
0005951127.tif 000016
【図１６】
0005951127.tif 000017