WO2015063959A1 - 機器間制御方法、機器間制御プログラムおよび機器間制御システム - Google Patents
機器間制御方法、機器間制御プログラムおよび機器間制御システム Download PDFInfo
- Publication number
- WO2015063959A1 WO2015063959A1 PCT/JP2013/083684 JP2013083684W WO2015063959A1 WO 2015063959 A1 WO2015063959 A1 WO 2015063959A1 JP 2013083684 W JP2013083684 W JP 2013083684W WO 2015063959 A1 WO2015063959 A1 WO 2015063959A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- processing device
- processing
- control
- information
- inter
- Prior art date
Links
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
Definitions
- 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.
- Patent Document 1 is a technique for controlling home appliances and the like from an external communication network using a home appliance control protocol in accordance with the ECHONET (Energy Conservation and Homecare NETwork) standard.
- Patent Document 2 dynamically rewrites a part of a program without completely stopping required functions by a control program compliant with AUTOSAR (AUTOMount Open System Architecture) standardized for in-vehicle embedded systems. Technology that can.
- 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.
- the first processing device is programmable in a way that directly accesses the first device.
- the first processing device cannot be realized without adding a network communication program interposed therebetween.
- Patent Document 1 Since the technology of Patent Document 1 uses a dedicated protocol, a dedicated I / F is required for communication between networks. Also in the technique of Patent Document 2, a dedicated I / F and a dedicated protocol are required for communication between each on-vehicle device.
- the first processing device is a closed system that controls the first device
- the second processing device is a closed system that controls the second device, and straddles between these closed systems.
- 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.
- control target device when the control target device is changed from the first device connected to its own first processing device to the second device on the network, there is a problem that the number of program change man-hours increases.
- the first and second processing devices are control devices each including 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.
- the second processing 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.
- FIG. 14 is a diagram showing 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.
- the above description is based on the assumption that the first processing device and the second processing device are connected via a network.
- 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.
- 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.
- 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 Is converted into a predetermined packet, the port corresponding to the communication method is selected, the packet is delivered, and the first device connected to the corresponding own processing apparatus Or transmitting to the second device connected to said second processor, and wherein the.
- 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.
- 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.
- 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.
- the self-processing device controls a second device connected to the second processing device
- the computer of the self-processing device has 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.
- 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.
- the control information includes a function of the second device and an identifier for each function
- 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.
- the self-processing apparatus is characterized in that the control information of the second device is acquired in advance and stored.
- the self-processing device is characterized in that it acquires control information of the second device from the second processing device.
- 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. .
- 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.
- 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, deliver the packet, and connect the packet to the corresponding own processing device. Equipment, or wherein the executing a process, to be transmitted to the second device connected to said second processor.
- 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
- a packet processing unit that converts a packet into a predetermined packet, selects a port corresponding to the communication method, and delivers the packet; And having a communication unit that transmits connected the first device, or the second device is connected to said second processor.
- An inter-device control program 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.
- 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.
- 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
- 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.
- the self-processing device of the inter-device control system and the second processing device are network-connected.
- the self-processing device of the inter-device control system and the second processing device are connections between CPUs in the same device.
- the own processing apparatus can directly control the second device connected to the second 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.
- FIG. 1 is a diagram illustrating an overall configuration of an inter-device control system according to an embodiment.
- FIG. 2 is a block diagram of a hardware configuration example of the first processing apparatus according to the embodiment.
- FIG. 3 is a diagram illustrating an overview of access from the first processing apparatus to the second device according to the embodiment.
- FIG. 4 is a diagram illustrating an example of a control program according to the embodiment.
- FIG. 5 is a diagram illustrating a specific example for accessing the second device by the first processing device according to the embodiment.
- FIG. 6 is a diagram illustrating an example of creating a program in an embedded device.
- FIG. 7 is a diagram illustrating a specific example of access to a device connected to a different processing apparatus.
- FIG. 1 is a diagram illustrating an overall configuration of an inter-device control system according to an embodiment.
- FIG. 2 is a block diagram of a hardware configuration example of the first processing apparatus according to the embodiment.
- FIG. 3 is a diagram illustrating an overview of access
- FIG. 8 is a diagram for explaining a series of flow of object reading by another apparatus.
- FIG. 9 is a diagram illustrating a configuration example in which CPU A and CPU B transmit and receive data using a shared memory.
- FIG. 10 is a diagram for explaining the calling of the public interface of the application.
- FIG. 11 is a chart showing a definition example of a public interface that can be remotely called.
- FIG. 12 is a diagram illustrating another example of calling an application public interface.
- FIG. 13 is a diagram illustrating a configuration example of NAT traversal between apparatuses A and B.
- FIG. 14 is a diagram illustrating an example of a control processing program of another conventional device connected to the network.
- FIG. 1 is a diagram illustrating an overall configuration of an inter-device control system according to an embodiment.
- a first processing device 110 and a second processing device 120 are connected via a network 130.
- the first device 111 is connected to the first processing device 110, and the first processing device 110 controls the first device 111.
- a second device 121 is connected to the second processing device 120, and the second processing device 120 controls the second device 121.
- a plurality of the second processing devices 120 can be connected via the network 130.
- a plurality of different second devices 121 (such as functions) can be connected to the second processing device 120.
- the second processing device 120 and the second device 121 can be identified by a unique ID.
- the first processing device 110 is intended to directly control the second device 121 connected to the second processing device 120 via the network 130. It is assumed that the first processing device 110 and the second processing device 120 include a general-purpose communication I / F and a communication program that can be connected to the network 130.
- FIG. 2 is a block diagram of a hardware configuration example of the first processing apparatus according to the embodiment.
- the first processing unit 110 includes a control unit (CPU) 201, a read-only memory (ROM) 202, a random access memory (RAM) 203, a storage unit 204 such as a semiconductor memory and a disk drive, and the like. , And a communication interface (I / F) 205.
- CPU control unit
- ROM read-only memory
- RAM random access memory
- storage unit 204 such as a semiconductor memory and a disk drive, and the like.
- I / F communication interface
- a first device 111 that is a controlled device is connected to the first processing device 110 via a bus 206.
- the first device 111 may be configured to be connected via a communication interface (I / F) 205 or the like.
- the first processing apparatus 110 can be configured such that a display 208, a keyboard 210, a mouse 211, a scanner 212, and a printer 213 are connected via a bus 206 or the like.
- the CPU 201 is an arithmetic processing device that controls the entire first processing device 110.
- the ROM 202 is a non-volatile memory that stores a program of the first processing device 110 and the like.
- a RAM 203 is a volatile memory that is used as a work area when the CPU 201 executes a program calculation process.
- the communication interface 205 controls an internal interface with the network 130, and controls data input / output with the second processing device 120.
- the communication interface 205 is connected to a local area network (LAN), a wide area network (WAN), the Internet, or the like, which becomes the network 130 through a communication line, and is connected to the second processing device 120 via the network 130.
- LAN local area network
- WAN wide area network
- the Internet or the like
- a modem or a LAN adapter can be employed as the communication interface 205.
- the display 208 is a device that displays control information of controlled devices (the first device 111 and the second device 121) by the CPU 201 executing the program.
- the display 208 for example, a Thin Film Transistor (TFT) liquid crystal display, a plasma display, an organic EL display, or the like can be adopted.
- TFT Thin Film Transistor
- the second processing device 120 can also be configured by the hardware shown in FIG. 2 as with the first processing device 110.
- FIG. 3 is a diagram for explaining 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.
- the CPU 201 executes a program 301 such as an application, and this program 301 performs processing related to acquisition of monitoring information of the second device 121 (in the illustrated example, a Read function is used). call) (step S301), and a Read command is issued (step S302).
- a program 301 such as an application
- this program 301 performs processing related to acquisition of monitoring information of the second device 121 (in the illustrated example, a Read function is used). call) (step S301), and a Read command is issued (step S302).
- the lower layer of the program 301 interprets a command for the second device 121, refers to the processing table 302 in which the control information of the second device 121 is indicated, and obtains monitoring information of the second device 121.
- a command to be issued is issued (step S303).
- the processing table 302 is prepared in advance in the second processing device 120 to which the second device 121 is connected, and is created on the RAM 203 shown in FIG. 2 and can be held in the storage unit 204.
- the first processing device 110 refers to the processing table 302 acquired from the second processing device 120 or the like.
- the first processing device 110 transmits the command issued in step S303 to the second processing device 120 corresponding to the processing table 302 via the general-purpose communication I / F.
- the first processing device 110 does not transmit the command itself for controlling the second device 121 but interprets the command by referring to the processing table 302 and transmits a control request corresponding to this command.
- the second processing device 120 has a processing table 302, and can perform control corresponding to the request transmitted from the first processing device 110 by referring to the processing table 302.
- the second processing device (B) 120 receives the Read command from the first processing device 110, acquires monitoring information from the second device 121 in response to the Read command (Step S304), Monitoring information is sent to the processing device 110 (step S305).
- 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 first processing apparatus 110.
- FIG. 4B is an example of a control program for the second device (Y) 121 connected to the second processing device 120.
- the control contents shown by the programs (a) and (b) in FIG. 4 are the same. As described above, the program contents are the same regardless of whether the controlled target (first device 111, second device 121) is connected to itself (first processing device 110). Therefore, when the programmer creates a program for the first processing device 110, the programmer communicates between the first processing device 110 and the second processing device 120 for the first device 111 and the second device 121. A program can be created without being aware of such processing.
- the processing table 302 is stored.
- the program (application layer software) shown in FIG. 4 is not changed only by the change.
- FIG. 5 is a diagram for explaining a specific example for accessing the second device by the first processing apparatus according to the embodiment.
- the program 501 creates the function call table 502 as the processing table 302 described above.
- the function call table 502 is not limited to when the program 501 is started, but may be created at an arbitrary timing, or may be configured to be input manually from outside.
- the program 501 includes a process for creating a function call table 502 at startup, a process for obtaining monitoring information of the second device 121 (readPort), a process for performing a predetermined function operation on the read monitoring information, and the like. Are described (set).
- the function call table 502 includes the ID (ID1) of the second device 121 and the address of the port of the second processing device 120 to which the second device 121 is connected.
- ID1 the ID of the read port for reading the monitoring information from the second device 121 is set in ID1.
- control functions such as writing (Write), starting (Start), and stopping (Stop) can be set for each ID.
- the setting of the function call table 502 is not limited to a character string such as “readPort” as shown in FIG. 5, but may be a numerical string such as “1001” indicating that a port is read.
- the communication processing task 503 executes communication processing (reception and transmission) with respect to the network 130 (with respect to the first processing device 110), and is applicable when the first processing device 110 requests the second device 121.
- the function call table 502 using the ID is searched, and the function operation of the program 501 corresponding to the request is executed.
- step S501 when the program 501 of the second processing device 120 is activated, the function call table 502 is created (step S501).
- the program 501 detects the connection port of the second device 121 connected to the second processing device 120, and sets the function call table 502 to associate the readPort address with the ID of the function for reading the monitoring information. To create. Similarly, a predetermined ID (ID2 in the illustrated example) is set in the function call table 502 for the control (function calculation or the like) function that can be executed by the second processing device 120.
- the first processing device 110 acquires the function call table 502 created by the second processing device 120 at an arbitrary timing.
- the acquisition timing of the function call table 502 is the first timing when the function of the second device 121 and the location of the second processing device 120 to which the second device 121 is connected are known.
- the processing device 110 directly accesses the second processing device 120 for acquisition.
- the first processing device 110 that refers to the published function call table 502 includes the first processing device 110.
- the first processing device 110 that desires to control the second device 121 (requests to acquire monitoring information) may access and acquire the second processing device 120.
- the first processing device 110 performs control to acquire the monitoring information of the second device 121 with respect to the second processing device 120 (step S502).
- the program 301 of the first processing device 110 executes a process (ObjY.readData ()) related to acquisition of monitoring information of the second device 121.
- the program 301 of the first processing device 110 issues a read command (readData ()) to the second device 121 (step S503).
- the lower layer of the program 301 interprets a command for the second device 121, refers to the function call table 502 acquired from the second processing device 120, and acquires monitoring information of the second device 121.
- the request ID1 corresponding to the command (readPort (other)) for acquiring the monitoring information of the second device 121 is transmitted to the second processing device 120 by designating the identifier ID1 corresponding to (Step S504).
- Other indicates a port of another processing apparatus.
- the first processing device 110 does not transmit the control command itself of the second device 121 to the second processing device 120, but by referring to the function call table 502, an identifier including the control content. Since only the ID needs to be transmitted, the amount of data to be transmitted can be reduced.
- FIG. 6 is a diagram showing an example of creating a program in an embedded device.
- the first processing device 110 and the second processing device 120 according to the embodiment are used for embedded devices such as the above-described monitoring cameras and intrusion detectors, remote controllers and digital cameras, IC recorders, in-vehicle devices, and medical devices. ) Functions as a processing unit of a specific application device.
- the program 600 shown in FIG. 6 defines an object 602 and a command 603 of the control software 1 of the first processing apparatus 110 based on the class definition 601.
- the device A (first device 111) of the object 602 indicates that it is on its own computer (first processing device 110), and ObjA sets its own computer information in an internal flag (flg).
- the device Y (second device 121) of the object 602 indicates that it is on another computer (second processing device 120), and ObjY sets the information of the other computer in an internal flag (flg).
- the program 301 reads the data from the designated own interface (I / O port) if the command (603) for the read (readData) is for the own computer (first processing device 110), and sets the value. Return. Further, if it is for another computer (second processing device 120), it talks with the corresponding second processing device 120 and returns the returned value.
- the second processing device 120 receives the request ID 1 from the first processing device 110 by the communication processing task 503 (step S505).
- the communication processing task 503 refers to the function call table 502 (step S506), and causes the program 501 to execute a function (readPort) corresponding to the identifier ID1 (step S507).
- the second processing apparatus 120 performs I / O port reading processing in response to the program 501 corresponding to ID1, reads the monitoring information of the corresponding second device 121 (readPort), and sends it to the communication processing task 503. Return (step S508).
- the second processing device 120 transmits the monitoring information of the second device 121 that has been read as a result of the read port of the communication processing task 503 to the first processing device 110 (step S509).
- the first processing device 110 converts the monitoring information transmitted from the second device 121 as a response to readPort (other) issued by the program 301 into readData () (step S 510), and monitors the second device 121.
- readData ()
- the monitoring information of the corresponding second device 121 is acquired (step S511).
- the first processing device 110 determines whether the processing is the processing in the own device or the processing of the second processing device 120 according to the argument (access target name) specified by the program 301. At this time, for access to the outside (second processing device 120), the function calling table 502 acquired in advance is referred to and the corresponding second processing device 120 is accessed.
- the communication processing task 503 and the function call table 502 of the second processing device 120 can be configured not only by software execution but also by using a hardware chip.
- the function call table 502 is not limited to being acquired by the first processing device 110, but may be configured to be disclosed on the network 130 by the second processing device 120.
- the function (Read, Write, Start, Stop) of the second device 121 indicated by the function call table 502 can be acquired and controlled (used) by any first processing device 110 on the network 130. Become.
- the first processing apparatus 110 can know the function of the second device 121 connected to the second processing apparatus 120 by acquiring the function call table 502, and the first processing apparatus 110 The second device 121 connected to the second processing device 120 can be controlled while hiding the communication method (procedure) of the network 130.
- 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 second device 121 can be controlled without being limited to the installation location.
- the first processing device 110 can control different monitoring functions of a first device 111 (for example, a monitoring camera) and a second device 121 (for example, a human body detector) having different functions provided in the same room. become.
- a first device 111 for example, a monitoring camera
- a second device 121 for example, a human body detector
- operations that cannot be processed by the first processing device 110 can be processed by the second processing device 120 at a remote location under the control of the first processing device 110.
- the function call table 502 can be held in a server on the network 130, and can be held as the function call table 502 for each of the plurality of second processing devices 120. Accordingly, the first processing device 110 that requests a predetermined function can easily search for the corresponding function (second device 121) by accessing the server, and the second device 121 is connected. The access to the second processing apparatus 120 thus made can be easily performed.
- 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.
- 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.
- 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.
- the function call table is updated when the second device connected to the second processing device 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.
- 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.
- 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 application program 703, a core layer 704, a communication device that communicates with the outside, and a board in the device, respectively.
- the communication layer 1 (705a) of the device A can access the device 721 of the device B via the network 710 in addition to accessing the device 711 directly connected to the device.
- the communication layer 2 (705b) can access the board 712 and the like in the apparatus.
- the communication layer 1 (705a) of the device B can access the device 711 of the device A via the network 710 in addition to accessing the device 721 directly connected to the device.
- the communication layer 2 (705b) can access the board 722 and the like in the apparatus.
- the core layer 704 includes a basic class library 731, a processing unit X732, a communication method abstraction layer 1 (733), a communication method abstraction layer 2 (734), a platform abstraction layer 1 (735), and a platform abstraction. Layer 2 (736).
- the Basic Class Library 731 manages various objects such as I / O processing, real-time monitoring, event monitoring, monitoring, data collection, batch setting, and the like.
- the processing unit X732 performs the following types 1 to 3 in response to the object-related processing called from the Basic Class Library 731. 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 Basic Class Library 731 is performed. The actual state of this name is preset in the network settings. 3. When the object exists on the LAN / WAN, a communication path for the object is secured and a request is transmitted / received.
- 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.
- Platform abstraction layer 1 (735) is an I / F for abstracting platform-dependent processing called from Basic Class Library 731.
- the communication layer 2 (705b) that implements an RTOS process that is realized by adapting an individual access process to each access target or a function provided by the OS, etc. Call a function.
- the communication layer 1 (705a) is an implementation unit of individual communication processing to 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.
- 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.
- 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.
- 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 Network Configuration Data 800. 3.4. Then, the processing unit X732 converts the object name, the function name, and the argument information into packets, and passes through the abstraction layers 733 to 736. 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.
- 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 Basic Class Library 731 returns a return value to the caller (application program 703).
- the processing unit X732 resolves the connection destination based on the serial port information of the printer X connected to the device A by using the Network Configuration Data 800 for the actual name.
- the processing unit X732 resolves the connection destination based on the location information such as the connection method to the device B (external communication, address, etc.) by using the Network Configuration Data 800 for the actual name.
- 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 memory 900 is also possible.
- the application program 703 of the CPU A accesses the printer Y connected to the other apparatus B to perform the printing process, the CPU 1.
- ⁇ 10. Are sequentially executed.
- the processing unit X732 resolves the connection destination based on the information on the connection method to the device B (external communication, CPUB) by using the Network Configuration Data 800 based on the actual name.
- the communication method abstraction layer 1 (733) and the communication method abstraction layer 2 (734) can be handled only by replacing them with the porting layer implemented via the shared memory 900.
- the application program 703 of the device A can execute the process seamlessly without any difference from the example in the case of via the network shown in FIG.
- FIG. 10 is a diagram for explaining the calling of the public interface of the application.
- a user extended classes 1001 is provided between the application program 703 and the basic class library 731.
- the User Extended Classes 1001 inherits the Basic Class Library 731 class, defines its own class, and publishes the function in a form that can be called from the outside of the device A.
- User Extended Classes 1001 defines a User Printer class that inherits the printer class, and shows a flow when this function is called between apparatuses A and B.
- the processing unit X732 resolves the connection destination based on the information of the serial port of the printer X connected to the device A by using Network Configuration Data.
- the processing unit X732 resolves the connection destination based on the location information such as the connection method to the device B (external communication, address, etc.) by using the Network Configuration Data 800 for the actual name.
- User Extended Classes 1001, 10 Define a User Printer class that inherits the printer class and publish it on the network, for example. This makes it possible to access the corresponding device (device) based on the User Printer class in which the other devices B, 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.
- the argument list and return value list have pointers to functions that packetize and restore data of type size and type. 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.
- this information and the location information obtained from the Network Configuration Data 800 are broadcast to the network, and each node (device A, B, C,...) Holds these information, so that each device is open to the public. Interface information can be shared.
- 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.
- the application program 703 of the device B exposes the function group X to the outside as an external interface connected to the device B. Also, the function group of the device A is registered in the database 1200.
- FIG. 13 is a diagram showing a configuration example of NAT traversal between apparatuses A and B.
- the location information of the object is managed by the location server 1300 between the apparatuses A and B.
- the object registers its position information in the location server 1300 (step S1301).
- the processing unit X732 of the device A that accesses the device B inquires the location server 1300 about the location information of the access destination object prior to communication (step S1302).
- the device A can access the remote object of the device B by using the position information obtained as a result of the inquiry (the gateway address of the device B of the Network Configuration Data 800).
- the position information once resolved can be cached in the memory or the like of the device A and called at high speed without making an inquiry to the location server 1300 at the next call.
- 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.
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)からの応答を、実行したコマンドに対する結果として用いる。
Description
この発明は、ネットワーク等に接続された各機器の相互制御を行う機器間制御方法、機器間制御プログラムおよび機器間制御システムに関する。
従来、ネットワーク等を介して接続された機器が相互に制御可能な技術が提案されている(例えば、下記特許文献1,2等参照。)。特許文献1は、ECHONET(Energy Conservation and HOmecare NETwork)規格にしたがい、家電機器等を外部の通信網から家電制御プロトコルを用いて制御する技術である。特許文献2は、車載用の組み込みシステム向けに標準化されたAUTOSAR(AUTomotive Open System ARchitecture)に準拠した制御プログラムにより、要求される機能を完全に停止させることなく、プログラムの一部を動的に書き換えることができる技術である。
しかしながら、従来の技術では、ある第1の処理装置に接続された第1の機器の制御方法と、ネットワーク上の他の第2の処理装置に接続された第2の機器の制御方法とは異なっている。第1の処理装置は、第1の機器に直接アクセスする方法でプログラミング可能である。これに対し、第1の処理装置には、第2の機器を制御するために、間に介在するネットワークの通信プログラムを追加しなければ実現できない。
特許文献1の技術は専用プロトコルを用いるため、ネットワーク間通信に専用のI/Fが必要となる。また、特許文献2の技術においても、車載の各機器間の通信には、専用のI/Fおよび専用プロトコルが必要となる。
このように、第1の処理装置は第1の機器に対する制御を行うクローズドシステムであり、同様に第2の処理装置は第2の機器に対する制御を行うクローズドシステムであり、これらクローズドシステム間を跨いでの機器制御はネットワークの通信を間に介在させねばならず、通信処理のプログラムを別途必要とする。したがって、従来、自身の第1の処理装置がネットワーク上の第2の機器を制御するためには、プログラミングのステップ数が大幅に増えるという問題を生じた。
また、制御対象の機器を自身の第1の処理装置に接続されている第1の機器からネットワーク上の第2の機器に変更する場合、プログラムの変更工数が増大するという問題が生じた。
例えば、第1,第2の処理装置がそれぞれCPUを備えた制御機器であり、互いにネットワーク接続されているとする。第1の処理装置は、第1の機器として監視カメラを制御する。第2の処理装置は、第2の機器として侵入検知器を制御する。そして、第1の処理装置によって、第2の機器(侵入検知器)を制御しようとする場合、この第2の機器は、第2の処理装置に固有のプログラムによって制御されているため、ネットワークの通信プログラムを追加し、かつ、第2の処理装置のプログラムにしたがったプログラム調整を行わなければならず、手間がかかった。
図14は、従来のネットワーク接続された他の機器の制御処理プログラム例を示す図である。図14の(a)に示すように、第1の処理装置Aに接続された第1の機器Xへのアクセス(オープン、クローズ)については、通信にかかる処理を考慮せずに、少ない行数でプログラミングできる。
しかしながら、図14の(b)に示すように、第1の処理装置Aが第2の機器Yへアクセス(オープン、クローズ)する場合には、第1の処理装置Aと第2の処理装置Bとの間のネットワークの通信にかかる通信プログラムに追加行1001a~1001c、および修正行1002が必要となり、作業工数が増えてしまう。
上述の説明では、第1の処理装置と第2の処理装置がネットワークを介して接続されることを前提に説明したが、これら第1,第2の処理装置がそれぞれ分散・マルチコアのCPU,共有メモリ等を備えた構成においても、CPU間の通信において同様の問題を生じる。
本発明は、上記課題に鑑み、処理装置間の通信を意識せずに他の処理装置に接続された機器を簡単に制御できることを目的とする。
上記目的を達成するため、本発明の機器間制御方法は、自処理装置が自処理装置に接続された第1の機器、または第2の処理装置に接続された第2の機器を制御する機器間制御方法であって、自処理装置のコンピュータが、制御対象の前記第1の機器または前記第2の機器を制御するための名前と、関数名と引数情報からなるオブジェクトを生成し、予め設定されたネットワーク情報に含まれる前記第1の機器または前記第2の機器の通信方式、および通信パラメータを参照して、前記オブジェクトにアクセスする情報を得て、前記オブジェクト名、関数名、および引数情報を所定のパケットに変換し、前記通信方式に対応するポートを選択して、前記パケットを引き渡し、前記パケットを該当する自処理装置に接続された前記第1の機器、または前記第2の機器が接続された前記第2の処理装置に送信する、ことを特徴とする。
また、前記第2の処理装置は、受信した前記パケットから前記オブジェクト名、関数名、引数情報を復元し、制御処理を実行し、実行結果の戻り値を所定のパケットに変換して、第1の処理装置に送信し、前記第1の処理装置は、前記第2の処理装置が送信した前記戻り値を受信する、ことを特徴とする。
また、前記自処理装置と、第2の処理装置との間にサーバを設け、前記自処理装置、または第2の処理装置は、オブジェクトのネットワーク上の位置情報を前記サーバに登録し、前記オブジェクトにアクセスする前記自処理装置、または前記第2の処理装置は、アクセス先の処理装置のネットワーク上の位置情報を前記サーバに問い合わせ、前記問い合わせにより得たネットワーク上の位置情報に基づき、所望する処理装置のオブジェクトに対し、前記ネットワーク上の位置情報を用いてアクセスする、ことを特徴とする。
また、本発明の機器間制御方法は、自処理装置が第2の処理装置に接続された第2の機器を制御する機器間制御方法であって、自処理装置のコンピュータが、前記第2の処理装置に接続され、当該第2の処理装置が制御する前記第2の機器の制御情報を取得する処理、前記第2の処理装置に接続された前記第2の機器に対する所定の制御時には、自処理装置内のインタフェース同様の形式を有し、自処理装置以外の識別子を付与した所定のコマンドを実行するとともに、前記制御情報を参照して前記所定のコマンドに対応する要求を前記第2の処理装置に送信する処理、前記第2の処理装置からの応答を、前記実行したコマンドに対する結果として用いる処理、を実行することを特徴とする。
また、自処理装置に接続された第1の機器の制御は、自処理装置の接続ポートを指定し、前記第2の処理装置に接続された前記第2の機器の制御は、当該制御に対応する所定のコマンドのポートを自処理装置以外として設定する、ことを特徴とする。
また、前記制御情報には、前記第2の機器の機能と、機能別の識別子を含み、自処理装置は、前記制御情報を参照し、所望する機能の制御に対応した識別子の情報を前記第2の処理装置に送信する、ことを特徴とする。
また、自処理装置は、前記第2の機器の制御情報を予め取得し、格納保持しておくことを特徴とする。
また、自処理装置は、前記第2の機器の制御情報を前記第2の処理装置から取得することを特徴とする。
また、前記第2の機器の制御情報を前記第2の処理装置が接続されたサーバが収集し、自処理装置は、前記サーバから前記第2の機器の制御情報を取得することを特徴とする。
また、前記第2の処理装置は、前記自処理装置からの要求時に、前記第2の機器の制御情報に基づき、前記第2の機器が接続された接続ポートを指定し、前記第2の機器を制御することを特徴とする。
また、本発明の機器間制御プログラムは、自処理装置が自処理装置に接続された第1の機器、または第2の処理装置に接続された第2の機器を制御する機器間制御プログラムであって、自処理装置のコンピュータに、制御対象の前記第1の機器または前記第2の機器を制御するための名前と、関数名と引数情報からなるオブジェクトを生成する処理、予め設定されたネットワーク情報に含まれる前記第1の機器または前記第2の機器の通信方式、および通信パラメータを参照して、前記オブジェクトにアクセスする情報を得る処理、前記オブジェクト名、関数名、および引数情報を所定のパケットに変換し、前記通信方式に対応するポートを選択して、前記パケットを引き渡す処理、前記パケットを該当する自処理装置に接続された前記第1の機器、または前記第2の機器が接続された前記第2の処理装置に送信する処理、を実行させることを特徴とする。
また、本発明の機器間制御システムは、自処理装置が自処理装置に接続された第1の機器、または第2の処理装置に接続された第2の機器を制御する機器間制御システムであって、自処理装置は、制御対象の前記第1の機器または前記第2の機器を制御するための名前と、関数名と引数情報からなるオブジェクトを生成するオブジェクト生成部と、予め設定されたネットワーク情報に含まれる前記第1の機器または前記第2の機器の通信方式、および通信パラメータを参照して、前記オブジェクトにアクセスする情報を得る通信処理部と、前記オブジェクト名、関数名、および引数情報を所定のパケットに変換し、前記通信方式に対応するポートを選択して、前記パケットを引き渡すパケット処理部と、前記パケットを該当する自処理装置に接続された前記第1の機器、または前記第2の機器が接続された前記第2の処理装置に送信する通信部と、を有することを特徴とする。
また、本発明の機器間制御プログラムは、自処理装置が第2の処理装置に接続された第2の機器を制御する機器間制御プログラムであって、自処理装置のコンピュータに、前記第2の処理装置に接続され、当該第2の処理装置が制御する前記第2の機器の制御情報を取得する処理、前記第2の処理装置に接続された前記第2の機器に対する所定の制御時には、自処理装置内のインタフェース同様の形式を有し、自処理装置以外の識別子を付与した所定のコマンドを実行させ、前記制御情報を参照して前記所定のコマンドに対応する要求を前記第2の処理装置に送信する処理、前記第2の処理装置からの応答を、前記実行したコマンドに対する結果として用いる処理、を実行させることを特徴とする。
また、本発明の機器間制御システムは、自処理装置が第2の処理装置に接続された第2の機器を制御する機器間制御システムであって、自処理装置は、前記第2の処理装置に接続され、当該第2の処理装置が制御する前記第2の機器の制御情報を取得する取得部と、前記第2の処理装置に接続された前記第2の機器に対する所定の制御時には、自処理装置内のインタフェース同様の形式を有し、自処理装置以外の識別子を付与した所定のコマンドを実行し、前記制御情報を参照して前記所定のコマンドに対応する要求を前記第2の処理装置に送信し、前記第2の処理装置からの応答を、前記実行したコマンドに対する結果として用いる実行部と、前記要求を送信し、前記要求の返答を受信する通信部と、を有することを特徴とする。
また、機器間制御システムの自処理装置と前記第2の処理装置とがネットワーク接続されたことを特徴とする。
また、機器間制御システムの自処理装置と前記第2の処理装置は、同一機器内のCPU間接続であることを特徴とする。
上記構成によれば、自処理装置は、第2の処理装置に接続された第2の機器を直接制御できる。第2の機器は、第2の処理装置に固有のプログラムによって制御されているが、自処理装置は、ネットワークの通信プログラム等を追加せずとも第2の処理装置に接続された第2の機器を制御できる。
本発明によれば、処理装置間の通信を意識せずに他の処理装置に接続された機器を簡単に制御できるという効果を奏する。
(実施の形態)
以下に添付図面を参照して、この発明にかかる機器間制御方法、機器間制御プログラムおよび機器間制御システムの好適な実施の形態を詳細に説明する。
以下に添付図面を参照して、この発明にかかる機器間制御方法、機器間制御プログラムおよび機器間制御システムの好適な実施の形態を詳細に説明する。
図1は、実施の形態にかかる機器間制御システムの全体構成を示す図である。機器間制御システム100は、第1の処理装置110と第2の処理装置120とがネットワーク130を介して接続されている。
第1の処理装置110には、第1の機器111が接続され、第1の処理装置110は、第1の機器111を制御する。第2の処理装置120には、第2の機器121が接続され、第2の処理装置120は、第2の機器121を制御する。
図1に記載したように、第2の処理装置120は、ネットワーク130を介して複数接続することができる。また、第2の処理装置120には、異なる(機能等の)第2の機器121を複数接続することができる。これら第2の処理装置120と第2の機器121は、固有のIDにより識別できる。
実施の形態では、第1の処理装置110は、ネットワーク130を介して第2の処理装置120に接続された第2の機器121を直接制御しようとするものである。第1の処理装置110、および第2の処理装置120は、ネットワーク130に接続可能な汎用の通信I/Fと通信プログラムを備えているものとする。
図2は、実施の形態にかかる第1の処理装置のハードウェア構成例を示すブロック図である。図2において、第1の処理装置110は、制御部(CPU)201と、Read-Only Memory(ROM)202と、Random Access Memory(RAM)203と、半導体メモリやディスクドライブ等の記憶部204と、通信インタフェース(I/F)205と、を含む。これらCPU201~通信インタフェース205は、バス206によってそれぞれ接続されている。
また、この第1の処理装置110には、被制御機器である第1の機器111がバス206を介して接続される。第1の機器111は、通信インタフェース(I/F)205等を介して接続される構成としてもよい。さらに、この第1の処理装置110は、ディスプレイ208、キーボード210、マウス211、スキャナ212、プリンタ213がバス206等を介して接続された構成とすることができる。
CPU201は、第1の処理装置110の全体の制御を司る演算処理装置である。ROM202は、第1の処理装置110のプログラム等を記憶する不揮発性メモリである。RAM203は、CPU201によるプログラムの演算処理実行時のワークエリアとして使用される揮発性メモリである。
通信インタフェース205は、ネットワーク130と内部のインタフェースを司り、第2の処理装置120との間のデータの入出力を制御する。具体的に、通信インタフェース205は、通信回線を通じてネットワーク130となるLocal Area Network(LAN)、Wide Area Network(WAN)、インターネットなどに接続され、ネットワーク130を介して第2の処理装置120に接続される。通信インタフェース205には、例えば、モデムやLANアダプタなどを採用することができる。
ディスプレイ208は、CPU201のプログラム実行による被制御機器(第1の機器111,第2の機器121)の制御情報を表示する装置である。ディスプレイ208には、例えば、Thin Film Transistor(TFT)液晶ディスプレイ、プラズマディスプレイ、有機ELディスプレイなどを採用することができる。
第2の処理装置120についても、第1の処理装置110同様に図2に記載のハードウェアにより構成することができる。
図3は、実施の形態にかかる第1の処理装置から第2の機器へのアクセスの概要を説明する図である。第2の機器121(Y)が所定の監視エリアの人などの侵入を監視する侵入検知器の例で説明する。
はじめに、第1の処理装置(A)110は、CPU201がアプリケーション等のプログラム301を実行し、このプログラム301は、第2の機器121の監視情報の取得にかかる処理(図示の例ではRead関数をcall)を行い(ステップS301)、Readコマンドを発行する(ステップS302)。
次に、プログラム301の下位層は、第2の機器121に対するコマンドを解釈し、第2の機器121の制御情報が示された処理テーブル302を参照し、第2の機器121の監視情報を取得するコマンドを発行する(ステップS303)。処理テーブル302は、第2の機器121が接続された第2の処理装置120に予め用意されるものであり、図2に示したRAM203上に作成され、記憶部204に保持できる。
ステップ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から送信された要求に対応する制御を行うことができる。
第2の処理装置(B)120では、第1の処理装置110からのReadコマンドを受け取り、Readコマンドに対応して、第2の機器121から監視情報を取得し(ステップS304)、第1の処理装置110に対して監視情報を送付する(ステップS305)。
図4は、実施の形態にかかる制御プログラム例を示す図である。図4の(a)は、第1の処理装置110に接続されている第1の機器(X)111の制御プログラム例である。また、図4の(b)は、第2の処理装置120に接続されている第2の機器(Y)121の制御プログラム例である。
図4の(a),(b)のプログラムが示す制御内容は同じものとなる。このように、被制御対象(第1の機器111、第2の機器121)が自身(第1の処理装置110)に接続されている/いないにかかわらず、プログラム内容は同じとなる。したがって、プログラマは、第1の処理装置110のプログラムを作成する際に、第1の機器111、および第2の機器121について、第1の処理装置110と第2の処理装置120間の通信にかかる処理を意識することなく、プログラムを作成することができるようになる。
また、第1の処理装置110、第2の処理装置120に接続される第1の機器111、第2の機器121の故障や機能変更等によるハードウェアの変更が生じても、処理テーブル302を変更するだけで、図4に示したプログラム(アプリケーション層のソフトウェア)の変更は発生しない。
図5は、実施の形態にかかる第1の処理装置によって第2の機器にアクセスするための具体例を説明する図である。この例では、第2の機器121が接続された第2の処理装置120は、起動時にプログラム501が上記の処理テーブル302として関数呼び出しテーブル502を作成する。なお、関数呼び出しテーブル502は、プログラム501の起動時に限らず、任意のタイミングで作成してもよく、手作業で作成したものを外部から入力する構成としてもよい。
このプログラム501には、起動時に関数呼び出しテーブル502を作成する処理と、第2の機器121の監視情報を取得する処理(readPort)と、読み出した監視情報に対して所定の関数演算等の処理と、が記述(設定)されている。
関数呼び出しテーブル502は、第2の機器121のID(ID1)と、この第2の機器121が接続された第2の処理装置120のポートのアドレスからなる。この例では、ID1には、第2の機器121から監視情報を読み出すためのreadPortのアドレスが設定されている。このほか、図3に示したように、ID別に書き込み(Write)、起動(Start)、停止(Stop)等の制御機能をそれぞれ設定しておくことができる。
関数呼び出しテーブル502の設定は、図5に示したように「readPort」のような文字列に限らず、ポートを読む旨を示す「1001」のような数値列としてもよい。
通信処理タスク503は、ネットワーク130に対する(第1の処理装置110との間の)通信処理(受信および送信)を実行し、第1の処理装置110から第2の機器121に対する要求時には、該当するIDを用いた関数呼び出しテーブル502を検索し、要求に対応したプログラム501の関数演算を実行する。
以下、実施の形態にかかる第1の処理装置から第2の機器へのアクセスを行うための手順を順に説明する。はじめに、第2の処理装置120のプログラム501が起動すると、関数呼び出しテーブル502を作成する(ステップS501)。
この際、プログラム501は、第2の処理装置120に接続されている第2の機器121の接続ポートを検出し、監視情報を読み出す機能のIDにreadPortのアドレスを関連付けた設定を関数呼び出しテーブル502に作成する。同様に、第2の処理装置120が実行可能な制御(関数演算等)の機能について、所定のID(図示の例ではID2)を関数呼び出しテーブル502に設定する。
そして、第1の処理装置110は、第2の処理装置120が作成した関数呼び出しテーブル502を任意のタイミングで取得する。関数呼び出しテーブル502の取得タイミングは、第2の機器121の機能、およびこの第2の機器121が接続されている第2の処理装置120の所在等を把握している場合には、第1の処理装置110が直接、第2の処理装置120にアクセスして取得する。
これに限らず、第2の処理装置120がネットワーク130上に関数呼び出しテーブル502を公開している場合には、この公開された関数呼び出しテーブル502を参照した第1の処理装置110のうち、第2の機器121の制御を所望する(監視情報を取得要求する)第1の処理装置110が第2の処理装置120にアクセスして取得する構成とすることもできる。
この後、第1の処理装置110が第2の処理装置120に対して、第2の機器121の監視情報を取得する制御を行ったとする(ステップS502)。例えば、第1の処理装置110のプログラム301が第2の機器121の監視情報の取得にかかる処理(ObjY.readData())を実行する。
この場合、第1の処理装置110のプログラム301は、第2の機器121に対するreadコマンド(readData())を発行する(ステップS503)。そして、プログラム301の下位層は、第2の機器121に対するコマンドを解釈し、第2の処理装置120から取得しておいた関数呼び出しテーブル502を参照し、第2の機器121の監視情報の取得に該当する識別子ID1を指定して、第2の機器121の監視情報を取得するコマンド(readPort(他))に対応する要求ID1を第2の処理装置120に送信する(ステップS504)。他とは、他の処理装置のポートを示す。
ここで、第1の処理装置110は、第2の処理装置120に対して第2の機器121の制御のコマンドそのものを送信するのではなく、関数呼び出しテーブル502の参照により、制御内容を含む識別子IDだけを送信すればよいため、送信するデータ量を削減できる。
図6は、組み込み機器におけるプログラムの作成例を示す図である。実施の形態の第1の処理装置110および第2の処理装置120は、組み込み機器、例えば、上記の監視カメラや侵入検知器、リモコンやデジカメ、ICレコーダ、車載装置、医療機器等、用途(動作)が限定された特定用途の機器の処理部として機能する。
図6に示すプログラム600は、クラスの定義601に基づき、第1の処理装置110の制御ソフト1のオブジェクト602と、コマンド603が定義される。オブジェクト602の機器A(第1の機器111)は、自コンピュータ(第1の処理装置110)上にあることを示し、ObjAは、内部のフラグ(flg)に自コンピュータの情報をセットする。オブジェクト602の機器Y(第2の機器121)は、他コンピュータ(第2の処理装置120)上にあることを示し、ObjYは、内部のフラグ(flg)に他コンピュータの情報をセットする。
そして、プログラム301は、読み出し(readData)のコマンド603について、自コンピュータ(第1の処理装置110)に対するものであれば、指定の自インタフェース(I/Oポート)からデータをreadしてその値をリターンする。また、他コンピュータ(第2の処理装置120)に対するものであれば、該当する第2の処理装置120と会話して、返された値をリターンする。
図5に戻り説明すると、第2の処理装置120は、通信処理タスク503が第1の処理装置110からの要求ID1を受信する(ステップS505)。通信処理タスク503は、関数呼び出しテーブル502を参照し(ステップS506)、プログラム501に識別子ID1に対応する関数(readPort)を実行させる(ステップS507)。
この後、第2の処理装置120は、プログラム501がID1に対応して、I/Oポート読出処理を行い、該当する第2の機器121の監視情報を読み出し(readPort)、通信処理タスク503に返す(ステップS508)。
そして、第2の処理装置120は、通信処理タスク503がreadPortの結果、読み出した第2の機器121の監視情報を第1の処理装置110に送信する(ステップS509)。
第1の処理装置110は、プログラム301が発行したreadPort(他)の返答として第2の機器121から送信された監視情報をreadData()に変換し(ステップS510)、第2の機器121の監視情報の取得にかかる処理(ObjY.readData())の結果として、対応する第2の機器121の監視情報を取得する(ステップS511)。
上記処理によれば、第1の処理装置110は、自装置内の処理であるか第2の処理装置120の処理であるかを、プログラム301が指定する引数(アクセス対象名)によって切り分ける。この際、外部(第2の処理装置120)へのアクセスについては、予め取得した関数呼び出しテーブル502を参照し、該当する第2の処理装置120にアクセスする。
また、第2の処理装置120の通信処理タスク503と関数呼び出しテーブル502は、ソフトウェア実行に限らず、ハードウェアチップを用いて構成することもできる。
また、上記の関数呼び出しテーブル502は、上述したように、第1の処理装置110が取得するに限らず、第2の処理装置120がネットワーク130上に公開する構成とすることもできる。そして、関数呼び出しテーブル502が示す、第2の機器121の機能(Read,Write,Start,Stop)は、ネットワーク130上の任意の第1の処理装置110によって取得し、制御(使用)できるようになる。
すなわち、第1の処理装置110は、関数呼び出しテーブル502を取得することにより、第2の処理装置120に接続された第2の機器121の機能を知ることができ、第1の処理装置110は、ネットワーク130の通信方式(手順)を隠蔽して第2の処理装置120に接続された第2の機器121を制御できるようになる。
これにより、第1の処理装置110(第1の機器111)に対して、第2の処理装置120(第2の機器121)が同一の部屋内や異なる場所に設置された場合においても、この設置場所に限定されず、第2の機器121を制御できるようになる。
例えば、同一の部屋内に設けた異なる機能の第1の機器111(例えば監視カメラ)と、第2の機器121(例えば人体検知器)の異なる監視機能を第1の処理装置110により制御できるようになる。一方、第1の処理装置110で処理できない演算を第1の処理装置110の制御によって遠隔地の第2の処理装置120により演算処理できるようになる。
さらに、関数呼び出しテーブル502は、ネットワーク130上のサーバに保持しておくこともでき、複数の第2の処理装置120毎の関数呼び出しテーブル502として保持できる。これにより、所定の機能を要求する第1の処理装置110は、サーバへのアクセスによって該当する機能(第2の機器121)を容易に検索することができ、また、第2の機器121が接続された第2の処理装置120へのアクセスを容易に行えるようになる。
上記実施の形態によれば、第1の処理装置および第2の処理装置のCPUやOSに依存せず、互いに自処理装置あるいは他処理装置に接続されている第1の機器および第2の機器をネットワーク接続の有無に関係なく簡単に制御できるようになる。また、自処理装置にないメモリのリード/ライトや、関数実行についても同様に行えるようになる。したがって、第1の処理装置と第2の処理装置は、ネットワーク接続されたものに限らず、同一機器内での異なるCPU間通信についても同様に適用することができる。
これにより、第1の処理装置は、自処理装置に接続された第1の機器に対するクローズド制御に限らず、ネットワーク等を介して第2の処理装置に接続された第2の機器についても、通信(プロトコル)を意識せずに制御でき、プログラム作成についても通信を意識せずに作成できるため、プログラム作成を容易に行えるようになる。すなわち、第1の処理装置は、間に介在するネットワークの通信プログラムや専用I/Fを追加せずとも第2の機器を制御できるようになる。
関数呼び出しテーブルは、第2の処理装置に接続された第2の機器が故障や仕様変更などでの交換や、追加の場合に更新される。これにより、第2の機器の機能が変更された場合であっても、第1の処理装置は、関数呼び出しテーブルを参照するだけで、所望する第2の機器の制御を行える。加えて、第2の機器が交換等されてもプログラム変更を不要にできる。
そして、特定用途の機能を有する組み込み機器においても、他の機器に対する制御を行って機能拡張が行えるようになる。また、汎用の情報処理装置においても所望する機能の機器に対する制御を容易に行えるようになる。具体的には、ECHONETやAUTOSAR等の規格に縛られず、専用I/Fや専用の通信プログラムを設けなくても、任意の他の機器に対する制御が可能となる。
(物理的位置に依存しないシームレスな機器アクセスの具体例)
図7は、異なる処理装置に接続された機器に対するアクセスの具体例を示す図である。第1の処理装置(装置A)と701と、第2の処理装置(装置B)702は、それぞれ、アプリケーションプログラム703と、コア層704と、外部と通信を行う通信機器や、装置内のボードとのアクセス処理の実装部705と、プラットフォーム(ハードウェア、OS、ドライバ)706と、を有する。
図7は、異なる処理装置に接続された機器に対するアクセスの具体例を示す図である。第1の処理装置(装置A)と701と、第2の処理装置(装置B)702は、それぞれ、アプリケーションプログラム703と、コア層704と、外部と通信を行う通信機器や、装置内のボードとのアクセス処理の実装部705と、プラットフォーム(ハードウェア、OS、ドライバ)706と、を有する。
装置Aの通信層1(705a)は、装置に直接接続される機器711にアクセスする他、ネットワーク710を介して装置Bの機器721にアクセス可能である。通信層2(705b)は、装置内のボード712等にアクセス可能である。同様に、装置Bの通信層1(705a)は、装置に直接接続される機器721にアクセスする他、ネットワーク710を介して装置Aの機器711にアクセス可能である。通信層2(705b)は、装置内のボード722等にアクセス可能である。
コア層704は、Basic Class Library731と、処理部X732と、通信方式抽象化層1(733)と、通信方式抽象化層2(734)と、プラットフォーム抽象化層1(735)と、プラットフォーム抽象化層2(736)とを有する。Basic Class Library731は、複数のオブジェクト、例えばI/O処理、リアルタイムモニタ、イベント監視、以上監視、データ収集、一括設定等の各種オブジェクトを管理する。
処理部X732は、Basic Class Library731からコールされるオブジェクト関連の処理に対応して、下記のタイプ1~3の処理を行う。
1.アプリケーションプログラムが、オブジェクトに対して要求する処理について、オブジェクトがアプリ内部に存在するのか、LAN上に存在するのか、さらにWAN上に存在するのかを確認する。
2.アプリケーションプログラムからBasic Class Library731経由で呼び出される各処理要求の中で指定されたName(名前)の実態を取り出す処理を行う。この名前の実態は、ネットワーク設定で予め設定されている。
3.オブジェクトがLAN/WAN上に存在する場合には、そのオブジェクトに対する通信経路を確保し、リクエストを送受信する。
1.アプリケーションプログラムが、オブジェクトに対して要求する処理について、オブジェクトがアプリ内部に存在するのか、LAN上に存在するのか、さらにWAN上に存在するのかを確認する。
2.アプリケーションプログラムからBasic Class Library731経由で呼び出される各処理要求の中で指定されたName(名前)の実態を取り出す処理を行う。この名前の実態は、ネットワーク設定で予め設定されている。
3.オブジェクトがLAN/WAN上に存在する場合には、そのオブジェクトに対する通信経路を確保し、リクエストを送受信する。
通信方式抽象化層1(733)は、処理部X732からコールされる通信処理を抽象化するためのI/Fである。通信方式抽象化層1(733)の各関数は、各アクセス対象への個別の通信処理を実装した通信層1(705a)の関数をコールする。
プラットフォーム抽象化層1(735)は、Basic Class Library731からコールされるプラットフォーム依存処理を抽象化するためのI/Fである。プラットフォーム抽象化層1(735)の各関数の中からは、各アクセス対象への個別のアクセス処理やOSが提供する機能を適合させて実現するRTOS処理等を実装した通信層2(705b)の関数をコールする。
通信層1(705a)は、通信方式抽象化層2(734)からコールされる各アクセス対象への個別の通信処理の実装部である。処理部X732→VCL733→通信方式抽象化層2(734)経由で渡される引数(handle)によってアクセス対象を特定して、対応する実装処理を行う。
通信層2(705b)は、プラットフォーム抽象化層2(736)からコールされる各アクセス対象への個別のアクセス処理やOSが提供する機能を適合させて実現するRTOS処理などを作成する実装部である。処理部X732→プラットフォーム抽象化層1(735)→プラットフォーム抽象化層2(736)経由で渡される引数(handle)によってアクセス対象を特定して、対応する実装処理を行う。
(装置Aから装置Aおよび装置Bの機器の制御例)
図8は、他装置のオブジェクト読み出しの一連の流れを説明する図である。以下、処理の流れ順に説明する。
図8は、他装置のオブジェクト読み出しの一連の流れを説明する図である。以下、処理の流れ順に説明する。
1.装置Aでは、はじめに、アプリケーションプログラム703により名前を指定してオブジェクトを生成し、オブジェクトがもつ関数を呼び出す。
2.次に、処理部X732により、Network Configuration Data800の内容に基づき、オブジェクト名によりオブジェクトにアクセスするための通信方式、通信パラメータ(位置情報)を解決する。
3.4.そして、処理部X732により、オブジェクト名や関数名、および、引数情報をパケットに変換し、抽象化層733~736を介して、2.で解決した通信方式を実装するポートにこれを引き渡す。この際、装置Aの外部に出て行くパケットは所定の暗号化を施す。
2.次に、処理部X732により、Network Configuration Data800の内容に基づき、オブジェクト名によりオブジェクトにアクセスするための通信方式、通信パラメータ(位置情報)を解決する。
3.4.そして、処理部X732により、オブジェクト名や関数名、および、引数情報をパケットに変換し、抽象化層733~736を介して、2.で解決した通信方式を実装するポートにこれを引き渡す。この際、装置Aの外部に出て行くパケットは所定の暗号化を施す。
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)に返却する。
6.印字処理の実態は、プラットフォーム抽象化層1(735)/プラットフォーム抽象化層2(736)を介して実際の印字を行う。
7.プラットフォーム抽象化層1(735)/プラットフォーム抽象化層2(736)は、印字処理の結果である戻り値を受け取る。
8.通信方式抽象化層1(733)/通信方式抽象化層2(734)は、戻り値をパケットに変換し、暗号化して呼び出し元(装置A)に送信する。
9.装置Aの処理部X732は、戻り値を含むパケットを受信し、暗号化されたパケットを復号する。
10.Basic Class Library731は、戻り値を呼び出し元(アプリケーションプログラム703)に返却する。
上記処理において、装置Aのアプリケーションプログラム703が自装置Aに接続されたプリンタXにアクセスし印字処理させる場合には、1.2.3.4.7.10の処理が実行される。この際、処理部X732では、名前の実態をNetwork Configuration Data800により、装置Aに接続されたプリンタXのシリアルポートの情報に基づき接続先を解決する。
また、装置Aのアプリケーションプログラム703が他装置Bに接続されたプリンタYにアクセスし印字処理させる場合には、1.~10.の処理が順次実行される。この際、処理部X732では、名前の実態をNetwork Configuration Data800により、装置Bへの接続方法(外部通信、アドレス等の位置情報に基づき接続先を解決する。
(CPUAB間の通信の制御例)
上記説明では、異なる装置A,Bに接続された機器の制御例を説明したが、これに限らず、CPUA,B間の通信の制御にも同様に適用することができる。
上記説明では、異なる装置A,Bに接続された機器の制御例を説明したが、これに限らず、CPUA,B間の通信の制御にも同様に適用することができる。
図9は、CPUA,CPUBが共有メモリによってデータを送受する構成例を示す図である。このような共有メモリ900を介した同一装置内のCPUA,B間での機能呼び出しも可能になる。具体的には、CPUAのアプリケーションプログラム703が他装置Bに接続されたプリンタYにアクセスし印字処理させる場合には、共有メモリ900を介して1.~10.の処理が順次実行される。処理部X732では、名前の実態をNetwork Configuration Data800により、装置Bへの接続方法(外部通信、CPUB、の情報に基づき接続先を解決する。
この場合、通信方式抽象化層1(733)と、通信方式抽象化層2(734)を、共有メモリ900を介して実装するポーティング層に差し替えるだけで対応可能になる。装置Aのアプリケーションプログラム703は、図8に示したネットワークを介する場合の例と全く変わらずシームレスに処理を実行できる。
(アプリケーションの公開インタフェース呼び出しの例1)
図10は、アプリケーションの公開インタフェースの呼び出しを説明する図である。アプリケーションプログラム703と、Basic Class Library731との間にUser Extended Classes1001を設ける。User Extended Classes1001では、Basic Class Library731のクラスを継承して、独自のクラスを定義し、その機能を装置Aの外部から呼び出せる形で公開する。図10の例では、User Extended Classes1001がプリンタークラスを継承したUser Printerクラスを定義し、装置A,B間でこの機能を呼び出した際の流れを示している。
図10は、アプリケーションの公開インタフェースの呼び出しを説明する図である。アプリケーションプログラム703と、Basic Class Library731との間にUser Extended Classes1001を設ける。User Extended Classes1001では、Basic Class Library731のクラスを継承して、独自のクラスを定義し、その機能を装置Aの外部から呼び出せる形で公開する。図10の例では、User Extended Classes1001がプリンタークラスを継承したUser Printerクラスを定義し、装置A,B間でこの機能を呼び出した際の流れを示している。
図10に示すように、装置Aのアプリケーションプログラム703が自装置Aに接続されたプリンタXにアクセスし印字処理させる場合には、1.2.3.4.7.10の処理が実行される。この際、処理部X732では、名前の実態をNetwork Configuration Dataにより、装置Aに接続されたプリンタXのシリアルポートの情報に基づき接続先を解決する。
また、装置Aのアプリケーションプログラム703が他装置Bに接続されたプリンタYにアクセスし印字処理させる場合には、1.~10.の処理が順次実行される。この際、処理部X732では、名前の実態をNetwork Configuration Data800により、装置Bへの接続方法(外部通信、アドレス等の位置情報に基づき接続先を解決する。
そして、User Extended Classes1001では、10.プリンタークラスを継承したUser Printerクラスを定義し、例えばネットワーク上に公開する。これにより、他の装置B,C,…が公開されたUser Printerクラスに基づき、該当する装置(機器)へのアクセスが可能となる。
図11は、リモート呼び出し可能な公開インタフェースの定義例を示す図表である。図11に示す例では、C言語で表現される構造により、インタフェースを定義し、他の装置から名前によるリモート呼び出しを行う例である。
図示のように、引数リストや返却値リストには、型のサイズや型のデータをパケット化、およびパケットから復元する関数へのポインタをもつ。これらをインタフェース名と、それを実装する関数へのポインタとともに、公開インタフェースのリストとして登録することで、外部の他の装置からの呼び出しを可能とする。
さらに、この情報と、Network Configuration Data800から得られる位置情報をネットワークにブロードキャストし、各ノード(装置A,B,C,…)がこれらの情報を保持することにより、各装置は互いに公開しているインタフェース情報を共有することができる。
(アプリケーションの公開インタフェース呼び出しの例2)
図12は、アプリケーションの公開インタフェースの呼び出しの他の例を説明する図である。図12に示すように、アプリケーションのオブジェクト自身に、複数のオブジェクトの機能を機能群Xとして定義し、機能群Xを使用するためのインタフェースを公開する構成とすることもできる。
図12は、アプリケーションの公開インタフェースの呼び出しの他の例を説明する図である。図12に示すように、アプリケーションのオブジェクト自身に、複数のオブジェクトの機能を機能群Xとして定義し、機能群Xを使用するためのインタフェースを公開する構成とすることもできる。
図12の例では、装置Aが装置Bの機器にアクセスする際に、上記1.~10.同様の手順でアクセスし、その課程において装置Bは、集計した結果を6.7.データベースクラスと、プリンタークラスを作成し、データベースクラスをデータベース1200に登録する。また、集計結果をプリンタYからレポート出力する。
装置Bのアプリケーションプログラム703は、機能群Xを装置Bに接続された外部インファーフェースとして外部に公開する。また、装置Aの機能群についてデータベース1200に登録する。
(NAT越えについて)
装置A,B間のネットワーク接続において、例えば、相手側のNAT機器を用いたプライベートネットワークに属するホストを直接指定できない(NAT通過できない)問題について、NAT越えのための情報を登録しておくことで解決できる。
装置A,B間のネットワーク接続において、例えば、相手側のNAT機器を用いたプライベートネットワークに属するホストを直接指定できない(NAT通過できない)問題について、NAT越えのための情報を登録しておくことで解決できる。
図13は、装置A,B間のNAT越えの構成例を示す図である。NATを越えてオブジェクトにアクセスする場合は、装置A,B間のロケーションサーバ1300によりオブジェクトの位置情報を管理する。図13の例では、装置Bの起動時に、オブジェクトは、自身の位置情報をロケーションサーバ1300に登録する(ステップS1301)。
この装置Bにアクセスする装置Aの処理部X732は、通信に先立って、アクセス先のオブジェクトの位置情報をロケーションサーバ1300に問い合わせる(ステップS1302)。装置Aは、問い合わせた結果得られる位置情報(Network Configuration Data800の装置Bのゲートウェイアドレス)を使用して、装置Bのリモートオブジェクトにアクセス可能となる。なお、一度解決した位置情報は、装置Aのメモリ等にキャッシュし、次回の呼び出し時にはロケーションサーバ1300に問い合わせることなく、高速に呼び出すことができる。
以上のように、本発明は、自処理装置に接続された機器以外の他の機器を制御する各種処理装置、例えば、特定用途の機能を有する組み込み機器や汎用の情報処理装置、およびこれらのソフトウェア開発に有用である。
100 機器間制御システム
110 第1の処理装置
111 第1の機器
120 第2の処理装置
121 第2の機器
130 ネットワーク
201 制御部(CPU)
202 ROM
203 RAM
204 記憶部
205 通信インタフェース
206 バス
301 プログラム
302 処理テーブル
501 プログラム
502 関数呼び出しテーブル
503 通信処理タスク
110 第1の処理装置
111 第1の機器
120 第2の処理装置
121 第2の機器
130 ネットワーク
201 制御部(CPU)
202 ROM
203 RAM
204 記憶部
205 通信インタフェース
206 バス
301 プログラム
302 処理テーブル
501 プログラム
502 関数呼び出しテーブル
503 通信処理タスク
Claims (16)
- 自処理装置が自処理装置に接続された第1の機器、または第2の処理装置に接続された第2の機器を制御する機器間制御方法であって、
自処理装置のコンピュータが、
制御対象の前記第1の機器または前記第2の機器を制御するための名前と、関数名と引数情報からなるオブジェクトを生成し、
予め設定されたネットワーク情報に含まれる前記第1の機器または前記第2の機器の通信方式、および通信パラメータを参照して、前記オブジェクトにアクセスする情報を得て、
前記オブジェクト名、関数名、および引数情報を所定のパケットに変換し、前記通信方式に対応するポートを選択して、前記パケットを引き渡し、
前記パケットを該当する自処理装置に接続された前記第1の機器、または前記第2の機器が接続された前記第2の処理装置に送信する、
ことを特徴とする機器間制御方法。 - 前記第2の処理装置は、
受信した前記パケットから前記オブジェクト名、関数名、引数情報を復元し、制御処理を実行し、
実行結果の戻り値を所定のパケットに変換して、第1の処理装置に送信し、
前記第1の処理装置は、
前記第2の処理装置が送信した前記戻り値を受信する、
ことを特徴とする請求項1に記載の機器間制御方法。 - 前記自処理装置と、第2の処理装置との間にサーバを設け、
前記自処理装置、または第2の処理装置は、オブジェクトのネットワーク上の位置情報を前記サーバに登録し、
前記オブジェクトにアクセスする前記自処理装置、または前記第2の処理装置は、アクセス先の処理装置のネットワーク上の位置情報を前記サーバに問い合わせ、
前記問い合わせにより得たネットワーク上の位置情報に基づき、所望する処理装置のオブジェクトに対し、前記ネットワーク上の位置情報を用いてアクセスする、
ことを特徴とする請求項1または2に記載の機器間制御方法。 - 自処理装置が第2の処理装置に接続された第2の機器を制御する機器間制御方法であって、
自処理装置のコンピュータが、
前記第2の処理装置に接続され、当該第2の処理装置が制御する前記第2の機器の制御情報を取得する処理、
前記第2の処理装置に接続された前記第2の機器に対する所定の制御時には、自処理装置内のインタフェース同様の形式を有し、自処理装置以外の識別子を付与した所定のコマンドを実行するとともに、
前記制御情報を参照して前記所定のコマンドに対応する要求を前記第2の処理装置に送信する処理、
前記第2の処理装置からの応答を、前記実行したコマンドに対する結果として用いる処理、
を実行することを特徴とする機器間制御方法。 - 自処理装置に接続された第1の機器の制御は、自処理装置の接続ポートを指定し、
前記第2の処理装置に接続された前記第2の機器の制御は、当該制御に対応する所定のコマンドのポートを自処理装置以外として設定する、
ことを特徴とする請求項4に記載の機器間制御方法。 - 前記制御情報には、前記第2の機器の機能と、機能別の識別子を含み、
自処理装置は、前記制御情報を参照し、所望する機能の制御に対応した識別子の情報を前記第2の処理装置に送信する、
ことを特徴とする請求項4または5に記載の機器間制御方法。 - 自処理装置は、前記第2の機器の制御情報を予め取得し、格納保持しておくことを特徴とする請求項4~6のいずれか一つに記載の機器間制御方法。
- 自処理装置は、前記第2の機器の制御情報を前記第2の処理装置から取得することを特徴とする請求項4~7のいずれか一つに記載の機器間制御方法。
- 前記第2の機器の制御情報を前記第2の処理装置が接続されたサーバが収集し、
自処理装置は、前記サーバから前記第2の機器の制御情報を取得することを特徴とする請求項4~8のいずれか一つに記載の機器間制御方法。 - 前記第2の処理装置は、前記自処理装置からの要求時に、前記第2の機器の制御情報に基づき、前記第2の機器が接続された接続ポートを指定し、前記第2の機器を制御することを特徴とする請求項4~9のいずれか一つに記載の機器間制御方法。
- 自処理装置が自処理装置に接続された第1の機器、または第2の処理装置に接続された第2の機器を制御する機器間制御プログラムであって、
自処理装置のコンピュータに、
制御対象の前記第1の機器または前記第2の機器を制御するための名前と、関数名と引数情報からなるオブジェクトを生成する処理、
予め設定されたネットワーク情報に含まれる前記第1の機器または前記第2の機器の通信方式、および通信パラメータを参照して、前記オブジェクトにアクセスする情報を得る処理、
前記オブジェクト名、関数名、および引数情報を所定のパケットに変換し、前記通信方式に対応するポートを選択して、前記パケットを引き渡す処理、
前記パケットを該当する自処理装置に接続された前記第1の機器、または前記第2の機器が接続された前記第2の処理装置に送信する処理、
を実行させることを特徴とする機器間制御プログラム。 - 自処理装置が自処理装置に接続された第1の機器、または第2の処理装置に接続された第2の機器を制御する機器間制御システムであって、
自処理装置は、
制御対象の前記第1の機器または前記第2の機器を制御するための名前と、関数名と引数情報からなるオブジェクトを生成するオブジェクト生成部と、
予め設定されたネットワーク情報に含まれる前記第1の機器または前記第2の機器の通信方式、および通信パラメータを参照して、前記オブジェクトにアクセスする情報を得る通信処理部と、
前記オブジェクト名、関数名、および引数情報を所定のパケットに変換し、前記通信方式に対応するポートを選択して、前記パケットを引き渡すパケット処理部と、
前記パケットを該当する自処理装置に接続された前記第1の機器、または前記第2の機器が接続された前記第2の処理装置に送信する通信部と、
を有することを特徴とする機器間制御システム。 - 自処理装置が第2の処理装置に接続された第2の機器を制御する機器間制御プログラムであって、
自処理装置のコンピュータに、
前記第2の処理装置に接続され、当該第2の処理装置が制御する前記第2の機器の制御情報を取得する処理、
前記第2の処理装置に接続された前記第2の機器に対する所定の制御時には、自処理装置内のインタフェース同様の形式を有し、自処理装置以外の識別子を付与した所定のコマンドを実行させ、
前記制御情報を参照して前記所定のコマンドに対応する要求を前記第2の処理装置に送信する処理、
前記第2の処理装置からの応答を、前記実行したコマンドに対する結果として用いる処理、
を実行させることを特徴とする機器間制御プログラム。 - 自処理装置が第2の処理装置に接続された第2の機器を制御する機器間制御システムであって、
自処理装置は、
前記第2の処理装置に接続され、当該第2の処理装置が制御する前記第2の機器の制御情報を取得する取得部と、
前記第2の処理装置に接続された前記第2の機器に対する所定の制御時には、自処理装置内のインタフェース同様の形式を有し、自処理装置以外の識別子を付与した所定のコマンドを実行し、
前記制御情報を参照して前記所定のコマンドに対応する要求を前記第2の処理装置に送信し、
前記第2の処理装置からの応答を、前記実行したコマンドに対する結果として用いる実行部と、
前記要求を送信し、前記要求の返答を受信する通信部と、
を有することを特徴とする機器間制御システム。 - 自処理装置と前記第2の処理装置とがネットワーク接続されたことを特徴とする請求項14に記載の機器間制御システム。
- 自処理装置と前記第2の処理装置は、同一機器内のCPU間接続であることを特徴とする請求項14に記載の機器間制御システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015544751A JPWO2015063959A1 (ja) | 2013-10-30 | 2013-12-16 | 機器間制御方法、機器間制御プログラムおよび機器間制御システム |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPPCT/JP2013/079471 | 2013-10-30 | ||
PCT/JP2013/079471 WO2015063902A1 (ja) | 2013-10-30 | 2013-10-30 | 機器間制御方法、機器間制御プログラムおよび機器間制御システム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015063959A1 true WO2015063959A1 (ja) | 2015-05-07 |
Family
ID=53003549
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2013/079471 WO2015063902A1 (ja) | 2013-10-30 | 2013-10-30 | 機器間制御方法、機器間制御プログラムおよび機器間制御システム |
PCT/JP2013/083684 WO2015063959A1 (ja) | 2013-10-30 | 2013-12-16 | 機器間制御方法、機器間制御プログラムおよび機器間制御システム |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2013/079471 WO2015063902A1 (ja) | 2013-10-30 | 2013-10-30 | 機器間制御方法、機器間制御プログラムおよび機器間制御システム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2015063959A1 (ja) |
WO (2) | WO2015063902A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019186802A (ja) * | 2018-04-12 | 2019-10-24 | 株式会社アイ・エル・シー | 機器制御装置、機器制御システム、機器制御方法および機器制御プログラム |
WO2021245764A1 (ja) * | 2020-06-01 | 2021-12-09 | 株式会社アイ・エル・シー | 機器制御方法、機器制御プログラムおよび機器制御システム |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6901574B2 (ja) * | 2017-09-05 | 2021-07-14 | 株式会社アイ・エル・シー | 電子マニュアル表示装置、電子マニュアル表示システム、電子マニュアル表示方法および電子マニュアル表示プログラム |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11187061A (ja) * | 1997-05-06 | 1999-07-09 | Toshiba Corp | 通信装置、通信制御方法、サービス登録方法、サービス提供方法及び装置制御プログラム登録方法 |
JP2001007861A (ja) * | 1999-06-24 | 2001-01-12 | Matsushita Electric Ind Co Ltd | ゲートウェイ装置 |
JP2002157178A (ja) * | 2000-08-25 | 2002-05-31 | Shikoku Electric Power Co Inc | リモートコントロールサーバおよびセンターサーバ |
JP2003152812A (ja) * | 2001-11-19 | 2003-05-23 | Mitsubishi Electric Corp | ゲートウェイ装置とゲートウェイ設定ツール |
JP2003308264A (ja) * | 2002-02-15 | 2003-10-31 | Hitachi Ltd | ネットワーク装置とネットワーク装置制御方法 |
JP2004318457A (ja) * | 2003-04-16 | 2004-11-11 | Yokogawa Electric Corp | コンピュータシステム |
JP2007041803A (ja) * | 2005-08-02 | 2007-02-15 | Canon Inc | ネットワーク機器及びその制御方法とネットワークシステム、及びその制御方法をコンピュータに実行させるためのプログラム及び該プログラムを記憶した記憶媒体 |
JP2011511973A (ja) * | 2007-12-31 | 2011-04-14 | サムスン エレクトロニクス カンパニー リミテッド | OSGiライフサイクルコマンドの実行制限のための方法及びシステム |
-
2013
- 2013-10-30 WO PCT/JP2013/079471 patent/WO2015063902A1/ja active Application Filing
- 2013-12-16 WO PCT/JP2013/083684 patent/WO2015063959A1/ja active Application Filing
- 2013-12-16 JP JP2015544751A patent/JPWO2015063959A1/ja active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11187061A (ja) * | 1997-05-06 | 1999-07-09 | Toshiba Corp | 通信装置、通信制御方法、サービス登録方法、サービス提供方法及び装置制御プログラム登録方法 |
JP2001007861A (ja) * | 1999-06-24 | 2001-01-12 | Matsushita Electric Ind Co Ltd | ゲートウェイ装置 |
JP2002157178A (ja) * | 2000-08-25 | 2002-05-31 | Shikoku Electric Power Co Inc | リモートコントロールサーバおよびセンターサーバ |
JP2003152812A (ja) * | 2001-11-19 | 2003-05-23 | Mitsubishi Electric Corp | ゲートウェイ装置とゲートウェイ設定ツール |
JP2003308264A (ja) * | 2002-02-15 | 2003-10-31 | Hitachi Ltd | ネットワーク装置とネットワーク装置制御方法 |
JP2004318457A (ja) * | 2003-04-16 | 2004-11-11 | Yokogawa Electric Corp | コンピュータシステム |
JP2007041803A (ja) * | 2005-08-02 | 2007-02-15 | Canon Inc | ネットワーク機器及びその制御方法とネットワークシステム、及びその制御方法をコンピュータに実行させるためのプログラム及び該プログラムを記憶した記憶媒体 |
JP2011511973A (ja) * | 2007-12-31 | 2011-04-14 | サムスン エレクトロニクス カンパニー リミテッド | OSGiライフサイクルコマンドの実行制限のための方法及びシステム |
Non-Patent Citations (1)
Title |
---|
KENTARO TADA: "C-Pon:Remote Operation of Electrical Equipment via Computer Networks", IPSJ SIG NOTES, vol. 97, no. 97, 17 October 1997 (1997-10-17), pages 37 - 42 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019186802A (ja) * | 2018-04-12 | 2019-10-24 | 株式会社アイ・エル・シー | 機器制御装置、機器制御システム、機器制御方法および機器制御プログラム |
JP7080096B2 (ja) | 2018-04-12 | 2022-06-03 | 株式会社アイ・エル・シー | 機器制御装置、機器制御システム、機器制御方法および機器制御プログラム |
US11405232B2 (en) | 2018-04-12 | 2022-08-02 | International Laboratory Corporation | Device control apparatus, device control system, device control method, and recording medium |
WO2021245764A1 (ja) * | 2020-06-01 | 2021-12-09 | 株式会社アイ・エル・シー | 機器制御方法、機器制御プログラムおよび機器制御システム |
JP7475446B2 (ja) | 2020-06-01 | 2024-04-26 | 株式会社アイ・エル・シー | 機器制御方法、機器制御プログラムおよび機器制御システム |
Also Published As
Publication number | Publication date |
---|---|
JPWO2015063959A1 (ja) | 2017-03-09 |
WO2015063902A1 (ja) | 2015-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7226906B2 (ja) | 埋め込む方法、埋め込む装置、及び機械アクセス可能媒体 | |
JP5846748B2 (ja) | プロセスデータにアクセスするための方法及び装置、マシンでアクセス可能な媒体 | |
US9588794B2 (en) | Method, system and device for managing software on virtual machine in cloud environment | |
JP6092249B2 (ja) | 埋込まれたプロセス通信のための仮想チャネル | |
US9182757B2 (en) | Methods and apparatus to transmit device description files to a host | |
JP5976210B2 (ja) | 監視システム、設備管理装置、監視方法及びプログラム | |
EP2863281B1 (en) | System and method to configure a field device | |
JP2019523951A (ja) | セキュアな通信を行う方法および産業コンピューティング装置 | |
WO2015063959A1 (ja) | 機器間制御方法、機器間制御プログラムおよび機器間制御システム | |
US20200235956A1 (en) | Device control apparatus, device control system, device control method, and recording medium | |
JP2006318102A (ja) | フィールド機器管理装置およびフィールド機器管理方法 | |
JP5743743B2 (ja) | アプリケーション連携システム | |
JP6370277B2 (ja) | 機器制御装置及び機器管理システム | |
JP7475446B2 (ja) | 機器制御方法、機器制御プログラムおよび機器制御システム | |
JP6901574B2 (ja) | 電子マニュアル表示装置、電子マニュアル表示システム、電子マニュアル表示方法および電子マニュアル表示プログラム | |
KR20230127008A (ko) | 원격 보안 서비스 제공 방법 및 이를 수행하는 서버 | |
JP2024130902A (ja) | ソフトウェア設計方法およびソフトウェア設計装置 | |
JP2019117979A (ja) | 制御装置 | |
JP2014092853A (ja) | 連携サーバ、連携方法及び連携プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13896686 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2015544751 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 13896686 Country of ref document: EP Kind code of ref document: A1 |