JPWO2015063959A1 - Inter-device control method, inter-device control program, and inter-device control system - Google Patents
Inter-device control method, inter-device control program, and inter-device control system Download PDFInfo
- Publication number
- JPWO2015063959A1 JPWO2015063959A1 JP2015544751A JP2015544751A JPWO2015063959A1 JP WO2015063959 A1 JPWO2015063959 A1 JP WO2015063959A1 JP 2015544751 A JP2015544751 A JP 2015544751A JP 2015544751 A JP2015544751 A JP 2015544751A JP WO2015063959 A1 JPWO2015063959 A1 JP WO2015063959A1
- Authority
- JP
- Japan
- Prior art keywords
- processing device
- processing
- control
- inter
- information
- 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
- 238000000034 method Methods 0.000 title claims description 82
- 238000012545 processing Methods 0.000 claims abstract description 394
- 230000004044 response Effects 0.000 claims abstract description 13
- 238000004891 communication Methods 0.000 claims description 87
- 230000006870 function Effects 0.000 description 80
- 239000010410 layer Substances 0.000 description 33
- 238000010586 diagram Methods 0.000 description 26
- 238000012544 monitoring process Methods 0.000 description 24
- 238000007639 printing Methods 0.000 description 9
- 239000012792 core layer Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- KNMAVSAGTYIFJF-UHFFFAOYSA-N 1-[2-[(2-hydroxy-3-phenoxypropyl)amino]ethylamino]-3-phenoxypropan-2-ol;dihydrochloride Chemical compound Cl.Cl.C=1C=CC=CC=1OCC(O)CNCCNCC(O)COC1=CC=CC=C1 KNMAVSAGTYIFJF-UHFFFAOYSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004134 energy conservation Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
Abstract
第1の処理装置(110)が第2の処理装置(120)に接続された第2の機器(121)を制御する機器間制御システムであって、第1の処理装置(110)は、第2の処理装置(120)に接続され、第2の処理装置(120)が制御する第2の機器(121)の制御情報を取得する。第1の処理装置(110)は、第2の処理装置(120)に接続された第2の機器(121)に対する所定の制御時には、第1の処理装置(110)内のインタフェース同様の形式を有し、第1の処理装置(110)以外の識別子を付与した所定のコマンドを実行し、第2の処理装置(120)からの応答を、実行したコマンドに対する結果として用いる。An inter-device control system in which a first processing device (110) controls a second device (121) connected to a second processing device (120), wherein the first processing device (110) Control information of the second device (121) connected to the second processing device (120) and controlled by the second processing device (120) is acquired. The first processing device (110) has the same format as the interface in the first processing device (110) during predetermined control of the second device (121) connected to the second processing device (120). A predetermined command having an identifier other than the first processing device (110) is executed, and a response from the second processing device (120) is used as a result of the executed command.
Description
この発明は、ネットワーク等に接続された各機器の相互制御を行う機器間制御方法、機器間制御プログラムおよび機器間制御システムに関する。 The present invention relates to an inter-device control method, an inter-device control program, and an inter-device control system that perform mutual control of devices connected to a network or the like.
従来、ネットワーク等を介して接続された機器が相互に制御可能な技術が提案されている(例えば、下記特許文献1,2等参照。)。特許文献1は、ECHONET(Energy Conservation and HOmecare NETwork)規格にしたがい、家電機器等を外部の通信網から家電制御プロトコルを用いて制御する技術である。特許文献2は、車載用の組み込みシステム向けに標準化されたAUTOSAR(AUTomotive Open System ARchitecture)に準拠した制御プログラムにより、要求される機能を完全に停止させることなく、プログラムの一部を動的に書き換えることができる技術である。
Conventionally, a technique has been proposed in which devices connected via a network or the like can be controlled with each other (for example, see
しかしながら、従来の技術では、ある第1の処理装置に接続された第1の機器の制御方法と、ネットワーク上の他の第2の処理装置に接続された第2の機器の制御方法とは異なっている。第1の処理装置は、第1の機器に直接アクセスする方法でプログラミング可能である。これに対し、第1の処理装置には、第2の機器を制御するために、間に介在するネットワークの通信プログラムを追加しなければ実現できない。 However, in the conventional technique, the control method of the first device connected to a certain first processing device is different from the control method of the second device connected to another second processing device on the network. ing. The first processing device is programmable in a way that directly accesses the first device. On the other hand, in order to control the second device, the first processing device cannot be realized without adding a network communication program interposed therebetween.
特許文献1の技術は専用プロトコルを用いるため、ネットワーク間通信に専用のI/Fが必要となる。また、特許文献2の技術においても、車載の各機器間の通信には、専用のI/Fおよび専用プロトコルが必要となる。
Since the technique of
このように、第1の処理装置は第1の機器に対する制御を行うクローズドシステムであり、同様に第2の処理装置は第2の機器に対する制御を行うクローズドシステムであり、これらクローズドシステム間を跨いでの機器制御はネットワークの通信を間に介在させねばならず、通信処理のプログラムを別途必要とする。したがって、従来、自身の第1の処理装置がネットワーク上の第2の機器を制御するためには、プログラミングのステップ数が大幅に増えるという問題を生じた。 Thus, the first processing device is a closed system that controls the first device, and similarly, the second processing device is a closed system that controls the second device, and straddles between these closed systems. In the device control, network communication must be interposed between them, and a communication processing program is required separately. Therefore, conventionally, in order for the first processing apparatus of its own to control the second device on the network, there has been a problem that the number of programming steps is greatly increased.
また、制御対象の機器を自身の第1の処理装置に接続されている第1の機器からネットワーク上の第2の機器に変更する場合、プログラムの変更工数が増大するという問題が生じた。 Further, when the device to be controlled is changed from the first device connected to its own first processing device to the second device on the network, there has been a problem that the man-hour for changing the program increases.
例えば、第1,第2の処理装置がそれぞれCPUを備えた制御機器であり、互いにネットワーク接続されているとする。第1の処理装置は、第1の機器として監視カメラを制御する。第2の処理装置は、第2の機器として侵入検知器を制御する。そして、第1の処理装置によって、第2の機器(侵入検知器)を制御しようとする場合、この第2の機器は、第2の処理装置に固有のプログラムによって制御されているため、ネットワークの通信プログラムを追加し、かつ、第2の処理装置のプログラムにしたがったプログラム調整を行わなければならず、手間がかかった。 For example, it is assumed that the first and second processing devices are control devices each having a CPU and are connected to each other via a network. The first processing device controls the monitoring camera as the first device. The second processing device controls the intrusion detector as the second device. When the second processing device (intrusion detector) is to be controlled by the first processing device, the second device is controlled by a program unique to the second processing device. A communication program must be added and program adjustments must be made in accordance with the program of the second processing apparatus, which is troublesome.
図14は、従来のネットワーク接続された他の機器の制御処理プログラム例を示す図である。図14の(a)に示すように、第1の処理装置Aに接続された第1の機器Xへのアクセス(オープン、クローズ)については、通信にかかる処理を考慮せずに、少ない行数でプログラミングできる。 FIG. 14 is a diagram illustrating an example of a control processing program of another conventional device connected to the network. As shown in (a) of FIG. 14, for access (open, closed) to the first device X connected to the first processing device A, the number of rows is small without considering communication processing. Can be programmed.
しかしながら、図14の(b)に示すように、第1の処理装置Aが第2の機器Yへアクセス(オープン、クローズ)する場合には、第1の処理装置Aと第2の処理装置Bとの間のネットワークの通信にかかる通信プログラムに追加行1001a〜1001c、および修正行1002が必要となり、作業工数が増えてしまう。
However, as shown in FIG. 14B, when the first processing device A accesses (opens and closes) the second device Y, the first processing device A and the second processing device B. An
上述の説明では、第1の処理装置と第2の処理装置がネットワークを介して接続されることを前提に説明したが、これら第1,第2の処理装置がそれぞれ分散・マルチコアのCPU,共有メモリ等を備えた構成においても、CPU間の通信において同様の問題を生じる。 The above description is based on the assumption that the first processing device and the second processing device are connected via a network. However, these first and second processing devices are respectively distributed and multi-core CPUs and shared. Even in a configuration including a memory or the like, the same problem occurs in communication between CPUs.
本発明は、上記課題に鑑み、処理装置間の通信を意識せずに他の処理装置に接続された機器を簡単に制御できることを目的とする。 In view of the above problems, an object of the present invention is to easily control a device connected to another processing apparatus without being aware of communication between the processing apparatuses.
上記目的を達成するため、本発明の機器間制御方法は、自処理装置が自処理装置に接続された第1の機器、または第2の処理装置に接続された第2の機器を制御する機器間制御方法であって、自処理装置のコンピュータが、制御対象の前記第1の機器または前記第2の機器を制御するための名前と、関数名と引数情報からなるオブジェクトを生成し、予め設定されたネットワーク情報に含まれる前記第1の機器または前記第2の機器の通信方式、および通信パラメータを参照して、前記オブジェクトにアクセスする情報を得て、前記オブジェクト名、関数名、および引数情報を所定のパケットに変換し、前記通信方式に対応するポートを選択して、前記パケットを引き渡し、前記パケットを該当する自処理装置に接続された前記第1の機器、または前記第2の機器が接続された前記第2の処理装置に送信する、ことを特徴とする。 In order to achieve the above object, the inter-device control method of the present invention is a device that controls a first device whose own processing device is connected to the own processing device or a second device connected to the second processing device. This is an inter-control method, in which the computer of its own processing device generates an object composed of a name for controlling the first device or the second device to be controlled, a function name, and argument information, and is set in advance The information for accessing the object is obtained by referring to the communication method and communication parameters of the first device or the second device included in the network information, and the object name, function name, and argument information The first device connected to the corresponding own processing device, selecting the port corresponding to the communication method, delivering the packet, Other transmits to the second device connected to said second processor, and wherein the.
また、前記第2の処理装置は、受信した前記パケットから前記オブジェクト名、関数名、引数情報を復元し、制御処理を実行し、実行結果の戻り値を所定のパケットに変換して、第1の処理装置に送信し、前記第1の処理装置は、前記第2の処理装置が送信した前記戻り値を受信する、ことを特徴とする。 The second processing device restores the object name, function name, and argument information from the received packet, executes control processing, converts the return value of the execution result into a predetermined packet, And the first processing device receives the return value transmitted by the second processing device.
また、前記自処理装置と、第2の処理装置との間にサーバを設け、前記自処理装置、または第2の処理装置は、オブジェクトのネットワーク上の位置情報を前記サーバに登録し、前記オブジェクトにアクセスする前記自処理装置、または前記第2の処理装置は、アクセス先の処理装置のネットワーク上の位置情報を前記サーバに問い合わせ、前記問い合わせにより得たネットワーク上の位置情報に基づき、所望する処理装置のオブジェクトに対し、前記ネットワーク上の位置情報を用いてアクセスする、ことを特徴とする。 Further, a server is provided between the own processing device and the second processing device, and the own processing device or the second processing device registers position information of the object on the network with the server, and the object The self-processing device or the second processing device that accesses the server inquires the server for location information on the network of the access-destination processing device, and performs a desired process based on the location information on the network obtained by the inquiry Access to an object of a device is performed using position information on the network.
また、本発明の機器間制御方法は、自処理装置が第2の処理装置に接続された第2の機器を制御する機器間制御方法であって、自処理装置のコンピュータが、前記第2の処理装置に接続され、当該第2の処理装置が制御する前記第2の機器の制御情報を取得する処理、前記第2の処理装置に接続された前記第2の機器に対する所定の制御時には、自処理装置内のインタフェース同様の形式を有し、自処理装置以外の識別子を付与した所定のコマンドを実行するとともに、前記制御情報を参照して前記所定のコマンドに対応する要求を前記第2の処理装置に送信する処理、前記第2の処理装置からの応答を、前記実行したコマンドに対する結果として用いる処理、を実行することを特徴とする。 Further, the inter-device control method of the present invention is an inter-device control method in which the self-processing device controls a second device connected to the second processing device, and the computer of the self-processing device has the second processing device. During processing for obtaining control information of the second device connected to the processing device and controlled by the second processing device, and during predetermined control of the second device connected to the second processing device, Executing a predetermined command having a format similar to the interface in the processing apparatus and assigned with an identifier other than the own processing apparatus, and referring to the control information, a request corresponding to the predetermined command is transmitted to the second process. A process of transmitting to the apparatus and a process of using a response from the second processing apparatus as a result for the executed command are executed.
また、自処理装置に接続された第1の機器の制御は、自処理装置の接続ポートを指定し、前記第2の処理装置に接続された前記第2の機器の制御は、当該制御に対応する所定のコマンドのポートを自処理装置以外として設定する、ことを特徴とする。 In addition, the control of the first device connected to the own processing device specifies the connection port of the own processing device, and the control of the second device connected to the second processing device corresponds to the control. A port of a predetermined command to be set is set as a device other than the own processing device.
また、前記制御情報には、前記第2の機器の機能と、機能別の識別子を含み、自処理装置は、前記制御情報を参照し、所望する機能の制御に対応した識別子の情報を前記第2の処理装置に送信する、ことを特徴とする。 The control information includes a function of the second device and an identifier for each function, and the self-processing device refers to the control information and stores information on an identifier corresponding to control of a desired function. It transmits to 2 processing apparatuses, It is characterized by the above-mentioned.
また、自処理装置は、前記第2の機器の制御情報を予め取得し、格納保持しておくことを特徴とする。 Further, the own processing apparatus is characterized in that the control information of the second device is acquired in advance and stored.
また、自処理装置は、前記第2の機器の制御情報を前記第2の処理装置から取得することを特徴とする。 In addition, the own processing apparatus acquires control information of the second device from the second processing apparatus.
また、前記第2の機器の制御情報を前記第2の処理装置が接続されたサーバが収集し、自処理装置は、前記サーバから前記第2の機器の制御情報を取得することを特徴とする。 In addition, the control information of the second device is collected by a server to which the second processing device is connected, and the own processing device acquires the control information of the second device from the server. .
また、前記第2の処理装置は、前記自処理装置からの要求時に、前記第2の機器の制御情報に基づき、前記第2の機器が接続された接続ポートを指定し、前記第2の機器を制御することを特徴とする。 The second processing device designates a connection port to which the second device is connected based on the control information of the second device at the time of a request from the own processing device, and the second device It is characterized by controlling.
また、本発明の機器間制御プログラムは、自処理装置が自処理装置に接続された第1の機器、または第2の処理装置に接続された第2の機器を制御する機器間制御プログラムであって、自処理装置のコンピュータに、制御対象の前記第1の機器または前記第2の機器を制御するための名前と、関数名と引数情報からなるオブジェクトを生成する処理、予め設定されたネットワーク情報に含まれる前記第1の機器または前記第2の機器の通信方式、および通信パラメータを参照して、前記オブジェクトにアクセスする情報を得る処理、前記オブジェクト名、関数名、および引数情報を所定のパケットに変換し、前記通信方式に対応するポートを選択して、前記パケットを引き渡す処理、前記パケットを該当する自処理装置に接続された前記第1の機器、または前記第2の機器が接続された前記第2の処理装置に送信する処理、を実行させることを特徴とする。 The inter-device control program of the present invention is an inter-device control program for controlling the first device connected to the own processing device or the second device connected to the second processing device. Processing for generating an object composed of a name for controlling the first device or the second device to be controlled, a function name and argument information in the computer of the processing device, preset network information A process for obtaining information for accessing the object with reference to the communication method and communication parameters of the first device or the second device included in the object, the object name, the function name, and the argument information in a predetermined packet Processing to select a port corresponding to the communication method and deliver the packet, the first connected to the corresponding own processing device the packet Equipment, or the second device is characterized in that to execute a process, to be transmitted to the connected second processor.
また、本発明の機器間制御システムは、自処理装置が自処理装置に接続された第1の機器、または第2の処理装置に接続された第2の機器を制御する機器間制御システムであって、自処理装置は、制御対象の前記第1の機器または前記第2の機器を制御するための名前と、関数名と引数情報からなるオブジェクトを生成するオブジェクト生成部と、予め設定されたネットワーク情報に含まれる前記第1の機器または前記第2の機器の通信方式、および通信パラメータを参照して、前記オブジェクトにアクセスする情報を得る通信処理部と、前記オブジェクト名、関数名、および引数情報を所定のパケットに変換し、前記通信方式に対応するポートを選択して、前記パケットを引き渡すパケット処理部と、前記パケットを該当する自処理装置に接続された前記第1の機器、または前記第2の機器が接続された前記第2の処理装置に送信する通信部と、を有することを特徴とする。 The inter-device control system of the present invention is an inter-device control system in which the own processing device controls the first device connected to the own processing device or the second device connected to the second processing device. The self-processing apparatus includes an object generation unit that generates an object including a name for controlling the first device or the second device to be controlled, a function name and argument information, and a preset network. A communication processing unit that obtains information for accessing the object with reference to the communication method and communication parameters of the first device or the second device included in the information, the object name, the function name, and the argument information Is converted into a predetermined packet, a port corresponding to the communication method is selected, the packet processing unit delivering the packet, and the packet to the corresponding own processing device And having a communication unit that transmits connection to said first device or said second device is connected to said second processor.
また、本発明の機器間制御プログラムは、自処理装置が第2の処理装置に接続された第2の機器を制御する機器間制御プログラムであって、自処理装置のコンピュータに、前記第2の処理装置に接続され、当該第2の処理装置が制御する前記第2の機器の制御情報を取得する処理、前記第2の処理装置に接続された前記第2の機器に対する所定の制御時には、自処理装置内のインタフェース同様の形式を有し、自処理装置以外の識別子を付与した所定のコマンドを実行させ、前記制御情報を参照して前記所定のコマンドに対応する要求を前記第2の処理装置に送信する処理、前記第2の処理装置からの応答を、前記実行したコマンドに対する結果として用いる処理、を実行させることを特徴とする。 An inter-device control program according to the present invention is an inter-device control program for controlling a second device connected to the second processing device by the own processing device, wherein the second processing device stores the second processing device in the computer of the own processing device. During processing for obtaining control information of the second device connected to the processing device and controlled by the second processing device, and during predetermined control of the second device connected to the second processing device, The second processing device has a format similar to the interface in the processing device, causes a predetermined command to which an identifier other than the own processing device is assigned, to execute a request corresponding to the predetermined command with reference to the control information And a process of using a response from the second processing device as a result for the executed command.
また、本発明の機器間制御システムは、自処理装置が第2の処理装置に接続された第2の機器を制御する機器間制御システムであって、自処理装置は、前記第2の処理装置に接続され、当該第2の処理装置が制御する前記第2の機器の制御情報を取得する取得部と、前記第2の処理装置に接続された前記第2の機器に対する所定の制御時には、自処理装置内のインタフェース同様の形式を有し、自処理装置以外の識別子を付与した所定のコマンドを実行し、前記制御情報を参照して前記所定のコマンドに対応する要求を前記第2の処理装置に送信し、前記第2の処理装置からの応答を、前記実行したコマンドに対する結果として用いる実行部と、前記要求を送信し、前記要求の返答を受信する通信部と、を有することを特徴とする。 The inter-device control system of the present invention is an inter-device control system in which the self-processing device controls a second device connected to the second processing device, and the self-processing device is the second processing device. And an acquisition unit that acquires control information of the second device controlled by the second processing device, and a predetermined control for the second device connected to the second processing device. The second processing device has a format similar to the interface in the processing device, executes a predetermined command to which an identifier other than the own processing device is assigned, and refers to the control information to request corresponding to the predetermined command And an execution unit that uses the response from the second processing device as a result of the executed command, and a communication unit that transmits the request and receives a response to the request. To do.
また、機器間制御システムの自処理装置と前記第2の処理装置とがネットワーク接続されたことを特徴とする。 In addition, the self-processing device of the inter-device control system and the second processing device are network-connected.
また、機器間制御システムの自処理装置と前記第2の処理装置は、同一機器内のCPU間接続であることを特徴とする。 Further, the self-processing device of the inter-device control system and the second processing device are inter-CPU connections in the same device.
上記構成によれば、自処理装置は、第2の処理装置に接続された第2の機器を直接制御できる。第2の機器は、第2の処理装置に固有のプログラムによって制御されているが、自処理装置は、ネットワークの通信プログラム等を追加せずとも第2の処理装置に接続された第2の機器を制御できる。 According to the said structure, the own processing apparatus can directly control the 2nd apparatus connected to the 2nd processing apparatus. The second device is controlled by a program specific to the second processing device, but the self-processing device is a second device connected to the second processing device without adding a network communication program or the like. Can be controlled.
本発明によれば、処理装置間の通信を意識せずに他の処理装置に接続された機器を簡単に制御できるという効果を奏する。 According to the present invention, it is possible to easily control a device connected to another processing apparatus without being conscious of communication between the processing apparatuses.
(実施の形態)
以下に添付図面を参照して、この発明にかかる機器間制御方法、機器間制御プログラムおよび機器間制御システムの好適な実施の形態を詳細に説明する。(Embodiment)
Exemplary embodiments of an inter-device control method, an inter-device control program, and an inter-device control system according to the present invention will be described below in detail with reference to the accompanying drawings.
図1は、実施の形態にかかる機器間制御システムの全体構成を示す図である。機器間制御システム100は、第1の処理装置110と第2の処理装置120とがネットワーク130を介して接続されている。
FIG. 1 is a diagram illustrating an overall configuration of an inter-device control system according to an embodiment. In the
第1の処理装置110には、第1の機器111が接続され、第1の処理装置110は、第1の機器111を制御する。第2の処理装置120には、第2の機器121が接続され、第2の処理装置120は、第2の機器121を制御する。
A
図1に記載したように、第2の処理装置120は、ネットワーク130を介して複数接続することができる。また、第2の処理装置120には、異なる(機能等の)第2の機器121を複数接続することができる。これら第2の処理装置120と第2の機器121は、固有のIDにより識別できる。
As described in FIG. 1, a plurality of
実施の形態では、第1の処理装置110は、ネットワーク130を介して第2の処理装置120に接続された第2の機器121を直接制御しようとするものである。第1の処理装置110、および第2の処理装置120は、ネットワーク130に接続可能な汎用の通信I/Fと通信プログラムを備えているものとする。
In the embodiment, the
図2は、実施の形態にかかる第1の処理装置のハードウェア構成例を示すブロック図である。図2において、第1の処理装置110は、制御部(CPU)201と、Read−Only Memory(ROM)202と、Random Access Memory(RAM)203と、半導体メモリやディスクドライブ等の記憶部204と、通信インタフェース(I/F)205と、を含む。これらCPU201〜通信インタフェース205は、バス206によってそれぞれ接続されている。
FIG. 2 is a block diagram of a hardware configuration example of the first processing apparatus according to the embodiment. In FIG. 2, the
また、この第1の処理装置110には、被制御機器である第1の機器111がバス206を介して接続される。第1の機器111は、通信インタフェース(I/F)205等を介して接続される構成としてもよい。さらに、この第1の処理装置110は、ディスプレイ208、キーボード210、マウス211、スキャナ212、プリンタ213がバス206等を介して接続された構成とすることができる。
In addition, a
CPU201は、第1の処理装置110の全体の制御を司る演算処理装置である。ROM202は、第1の処理装置110のプログラム等を記憶する不揮発性メモリである。RAM203は、CPU201によるプログラムの演算処理実行時のワークエリアとして使用される揮発性メモリである。
The
通信インタフェース205は、ネットワーク130と内部のインタフェースを司り、第2の処理装置120との間のデータの入出力を制御する。具体的に、通信インタフェース205は、通信回線を通じてネットワーク130となるLocal Area Network(LAN)、Wide Area Network(WAN)、インターネットなどに接続され、ネットワーク130を介して第2の処理装置120に接続される。通信インタフェース205には、例えば、モデムやLANアダプタなどを採用することができる。
The
ディスプレイ208は、CPU201のプログラム実行による被制御機器(第1の機器111,第2の機器121)の制御情報を表示する装置である。ディスプレイ208には、例えば、Thin Film Transistor(TFT)液晶ディスプレイ、プラズマディスプレイ、有機ELディスプレイなどを採用することができる。
The
第2の処理装置120についても、第1の処理装置110同様に図2に記載のハードウェアにより構成することができる。
Similarly to the
図3は、実施の形態にかかる第1の処理装置から第2の機器へのアクセスの概要を説明する図である。第2の機器121(Y)が所定の監視エリアの人などの侵入を監視する侵入検知器の例で説明する。 FIG. 3 is a diagram illustrating an overview of access from the first processing apparatus to the second device according to the embodiment. An example of an intrusion detector in which the second device 121 (Y) monitors the intrusion of a person or the like in a predetermined monitoring area will be described.
はじめに、第1の処理装置(A)110は、CPU201がアプリケーション等のプログラム301を実行し、このプログラム301は、第2の機器121の監視情報の取得にかかる処理(図示の例ではRead関数をcall)を行い(ステップS301)、Readコマンドを発行する(ステップS302)。
First, in the first processing apparatus (A) 110, the
次に、プログラム301の下位層は、第2の機器121に対するコマンドを解釈し、第2の機器121の制御情報が示された処理テーブル302を参照し、第2の機器121の監視情報を取得するコマンドを発行する(ステップS303)。処理テーブル302は、第2の機器121が接続された第2の処理装置120に予め用意されるものであり、図2に示したRAM203上に作成され、記憶部204に保持できる。
Next, the lower layer of the
ステップS303では、第1の処理装置110は、処理テーブル302を第2の処理装置120等から取得したものを参照する。また、第1の処理装置110は、ステップS303により発行されたコマンドを、汎用の通信I/Fを介して処理テーブル302に該当する第2の処理装置120に送信する。ここで、第1の処理装置110は、第2の機器121を制御するコマンドそのものを送信するのではなく、処理テーブル302の参照により、コマンドを解釈してこのコマンドに対応する制御の要求を送信する。第2の処理装置120は、処理テーブル302を有しており、処理テーブル302の参照により、第1の処理装置110から送信された要求に対応する制御を行うことができる。
In step S303, the
第2の処理装置(B)120では、第1の処理装置110からのReadコマンドを受け取り、Readコマンドに対応して、第2の機器121から監視情報を取得し(ステップS304)、第1の処理装置110に対して監視情報を送付する(ステップS305)。
The second processing device (B) 120 receives the Read command from the
図4は、実施の形態にかかる制御プログラム例を示す図である。図4の(a)は、第1の処理装置110に接続されている第1の機器(X)111の制御プログラム例である。また、図4の(b)は、第2の処理装置120に接続されている第2の機器(Y)121の制御プログラム例である。
FIG. 4 is a diagram illustrating an example of a control program according to the embodiment. 4A is an example of a control program for the first device (X) 111 connected to the
図4の(a),(b)のプログラムが示す制御内容は同じものとなる。このように、被制御対象(第1の機器111、第2の機器121)が自身(第1の処理装置110)に接続されている/いないにかかわらず、プログラム内容は同じとなる。したがって、プログラマは、第1の処理装置110のプログラムを作成する際に、第1の機器111、および第2の機器121について、第1の処理装置110と第2の処理装置120間の通信にかかる処理を意識することなく、プログラムを作成することができるようになる。
The control contents shown by the programs in FIGS. 4A and 4B are the same. As described above, the program contents are the same regardless of whether the controlled target (
また、第1の処理装置110、第2の処理装置120に接続される第1の機器111、第2の機器121の故障や機能変更等によるハードウェアの変更が生じても、処理テーブル302を変更するだけで、図4に示したプログラム(アプリケーション層のソフトウェア)の変更は発生しない。
Further, even if a hardware change occurs due to a failure or a function change of the
図5は、実施の形態にかかる第1の処理装置によって第2の機器にアクセスするための具体例を説明する図である。この例では、第2の機器121が接続された第2の処理装置120は、起動時にプログラム501が上記の処理テーブル302として関数呼び出しテーブル502を作成する。なお、関数呼び出しテーブル502は、プログラム501の起動時に限らず、任意のタイミングで作成してもよく、手作業で作成したものを外部から入力する構成としてもよい。
FIG. 5 is a diagram illustrating a specific example for accessing the second device by the first processing device according to the embodiment. In this example, when the
このプログラム501には、起動時に関数呼び出しテーブル502を作成する処理と、第2の機器121の監視情報を取得する処理(readPort)と、読み出した監視情報に対して所定の関数演算等の処理と、が記述(設定)されている。
The
関数呼び出しテーブル502は、第2の機器121のID(ID1)と、この第2の機器121が接続された第2の処理装置120のポートのアドレスからなる。この例では、ID1には、第2の機器121から監視情報を読み出すためのreadPortのアドレスが設定されている。このほか、図3に示したように、ID別に書き込み(Write)、起動(Start)、停止(Stop)等の制御機能をそれぞれ設定しておくことができる。
The function call table 502 includes the ID (ID1) of the
関数呼び出しテーブル502の設定は、図5に示したように「readPort」のような文字列に限らず、ポートを読む旨を示す「1001」のような数値列としてもよい。 The setting of the function call table 502 is not limited to a character string such as “readPort” as illustrated in FIG. 5, but may be a numeric string such as “1001” indicating that a port is read.
通信処理タスク503は、ネットワーク130に対する(第1の処理装置110との間の)通信処理(受信および送信)を実行し、第1の処理装置110から第2の機器121に対する要求時には、該当するIDを用いた関数呼び出しテーブル502を検索し、要求に対応したプログラム501の関数演算を実行する。
The
以下、実施の形態にかかる第1の処理装置から第2の機器へのアクセスを行うための手順を順に説明する。はじめに、第2の処理装置120のプログラム501が起動すると、関数呼び出しテーブル502を作成する(ステップS501)。
Hereinafter, a procedure for accessing the second device from the first processing apparatus according to the embodiment will be described in order. First, when the
この際、プログラム501は、第2の処理装置120に接続されている第2の機器121の接続ポートを検出し、監視情報を読み出す機能のIDにreadPortのアドレスを関連付けた設定を関数呼び出しテーブル502に作成する。同様に、第2の処理装置120が実行可能な制御(関数演算等)の機能について、所定のID(図示の例ではID2)を関数呼び出しテーブル502に設定する。
At this time, the
そして、第1の処理装置110は、第2の処理装置120が作成した関数呼び出しテーブル502を任意のタイミングで取得する。関数呼び出しテーブル502の取得タイミングは、第2の機器121の機能、およびこの第2の機器121が接続されている第2の処理装置120の所在等を把握している場合には、第1の処理装置110が直接、第2の処理装置120にアクセスして取得する。
Then, the
これに限らず、第2の処理装置120がネットワーク130上に関数呼び出しテーブル502を公開している場合には、この公開された関数呼び出しテーブル502を参照した第1の処理装置110のうち、第2の機器121の制御を所望する(監視情報を取得要求する)第1の処理装置110が第2の処理装置120にアクセスして取得する構成とすることもできる。
Not limited to this, when the
この後、第1の処理装置110が第2の処理装置120に対して、第2の機器121の監視情報を取得する制御を行ったとする(ステップS502)。例えば、第1の処理装置110のプログラム301が第2の機器121の監視情報の取得にかかる処理(ObjY.readData())を実行する。
Thereafter, it is assumed that the
この場合、第1の処理装置110のプログラム301は、第2の機器121に対するreadコマンド(readData())を発行する(ステップS503)。そして、プログラム301の下位層は、第2の機器121に対するコマンドを解釈し、第2の処理装置120から取得しておいた関数呼び出しテーブル502を参照し、第2の機器121の監視情報の取得に該当する識別子ID1を指定して、第2の機器121の監視情報を取得するコマンド(readPort(他))に対応する要求ID1を第2の処理装置120に送信する(ステップS504)。他とは、他の処理装置のポートを示す。
In this case, the
ここで、第1の処理装置110は、第2の処理装置120に対して第2の機器121の制御のコマンドそのものを送信するのではなく、関数呼び出しテーブル502の参照により、制御内容を含む識別子IDだけを送信すればよいため、送信するデータ量を削減できる。
Here, the
図6は、組み込み機器におけるプログラムの作成例を示す図である。実施の形態の第1の処理装置110および第2の処理装置120は、組み込み機器、例えば、上記の監視カメラや侵入検知器、リモコンやデジカメ、ICレコーダ、車載装置、医療機器等、用途(動作)が限定された特定用途の機器の処理部として機能する。
FIG. 6 is a diagram illustrating an example of creating a program in an embedded device. The
図6に示すプログラム600は、クラスの定義601に基づき、第1の処理装置110の制御ソフト1のオブジェクト602と、コマンド603が定義される。オブジェクト602の機器A(第1の機器111)は、自コンピュータ(第1の処理装置110)上にあることを示し、ObjAは、内部のフラグ(flg)に自コンピュータの情報をセットする。オブジェクト602の機器Y(第2の機器121)は、他コンピュータ(第2の処理装置120)上にあることを示し、ObjYは、内部のフラグ(flg)に他コンピュータの情報をセットする。
The
そして、プログラム301は、読み出し(readData)のコマンド603について、自コンピュータ(第1の処理装置110)に対するものであれば、指定の自インタフェース(I/Oポート)からデータをreadしてその値をリターンする。また、他コンピュータ(第2の処理装置120)に対するものであれば、該当する第2の処理装置120と会話して、返された値をリターンする。
The
図5に戻り説明すると、第2の処理装置120は、通信処理タスク503が第1の処理装置110からの要求ID1を受信する(ステップS505)。通信処理タスク503は、関数呼び出しテーブル502を参照し(ステップS506)、プログラム501に識別子ID1に対応する関数(readPort)を実行させる(ステップS507)。
Returning to FIG. 5, in the description of the
この後、第2の処理装置120は、プログラム501がID1に対応して、I/Oポート読出処理を行い、該当する第2の機器121の監視情報を読み出し(readPort)、通信処理タスク503に返す(ステップS508)。
Thereafter, the
そして、第2の処理装置120は、通信処理タスク503がreadPortの結果、読み出した第2の機器121の監視情報を第1の処理装置110に送信する(ステップS509)。
Then, the
第1の処理装置110は、プログラム301が発行したreadPort(他)の返答として第2の機器121から送信された監視情報をreadData()に変換し(ステップS510)、第2の機器121の監視情報の取得にかかる処理(ObjY.readData())の結果として、対応する第2の機器121の監視情報を取得する(ステップS511)。
The
上記処理によれば、第1の処理装置110は、自装置内の処理であるか第2の処理装置120の処理であるかを、プログラム301が指定する引数(アクセス対象名)によって切り分ける。この際、外部(第2の処理装置120)へのアクセスについては、予め取得した関数呼び出しテーブル502を参照し、該当する第2の処理装置120にアクセスする。
According to the above processing, the
また、第2の処理装置120の通信処理タスク503と関数呼び出しテーブル502は、ソフトウェア実行に限らず、ハードウェアチップを用いて構成することもできる。
Further, the
また、上記の関数呼び出しテーブル502は、上述したように、第1の処理装置110が取得するに限らず、第2の処理装置120がネットワーク130上に公開する構成とすることもできる。そして、関数呼び出しテーブル502が示す、第2の機器121の機能(Read,Write,Start,Stop)は、ネットワーク130上の任意の第1の処理装置110によって取得し、制御(使用)できるようになる。
In addition, as described above, the function call table 502 is not limited to being acquired by the
すなわち、第1の処理装置110は、関数呼び出しテーブル502を取得することにより、第2の処理装置120に接続された第2の機器121の機能を知ることができ、第1の処理装置110は、ネットワーク130の通信方式(手順)を隠蔽して第2の処理装置120に接続された第2の機器121を制御できるようになる。
That is, the
これにより、第1の処理装置110(第1の機器111)に対して、第2の処理装置120(第2の機器121)が同一の部屋内や異なる場所に設置された場合においても、この設置場所に限定されず、第2の機器121を制御できるようになる。
Thus, even when the second processing device 120 (second device 121) is installed in the same room or in a different place with respect to the first processing device 110 (first device 111), The
例えば、同一の部屋内に設けた異なる機能の第1の機器111(例えば監視カメラ)と、第2の機器121(例えば人体検知器)の異なる監視機能を第1の処理装置110により制御できるようになる。一方、第1の処理装置110で処理できない演算を第1の処理装置110の制御によって遠隔地の第2の処理装置120により演算処理できるようになる。
For example, the
さらに、関数呼び出しテーブル502は、ネットワーク130上のサーバに保持しておくこともでき、複数の第2の処理装置120毎の関数呼び出しテーブル502として保持できる。これにより、所定の機能を要求する第1の処理装置110は、サーバへのアクセスによって該当する機能(第2の機器121)を容易に検索することができ、また、第2の機器121が接続された第2の処理装置120へのアクセスを容易に行えるようになる。
Furthermore, the function call table 502 can be held in a server on the
上記実施の形態によれば、第1の処理装置および第2の処理装置のCPUやOSに依存せず、互いに自処理装置あるいは他処理装置に接続されている第1の機器および第2の機器をネットワーク接続の有無に関係なく簡単に制御できるようになる。また、自処理装置にないメモリのリード/ライトや、関数実行についても同様に行えるようになる。したがって、第1の処理装置と第2の処理装置は、ネットワーク接続されたものに限らず、同一機器内での異なるCPU間通信についても同様に適用することができる。 According to the above embodiment, the first device and the second device connected to the own processing device or another processing device without depending on the CPU or OS of the first processing device and the second processing device. Can be easily controlled with or without network connection. In addition, memory read / write and function execution that are not in the processing apparatus can be performed in the same manner. Therefore, the first processing device and the second processing device are not limited to those connected to the network, and can be similarly applied to communication between different CPUs in the same device.
これにより、第1の処理装置は、自処理装置に接続された第1の機器に対するクローズド制御に限らず、ネットワーク等を介して第2の処理装置に接続された第2の機器についても、通信(プロトコル)を意識せずに制御でき、プログラム作成についても通信を意識せずに作成できるため、プログラム作成を容易に行えるようになる。すなわち、第1の処理装置は、間に介在するネットワークの通信プログラムや専用I/Fを追加せずとも第2の機器を制御できるようになる。 Thereby, the first processing device is not limited to the closed control for the first device connected to the own processing device, but also communicates with the second device connected to the second processing device via a network or the like. Since it is possible to control without being aware of (protocol) and to create a program without being aware of communication, it becomes easy to create a program. That is, the first processing apparatus can control the second device without adding a network communication program or a dedicated I / F interposed therebetween.
関数呼び出しテーブルは、第2の処理装置に接続された第2の機器が故障や仕様変更などでの交換や、追加の場合に更新される。これにより、第2の機器の機能が変更された場合であっても、第1の処理装置は、関数呼び出しテーブルを参照するだけで、所望する第2の機器の制御を行える。加えて、第2の機器が交換等されてもプログラム変更を不要にできる。 The function call table is updated when the second device connected to the second processing apparatus is replaced or added due to a failure or specification change. Thereby, even if the function of the second device is changed, the first processing device can control the desired second device only by referring to the function call table. In addition, even if the second device is replaced, the program change can be made unnecessary.
そして、特定用途の機能を有する組み込み機器においても、他の機器に対する制御を行って機能拡張が行えるようになる。また、汎用の情報処理装置においても所望する機能の機器に対する制御を容易に行えるようになる。具体的には、ECHONETやAUTOSAR等の規格に縛られず、専用I/Fや専用の通信プログラムを設けなくても、任意の他の機器に対する制御が可能となる。 Even in an embedded device having a function for a specific purpose, the function can be expanded by controlling other devices. Also, a general-purpose information processing apparatus can easily control a device having a desired function. Specifically, it is not limited to standards such as ECHONET and AUTOSAR, and any other device can be controlled without providing a dedicated I / F or a dedicated communication program.
(物理的位置に依存しないシームレスな機器アクセスの具体例)
図7は、異なる処理装置に接続された機器に対するアクセスの具体例を示す図である。第1の処理装置(装置A)と701と、第2の処理装置(装置B)702は、それぞれ、アプリケーションプログラム703と、コア層704と、外部と通信を行う通信機器や、装置内のボードとのアクセス処理の実装部705と、プラットフォーム(ハードウェア、OS、ドライバ)706と、を有する。(Specific example of seamless device access independent of physical location)
FIG. 7 is a diagram illustrating a specific example of access to a device connected to a different processing apparatus. The first processing device (device A) and 701, and the second processing device (device B) 702 are an
装置Aの通信層1(705a)は、装置に直接接続される機器711にアクセスする他、ネットワーク710を介して装置Bの機器721にアクセス可能である。通信層2(705b)は、装置内のボード712等にアクセス可能である。同様に、装置Bの通信層1(705a)は、装置に直接接続される機器721にアクセスする他、ネットワーク710を介して装置Aの機器711にアクセス可能である。通信層2(705b)は、装置内のボード722等にアクセス可能である。
The communication layer 1 (705a) of the device A can access the
コア層704は、Basic Class Library731と、処理部X732と、通信方式抽象化層1(733)と、通信方式抽象化層2(734)と、プラットフォーム抽象化層1(735)と、プラットフォーム抽象化層2(736)とを有する。Basic Class Library731は、複数のオブジェクト、例えばI/O処理、リアルタイムモニタ、イベント監視、以上監視、データ収集、一括設定等の各種オブジェクトを管理する。
The
処理部X732は、Basic Class Library731からコールされるオブジェクト関連の処理に対応して、下記のタイプ1〜3の処理を行う。
1.アプリケーションプログラムが、オブジェクトに対して要求する処理について、オブジェクトがアプリ内部に存在するのか、LAN上に存在するのか、さらにWAN上に存在するのかを確認する。
2.アプリケーションプログラムからBasic Class Library731経由で呼び出される各処理要求の中で指定されたName(名前)の実態を取り出す処理を行う。この名前の実態は、ネットワーク設定で予め設定されている。
3.オブジェクトがLAN/WAN上に存在する場合には、そのオブジェクトに対する通信経路を確保し、リクエストを送受信する。The processing unit X732 performs the following
1. For processing requested by the application program, it is confirmed whether the object exists in the application, exists on the LAN, or further exists on the WAN.
2. A process of extracting the actual name (name) specified in each processing request called from the application program via the
3. When the object exists on the LAN / WAN, a communication path for the object is secured and a request is transmitted / received.
通信方式抽象化層1(733)は、処理部X732からコールされる通信処理を抽象化するためのI/Fである。通信方式抽象化層1(733)の各関数は、各アクセス対象への個別の通信処理を実装した通信層1(705a)の関数をコールする。 The communication system abstraction layer 1 (733) is an I / F for abstracting communication processing called from the processing unit X732. Each function of the communication system abstraction layer 1 (733) calls a function of the communication layer 1 (705a) in which individual communication processing for each access target is implemented.
プラットフォーム抽象化層1(735)は、Basic Class Library731からコールされるプラットフォーム依存処理を抽象化するためのI/Fである。プラットフォーム抽象化層1(735)の各関数の中からは、各アクセス対象への個別のアクセス処理やOSが提供する機能を適合させて実現するRTOS処理等を実装した通信層2(705b)の関数をコールする。
The platform abstraction layer 1 (735) is an I / F for abstracting platform-dependent processing called from the
通信層1(705a)は、通信方式抽象化層2(734)からコールされる各アクセス対象への個別の通信処理の実装部である。処理部X732→VCL733→通信方式抽象化層2(734)経由で渡される引数(handle)によってアクセス対象を特定して、対応する実装処理を行う。 The communication layer 1 (705a) is an implementation unit of individual communication processing for each access target called from the communication method abstraction layer 2 (734). Processing unit X732 → VCL733 → Access target is specified by an argument (handle) passed via communication method abstraction layer 2 (734), and a corresponding mounting process is performed.
通信層2(705b)は、プラットフォーム抽象化層2(736)からコールされる各アクセス対象への個別のアクセス処理やOSが提供する機能を適合させて実現するRTOS処理などを作成する実装部である。処理部X732→プラットフォーム抽象化層1(735)→プラットフォーム抽象化層2(736)経由で渡される引数(handle)によってアクセス対象を特定して、対応する実装処理を行う。 The communication layer 2 (705b) is an implementation unit that creates individual access processing to each access target called from the platform abstraction layer 2 (736) and RTOS processing realized by adapting functions provided by the OS. is there. The access target is specified by an argument (handle) passed via the processing unit X732 → platform abstraction layer 1 (735) → platform abstraction layer 2 (736), and a corresponding mounting process is performed.
(装置Aから装置Aおよび装置Bの機器の制御例)
図8は、他装置のオブジェクト読み出しの一連の流れを説明する図である。以下、処理の流れ順に説明する。(Example of device control from device A to device A and device B)
FIG. 8 is a diagram for explaining a series of flow of object reading by another apparatus. In the following, description will be made in the order of processing flow.
1.装置Aでは、はじめに、アプリケーションプログラム703により名前を指定してオブジェクトを生成し、オブジェクトがもつ関数を呼び出す。
2.次に、処理部X732により、Network Configuration Data800の内容に基づき、オブジェクト名によりオブジェクトにアクセスするための通信方式、通信パラメータ(位置情報)を解決する。
3.4.そして、処理部X732により、オブジェクト名や関数名、および、引数情報をパケットに変換し、抽象化層733〜736を介して、2.で解決した通信方式を実装するポートにこれを引き渡す。この際、装置Aの外部に出て行くパケットは所定の暗号化を施す。1. In the device A, first, an object is generated by designating a name by the
2. Next, the processing unit X732 solves the communication method and communication parameters (position information) for accessing the object by the object name based on the contents of the
3.4. Then, the processing unit X732 converts the object name, the function name, and the argument information into packets, and through the abstraction layers 733 to 736, 2. This is handed over to the port that implements the communication method solved in (1). At this time, the packet going out of the device A is subjected to predetermined encryption.
5.装置Bでは、処理部X732でパケットを受信し、暗号化されたパケットを復号する。さらに、バイトデータからオブジェクト名、関数名、引数情報を復元し、印字処理の実態を呼び出す。
6.印字処理の実態は、プラットフォーム抽象化層1(735)/プラットフォーム抽象化層2(736)を介して実際の印字を行う。
7.プラットフォーム抽象化層1(735)/プラットフォーム抽象化層2(736)は、印字処理の結果である戻り値を受け取る。
8.通信方式抽象化層1(733)/通信方式抽象化層2(734)は、戻り値をパケットに変換し、暗号化して呼び出し元(装置A)に送信する。
9.装置Aの処理部X732は、戻り値を含むパケットを受信し、暗号化されたパケットを復号する。
10.Basic Class Library731は、戻り値を呼び出し元(アプリケーションプログラム703)に返却する。5). In the device B, the processing unit X732 receives the packet and decrypts the encrypted packet. Furthermore, the object name, function name, and argument information are restored from the byte data, and the actual state of the printing process is called.
6). As for the actual state of the printing process, actual printing is performed via the platform abstraction layer 1 (735) / platform abstraction layer 2 (736).
7). The platform abstraction layer 1 (735) / platform abstraction layer 2 (736) receives a return value as a result of the printing process.
8). The communication system abstraction layer 1 (733) / communication system abstraction layer 2 (734) converts the return value into a packet, encrypts it, and transmits it to the caller (device A).
9. The processing unit X732 of the device A receives the packet including the return value and decrypts the encrypted packet.
10. The
上記処理において、装置Aのアプリケーションプログラム703が自装置Aに接続されたプリンタXにアクセスし印字処理させる場合には、1.2.3.4.7.10の処理が実行される。この際、処理部X732では、名前の実態をNetwork Configuration Data800により、装置Aに接続されたプリンタXのシリアルポートの情報に基づき接続先を解決する。
In the above processing, when the
また、装置Aのアプリケーションプログラム703が他装置Bに接続されたプリンタYにアクセスし印字処理させる場合には、1.〜10.の処理が順次実行される。この際、処理部X732では、名前の実態をNetwork Configuration Data800により、装置Bへの接続方法(外部通信、アドレス等の位置情報に基づき接続先を解決する。
Further, when the
(CPUAB間の通信の制御例)
上記説明では、異なる装置A,Bに接続された機器の制御例を説明したが、これに限らず、CPUA,B間の通信の制御にも同様に適用することができる。(Example of communication control between CPUABs)
In the above description, an example of control of devices connected to different devices A and B has been described. However, the present invention is not limited to this, and can be similarly applied to control of communication between the CPUs A and B.
図9は、CPUA,CPUBが共有メモリによってデータを送受する構成例を示す図である。このような共有メモリ900を介した同一装置内のCPUA,B間での機能呼び出しも可能になる。具体的には、CPUAのアプリケーションプログラム703が他装置Bに接続されたプリンタYにアクセスし印字処理させる場合には、共有メモリ900を介して1.〜10.の処理が順次実行される。処理部X732では、名前の実態をNetwork Configuration Data800により、装置Bへの接続方法(外部通信、CPUB、の情報に基づき接続先を解決する。
FIG. 9 is a diagram illustrating a configuration example in which CPU A and CPU B transmit and receive data using a shared memory. A function call between the CPUs A and B in the same apparatus via the shared
この場合、通信方式抽象化層1(733)と、通信方式抽象化層2(734)を、共有メモリ900を介して実装するポーティング層に差し替えるだけで対応可能になる。装置Aのアプリケーションプログラム703は、図8に示したネットワークを介する場合の例と全く変わらずシームレスに処理を実行できる。
In this case, the communication method abstraction layer 1 (733) and the communication method abstraction layer 2 (734) can be dealt with only by replacing them with the porting layer mounted via the shared
(アプリケーションの公開インタフェース呼び出しの例1)
図10は、アプリケーションの公開インタフェースの呼び出しを説明する図である。アプリケーションプログラム703と、Basic Class Library731との間にUser Extended Classes1001を設ける。User Extended Classes1001では、Basic Class Library731のクラスを継承して、独自のクラスを定義し、その機能を装置Aの外部から呼び出せる形で公開する。図10の例では、User Extended Classes1001がプリンタークラスを継承したUser Printerクラスを定義し、装置A,B間でこの機能を呼び出した際の流れを示している。(Example 1 of application public interface call)
FIG. 10 is a diagram for explaining the calling of the public interface of the application. A user extended
図10に示すように、装置Aのアプリケーションプログラム703が自装置Aに接続されたプリンタXにアクセスし印字処理させる場合には、1.2.3.4.7.10の処理が実行される。この際、処理部X732では、名前の実態をNetwork Configuration Dataにより、装置Aに接続されたプリンタXのシリアルポートの情報に基づき接続先を解決する。
As shown in FIG. 10, when the
また、装置Aのアプリケーションプログラム703が他装置Bに接続されたプリンタYにアクセスし印字処理させる場合には、1.〜10.の処理が順次実行される。この際、処理部X732では、名前の実態をNetwork Configuration Data800により、装置Bへの接続方法(外部通信、アドレス等の位置情報に基づき接続先を解決する。
Further, when the
そして、User Extended Classes1001では、10.プリンタークラスを継承したUser Printerクラスを定義し、例えばネットワーク上に公開する。これにより、他の装置B,C,…が公開されたUser Printerクラスに基づき、該当する装置(機器)へのアクセスが可能となる。
And in User
図11は、リモート呼び出し可能な公開インタフェースの定義例を示す図表である。図11に示す例では、C言語で表現される構造により、インタフェースを定義し、他の装置から名前によるリモート呼び出しを行う例である。 FIG. 11 is a chart showing a definition example of a public interface that can be remotely called. The example shown in FIG. 11 is an example in which an interface is defined by a structure expressed in C language, and a remote call is made by name from another device.
図示のように、引数リストや返却値リストには、型のサイズや型のデータをパケット化、およびパケットから復元する関数へのポインタをもつ。これらをインタフェース名と、それを実装する関数へのポインタとともに、公開インタフェースのリストとして登録することで、外部の他の装置からの呼び出しを可能とする。 As shown in the figure, the argument list and the return value list have pointers to functions for packetizing the size of the type and data of the type, and restoring from the packet. By registering these as a list of public interfaces together with an interface name and a pointer to a function that implements the interface, it is possible to call them from other external devices.
さらに、この情報と、Network Configuration Data800から得られる位置情報をネットワークにブロードキャストし、各ノード(装置A,B,C,…)がこれらの情報を保持することにより、各装置は互いに公開しているインタフェース情報を共有することができる。
Furthermore, this information and the location information obtained from the
(アプリケーションの公開インタフェース呼び出しの例2)
図12は、アプリケーションの公開インタフェースの呼び出しの他の例を説明する図である。図12に示すように、アプリケーションのオブジェクト自身に、複数のオブジェクトの機能を機能群Xとして定義し、機能群Xを使用するためのインタフェースを公開する構成とすることもできる。(Example 2 of calling application public interface)
FIG. 12 is a diagram illustrating another example of calling an application public interface. As shown in FIG. 12, it is also possible to define a function of a plurality of objects as a function group X in the application object itself and to open an interface for using the function group X.
図12の例では、装置Aが装置Bの機器にアクセスする際に、上記1.〜10.同様の手順でアクセスし、その課程において装置Bは、集計した結果を6.7.データベースクラスと、プリンタークラスを作成し、データベースクラスをデータベース1200に登録する。また、集計結果をプリンタYからレポート出力する。
In the example of FIG. 12, when the device A accesses the device B, the above 1. -10. Access is performed in the same procedure, and in the course of which the apparatus B obtains the totaled result 6.7. A database class and a printer class are created, and the database class is registered in the
装置Bのアプリケーションプログラム703は、機能群Xを装置Bに接続された外部インファーフェースとして外部に公開する。また、装置Aの機能群についてデータベース1200に登録する。
The
(NAT越えについて)
装置A,B間のネットワーク接続において、例えば、相手側のNAT機器を用いたプライベートネットワークに属するホストを直接指定できない(NAT通過できない)問題について、NAT越えのための情報を登録しておくことで解決できる。(About NAT traversal)
In the network connection between devices A and B, for example, by registering information for NAT traversal regarding the problem that the host belonging to the private network using the NAT device on the other side cannot be directly specified (cannot pass through NAT). Solvable.
図13は、装置A,B間のNAT越えの構成例を示す図である。NATを越えてオブジェクトにアクセスする場合は、装置A,B間のロケーションサーバ1300によりオブジェクトの位置情報を管理する。図13の例では、装置Bの起動時に、オブジェクトは、自身の位置情報をロケーションサーバ1300に登録する(ステップS1301)。
FIG. 13 is a diagram illustrating a configuration example of NAT traversal between apparatuses A and B. When accessing an object beyond the NAT, the location information of the object is managed by the
この装置Bにアクセスする装置Aの処理部X732は、通信に先立って、アクセス先のオブジェクトの位置情報をロケーションサーバ1300に問い合わせる(ステップS1302)。装置Aは、問い合わせた結果得られる位置情報(Network Configuration Data800の装置Bのゲートウェイアドレス)を使用して、装置Bのリモートオブジェクトにアクセス可能となる。なお、一度解決した位置情報は、装置Aのメモリ等にキャッシュし、次回の呼び出し時にはロケーションサーバ1300に問い合わせることなく、高速に呼び出すことができる。
The processing unit X732 of the device A that accesses the device B inquires the
以上のように、本発明は、自処理装置に接続された機器以外の他の機器を制御する各種処理装置、例えば、特定用途の機能を有する組み込み機器や汎用の情報処理装置、およびこれらのソフトウェア開発に有用である。 As described above, the present invention provides various processing devices that control devices other than the devices connected to the processing device, for example, embedded devices having general-purpose functions, general-purpose information processing devices, and software thereof. Useful for development.
100 機器間制御システム
110 第1の処理装置
111 第1の機器
120 第2の処理装置
121 第2の機器
130 ネットワーク
201 制御部(CPU)
202 ROM
203 RAM
204 記憶部
205 通信インタフェース
206 バス
301 プログラム
302 処理テーブル
501 プログラム
502 関数呼び出しテーブル
503 通信処理タスクDESCRIPTION OF
202 ROM
203 RAM
Claims (16)
自処理装置のコンピュータが、
制御対象の前記第1の機器または前記第2の機器を制御するための名前と、関数名と引数情報からなるオブジェクトを生成し、
予め設定されたネットワーク情報に含まれる前記第1の機器または前記第2の機器の通信方式、および通信パラメータを参照して、前記オブジェクトにアクセスする情報を得て、
前記オブジェクト名、関数名、および引数情報を所定のパケットに変換し、前記通信方式に対応するポートを選択して、前記パケットを引き渡し、
前記パケットを該当する自処理装置に接続された前記第1の機器、または前記第2の機器が接続された前記第2の処理装置に送信する、
ことを特徴とする機器間制御方法。An inter-device control method in which a self-processing device controls a first device connected to the self-processing device or a second device connected to a second processing device,
The computer of its own processing device
Generating an object consisting of a name for controlling the first device or the second device to be controlled, a function name, and argument information;
By referring to the communication method and communication parameters of the first device or the second device included in the preset network information, obtaining information for accessing the object,
Convert the object name, function name, and argument information into a predetermined packet, select a port corresponding to the communication method, and deliver the packet,
Transmitting the packet to the first device connected to the corresponding own processing device or the second processing device connected to the second device;
A device-to-device control method.
受信した前記パケットから前記オブジェクト名、関数名、引数情報を復元し、制御処理を実行し、
実行結果の戻り値を所定のパケットに変換して、第1の処理装置に送信し、
前記第1の処理装置は、
前記第2の処理装置が送信した前記戻り値を受信する、
ことを特徴とする請求項1に記載の機器間制御方法。The second processing device includes:
Restore the object name, function name, argument information from the received packet, execute control processing,
The return value of the execution result is converted into a predetermined packet and transmitted to the first processing device,
The first processing device includes:
Receiving the return value transmitted by the second processing device;
The inter-device control method according to claim 1.
前記自処理装置、または第2の処理装置は、オブジェクトのネットワーク上の位置情報を前記サーバに登録し、
前記オブジェクトにアクセスする前記自処理装置、または前記第2の処理装置は、アクセス先の処理装置のネットワーク上の位置情報を前記サーバに問い合わせ、
前記問い合わせにより得たネットワーク上の位置情報に基づき、所望する処理装置のオブジェクトに対し、前記ネットワーク上の位置情報を用いてアクセスする、
ことを特徴とする請求項1または2に記載の機器間制御方法。A server is provided between the self-processing apparatus and the second processing apparatus;
The own processing device or the second processing device registers position information of the object on the network with the server,
The own processing device or the second processing device that accesses the object inquires the server for location information on the network of the processing device to be accessed,
Based on the position information on the network obtained by the inquiry, the object of the desired processing device is accessed using the position information on the network.
The inter-device control method according to claim 1 or 2.
自処理装置のコンピュータが、
前記第2の処理装置に接続され、当該第2の処理装置が制御する前記第2の機器の制御情報を取得する処理、
前記第2の処理装置に接続された前記第2の機器に対する所定の制御時には、自処理装置内のインタフェース同様の形式を有し、自処理装置以外の識別子を付与した所定のコマンドを実行するとともに、
前記制御情報を参照して前記所定のコマンドに対応する要求を前記第2の処理装置に送信する処理、
前記第2の処理装置からの応答を、前記実行したコマンドに対する結果として用いる処理、
を実行することを特徴とする機器間制御方法。An inter-device control method in which the own processing device controls a second device connected to a second processing device,
The computer of its own processing device
Processing for acquiring control information of the second device connected to the second processing device and controlled by the second processing device;
At the time of predetermined control for the second device connected to the second processing apparatus, the predetermined command having the same format as the interface within the own processing apparatus and assigned with an identifier other than the own processing apparatus is executed. ,
A process of referring to the control information and transmitting a request corresponding to the predetermined command to the second processing device;
Processing using a response from the second processing device as a result of the executed command;
An inter-device control method characterized in that
前記第2の処理装置に接続された前記第2の機器の制御は、当該制御に対応する所定のコマンドのポートを自処理装置以外として設定する、
ことを特徴とする請求項4に記載の機器間制御方法。To control the first device connected to the own processing device, specify the connection port of the own processing device,
Control of the second device connected to the second processing device sets a port of a predetermined command corresponding to the control as other than the own processing device.
The inter-device control method according to claim 4.
自処理装置は、前記制御情報を参照し、所望する機能の制御に対応した識別子の情報を前記第2の処理装置に送信する、
ことを特徴とする請求項4または5に記載の機器間制御方法。The control information includes a function of the second device and an identifier for each function,
The own processing apparatus refers to the control information, and transmits information on an identifier corresponding to control of a desired function to the second processing apparatus.
The inter-device control method according to claim 4 or 5, characterized in that
自処理装置は、前記サーバから前記第2の機器の制御情報を取得することを特徴とする請求項4〜8のいずれか一つに記載の機器間制御方法。The server to which the second processing device is connected collects the control information of the second device,
The inter-device control method according to any one of claims 4 to 8, wherein the own processing device acquires control information of the second device from the server.
自処理装置のコンピュータに、
制御対象の前記第1の機器または前記第2の機器を制御するための名前と、関数名と引数情報からなるオブジェクトを生成する処理、
予め設定されたネットワーク情報に含まれる前記第1の機器または前記第2の機器の通信方式、および通信パラメータを参照して、前記オブジェクトにアクセスする情報を得る処理、
前記オブジェクト名、関数名、および引数情報を所定のパケットに変換し、前記通信方式に対応するポートを選択して、前記パケットを引き渡す処理、
前記パケットを該当する自処理装置に接続された前記第1の機器、または前記第2の機器が接続された前記第2の処理装置に送信する処理、
を実行させることを特徴とする機器間制御プログラム。An inter-device control program for controlling the first device connected to the self-processing device or the second device connected to the second processing device,
In the computer of its own processing device,
A process for generating an object comprising a name for controlling the first device or the second device to be controlled, a function name, and argument information;
A process of obtaining information for accessing the object with reference to the communication method and communication parameters of the first device or the second device included in the preset network information;
A process of converting the object name, function name, and argument information into a predetermined packet, selecting a port corresponding to the communication method, and delivering the packet;
Processing for transmitting the packet to the first device connected to the corresponding own processing device or the second processing device connected to the second device;
An inter-device control program characterized in that
自処理装置は、
制御対象の前記第1の機器または前記第2の機器を制御するための名前と、関数名と引数情報からなるオブジェクトを生成するオブジェクト生成部と、
予め設定されたネットワーク情報に含まれる前記第1の機器または前記第2の機器の通信方式、および通信パラメータを参照して、前記オブジェクトにアクセスする情報を得る通信処理部と、
前記オブジェクト名、関数名、および引数情報を所定のパケットに変換し、前記通信方式に対応するポートを選択して、前記パケットを引き渡すパケット処理部と、
前記パケットを該当する自処理装置に接続された前記第1の機器、または前記第2の機器が接続された前記第2の処理装置に送信する通信部と、
を有することを特徴とする機器間制御システム。An inter-device control system in which the own processing device controls a first device connected to the own processing device or a second device connected to the second processing device,
The self-processing device
An object generation unit that generates an object including a name for controlling the first device or the second device to be controlled, a function name, and argument information;
A communication processing unit that obtains information for accessing the object with reference to the communication method and communication parameters of the first device or the second device included in the preset network information;
A packet processor that converts the object name, function name, and argument information into a predetermined packet, selects a port corresponding to the communication method, and delivers the packet;
A communication unit that transmits the packet to the first device connected to the corresponding own processing device or the second processing device connected to the second device;
A device-to-device control system comprising:
自処理装置のコンピュータに、
前記第2の処理装置に接続され、当該第2の処理装置が制御する前記第2の機器の制御情報を取得する処理、
前記第2の処理装置に接続された前記第2の機器に対する所定の制御時には、自処理装置内のインタフェース同様の形式を有し、自処理装置以外の識別子を付与した所定のコマンドを実行させ、
前記制御情報を参照して前記所定のコマンドに対応する要求を前記第2の処理装置に送信する処理、
前記第2の処理装置からの応答を、前記実行したコマンドに対する結果として用いる処理、
を実行させることを特徴とする機器間制御プログラム。An inter-device control program for controlling the second device connected to the second processing device by the own processing device,
In the computer of its own processing device,
Processing for acquiring control information of the second device connected to the second processing device and controlled by the second processing device;
At the time of predetermined control for the second device connected to the second processing device, a predetermined command having the same format as the interface in the own processing device and assigned with an identifier other than the own processing device is executed.
A process of referring to the control information and transmitting a request corresponding to the predetermined command to the second processing device;
Processing using a response from the second processing device as a result of the executed command;
An inter-device control program characterized in that
自処理装置は、
前記第2の処理装置に接続され、当該第2の処理装置が制御する前記第2の機器の制御情報を取得する取得部と、
前記第2の処理装置に接続された前記第2の機器に対する所定の制御時には、自処理装置内のインタフェース同様の形式を有し、自処理装置以外の識別子を付与した所定のコマンドを実行し、
前記制御情報を参照して前記所定のコマンドに対応する要求を前記第2の処理装置に送信し、
前記第2の処理装置からの応答を、前記実行したコマンドに対する結果として用いる実行部と、
前記要求を送信し、前記要求の返答を受信する通信部と、
を有することを特徴とする機器間制御システム。An inter-device control system in which the own processing device controls a second device connected to a second processing device,
The self-processing device
An acquisition unit connected to the second processing apparatus and acquiring control information of the second device controlled by the second processing apparatus;
At the time of predetermined control for the second device connected to the second processing device, a predetermined command having the same format as the interface within the own processing device and assigned with an identifier other than the own processing device is executed.
Sending a request corresponding to the predetermined command to the second processing device with reference to the control information;
An execution unit that uses a response from the second processing device as a result of the executed command;
A communication unit that transmits the request and receives a response to the request;
A device-to-device control system comprising:
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/079471 WO2015063902A1 (en) | 2013-10-30 | 2013-10-30 | Inter-apparatus control method, inter-apparatus control program, and inter-apparatus control system |
JPPCT/JP2013/079471 | 2013-10-30 | ||
PCT/JP2013/083684 WO2015063959A1 (en) | 2013-10-30 | 2013-12-16 | Inter-apparatus control method, inter-apparatus control program, and inter-apparatus control system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2015063959A1 true JPWO2015063959A1 (en) | 2017-03-09 |
Family
ID=53003549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015544751A Pending JPWO2015063959A1 (en) | 2013-10-30 | 2013-12-16 | Inter-device control method, inter-device control program, and inter-device control system |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2015063959A1 (en) |
WO (2) | WO2015063902A1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6901574B2 (en) * | 2017-09-05 | 2021-07-14 | 株式会社アイ・エル・シー | Electronic manual display device, electronic manual display system, electronic manual display method and electronic manual display program |
JP7080096B2 (en) * | 2018-04-12 | 2022-06-03 | 株式会社アイ・エル・シー | Equipment control device, device control system, device control method and device control program |
JP7475446B2 (en) | 2020-06-01 | 2024-04-26 | 株式会社アイ・エル・シー | DEVICE CONTROL METHOD, DEVICE CONTROL PROGRAM, AND DEVICE CONTROL SYSTEM |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3688464B2 (en) * | 1997-05-06 | 2005-08-31 | 株式会社東芝 | Terminal device, server device, communication device, and control method |
JP4058845B2 (en) * | 1999-06-24 | 2008-03-12 | 松下電器産業株式会社 | Gateway device |
JP4263387B2 (en) * | 2000-08-25 | 2009-05-13 | 四国電力株式会社 | Remote control server, center server, and system including them |
JP3711493B2 (en) * | 2001-11-19 | 2005-11-02 | 三菱電機株式会社 | Gateway device and gateway setting tool |
JP2003308264A (en) * | 2002-02-15 | 2003-10-31 | Hitachi Ltd | Network equipment and method for controlling network equipment |
JP2004318457A (en) * | 2003-04-16 | 2004-11-11 | Yokogawa Electric Corp | Computer system |
JP4541992B2 (en) * | 2005-08-02 | 2010-09-08 | キヤノン株式会社 | Network device, control method thereof, and program |
JP2011511973A (en) * | 2007-12-31 | 2011-04-14 | サムスン エレクトロニクス カンパニー リミテッド | Method and system for restricting execution of OSGi lifecycle command |
-
2013
- 2013-10-30 WO PCT/JP2013/079471 patent/WO2015063902A1/en active Application Filing
- 2013-12-16 JP JP2015544751A patent/JPWO2015063959A1/en active Pending
- 2013-12-16 WO PCT/JP2013/083684 patent/WO2015063959A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2015063959A1 (en) | 2015-05-07 |
WO2015063902A1 (en) | 2015-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7226906B2 (en) | Embedding method, embedding device, and machine-accessible medium | |
JP5846748B2 (en) | Method and apparatus for accessing process data, machine accessible medium | |
US9588794B2 (en) | Method, system and device for managing software on virtual machine in cloud environment | |
JP5976210B2 (en) | Monitoring system, facility management apparatus, monitoring method and program | |
EP2863281B1 (en) | System and method to configure a field device | |
JP2019523951A (en) | Method for performing secure communication and industrial computing device | |
WO2015063959A1 (en) | Inter-apparatus control method, inter-apparatus control program, and inter-apparatus control system | |
US20200235956A1 (en) | Device control apparatus, device control system, device control method, and recording medium | |
JP2006318102A (en) | Field equipment management device and field equipment management method | |
US10063664B2 (en) | Network system and control device | |
JP6575311B2 (en) | Network system and control device | |
KR101966548B1 (en) | Sensor meta data generating system for multi heterogeneous sensor network platform | |
JP5743743B2 (en) | Application linkage system | |
JP6370277B2 (en) | Device control device and device management system | |
JP7475446B2 (en) | DEVICE CONTROL METHOD, DEVICE CONTROL PROGRAM, AND DEVICE CONTROL SYSTEM | |
JP6901574B2 (en) | Electronic manual display device, electronic manual display system, electronic manual display method and electronic manual display program | |
JP2024130902A (en) | Software design method and software design device | |
KR100694230B1 (en) | Remote engineering system and method by simple network management protocal standard management information base | |
KR20230127008A (en) | Method of providing remote security service and server performing the same | |
JP2007072654A (en) | Service retrieval device and service retrieval system | |
JPWO2018179364A1 (en) | Computer system and data flow control method | |
JP2014092853A (en) | Cooperation server, cooperation method and cooperation program | |
JP2012014247A (en) | Information processing device and program |