JP2009223403A - 制御システム、制御装置および制御方法 - Google Patents
制御システム、制御装置および制御方法 Download PDFInfo
- Publication number
- JP2009223403A JP2009223403A JP2008064431A JP2008064431A JP2009223403A JP 2009223403 A JP2009223403 A JP 2009223403A JP 2008064431 A JP2008064431 A JP 2008064431A JP 2008064431 A JP2008064431 A JP 2008064431A JP 2009223403 A JP2009223403 A JP 2009223403A
- Authority
- JP
- Japan
- Prior art keywords
- function
- unit
- channel
- identification information
- argument
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0421—Multiprocessor system
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25017—ASI actuator sensor interface, bus, network
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25232—DCS, distributed control system, decentralised control unit
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
Abstract
【解決手段】複数の外部センサからのセンサ値に基づいて、あらかじめ与えられた複数の関数を実行することにより複数のアクチュエータを制御する制御装置と、前記制御装置に対し実行するべき関数を提供する関数提供装置と、を備えた制御システムであって、前記関数提供装置は、複数の関数を含むプログラムの入力を受け付けるプログラム入力受付部と、関数の識別情報を複数記憶する識別情報記憶部と、前記識別情報記憶部を検索することにより、前記プログラム入力受付部に入力された前記プログラムに含まれる各前記関数のうち識別情報が記憶されていない関数を検出する関数検出部と、検出された関数の識別情報を前記識別情報記憶部に登録する識別情報登録部と、前記検出された関数を前記制御装置に提供する関数提供部と、を有する。
【選択図】図1
Description
複数の外部センサからのセンサ値に基づいて、あらかじめ与えられた複数の関数を実行することにより複数のアクチュエータを制御する制御装置と、前記制御装置に対し実行するべき関数を提供する関数提供装置と、を備えた制御システムであって、
(A)前記関数提供装置は、
複数の関数を含み、
各前記関数は、前記複数の外部センサと、前記複数の関数のうち前記関数と異なる他の関数と、のうち少なくとも1つを入力引数として指定し、
前記複数の関数のうちの少なくとも1つは、前記複数のアクチュエータのうちの少なくとも1つを出力引数として指定した
プログラムの入力を受け付けるプログラム入力受付部と、
関数の識別情報を複数記憶する識別情報記憶部と、
前記識別情報記憶部を検索することにより、前記プログラム入力受付部に入力された前記プログラムに含まれる各前記関数のうち前記識別情報記憶部にマッチする識別情報が記憶されていない関数を検出する関数検出部と、
検出された関数の識別情報を前記識別情報記憶部に登録する識別情報登録部と、
前記検出された関数を前記制御装置に提供する関数提供部と、を有し、
(B)前記制御装置は、
前記関数提供装置から、前記関数の提供を受け付ける関数受付部と、
前記関数受付部で受け付けた各関数を記憶保持する関数記憶保持部と、
前記関数記憶保持部で保持される各前記関数の各々について、前記関数の入力引数を受信し、前記関数を実行する関数実行部と、
前記複数の外部センサに対応する複数の第1チャネルを管理し、前記複数の外部センサから前記複数の第1チャネルを介して前記センサ値を受信し、各前記第1チャネルに対応して受信したセンサ値を、各前記第1チャネルに対して各々あらかじめ指定された関数の入力引数として前記関数実行部に送信する第1チャネル管理部と、
前記複数のアクチュエータに対応する複数の第2チャネルを管理し、各前記第2チャネルを介して受け取った値を各々対応する前記アクチュエータに送信する第2チャネル管理部と、
前記関数記憶保持部に保持される各関数のうち前記出力引数を含む関数について、前記出力引数の値を、前記出力引数に指定されたアクチュエータに対応する前記第2チャネルを指定して前記第2チャネル管理部に送信する出力引数送信処理部と、
前記関数受付部で受け付けた関数について、第3チャネルを生成する第3チャネル生成部と、
前記第3チャネル生成部により生成された複数の前記第3チャネルを管理し、各前記第3チャネルを介して受信した値を各前記第3チャネルに対して各々あらかじめ指定された関数の入力引数として前記関数実行部に送信する第3チャネル管理部と、
前記関数記憶保持部に保持される各前記関数の実行により得られた前記関数の出力値を各前記関数に対応する前記第3チャネルを指定して前記第3チャネル管理部に送信する関数出力送信処理部と、
前記関数受付部で受け付けた関数について、前記関数における入力引数に指定された前記外部センサまたは前記他の関数に対応する第1チャネルまたは第3チャネルを特定し、特定した第1チャネルまたは第3チャネルを介して受信された値を前記関数の入力引数として前記関数実行部に送信することを前記第1チャネル管理部または第3チャネル管理部に指示する送信指示部と、を有する
ことを特徴とする。
複数の外部センサからのセンサ値に基づいて、あらかじめ与えられた複数の関数を実行することにより複数のアクチュエータを制御する制御装置であって、
外部の関数提供装置から、
前記複数の外部センサと、1つ以上のある関数と、のうちの少なくとも1つを入力引数として指定した関数と、
前記複数の外部センサと、1つ以上のある関数と、のうちの少なくとも1つを入力引数として指定し、かつ、前記複数のアクチュエータのうちの少なくとも1つを出力引数として指定した関数と
の提供を受け付ける関数受付部と、
前記関数受付部で受け付けた各関数を記憶保持する関数記憶保持部と、
前記関数記憶保持部で保持される各前記関数の各々について、前記関数の入力引数を受信し、前記関数を実行する関数実行部と、
前記複数の外部センサに対応する複数の第1チャネルを管理し、前記複数の外部センサから前記複数の第1チャネルを介して前記センサ値を受信し、各前記第1チャネルに対応して受信したセンサ値を、各前記第1チャネルに対して各々あらかじめ指定された関数の入力引数として前記関数実行部に送信する第1チャネル管理部と、
前記複数のアクチュエータに対応する複数の第2チャネルを管理し、各前記第2チャネルを介して受け取った値を各々対応する前記アクチュエータに送信する第2チャネル管理部と、
前記関数記憶保持部に保持される各関数のうち前記出力引数を含む関数について、前記出力引数の値を、前記出力引数に指定されたアクチュエータに対応する前記第2チャネルを指定して前記第2チャネル管理部に送信する出力引数送信処理部と、
前記関数受付部で受け付けた関数について、第3チャネルを生成する第3チャネル生成部と、
前記第3チャネル生成部により生成された複数の前記第3チャネルを管理し、各前記第3チャネルを介して受信した値を各前記第3チャネルに対して各々あらかじめ指定された関数の入力引数として前記関数実行部に送信する第3チャネル管理部と、
前記関数記憶保持部に保持される各前記関数の実行により得られた前記関数の出力値を各前記関数に対応する前記第3チャネルを指定して前記第3チャネル管理部に送信する関数出力送信処理部と、
前記関数受付部で受け付けた関数について、前記関数における入力引数に指定された前記外部センサまたは前記ある関数に対応する第1チャネルまたは第3チャネルを特定し、特定した第1チャネルまたは第3チャネルを介して受信された値を前記関数の入力引数として前記関数実行部に送信することを前記第1チャネル管理部または第3チャネル管理部に指示する送信指示部と、
を備えたことを特徴とする。
複数の各外部センサからのセンサ値に基づいて、複数のアクチュエータを制御する制御方法であって、
複数の関数を含み、
各前記関数は、前記複数の外部センサと、前記複数の関数のうち前記関数と異なる他の関数と、のうち少なくとも1つを入力引数として指定し、
前記複数の関数のうちの少なくとも1つは、前記複数のアクチュエータのうちの少なくとも1つを出力引数として指定した
プログラムの入力を受け付けるプログラム入力受付ステップと、
関数の識別情報を複数記憶する識別情報記憶部を検索することにより、前記プログラム入力受付ステップに入力された前記プログラムに含まれる各前記関数のうち前記識別情報記憶部に識別情報が記憶されていない関数を検出する関数検出ステップと、
検出された関数の識別情報を前記識別情報記憶部に登録する関数登録ステップと、
前記関数検出ステップで検出された各関数を記憶保持する関数記憶保持ステップと、
前記関数記憶保持ステップで保持される各前記関数の各々について、前記関数の入力引数を受信し、前記関数を実行する関数実行ステップと、
前記複数の外部センサに対応する複数の第1チャネルを管理し、前記複数の外部センサから前記複数の第1チャネルを介して前記センサ値を受信し、各前記第1チャネルに対応して受信したセンサ値を、各前記第1チャネルに対して各々あらかじめ指定された関数の入力引数として前記関数実行ステップに送信する第1チャネル管理ステップと、
前記複数のアクチュエータに対応する複数の第2チャネルを管理し、各前記第2チャネルを介して受け取った値を各々対応する前記アクチュエータに送信する第2チャネル管理ステップと、
前記関数記憶保持ステップで保持される各関数のうち前記出力引数を含む関数について、前記出力引数の値を、前記出力引数に指定されたアクチュエータに対応する前記第2チャネルを指定して前記第2チャネル管理ステップに送信する出力引数送信処理ステップと、
前記関数検出ステップで検出された関数について、第3チャネルを生成する第3チャネル生成ステップと、
前記第3チャネル生成ステップにより生成された複数の前記第3チャネルを管理し、各前記第3チャネルを介して受信した値を各前記第3チャネルに対して各々あらかじめ指定された関数の入力引数として前記関数実行ステップに送信する第3チャネル管理ステップと、
前記関数記憶保持ステップに保持される各前記関数の実行により得られた前記関数の出力値を各前記関数に対応する前記第3チャネルを指定して前記第3チャネル管理ステップに送信する関数出力送信処理ステップと、
前記関数受付ステップで受け付けた関数について、前記関数における入力引数に指定された前記外部センサまたは前記他の関数に対応する第1チャネルまたは第3チャネルを特定し、特定した第1チャネルまたは第3チャネルを介した受信した値を前記関数の入力引数として前記関数実行ステップに送信するように前記第1チャネル管理ステップまたは第3チャネル管理ステップに指示する送信指示ステップと、
を備えたことを特徴とする。
・任意個のチャネル入力
・処理内容(種類)
・1つまたは複数のチャネル出力
(1)要求処理関数において引数が交換可能である部分のみを対象とする。
(2)交換可能な引数は、型により、例えば以下の順位でソートする。
− 定数
− チャネル
− 要求処理関数
なお、要求処理関数内の引数は、要求処理関数内で同様にソートする。
(3)個々の同一型同士では、その引数の文字列表現を特定のハッシュ関数(例えばSHA-1) にかけた時のハッシュ値で比較し、ハッシュ値の昇順または降順でソートする。
(MAX X Y)
(MAX Y X)
1.A〜F の平均値において、28 度を閾値として、それ以上のときは空調を作動させ(スイッチXをオンにし)、未満のときは空調を停止させる(スイッチXをオフにする)
2.A〜F の最大値において、80 度を閾値として、それ以上のときは警報機を作動させ、未満のときは警報機を停止させる。
プログラム1: (| (>= (AVERAGE A B C D E F) 28) X)
プログラム2: (| (>= (MAX A B C D E F) 80) Y)
プログラム1:(| (>= (STAT A B C D E F) .average 28) X)
プログラム2:(| (>= (STAT A B C D E F) .max 80) Y)
インデックス装置51は、要求処理アルゴリズム実行部204から指示された要求処理関数の文字列およびチャネル情報(要求処理関数の文字列と要求配置装置識別子との組)をインデックス表に登録する。この機能は、たとえば識別情報登録部の機能に相当する。インデックス装置51は、インデックス表の読み出しキャッシュを持ってもよい。
(1)要求処理関数の入力および出力となるチャネルそれぞれについて、あるチャネルを主として管轄するブローカ(マスタブローカ) の役割を果す要求処理装置(制御装置)、および個々のチャネルを既にサブスクライブしている要求処理装置(制御装置)が、それぞれわかるとする。これらの要求処理装置(制御装置)を、該当する要求処理関数を実行することができる要求処理関数実行環境の候補とする。なお、チャネル識別子と要求処理装置(制御装置)との対応関係は、インデックス装置(図8のチャネル情報を参照)や他の手段により管理する。
(2)要求処理関数実行環境の候補は、それぞれ要求処理装置(制御装置)の負荷(時間あたりの通信負荷および計算負荷) を含めた情報を定期的に要求配置装置の要求処理装置管理部203へ報告する。ここで、要求処理装置(制御装置)の負荷が、個々の要求処理装置(制御装置)に設定された上限閾値に達しているものは候補から外される。
(3)残された候補のうち、作用装置あるいは他の要求処理関数により、既にサブスクライブされているチャネルをできるだけ多く含む要求処理装置(制御装置)を選択する。これは、要求処理装置(制御装置)を超えるサブスクライブにより、要求処理装置(制御装置)間の通信コストが新規に発生することによる。
(4)以上の手続きで候補が残らなかった場合、要求処理装置(制御装置)全体でもっとも負荷が低いものを利用する。ただし、要求処理装置(制御装置)が全て過負荷状態となった場合は、要求処理関数の実体化を失敗として、ユーザと管理者に警告(資源過少) してもよい。
S1:実体化手続き(instantiate)を開始する。ユーザ装置から与えられたプログラムをf とする。たとえばプログラムとして(| (>= (STAT A B C D E F) .average 28) X)が与えられた場合、このプログラムをfとする。
S2:f をfsに退避させる。
S3:インデックス装置51にf の有無を問い合わせ、その結果がchに入力されて返される。インデックス装置51は問い合わせに係るfに対応づけられたチャネル情報が存在すればそれをchに入れて返し、存在しなければnil(空) をchに入れて返す。本ステップは、当該プログラムfの文字列を識別子として有するチャネル(第3チャネル)あるいは当該プログラムfを実行する関数が、すでに、いずれかの要求処理装置(制御装置)に存在するか否かを問い合わせていることと等価である。
S4:インデックス装置51から返されたchの内容 がnil かどうかを確認し、nil でなければステップS14に進み、本処理を終了する。なお終了の際、ユーザ装置に対し処理が正常に行われたことを示すメッセージを返すようにしてもよい。一方、インデックス装置51から返されたchの内容 がnilであるときは、f は実体化する必要があるため、ステップS5に進む。
S5:f に指定される引数は、実際には定数だったり、チャネルだったり、あるいは別の要求処理関数(プログラムの断片) だったりする。ここで、fの引数を順に評価するために、変数i を0 で初期化する。以下、引数は最初の引数から順に、第0 引数、第1 引数、とする。たとえば(| (>= (STAT A B C D E F) .average 28) X)の場合、第0引数は(>= (STAT A B C D E F) .average 28)、 第1引数はXである。引数の記述は、関数の型から判別できる。
S6:i 番目の引数の存在を検証し、もしi 番目の引数が存在しない、つまり全ての引数の評価が終わっていれば、ステップS12 に飛ぶ。一方、i 番目の引数が存在すればステップS7に進む。
S7:f の第i 引数をfi とする。たとえばf0= (>= (STAT A B C D E F) .average 28)とする。
S8:fi の型を判定し、要求処理関数(サブプログラム)であればステップS9 に進む。そうでなければ(すなわち定数またはチャネル識別子の場合など)ステップS11 に進む。f0= (>= (STAT A B C D E F) .average 28)の場合、これは要求処理関数であるので、ステップS9に進む。
S9:fi を引数として、実体化手続き(instantiate) を開始する。すなわち再帰的処理を行うべく、ステップS1から処理を開始する。結果として戻される(再帰処理のステップS14で戻される)、チャネル情報(fiの文字列と、要求処理装置(制御装置)識別子との組)をch_iに代入する。
S10:f に含まれる要求処理関数fiを、チャネル情報ch_iで置換する。
S11:i をインクリメントし、ステップS6 に戻る。
S12:全ての引数の評価が終了したので、f を実体化する要求処理装置(制御装置)を選択し、選択した要求処理装置(制御装置)に対してfの実体化要求を要求処理装置管理部203に送る。また、f の出力を受けるチャネルの情報(たとえばfの文字列そのものと、選択された要求処理装置(制御装置)の識別子との組)をch に代入する。
S13:インデックス装置51にfsの文字列と、fsの出力を受けるチャネルの情報ch(fsの文字列および、選択された要求処理装置(制御装置)の識別子との組)との対応を登録する。このようにして登録された後は、このfの実体化手続きが再度要求されたときは、ステップS3で、このfに対応づけられたチャネル情報chを返せばよい。なお、チャネル情報chに含まれるfsの文字列(後述する図8の右側のフィールドに含まれるfsの文字列)の登録は省略することも可能である。その場合、ステップS3でのインデックス装置51への問い合わせの際には、fの文字列と、識別子との組をチャネル情報chとして返す。
S14:本フローチャートのメイン処理で本ステップに至ったときは処理終了し、再帰処理で本ステップに至ったときは、呼び出し元にチャネル情報ch を返す。
(STAT A B C D E F)
(select (STAT A B C D E F) “average”)
(>= (select (STAT A B C D E F) “average”) 28)
(| (>= (select (STAT A B C D E F) “average”) 28) X)を含む。
まずステップS1で実体化手続き(instantiate)を 開始する。ユーザ装置から入力されたプログラムは(| (>= (STAT A B C D E F) .average 28) X)であり、これをf とする。このプログラムにはチャネルの装飾子があるため、前述したような変換を施し、(| (>= (select (STAT A B C D E F) “average”) 28) X)とする。
ステップS1で、f0をfとみなして、ステップS2で退避を行い、ステップS3でインデックス装置への問い合わせを行い、nil(空)を含むchが返されたとして(S4のYES)、ステップS5に進む。
ステップS1で、f0をfとみなして、ステップS2で退避を行い、ステップS3でインデックス装置への問い合わせを行い、nil(空)を含むchが返されたとして(S4のYES)、ステップS5に進む。
ステップS1で、f0をfとみなして、ステップS2で退避を行い、ステップS3でインデックス装置への問い合わせを行い、nil(空)を含むchが返されたとして(S4のYES)、ステップS5に進む。
ステップS10において、fにおける第0引数であるf0をch_0で置換し、iを1だけインクリメントし、ステップS6に戻る。
ステップS10において、f0をch_0で置換し、iを1だけインクリメントし、ステップS6に戻る。
ステップS10において、f0をch_0で置換し、iを1だけインクリメントし、ステップS6に戻る。
11c〜11d:作用装置(アクチュエータ)
21a〜21c:要求処理装置(制御装置)
31a〜31b:ユーザ装置
41:要求配置装置
51:インデックス装置(関数登録装置、識別情報記憶部、関数検出部、識別情報登録部)
101:Publish-Subscribeブローカ(第1チャネル管理部、第2チャネル管理部、第3チャネル管理部)
102:要求処理関数実行環境(関数受付部、関数保持部、関数実行部、出力引数送信処理部、第3チャネル生成部、関数出力送信処理部、送信指示部)
201:プログラム入力受付部
202:インデックス装置通信部
203:要求処理装置管理部(関数提供部)
204:要求配置アルゴリズム実行部(検査要求部、実行先選択部、符号化部、正規化部)
Claims (10)
- 複数の外部センサからのセンサ値に基づいて、あらかじめ与えられた複数の関数を実行することにより複数のアクチュエータを制御する制御装置と、前記制御装置に対し実行するべき関数を提供する関数提供装置と、を備えた制御システムであって、
(A)前記関数提供装置は、
複数の関数を含み、
各前記関数は、前記複数の外部センサと、前記複数の関数のうち前記関数と異なる他の関数と、のうち少なくとも1つを入力引数として指定し、
前記複数の関数のうちの少なくとも1つは、前記複数のアクチュエータのうちの少なくとも1つを出力引数として指定した
プログラムの入力を受け付けるプログラム入力受付部と、
関数の識別情報を複数記憶する識別情報記憶部と、
前記識別情報記憶部を検索することにより、前記プログラム入力受付部に入力された前記プログラムに含まれる各前記関数のうち前記識別情報記憶部にマッチする識別情報が記憶されていない関数を検出する関数検出部と、
検出された関数の識別情報を前記識別情報記憶部に登録する識別情報登録部と、
前記検出された関数を前記制御装置に提供する関数提供部と、を有し、
(B)前記制御装置は、
前記関数提供装置から、前記関数の提供を受け付ける関数受付部と、
前記関数受付部で受け付けた各関数を記憶保持する関数記憶保持部と、
前記関数記憶保持部で保持される各前記関数の各々について、前記関数の入力引数を受信し、前記関数を実行する関数実行部と、
前記複数の外部センサに対応する複数の第1チャネルを管理し、前記複数の外部センサから前記複数の第1チャネルを介して前記センサ値を受信し、各前記第1チャネルに対応して受信したセンサ値を、各前記第1チャネルに対して各々あらかじめ指定された関数の入力引数として前記関数実行部に送信する第1チャネル管理部と、
前記複数のアクチュエータに対応する複数の第2チャネルを管理し、各前記第2チャネルを介して受け取った値を各々対応する前記アクチュエータに送信する第2チャネル管理部と、
前記関数記憶保持部に保持される各関数のうち前記出力引数を含む関数について、前記出力引数の値を、前記出力引数に指定されたアクチュエータに対応する前記第2チャネルを指定して前記第2チャネル管理部に送信する出力引数送信処理部と、
前記関数受付部で受け付けた関数について、第3チャネルを生成する第3チャネル生成部と、
前記第3チャネル生成部により生成された複数の前記第3チャネルを管理し、各前記第3チャネルを介して受信した値を各前記第3チャネルに対して各々あらかじめ指定された関数の入力引数として前記関数実行部に送信する第3チャネル管理部と、
前記関数記憶保持部に保持される各前記関数の実行により得られた前記関数の出力値を各前記関数に対応する前記第3チャネルを指定して前記第3チャネル管理部に送信する関数出力送信処理部と、
前記関数受付部で受け付けた関数について、前記関数における入力引数に指定された前記外部センサまたは前記他の関数に対応する第1チャネルまたは第3チャネルを特定し、特定した第1チャネルまたは第3チャネルを介して受信された値を前記関数の入力引数として前記関数実行部に送信することを前記第1チャネル管理部または第3チャネル管理部に指示する送信指示部と、を有する
ことを特徴とする制御システム。 - 前記識別情報記憶部に記憶される各前記関数の識別情報は、各前記関数の文字列であり、
前記関数提供装置は、前記プログラムに含まれる前記関数の文字列を正規化する正規化部をさらに有し、
前記関数提供装置における前記関数検出部は、正規化された文字列に基づき前記識別情報記憶部を検索し、
前記関数提供装置における前記識別情報登録部は、前記正規化された文字列にマッチする文字列が記憶されていないとき、前記正規化された文字列を前記識別情報記憶部に登録し、
前記関数提供装置における前記関数提供部は、前記正規化された文字列からなる関数を前記制御装置に提供する、
ことを特徴とする請求項1に記載の制御システム。 - 前記識別情報記憶部に記憶される各前記関数の識別情報は、各前記関数の符号表現であり、
前記関数提供装置は、前記プログラムに含まれる前記関数を符号化して符号表現を得る符号化部をさらに有し、
前記関数提供装置における前記関数検出部は、前記プログラムに含まれる前記関数について得られた符号表現に基づき前記識別情報記憶部を検索し、
前記関数提供装置における前記識別情報登録部は、前記関数検出部により検出された関数について、前記関数の符号表現を前記識別情報記憶部に登録する、
ことを特徴とする請求項1または2に記載の制御システム。 - 複数の前記制御装置を備え、
前記関数提供装置は、前記検出された関数を実行するべき制御装置を選択する実行先選択部をさらに備え、
前記関数提供部は、前記検出された関数を前記実行先選択部により選択された制御装置に提供する
ことを特徴とする請求項1ないし3のいずれか一項に記載の制御システム。 - 複数の前記制御装置はネットワークを介して互いに接続され、
各前記制御装置は、異なる前記外部センサおよび異なる前記アクチュエータに接続され、
前記制御装置における前記出力引数送信処理部は、前記第2チャネルが他の前記制御装置に存在するとき、前記他の制御装置における前記第2チャネル管理部に前記送信を行い、
前記制御装置における前記第1チャネル管理部は、前記あらかじめ指定された関数が前記他の制御装置に存在するとき、前記他の制御装置における前記関数実行部に前記送信を行い、
前記制御装置における前記第3チャネル管理部は、前記あらかじめ指定された関数が前記他の制御装置に存在するとき、前記他の制御装置における前記関数実行部に前記送信を行い、
前記制御装置における前記送信指示部は、前記第1チャネルまたは第3チャネルが前記他の制御装置に存在するとき、前記他の制御装置における前記第1チャネル管理部または第3チャネル管理部に指示を行う
ことを特徴とする請求項4に記載の制御システム。 - 前記関数提供装置の前記実行先選択部は、前記検出された関数により指定される入力引数および出力引数に対応する前記第1チャネルおよび前記第3チャネルを、最も多くまたは閾値以上有する制御装置を選択することを特徴とする請求項4または5に記載の制御システム。
- 前記関数提供装置における前記実行先選択部は、前記複数の制御装置のうち最も低いまたは閾値以下の負荷をもつ制御装置を選択することを特徴とする請求項4ないし6のいずれか一項に記載の制御システム。
- 前記関数提供装置は、
前記プログラム入力受付部と、前記関数提供部とを含む要求配置装置と、
前記識別情報記憶部と、前記関数検出部と、前記識別情報登録部とを含むインデックス装置とからなり、
前記要求配置装置は、前記プログラムに含まれる各前記関数の識別情報が識別情報記憶部に登録されているか否かの検査を前記インデックス装置に対して要求し、前記インデックス装置から前記各関数が登録済みか否かを示す検査結果の通知を受ける検査要求部をさらに有し、
前記インデックス装置における前記関数検出部は、前記要求配置装置からの検査要求を受けて前記識別情報記憶部を検索し、前記検査結果を前記要求配置装置に通知する
ことを特徴とする請求項1ないし7のいずれか一項に記載の制御システム。 - 複数の外部センサからのセンサ値に基づいて、あらかじめ与えられた複数の関数を実行することにより複数のアクチュエータを制御する制御装置であって、
外部の関数提供装置から、
前記複数の外部センサと、1つ以上のある関数と、のうちの少なくとも1つを入力引数として指定した関数と、
前記複数の外部センサと、1つ以上のある関数と、のうちの少なくとも1つを入力引数として指定し、かつ、前記複数のアクチュエータのうちの少なくとも1つを出力引数として指定した関数と
の提供を受け付ける関数受付部と、
前記関数受付部で受け付けた各関数を記憶保持する関数記憶保持部と、
前記関数記憶保持部で保持される各前記関数の各々について、前記関数の入力引数を受信し、前記関数を実行する関数実行部と、
前記複数の外部センサに対応する複数の第1チャネルを管理し、前記複数の外部センサから前記複数の第1チャネルを介して前記センサ値を受信し、各前記第1チャネルに対応して受信したセンサ値を、各前記第1チャネルに対して各々あらかじめ指定された関数の入力引数として前記関数実行部に送信する第1チャネル管理部と、
前記複数のアクチュエータに対応する複数の第2チャネルを管理し、各前記第2チャネルを介して受け取った値を各々対応する前記アクチュエータに送信する第2チャネル管理部と、
前記関数記憶保持部に保持される各関数のうち前記出力引数を含む関数について、前記出力引数の値を、前記出力引数に指定されたアクチュエータに対応する前記第2チャネルを指定して前記第2チャネル管理部に送信する出力引数送信処理部と、
前記関数受付部で受け付けた関数について、第3チャネルを生成する第3チャネル生成部と、
前記第3チャネル生成部により生成された複数の前記第3チャネルを管理し、各前記第3チャネルを介して受信した値を各前記第3チャネルに対して各々あらかじめ指定された関数の入力引数として前記関数実行部に送信する第3チャネル管理部と、
前記関数記憶保持部に保持される各前記関数の実行により得られた前記関数の出力値を各前記関数に対応する前記第3チャネルを指定して前記第3チャネル管理部に送信する関数出力送信処理部と、
前記関数受付部で受け付けた関数について、前記関数における入力引数に指定された前記外部センサまたは前記ある関数に対応する第1チャネルまたは第3チャネルを特定し、特定した第1チャネルまたは第3チャネルを介して受信された値を前記関数の入力引数として前記関数実行部に送信することを前記第1チャネル管理部または第3チャネル管理部に指示する送信指示部と、
を備えた制御装置。 - 複数の各外部センサからのセンサ値に基づいて、複数のアクチュエータを制御する制御方法であって、
複数の関数を含み、
各前記関数は、前記複数の外部センサと、前記複数の関数のうち前記関数と異なる他の関数と、のうち少なくとも1つを入力引数として指定し、
前記複数の関数のうちの少なくとも1つは、前記複数のアクチュエータのうちの少なくとも1つを出力引数として指定した
プログラムの入力を受け付けるプログラム入力受付ステップと、
関数の識別情報を複数記憶する識別情報記憶部を検索することにより、前記プログラム入力受付ステップに入力された前記プログラムに含まれる各前記関数のうち前記識別情報記憶部に識別情報が記憶されていない関数を検出する関数検出ステップと、
検出された関数の識別情報を前記識別情報記憶部に登録する関数登録ステップと、
前記関数検出ステップで検出された各関数を記憶保持する関数記憶保持ステップと、
前記関数記憶保持ステップで保持される各前記関数の各々について、前記関数の入力引数を受信し、前記関数を実行する関数実行ステップと、
前記複数の外部センサに対応する複数の第1チャネルを管理し、前記複数の外部センサから前記複数の第1チャネルを介して前記センサ値を受信し、各前記第1チャネルに対応して受信したセンサ値を、各前記第1チャネルに対して各々あらかじめ指定された関数の入力引数として前記関数実行ステップに送信する第1チャネル管理ステップと、
前記複数のアクチュエータに対応する複数の第2チャネルを管理し、各前記第2チャネルを介して受け取った値を各々対応する前記アクチュエータに送信する第2チャネル管理ステップと、
前記関数記憶保持ステップで保持される各関数のうち前記出力引数を含む関数について、前記出力引数の値を、前記出力引数に指定されたアクチュエータに対応する前記第2チャネルを指定して前記第2チャネル管理ステップに送信する出力引数送信処理ステップと、
前記関数検出ステップで検出された関数について、第3チャネルを生成する第3チャネル生成ステップと、
前記第3チャネル生成ステップにより生成された複数の前記第3チャネルを管理し、各前記第3チャネルを介して受信した値を各前記第3チャネルに対して各々あらかじめ指定された関数の入力引数として前記関数実行ステップに送信する第3チャネル管理ステップと、
前記関数記憶保持ステップに保持される各前記関数の実行により得られた前記関数の出力値を各前記関数に対応する前記第3チャネルを指定して前記第3チャネル管理ステップに送信する関数出力送信処理ステップと、
前記関数受付ステップで受け付けた関数について、前記関数における入力引数に指定された前記外部センサまたは前記他の関数に対応する第1チャネルまたは第3チャネルを特定し、特定した第1チャネルまたは第3チャネルを介した受信した値を前記関数の入力引数として前記関数実行ステップに送信するように前記第1チャネル管理ステップまたは第3チャネル管理ステップに指示する送信指示ステップと、
を備えたことを特徴とする制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008064431A JP4919995B2 (ja) | 2008-03-13 | 2008-03-13 | 制御システム、制御装置および制御方法 |
US12/403,073 US8805557B2 (en) | 2008-03-13 | 2009-03-12 | Control system, control device, and control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008064431A JP4919995B2 (ja) | 2008-03-13 | 2008-03-13 | 制御システム、制御装置および制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009223403A true JP2009223403A (ja) | 2009-10-01 |
JP4919995B2 JP4919995B2 (ja) | 2012-04-18 |
Family
ID=41063911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008064431A Expired - Fee Related JP4919995B2 (ja) | 2008-03-13 | 2008-03-13 | 制御システム、制御装置および制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8805557B2 (ja) |
JP (1) | JP4919995B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015500520A (ja) * | 2011-11-18 | 2015-01-05 | トムソン ライセンシングThomson Licensing | エンドユーザデバイス、およびそれぞれのエンドユーザデバイスの遠隔管理のためのパブリッシュ/サブスクライブブローカを備えるシステム |
JP2016522946A (ja) * | 2013-05-20 | 2016-08-04 | パックサイズ,エルエルシー | ローカルまたは分散型コンピュータ・システムにおける柔軟なノード構成方法およびシステム |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102011107646A1 (de) * | 2011-07-12 | 2013-01-17 | Phoenix Contact Gmbh & Co. Kg | Verfahren und System zur dynamischen Verteilung von Programmfunktionen in verteilten Steuerungssystemen |
US9958860B2 (en) * | 2014-05-01 | 2018-05-01 | Rockwell Automation Technologies, Inc. | Systems and methods for broadcasting data and data tags associated with an industrial automation system |
US9817676B2 (en) * | 2015-06-23 | 2017-11-14 | Mcafee, Inc. | Cognitive protection of critical industrial solutions using IoT sensor fusion |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01183704A (ja) * | 1988-01-18 | 1989-07-21 | Fujitsu Ltd | ロボット制御方式 |
JP2002157231A (ja) * | 2000-09-07 | 2002-05-31 | Fujitsu Ltd | 仮想通信路および仮想通信路を制御するエージェント連携システムおよびエージェント連携方法 |
WO2007028690A1 (en) * | 2005-09-07 | 2007-03-15 | International Business Machines Corporation | Allocating resources in an autonomic sensor network ecosystem |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5978850A (en) * | 1997-07-02 | 1999-11-02 | National Instruments Corporation | System and method for accessing parameters in a fieldbus network using a tag parameters interface |
US6185581B1 (en) * | 1999-08-19 | 2001-02-06 | Sun Microsystems, Inc. | Train-algorithm-based garbage collector employing fixed-size remembered sets |
CA2441950A1 (en) * | 2001-04-27 | 2002-11-07 | International Business Machines Corporation | Method and apparatus for controlling processor operation speed |
WO2002091117A2 (en) * | 2001-05-04 | 2002-11-14 | Invensys Systems, Inc. | Process control loop analysis system |
JP2006344017A (ja) | 2005-06-09 | 2006-12-21 | Hitachi Ltd | センサネットワークシステム及びセンサネットワークのデータ処理方法 |
US7561930B2 (en) * | 2006-10-02 | 2009-07-14 | Fisher-Rosemount Systems, Inc. | Dynamic modifier function blocks for use in a process control system |
-
2008
- 2008-03-13 JP JP2008064431A patent/JP4919995B2/ja not_active Expired - Fee Related
-
2009
- 2009-03-12 US US12/403,073 patent/US8805557B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01183704A (ja) * | 1988-01-18 | 1989-07-21 | Fujitsu Ltd | ロボット制御方式 |
JP2002157231A (ja) * | 2000-09-07 | 2002-05-31 | Fujitsu Ltd | 仮想通信路および仮想通信路を制御するエージェント連携システムおよびエージェント連携方法 |
WO2007028690A1 (en) * | 2005-09-07 | 2007-03-15 | International Business Machines Corporation | Allocating resources in an autonomic sensor network ecosystem |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015500520A (ja) * | 2011-11-18 | 2015-01-05 | トムソン ライセンシングThomson Licensing | エンドユーザデバイス、およびそれぞれのエンドユーザデバイスの遠隔管理のためのパブリッシュ/サブスクライブブローカを備えるシステム |
JP2016522946A (ja) * | 2013-05-20 | 2016-08-04 | パックサイズ,エルエルシー | ローカルまたは分散型コンピュータ・システムにおける柔軟なノード構成方法およびシステム |
US10491687B2 (en) | 2013-05-20 | 2019-11-26 | Packsize Llc | Method and system for flexible node composition on local or distributed computer systems |
Also Published As
Publication number | Publication date |
---|---|
JP4919995B2 (ja) | 2012-04-18 |
US8805557B2 (en) | 2014-08-12 |
US20090234468A1 (en) | 2009-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108809972B (zh) | 基于开源生态系统的物联网综合实验及应用开发平台 | |
US8407349B2 (en) | Discovering and identifying manageable information technology resources | |
JP5104489B2 (ja) | 分散イベント検出システム、分散イベント検出方法、及び分散イベント検出用プログラム | |
JP4919995B2 (ja) | 制御システム、制御装置および制御方法 | |
US20130262366A1 (en) | Generic Reasoner Distribution Method | |
JP2005174201A (ja) | リソース割り当てシステム、方法及びプログラム | |
CN101313292A (zh) | 对等数据传送指挥协调 | |
CN106537347B (zh) | 用于分发和处理流的系统和方法 | |
Sahlmann et al. | Ontology-driven device descriptions for IoT network management | |
Al-Jaroodi et al. | PsCPS: A distributed platform for cloud and fog integrated smart cyber-physical systems | |
Misra et al. | An interoperable realization of smart cities with plug and play based device management | |
CN1653423A (zh) | 交换基础设施系统和方法 | |
JP2005322222A (ja) | 通信機能付加方法、プログラム、記録媒体及び通信装置 | |
CN110933952B (zh) | 用于分布式数据系统的语义搜索及规则的方法 | |
US7499936B2 (en) | Generic SNMP proxy | |
JP5809743B2 (ja) | 分散システムにおける異種システムデータ提供方法 | |
US9866651B2 (en) | Entity creation for constrained devices | |
Thramboulidis | Service-oriented architecture in industrial automation systems-the case of IEC 61499: A review | |
CN113965608A (zh) | 一种数控设备数据收集及指令下发系统 | |
JP6370277B2 (ja) | 機器制御装置及び機器管理システム | |
Wided et al. | A new agent based load balancing model for improving the grid performance | |
CN103886075B (zh) | 分布式网络感知信息存储和查询系统 | |
WO2020213325A1 (ja) | 管理システム | |
US11044320B2 (en) | Data distribution method for a process automation and internet of things system | |
Berryman | The open control architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101021 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111226 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120104 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120131 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150210 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |