(57)【特許請求の範囲】
【請求項１】
プログラムによりデバイスを制御する制御機器において、
自制御機器に接続されるデバイスを制御する手順を定めたプログラムと上記プログラムのプログラム変数とを含むと共に、自制御機器に接続されるデバイスを識別する識別子と自制御機器に接続されるデバイスの種類とを示すデバイス接続情報を含んだ振舞情報を記憶する振舞情報保持部と、
上記振舞情報保持部に記憶される振舞情報に含まれるプログラムの属性情報と上記振舞情報に含まれるプログラム変数の属性情報と上記振舞情報に含まれるデバイス接続情報の属性情報とを属性として記憶する属性保持部であって、上記振舞情報保持部に記憶される振舞情報に含まれるプログラムの属性情報として当該プログラムを識別する識別子と、プログラムとプログラム変数とデバイス接続情報とを区別する種別のうちプログラムを表す種別と、当該プログラムの動作条件とを記憶し、上記振舞情報に含まれるプログラム変数の属性情報として当該プログラム変数を識別する識別子と、プログラムとプログラム変数とデバイス接続情報とを区別する種別のうちプログラム変数を表す種別と、当該プログラム変数の動作条件とを記憶し、上記振舞情報に含まれるデバイス接続情報の属性情報として当該デバイス接続情報を識別する識別子と、プログラムとプログラム変数とデバイス接続情報とを区別する種別のうちデバイス接続情報を表す種別と、自制御機器のデバイス一覧とを記憶し、当該プログラムの動作条件として自制御機器と他の制御機器とのうちいずれかの制御機器を第１の制御機器として識別すると共に上記第１の制御機器が接続しておくデバイスの識別子と当該デバイスの種類とを示す第１のデバイス接続情報であって上記第１の制御機器が記憶しておく第１のデバイス接続情報を識別する第１のデバイス条件識別子と、自制御機器と他の制御機器とのうちいずれかの制御機器を第２の制御機器として識別すると共に上記第２の制御機器が記憶しておく第１のプログラムを識別する第１のプログラム条件識別子と、自制御機器と他の制御機器とのうちいずれかの制御機器を第３の制御機器として識別すると共に上記第３の制御機器が記憶しておく第１のプログラム変数を識別する第１のプログラム変数条件識別子とを記憶し、当該プログラム変数の動作条件として自制御機器と他の制御機器とのうちいずれかの制御機器を第４の制御機器として識別すると共に上記第４の制御機器が接続しておくデバイスの識別子と当該デバイスの種類とを示す第２のデバイス接続情報であって上記第４の制御機器が記憶しておく第２のデバイス接続情報を識別する第２のデバイス条件識別子と、自制御機器と他の制御機器とのうちいずれかの制御機器を第５の制御機器として識別すると共に上記第５の制御機器が記憶しておく第２のプログラムを識別する第２のプログラム条件識別子と、自制御機器と他の制御機器とのうちいずれかの制御機器を第６の制御機器として識別すると共に上記第６の制御機器が記憶しておく第２のプログラム変数を識別する第２のプログラム変数識別子とを記憶し、自制御機器のデバイス一覧として自制御機器に接続されるデバイスのデバイス名を記憶する属性保持部と、
自制御装置に接続されているデバイスの動作状態を調べるデバイス確認部と、
上記属性保持部に記憶された属性を設定端末に送信し、かつ上記デバイス確認部により得られた情報であって自制御装置に接続されているデバイスの動作状態の情報を上記設定端末に送信し、送信した属性と送信したデバイスの動作状態の情報とに適応するように更新された振舞情報と更新された属性とを上記設定端末から受取り、受取った振舞情報を上記振舞情報保持部に記憶し、受取った属性を上記属性保持部に記憶する振舞情報入手部と、
上記属性保持部に記憶された属性に含まれる第１のデバイス条件識別子によって識別される第１のデバイス接続情報が第１の制御機器に記憶され、上記属性保持部に記憶された属性に含まれる第１のプログラム条件識別子によって識別される第１のプログラムが第２の制御機器に記憶され、上記属性保持部に記憶された属性に含まれる第１のプログラム変数条件識別子によって識別される第１のプログラム変数が第３の制御機器に記憶され、上記属性保持部に記憶された属性に含まれる第２のデバイス条件識別子によって識別される第２のデバイス接続情報が第４の制御機器に記憶され、上記属性保持部に記憶された属性に含まれる第２のプログラム条件識別子によって識別される第２のプログラムが第５の制御機器に記憶され、上記属性保持部に記憶された属性に含まれる第２のプログラム変数条件識別子によって識別される第３のプログラム変数が第６の制御機器に記憶されている場合に、上記振舞情報保持部に記憶された振舞情報に含まれるプログラム変数を上記振舞情報保持部に記憶された振舞情報に含まれるプログラムに設定し、上記プログラム変数を設定した上記プログラムを実行して上記振舞情報保持部に記憶された振舞情報に含まれるデバイス接続情報によって識別されるデバイスを制御する制御部と
を備えることを特徴とする制御機器。
【請求項２】
設定端末からのプログラムの更新指示またはプログラム配布の内容を解析し、所定の制御機器に該更新指示またはプログラム配布を振分ける振分部を備えたことを特徴とする請求項１記載の制御機器。
【請求項３】
プログラムの更新タイミングを得る入手契機部を備えて、振舞情報入手部は、上記得られた更新タイミングで上記プログラムの更新要求を行うことを特徴とする請求項１記載の制御機器。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、主として分散配置された複数のプログラマブル・ロジック・コントローラ等による制御装置に対して誤りなく、容易にプログラムやパラメータを配布する装置、システムに関するものである。
【背景技術】
【０００２】
ＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ：プログラマブル・ロジック・コントローラ）は、産業分野等で用いられている制御装置である。こうした制御装置は、センサやスイッチといった入力装置から信号の入力を得て、定められた演算を行い、モータやアクチュエータといった出力装置へ演算結果に基づいた制御信号を出力するといった機能を持っている。
またシステムとして、これらのＰＬＣは、入力装置や出力装置といった制御装置（ＰＬＣ）から見た被制御装置と、無線ネットワークまたはワイヤで接続される。
ＰＬＣは、開発・設定端末によって外部から設定されたプログラムと設定情報に基づいて、被制御装置を制御する。
産業分野等で用いられている制御機器には、ＰＬＣのほかにも、表示器やモータ制御装置など、開発・設定端末によって外部から設定されたプログラムと設定情報に基づいて動作するものがある。
【０００３】
制御システムの大規模化等に伴い、そういった複数の機器がネットワーク化され、一つの制御システムを構成するといった例が増えている。この場合、複数の機器がネットワーク化されて、相互に接続されているにも関わらず、開発・設定端末を個々の機器に直接接続して、プログラムの設定・更新や、設定情報の設定・更新を行なっていた。
このような状況を改善する手段として、例えば特許文献１の開発支援装置では、プログラム名と転送先機器の識別番号を対応させたリンクテーブルを持つことで対応付けを行ない、ネットワーク経由でプログラムを転送する方法が開示されている。
また、特許文献２の開発支援装置では、特許文献１と同様にプログラム名と転送先機器の識別番号を対応させたリンクテーブルを持つ他に、プログラム内にノード識別番号を埋め込む方法が開示されている。
【特許文献１】特開２００４−１３９６０９号公報
【特許文献２】特開平８−１９０４８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記のような従来技術には、次のような課題がある。
プログラム名と転送先とをリンクさせてプログラムを送付するだけでは、転送先の被制御装置の状態が不明であり、必ずしも制御機器側で動作するプログラムが得られるかは定かでない、という課題がある。
また、プログラムだけが転送の対象であり、設定情報を同時に転送することが出来ない。
プログラムにノードの識別番号を埋め込むと、ノードの識別子が変更となった場合、それまでとは異なるノードにプログラムを送る必要がある場合等で、プログラムを編集するためのプログラムエディタが必要となる課題がある。
プログラム転送の際には、必ず転送用のツールが必要となる課題もある。
【０００５】
本発明は上記の課題を解決するためになされたもので、各ＰＬＣがプログラムやパラメータリストといったＰＬＣが制御動作を行なうために必要となるプログラム変数である設定情報を外部のストレージから正しく容易に取得できることを目的とする。
【課題を解決するための手段】
【０００６】
この発明における制御機器は、プログラムにより被制御装置を制御する制御機器において、
接続されている上記被制御装置の動作状態を調べるデバイス確認部と、
現在記憶保持している上記被制御装置とこの被制御装置に対応する上記プログラムの属性を設定端末に送信し、かつ上記デバイス確認部により得られる上記被制御装置の動作状態の情報を上記設定端末に送信し、上記設定端末から適応する更新されたプログラムを受取る振舞情報入手部と、を備える。
【発明の効果】
【０００７】
この発明によれば、プログラムのみならずプログラム変数等の設定情報を、各ＰＬＣに特殊なツールを用いずに設定できるだけでなく、制御機器が現に正常に制御可能な状態を把握して属性を設定するので、正しいプログラム等の振舞情報を容易に得られる効果がある。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
プログラム・エディタ等を必要とせず、正しいプログラムやパラメータ等を必要なＰＬＣに送付する装置、システムを説明する。
図１は、この発明の実施の形態１におけるシステム構成を示す図である。制御機器１ａ、１ｂ、１ｃと、プログラミングや制御機器のパラメータ設定を行なうための開発・設定端末２は、ネットワーク３を介して接続されている。また入力装置や出力装置等の、制御機器１から見た被制御装置４ａ、４ｂ、４ｃが他のネットワークまたはワイヤで制御機器（ＰＬＣ）に接続されている。
図２は、制御機器１ａと開発・設定端末２の詳細構成を示す図である。図において制御機器１ｂ、１ｃは、制御機器１ａと同様の構成をとる。
制御機器１ａは、動作に必要なプログラムとプログラム変数や接続されるデバイス（被制御装置）の名・プログラム等との対応といった設定情報を含む振舞情報を保持するための振舞情報保持部１０１ａ、振舞情報の属性を保持するための属性保持部１０２ａを持つ。また、ネットワーク３と接続するためのネットワークＩ／Ｆ（インタフェース）１０３ａを持つ。さらに、属性保持部１０２ａに保持されている振舞情報の属性を変更するための属性変更部１０４ａと、振舞情報保持部１０１ａに保持する振舞情報を入手するための振舞情報入手部１０５ａを持っている。更に制御機器１ａがワイヤまたはネットワークで接続して入出力を行う入力装置と出力装置の内容を確認するデバイス確認部１０６ａを持つ。更に、入力装置であるセンサやスイッチからの各種情報を受取る入力部１０７ａと、逆に出力装置であるモータやアクチュエータ等を制御する出力部１０８ａと、上記のデバイス確認部１０６ａ等の構成要素を制御するプロセッサを含む制御部１００ａと、データを一時記憶するメモリ１０９ａとを持つ。
【０００９】
開発・設定端末２は、制御機器が持つ振舞情報属性を設定するための属性設定部２０１と、制御機器が持つ振舞情報の更新を指示するための振舞情報更新指示部２０２を持つ。また、ネットワーク３と接続するためのネットワークＩ／Ｆ２０３と、制御機器の振舞情報を蓄積するための振舞情報蓄積部２０４を持つ。振舞情報蓄積部は、必ずしも開発・設定端末２が持つ必要はなく、例えば、任意の制御機器１、あるいはネットワーク３に接続された専用のストレージ、あるいは制御機器１に接続された外部ストレージが振舞情報蓄積部２０４を持つような構成をとってもよい。ここでは、開発・設定端末２が、振舞情報蓄積部を持つような構成について説明する。開発・設定端末２にも、振舞情報蓄積部２０４のプログラムやプログラム変数をロードしたり、変更したりするマウスやキーボード等の入力部２０６と、これらの結果を監視する画面表示部を持つ出力部２０７と、属性設定部等の構成要素を制御するプロセッサを含む制御部２００と、がある。なお、属性設定部２０１や、制御機器１における属性変更部１０４等の構成要素を、プログラムでＣＤに記述して上記のメモリ１０９ａ、または図示しない不揮発メモリ等に展開し、このプログラムを制御部２００や制御部１００が読みとって実行する構成としてもよい。このようにすると、制御機器の、以下のシーケンスで説明する機能を変更することが容易になる。また、入力部２０６と出力部２０７を備えることで、プログラムの変更や、設定情報の変更が容易になる。
【００１０】
図３は、振舞情報蓄積部２０４及び対応する制御機器の振舞情報保持部１０１で記憶される振舞情報の構成を説明する図である。振舞情報は、ＰＬＣがどのように動作するかを定める情報であり、具体的には、制御機器が入力装置や出力装置である被制御装置を接続・制御するために必要な情報である。つまり、デバイスの識別子やデバイスの種類、接続形態、使用するメモリ領域等を指定する、デバイス接続情報を含んでいる。また制御機器が被制御装置を制御する手順を定めたプログラムも振舞情報の一つである。更にプログラムの挙動を決める変数であるプログラム変数も重要な振舞情報の一つである。プログラムや構成情報とプログラム変数の他にも、共通して使用される処理をまとめたライブラリや、人間が振舞の内容を理解するためのコメントなども、振舞情報として考えられる。また、プログラムとプログラム変数、その他ライブラリやコメントなどは、それぞれ１つ、あるいは複数持っていてもよい。プログラムが１つ、パラメータが０といった構成をとってもよい。
【００１１】
図４は、振舞情報のうちで他の重要なファクターである属性の一例を示す図である。属性は、振舞情報を構成する要素、つまりプログラム名、プログラム変数、デバイス接続情報名などを識別するための識別子と、要素がプログラムであるか、プログラム変数か、デバイス接続情報かを区別する種別、それらを入手すべき相手、例えば開発・設定端末から得るか、他の制御機器から得るか、後の実施の形態で説明する情報蓄積端末から得るか等の振舞情報の入手先と、そのプログラムやプログラム変数が動作するための動作条件等から構成される。振舞情報の入手先は、ネットワークに接続されている開発・設定端末や制御機器の識別子を用いる。また、振舞情報を構成する要素を識別するための識別子の一例は、プログラム名やプログラム変数名といった名称のほか、入手先、例えば開発・設定端末内で一意となる識別子を用いる。動作条件は、プログラムやプログラム変数が動作の前提としているデバイスのデバイス情報、動作に必要となる同一ＰＬＣ上か異なるＰＬＣ上のプログラム、動作に必要となる同一ＰＬＣ上か異なるＰＬＣ上のプログラム変数、を記載している。またデバイス一覧は、制御機器１に接続されている必要がある被制御装置としてのデバイス名を記述している。
動作条件は、プログラムやプログラム変数と関連付けられ、デバイス一覧は、デバイス接続情報と関連付けられる。
例えば、図４の属性が制御装置Ｎｏｄｅ１に関するものであるとすると、Ｐｒｏｇ１に関連付けられた動作条件は、制御装置Ｎｏｄｅ１上のプログラムＰｒｏｇ１の動作には、Ｎｏｄｅ１のデバイス接続情報Ｄｅｖ１、Ｎｏｄｅ２のプログラムＰｒｏｇ２、Ｎｏｄｅ１のプログラム変数Ｐａｒａｍ１が必要であることを示している。Ｎｏｄｅ１のデバイス接続情報Ｄｅｖ１が必要であるとは、Ｎｏｄｅ１のデバイス接続情報Ｄｅｖ１と関連付けられたデバイス一覧に記されている、タイプ１というデバイス種別、例えばセンサ、を持つデバイス１という名称のデバイスと、タイプ２というデバイス種別、例えばスイッチ、を持つデバイス２という名称のデバイスが制御装置Ｎｏｄｅ１に物理的に接続されており、例えばそれぞれのデバイスが使用するメモリ領域の定義等が記述されたＤｅｖ１で示されるデバイス接続情報がＮｏｄｅ１に置かれていることを意味する。Ｎｏｄｅ２のプログラムＰｒｏｇ２が必要であるとは、Ｎｏｄｅ２に、プログラムＰｒｏｇ２が置かれていることを意味する。Ｎｏｄｅ１のプログラム変数Ｐａｒａｍ１が必要であるとは、Ｎｏｄｅ１に、プログラム変数Ｐａｒａｍ１が置かれていることを意味する。
【００１２】
続いて、図４を用いて、制御装置Ｎｏｄｅ１に接続されているデバイスに異常が生じた場合の属性について説明する。
まず、タイプ１のデバイス種別を持つデバイス１のデバイス接続情報が識別子Ｄｅｖ１＿１のデバイス接続情報に、Ｄｅｖ１＿１を前提としたプログラムが識別子Ｐｒｏｇ１＿１のプログラムに、識別子Ｐｒｏｇ１＿１を持つプログラム用のプログラム変数が識別子Ｐａｒａｍ１＿１のプログラム変数に、それぞれ記述されているとする。図４に示すように制御装置Ｎｏｄｅ１の属性が構成されている状態で、制御装置Ｎｏｄｅ１に接続されているデバイスのうち、タイプ２のデバイス種別を持つデバイス２に異常が生じ、タイプ１のデバイス種別を持つデバイス１だけで運転する状態になったとする。この構成での属性では、デバイス一覧は、デバイス種別がタイプ１であり、デバイス名としてデバイス１を持つエントリーだけとなる。このデバイス一覧を持つデバイス接続情報はＤｅｖ１＿１に、プログラムはＰｒｏｇ１＿１に、プログラム変数はＰａｒａｍ１＿１にそれぞれ変更となる。また、Ｄｅｖ１＿１、Ｐｒｏｇ１＿１、Ｐａｒａｍ１＿１が置かれている場所に従って、それぞれの振舞情報入手先も更新される。さらに、Ｐｒｏｇ１＿１とＰａｒａｍ１＿１の動作条件も、Ｐｒｏｇ１とＰａｒａｍ１の動作条件からそれぞれ更新される。例えば、Ｐｒｏｇ１＿１の動作条件が、デバイス接続条件がＤｅｖ１＿１＠Ｎｏｄｅ１、プログラムがＰｒｏｇ２＿１＠Ｎｏｄｅ２、プログラム変数がＰａｒａｍ１＿１＠Ｎｏｄｅ１だとすると、動作条件の条件は、それぞれ図４で示すＤｅｖ１＠Ｎｏｄｅ１、Ｐｒｏｇ２＠Ｎｏｄｅ２、Ｐａｒａｍ１＠Ｎｏｄｅ１から更新される。
さらに、Ｎｏｄｅ１以外の制御装置においても、更新後のＮｏｄｅ１のプログラム、プログラム変数、デバイス接続情報を動作の前提とするプログラムとプログラム変数の識別子に更新される。これらの新しい属性通知は、制御装置からの最新のデバイス接続情報の報告に基づいて、開発・設定端末２から更新された属性が制御装置に送信される。
【００１３】
属性設定時における構成要素間の動作順序をも表す図５のシーケンス図に基づいて、振舞情報の属性を制御機器へ設定する際の処理を説明する。開発・設定端末２は、その属性設定部２０１により、制御機器１ａにその制御機器が持つべき属性をステップ５０１で送信する。制御機器１ａの属性変更部１０４ａは、自身に関するこの属性情報を受け取り、属性保持部１０２ａに５０２で設定する。図５では記載を省略しているが、ステップ５０１は、開発・設定端末２のネットワークＩ／Ｆ２０３と制御機器１ａのネットワークＩ／Ｆ１０３ａを介して行われる。
こうして図４に示される属性が、制御機器１ａの属性保持部１０２ａに記憶される。
設定指示は、属性保持部１０２ａが保持する全ての属性に関する場合のほか、部分的な属性に関する場合もある。また、設定のアクションであるが、既に属性保持部に保持されている振る舞い情報入手先を変更するための変更や、新たなパラメータ用の属性識別子、種別、振舞情報入手先を追加するといった追加の場合もあり、そのほかに削除といったアクションを指示する場合もある。
【００１４】
上記説明では、開発・設定端末２が最初の設定動作時に行うプログラム、プログラム変数やデバイス接続情報の配布動作を説明したが、図６のシーケンス図に基づいて、より一般的な更新動作について説明する。
図６（ａ）は、開発・設定端末２からの更新初期化の指示をきっかけに、開発・設定端末２が保持している最も適した振舞情報を各制御機器１が取得する場合の動作シーケンスの例を示している。
開発・設定端末２の振舞情報更新指示部２０２が振舞情報を更新する情報変更の指示を、各制御機器に出す（ステップ６０１ａ，６０１ｂ。以下、ステップの記述を省略する場合もある。）。これは図６には示していないが、開発・設定端末２のネットワークＩ／Ｆ２０３と制御機器のネットワークＩ／Ｆ１０３ａ，１０３ｂを介して行う。制御機器１ａの振舞情報入手部１０５ａは、開発・設定端末が出した上記の指示６０１ａを受け取ると、ステップ６０２ａで属性保持部１０２ａに属性識別子に基づいた振舞情報入手の更新取得指示を出す。属性保持部１０２ａが記憶している属性を６０３ａで返信する。この返信に基づいて振舞情報入手部１０５ａは、開発・設定端末２に対して更新すべき振舞情報を６０４ａで要求する。開発・設定端末２は、振舞情報蓄積部２０４を参照して、制御機器が必要とする振舞情報を知り、振舞情報入手部１０５ａに対して概要を６０５ａで送信する。この情報を受けた振舞情報入手部１０５ａは、更にデバイス確認部１０６ａにステップ６０６ａで被制御装置の接続と動作状態を聞く。デバイス確認部１０６ａは、別途用意した確認用のプログラム等で制御機器１に接続されている被制御装置が正常に動作可能かを順に調べる。これは図２の出力部１０８ａから確認用の動作をさせ、入力部１０７ａに期待する結果が得られるかで判断する。その調査結果に基づいてデバイス確認部１０６ａは応答６０７ａを返す。この応答を受取った振舞情報入手部１０５ａは、開発・設定端末２に向けてデバイス接続情報を６０８ａで送信する。開発・設定端末２の振舞情報更新指示部２０２は、これを受けて振舞情報蓄積部２０４を参照し、最適な振舞情報に更新してステップ６０９ａで制御機器１ａに６０９ａで送信する。これを受けて制御機器１ａ側では、振舞情報入手部１０５ａが振舞情報保持部１０１ａに６１０ａでその振舞情報を書込み、保持する。
【００１５】
上記説明では、制御機器１ａの振舞情報入手部１０５ａは、属性保持部１０２ａとデバイス確認部１０６ａに対して、それぞれ別のタイミングでステップ６０２ａと６０６ａを送信する例を説明した。しかし、これらのステップを同時に行い、両者の情報を併せてステップ６０４ａで開発・設定端末２に送信するようにしてもよい。
他の制御機器についても同様な更新処理が行われる。図６に示す制御機器１ｂの更新シーケンスは、制御機器１ａと同様に行われることを表している。図中の各シーケンスで、６０１ｂ等と記載したステップは、６０１ａ等と記載したステップと同等の動作であることを表しているので、その詳細記述は省略する。
更に図６で示されるシーケンスでは、図４に示される動作条件を相互に確認するステップも含まれており、その動作条件の確認により制御機器が確実に被制御装置を制御することができる。
即ち、属性保持部１０２ａが持つ図４の情報を振舞情報入手部１０５ａから６０２ａで聞かれて、図４のプログラム変数が制御機器１ｂ（Ｎｏｄｅ２）のパラメータ２を適用することであるとステップ６０３ａで返すと、制御機器１ａは、ステップ６１２ａで制御機器１ｂ（Ｎｏｄｅ２）に問合せを行う。その回答６１３ａを得て、合致していると肯定応答を開発・設定端末２に６１４ａで返して動作可能状態となる。
これは制御機器１ｂについても同様であり、問合せ６１２ｂを行って、期待通りのプログラムまたはプログラム変数であれば、６１４ｂの肯定応答で、準備は完了する。
また上記では、肯定応答で動作可能状態となる場合を示したが、何らかの理由で期待値が得られない場合は、６１４ａ等がエラー等を含む否定応答となる。この場合には、次の実施の形態で説明する機能を用いれば、縮退運転を開始することが可能である。
【００１６】
図６（ｂ）は、開発・設定端末２の振舞情報更新指示部２０２と、制御機器１の振舞情報入手部１０５とが行う代表的な動作を示すフロー図である。図中のステップ６０１等は、図６（ａ）の同じ番号のステップに対応している。
振舞情報更新指示部２０２は、ステップ６０１は必須ステップではないが、開発・設定端末２が主体となる場合は、このステップから始る。このステップ６０１で各制御機器１に対して振舞情報の更新を指示する。ステップ６０８で、各制御機器１から、それぞれの制御機器が持つデバイス接続情報等の図４に記載の属性を収集する。また現在接続されているデバイスの動作状態の情報も収集する。これらの収集した情報に基づいて振舞情報蓄積部２０４に記憶している情報群の中からステップ６０９で最適なプログラムとプログラム変数を各制御機器１毎に選択する。そして選択したこれらの情報を、ステップ６０９’（図６（ａ）では６０９ａ等）で対応する制御機器に送信する。
一方、振舞情報入手部１０５は、自身がトリガとなる場合はステップ９０３で、振舞情報の更新要求を開発・設定端末２に送信する。ステップ６０４で自身の現在の属性情報を開発・設定端末に送信する。６０８では自身の制御機器に接続される被制御装置の最新のデバイス状態を開発・設定端末に送信する。そして６１０で開発・設定端末から更新された振舞情報を振舞情報保持部１０１に記憶する。
このように構成することによって、制御機器が制御動作をする際に必要なプログラムやプログラム変数といった振舞情報を複数の制御機器に素直に転送することが可能になり、受取った制御機器側でも、単に振舞情報保持部１０１でプログラムやプログラム変数を保持するだけで接続される出力装置を容易に制御できる。また開発・設定端末２からの更新指示に代わって、制御機器側から更新を要求し、振舞情報を主体的に取得する動作も可能であり、システム内の任意の場所に振舞情報を蓄えておくことができて、振舞情報の管理において利便性が向上する。
【００１７】
実施の形態２．
この実施の形態では、振舞情報蓄積部等のシステム共通情報を開発・設定端末とは別にまとめた装置として設けるシステムを説明する。また、併せてデバイスのセルフチェックによる異常通知や、制御機器とデバイス間の通信異常が規定値以上に増加した場合など、正常な制御が不可能になる場合でも対処する動作を説明する。
図７は、本実施の形態におけるシステム構成の概念を示す図である。図で判るように、先の実施の形態と比較すると、制御機器側は変わりがないが、開発・設定端末２Ｂから振舞情報蓄積部が情報蓄積端末５に移る。
また図８は、開発・設定端末２Ｂと情報蓄積端末５の詳細構成を示す図である。
更に情報蓄積端末５に属性蓄積部５０５を備えた構成としている。
【００１８】
この構成による基本動作は、実施の形態１、図５と図６の動作と同様である。ただし、開発・設定端末２Ｂが参照する振舞情報蓄積部２０４が内部に無くなり、情報蓄積端末５の、ネットワークＩ／Ｆ５０３を介してプロセッサを含む制御部５００に振舞情報蓄積部５０４の内容を問合せる動作になる。
【００１９】
次に、正常な制御が不可能になった場合に、プログラムやプログラム変数を変更、更新して縮退運転を行う動作を図９のシーケンス図を用いて説明する。
制御機器１ａにおいて接続している被制御装置４のどれかにデバイス異常が発生したとする。制御機器１ａのデバイス確認部１０６ａはこれを検出して、振舞情報入手部１０５ａに縮退運転が必要なことをステップ９０１ａで通知する。更に属性変更部１０４ａに９０２ａで伝えられ、そこから開発・設定端末２Ｂの振舞情報更新指示部２０２に９０３ａで伝送される。
振舞情報更新指示部２０２は、属性蓄積部５０５に制御機器１ａがデバイス異常で縮退運転する場合に合致する属性を９０４ａで問合せる。詳しくは情報蓄積端末５の制御部５００に属性蓄積部５０５の内容を問合せるのだが、以下の説明では属性蓄積部５０５や振舞情報蓄積部５０４に問合せる動作で説明する。属性蓄積部５０５は、縮退運転に対応する新しい属性情報を９０５ａで回答する。振舞情報更新指示部２０２は、この属性情報に基づいて制御機器１ａの属性変更部１０４ａに制御機器１ａの属性情報を９０６ａで送り、これにより属性保持部１０２ａは新しい縮退運転の属性を９０７ａで保持する。
同時に新しい属性に基づいて新しいプログラムに更新する必要があり、属性変更部１０４ａから振舞情報入手部１０５ａに指示が９０８ａで行き、振舞情報入手部１０５ａは振舞情報更新指示部２０２に新しいプログラムとプログラム変数の入手依頼を９１０ａで送信する。振舞情報更新指示部２０２は振舞情報蓄積部５０４に新しいプログラムとプログラム変数を９１１ａで問合せて、最適なプログラムとプログラム変数を９１２ａで得る。これを制御機器１ａに９１３ａで転送し、振舞情報入手部１０５ａは、これを振舞情報保持部１０１ａに９１４ａで記憶する。関連する制御機器１ｂの状態を９１６ａで確認し、正常応答９１７ａを得て、準備が完了する。
【００２０】
一方、振舞情報更新指示部２０２は、制御機器１ａから属性変更の依頼となる９０３ａの通知を受けると、その属性情報に記載されているプログラムとプログラム変数の動作条件に指定されているプログラムとプログラム変数の属性更新の指示を記載されているノード、つまりこの場合、関連する制御機器１ｂに９０１ｂで出す。制御機器１ｂでは、９０２ｂで属性を変更する。
制御機器１ａの振舞情報入手部１０５ａから制御機器１ａの属性の動作条件に指定されているプログラムとプログラム変数の更新要求を振舞情報更新指示部２０２に９０３ｂで出す。これを受けて、制御機器１ｂにプログラムとプログラム変数の更新指示が９０４ｂで行き、制御機器１ｂは新しい振舞情報の更新要求を９０５ｂで行う。この更新要求で得られたプログラムとプログラム変数が９０６ｂ、９０７ｂで更新、記憶される。確認問い合わせ９１０ｂに対する肯定応答９１１ｂで準備が完了する。
以上の構成により、システム内の任意の場所に振舞情報と属性情報を蓄積、管理するので、集中管理ができて利便性が向上する。
【００２１】
実施の形態３．
開発・設定端末が特定の制御機器と密接に繋がり、その他の制御機器とはネットワーク３で接続するシステムを説明する。
図１０は、この実施の形態におけるシステム構成を示す図である。制御機器１ａと他の制御機器１ｂ，１ｃ等は、ネットワーク３を介して接続されている。一方、プログラミングや設定を行なうための開発・設定端末２Ｃは、一つの制御機器１ａと専用インタフェース６で接続されている。
図１１は、開発・設定端末２Ｃと、制御機器１ａの詳細構を示す図である。図１１において、他の制御機器１ｂ等は、図２における制御機器１ａと同様の構成である。また振舞情報蓄積部２０４は、必ずしも開発・設定端末２Ｃ内になくてもよいことは、実施の形態１と同様である。図において、制御機器１ａの構成は、開発・設定端末２Ｃと接続するための開発・設定端末Ｉ／Ｆ１１０ａと、処理を振り分ける振分部１１１ａを持つ以外は、図２の構成と同様である。
また開発・設定端末２Ｃは、ネットワークＩ／Ｆの代わりに制御機器１ａと接続するための制御機器接続Ｉ／Ｆ２０８を持つ以外は、図２の構成と同様である。
【００２２】
シーケンスを示す図１２により、振舞情報の属性を制御機器１へ設定する際の処理を説明する。
開発・設定端末２Ｃの属性設定部２０１は、図４に示すような振舞情報の属性を設定するよう、ステップ１２０１で制御機器１ａの振分部１１１ａに指示する。この指示は、制御機器接続Ｉ／Ｆ２０８と制御機器１ａの開発・設定端末Ｉ／Ｆ１１０ａとを経由して行われる。振分部１１１ａは、自身の制御機器への指示であれば、それを属性変更部１０４ａへ１２０２で渡す。属性変更部１０４ａは、受け取った指示により属性を属性保持部１０２ａに書き込む。
振分部１１１ａは、ネットワーク３に接続されている他の制御機器１ｂ，１ｃへの指示を、ネットワークＩ／Ｆ１０３ａを経由して、他の制御機器の属性変更部１０４ｂへ送信する。図では、制御機器１ｂへ指示する場合の処理を示している。属性変更部１０４ｂは、受け取った指示により属性を属性保持部１０２ｂに書き込む。
実施の形態１の場合と同じように、設定指示は、属性保持部が保持する全ての属性に関する場合のほか、部分的な属性に関する場合もある。また、設定のアクションは、振舞情報の変更や、新たな属性の追加や、削除等がある。
設定指示の宛先を振分ける方法として、先ず開発・設定端末２Ｃの属性設定部２０１が各属性に対する指示の宛先を記述し、制御機器１ａの振分部１１１ａが、指示の宛先を読取って、制御機器１ａ宛なら属性変更部１０４ａに、制御機器１ｂ，１ｃ宛ならネットワークＩ／Ｆ１０３ａに振分ける処理とする。
【００２３】
図１３は、開発・設定端末２Ｃからの指示をきっかけに、開発・設定端末２Ｃが保持している振舞情報を各制御機器が取得する場合の動作シーケンスの例を示した図である。
開発・設定端末２Ｃの振舞情報更新指示部２０２が情報変更の指示を制御機器接続Ｉ／Ｆ経由で制御機器１ａの振分部１１１ａにステップ１３０１で出すと、振分部１１１ａは、制御機器１ａ内部では振舞情報入手部１０５ａに１３０２で指示を出し、制御機器１ｂの振舞情報入手部１０５ｂにはネットワークＩ／Ｆを介して１３２１で指示を出す。他の制御機器１ｃへも、制御機器１ｂと同様な処理で指示が伝えられる。振舞情報入手部１０５ａは、属性保持部１０２ａを調べて属性識別子と振舞情報入手先を１３０３でたずね、得た１３０４により、取得したい振舞情報の属性識別子を振舞情報更新指示部２０２に１３０５で伝える。この例では、入手先は開発・設定端末２Ｃの振舞情報蓄積部２０４となっている。入手先の指定によっては、ネットワーク３に接続される情報蓄積端末５にある振舞情報蓄積部に伝える場合もある。振舞情報更新指示部２０２は、１３０６で振舞情報蓄積部２０４を参照して情報１３０７を得る。この指定された振舞情報を、制御機器１ａの振舞情報入手部１０５ａに１３０８で送る。振舞情報入手部１０５ａは、デバイス確認部１０６ａにデバイスの状態を１３０９で聞く。その応答１３１０に基づいて振舞情報更新指示部２０２にデバイス状態を１３１１で知らせて、振舞情報更新指示部２０２から最終的な振舞情報を１３１４で得て、この振舞情報を振舞情報保持部１０１ａに１３１５で書き込む。
【００２４】
また振分部１１１ａから１３１２で更新指示を受けた制御機器１ｂの振舞情報入手部１０５ｂは、属性保持部１０２ｂを１３２２で参照して、属性識別子と振舞情報入手先の情報を１３２３で得る。そして上記の制御機器１ａの場合と同様に、更新すべき振舞情報を開発・設定端末２Ｃの振舞情報更新指示部２０２に通知し、振舞情報蓄積部２０４を参照した結果で得られる振舞情報を得て、振舞情報保持部１０１ｂに１３３４で書き込む。
最後に相互確認をするステップ１３３５ないし１３３８を終えて、準備が完了する。
ネットワーク３に接続されている他の制御機器１ｃへも、必要があれば制御機器１ｂと同様な手順で処理が行われる。
このように構成すると、制御機器が制御動作をする際に必要なプログラムやプログラム変数といった振舞情報を開発・設定端末からではなくて、制御機器１ａから複数の制御機器に転送することが可能になる。即ち開発・設定端末の負荷が軽くなる。また、制御機器が振舞情報取得するように動作するので、システム内の任意の場所に振舞情報を蓄えておくことができ、振舞情報の管理の利便性が向上する。
【００２５】
実施の形態４．
実施の形態１ないし３では、振舞情報を更新する処理の開始は、代表的には開発・設定端末２の振舞情報更新指示部２０２が指示を開始するとしていた。本実施の形態では、制御機器により振舞情報取得処理が開始される場合の形態を説明する。
図１４は、本実施の形態における振舞情報の属性例を示す図である。図４で示した属性に加え、振舞情報の入手タイミングの項目欄を持っている。この入手タイミングの一例として、実施の形態２では制御機器に接続しているデバイスの不調等、異常発生時を契機としていた。これも更新タイミングの一つであるが、ここでは別の更新タイミングとして、制御機器の起動時、定刻、一定間隔、開発・設定端末による指示があった時、などを想定し、これらを指定してその指定タイミングになると、更新を行うようにする。
図１５は、制御機器１ａの詳細構成を示す図である。その他の機器、開発・設定端末は、図２と同じ構成であり、従ってシステム構成は図１と同様である。しかし、その他のシステム構成も、もちろん可能であり、実施の形態２や３と同様のシステムも構成できる。その場合は、それぞれのシステムに必要な構成要素を含むものとする。また制御機器１ｂ，１ｃは、制御機器１ａと同様の構成をとる。
図１５の構成は図２で示した各構成要素に加えて、入手契機部１１２ａを持つ。振舞情報蓄積部２０４は、開発・設定端末２に設けることに代えて、別に設けてもよい。
【００２６】
シーケンス図である図１６によって、振舞情報の属性を制御機器へ設定する処理を説明する。
開発・設定端末２の属性設定部２０１は、制御機器１ａの属性変更部１０４ａに図１４で示す属性を設定するため、ネットワーク３経由で設定指示をステップ１６０１で送信する。設定指示を受け取った属性変更部１０４ａは、受け取った指示を基に属性を属性保持部１０２ａに１６０２で書き込む。続いて属性変更部１０４ａは、入手契機部１１２ａに対して属性保持部１０２ａに保持されている属性が更新されたことを１６０３で伝える。入手契機部１１２ａは、属性保持部１０２ａから入手タイミングの情報を１６０４で取得する。以後、この指定されたタイミングで以下の振舞情報に関する変更、追加、削除等の更新を行う。この更新は、全面更新であったり、部分更新であったりする。
【００２７】
図１７は、制御機器が振舞情報を更新、取得する際の処理を示すシーケンス図である。先ず、例えば制御機器１ａの入手契機部１１２ａが、図１４に示された属性の入手タイミングとして指定されている事象が発生すると、振舞情報入手部１０５ａに対して振舞情報変更の指示をステップ１７０１ａで出す。振舞情報入手部１０５ａは、この指示を受け取ると、属性保持部１０２ａを１７０２ａで参照して、属性識別子と振舞情報入手先の情報を１７０３ａで得る。振舞情報入手部１０５ａは、得られた振舞情報入手先の振舞情報蓄積部に対し、取得したい振舞情報の属性識別子を１７０４ａで伝える。ここでの入手先は、開発・設定端末２の振舞情報蓄積部２０４とする。開発・設定端末２の振舞情報更新指示部２０２がこの入手要求を受け取って、１７０５で振舞情報蓄積部２０４の情報を得る。そして指定された振舞情報を制御機器１ａの振舞情報入手部１０５ａに１７０６ａで送る。振舞情報入手部１０５ａはデバイス確認部１０６ａにデバイス状態を１７０７ａで聞き、結果を１７０８ａで得る。このデバイス状態を開発・設定端末２の振舞情報更新指示部２０２に１７０９ａで送る。振舞情報更新指示部２０２は振舞情報蓄積部２０４を１７１０で参照して、最適な振舞情報を振舞情報入手部１０５ａに１７１１ａで送る。振舞情報入手部１０５ａは、この受取った振舞情報を振舞情報保持部１０１ａに１７１２で書き込む。
【００２８】
先の各実施の形態で説明したように、振舞情報蓄積部は、開発・設定端末２以外に置かれている構成や、開発・設定端末２が制御機器１ａに接続される構成でも、振舞情報蓄積部への経路が異なるだけで、同様の手順で振舞情報の入手が行われる。また、制御機器１ａ以外の制御機器でも、それぞれの入手契機部によって変更指示が与えられ、同様に処理が行われる。
上記の構成によっても、個別の制御機器が正常動作するデバイスに適応した、必要とするプログラムやプログラム変数等の振舞情報を、特別なツール無しに容易に複数の制御機器に転送することが可能になる。また、制御機器が任意のタイミングで振舞情報を取得するので、振舞情報の管理の利便性が向上する。
また、設定情報等を入手するタイミングをＰＬＣに設定するので、転送用ツールによらず、任意のタイミングでプログラムや設定情報をＰＬＣに転送することができる効果がある。
【図面の簡単な説明】
【００２９】
【図１】この発明の実施の形態１におけるシステム構成を示す図である。
【図２】実施の形態１における制御機器と開発・設定端末の詳細構成を示す図である。
【図３】実施の形態１における振舞情報を示す図である。
【図４】実施の形態１における振舞情報の属性の例を説明する図である。
【図５】実施の形態１における属性設定時のシーケンスを示す図である。
【図６】実施の形態１における振舞情報更新時のシーケンスと、設定端末と制御機器との動作フローを示す図である。
【図７】実施の形態２におけるシステム構成を示す図である。
【図８】実施の形態２における制御機器と開発・設定端末の詳細構成を示す図である。
【図９】実施の形態２における振舞情報更新時のシーケンスを示す図である。
【図１０】この発明の実施の形態３におけるシステム構成を示す図である。
【図１１】実施の形態３における制御機器と開発・設定端末の詳細構成を示す図である。
【図１２】実施の形態３における属性設定時のシーケンスを示す図である。
【図１３】実施の形態３における振舞情報更新時のシーケンスを示す図である。
【図１４】実施の形態４における振舞情報の属性の例を示す図である。
【図１５】実施の形態４における制御機器の詳細構成を示す図である。
【図１６】実施の形態４における属性設定時のシーケンスを示す図である。
【図１７】実施の形態４における振舞情報更新時のシーケンスを示す図である。
【符号の説明】
【００３０】
１，１ａ，１ｂ，１ｃ  制御機器、２，２Ｂ，２Ｃ  開発・設定端末、３  ネットワーク、４ａ，４ｂ，４ｃ  被制御装置、５  情報蓄積端末、６  専用インタフェース、１００，１００ａ  制御部、１０１，１０１ａ  振舞情報保持部、１０２，１０２ａ  属性保持部、１０３，１０３ａ  ネットワークＩ／Ｆ、１０４，１０４ａ  属性変更部、１０５，１０５ａ  振舞情報入手部、１０６，１０６ａ  デバイス確認部、１０７ａ  入力部、１０８ａ  出力部、１０９ａ  メモリ、１１０ａ  開発・設定端末Ｉ／Ｆ、１１１ａ  振分部、１１２ａ  入手契機部、２００  制御部、２０１  属性設定部、２０２  振舞情報更新指示部、２０３  ネットワークＩ／Ｆ、２０４  振舞情報蓄積部、２０６  入力部、２０７  出力部、２０８  制御機器接続Ｉ／Ｆ、５００  制御部、５０３  ネットワークＩ／Ｆ、５０４  振舞情報蓄積部、５０５  属性蓄積部。
【図１】
0004533331.tif 000002
【図２】
0004533331.tif 000003
【図３】
0004533331.tif 000004
【図４】
0004533331.tif 000005
【図５】
0004533331.tif 000006
【図６】
0004533331.tif 000007
【図７】
0004533331.tif 000008
【図８】
0004533331.tif 000009
【図９】
0004533331.tif 000010
【図１０】
0004533331.tif 000011
【図１１】
0004533331.tif 000012
【図１２】
0004533331.tif 000013
【図１３】
0004533331.tif 000014
【図１４】
0004533331.tif 000015
【図１５】
0004533331.tif 000016
【図１６】
0004533331.tif 000017
【図１７】
0004533331.tif 000018