JP2010146050A - Distributed system and program - Google Patents
Distributed system and program Download PDFInfo
- Publication number
- JP2010146050A JP2010146050A JP2008319276A JP2008319276A JP2010146050A JP 2010146050 A JP2010146050 A JP 2010146050A JP 2008319276 A JP2008319276 A JP 2008319276A JP 2008319276 A JP2008319276 A JP 2008319276A JP 2010146050 A JP2010146050 A JP 2010146050A
- Authority
- JP
- Japan
- Prior art keywords
- composite
- function block
- list
- program part
- program
- 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.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
この発明は、プログラム部品を複数の機器に配置してなる分散環境とこの分散環境の構築支援を行う構築支援装置とを含んだ分散システム、ならびに、この分散システムに拡張機能を付加するためのプログラムに関する。 The present invention relates to a distributed system including a distributed environment in which program parts are arranged in a plurality of devices, and a construction support apparatus for supporting the construction of the distributed environment, and a program for adding an extended function to the distributed system About.
複数のプログラム部品を、ネットワーク接続された複数の機器のコントローラなどに配置して、各プログラム部品同士を連携させて動作させることで、複数の機器を統括的に稼動させる分散システムがある。このようなシステムは、例えば、工場生産設備において各種の駆動装置(例えばヒータの駆動スイッチ、流量を調整するバルブ駆動装置、ロボットアームの駆動装置など)を稼動制御したり、各種の測定器(例えば温度計、湿度計、圧力計など)から稼動情報を取得したりするのに利用される。 There is a distributed system in which a plurality of program parts are centrally operated by arranging a plurality of program parts in a controller or the like of a plurality of apparatuses connected via a network and operating the program parts in cooperation with each other. Such a system, for example, controls the operation of various drive devices (for example, a heater drive switch, a valve drive device for adjusting a flow rate, a robot arm drive device, etc.) in a factory production facility, and various measuring devices (for example, It is used to obtain operation information from a thermometer, hygrometer, pressure gauge, etc.).
このような分散システムの構築過程では、例えば、ソフトウェア開発者が再利用性の高いプログラム部品を機能ブロックとして作成・提供し、システム構築者が、提供された複数の機能ブロックをシステムに合わせて組み合わせたり、各機能ブロックの動作パラメータの設定等を行ったりすることで、分散システムの全体設計がなされる。 In the process of building such a distributed system, for example, a software developer creates and provides highly reusable program parts as function blocks, and the system builder combines the provided function blocks according to the system. In addition, the overall design of the distributed system is made by setting the operation parameters of each functional block.
また、他のソフトウェア開発者が、既存の機能ブロックを組み合わせて複雑な機能を実現させるコンポジット機能ブロック(コンポジットプログラム部品)を作成・提供する一方、システム構築者が、このコンポジット機能ブロックを併用して分散システムの全体設計を行うこともある(例えば特許文献1)。 Other software developers create and provide composite function blocks (composite program parts) that combine existing function blocks to realize complex functions, while system builders use these composite function blocks together. The entire design of the distributed system may be performed (for example, Patent Document 1).
コンポジット機能ブロックは、ソフトウェア開発者が作成してシステム構築者に提供されるという取引形態が想定される。この場合、ソフトウェア開発者のノウハウを保護するために、コンポジット機能ブロックの内部構造はシステム構築者に対して隠蔽された状態にされ、システム構築者に開示されるのは、コンポジット機能ブロックを外部の機能ブロックと連携させるためのインターフェースのみとされる。
次に、分散システムの一部の具体的な構成例を参照しながら課題について説明する。図2には、分散システムの一部を構成するアプリケーション構成例を示す。このアプリケーション構成は、計測器から現場データを取得してデータベースへ保存するもので、現場データ取得機能ブロック31Gと、現場データを演算加工により適切なデータ形式に変換して出力するコンポジット機能ブロック301Aと、渡されたデータをデータベースに書き込む機能ブロック31A,31Bとからなるものである。
Next, the problem will be described with reference to some specific configuration examples of the distributed system. FIG. 2 shows an example of an application configuration that constitutes a part of the distributed system. This application configuration is to acquire field data from a measuring instrument and store it in a database. The field data
上記のコンポジット機能ブロック301Aは、現場データを演算加工する演算機能ブロック31Fと、演算加工されたデータをバッファするバッファ機能ブロック31Eと、バッファされたデータを周期的に取り出して所定形式に変換し出力するデータ変換機能ブロック31Cと、バッファされた値が更新されたときにバッファ値をデータ更新イベント情報に変換して出力するイベント型データ変換機能ブロック31Dとから構成される。そして、演算機能ブロック31Fのデータ受信インターフェース32fと、データ変換機能ブロック31C,31Dのデータ送信インターフェース33c,33dのみが、外部の機能ブロック31A,31B,31Gと連携するためにシステム構築者に開示されている。
The
コンポジット機能ブロックは、上述したように内部構造を隠蔽する必要があるため、次のような課題が生じる。 Since the composite function block needs to hide the internal structure as described above, the following problems occur.
例えば、コンポジット機能ブロックを構成する内部の機能ブロックに予期せぬ異常が発生したとき、コンポジット機能ブロックといえども実際には内部にある個々の機能ブロックが各々の仕様に依存した振る舞いを行うだけなので、機能ブロックの組み合わせによっては、異常となった機能ブロックの周囲に異常動作が伝わらず、周囲の機能ブロックで通常通りの動作が継続されてしまう場合がある。この場合、このコンポジット機能ブロックと連携動作する外部の機能ブロックにも異常発生の情報が伝わらないため、分散システムの全体で異常な動作が正常動作と区別されずに継続されてしまうという課題が生じる。 For example, when an unexpected abnormality occurs in the internal functional blocks that make up a composite functional block, even though it is a composite functional block, the individual internal functional blocks actually only behave according to their specifications. Depending on the combination of functional blocks, abnormal operation may not be transmitted around the abnormal functional block, and normal operation may continue in the surrounding functional blocks. In this case, since the information on the occurrence of the abnormality is not transmitted to the external function block that operates in cooperation with the composite function block, the problem arises that the abnormal operation continues throughout the distributed system without being distinguished from the normal operation. .
例えば、図2のアプリケーション構成において演算機能ブロック31Fが異常停止した場合、バッファ機能ブロック31Eの値は更新されなくなるが、2つのデータ変換機能ブロック31C,31Dは異常発生の影響を受けることがなく、一方の機能ブロック31Cは未更新の同じデータを送信続け、もう一方の機能ブロック31Dはデータ更新イベントを送信しなくなる。そして、このような動作が正常動作と区別されないまま継続されてしまう。
For example, when the
また、上記のような課題を解決するため、コンポジット機能ブロックを構成する内部の機能ブロックで異常が発生した場合に、そのエラー内容を内部の各機能ブロックを伝播させて外部の機能ブロックまで伝えるといった機能を追加することも考えられる。例えば、図2の演算機能ブロック31Fで発生したエラー内容を機能ブロック31E〜31Dと伝播させて、外部の機能ブロック31A,31Bにそれぞれ認識させる。
In addition, in order to solve the above problems, when an abnormality occurs in the internal function blocks that make up the composite function block, the error contents are propagated through the internal function blocks and transmitted to the external function block. It is possible to add functions. For example, the error contents generated in the
しかしながら、このような手法では、エラー内容がその機能ブロック固有のものであった場合に、外部の機能ブロックに伝播されてきたエラー内容によってコンポジット機能ブロックの内部構成がシステム構築者などに推定されてしまうという課題が生じる。このような事態は、ソフトウェア開発者のノウハウを保護するためにコンポジット機能ブロックの内部構成を隠蔽していることと矛盾する。 However, in such a method, when the error content is specific to the functional block, the internal configuration of the composite functional block is estimated by the system builder or the like based on the error content propagated to the external functional block. The problem of end up arises. Such a situation contradicts the fact that the internal structure of the composite functional block is concealed in order to protect the know-how of the software developer.
また、上記のような課題を解決するために、コンポジット機能ブロックを構成する内部の機能ブロックで異常が発生した場合に、コンポジット機能ブロックを構成する各機能ブロックに対してライフサイクル制御を行って、各機能ブロックを停止させるといった機能を追加することも考えられる。具体的には、図2の演算機能ブロック31Fに異常が発生したことが検知された場合に、その他の機能ブロック31E〜31Cを停止させる。
In addition, in order to solve the problems as described above, when an abnormality occurs in the internal functional blocks constituting the composite functional block, life cycle control is performed on each functional block constituting the composite functional block, It is also possible to add a function such as stopping each function block. Specifically, when it is detected that an abnormality has occurred in the
しかしながら、このような手法では、例えば、コンポジット機能ブロックの周囲の機能ブロックに異常発生時用の処理機能が備わる場合に、この処理機能が発揮されないという課題が生じる。例えば、図2のデータ書込機能ブロック31Aが、データ受信エラーが発生した場合に一連の受信データをデータベースから削除するロールバック機能を備えている場合、ライフサイクル制御ではコンポジット機能ブロック301Aの機能ブロック31Eは正常停止されるため、外部のデータ書込機能ブロック31Aはデータ受信エラーを検出することができず、ロールバック処理に移行することができない。
However, with such a method, for example, when a function block around the composite function block has a processing function for occurrence of an abnormality, there is a problem that this processing function is not exhibited. For example, when the data
また、上記の段落で、コンポジット機能ブロックに対して二種類の拡張機能(異常発生を伝播させる機能や、異常発生時にライフサイクル制御を行う機能)を付加する手法を提示したが、従来の分散システムにおいては、このような拡張機能を付加すること自体難しいという課題がある。 Also, in the above paragraph, we presented a method to add two types of extended functions (function to propagate the occurrence of abnormality and function to perform life cycle control when an abnormality occurs) to the composite function block. However, there is a problem that it is difficult to add such an extended function.
なぜなら、機能ブロックが配置される機器のコントローラ内では、何れの機能ブロックがコンポジット機能ブロックを構成するもので、何れの機能ブロックがそれ以外の個々の機能ブロックなのか、通常では区別できる状態にない。従って、上記のような拡張機能を追加するには、コンポジット機能ブロックの作成者がコンポジット機能ブロック内に拡張機能を実現するようなプログラム構成を付加するしかなく、そのような考慮がなされていないコンポジット機能ブロックに対して、外部からこのような拡張機能を付加することは難しい。 This is because, in the controller of the device where the functional block is arranged, which functional block constitutes the composite functional block, and which functional block is the other individual functional block is not normally distinguishable. . Therefore, in order to add the extended function as described above, the creator of the composite function block has only to add a program configuration that realizes the extended function in the composite function block, and such a composite is not considered. It is difficult to add such an extended function to the function block from the outside.
また、各機能ブロックのプロセス管理やメモリ管理などを行っている基本ソフトウェア(フレームワークとも呼ばれる)に、上記のような拡張機能を設けた場合、基本ソフトウェア上では、コンポジット機能ブロックを構成する機能ブロックと、その他の個々の機能ブロックとを区別できないため、これら両方の機能ブロックに対して、一律に拡張機能が付加されることになる。そのため、コンポジット機能ブロックのみに特定の機能を付加することは難しい。 In addition, when the above-mentioned extended functions are provided in the basic software (also called framework) that performs process management and memory management for each functional block, the functional blocks that make up the composite functional block on the basic software And other individual functional blocks cannot be distinguished from each other, so that an extended function is uniformly added to both of these functional blocks. Therefore, it is difficult to add a specific function only to the composite function block.
この発明は、コンポジット機能ブロックや個々の機能ブロックが分散配置されて実行される分散システムにおいて、コンポジット機能ブロックを構成する何れかの機能ブロックで予期せぬ異常が発生した場合に、コンポジット機能ブロックの内部構造の秘匿性を維持したまま、コンポジット機能ブロックの周囲の機能ブロックに異常の発生を確実に伝えることができるようにすることである。 In a distributed system in which composite function blocks and individual function blocks are distributed and executed, when an unexpected abnormality occurs in any of the function blocks constituting the composite function block, the present invention This is to ensure that the occurrence of an abnormality can be reliably transmitted to the functional blocks around the composite functional block while maintaining the confidentiality of the internal structure.
上記目的を達成するため、請求項1記載の発明は、コンポジットプログラム部品を構成する各プログラム部品と、個々のプログラム部品とを複数の機器に分散配置してなる分散環境、ならびに、該分散環境の構築支援を行う構築支援装置を含んだ分散システムにおいて、前記機器に配置され前記コンポジットプログラム部品の状態管理と動作制御とを行うコンポジット部品管理部と、前記機器に配置されるとともに前記コンポジットプログラム部品を構成しているプログラム部品の情報が示された構成情報リストと、前記構築支援装置に設けられコンポジットプログラム定義情報から前記構成情報リストを作成するリスト作成手段とを備え、前記コンポジット部品管理部は、自己が配置されている機器内でプログラム部品に異常が検知された場合に、前記構成情報リストに基づき、異常の検知されたプログラム部品が何れかのコンポジットプログラム部品に含まれているか判別し、含まれている場合に、当該コンポジットプログラム部品に属されかつ当該コンポジットプログラム部品以外のプログラム部品とデータをやり取りしている開放インターフェースを指定して異常発生用の動作を行わせることを特徴としている。 In order to achieve the above object, the invention according to claim 1 is a distributed environment in which each program component constituting a composite program component and each program component are distributed and arranged in a plurality of devices, and the distributed environment In a distributed system including a construction support apparatus that performs construction support, a composite part management unit that performs state management and operation control of the composite program part disposed in the device, and the composite program part disposed in the device A configuration information list indicating information of the configured program parts, and a list creation means for creating the configuration information list from composite program definition information provided in the construction support device, the composite part management unit, An error was detected in the program component in the device where the device is located If any of the composite program parts is included in the composite program part based on the configuration information list, the composite program part belongs to the composite program part and is included in the composite program part. It is characterized in that an operation for generating an abnormality is performed by specifying an open interface that exchanges data with program parts other than the parts.
請求項2記載の発明は、請求項1記載の分散システムにおいて、前記構成情報リストは、前記コンポジットプログラム部品を構成する各プログラム部品をそれぞれ識別可能とする情報が登録されたコンポジット部品リストと、前記コンポジットプログラム部品に属される前記開放インターフェースをそれぞれ識別可能とする情報が登録された開放インターフェースリストとを含み、前記リスト作成手段は、個々のコンポジットプログラム部品ごとに、前記コンポジット部品リストと前記開放インターフェースリストとを作成する構成であることを特徴としている。 According to a second aspect of the present invention, in the distributed system according to the first aspect, the configuration information list includes a composite component list in which information for identifying each program component constituting the composite program component is registered, And an open interface list in which information for identifying each open interface belonging to a composite program part is registered, and the list creation means includes the composite part list and the open interface list for each composite program part. It is the structure which makes and.
請求項3記載の発明は、請求項2記載の分散システムにおいて、前記コンポジット部品管理部は、前記コンポジット部品リストに基づき、異常と検知されたプログラム部品を含んだコンポジットプログラム部品を検索し、当該コンポジットプログラム部品を特定する特定機能と、前記開放インターフェースリストに基づき、前記特定機能により特定されたコンポジットプログラム部品に属される前記開放インターフェースを指定して異常発生用の動作を行わせる動作要求機能とを備えていることを特徴としている。 According to a third aspect of the present invention, in the distributed system according to the second aspect, the composite part management unit searches for a composite program part including a program part detected as abnormal based on the composite part list, and the composite part A specific function for specifying a program part; and an operation request function for performing an operation for generating an abnormality by designating the open interface belonging to the composite program part specified by the specific function based on the open interface list It is characterized by having.
請求項4記載の発明は、請求項1記載の分散システムにおいて、前記構成情報リストは、前記コンポジットプログラム部品に属される前記開放インターフェースの各々がどの機器に配置されているかを示す配置情報を含み、前記コンポジット部品管理部は、他の機器に配置された別のコンポジット部品管理部と通信ネットワークを介して通信する通信機能と、前記配置情報に基づき異常と判別されたコンポジットプログラム部品に属される開放インターフェースの何れかが他の機器に配置されているか否かを判別する判別機能と、該判別機能により他の機器に配置されていると判別された場合に、前記配置情報に基づき前記通信機能を用いて当該他の機器のコンポジット部品管理部に操作要求を送信する操作要求送信機能と、他の機器のコンポジット部品管理部から前記操作要求を受信した場合に、当該操作要求に応じたコンポジットプログラム部品の開放インターフェースに異常発生用の動作を行わせる動作要求代行機能とを備えていることを特徴としている。 According to a fourth aspect of the present invention, in the distributed system according to the first aspect, the configuration information list includes arrangement information indicating in which device each of the open interfaces belonging to the composite program part is arranged, The composite component management unit communicates with another composite component management unit arranged in another device via a communication network, and an open interface belonging to a composite program component determined to be abnormal based on the arrangement information Using the communication function based on the arrangement information when it is determined by the determination function that it is arranged in another device. Operation request transmission function for transmitting an operation request to the composite component management unit of the other device, and When receiving the operation request from the JIT component management unit, it is characterized by comprising an operation request proxy function of the open interface of the composite program part in accordance with the operation request to perform the operation of the abnormality occurrence.
請求項5記載の発明は、分散環境の構築支援を行うコンピュータに、コンポジットプログラム部品の構成情報が表わされたコンポジットプログラム定義情報を読み込ませる機能と、前記コンポジットプログラム定義情報から、当該コンポジットプログラム部品を構成する各プログラム部品の識別情報、および、当該コンポジットプログラム部品に属されかつ他のプログラム部品とデータをやり取りする各開放インターフェースの識別情報を含んだ構成情報リストを作成する機能とを実現させるプログラムである。 According to a fifth aspect of the present invention, there is provided a function for causing a computer that supports construction of a distributed environment to read composite program definition information in which composite program component configuration information is represented, and the composite program component from the composite program definition information. And a function for creating a configuration information list that includes identification information of each program part that constitutes the system, and identification information of each open interface that belongs to the composite program part and exchanges data with other program parts It is.
請求項6記載の発明は、プログラム部品が配置されて分散環境を実現する複数の機器の制御用コンピュータによって実行されるプログラムであって、前記機器の制御用コンピュータに、機器内のプログラム部品に異常が検知された場合に、前記制御用コンピュータの記憶部に格納されたコンポジットプログラム部品の構成情報リストから、異常が発生したプログラム部品を含んだコンポジットプログラム部品を検索して、当該コンポジットプログラム部品を特定する特定機能と、前記制御用コンピュータの記憶部に格納されたコンポジットプログラム部品の構成情報リストから、前記特定機能により特定されたコンポジットプログラム部品に属されかつ当該コンポジットプログラム部品以外のプログラム部品とデータのやり取りを行っている開放インターフェースを指定し、当該開放インターフェースに異常発生用の動作を行わせる動作要求機能とを実現させるプログラムである。 The invention according to claim 6 is a program executed by a computer for controlling a plurality of devices that realizes a distributed environment by arranging program components, and the program computer in the device has an abnormality in the program components in the device. Is detected, the composite program part including the program part in which the abnormality has occurred is searched from the composite program part configuration information list stored in the storage unit of the control computer, and the composite program part is identified. A specific function to be performed, and a composite program part configuration information list stored in the storage unit of the control computer, the program parts and data belonging to the composite program part specified by the specific function and other than the composite program part Interacting It specifies the release interface, a program for realizing the operation request function to perform the operation for abnormal to the open interface.
本発明に従うと、リスト作成手段がコンポジット機能ブロックの内部構造の隠蔽を維持したままコンポジット機能ブロックの構成情報リストを作成し、コンポジット機能ブロックに内部異常が発生した場合に、コンポジット部品管理部が上記構成情報リストを用いて異常が生じたコンポジット機能ブロックを特定し、その公開インターフェースに異常発生用の動作を行わせる。従って、コンポジット機能ブロックの内部構造の隠蔽を維持したまま、コンポジット機能ブロックの周囲の機能ブロックに異常の発生を確実に伝わらせることができる。 According to the present invention, the list creation means creates the composite function block configuration information list while maintaining the concealment of the internal structure of the composite function block. The composite function block in which an abnormality has occurred is identified using the configuration information list, and an operation for generating an abnormality is performed on the public interface. Therefore, the occurrence of an abnormality can be reliably transmitted to the function blocks around the composite function block while the concealment of the internal structure of the composite function block is maintained.
以下、本発明の実施の形態を図面に基づいて説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[第1実施形態]
図3は、本発明の実施形態の分散システムの全体を示す構成図である。
[First Embodiment]
FIG. 3 is a configuration diagram illustrating the entire distributed system according to the embodiment of this invention.
この実施形態の分散システムは、複数の機器10a〜10z(例えば生産設備機器)が通信ネットワーク90に接続され、さらに、これら複数の機器10a〜10zに機能ブロック31やコンポジット機能ブロック301が配置されてなるものである。図1では一部省略しているが、機器10a,10bに示すように、全ての機器10a〜10zにおいて、複数種類の機能ブロック31や複数種類のコンポジット機能ブロック301の中から任意のものが配置されているものである。そして、これら複数の機能ブロック31やコンポジット機能ブロック301が互いに連携しながら動作することで、複数の機器10a〜10zが統括的に稼動制御されたり、複数の機器10a〜10zから統括的に情報取得ができるようになっている。
In the distributed system of this embodiment, a plurality of
さらに、本発明の実施形態では、分散システムの構築時に通信サーバ80や通信ネットワーク90を介して各機器10a〜10zへコンポジット機能ブロック301の構成情報リストを供給するシステム構築用コンピュータ100が備わっている。
Furthermore, in the embodiment of the present invention, the
機能ブロック31やコンポジット機能ブロック301は、機器のCPU(中央演算処理装置)により実行されるソフトウェアであり、特定の機能が実現されるようにユニット化されたものである。各機能ブロック31や各コンポジット機能ブロック301は、他の機能ブロック31やコンポジット機能ブロック301と互いにデータをやり取りしながら連携して動作する。データのやり取りは、各機能ブロック31が有する連携インターフェース32,33を介して行われる。
The
連携インターフェース32,33とはソフトウェア上のインターフェースであり、同一機器内においては、連携インターフェース32,33はメモリを介してデータの送受信を行い、また、複数の機器10a〜10z間においては、連携インターフェース32,33は通信ネットワーク90を介してデータの送受信を行う。
The cooperation interfaces 32 and 33 are software interfaces. In the same device, the cooperation interfaces 32 and 33 transmit and receive data via a memory, and the plurality of
連携インターフェース32,33はあらかじめ、たとえば接続拒否、サービス提供拒否、サービス提供可能などの状態を保持しており、通常の動作時にはサービス提供可能状態である。ここで、接続拒否とは、コネクションも成立しない状態、サービス提供拒否とは、コネクションは成立するが、アプリケーションレベルでのデータのやり取りを拒否する状態、サービス提供可能とは、コネクションが成立し、データのやり取りを行うことができる状態である。 The cooperation interfaces 32 and 33 hold, for example, a connection refusal, a service provision refusal, and a service provable state in advance, and are in a service provable state during normal operation. Here, connection rejection refers to a state in which no connection is established, and service provision rejection refers to a state in which a connection is established, but denies data exchange at the application level, and service provision is possible. It is in a state where it is possible to exchange.
コンポジット機能ブロック301は、有用な機能を実現させるためにソフトウェアベンダーなどが既存の機能ブロック31を組み合わせて作成し、分散システムのシステム構築者へ提供されるものである。コンポジット機能ブロック301を構成する内部の各機能ブロック31は、各機能ブロック31の既存の仕様に従った振る舞いを行うものであり、コンポジット機能ブロック301特有の動作を行うことはない。コンポジット機能ブロック301の内部構造は、ソフトウェアベンダーのノウハウを保護するためにシステム構築者に対して隠蔽され、システム構築者には、コンポジット機能ブロック301の全体的な機能、システム構築者によって設定可能にされた動作パラメータ、外部の機能ブロックとデータのやり取りを行うため開放されている公開連携インターフェース(開放インターフェース)32,33の仕様等のみが開示される。
The
各機器10a〜10zには、図示は省略するが、プログラムを実行するCPU(中央演算処理装置)、プログラムモジュールや制御データが格納される記憶装置、CPUにメモリ空間を提供するメモリなどを有したコントローラ(制御用コンピュータ)20が備わっている。そして、CPUが所定のプログラムモジュールを実行することで、複数の機能ブロック31がメモリ空間上にインスタンスとして生成され、これらの機能ブロック31がソフトウェア動作するようになっている。
Although not shown, each
システム構築用コンピュータ100は、プログラムを実行するCPU、アプリケーションプログラムや制御データが格納される記憶装置、CPUに作業用のメモリ空間を提供するメモリ、オペレータに情報の表示出力を行う表示装置、オペレータの操作指令を入力する入力装置などを備え、上記のアプリケーションプログラムによって、分散システムの構築支援を行うソフトウェア機能を実現するものである。
The
分散システムの構築支援機能110は、主に、分散システムの全体設計を行う分散システム設計機能111と、各機器10a〜10zに所定の機能ブロック31やコンポジット機能ブロック301を実現するためのプログラムモジュールや設定データを転送するモジュール転送機能112と、各コンポジット機能ブロック301の構成情報リストを作成して機器10a〜10zへ転送するコンポジット機能ブロック情報作成機能113とを含んでいる。
The distributed system
システム構築用コンピュータ100には、各機能ブロック31の動作内容や仕様情報が示された定義情報、ならびに、コンポジット機能ブロック301の内部構造や内部の機能ブロック31の動作パラメータなどが示されたコンポジット機能ブロック定義情報121(図4)が、予め読み込まれ、これらの定義情報が利用されて分散システムの構築支援が行われるようになっている。
The
分散システム設計機能111は、オペレータが、分散システムを構成する複数の機器10a〜10zのハードウェア構成やネットワーク構成を決定したり、各機器10a〜10zに配置する機能ブロック31やコンポジット機能ブロック301を選択したり、各機能ブロック31や各コンポジット機能ブロック301の連結態様を決定したり、各機能ブロック31や各コンポジット機能ブロック301の動作パラメータの設定を行ったりして、コンピュータ上で分散システム全体の設計支援を行うものである。
In the distributed
この分散システム設計機能111において、オペレータは、コンポジット機能ブロック301を1個の機能ブロック31と同様に扱って、他の機能ブロック31と連結させたりその配置を決定したりできるようになっている。システム構築用コンピュータ100の内部では、予め読み込まれているコンポジット機能ブロック定義情報121(図4)によって、1個のコンポジット機能ブロック301を、これを構成している複数の機能ブロック31として認識して処理を行っている。
In this distributed
モジュール転送機能112は、分散システムの設計が完了した後に、各機器10a〜10zに対して、配置設計された機能ブロック31やコンポジット機能ブロック301を実現するためのプログラムモジュールや設定データを転送するものである。各機器10a〜10zは、転送されたプログラムモジュールを実行することで、配置設計された機能ブロック31やコンポジット機能ブロック301が機器のコントローラ20上で動作することになる。
The
図4には、システム構築用コンピュータにおいてコンポジット機能ブロック情報作成機能に関わる構成を表わした機能ブロック図を示す。図5には、コンポジット機能ブロック定義情報の一例を表わした図表を示す。 FIG. 4 is a functional block diagram showing a configuration related to the composite functional block information creation function in the system construction computer. FIG. 5 is a chart showing an example of composite function block definition information.
コンポジット機能ブロック情報作成機能113は、コンポジット機能ブロック301の内部構造が示されるコンポジット機能ブロック定義情報121を読み込み、このコンポジット機能ブロック301の構成情報リストを作成するものである。構成情報リストは、コンポジット機能ブロック301を構成する各機能ブロック31を識別可能とする構成機能ブロックIDが登録された構成機能ブロックリスト61と、コンポジット機能ブロック301に属されかつ外部に開放されている連携インターフェース32,33を指定可能とする公開連携インターフェースIDが登録された公開連携インターフェースリスト71とからなるものである。これら各リスト61,71の具体的な内容については後段の表1と表2に示している。
The composite function block
コンポジット機能ブロック定義情報121は、コンポジット機能ブロック301を作成したソフトウェア開発者が、システム構築用コンピュータ100の分散システム構築支援機能110に対して、コンポジット機能ブロック301の内部構造を明らかにするためのものであり、例えば、オペレータにより内容が読み出されない形式で提供され、システム構築用コンピュータ100に読み込まれるものである。
The composite function
図5に示すように、このコンポジット機能ブロック定義情報121には、コンポジット機能ブロック301を構成する各機能ブロック31を示す構成機能ブロック31の情報、各機能ブロック31に備わる連携インターフェース32,33を示す情報、連携インターフェース32,33が外部に開放されているか否かを示す公開設定情報、内部の機能ブロック同士の連携先を示す内部連携先情報などが記述されている。
As shown in FIG. 5, the composite function
そして、上記のコンポジット機能ブロック情報作成機能113によって作成された構成機能ブロックリスト61と公開連携インターフェースリスト71とが、対応するコンポジット機能ブロック301が配置される機器10a〜10zへ転送されて機器10a〜10zの記憶装置やメモリに格納されるようになっている。例えば、上述のモジュール転送機能112によってプログラムモジュールや設定データと一緒に転送されるようになっている。
Then, the constituent
なお、上記の構成情報リスト(61,71)に登録される構成機能ブロックIDや公開連携インターフェースIDは、機能ブロック31の配置設計を完了した段階で、システム構築用コンピュータ100上で各機能ブロック31や各連携インターフェース32,33に対して付与されている識別情報である。そして、これら機能ブロック31が実際に各機器10a〜10zのコントローラ20上でインスタンス生成される際にも、上記の識別情報が各機能ブロック31や各連携インターフェース32,33のインスタンスに対応づけられ、これら識別情報によって機器10a〜10zのコントローラ20上で各機能ブロック31や各連携インターフェース32,33のインスタンスを識別することが可能になっている。
Note that the configuration function block ID and the public cooperation interface ID registered in the configuration information list (61, 71) are the function blocks 31 on the
また、上記の構成機能ブロックリスト61と公開連携インターフェースリスト71とは、システム構築用コンピュータ100の内部で生成されて各機器10a〜10zへ転送されるものなので、システム構築用コンピュータ100のオペレータにより読み出されたりせず、これらのリスト61,71によってコンポジット機能ブロック301の内部構造の秘匿性が反故されないようになっている。
In addition, since the above-described component
上述した分散システム設計機能111、モジュール転送機能112、コンポジット機能ブロック情報作成機能113を実現するアプリケーションプログラムは、上記のシステム構築用コンピュータ100によって読み取り可能な、例えば、光ディスク等の可搬型記憶媒体、フラッシュメモリ等の不揮発性メモリ、ROM(Read Only Memory)等に格納しておくことが可能である。また、このようなプログラムをキャリアウェーブ(搬送波)を媒体として通信回線を介してシステム構築用コンピュータ100にダウンロードされる形態を適用することもできる。
An application program that realizes the distributed
図1には、第1実施形態の分散システムを構成する1個の機器のコントローラ上に生成される機能構成を表わした機能ブロック図を示す。次に、1個の機器10mについて機能構成の説明をするが、各機器10a〜10zにも同様の機能構成が備わるものである。
FIG. 1 is a functional block diagram showing a functional configuration generated on the controller of one device constituting the distributed system of the first embodiment. Next, the functional configuration of one
図1に示すように、機器10mのコントローラ20上には、当該機器10m上に配置される個々の機能ブロック31(コンポジット機能ブロック301の構成要素となる機能ブロックを含む)や、各機能ブロック31の状態パラメータを取得する機能ブロック状態取得部26、ならびに、各機能ブロック31の連携インターフェース32,33を機能ブロック31の外部から操作可能な連携インターフェース操作部27が、CPUにより実行されるソフトウェアとして構築されている。
As shown in FIG. 1, on the
また、コンポジット機能ブロック301が配置された機器10mのコントローラ20上には、図1に示すように、コンポジット機能ブロック301を構成する各機能ブロック31に対して、状態監視や異常発生時の動作制御を行うコンポジット機能ブロック管理部25が、CPUにより実行されるソフトウェアとして構築されている。また、上記のシステム構築用コンピュータ100から転送された構成機能ブロックリスト61と公開連携インターフェースリスト71とが、上記コンポジット機能ブロック管理部25によって読み込み可能な状態にされている。
Further, on the
なお、図示は省略するが、機器のコントローラ20上には、各機能ブロック31のプロセス管理やメモリ管理を行う基本ソフトウェア(フレームワークとも呼ぶ)が動作しており、この基本ソフトウェアの制御によって1つのCPUで複数の機能ブロックを並列的に動作させることが可能になっている。基本ソフトウェアは、各機能ブロック31のプロセス管理を行っているため、この基本ソフトウェアを介して各機能ブロック31の動作状態を取得することが可能であり、また、各機能ブロック31の連携インターフェース32,33は基本ソフトウェアが提供しているインターフェース機能を介してデータをやり取りする構成なので、各機能ブロック31の連携インターフェース32,33を基本ソフトウェア側から直接的に操作することも可能になっている。
Although illustration is omitted, basic software (also referred to as a framework) for performing process management and memory management of each
機能ブロック状態取得部26は、上記の基本ソフトウェアを介して各機能ブロック31の状態パラメータを取得するものである。そして、機能ブロック31の状態パラメータの値に変化があった場合に、後述する機能ブロック状態変化通知コードを作成し、状態変化イベントとしてこの通知コードをコンポジット機能ブロック管理部25へ送るようになっている。機能ブロック状態取得部26が取得できる状態パラメータの値には、機能ブロック31の通常動作、状態遷移中、異常停止、異常終了、異常負荷などを示す値が含まれる。
The functional block
この機能ブロック状態取得部26は、例えば、分散システムの稼動を開始する際などに、分散システムの管理コンピュータなどから通信ネットワーク90を介して状態管理開始要求を受けることにより作動したり、或いは、機器10mの基本ソフトウェアが起動したときにこれと同時に作動するように構成される。
The functional block
連携インターフェース操作部27は、上記の基本ソフトウェアを介して、機能ブロック31の外部から指定された連携インターフェース32,33に特定の動作を行わせるものである。具体的には、コンポジット機能ブロック管理部25から後述する連携操作要求を受けて、指定された公開連携インターフェース32,33に異常発生時の動作内容を実行させる。
The cooperation
コンポジット機能ブロック管理部25は、上記の基本ソフトウェアのサービスアプリケーションとして、コンポジット機能ブロック301が配置される機器10mのコントローラ20に1つずつ設けられるものである。コンポジット機能ブロック管理部25の動作については後に詳述する。
One composite function
コンポジット機能ブロック管理部25を実現するサービスアプリケーションプログラムは、例えば、機器10mのコントローラ20により読み取り可能な記憶媒体に格納されて、機器10mのCPUにより実行可能なように組み込まれるものである。上記の記憶媒体は、例えば、光ディスク等の可搬型記憶媒体、フラッシュメモリ等の不揮発性メモリ、ROM(Read Only Memory)等を適用することが可能である。また、キャリアウェーブ(搬送波)を媒体として通信回線を介してこのアプリケーションプログラムを転送して機器10mに組み込むようにしても良い。
The service application program that realizes the composite function
構成機能ブロックリスト61と公開連携インターフェースリスト71とは、上述したようにシステム構築用コンピュータ100のコンポジット機能ブロック情報作成機能113によって作成され、コンポジット機能ブロック301が配置される機器10mに転送されるものである。これら構成機能ブロックリスト61と公開連携インターフェースリスト71は、1個のコンポジット機能ブロック301に対して1個ずつ生成されており、1つの機器10mに、複数のコンポジット機能ブロック301が配置される場合には、これら複数のコンポジット機能ブロック301に対応して、複数の構成機能ブロックリスト61と複数の公開連携インターフェースリスト71とが格納されることとなる。
The component
構成機能ブロックリスト61は、表1に示すように、1個のコンポジット機能ブロック301を構成する全ての機能ブロック31をそれぞれ識別可能とする複数の構成機能ブロックID(識別情報)が登録されたものである。
As shown in Table 1, the configuration
例えば、図2の機能ブロック構成が1つの機器10mに配置される場合、表1に示すように、コンポジット機能ブロック301Aに対応させて1個の構成機能ブロックリスト61が生成され、このリスト61内には、コンポジット機能ブロック301Aを構成する演算機能ブロック31F、データバッファ機能ブロック31E、および、2つのデータ変換機能ブロック31C,31Dの識別情報“fb001”〜“fb004”がそれぞれ登録される。これらの識別情報“fb001”〜“fb004”は、機器10mのコントローラ20上でインスタンス生成される実際の機能ブロックを識別可能な情報である。
For example, when the functional block configuration shown in FIG. 2 is arranged in one
公開連携インターフェースリスト71は、表2に示すように、1個のコンポジット機能ブロック301に属される複数の連携インターフェース32,33のうち、外部の機能ブロックに対して開放されている全ての連携インターフェース32,33を指定可能とする公開連携インターフェースID(識別情報)が登録されたものである。
As shown in Table 2, the public
例えば、図2の機能ブロック構成が機器に配置される場合には、表2に示すように、コンポジット機能ブロック301Aに対応して1個の公開連携インターフェースリスト71が生成され、このリスト71内には、コンポジット機能ブロック301Aに属され外部に開放されている複数の公開連携インターフェース33c,33d,32fをそれぞれ指定可能とする3つの識別情報“ch001”〜“ch003”が登録されている。この識別情報“ch001”〜“ch003”は、機器10m上でインスタンス生成される実際の連携インターフェース32,33を指定可能な情報である。
For example, when the functional block configuration of FIG. 2 is arranged in a device, as shown in Table 2, one public
次に、分散システムの稼動時の動作について説明する。 Next, the operation at the time of operation of the distributed system will be described.
分散システムにおいて全ての機能ブロック31が起動されると、各機能ブロック31は個々の仕様および動作設定に従って動作するとともに、互いに連結された複数の機能ブロック31の間では連携インターフェース32,33を介して互いにデータのやり取りが行われる。それにより複数の機能ブロック31が連携しあって分散システムが統括的に稼動する。
When all the
また、個々の機器10a〜10z上では、機能ブロック31の動作と並列的に、コンポジット機能ブロック管理部25、機能ブロック状態取得部26、連携インターフェース操作部27も動作する。機能ブロック状態取得部26は、上述の状態管理開始指示を受けたり、あるいは、機器10a〜10zの起動時に自動的に動作開始されたりすることによって、機器10a〜10zに配置された各機能ブロック31の状態の監視を開始する。
In addition, on each of the
図6は、機能ブロック状態取得部26とコンポジット機能ブロック管理部25により実行されるコンポジット機能ブロック301の状態管理処理の処理手順を示したフローチャートである。次に、1個の機器10mについての動作例を説明するが他の機器10a〜10zについても同様の動作が行われる。
FIG. 6 is a flowchart showing the procedure of the state management process of the composite function block 301 executed by the function block
機能ブロック状態取得部26は、動作を開始すると、所定の周期で、機器10mに配置された各機能ブロック31から状態パラメータを取得し(ステップS1)、状態パラメータの取得ごとにその状態値に変化がないか判別を行う(ステップS2)。そして、変化が無ければ、そのまま次の周期まで待機して、周期的な状態パラメータの取得を繰り返す。
When the operation starts, the functional block
一方、ステップS2の判別処理で、状態パラメータの値に変化があったと判別されたら、機能ブロック状態取得部26は、例えば、表3に示すような機能ブロック状態変化通知のコードを作成して、この通知をコンポジット機能ブロック管理部25へ送る(ステップS3)。この機能ブロック状態変化通知は、例えば、変化のあった機能ブロック31に対応する機能ブロックIDと、変化後の状態パラメータの値とが付加されたデータである。
On the other hand, if it is determined in step S2 that the state parameter value has changed, the functional block
コンポジット機能ブロック管理部25は、常時、機能ブロック状態取得部26からの状態変化通知を待機しており、状態変化通知を受け取ったら、先ず、その状態変化通知に含まれる機能ブロックIDを取り出し、この機能ブロックIDが1個または複数の構成機能ブロックリスト61に含まれているか検索する(特定機能:ステップS4)。ここで、この機能ブロックIDがリスト内に見つからなければ、コンポジット機能ブロック301以外の機能ブロック31で状態変化が生じたこととなるため、コンポジット機能ブロック管理部25は、この状態変化通知に関する処理を終了して、次の状態変化通知があるまで待機する。
The composite function
一方、上記の機能ブロックIDが構成機能ブロックリスト61内に見つかった場合には、機器10mに配置されているコンポジット機能ブロック301の内部で状態変化が生じたことを特定できるので、コンポジット機能ブロック管理部25は、次のステップS5に移行して、この状態変化通知に含まれる状態パラメータの値から機能ブロック31の状態を確認する。すなわち、異常が発生しているか否かを判別する(ステップS5)。例えば、状態パラメータの値が、正常稼動中や状態遷移中を示す値であれば正常であると判別する一方、機能ブロック31の異常停止や異常終了を示す値であったり、機能ブロック31の処理負荷が異常値を示す値であったりすれば、異常が発生していると判別する。
On the other hand, when the above function block ID is found in the constituent
コンポジット機能ブロック301の内部で、このような異常が発生する要因としては、例えば、コンポジット機能ブロック301を構成する機能ブロック31自体に異常が起きた場合、コンポジット機能ブロック301を構成する機能ブロック31間の連携動作に異常が起きた場合、機器10mでハードウェア上の不具合が生じたことでコンポジット機能ブロック301を構成する各機能ブロック31もしくはこれらの機能ブロック31間の連携動作が正常に動作できなくなった場合などが挙げられる。
The cause of the occurrence of such an abnormality within the
異常発生と判別したら、次に、コンポジット機能ブロック管理部25は、ステップS4で探し出した構成機能ブロックリスト61に対応づけられている公開連携インターフェースリスト71を読み込んで、そこに記されている全ての公開連携インターフェースIDを操作対象の識別情報として指定する(ステップS6)。すなわち、これにより、内部で異常が発生しているコンポジット機能ブロック301に属され外部に開放されている全ての連携インターフェース32,33が操作対象として指定される。
If it is determined that an abnormality has occurred, the composite function
続いて、コンポジット機能ブロック管理部25は、例えば、表4に示すような連携操作要求のコードを作成し、このコードを連携インターフェース操作部27へ送る(ステップS7)。上記のステップS6,S7の処理により動作要求機能が構成される。この連携操作要求は、例えば、ステップS6で特定した連携インターフェースIDと、操作内容を示す操作パラメータとが付加されたコードである。この実施形態では、連携操作要求の操作内容は、異常発生用の動作として連携遮断を適用している。
Subsequently, for example, the composite function
上記の連携操作要求が連携インターフェース操作部27に送られると、連携インターフェース操作部27は、連携操作要求のコードから操作対象の連携インターフェースIDを取り出し、この識別情報により指定される連携インターフェース32,33に対して連携遮断の操作要求を行う。
When the above-described cooperation operation request is sent to the cooperation
公開連携インターフェース32,33に連携遮断の操作要求がなされると、当該公開連携インターフェース32,33は連携遮断操作を行って上述したサービス提供拒否状態となる。これにより、コンポジット機能ブロック301に連結されている外部の機能ブロック31に対して、異常発生の情報が伝わることとなる。例えば、コンポジット機能ブロック301と外部の機能ブロック31との連携中に連携遮断の操作がなされると、連携インターフェースから外部の機能ブロック31にディスコネクトを示すエラーメッセージが送られることとなる。また、コンポジット機能ブロック301に対して外部の機能ブロック31から新たな連携要求が発生した場合には、アプリケーションレベルで連携が拒否されて、連携インターフェースから連携拒否を示すエラーメッセージが外部の機能ブロック31に送られることとなる。
When an operation request for cooperative blocking is made to the public
外部の機能ブロック31は、このようなエラーメッセージに基づきコンポジット機能ブロック301で異常が発生したことを認識できるので、このエラーメッセージに対して所定のエラー処理を行うように設定しておくことで、異常発生を認識できずに無駄な動作や間違った動作がいつまでも継続されてしまうといった不具合を回避することができる。
Since the
例えば、図2のアプリケーション構成例において演算機能ブロック31Fに異常が発生した場合、コンポジット機能ブロック管理部25が外部に開放されている連携インターフェース33c,33d,32fを連携遮断とする。それにより、外部の機能ブロック31A,31B,31Gにディスコネクトや連携拒否のエラーメッセージが送られることとなり、それにより、現場データ取得機能ブロック31Gはコンポジット機能ブロック301Aに向けたデータ送信を中止したり、データ書込み機能ブロック31Aはデータベースへのデータの書込みを中止したりすることができる。また、データ書込み機能ブロック31Bはイベントの待ち状態を解除することができるなど、不本意なデータ保存や無駄な動作を防ぐことができる。
For example, when an abnormality occurs in the
以上のように、この実施の形態の分散システムによれば、複数の機器10a〜10zにコンポジット機能ブロック301や個々の機能ブロック31を分散配置して互いに連携させて動作させる分散システムにおいて、コンポジット機能ブロック301の内部で異常が生じた場合に、コンポジット機能ブロック301の内部構造の秘匿性を維持したまま、コンポジット機能ブロック301と連携動作を行っている他の機能ブロック31に異常の発生を伝えることができる。
As described above, according to the distributed system of this embodiment, in the distributed system in which the
また、この実施の形態の分散システムによれば、機器のコントローラ20上にコンポジット機能ブロック管理部25を設け、コンポジット機能ブロック301の外部からコンポジット機能ブロック301の異常発生の監視と、異常発生時の動作制御とを行うようにしているので、コンポジット機能ブロック301自体に特別な機能を付加することなく、上記のような異常発生時の対処を行うことができる。
In addition, according to the distributed system of this embodiment, the composite function
また、コンポジット機能ブロック管理部25は、構成機能ブロックリスト61と公開連携インターフェースリスト71とに基づいて、異常が発生したコンポジット機能ブロック301の特定や、異常発生時の動作を行わせる公開連携インターフェース32,33の指定を行う構成なので、全ての機器10a〜10zにおいてコンポジット機能ブロック管理部25を共通のものとすることができる。そして、構成機能ブロックリスト61と公開連携インターフェースリスト71とを、コンポジット機能ブロック301の配置に合わせた内容とすることで、各機器10a〜10zに対応したコンポジット機能ブロック301の状態管理を行うことができる。
Also, the composite function
なお、本発明は、上記の実施形態に限られるものではなく、種々の変形が可能である。例えば、コンポジット機能ブロック301の構成情報リストとして、1個のコンポジット機能ブロックごとに1個ずつ構成機能ブロックリスト61と公開連携インターフェースリスト71とを生成する例を示したが、1つの機能ブロックIDからその機能ブロック31を内蔵したコンポジット機能ブロック301の全ての公開連携インターフェースIDを特定できるのであれば、1個のコンポジット機能ブロック301ごとにリスト61,71を分けて生成する必要はないし、また、構成情報リスト(61,71)に他のデータ項目を含めるなど、適宜変更可能である。
In addition, this invention is not restricted to said embodiment, A various deformation | transformation is possible. For example, as the configuration information list of the
また、上記の実施形態では、各機能ブロック31の状態パラメータを取得したり、連携インターフェース32,33を外部から操作するのに、基本ソフトウェアを介してこのような機能を実現する例を示したが、特にこのような方式に制限されるものでなく、同様の機能が実現されれば種々の方式を適用可能である。
In the above embodiment, an example is shown in which such functions are realized via basic software in order to acquire the state parameters of each
また、コンポジット機能ブロック301の構成情報リスト(61,71)を、システム構築用コンピュータ100で作成して、機器10a〜10zに転送する例を示したが、例えば、各機器10a〜10zの基本ソフトウェアにこのようなリスト作成機能を設けるようにしても良い。例えば、機器10a〜10zのコントローラ20上でコンポジット機能ブロック301のインスタンスが生成される際に、機器10a〜10zの基本ソフトウェアが構成機能ブロックリスト61や公開連携インターフェースリスト71を生成するように構成する。
In addition, the configuration information list (61, 71) of the
また、コンポジット機能ブロック301の異常発生時用の動作として公開連携インターフェース32,33の連携遮断を例示したが、外部に異常発生を伝達できる動作であれば、その他の動作を適用しても良い。
Moreover, although the cooperation interruption | blocking of the public cooperation interfaces 32 and 33 was illustrated as operation | movement at the time of abnormality generation of the
その他、分散システム構築支援機能110の処理内容や、コンポジット機能ブロック管理部25による状態管理処理の制御手順など、実施形態で示した細部は、発明の趣旨を逸脱しない範囲で適宜変更可能である。
In addition, the details shown in the embodiment, such as the processing contents of the distributed system
[第2実施形態]
図7には、第2実施形態の機器に構築される機能構成を表わしたブロック図を示す。
[Second Embodiment]
In FIG. 7, the block diagram showing the function structure constructed | assembled by the apparatus of 2nd Embodiment is shown.
第2実施形態の分散システムは、1つのコンポジット機能ブロック301が複数の機器10a〜10zにまたがって配置される場合に対処可能な構成を示したものである。第2実施形態の分散システムは、第1実施形態と同様の構成を含むものであり、第1実施形態と同様の構成については説明を省略する。
The distributed system of the second embodiment shows a configuration that can cope with a case where one composite
第2実施形態の分散システムにおいては、1つのコンポジット機能ブロック301が複数の機器10a〜10zにまたがって配置される場合があるため、コンポジット機能ブロック情報作成機能113によって作成される構成機能ブロックリスト61Bと、公開連携インターフェースリスト71Bとを拡張したものを適用している。
In the distributed system of the second embodiment, since one
構成機能ブロックリスト61Bは、表5に示すように、構成機能ブロックIDに加えて、各機能ブロック31が配置される機器のネットワークアドレス(例えばIPアドレス)がリスト項目に追加されている。これにより、各機能ブロック31が何れの機器10a〜10zに配置されているか特定することが可能となる。
In the configuration
公開連携インターフェースリスト71Bは、表6に示すように、各公開連携インターフェースIDに加えて、各公開連携インターフェース32,33が属する機能ブロック31の識別情報(所属機能ブロックID)がリスト項目に追加されている。これにより、各公開連携インターフェース32,33が、何れの機能ブロック31に属されるものかが特定でき、さらに各機能ブロック31は構成機能ブロックリスト61Bのネットワークアドレスから何れの機器10a〜10zに配置されているかが特定できるので、これらの情報から各公開連携インターフェース32,33が何れの機器10a〜10zに配置されているのかを特定することが可能になっている。
As shown in Table 6, in the public
これらの構成機能ブロックリスト61Bと、公開連携インターフェースリスト71Bとは、該当するコンポジット機能ブロック301が分散配置される機器の個数分だけ複製され、これら複数の機器(例えば2個の機器10x,10y)にそれぞれ転送されて格納される。
The constituent
第2実施形態においても、図7に示すように、各機器10x,10yのコントローラ20には、コンポジット機能ブロック301を構成する機能ブロック31や個々の機能ブロック、ならびに、各機能ブロック31に属される連携インターフェース32,33がインスタンス生成されて動作するようになっている。さらに、コンポジット機能ブロック301が配置される機器10x,10yにおいては、当該コンポジット機能ブロック301に対応する構成機能ブロックリスト61Bと公開連携インターフェースリスト71Bとが格納され、さらに、コンポジット機能ブロック管理部25B、機能ブロック状態取得部26、連携インターフェース操作部27が動作するようになっている。
Also in the second embodiment, as shown in FIG. 7, the
第2実施形態のコンポジット機能ブロック管理部25Bには、第1実施形態のコンポジット機能ブロック管理部25の構成に加えて、通信ネットワーク90を介して他の機器10a〜10zのコンポジット機能ブロック管理部25Bと連携操作要求の送受信を行う操作要求送受信機能(通信機能)を有している。
In the composite function
また、この第2実施形態の分散システムには、コンポジット機能ブロック301が分散配置される複数の機器10x,10yの間で、当該機器10x,10yのハードウェア構成やコントローラ20自体に異常が発生していないか確認し合う上位レベル異常確認機能が備わっている。
In the distributed system of the second embodiment, an abnormality occurs between the plurality of
この上位レベル異常確認機能の具体的としては、1個のコンポジット機能ブロック301が分散配置される複数の機器10x,10y間で、定期的に機器の稼動状態を確認する確認メッセージを交換する構成などを適用可能である。例えば、機器10xのコンポジット機能ブロック管理部25Bが、構成機能ブロックリスト61Bから同一のコンポジット機能ブロック301が分散配置されている他の機器10yのネットワークアドレスを取得し、当該機器10yとの間で定期的に稼動状況を確認する確認メッセージをやり取りする。機器10yのハードウェア上の異常やコントローラ20の異常などで、基本ソフトウェア自体が異常停止した場合には、確認メッセージの応答がなくなるため、それにより確認相手の機器10yに異常が発生したことを判別することができる。
As a specific example of the upper level abnormality confirmation function, a configuration in which confirmation messages for regularly confirming the operation state of the devices are exchanged between a plurality of
次に、第2実施形態に係るコンポジット機能ブロック301の状態管理処理の動作について説明する。 Next, the operation of the state management process of the composite function block 301 according to the second embodiment will be described.
図8には、第2実施形態のコンポジット機能ブロック管理部25Bや機能ブロック状態取得部26により実行されるコンポジット機能ブロック301の状態管理処理のフローチャートを示す。
FIG. 8 shows a flowchart of the state management process of the composite function block 301 executed by the composite function
第2実施形態の状態管理処理においては、図8に示すように、2系統の処理フローによりコンポジット機能ブロック301の異常発生の監視を行う。ステップS1〜S5の異常発生の監視処理は第1実施形態と同様に機能ブロック状態取得部26による監視である。第2実施形態では、さらに、上述した上位レベル異常確認機能による確認メッセージの交換により、コンポジット機能ブロック301の一部が配置されている他の機器10xで異常が発生していないか監視を行っている。
In the state management process of the second embodiment, as shown in FIG. 8, the occurrence of an abnormality in the
確認メッセージの交換により他の機器10xの異常が検知されたら、コンポジット機能ブロック管理部25Bは、全ての構成機能ブロックリスト61Bの中から、異常と検知された機器10xのネットワークアドレスが含まれる構成機能ブロックリスト61Bを探し出し(ステップS11)、この構成機能ブロックリスト61Bに対応するコンポジット機能ブロック301が異常であると判断する(ステップS12)。
When the abnormality of the
また、第1実施形態と同様に、自己の機器に配置されたコンポジット機能ブロック301の内部に異常が発生して機能ブロック状態取得部26により異常検知が行われたら、構成機能ブロックリスト61Bの検索により(ステップS1〜S5)、異常の発生したコンポジット機能ブロック301が特定される。
Similarly to the first embodiment, when an abnormality occurs in the composite function block 301 arranged in its own device and the abnormality is detected by the function block
異常の発生したコンポジット機能ブロック301が特定されたら、次に、コンポジット機能ブロック管理部25Bは、このコンポジット機能ブロック301の構成機能ブロックリスト61Bに対応付けられている公開連携インターフェースリスト71Bを読み込んで、操作対象の連携インターフェース32,33を特定する(ステップS13)。
When the
次に、コンポジット機能ブロック管理部25Bは、操作対象の連携インターフェース32,33に対する連携操作要求のコードを作成する(ステップS14)。第2実施形態では、操作対象の連携インターフェース32,33が他の機器10xに配置されていることがあるため、連携操作要求のコードは、表7に示すように、操作対象の連携インターフェースIDや操作内容のコードに加えて、該当の連携インターフェース32,33が配置された機器10x,10yのネットワークアドレスが追加されたコードとなっている。このような連携操作要求のコードを対象のコンポジット機能ブロック301に属する全ての公開連携インターフェース32,33について作成する。
Next, the composite function
このような連携操作要求のコードを作成したら、個々の連携操作要求ごとに、ネットワークアドレスがローカル(自己の機器)のものか、リモート(他の機器)のものか判別し(判別機能:ステップS15)、ローカルのものであれば自己の機器10yの連携インターフェース操作部27へこの連携操作要求を送る(ステップS16)。それにより、自己の機器の公開連携インターフェース32,33が連携遮断に操作される。
When such a code for a cooperative operation request is created, it is determined for each cooperative operation request whether the network address is local (own device) or remote (other device) (discriminating function: step S15). If it is local, this cooperation operation request is sent to the cooperation
一方、リモートのものであれば、コンポジット機能ブロック管理部25Bは、連携操作要求のネットワークアドレスに示された他の機器10xのコンポジット機能ブロック管理部25Bへ、通信ネットワーク90を介して連携操作要求を送信する(操作要求送信機能:ステップS17)。
On the other hand, if it is remote, the composite function
各機器10x,10yのコンポジット機能ブロック管理部25Bは、割り込み処理などにより連携操作要求を常に受信待機した状態にあり、連携操作要求が送られてくると、これを受信する(ステップS21)。そして、他の機器10yから連携操作要求を受信したら、これを自己の機器10xの連携インターフェース操作部27へ送る(動作要求代行機能:ステップS22)。それにより、機器10xの公開連携インターフェース32,33が連携遮断される。
The composite function
以上のように、第2実施形態の分散システムによれば、1個のコンポジット機能ブロック301が複数の機器10x,10yに分散配置されている場合でも、このコンポジット機能ブロック301を構成する何れかの機能ブロック31で異常が発生した場合に、このコンポジット機能ブロック301に属される全ての公開連携インターフェース32,33が連携遮断となって、コンポジット機能ブロック301の周囲に異常発生を伝えることが可能となる。
As described above, according to the distributed system of the second embodiment, even when one composite
また、コンポジット機能ブロック301が分散配置されている他の機器10x,10yで、ハードウェア異常やコントローラ20の異常によって基本ソフトウェア自体が停止してしまうような上位レベルの異常が発生した場合でも、確認メッセージの確認によりこの異常を検知することができる。そして、当該機器10x,10yに部分的に配置されているコンポジット機能ブロック301が正常動作できないものと判断して、このコンポジット機能ブロック301に属される公開連携インターフェース32,33を連携遮断とすることで、コンポジット機能ブロック301の周囲に異常発生を伝えることが可能となる。それにより、無駄な動作や間違った動作が、正常な動作と区別されずに継続されてしまうといった不具合を回避することができる。
In addition, even if a higher level error that causes the basic software to stop due to a hardware error or a
なお、第2実施形態では、構成機能ブロックリスト61Bにネットワークアドレスを追加し、公開連携インターフェースリスト71Bに構成機能ブロックIDを追加する例を示したが、公開連携インターフェースリスト71Bにネットワークアドレスを追加するようにしても良い。また、第2実施形態では、構成機能ブロックリスト61Bに、各機能ブロック31の配置先アドレスが分かる情報が追加されているため、特に、構成機能ブロックリスト61Bや公開連携インターフェースリスト71Bを、対応するコンポジット機能ブロック301が配置されている機器10x,10yのみに格納する必要はなく、例えば、全ての構成機能ブロックリスト61Bと公開連携インターフェースリスト71Bを全ての機器10a〜10zに格納するようにしても良い。
In the second embodiment, the network address is added to the configuration
その他、連携操作要求の内容やコンポジット機能ブロックによる状態管理処理の処理手順など、実施形態で示した細部は発明の趣旨を逸脱しない範囲で適宜変更可能である。 In addition, the details shown in the embodiment, such as the contents of the cooperation operation request and the processing procedure of the state management process by the composite function block, can be appropriately changed without departing from the spirit of the invention.
10a〜10z 機器
25 コンポジット機能ブロック管理部(コンポジット部品管理部)
26 機能ブロック状態取得部
27 連携インターフェース操作部
31 機能ブロック(プログラム部品)
31A,31B データ書込機能ブロック
31C データ変換機能ブロック
31D イベント型データ変換機能ブロック
31E データバッファ機能ブロック
31F 演算機能ブロック
31G 現場データ取得機能ブロック
32,33 連携インターフェース
33c,33d,33f 公開連携インターフェース(開放インターフェース)
301,301A コンポジット機能ブロック(コンポジットプログラム部品)
61 構成機能ブロックリスト(コンポジット部品リスト、構成情報リスト)
71 公開連携インターフェースリスト(開放インターフェースリスト、構成情報リスト)
90 通信ネットワーク
100 システム構築用コンピュータ
110 分散システム構築支援機能
111 分散システム設計機能
112 モジュール転送機能
113 コンポジット機能ブロック情報作成機能
115 コンポジット機能ブロック情報作成部
121 コンポジット機能ブロック定義情報
25B コンポジット機能ブロック管理部
61B 構成機能ブロックリスト
71B 公開連携インターフェースリスト
10a-
26 Function Block
31A, 31B Data writing
301, 301A Composite function block (composite program part)
61 Configuration function block list (composite parts list, configuration information list)
71 Public linkage interface list (open interface list, configuration information list)
DESCRIPTION OF
Claims (6)
前記機器に配置され前記コンポジットプログラム部品の状態管理と動作制御とを行うコンポジット部品管理部と、
前記機器に配置されるとともに前記コンポジットプログラム部品を構成しているプログラム部品の情報が示された構成情報リストと、
前記構築支援装置に設けられコンポジットプログラム定義情報から前記構成情報リストを作成するリスト作成手段と、
を備え、
前記コンポジット部品管理部は、
自己が配置されている機器内でプログラム部品に異常が検知された場合に、前記構成情報リストに基づき、異常の検知されたプログラム部品が何れかのコンポジットプログラム部品に含まれているか判別し、含まれている場合に、当該コンポジットプログラム部品に属されかつ当該コンポジットプログラム部品以外のプログラム部品とデータをやり取りしている開放インターフェースを指定して異常発生用の動作を行わせることを特徴とする分散システム。 In a distributed system including a distributed environment in which each program part constituting a composite program part and individual program parts are distributed and arranged in a plurality of devices, and a construction support device that supports construction of the distributed environment,
A composite part management unit that performs state management and operation control of the composite program part arranged in the device;
A configuration information list in which information of program parts that are arranged in the device and constitute the composite program part is shown;
List creation means for creating the configuration information list from composite program definition information provided in the construction support device;
With
The composite part management unit
When an abnormality is detected in a program part in the device in which it is located, it is determined based on the configuration information list whether the program part in which the abnormality is detected is included in any composite program part. A distributed system that specifies an open interface that belongs to the composite program part and exchanges data with a program part other than the composite program part, and performs an operation for generating an abnormality. .
前記コンポジットプログラム部品を構成する各プログラム部品をそれぞれ識別可能とする情報が登録されたコンポジット部品リストと、
前記コンポジットプログラム部品に属される前記開放インターフェースをそれぞれ識別可能とする情報が登録された開放インターフェースリストと、
を含み、
前記リスト作成手段は、個々のコンポジットプログラム部品ごとに、前記コンポジット部品リストと前記開放インターフェースリストとを作成する構成であることを特徴とする請求項1記載の分散システム。 The configuration information list is
A composite part list in which information for identifying each program part constituting the composite program part is registered;
An open interface list in which information for identifying each open interface belonging to the composite program part is registered;
Including
2. The distributed system according to claim 1, wherein the list creation means is configured to create the composite part list and the open interface list for each composite program part.
前記コンポジット部品リストに基づき、異常と検知されたプログラム部品を含んだコンポジットプログラム部品を検索し、当該コンポジットプログラム部品を特定する特定機能と、
前記開放インターフェースリストに基づき、前記特定機能により特定されたコンポジットプログラム部品に属される前記開放インターフェースを指定して異常発生用の動作を行わせる動作要求機能と、
を備えていることを特徴とする請求項2記載の分散システム。 The composite part management unit
Based on the composite part list, search for a composite program part including a program part detected as abnormal, and a specific function for specifying the composite program part,
Based on the open interface list, an operation request function for specifying the open interface belonging to the composite program part specified by the specific function and performing an operation for generating an abnormality,
The distributed system according to claim 2, further comprising:
前記コンポジットプログラム部品に属される前記開放インターフェースの各々がどの機器に配置されているかを示す配置情報を含み、
前記コンポジット部品管理部は、
他の機器に配置された別のコンポジット部品管理部と通信ネットワークを介して通信する通信機能と、
前記配置情報に基づき異常と判別されたコンポジットプログラム部品に属される開放インターフェースの何れかが他の機器に配置されているか否かを判別する判別機能と、
該判別機能により他の機器に配置されていると判別された場合に、前記配置情報に基づき前記通信機能を用いて当該他の機器のコンポジット部品管理部に操作要求を送信する操作要求送信機能と、
他の機器のコンポジット部品管理部から前記操作要求を受信した場合に、当該操作要求に応じたコンポジットプログラム部品の開放インターフェースに異常発生用の動作を行わせる動作要求代行機能と、
を備えていることを特徴とする請求項1記載の分散システム。 The configuration information list is
Including arrangement information indicating in which device each of the open interfaces belonging to the composite program part is arranged;
The composite part management unit
A communication function for communicating with another composite component management unit arranged in another device via a communication network;
A determination function for determining whether any of the open interfaces belonging to the composite program part determined to be abnormal based on the arrangement information is arranged in another device,
An operation request transmission function for transmitting an operation request to the composite part management unit of the other device using the communication function based on the arrangement information when it is determined by the determination function that the device is disposed in another device; ,
When the operation request is received from the composite component management unit of another device, an operation request proxy function that causes the release interface of the composite program component corresponding to the operation request to perform an operation for occurrence of an abnormality,
The distributed system according to claim 1, further comprising:
コンポジットプログラム部品の構成情報が表わされたコンポジットプログラム定義情報を読み込ませる機能と、
前記コンポジットプログラム定義情報から、当該コンポジットプログラム部品を構成する各プログラム部品の識別情報、および、当該コンポジットプログラム部品に属されかつ他のプログラム部品とデータをやり取りする各開放インターフェースの識別情報を含んだ構成情報リストを作成する機能と、
を実現させるプログラム。 A computer that supports the construction of a distributed environment
A function for reading composite program definition information in which composite program part configuration information is represented;
Configuration including identification information of each program part constituting the composite program part and identification information of each open interface belonging to the composite program part and exchanging data with other program parts from the composite program definition information The ability to create information lists;
A program that realizes
前記機器の制御用コンピュータに、
機器内のプログラム部品に異常が検知された場合に、前記制御用コンピュータの記憶部に格納されたコンポジットプログラム部品の構成情報リストから、異常が発生したプログラム部品を含んだコンポジットプログラム部品を検索して、当該コンポジットプログラム部品を特定する特定機能と、
前記制御用コンピュータの記憶部に格納されたコンポジットプログラム部品の構成情報リストから、前記特定機能により特定されたコンポジットプログラム部品に属されかつ当該コンポジットプログラム部品以外のプログラム部品とデータのやり取りを行っている開放インターフェースを指定し、当該開放インターフェースに異常発生用の動作を行わせる動作要求機能と、
を実現させるプログラム。 A program that is executed by a computer for controlling a plurality of devices that realize a distributed environment by arranging program parts,
In the computer for controlling the device,
When an abnormality is detected in the program part in the device, the composite program part including the program part in which the abnormality has occurred is retrieved from the composite program part configuration information list stored in the storage unit of the control computer. A specific function for identifying the composite program part,
From the composite program part configuration information list stored in the storage unit of the control computer, data is exchanged with a program part belonging to the composite program part specified by the specific function and other than the composite program part. An operation request function that designates an open interface and causes the open interface to perform an action for occurrence of an abnormality,
A program that realizes
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008319276A JP2010146050A (en) | 2008-12-16 | 2008-12-16 | Distributed system and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008319276A JP2010146050A (en) | 2008-12-16 | 2008-12-16 | Distributed system and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010146050A true JP2010146050A (en) | 2010-07-01 |
Family
ID=42566477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008319276A Pending JP2010146050A (en) | 2008-12-16 | 2008-12-16 | Distributed system and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010146050A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210325847A1 (en) * | 2016-09-09 | 2021-10-21 | Fanuc America Corporation | Program and variable change analysis method and system |
-
2008
- 2008-12-16 JP JP2008319276A patent/JP2010146050A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210325847A1 (en) * | 2016-09-09 | 2021-10-21 | Fanuc America Corporation | Program and variable change analysis method and system |
US11906944B2 (en) * | 2016-09-09 | 2024-02-20 | Fanuc America Corporation | Program and variable change analysis method and system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5525240B2 (en) | Customized document creation method, apparatus, graphical user interface means, and machine accessible medium | |
WO2002042853A1 (en) | Method and apparatus for programming | |
JP2014146077A (en) | Control device and method for operating control device | |
JP2018112829A (en) | Cloud service control device, cloud service control system, cloud service control method, cloud service control program and recording medium | |
JP2011193307A (en) | Field communication system and field communication method | |
JPWO2015037603A1 (en) | Remote monitoring system, remote monitoring method, and program | |
JP2010117753A (en) | Field equipment and field equipment software updating system using the same | |
WO2022059588A1 (en) | Plc device and industrial machine system | |
JP2012133610A (en) | Dual process controller and control data coincidence method | |
US11303518B2 (en) | System and method for checking system requirements of cyber-physical systems | |
JP2010146050A (en) | Distributed system and program | |
JP2011186607A (en) | Field device, setting method for the same, field device management method and program | |
JP7099352B2 (en) | Control system | |
JP5207310B2 (en) | Control device for plant monitoring and control system | |
JP3988605B2 (en) | Setting tool device | |
JP2004227175A (en) | Maintenance system | |
JP2018180722A (en) | Data management system | |
JP6054008B1 (en) | Data management apparatus, data management method, and data management program | |
JPWO2018174223A1 (en) | Operation management server, development operation support system, their method and program | |
JP6755537B1 (en) | Signal processing equipment, monitoring and control systems, monitoring and control methods, monitoring and control programs, and manufacturing methods for monitoring and control systems | |
JP2022152987A (en) | Alarm management device, alarm management method and alarm management program | |
JP2007026122A (en) | Plant monitoring control system | |
JP5944003B2 (en) | Display management system, server device thereof, programmable display, operation control method | |
WO2019244327A1 (en) | Management device, management method, and program | |
JP2008225680A (en) | Monitoring control system and method |