WO2021245764A1 - 機器制御方法、機器制御プログラムおよび機器制御システム - Google Patents
機器制御方法、機器制御プログラムおよび機器制御システム Download PDFInfo
- Publication number
- WO2021245764A1 WO2021245764A1 PCT/JP2020/021674 JP2020021674W WO2021245764A1 WO 2021245764 A1 WO2021245764 A1 WO 2021245764A1 JP 2020021674 W JP2020021674 W JP 2020021674W WO 2021245764 A1 WO2021245764 A1 WO 2021245764A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- device control
- devices
- control
- network
- information
- 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
Definitions
- the present invention relates to a device control method, a device control program, and a device control system for centrally controlling a plurality of devices connected to a network.
- a plurality of devices such as factories operate by executing a control program of the mounted PLC (Programmable Logic Controller).
- 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 describes a part of the program by a device control program compliant with AUTOSAR (AUTOSART Open System Archive) standardized for embedded systems for automobiles without completely stopping the required functions. It is a technology that can be rewritten.
- Patent Document 1 Since the technology of Patent Document 1 uses a dedicated protocol, a dedicated I / F is required for inter-network communication. Further, also in the technique of Patent Document 2, a dedicated I / F and a dedicated communication protocol are required for communication between each device in the vehicle.
- a plurality of devices connected to a network can be easily controlled without being restricted by a communication method or the like.
- the device control method of the present invention is a device control method in which a plurality of device control devices connected to a network control devices directly connected to the plurality of device control devices.
- the computer of one device control device cooperates with a plurality of other device control devices to control the devices directly connected to the plurality of other device control devices by a predetermined procedure, and the cooperation is performed.
- an object for controlling the devices connected to the other device control devices is generated, and the communication parameters of the devices included in the information of the network are set.
- the object is converted into a predetermined packet, the port corresponding to the communication method is selected, the packet is output, and the device corresponding to the packet is connected. It is characterized by executing a process of transmitting to the other device control device.
- an object consisting of a name for controlling the device, a function name, and argument information is generated, and the communication method and communication parameters of the device included in the preset network information of the network are referred to.
- one device control device controls information in which one device control device controls a plurality of other device control devices and the plurality of other device control devices coordinately control the devices directly connected to each other. It is characterized by notifying to.
- one device control device controls a plurality of other device control devices, and one device control device directly controls the device directly connected to the plurality of other device control devices. It is characterized by.
- the cloud on the network executes the control by one device control device.
- one said device control device and the other said device control device are characterized by being connected between CPUs in the same device.
- the device control program of the present invention is a program for causing a plurality of device control devices connected to a network to control devices directly connected to the plurality of device control devices, respectively, and is a program of one device control device.
- the computer is linked with a plurality of other device control devices, and the devices directly connected to the plurality of other device control devices are linked and controlled by a predetermined procedure, and a plurality of devices are linked and controlled in accordance with the linked control.
- an object for controlling the device connected to the other device control device is generated, and the communication parameter of the device included in the information of the network is referred to to the object.
- the object After obtaining the information to be accessed, the object is converted into a predetermined packet, the port corresponding to the communication method is selected, the packet is output, and the packet is connected to the other device control device to which the device is connected. It is characterized by sending to the computer and executing the process.
- the device control system of the present invention is a device control system in which a plurality of device control devices connected to a network control devices directly connected to the plurality of device control devices, respectively, and one device control system is used.
- the device cooperates with the plurality of other device control devices to control the devices directly connected to the plurality of other device control devices according to a predetermined procedure, and a plurality of devices corresponding to the linked control.
- an object for controlling the device connected to the other device control device is generated, and the communication parameter of the device included in the information of the network is referred to to the object.
- the device control device can directly control this device even if the device is connected to another device control device connected to the network and has a different communication method, etc., and a plurality of devices are linked. And you will be able to control it.
- FIG. 1 is a diagram showing a configuration example of the device control system according to the first embodiment.
- FIG. 2 is a functional block diagram of the PLC according to the first embodiment.
- FIG. 3 is a block diagram showing a hardware configuration example of the PLC according to the first embodiment.
- FIG. 4 is a diagram showing an example of access to a device in which the PLC according to the first embodiment is connected to another PLC.
- FIG. 5 is a diagram illustrating an outline of access from the PLC to the device according to the first embodiment.
- FIG. 6 is a diagram showing an example of a device control program according to the first embodiment.
- FIG. 7 is a diagram illustrating access to a device in which the PLC according to the first embodiment is connected to another PLC.
- FIG. 1 is a diagram showing a configuration example of the device control system according to the first embodiment.
- FIG. 2 is a functional block diagram of the PLC according to the first embodiment.
- FIG. 3 is a block diagram showing a hardware configuration example of the
- FIG. 8 is a sequence diagram showing an example of device control by PLC linkage according to the first embodiment.
- FIG. 9 is a sequence diagram showing an example of centralized control of equipment by PLC according to the second embodiment.
- FIG. 10 is a diagram showing a configuration example of the device control system according to the third embodiment.
- FIG. 1 is a diagram showing a configuration example of the device control system according to the first embodiment.
- a plurality of PLCs 1 to 3 (110), which are device control devices, are arranged, and these PLCs 1 to 3 (110) control the devices A to C (120) directly connected to each other.
- the direct connection means that the device A (120) is I / O connected to the PLC1 (110).
- PLCs 1 to 3 (110) are communicated and connected via the network 130.
- the ring type network connection configuration is used, but the present invention is not limited to this, and other network connection configurations such as a tree type may be used.
- the network 130 may be wired or wireless.
- the PLC1 (110) controls the devices B and C (120) connected to the PLCs 2 and 3 (110) in addition to the device A (120) connected to the own machine via the network 130.
- the devices A to C (120) connected to other PLCs 1 to 3 (110) are connected via the network 130. Can be controlled.
- the PLC1 (110) mainly connects the devices B and C (120) connected to the PLCs2 and 3 (110) in cooperation with the other two PLCs2 and 3 (110).
- An example of control will be described.
- the PLC1 (110) is located in the uppermost layer of the control system, and the other PLCs 2 and 3 (110) are located in the lower layer of the PLC1 (110).
- the PLCs 2 and 3 (110) are arranged in the same layer.
- the device B is a motion sensor that detects the presence or absence of a person in a predetermined area
- the device C is a motor that opens and closes an automatic door at an entrance / exit in the predetermined area.
- the PLCs 1 to 3 (110) have a CPU and a general-purpose communication interface (I / F) that can be connected to the network 130, and the CPU executes and processes a program for device control and communication (details will be described later). ..
- the PLC1 (110) identifies the other PLCs 2 and 3 (110) and the respective devices B and C (120) by a unique ID.
- the PLC1 (110) can control the PLCs 2 and 3 (120), the motion sensor device B (120), and the motor device C (120) by unique IDs, respectively.
- the PLC1 (110) enables device control for devices B and C (120) as well as device control for the directly connected device A (120).
- FIG. 2 is a functional block diagram of the PLC according to the first embodiment.
- the PLC 1 (110) that centrally controls the devices A to C (120) includes an object generation unit 210, a communication control unit 211, a packet processing unit 212, and a communication unit 213.
- the PLCs 2 and 3 (110) have the same functions as the PLC1 (110).
- the object generation unit 210 is for controlling the device A (120) directly connected to the PLC 1 (110) and the devices B and C (120) connected to the PLCs 2 and 3 (110) via the network 130. Create an object. For example, the object generation unit 210 generates an object including a name for controlling the devices B and C (120), a function name, and argument information.
- the communication control unit 211 refers to the communication parameters of the devices B and C (120) included in the information of the network 130, and obtains the information to access the generated object.
- the communication control unit 211 refers to the communication methods and communication parameters of the devices B and C (120) included in the preset information of the network 130, and acquires the information to access the object.
- the packet processing unit 212 converts the generated object into a predetermined packet, selects a port corresponding to the communication method, and outputs the packet. For example, the packet processing unit 212 converts the object name, the function name, and the argument information into a predetermined packet, selects a port corresponding to the communication method, and outputs the packet to the communication unit 213.
- the communication unit 213 transmits the packet to the PLCs 2 and 3 (110) of the devices B and C (120) that control the packet. Further, when the PLC1 (110) of the communication unit 213 participates in the network 130, the communication unit 213 distributes the object name of the object to the network 130. Further, when the object desired by its own PLC1 (110) is generated, the communication unit 213 queries the network 130 for the object name, and acquires the information of the network 130 from the other PLCs 2 and 3 (110) having the object name. .. Further, when the PLC1 (110) of the communication unit 213 adds a new object, the communication unit 213 distributes the object name to the network 130.
- FIG. 3 is a block diagram showing a hardware configuration example of the PLC according to the first embodiment.
- PLCs 1 to 3 are a device control unit (CPU) 301, a Read-Only Memory (ROM) 302, a Random Access Memory (RAM) 303, and a storage unit such as a semiconductor memory or a disk drive, respectively. It includes 304 and a communication interface (I / F) 305.
- the CPU 301 to the communication interface 305 are each connected by a bus 306.
- the device A (120) is connected to the PLC 1 (110) via the bus 306.
- the device A (120) may be configured to be connected via a communication interface (I / F) 305 or the like.
- the PLC 1 (110) can be configured such that the display 308, the keyboard 310, the mouse 311 and the scanner 312, and the printer 313 are connected via the bus 306 and the like. It is also possible to use a touch panel that integrates the functions of the display 308, the keyboard 310, and the mouse 311.
- the CPU 301 is an arithmetic processing unit that controls the entire device of the PLC1 (110).
- the ROM 302 is a non-volatile memory for storing the program of PLC1 (110) and the like.
- the RAM 303 is a volatile memory used as a work area when the CPU 301 executes the arithmetic processing of the program.
- the communication interface 305 controls the network 130 and the internal interface, and controls the input / output of data between the other PLCs 2 and 3 (110). Specifically, the communication interface 305 is connected to the local Area Network (LAN) or the like in the house which becomes the network 130 through the communication line, and is connected to the PLCs 2 and 3 (110) via the network 130.
- LAN local Area Network
- the network 130 can also be connected to other PLCs 2 and 3 (110) by WiFi (registered trademark), Bluetooth (registered trademark), infrared communication (IrDA), or the like.
- WiFi registered trademark
- Bluetooth registered trademark
- IrDA infrared communication
- the display 308 is a device that displays device control information of devices A to C (120) by executing a program of CPU 301.
- a Thin Film Transistor (TFT) liquid crystal display, a plasma display, an organic EL display, or the like can be adopted.
- the devices A to C (120) can also be configured by the hardware shown in FIG. 3 in the same manner as the PLC1 (110).
- FIG. 4 is a diagram showing an example of access to a device in which the PLC according to the first embodiment is connected to another PLC.
- An example of access to the device B (120) of the PLC 2 (110) by the PLC 1 (110) will be described by taking a pair of PLCs 1 and 2 (110) as an example.
- the PLCs 1 and 2 (110) are the application program 401, the function box 402, the core layer 403, the communication device that communicates with the outside, the mounting unit 405 for access processing with the board in the device, and the platform (respectively. It has hardware, OS, driver) 406.
- the communication layer 1 (405a) of the PLC1 (110) can access the device A (120) directly connected to the PLC1 (110) and also access the device B (120) of the PLC2 (110) via the network 130. Is.
- the communication layer 2 (405b) can access the port x and the like in the PLC 1 (110).
- the communication layer 1 (405a) of the PLC 2 (110) accesses the device B (120) connected to the PLC 2 (110) and is connected to the PLC 1 (110) via the network 130.
- a (120) is accessible.
- the communication layer 2 (405b) can access the port y and the like in the PLC 2 (110).
- the function box 402 includes an editor and a function package (referred to as INTA connection) for the user to easily develop and execute a control program for devices A to C (120).
- the function box 402 is a development tool for developing control programs for devices A to C (120) for the purpose of IoT conversion, and the control program created by this development tool is a runtime environment (Software PLC431 of the core layer 403, It is executed by the processing unit 432).
- the core layer 403 includes a Software PLC (Basic Class Library) 431, a processing unit 432, a communication method abstraction layer 1 (433), a communication method abstraction layer 2 (434), and a platform abstraction layer 1 (435). And a platform abstraction layer 2 (436).
- Soft PLC431 manages a plurality of objects, for example, various objects such as I / O processing, real-time monitoring, event monitoring, abnormality monitoring, data collection, and batch setting.
- the processing unit 432 performs the following types 1 to 3 processing in response to the object-related processing called from Soft PLC431.
- the processing unit 432 confirms whether the object exists inside the application, on the LAN, or further on the WAN for the processing requested by the application program 401 for the object.
- the processing unit 432 performs a process of extracting the actual state of the Name (name) specified in each processing request called from the application program 401 via the Software PLC431.
- the reality of this name is preset in the network settings.
- the processing unit 432 secures a communication path for the object and sends / receives a request.
- the communication method abstraction layer 1 (433) is an I / F for abstracting the communication process called from the processing unit 432.
- Each function of the communication method abstraction layer 1 (433) calls the function of the communication layer 1 (405a) that implements individual communication processing for each access target.
- Platform abstraction layer 1 (435) is an I / F for abstracting platform-dependent processing called from Soft PLC431. From each function of the platform abstraction layer 1 (435), the communication layer 2 (405b) that implements individual access processing to each access target and RTOS processing realized by adapting the functions provided by the OS. Call the function.
- the communication layer 1 (405a) is an implementation unit of individual communication processing for each access target called from the communication method abstraction layer 2 (434).
- the communication layer 1 (405a) specifies an access target by an argument (handle) passed via the processing unit 432 ⁇ the communication method abstraction layer 1 (433) ⁇ the communication method abstraction layer 2 (434), and implements the corresponding implementation. Perform processing.
- the communication layer 2 (405b) is an implementation unit that creates individual access processing to each access target called from the platform abstraction layer 2 (436) and RTOS processing realized by adapting the functions provided by the OS. be.
- the communication layer 2 (405b) specifies the access target by the argument (handle) passed via the processing unit 432 ⁇ platform abstraction layer 1 (435) ⁇ platform abstraction layer 2 (436), and performs the corresponding implementation processing. conduct.
- FIG. 5 is a diagram illustrating an outline of access from the PLC to the device according to the first embodiment.
- the CPU 301 executes a communication control program 501 (corresponding to Soft PLC431).
- the program 501 performs a process related to acquisition of device control information of the device B (120) (calls the Read function in the illustrated example) (step S501), and issues a Read command (step S502).
- the lower layer (core layer 403) of the program 501 interprets the command for the device B (120), refers to the processing table 502 showing the device control information of the device B (120), and refers to the device B (120).
- the processing table 502 is prepared in advance in the PLC 2 (110) that controls the device B (120), is created on the RAM 303 shown in FIG. 3, and can be held in the storage unit 304.
- PLC1 (110) refers to the processing table 502 acquired from PLC2 (110). Further, the PLC1 (110) transmits the command issued in step S503 to the PLC2 (110) corresponding to the processing table 502 via the general-purpose communication I / F. Here, the PLC1 (110) does not transmit the command itself for controlling the device B (120), but interprets the command and transmits the device control request corresponding to this command by referring to the processing table 502. do.
- the PLC 2 (110) has a processing table 502, and by referring to the processing table 502, it is possible to perform device control corresponding to the request transmitted from the PLC 1 (110).
- the device B (120) receives the Read command from the PLC2 (110), outputs the detection information corresponding to the Lead command (step S504), and the PLC2 (110) outputs the device control information to the PLC1 (110). Send (step S505).
- FIG. 6 is a diagram showing an example of a device control program according to the first embodiment.
- a program example of closed device control for the device A directly connected to the PLC 1 (110) and device control of the external device B connected to the network will be described with reference to FIG.
- FIG. 6A is an example of a device control program of the device A (120) directly connected to the PLC1 (110).
- FIG. 6B is an example of a device control program of the device B (120) connected to the PLC 2 (110).
- the device control contents shown by the programs (a) and (b) in FIG. 6 are the same. In this way, the program contents are the same regardless of whether or not the devices A and B (120) to be controlled by the device are connected to their own PLC1 (110). Therefore, when creating a program for PLC1 (110), the programmer creates a program for devices A and B (120) without being aware of the processing related to communication between PLC1 (110) and PLC2 (110). You will be able to.
- the processing table 502 is simply changed and shown in FIG. No changes to the program (application layer software) occur.
- FIG. 7 is a diagram illustrating access to a device in which the PLC according to the first embodiment is connected to another PLC.
- the PLC 2 (110) to which the device B (120) is connected creates the function call table 702 as the processing table 502 described above by the program 701 at startup.
- the function call table 702 may be created at any time, not limited to when the program 701 is started, or may be manually created and input from the outside.
- a process of creating a function call table 702 at startup a process of acquiring device control information of device B (120) (readPort), a predetermined function operation for the read device control information, and the like are performed. Processing is described (set).
- the function call table 702 consists of the ID (ID1) of the device B (120) and the address of the port of the PLC2 (110) to which the device B (120) is connected.
- ID1 is set to the address of the readPort for reading the device control information from the device B (120).
- device control functions such as write (Write), start (Start), and stop (Stop) can be set for each ID.
- the setting of the function call table 702 is not limited to a character string such as "readPort” as shown in FIG. 7, but may be a numerical string such as "1001" indicating that the port is to be read.
- the communication processing task 703 executes communication processing (reception and transmission) with the PLC1 (110) via the network 130, and uses the corresponding ID when the PLC1 (110) requests the device B (120).
- the function call table 702 is searched, and the function operation of the program 701 corresponding to the request is executed.
- step S701 when the program 701 of PLC2 (110) is started, the function call table 702 is created (step S701).
- the program 701 detects the connection port of the device B (120) connected to the PLC 2 (110), and sets the setting in which the address of the readPort is associated with the ID of the function for reading the device control information in the function call table 702. create.
- a predetermined ID (ID2 in the illustrated example) is set in the function call table 702.
- the PLC1 (110) acquires the function call table 702 created by the PLC2 (110) at an arbitrary timing.
- the acquisition timing of the function call table 702 is determined by the PLC1 (110) when the function of the device B (120) and the location of the PLC2 (110) to which the device B (120) is connected are known. Directly access and acquire PLC2 (110).
- the PLC2 (110) when the PLC2 (110) publishes the function call table 702 on the network 130, the device B (120) of the PLC1 (110) referring to the published function call table 702. It is also possible to configure the PLC1 (110) that wants to control the device (requests to acquire the device control information) to access and acquire the PLC2 (110).
- the PLC1 (110) controls the PLC2 (110) to acquire the device control information of the device B (120) (step S702).
- the program 701 of the PLC 1 (110) executes a process (ObjY.readData ()) related to the acquisition of the device control information of the device B (120).
- the program 701 of the PLC1 (110) issues a read command (readData ()) to the device B (120) (step S703).
- the lower layer of the program 701 interprets the command for the device B (120), refers to the function call table 702 acquired from the PLC 2 (110), and acquires the device control information of the device B (120).
- the corresponding identifier ID1 is specified, and the request ID1 corresponding to the command (readPort (other)) for acquiring the device control information of the device B (120) is transmitted to the PLC2 (110) (step S704).
- the PLC1 (110) does not send the device control command itself of the device B (120) to the PLC2 (110), but only the identifier ID including the device control content by referring to the function call table 702.
- the amount of data to be transmitted can be reduced because it is sufficient to transmit.
- the device 110 of the first embodiment functions as a device for a specific purpose such as the above-mentioned motion sensor, intrusion detector, remote controller, digital camera, IC recorder, in-vehicle device, medical device, and the like.
- the communication processing task 703 of the PLC2 (110) refers to the function call table 702 (step S706) by receiving the request ID1 from the PLC1 (110) (step S706), and the function corresponding to the identifier ID1 in the program 701. (ReadPort) is executed (step S707).
- the program 701 performs the I / O port read processing corresponding to the ID1, reads the information of the corresponding device B (120) (readPort), and returns it to the communication processing task 703 (step). S708).
- the PLC 2 (110) transmits the information of the device B (120) read out as a result of the readPort by the communication processing task 703 to the PLC 1 (110) (step S709).
- the PLC1 (110) converts the information transmitted from the device B (120) into the readData () in response to the readPort (other) issued by the program 701 (step S710), and obtains the information of the device B (120). As a result of such processing (ObjY.readData ()), the information of the corresponding device B (120) is acquired (step S711).
- the program 701 specifies whether the PLC1 (110) is the processing of the device A directly connected to the own device or the processing of the external PLC2 (110) via the network 130. Separate by argument (name of device to be accessed). At this time, the PLC1 (110) refers to the function call table 702 acquired in advance for access to the external PLC2 (110), and accesses the corresponding PLC2 (110).
- the communication processing task 703 and the function call table 702 of PLC2 (110) can be configured not only by software execution but also by using a hardware chip.
- the function call table 702 is not limited to being acquired by the PLC1 (110), but may be configured to be open to the public on the network 130 by the devices A and B (120). Then, the functions (Read, Write, Start, Stop) of the device B (120) shown in the function call table 702 can be acquired by any device control device (for example, PLC110) on the network 130 and can be controlled (used) by the device. It will be like.
- the PLC1 (110) can know the function of the device B (120) connected to the PLC2 (110) by acquiring the function call table 702, and the PLC1 (110) is the communication method of the network 130. (Procedure) can be concealed and the device B (120) connected to the PLC 2 (110) can be controlled.
- the function call table 702 can be stored in the server on the network 130, and can be stored as the function call table 702 for each of a plurality of PLCs 1 and 2 (110).
- the PLC1 (110) can easily search for the devices A and B having the desired functions by accessing the server, and can access the PLC2 (110) to which the device B (120) is connected. It will be easy to do.
- the PLC1 (110) does not depend on the CPU or OS of the PLC2 (110) or the devices A and B (120), and is connected to the own device or another device. Even if there is a difference in the network connection form of B, the device can be easily controlled.
- the PLC 1 (110) is not limited to the closed device control for the device A (120) connected to the own machine, but also for the device B (120) built in the external PLC 2 (110) via the network 130. Since the device can be controlled without being aware of communication (protocol) and the program can be created without being aware of communication, the program can be easily created. That is, the PLC1 (110) can control the sensors of the device without adding a communication program or a dedicated I / F of the intervening network.
- the function call table 702 is updated when the device 120 connected to the PLC 110 is replaced or added due to a failure or specification change. As a result, even if the function of the device 120 of the PLC 110 is changed, the PLC 110 can control the device 120 having a desired function only by referring to the function call table 702. In addition, even if the device 120 is replaced, it is possible to eliminate the need to change the program.
- FIG. 8 is a sequence diagram showing an example of device control by PLC linkage according to the first embodiment.
- the PLC 1 (110) cooperates with the PLCs 2 and 3 (110) to control the devices B and C (120) connected to the PLCs 2 and 3 (110) in cooperation with each other.
- FIG. 8 describes a simplified control example of the control of the device 120 in cooperation with the PLC 110. That is, an example will be described in which the door is driven open during the period when the human body is detected in the predetermined area, and the door is closed when the human body is not detected in the area.
- the device B (120) is a sensor and is a motion sensor that detects the presence or absence of a human body in a predetermined area. It is assumed that the device C (120) is a motor that drives a door provided at an entrance / exit in a predetermined area in an open or closed direction.
- the PLC2 (110) opens or closes the door of the device C (120) connected to the PLC3 (110) based on the detection state of the motion sensor which is the device B (120) connected to the PLC2 (110).
- the application program 401 executes control according to a predetermined sequence (procedure) to be executed by the own machine in the cooperative control, and the Soft PLC 431 performs seamless communication between the PLCs 1 to 3 (110). Take control. Then, by the coordinated control of PLCs 1 to 3 (110), it is possible to control the opening and closing of the door according to the entry and exit of a person to a predetermined area.
- the network configuration between PLCs 1 to 3 (110) may be a ring type as shown in FIG. 1 or a tree type. In any network configuration, PLCs 1 to 3 (110) can select and acquire a packet by transmitting the above packet to another PLC110.
- the PLC1 (110) periodically inquires of the motion sensor of the device B (120) connected to the PLC2 (110) whether or not there is a human body in a predetermined area (step S801).
- the device B (presence sensor) 120 detects a human body in the area (step S802)
- the PLC1 (110) is notified that the human body has been detected in the area (step S803).
- the PLC1 (110) instructs the motor for opening and closing the door of the device C (120) connected to the PLC3 (110) to open the door (step S804).
- the device C (120) drives the motor in the direction of opening the door based on the instruction to open the door (step S805).
- the PLC2 (110) determines the door open state based on the door position detected and output by the motor of the device C (120), the position sensor, or the like (step S806). Then, when the PLC2 (110) determines that the door is open, the PLC2 (110) notifies the PLC3 (110) of the completion of opening the door (step S807). The PLC 3 (110) stops the motor of the device B (120) from driving in the door opening direction based on the notification of the completion of the door opening (step S808).
- the PLC 2 (110) periodically monitors the presence or absence of a human body in a predetermined area by the motion sensor of the device B (120) (step S809).
- the device B (presence sensor) 120 notifies PLC1 (110) that the human body has not been detected in the area (step S810).
- the PLC1 (110) instructs the motor for opening and closing the door of the device C (120) connected to the PLC3 (110) to close the door (step S811).
- the motor which is the device C (120), drives the door in the closing direction based on the instruction to close the door (step S812).
- the PLC2 (110) detects the door closed state based on the door position detected and output by the motor of the device C (120), the position sensor, or the like (step S813). Then, when the PLC2 (110) determines that the door is closed, the PLC2 (110) notifies the PLC3 (110) of the completion of the door closure (step S814). Based on the notification of the completion of closing the door, the PLC 3 (110) stops the motor of the device C (120) from driving the door in the closing direction (step S815).
- the PLC1 (110) can coordinate and control the devices B and C (120) connected to the PLCs 2 and 3 (110) in cooperation with the PLCs 2 and 3 (110).
- FIG. 9 is a sequence diagram showing an example of centralized control of equipment by PLC according to the second embodiment.
- the PLC 1 (110) shown in FIG. 1 centrally controls the devices B and C (120) connected to the PLCs 2 and 3 (110) via the PLCs 2 and 3 (110). Therefore, the PLC 1 (110) implements a program for centrally controlling the devices B and C (120).
- the door is driven to open during the period when the human body is detected in the predetermined area, and the door is closed when the human body is not detected in the area.
- the PLC1 (110) centrally controls the PLCs 2 and 3 (110).
- the PLC1 (110) has a detection state of a motion sensor, which is a device B (120) connected to the PLC2 (110), and an open or closed state of a door, which is a device C (120) connected to the PLC3 (110). And, these devices B and C (120) are centrally controlled based on.
- the PLC1 (110) controls the opening and closing of the door according to the entry and exit of a person to the predetermined area by executing the control according to the predetermined sequence (procedure) to be executed by the application program 401.
- the PLC1 (110) periodically inquires of the motion sensor of the device B (120) connected to the PLC2 (110) whether or not there is a human body in a predetermined area (step S901).
- the device B (presence sensor) 120 detects a human body in the area (step S902)
- the PLC 1 (110) is notified that the human body has been detected in the area (step S903).
- the PLC1 (110) instructs the motor for opening and closing the door of the device C (120) connected to the PLC3 (110) to open the door (step S904).
- the device C (120) drives the motor in the direction of opening the door based on the instruction to open the door (step S905).
- the PLC1 (110) determines the door open state based on the door position detected and output by the motor of the device C (120), the position sensor, or the like (step S906). Then, when the PLC1 (110) determines that the door is open, the PLC1 (110) notifies the PLC3 (110) of the completion of opening the door (step S907). The PLC 3 (110) stops the motor of the device C (120) from driving in the door opening direction based on the notification of the completion of the door opening (step S908).
- the PLC1 (110) periodically monitors the presence or absence of a human body in a predetermined area by the motion sensor of the device B (120) (step S909).
- the device B (presence sensor) 120 notifies PLC1 (110) that the human body has not been detected in the area (step S910).
- the PLC1 (110) instructs the motor for opening and closing the door of the device C (120) connected to the PLC3 (110) to close the door (step S911).
- the motor which is the device C (120), drives the door in the closing direction based on the instruction to close the door (step S912).
- the PLC1 (110) detects the door closed state based on the door position detected and output by the motor of the device C (120), the position sensor, or the like (step S913). Then, when the PLC1 (110) determines that the door is closed, the PLC1 (110) notifies the PLC3 (110) of the completion of the door closure (step S914). Based on the notification of the completion of closing the door, the PLC 3 (110) causes the motor of the device C (120) to stop driving the door in the closing direction (step S915).
- the PLC1 (110) can centrally control the devices B and C (120) connected to the PLCs 2 and 3 (110).
- FIG. 10 is a diagram showing a configuration example of the device control system according to the third embodiment.
- the device control system 100 may be configured such that the central cloud 1000 centrally controls a plurality of PLC 110s.
- FIG. 10 shows a configuration example for centrally controlling the devices B and C (120) connected to the PLCs 2 and 3 (110).
- the cloud 1000 is composed of, for example, a group of servers on a network 130 such as the Internet.
- the cloud 1000 is communicated and connected to the PLCs 2 and 3 (110) via the network 130.
- the tree type network connection configuration is used, but the present invention is not limited to this, and other network connection configurations such as a ring type may be used.
- the cloud 1000 performs centralized control corresponding to the function of PLC1 (110) described in the second embodiment.
- This centralized control is, for example, equivalent to the sequence diagram of FIG.
- the central cloud 1000 can centrally control the devices B and C (120) connected to the plurality of PLCs 2, 3 (110).
- the communication method abstraction layer 1 (433) and the communication method abstraction layer 2 (434) of the CPUA and CPUB can be dealt with simply by replacing them with a porting layer mounted via a shared memory.
- the application program 401 of the control device A can seamlessly execute the process as in the case of using the network as described above.
- one device control device in a configuration in which a plurality of device control devices connected to a network control devices directly connected to the plurality of device control devices, one device control device has a plurality of devices.
- the devices directly connected to each of the plurality of other device control devices are linked and controlled according to a predetermined procedure in cooperation with other device control devices, and the plurality of devices are controlled in response to the linked control.
- An object for controlling a device connected to the other device control device is generated, the communication parameter of the device included in the network information is referred to, information to access the object is obtained, and the object is packetized. It converts to, selects the port corresponding to the communication method, outputs the packet, and sends the packet to the other device control device to which the corresponding device is connected.
- the device control device can access the device connected to the other device control device connected to the network, and the device connected to this device control device can be directly accessed without being restricted by the communication method peculiar to the device control device. You will be able to control it. Then, the device control device can control a plurality of devices in cooperation with each other.
- the device control device generates an object consisting of a name for controlling the device, a function name, and argument information, and refers to the communication method and communication parameters of the device included in the preset network information. It obtains information to access an object, converts the object name, function name, and argument information into a predetermined packet, selects the port corresponding to the communication method, and sends the packet to other control devices of the corresponding device.
- the device control device can send and receive information to and from other device control devices via the network, and can directly control the device connected to the device control device without being restricted by the communication method peculiar to the device control device. It will be like.
- the information is notified to one device control device. good.
- a hierarchy is provided in the device control device, the highest-level device control device controls the control of the entire device, and the information that mutually controls the devices among the lower-level device control devices is notified to the highest-level device control device. By doing so, the processing load on the control of the device can be distributed.
- one device control device may control a plurality of other device control devices, and one device control device may directly control a device directly connected to the plurality of other device control devices.
- the cloud on the network may execute the control by one device control device.
- the device control device or the cloud located at the highest level can control the entire device in an integrated manner. Then, the device control contents of the entire system can be easily updated by simply changing the program executed by the device control device located at the highest level or the cloud.
- the device control device of the embodiment can control a plurality of devices connected by a network such as Ethernet (registered trademark), USB, and serial communication. Further, the device control device is not limited to such a network connection, but also in a configuration in which CPU cores, shared memory, software connected via bus I / F, and devices are connected by P2P (Peer to Peer). Equipment can be controlled.
- a network such as Ethernet (registered trademark), USB, and serial communication.
- the device control device is not limited to such a network connection, but also in a configuration in which CPU cores, shared memory, software connected via bus I / F, and devices are connected by P2P (Peer to Peer). Equipment can be controlled.
- the present invention can be used as a device control device for controlling devices connected via a network, and in particular, control of devices connected to a plurality of PLCs communicatively connected to each other via a network. It is useful for.
- Equipment control system 110 PLC 120 Equipment 130 Network 301 Equipment control unit (CPU) 302 ROM 303 RAM 304 Storage 305 Communication interface 306 Bus 401 Application program 501,701 (Communication control) Program 502 Processing table 702 Function call table 703 Communication processing task 1000 Cloud
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Programmable Controllers (AREA)
Abstract
PLC1(110)は、ネットワーク(130)を介して他のPLC2,3(110)に接続される。PLC1(110)は、他のPLC2,3(110)と連携して、PLC2,3(110)に直接接続された機器B,C(120)を連携制御する。この際、PLC1(110)は、PLC2(110)に直接接続された機器B(120)の制御時には、PLC1(110)内のインタフェース同様の形式を有し、PLC1(110)以外の識別子を付与した所定のコマンドを実行し、PLC2(110)からの応答を、実行したコマンドに対する結果として用いて機器B(120)を制御する。
Description
この発明は、ネットワーク接続された複数の機器を集中制御する機器制御方法、機器制御プログラムおよび機器制御システムに関する。
例えば、工場等の複数の機器は、搭載されたPLC(Programmable Logic Controller)の制御プログラムの実行により動作する。
従来、ネットワーク等を介して接続された機器が相互に機器制御可能な技術が提案されている(例えば、下記特許文献1,2等参照。)。特許文献1は、ECHONET(Energy Conservation and HOmecare NETwork)規格にしたがい、家電機器等を外部の通信網から家電機器制御プロトコルを用いて機器制御する技術である。特許文献2は、車載用の組み込みシステム向けに標準化されたAUTOSAR(AUTomotive Open System ARchitecture)に準拠した機器制御プログラムにより、要求される機能を完全に停止させることなく、プログラムの一部を動的に書き換えることができる技術である。
しかしながら、従来、工場等に設けられる複数の機器は、相互の制御シーケンスを考慮しながら動作するため、各機器のPLCはそれぞれ異なる制御プログラムを実装する必要があった。このため、あるPLCが制御する機器を他のPLCで制御することができず、例えば、複数の機器を一つのPLCで集中制御することができなかった。
また、仮に、複数の機器がネットワークを介して中央のコントローラに接続されたシステム構成とした場合であっても、各機器は、コントローラが機器制御可能な仕様のものを用いなければならない制約があった。
特許文献1の技術は専用プロトコルを用いるため、ネットワーク間通信に専用のI/Fが必要となる。また、特許文献2の技術においても、車載の各機器間の通信には、専用のI/Fおよび専用の通信プロトコルが必要となる。
本発明は、上記課題に鑑み、ネットワーク接続された複数の機器を通信方式等の制約を受けず、簡単に制御できることを目的とする。
上記目的を達成するため、本発明の機器制御方法は、ネットワークに接続された複数の機器制御装置が、それぞれ複数の前記機器制御装置に直接接続された機器を制御する機器制御方法であって、一つの前記機器制御装置のコンピュータは、複数の他の前記機器制御装置と連携して、複数の他の前記機器制御装置にそれぞれ直接接続された前記機器を所定の手順で連携制御し、前記連携制御に対応して複数の前記機器をそれぞれ制御する際、他の前記機器制御装置に接続された前記機器を制御するためのオブジェクトを生成し、前記ネットワークの情報に含まれる前記機器の通信パラメータを参照して、前記オブジェクトにアクセスする情報を得て、前記オブジェクトを所定のパケットに変換し、通信方式に対応するポートを選択して前記パケットを出力し、前記パケットを該当する前記機器が接続された他の前記機器制御装置に送信する、処理を実行することを特徴とする。
また、前記機器を制御するための名前と、関数名と引数情報からなるオブジェクトを生成し、予め設定された前記ネットワークのネットワーク情報に含まれる前記機器の通信方式、および通信パラメータを参照して、前記オブジェクトにアクセスする情報を得て、前記オブジェクト名、関数名、および引数情報を所定のパケットに変換し、前記通信方式に対応するポートを選択し、前記パケットを該当する前記機器の他の前記機器制御装置に送信する、ことを特徴とする。
また、一つの前記機器制御装置が複数の他の前記機器制御装置を制御し、複数の他の前記機器制御装置が、それぞれ直接接続された前記機器を連携制御した情報を一つの前記機器制御装置に通知する、ことを特徴とする。
また、一つの前記機器制御装置が複数の他の前記機器制御装置を制御し、一つの前記機器制御装置は、複数の他の前記機器制御装置に直接接続された前記機器を直接制御する、ことを特徴とする。
また、前記ネットワーク上のクラウドが一つの前記機器制御装置による前記制御を実行する、ことを特徴とする。
また、一つの前記機器制御装置と他の前記機器制御装置は、同一装置内のCPU間接続であることを特徴とする。
また、本発明の機器制御プログラムは、ネットワークに接続された複数の機器制御装置に、それぞれ複数の前記機器制御装置に直接接続された機器を制御させるプログラムであって、一つの前記機器制御装置のコンピュータに、複数の他の前記機器制御装置と連携して、複数の他の前記機器制御装置にそれぞれ直接接続された前記機器を所定の手順で連携制御し、前記連携制御に対応して複数の前記機器をそれぞれ制御する際、他の前記機器制御装置に接続された前記機器を制御するためのオブジェクトを生成し、前記ネットワークの情報に含まれる前記機器の通信パラメータを参照して、前記オブジェクトにアクセスする情報を得て、前記オブジェクトを所定のパケットに変換し、通信方式に対応するポートを選択して前記パケットを出力し、前記パケットを該当する前記機器が接続された他の前記機器制御装置に送信する、処理を実行させることを特徴とする。
また、本発明の機器制御システムは、ネットワークに接続された複数の機器制御装置が、それぞれ複数の前記機器制御装置に直接接続された機器を制御する機器制御システムであって、一つの前記機器制御装置は、複数の他の前記機器制御装置と連携して、複数の他の前記機器制御装置にそれぞれ直接接続された前記機器を所定の手順で連携制御し、前記連携制御に対応して複数の前記機器をそれぞれ制御する際、他の前記機器制御装置に接続された前記機器を制御するためのオブジェクトを生成し、前記ネットワークの情報に含まれる前記機器の通信パラメータを参照して、前記オブジェクトにアクセスする情報を得て、前記オブジェクトを所定のパケットに変換し、通信方式に対応するポートを選択して前記パケットを出力し、前記パケットを該当する前記機器が接続された他の前記機器制御装置に送信する、制御部を備えたことを特徴とする。
上記構成によれば、機器制御装置は、ネットワーク接続された他の機器制御装置に接続された通信方式等が異なる機器であっても、この機器を直接制御することができ、複数の機器を連携して制御できるようになる。
本発明によれば、ネットワーク接続された複数の機器を通信方式等の制約を受けず、簡単に制御できるという効果を奏する。
以下に添付図面を参照して、この発明にかかる機器制御方法、機器制御プログラムおよび機器制御システムの好適な各実施の形態を詳細に説明する。
(実施の形態1)
(実施の形態1)
図1は、実施の形態1にかかる機器制御システムの構成例を示す図である。機器制御システム100は、機器制御装置であるPLC1~3(110)は、複数配置され、これらPLC1~3(110)は、それぞれ直接接続された機器A~C(120)の制御を行う。以下の説明では、直接接続とは、PLC1(110)に機器A(120)がI/O接続されたことを意味する。
PLC1~3(110)は、ネットワーク130を介して通信接続される。図1の例では、リング型のネットワーク接続構成であるが、これに限らず、ツリー型等、他のネットワーク接続構成であってもよい。ネットワーク130は、有線/無線のいずれであってもよい。
PLC1(110)は、自機に接続された機器A(120)のほかにPLC2,3(110)に接続された機器B,C(120)をネットワーク130を介して制御する。PLC2,3(110)についても、それぞれ自機に接続された機器B,C(120)のほかに他のPLC1~3(110)に接続された機器A~C(120)をネットワーク130を介して制御することができる。
実施の形態1では、説明の便宜上、主にPLC1(110)は、他の2つのPLC2,3(110)と連携してPLC2,3(110)に接続された機器B,C(120)を制御する例について説明する。実施の形態1では、PLC1(110)が制御系統の最上位層に位置し、他のPLC2,3(110)はPLC1(110)の下位層に位置する。PLC2,3(110)は、同じ階層に配置される。ここで、例えば、機器Bは所定エリアでの人の存在の有無を検出する人感センサであり、機器Cは所定エリアの出入口の自動ドアを開閉駆動するモータであるとする。
PLC1~3(110)は、CPU、およびネットワーク130に接続可能な汎用の通信インタフェース(I/F)を有し、CPUは、機器制御および通信用のプログラムを実行処理する(詳細は後述する)。
PLC1(110)は、他のPLC2,3(110)と、それぞれの機器B,C(120)を固有のIDにより識別する。PLC1(110)は、PLC2,3(120)と、人感センサの機器B(120)と、モータの機器C(120)と、を固有のIDによりそれぞれ機器制御できる。
ここで、PLC1(110)は、直接接続された機器A(120)に対する機器制御と同様に、機器B,C(120)に対する機器制御を可能にする。
図2は、実施の形態1にかかるPLCの機能ブロック図である。機器A~C(120)を集中制御するPLC1(110)は、オブジェクト生成部210、通信制御部211、パケット処理部212、通信部213を含む。PLC2,3(110)についてもPLC1(110)と同様の機能を有する。
オブジェクト生成部210は、PLC1(110)に直接接続された機器A(120)、およびネットワーク130を介してPLC2,3(110)に接続された機器B,C(120)を機器制御するためのオブジェクトを生成する。例えば、オブジェクト生成部210は、機器B,C(120)を機器制御するための名前と、関数名と引数情報からなるオブジェクトを生成する。
通信制御部211は、ネットワーク130の情報に含まれる機器B,C(120)の通信パラメータを参照して、生成されたオブジェクトにアクセスする情報を得る。例えば、通信制御部211は、予め設定したネットワーク130の情報に含まれる機器B,C(120)の通信方式、および通信パラメータを参照して、オブジェクトにアクセスする情報を取得する。
パケット処理部212は、生成されたオブジェクトを所定のパケットに変換し、通信方式に対応するポートを選択してパケットを出力する。例えば、パケット処理部212は、オブジェクト名、関数名、および引数情報を所定のパケットに変換し、通信方式に対応するポートを選択して、パケットを通信部213に出力する。
通信部213は、パケットを制御する機器B,C(120)のPLC2,3(110)に送信する。また、通信部213は、自身のPLC1(110)がネットワーク130に参加時、自身のオブジェクト名をネットワーク130に配信する。また、通信部213は、自身のPLC1(110)が所望するオブジェクトが生じたとき、オブジェクト名をネットワーク130に問合せ、オブジェクト名を有する他のPLC2,3(110)からネットワーク130の情報を取得する。また、通信部213は、自身のPLC1(110)が新たなオブジェクトを追加したとき、当該オブジェクト名をネットワーク130に配信する。
図3は、実施の形態1にかかるPLCのハードウェア構成例を示すブロック図である。図3において、PLC1~3(110)は、それぞれ機器制御部(CPU)301と、Read-Only Memory(ROM)302と、Random Access Memory(RAM)303と、半導体メモリやディスクドライブ等の記憶部304と、通信インタフェース(I/F)305と、を含む。これらCPU301~通信インタフェース305は、バス306によってそれぞれ接続されている。
図3の例では、PLC1(110)には、機器A(120)がバス306を介して接続される。機器A(120)は、通信インタフェース(I/F)305等を介して接続される構成としてもよい。さらに、このPLC1(110)は、ディスプレイ308、キーボード310、マウス311、スキャナ312、プリンタ313がバス306等を介して接続された構成とすることができる。なお、ディスプレイ308、キーボード310、マウス311の機能を集約したタッチパネルを用いることもできる。
CPU301は、PLC1(110)の全体の機器制御を司る演算処理装置である。ROM302は、PLC1(110)のプログラム等を記憶する不揮発性メモリである。RAM303は、CPU301によるプログラムの演算処理実行時のワークエリアとして使用される揮発性メモリである。
通信インタフェース305は、ネットワーク130と内部のインタフェースを司り、他のPLC2,3(110)との間のデータの入出力を機器制御する。具体的に、通信インタフェース305は、通信回線を通じてネットワーク130となる宅内のLocal Area Network(LAN)などに接続され、ネットワーク130を介してPLC2,3(110)に接続される。
また、ネットワーク130は、上記の他に、WiFi(登録商標)、Bluetooth(登録商標)、赤外線通信(IrDA)等により他のPLC2,3(110)と通信接続することもできる。
ディスプレイ308は、CPU301のプログラム実行による機器A~C(120)の機器制御情報を表示する装置である。ディスプレイ308には、例えば、Thin Film Transistor(TFT)液晶ディスプレイ、プラズマディスプレイ、有機ELディスプレイなどを採用することができる。
機器A~C(120)についても、PLC1(110)同様に図3に記載のハードウェアにより構成することができる。
(物理的位置に依存しないシームレスな機器アクセスの例)
図4は、実施の形態1にかかるPLCが他のPLCに接続された機器へのアクセス例を示す図である。一対のPLC1,2(110)を例にPLC1(110)がPLC2(110)の機器B(120)へのアクセス例を説明する。PLC1,2(110)は、それぞれ、アプリケーションプログラム401と、ファンクションボックス402と、コア層403と、外部と通信を行う通信装置や、装置内のボードとのアクセス処理の実装部405と、プラットフォーム(ハードウェア、OS、ドライバ)406と、を有する。
図4は、実施の形態1にかかるPLCが他のPLCに接続された機器へのアクセス例を示す図である。一対のPLC1,2(110)を例にPLC1(110)がPLC2(110)の機器B(120)へのアクセス例を説明する。PLC1,2(110)は、それぞれ、アプリケーションプログラム401と、ファンクションボックス402と、コア層403と、外部と通信を行う通信装置や、装置内のボードとのアクセス処理の実装部405と、プラットフォーム(ハードウェア、OS、ドライバ)406と、を有する。
PLC1(110)の通信層1(405a)は、PLC1(110)に直接接続される機器A(120)にアクセスする他、ネットワーク130を介してPLC2(110)の機器B(120)にアクセス可能である。通信層2(405b)は、PLC1(110)内のポートx等にアクセス可能である。同様に、PLC2(110)の通信層1(405a)は、PLC2(110)に接続されている機器B(120)にアクセスする他、ネットワーク130を介してPLC1(110)に接続されている機器A(120)にアクセス可能である。通信層2(405b)は、PLC2(110)内のポートy等にアクセス可能である。
ファンクションボックス402は、機器A~C(120)の制御プログラムをユーザが容易に開発および実行するためのエディタと機能パッケージ(INTA connectionと称す)からなる。ファンクションボックス402は、IoT化を目的とした機器A~C(120)の制御プログラム開発のための開発ツールであり、この開発ツールで作成した制御プログラムは、ランタイム環境(コア層403のSoft PLC431、処理部432)にて実行される。
コア層403は、Soft PLC(Basic Class Library)431と、処理部432と、通信方式抽象化層1(433)と、通信方式抽象化層2(434)と、プラットフォーム抽象化層1(435)と、プラットフォーム抽象化層2(436)とを有する。Soft PLC431は、複数のオブジェクト、例えばI/O処理、リアルタイムモニタ、イベント監視、異常監視、データ収集、一括設定等の各種オブジェクトを管理する。
処理部432は、Soft PLC431からコールされるオブジェクト関連の処理に対応して、下記のタイプ1~3の処理を行う。
1.処理部432は、アプリケーションプログラム401が、オブジェクトに対して要求する処理について、オブジェクトがアプリ内部に存在するのか、LAN上に存在するのか、さらにWAN上に存在するのかを確認する。
2.処理部432は、アプリケーションプログラム401からSoft PLC431経由で呼び出される各処理要求の中で指定されたName(名前)の実態を取り出す処理を行う。この名前の実態は、ネットワーク設定で予め設定されている。
3.処理部432は、オブジェクトがLAN/WAN上に存在する場合には、そのオブジェクトに対する通信経路を確保し、リクエストを送受信する。
通信方式抽象化層1(433)は、処理部432からコールされる通信処理を抽象化するためのI/Fである。通信方式抽象化層1(433)の各関数は、各アクセス対象への個別の通信処理を実装した通信層1(405a)の関数をコールする。
プラットフォーム抽象化層1(435)は、Soft PLC431からコールされるプラットフォーム依存処理を抽象化するためのI/Fである。プラットフォーム抽象化層1(435)の各関数の中からは、各アクセス対象への個別のアクセス処理やOSが提供する機能を適合させて実現するRTOS処理等を実装した通信層2(405b)の関数をコールする。
通信層1(405a)は、通信方式抽象化層2(434)からコールされる各アクセス対象への個別の通信処理の実装部である。通信層1(405a)は、処理部432→通信方式抽象化層1(433)→通信方式抽象化層2(434)経由で渡される引数(handle)によってアクセス対象を特定して、対応する実装処理を行う。
通信層2(405b)は、プラットフォーム抽象化層2(436)からコールされる各アクセス対象への個別のアクセス処理やOSが提供する機能を適合させて実現するRTOS処理などを作成する実装部である。通信層2(405b)は、処理部432→プラットフォーム抽象化層1(435)→プラットフォーム抽象化層2(436)経由で渡される引数(handle)によってアクセス対象を特定して、対応する実装処理を行う。
図5は、実施の形態1にかかるPLCから機器へのアクセスの概要を説明する図である。PLC1(110)は、CPU301が通信制御のプログラム501(Soft PLC431に相当)を実行する。プログラム501は、機器B(120)の機器制御情報の取得にかかる処理(図示の例ではRead関数をcall)を行い(ステップS501)、Readコマンドを発行する(ステップS502)。
次に、プログラム501の下位層(コア層403)は、機器B(120)に対するコマンドを解釈し、機器B(120)の機器制御情報が示された処理テーブル502を参照し、機器B(120)の機器制御情報を取得するコマンドを発行する(ステップS503)。処理テーブル502は、機器B(120)を制御するPLC2(110)に予め用意されるものであり、図3に示したRAM303上に作成され、記憶部304に保持できる。
ステップS503では、PLC1(110)は、PLC2(110)から取得した処理テーブル502を参照する。また、PLC1(110)は、ステップS503により発行されたコマンドを、汎用の通信I/Fを介して処理テーブル502に該当するPLC2(110)に送信する。ここで、PLC1(110)は、機器B(120)を機器制御するコマンドそのものを送信するのではなく、処理テーブル502の参照により、コマンドを解釈してこのコマンドに対応する機器制御の要求を送信する。PLC2(110)は、処理テーブル502を有しており、処理テーブル502の参照により、PLC1(110)から送信された要求に対応する機器制御を行うことができる。
機器B(120)は、PLC2(110)からのReadコマンドを受け取り、Readコマンドに対応する検出情報を出力し(ステップS504)、PLC2(110)は、PLC1(110)に対して機器制御情報を送付する(ステップS505)。
図6は、実施の形態1にかかる機器制御プログラム例を示す図である。図6を用いてPLC1(110)に直接接続された機器Aに対するクローズド機器制御、およびネットワーク接続された外部の機器Bを機器制御するプログラム例を説明する。図6(a)は、PLC1(110)に直接接続されている機器A(120)の機器制御プログラム例である。また、図6(b)は、PLC2(110)に接続されている機器B(120)の機器制御プログラム例である。
図6の(a),(b)のプログラムが示す機器制御内容は同じものとなる。このように、被機器制御対象である機器A,B(120)が自身のPLC1(110)に接続されている/いないにかかわらず、プログラム内容は同じとなる。したがって、プログラマは、PLC1(110)のプログラムを作成する際に、機器A,B(120)について、PLC1(110)とPLC2(110)間の通信にかかる処理を意識することなく、プログラムを作成することができるようになる。
また、PLC1(110)と、PLC2(110)の機器A,B(120)の故障や機能変更等によるハードウェアの変更が生じても、処理テーブル502を変更するだけで、図5に示したプログラム(アプリケーション層のソフトウェア)の変更は発生しない。
図7は、実施の形態1にかかるPLCが他のPLCに接続された機器へのアクセスを説明する図である。この例では、機器B(120)が接続されたPLC2(110)は、起動時にプログラム701が上記の処理テーブル502として関数呼び出しテーブル702を作成する。なお、関数呼び出しテーブル702は、プログラム701の起動時に限らず、任意のタイミングで作成してもよく、手作業で作成したものを外部から入力する構成としてもよい。
このプログラム701には、起動時に関数呼び出しテーブル702を作成する処理と、機器B(120)の機器制御情報を取得する処理(readPort)と、読み出した機器制御情報に対して所定の関数演算等の処理と、が記述(設定)されている。
関数呼び出しテーブル702は、機器B(120)のID(ID1)と、この機器B(120)が接続されたPLC2(110)のポートのアドレスからなる。この例では、ID1には、機器B(120)から機器制御情報を読み出すためのreadPortのアドレスが設定されている。このほか、図5に示したように、ID別に書き込み(Write)、起動(Start)、停止(Stop)等の機器制御機能をそれぞれ設定しておくことができる。
関数呼び出しテーブル702の設定は、図7に示したように「readPort」のような文字列に限らず、ポートを読む旨を示す「1001」のような数値列としてもよい。
通信処理タスク703は、ネットワーク130を介してPLC1(110)との間の通信処理(受信および送信)を実行し、PLC1(110)から機器B(120)に対する要求時には、該当するIDを用いた関数呼び出しテーブル702を検索し、要求に対応したプログラム701の関数演算を実行する。
以下、実施の形態のPLC1(110)から機器B(120)へのアクセスを行うための手順を説明する。はじめに、PLC2(110)のプログラム701が起動すると、関数呼び出しテーブル702を作成する(ステップS701)。
この際、プログラム701は、PLC2(110)に接続されている機器B(120)の接続ポートを検出し、機器制御情報を読み出す機能のIDにreadPortのアドレスを関連付けた設定を関数呼び出しテーブル702に作成する。同様に、PLC2(110)が実行可能な機器制御(関数演算等)の機能について、所定のID(図示の例ではID2)を関数呼び出しテーブル702に設定する。
そして、PLC1(110)は、PLC2(110)が作成した関数呼び出しテーブル702を任意のタイミングで取得する。関数呼び出しテーブル702の取得タイミングは、機器B(120)の機能、およびこの機器B(120)が接続されているPLC2(110)の所在等を把握している場合には、PLC1(110)が直接、PLC2(110)にアクセスして取得する。
これに限らず、PLC2(110)がネットワーク130上に関数呼び出しテーブル702を公開している場合には、この公開された関数呼び出しテーブル702を参照したPLC1(110)のうち、機器B(120)の機器制御を所望する(機器制御情報を取得要求する)PLC1(110)がPLC2(110)にアクセスして取得する構成とすることもできる。
この後、PLC1(110)がPLC2(110)に対して、機器B(120)の機器制御情報を取得する機器制御を行ったとする(ステップS702)。例えば、PLC1(110)のプログラム701が機器B(120)の機器制御情報の取得にかかる処理(ObjY.readData())を実行する。
この場合、PLC1(110)のプログラム701は、機器B(120)に対するreadコマンド(readData())を発行する(ステップS703)。そして、プログラム701の下位層は、機器B(120)に対するコマンドを解釈し、PLC2(110)から取得しておいた関数呼び出しテーブル702を参照し、機器B(120)の機器制御情報の取得に該当する識別子ID1を指定して、機器B(120)の機器制御情報を取得するコマンド(readPort(他))に対応する要求ID1をPLC2(110)に送信する(ステップS704)。
ここで、PLC1(110)は、PLC2(110)に対して機器B(120)の機器制御のコマンドそのものを送信するのではなく、関数呼び出しテーブル702の参照により、機器制御内容を含む識別子IDだけを送信すればよいため、送信するデータ量を削減できる。
実施の形態1の機器110は、例えば、上記の人感センサや侵入検知器、リモコンやデジカメ、ICレコーダ、車載装置、医療機器等、特定用途の機器として機能する。
そして、PLC2(110)の通信処理タスク703は、PLC1(110)からの要求ID1の受信により(ステップS705)、関数呼び出しテーブル702を参照し(ステップS706)、プログラム701に識別子ID1に対応する関数(readPort)を実行させる(ステップS707)。
この後、PLC2(110)は、プログラム701がID1に対応して、I/Oポート読出処理を行い、該当する機器B(120)の情報を読み出し(readPort)、通信処理タスク703に返す(ステップS708)。
そして、PLC2(110)は、通信処理タスク703がreadPortの結果、読み出した機器B(120)の情報をPLC1(110)に送信する(ステップS709)。
PLC1(110)は、プログラム701が発行したreadPort(他)の返答として機器B(120)から送信された情報をreadData()に変換し(ステップS710)、機器B(120)の情報の取得にかかる処理(ObjY.readData())の結果として、対応する機器B(120)の情報を取得する(ステップS711)。
上記処理によれば、PLC1(110)は、自装置に直接接続された機器Aの処理であるか、ネットワーク130を介した外部のPLC2(110)の処理であるかを、プログラム701が指定する引数(アクセス対象の機器の名前)によって切り分ける。この際、PLC1(110)は、外部のPLC2(110)へのアクセスについては、予め取得した関数呼び出しテーブル702を参照し、該当するPLC2(110)にアクセスする。
また、PLC2(110)の通信処理タスク703と関数呼び出しテーブル702は、ソフトウェア実行に限らず、ハードウェアチップを用いて構成することもできる。
また、上記の関数呼び出しテーブル702は、上述したように、PLC1(110)が取得するに限らず、機器A,B(120)がネットワーク130上に公開する構成とすることもできる。そして、関数呼び出しテーブル702が示す、機器B(120)の機能(Read,Write,Start,Stop)は、ネットワーク130上の任意の機器制御装置(例えばPLC110)によって取得し、機器制御(使用)できるようになる。
すなわち、PLC1(110)は、関数呼び出しテーブル702を取得することにより、PLC2(110)に接続された機器B(120)の機能を知ることができ、PLC1(110)は、ネットワーク130の通信方式(手順)を隠蔽してPLC2(110)に接続された機器B(120)を機器制御できるようになる。
これにより、PLC1(110)に対して、複数のPLC2(110)およびPLC1,2(110)が有する機器A,B(120)が同一の部屋内や異なる場所に設置された場合においても、この設置場所に限定されず、複数の機器A,B(120)を機器制御できるようになる。
一方、PLC1(110)で処理できない演算をPLC1(110)の機器制御によって遠隔地のPLC2(110)や機器B(120)により演算処理することもできるようになる。
さらに、関数呼び出しテーブル702は、ネットワーク130上のサーバに保持しておくこともでき、複数のPLC1,2(110)毎の関数呼び出しテーブル702として保持できる。これにより、PLC1(110)は、サーバへのアクセスによって所望する機能の機器A,Bを容易に検索することができ、また、機器B(120)が接続されたPLC2(110)へのアクセスを容易に行えるようになる。
上記実施の形態1によれば、PLC1(110)は、PLC2(110)や機器A,B(120)のCPUやOSに依存せず、互いに自装置あるいは他装置に接続されている機器A,Bをネットワーク接続形態に違いがあっても簡単に機器制御できるようになる。
これにより、PLC1(110)は、自機に接続された機器A(120)に対するクローズド機器制御に限らず、ネットワーク130を介して外部のPLC2(110)に内蔵された機器B(120)についても、通信(プロトコル)を意識せずに機器制御でき、プログラム作成についても通信を意識せずに作成できるため、プログラム作成を容易に行えるようになる。すなわち、PLC1(110)は、間に介在するネットワークの通信プログラムや専用I/Fを追加せずとも機器が有するセンサ類を機器制御できるようになる。
関数呼び出しテーブル702は、PLC110に接続された機器120の故障や仕様変更などでの交換や、追加の場合に更新される。これにより、PLC110が有する機器120の機能が変更された場合であっても、PLC110は、関数呼び出しテーブル702を参照するだけで、所望する機能の機器120に対する機器制御を行える。加えて、機器120が交換等されてもプログラム変更を不要にできる。
そして、特定用途の機能を有する組み込み機器においても、他の機器に対する機器制御を行って機能拡張が行えるようになる。また、汎用の情報処理装置においても所望する機能の機器に対する機器制御を容易に行えるようになる。例えば、ECHONETやAUTOSAR等の規格に縛られず、専用I/Fや専用の通信プログラムを設けなくても、任意の機器120に対する機器制御が可能となる。
(PLC連携による機器制御例)
図8は、実施の形態1にかかるPLC連携による機器制御例を示すシーケンス図である。ここで、図1に示したように、PLC1(110)は、PLC2,3(110)と連携してPLC2,3(110)に接続された機器B,C(120)を連携制御する。図8では、PLC110の連携による機器120の制御について、簡素化した制御例を説明する。すなわち、所定のエリアに人体が検出された期間中はドアを開放駆動し、エリアでの人体が未検出となることでドアを閉鎖する例を説明する。
図8は、実施の形態1にかかるPLC連携による機器制御例を示すシーケンス図である。ここで、図1に示したように、PLC1(110)は、PLC2,3(110)と連携してPLC2,3(110)に接続された機器B,C(120)を連携制御する。図8では、PLC110の連携による機器120の制御について、簡素化した制御例を説明する。すなわち、所定のエリアに人体が検出された期間中はドアを開放駆動し、エリアでの人体が未検出となることでドアを閉鎖する例を説明する。
機器B(120)は、センサ類であり、所定のエリアにおける人体の有無を検出する人感センサであるとする。機器C(120)は、所定エリアの出入口に設けられたドアを開放あるいは閉鎖方向に駆動するモータであるとする。
PLC2(110)は、PLC2(110)に接続された機器B(120)である人感センサの検出状態に基づき、PLC3(110)に接続された機器C(120)であるドアの開放あるいは閉鎖を制御する。PLC1~3(110)は、それぞれアプリケーションプログラム401が連携制御において自機が実行すべき所定のシーケンス(手順)に沿った制御を実行し、Soft PLC431がPLC1~3(110)間のシームレスな通信制御を行う。そして、PLC1~3(110)の連携制御により、所定エリアに対する人の出入りに応じたドアの開閉を制御することができる。
PLC1~3(110)間のネットワーク構成は、図1のようなリング型でもよいし、他にツリー型であってもよい。どのネットワーク構成においても、PLC1~3(110)は、他のPLC110に上記のパケットを送信することで、受信したPLC110がパケットを選択して取得できる。
はじめに、PLC1(110)は、定期的にPLC2(110)に接続された機器B(120)の人感センサに対し、所定のエリアでの人体の有無の問合せを行う(ステップS801)。ここで、機器B(人感センサ)120がエリア内での人体を検知すると(ステップS802)、エリア内で人体を検知した旨をPLC1(110)に通知する(ステップS803)。
これにより、PLC1(110)は、PLC3(110)に接続された機器C(120)のドア開閉用のモータに対し、ドア開放の指示を行う(ステップS804)。機器C(120)は、ドア開放の指示に基づき、ドアを開放する方向にモータを駆動する(ステップS805)。
PLC2(110)は、機器C(120)であるモータ、あるいは位置センサ等が検出出力するドア位置に基づき、ドア開放の状態を判断する(ステップS806)。そして、PLC2(110)は、ドア開放と判断すると、ドア開放完了の通知をPLC3(110)に通知する(ステップS807)。PLC3(110)は、ドア開放完了の通知に基づき、機器B(120)のモータに対しドア開放方向の駆動を停止させる(ステップS808)。
この後、PLC2(110)は、定期的に機器B(120)の人感センサによる所定のエリアでの人体の有無を監視する(ステップS809)。ここで、機器B(人感センサ)120は、エリア内での人体が未検知となると、エリア内で人体が未検知となった旨をPLC1(110)に通知する(ステップS810)。
これにより、PLC1(110)は、PLC3(110)に接続された機器C(120)のドア開閉用のモータに対し、ドア閉鎖の指示を行う(ステップS811)。機器C(120)であるモータは、ドア閉鎖の指示に基づき、ドアを閉鎖方向に駆動する(ステップS812)。
PLC2(110)は、機器C(120)であるモータ、あるいは位置センサ等が検出出力するドア位置に基づき、ドア閉鎖の状態を検出する(ステップS813)。そして、PLC2(110)は、ドア閉鎖と判断すると、ドア閉鎖完了の通知をPLC3(110)に通知する(ステップS814)。PLC3(110)は、ドア閉鎖完了の通知に基づき、機器C(120)のモータに対しドアの閉鎖方向への駆動を停止させる(ステップS815)。
以上のように、PLC1(110)は、PLC2,3(110)と連携してPLC2,3(110)に接続された機器B,C(120)を連携制御できる。
(実施の形態2:PLCによる機器の集中制御例)
図9は、実施の形態2にかかるPLCによる機器の集中制御例を示すシーケンス図である。実施の形態2では、図1に示したPLC1(110)は、PLC2,3(110)を介してPLC2,3(110)に接続された機器B,C(120)を集中制御する。このため、PLC1(110)は、機器B,C(120)を集中制御するためのプログラムを実装する。
図9は、実施の形態2にかかるPLCによる機器の集中制御例を示すシーケンス図である。実施の形態2では、図1に示したPLC1(110)は、PLC2,3(110)を介してPLC2,3(110)に接続された機器B,C(120)を集中制御する。このため、PLC1(110)は、機器B,C(120)を集中制御するためのプログラムを実装する。
図9においても、実施の形態1(図8)同様に、所定のエリアに人体が検出された期間中はドアを開放駆動し、エリアでの人体が未検出となることでドアを閉鎖する例を説明する。
PLC1(110)は、PLC2,3(110)を集中制御する。PLC1(110)は、PLC2(110)に接続された機器B(120)である人感センサの検出状態と、PLC3(110)に接続された機器C(120)であるドアの開放あるいは閉鎖状態と、に基づき、これら機器B,C(120)を集中制御する。PLC1(110)は、アプリケーションプログラム401が自機が実行すべき所定のシーケンス(手順)に沿った制御を実行することで、所定エリアに対する人の出入りに応じたドアの開閉を制御する。
はじめに、PLC1(110)は、定期的にPLC2(110)に接続された機器B(120)の人感センサに対し、所定のエリアでの人体の有無の問合せを行う(ステップS901)。ここで、機器B(人感センサ)120がエリア内での人体を検知すると(ステップS902)、エリア内で人体を検知した旨をPLC1(110)に通知する(ステップS903)。
これにより、PLC1(110)は、PLC3(110)に接続された機器C(120)のドア開閉用のモータに対し、ドア開放の指示を行う(ステップS904)。機器C(120)は、ドア開放の指示に基づき、ドアを開放する方向にモータを駆動する(ステップS905)。
PLC1(110)は、機器C(120)であるモータ、あるいは位置センサ等が検出出力するドア位置に基づき、ドア開放の状態を判断する(ステップS906)。そして、PLC1(110)は、ドア開放と判断すると、ドア開放完了の通知をPLC3(110)に通知する(ステップS907)。PLC3(110)は、ドア開放完了の通知に基づき、機器C(120)のモータに対しドア開放方向の駆動を停止させる(ステップS908)。
この後、PLC1(110)は、定期的に機器B(120)の人感センサによる所定のエリアでの人体の有無を監視する(ステップS909)。ここで、機器B(人感センサ)120は、エリア内での人体が未検知となると、エリア内で人体が未検知となった旨をPLC1(110)に通知する(ステップS910)。
これにより、PLC1(110)は、PLC3(110)に接続された機器C(120)のドア開閉用のモータに対し、ドア閉鎖の指示を行う(ステップS911)。機器C(120)であるモータは、ドア閉鎖の指示に基づき、ドアを閉鎖方向に駆動する(ステップS912)。
PLC1(110)は、機器C(120)であるモータ、あるいは位置センサ等が検出出力するドア位置に基づき、ドア閉鎖の状態を検出する(ステップS913)。そして、PLC1(110)は、ドア閉鎖と判断すると、ドア閉鎖完了の通知をPLC3(110)に通知する(ステップS914)。PLC3(110)は、ドア閉鎖完了の通知に基づき、機器C(120)のモータに対しドアの閉鎖方向への駆動を停止させる(ステップS915)。
以上のように、PLC1(110)は、PLC2,3(110)に接続された機器B,C(120)を中央で集中制御できる。
(実施の形態3:クラウドによる集中制御)
図10は、実施の形態3にかかる機器制御システムの構成例を示す図である。機器制御システム100は、中央のクラウド1000が複数のPLC110を集中制御する構成とすることもできる。図10は、PLC2,3(110)に接続された機器B,C(120)を集中制御する構成例を示す。
図10は、実施の形態3にかかる機器制御システムの構成例を示す図である。機器制御システム100は、中央のクラウド1000が複数のPLC110を集中制御する構成とすることもできる。図10は、PLC2,3(110)に接続された機器B,C(120)を集中制御する構成例を示す。
クラウド1000は、例えばインターネット等のネットワーク130上のサーバ群等で構成される。クラウド1000は、ネットワーク130を介してPLC2,3(110)に通信接続される。図10の例では、ツリー型のネットワーク接続構成であるが、これに限らず、リング型等、他のネットワーク接続構成であってもよい。
図10の構成例によれば、クラウド1000が実施の形態2で説明したPLC1(110)の機能に相当する集中制御を行う。この集中制御は、例えば、図9のシーケンス図と同等である。このように、中央のクラウド1000が複数のPLC2,3(110)に接続された機器B,C(120)を集中制御することができる。
(プログラム更新)
上記各実施の形態で説明したPLC110が実行する制御プログラムについて、中央で集中制御する構成(実施の形態2,3)の場合、中央に配置されたPLC1(110)、あるいはクラウド1000の制御プログラムのみを更新すればよい。
上記各実施の形態で説明したPLC110が実行する制御プログラムについて、中央で集中制御する構成(実施の形態2,3)の場合、中央に配置されたPLC1(110)、あるいはクラウド1000の制御プログラムのみを更新すればよい。
ここで、工場等に配置された上記の機器B,C(120)である人感センサやモータ等の構成を変更した場合、従来は、工場全体の機器120を停止してPLC110毎に制御プログラムを更新する必要があった。そして、更新した制御プログラムのPLC110を新たに起動させる必要があり、手間およびコストがかかった。
これに対し、中央で集中制御する構成(実施の形態2,3)の場合、中央に配置されたPLC1(110)、あるいはクラウド1000の制御プログラムのみを更新すればよく、更新作業を簡単に行える。また、この際、中央1か所のみでの更新であるため、工場全体の機器120を停止させることなく、工場の機器120を稼働させたまま更新することも可能となる。
(CPUA,B間の通信の制御例)
上記説明では、異なるPLC1,2(110)に接続された機器A~C(120)の制御例を説明したが、これに限らず、異なるCPUA,B間の通信の制御にも同様に適用することができる。
上記説明では、異なるPLC1,2(110)に接続された機器A~C(120)の制御例を説明したが、これに限らず、異なるCPUA,B間の通信の制御にも同様に適用することができる。
例えば、異なるCPUが共有メモリによってデータを送受信する構成例に適用でき、共有メモリを介した同一装置内のCPUA,B間での機能呼び出しも可能になる。具体的には、CPUAのアプリケーションプログラム401が他のCPUBに接続された機器B(120)にアクセスし印字処理させる場合には、共有メモリを介して上記の処理を順次実行する。CPUAの処理部432では、名前の実態をNetwork Configuration Dataにより、CPUBへの接続方法(外部通信、CPUB、の情報)に基づき接続先を解決する。
この場合、CPUA,CPUBの通信方式抽象化層1(433)と、通信方式抽象化層2(434)を、共有メモリを介して実装するポーティング層に差し替えるだけで対応可能になる。制御装置Aのアプリケーションプログラム401は、上述したネットワークを介する場合の例と全く変わらずシームレスに処理を実行できる。
以上説明した実施の形態によれば、ネットワーク接続された複数の機器制御装置が、それぞれ複数の前記機器制御装置に直接接続された機器を制御する構成において、一つの前記機器制御装置は、複数の他の機器制御装置と連携して、複数の他の機器制御装置にそれぞれ直接接続された機器を所定の手順で連携制御し、前記連携制御に対応して複数の前記機器をそれぞれ制御する際、他の前記機器制御装置に接続された機器を制御するためのオブジェクトを生成し、ネットワークの情報に含まれる機器の通信パラメータを参照して、オブジェクトにアクセスする情報を得て、オブジェクトを所定のパケットに変換し、通信方式に対応するポートを選択してパケットを出力し、パケットを該当する機器が接続された他の機器制御装置に送信する。これにより、機器制御装置は、ネットワークに接続された他の機器制御装置に接続された機器にアクセスでき、機器制御装置固有の通信方式の制限を受けずこの機器制御装置に接続された機器を直接制御できるようになる。そして、機器制御装置は、複数の機器を連携制御できるようになる。
また、機器制御装置は、機器を制御するための名前と、関数名と引数情報からなるオブジェクトを生成し、予め設定されたネットワーク情報に含まれる機器の通信方式、および通信パラメータを参照して、オブジェクトにアクセスする情報を得て、オブジェクト名、関数名、および引数情報を所定のパケットに変換し、通信方式に対応するポートを選択し、パケットを該当する機器の他の制御装置に送信する。これにより、機器制御装置は、ネットワークを介して他の機器制御装置との間で情報を送受信でき、機器制御装置固有の通信方式の制限を受けず機器制御装置に接続された機器を直接制御できるようになる。
また、一つの機器制御装置が複数の他の機器制御装置を制御し、複数の他の機器制御装置が、それぞれ直接接続された機器を連携制御した情報を一つの機器制御装置に通知してもよい。このように、機器制御装置に階層を設け、最上位の機器制御装置が機器全体の制御を統括し、下位の機器制御装置間で機器を相互に制御した情報を最上位の機器制御装置に通知することで、機器の制御にかかる処理負荷を分散できるようになる。
また、一つの機器制御装置が複数の他の機器制御装置を制御し、一つの機器制御装置は、複数の他の機器制御装置に直接接続された機器を直接制御することとしてもよい。また、ネットワーク上のクラウドが一つの機器制御装置による制御を実行することとしてもよい。これにより、最上位に位置する機器制御装置あるいはクラウドが機器全体を統括制御することができる。そして、最上位に位置する機器制御装置あるいはクラウドが実行するプログラムを変更するだけでシステム全体の機器制御内容を簡単に更新できるようになる。
これらのことから、実施の形態によれば、ネットワークを介して分散配置され、かつ通信方式が異なる複数の機器であっても外部から直接アクセスすることができ、複数の機器を連携制御できるようになる。
そして、実施の形態の機器制御装置は、例えば、Ethernet(登録商標)やUSB、シリアル通信等のネットワークで接続された複数の機器を機器制御できる。また、機器制御装置は、このようなネットワーク接続に限らず、CPUコア間や共有メモリ、バスI/F経由で接続されたソフト間や機器をP2P(Peer to Peer)接続した構成においても同様に機器制御できる。
以上のように、本発明は、ネットワークを介して接続された機器を制御する機器制御装置に用いることができ、特に、互いにネットワークを介して通信接続された複数のPLCに接続された機器の制御に有用である。
100 機器制御システム
110 PLC
120 機器
130 ネットワーク
301 機器制御部(CPU)
302 ROM
303 RAM
304 記憶部
305 通信インタフェース
306 バス
401 アプリケーションプログラム
501,701 (通信制御)プログラム
502 処理テーブル
702 関数呼び出しテーブル
703 通信処理タスク
1000 クラウド
110 PLC
120 機器
130 ネットワーク
301 機器制御部(CPU)
302 ROM
303 RAM
304 記憶部
305 通信インタフェース
306 バス
401 アプリケーションプログラム
501,701 (通信制御)プログラム
502 処理テーブル
702 関数呼び出しテーブル
703 通信処理タスク
1000 クラウド
Claims (8)
- ネットワークに接続された複数の機器制御装置が、それぞれ複数の前記機器制御装置に直接接続された機器を制御する機器制御方法であって、
一つの前記機器制御装置のコンピュータは、
複数の他の前記機器制御装置と連携して、複数の他の前記機器制御装置にそれぞれ直接接続された前記機器を所定の手順で連携制御し、
前記連携制御に対応して複数の前記機器をそれぞれ制御する際、他の前記機器制御装置に接続された前記機器を制御するためのオブジェクトを生成し、
前記ネットワークの情報に含まれる前記機器の通信パラメータを参照して、前記オブジェクトにアクセスする情報を得て、
前記オブジェクトを所定のパケットに変換し、通信方式に対応するポートを選択して前記パケットを出力し、
前記パケットを該当する前記機器が接続された他の前記機器制御装置に送信する、
処理を実行することを特徴とする機器制御方法。 - 前記機器を制御するための名前と、関数名と引数情報からなるオブジェクトを生成し、
予め設定された前記ネットワークのネットワーク情報に含まれる前記機器の通信方式、および通信パラメータを参照して、前記オブジェクトにアクセスする情報を得て、
前記オブジェクト名、前記関数名、および前記引数情報を所定のパケットに変換し、前記通信方式に対応するポートを選択し、
前記パケットを該当する前記機器の他の前記機器制御装置に送信する、
ことを特徴とする請求項1に記載の機器制御方法。 - 一つの前記機器制御装置が複数の他の前記機器制御装置を制御し、
複数の他の前記機器制御装置が、それぞれ直接接続された前記機器を連携制御した情報を一つの前記機器制御装置に通知する、
ことを特徴とする請求項1に記載の機器制御方法。 - 一つの前記機器制御装置が複数の他の前記機器制御装置を制御し、
一つの前記機器制御装置は、複数の他の前記機器制御装置に直接接続された前記機器を直接制御する、
ことを特徴とする請求項1に記載の機器制御方法。 - 前記ネットワーク上のクラウドが一つの前記機器制御装置による前記制御を実行する、
ことを特徴とする請求項1~4のいずれか一つに記載の機器制御方法。 - 一つの前記機器制御装置と他の前記機器制御装置は、同一装置内のCPU間接続であることを特徴とする請求項1に記載の機器制御システム。
- ネットワークに接続された複数の機器制御装置に、それぞれ複数の前記機器制御装置に直接接続された機器を制御させるプログラムであって、
一つの前記機器制御装置のコンピュータに、
複数の他の前記機器制御装置と連携して、複数の他の前記機器制御装置にそれぞれ直接接続された前記機器を所定の手順で連携制御し、
前記連携制御に対応して複数の前記機器をそれぞれ制御する際、他の前記機器制御装置に接続された前記機器を制御するためのオブジェクトを生成し、
前記ネットワークの情報に含まれる前記機器の通信パラメータを参照して、前記オブジェクトにアクセスする情報を得て、
前記オブジェクトを所定のパケットに変換し、通信方式に対応するポートを選択して前記パケットを出力し、
前記パケットを該当する前記機器が接続された他の前記機器制御装置に送信する、
処理を実行させることを特徴とする機器制御プログラム。 - ネットワークに接続された複数の機器制御装置が、それぞれ複数の前記機器制御装置に直接接続された機器を制御する機器制御システムであって、
一つの前記機器制御装置は、
複数の他の前記機器制御装置と連携して、複数の他の前記機器制御装置にそれぞれ直接接続された前記機器を所定の手順で連携制御し、
前記連携制御に対応して複数の前記機器をそれぞれ制御する際、他の前記機器制御装置に接続された前記機器を制御するためのオブジェクトを生成し、
前記ネットワークの情報に含まれる前記機器の通信パラメータを参照して、前記オブジェクトにアクセスする情報を得て、
前記オブジェクトを所定のパケットに変換し、通信方式に対応するポートを選択して前記パケットを出力し、
前記パケットを該当する前記機器が接続された他の前記機器制御装置に送信する、
制御部を備えたことを特徴とする機器制御システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022529160A JP7475446B2 (ja) | 2020-06-01 | 2020-06-01 | 機器制御方法、機器制御プログラムおよび機器制御システム |
PCT/JP2020/021674 WO2021245764A1 (ja) | 2020-06-01 | 2020-06-01 | 機器制御方法、機器制御プログラムおよび機器制御システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/021674 WO2021245764A1 (ja) | 2020-06-01 | 2020-06-01 | 機器制御方法、機器制御プログラムおよび機器制御システム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021245764A1 true WO2021245764A1 (ja) | 2021-12-09 |
Family
ID=78830201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/021674 WO2021245764A1 (ja) | 2020-06-01 | 2020-06-01 | 機器制御方法、機器制御プログラムおよび機器制御システム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7475446B2 (ja) |
WO (1) | WO2021245764A1 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015063959A1 (ja) * | 2013-10-30 | 2015-05-07 | 株式会社アイ・エル・シー | 機器間制御方法、機器間制御プログラムおよび機器間制御システム |
JP2019125068A (ja) * | 2018-01-15 | 2019-07-25 | 日本電信電話株式会社 | デバイス連携サーバ、デバイス連携プログラムおよび分散リソース活用システム |
JP2019186802A (ja) * | 2018-04-12 | 2019-10-24 | 株式会社アイ・エル・シー | 機器制御装置、機器制御システム、機器制御方法および機器制御プログラム |
-
2020
- 2020-06-01 WO PCT/JP2020/021674 patent/WO2021245764A1/ja active Application Filing
- 2020-06-01 JP JP2022529160A patent/JP7475446B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015063959A1 (ja) * | 2013-10-30 | 2015-05-07 | 株式会社アイ・エル・シー | 機器間制御方法、機器間制御プログラムおよび機器間制御システム |
JP2019125068A (ja) * | 2018-01-15 | 2019-07-25 | 日本電信電話株式会社 | デバイス連携サーバ、デバイス連携プログラムおよび分散リソース活用システム |
JP2019186802A (ja) * | 2018-04-12 | 2019-10-24 | 株式会社アイ・エル・シー | 機器制御装置、機器制御システム、機器制御方法および機器制御プログラム |
Also Published As
Publication number | Publication date |
---|---|
JPWO2021245764A1 (ja) | 2021-12-09 |
JP7475446B2 (ja) | 2024-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7481798B2 (ja) | プロセス制御プラントにおいてマルチ言語ディスプレイビュー能力をサポートするためのシステムおよび方法 | |
EP3602216B1 (en) | Process image within controllers enabling visibility and accessibility of real world objects | |
EP2592516B1 (en) | Data resource identity | |
EP1936496A1 (en) | Module classification and searching for industrial control systems | |
CN109964181B (zh) | 用于工业自动化设备的控制器和对这种控制器编程和运行的方法 | |
US11599081B2 (en) | Method and apparatus for proxy execution and computation with an industrial controller | |
JP2022068835A (ja) | 工業プロセスプラントのデータセンタとしての工業プロセス制御システム | |
CN108225380A (zh) | 用于操作测量变换器的方法和对应的测量变换器 | |
US11199993B2 (en) | Control system, development assistance device, and development assistance program | |
US11567737B1 (en) | Graphical and text based co-design editor for industrial automation projects | |
WO2021245764A1 (ja) | 機器制御方法、機器制御プログラムおよび機器制御システム | |
JP2006318102A (ja) | フィールド機器管理装置およびフィールド機器管理方法 | |
JP2006072442A (ja) | 制御システム | |
JP2005259079A (ja) | ツール | |
WO2015063959A1 (ja) | 機器間制御方法、機器間制御プログラムおよび機器間制御システム | |
JP3988605B2 (ja) | 設定ツール装置 | |
KR20160130560A (ko) | Hmi 시스템 | |
JP2023546533A (ja) | 製造に応用されるヒューマンマシン実行システム | |
JP2016024818A (ja) | データ転送のための産業用制御システムおよび方法 | |
JP2003150208A (ja) | 制御用表示装置、並びに、そのプログラムおよび記録媒体 | |
JP2024130902A (ja) | ソフトウェア設計方法およびソフトウェア設計装置 | |
US12079624B2 (en) | Method for connecting a web socket session with an object instance with automation device association | |
JP6020854B2 (ja) | コンピュータ化されたマシン制御システム | |
EP4307105A1 (en) | Extensible profiles for industrial control modules | |
JP2009157534A (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: 20938781 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2022529160 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: 20938781 Country of ref document: EP Kind code of ref document: A1 |