WO2016098142A1 - Industrial controller and industrial controller system - Google Patents
Industrial controller and industrial controller system Download PDFInfo
- Publication number
- WO2016098142A1 WO2016098142A1 PCT/JP2014/006323 JP2014006323W WO2016098142A1 WO 2016098142 A1 WO2016098142 A1 WO 2016098142A1 JP 2014006323 W JP2014006323 W JP 2014006323W WO 2016098142 A1 WO2016098142 A1 WO 2016098142A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- time
- timeout
- shared
- lock
- shared device
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
Definitions
- the present invention relates to an industrial controller and an industrial controller system.
- a general-purpose OS that operates multiple operating systems (OS) on one piece of hardware and performs high-performance information processing, such as a web server, for the purpose of reducing costs and reducing the number of parts.
- OS operating systems
- web server high-performance information processing
- a software configuration is employed that operates a real-time OS (RTOS) that performs machine control.
- RTOS real-time OS
- data is transmitted and received between the OSs using a shared I / O such as a shared memory.
- a shared I / O such as a shared memory.
- the RTOS receives data from the I / O control bus and transmits the data to the general-purpose OS side via a shared memory between the OSs.
- the standby OS requests the main OS to confirm the existence and confirms the OS operation by responding from the main OS.
- the main OS is hung up, a method is disclosed in which the main OS and the standby OS are replaced and the processing is continued (Patent Document 1).
- OS operation check is required only for exclusive control between OSs.
- OS operation check by performing communication between OSs is a relatively large process, and particularly affects the processing performance on the RTOS side mounted in the industrial controller, which is a problem.
- the present invention has been made to solve the above-described problems, and an object thereof is to detect a hang-up of the other OS without performing regular communication between the OSs.
- a storage unit that stores a plurality of OSs, a shared device that receives access from the plurality of OSs, and other devices that access the shared device are provided.
- the time is recorded at the same time, and when acquiring the lock of the shared device already locked by another OS, the previously recorded time and current Providing an industrial controller having a control unit that restarts the shared device when it is determined that a time-out has occurred, with reference to the time and a preset time-out time. To do.
- FIG. 3 is an example of a hardware configuration diagram of an industrial controller according to Embodiment 1.
- FIG. FIG. 3 is an overall configuration diagram of software of an industrial controller in the first embodiment.
- 4 is a flowchart illustrating an operation when there is no timeout in the first embodiment.
- 6 is a flowchart illustrating an operation when a timeout occurs in the first embodiment.
- FIG. 10 is an overall configuration diagram of software of an industrial controller in a second embodiment. 10 is a flowchart illustrating an operation when there is no timeout in the second embodiment.
- FIG. 10 is an overall configuration diagram of software of an industrial controller in a third embodiment.
- 14 is a flowchart illustrating an operation when there is no timeout in the third embodiment.
- 10 is a flowchart illustrating an operation when a timeout occurs in the third embodiment.
- FIG. 10 is an example of a system configuration diagram of an industrial controller in a fourth embodiment. 10 is an example of an internal configuration diagram of a display device in Embodiment 4. FIG. 10 is a flowchart illustrating the operation of the display device in the fourth embodiment. FIG. 10 is an example of an internal configuration diagram of a display device in a fifth embodiment. It is an example of the log
- FIG. 10 is an overall configuration diagram of software of an industrial controller in a fifth embodiment. 4 is a flowchart illustrating an operation when there is no timeout in the first embodiment.
- FIG. 20 is an overall configuration diagram of software of an industrial controller in a sixth embodiment. 18 is a flowchart illustrating an operation when there is no timeout in the sixth embodiment. 20 is a flowchart illustrating an operation when a timeout occurs in the sixth embodiment.
- FIG. 1 is an example of a hardware configuration diagram of an industrial controller in the present embodiment.
- the industrial controller 1 includes hardware such as a shared I / O 6 and a communication module 7 in addition to a CPU 2 (Central Processor Unit), a CPU 3, a ROM 4 (Read Only Memory), and a RAM 5 (Random Access Memory).
- a CPU 2 Central Processor Unit
- CPU 3 Central Processor Unit
- ROM 4 Read Only Memory
- RAM 5 Random Access Memory
- ROM 4 provides an area for storing a sequence of program instructions and fixed data. It corresponds to a flash memory and the like, and the written program content can be rewritten.
- RAM 5 provides a work area for storing and referring to data used by the program.
- the ROM 4 and the RAM 5 are collectively referred to as a storage unit.
- Shared I / O 6 (shared device) is an I / O that the industrial controller 1 has.
- the communication module 7 transmits / receives data to / from other industrial controllers or control devices through a network infrastructure such as the Internet.
- the timer counter 8 is used to measure not only the time when the lock flag corresponding to the shared I / O 6 is acquired but also the elapsed time after the lock flag is acquired. Note that this timer may be used as the timer used by the OS or may be prepared separately.
- FIG. 2 is an overall configuration diagram of the software of the industrial controller in the present embodiment. These software are stored in the ROM 4 or the RAM 5 and executed by the CPU 2 and the CPU 3 which are control units.
- the industrial controller 1 shown in the present embodiment shows an example in which a plurality of OSs are mounted and a shared I / O 6 is used between the plurality of OSs.
- a case where two CPUs are provided and different OSs are assigned to each of the CPUs is described.
- a CPU having a plurality of cores may be used, and an OS may be assigned to each core.
- OS # 0 (10) is an OS that occupies the CPU 2 and operates the shared I / O 6.
- the OS # 1 (20) is an OS that occupies the CPU 3 and operates the shared I / O 6.
- the shared I / O lock flag 30 is a flag used when the shared I / O 6 is locked.
- the shared I / O lock flag waiting list 40 when the OS that is going to share the shared I / O tries to use the shared I / O, the shared I / O is already locked by another OS. In this case, it is a list indicating that information that can identify an unused OS, for example, an identifier, is registered, and is in a waiting state.
- the time-out confirmation unit 50 When the time-out confirmation unit 50 receives a notification from any OS that the lock for the shared I / O has been acquired, it acquires the current time and stores it.
- the timeout confirmation unit 50 determines whether or not there is a timeout from the time stored when the notification indicating that the lock has been acquired and the current time. judge.
- the timeout confirmation unit 50 discards the stored time when “release of lock” is notified from any OS. Note that the timeout time is set to an arbitrary value when the industrial controller 1 is initialized.
- the OS # 0 (10) is basic software for operating a program for controlling a device connected to the industrial controller 1. For example, when acquiring sensor information or actuator information with an industrial controller, if real-time responsiveness is required, the real-time OS (hereinafter referred to as RTOS) is operated as OS # 0 (10), and sensor information acquisition or actuator operation is performed. It is necessary to run the program to be performed.
- RTOS real-time OS
- the OS # 0 (10) includes an OS # 0 side shared I / O driver 101, an OS # 0 side shared I / O lock acquisition processing unit 102, an OS # 0 side shared I / O lock release processing unit 103, and an OS #.
- a 0-side OS communication processing unit 104 is provided.
- the OS # 0 side shared I / O driver 101 is a driver for operating the shared I / O 6.
- the OS # 0 side shared I / O lock acquisition processing unit 102 When the OS # 0 side shared I / O lock acquisition processing unit 102 receives a use request for the shared I / O6, the OS # 0 side shared I / O lock acquisition processing unit 102 acquires the shared I / O lock flag 30 and sets the content of the flag as “OS # 0 is locked. To the content that can be understood.
- the time-out confirmation unit 50 is called and shared. It is determined whether or not the I / O lock flag 30 has timed out.
- timeout confirmation means 50 responds that there is a timeout, the shared I / O 6 is initialized and OS # 1 (20) is initialized.
- the OS # 0 side shared I / O lock release processing unit 103 releases the shared I / O lock flag 30 after the use of the shared I / O is completed.
- the OS # 0-side OS communication processing unit 104 transmits / receives an event to / from another OS.
- the OS # 1 (20) is basic software for operating a program for controlling a device connected to the industrial controller 1.
- the OS # 1 (20) is equipped with a high-functional general-purpose OS, and high-performance information such as a Web server or an FTP server. Operate related apps.
- a high-functional general-purpose OS such as a Web server or an FTP server.
- Operate related apps it is considered that the same sensor is displayed and updated in OS # 0 (10) and OS # 1 (20).
- the state of the actuator is acquired from the OS # 0 (10) using a sensor, and notified to the OS # 1 (20) through the shared area.
- OS # 1 (20) In response to the notification from OS # 0 (10), OS # 1 (20) updates information notified to the user (for example, display of the Web server). Conversely, when the user instructs parameter updating to the actuator via the Web server on OS # 1 (20), OS # 1 (20) notifies OS # 0 (10) via the shared area. OS # 0 (10) updates the parameters of the actuator according to the notification content of OS # 1 (20).
- the OS # 1 (20) includes an OS # 1 side shared I / O driver 201, an OS # 1 side shared I / O lock acquisition processing unit 202, an OS # 1 side shared I / O lock release processing unit 203, and an OS #.
- a one-side OS communication processing unit 204 is provided.
- the OS # 1-side shared I / O driver 201 is a driver for operating the shared I / O 6.
- the OS # 1-side shared I / O lock acquisition processing unit 202 When the OS # 1-side shared I / O lock acquisition processing unit 202 receives a use request for the shared I / O6, the OS # 1-side shared I / O lock acquisition processing unit 202 acquires the shared I / O lock flag 30 and sets the content of the flag as “OS # 1 is locked. To the content that can be understood.
- the time-out confirmation unit 50 is called and shared. It is determined whether or not the I / O lock flag 30 has timed out.
- the timeout confirmation means 50 responds that there is a timeout, the shared I / O 6 is initialized and OS # 0 (10) is initialized.
- the OS # 1-side shared I / O lock release processing unit 203 releases the shared I / O lock flag 30 after the use of the shared I / O 6 is completed.
- the OS # 1-side inter-OS communication processing unit 204 transmits / receives events to / from other OSs.
- the OS # 1 (20) side Web server calls the OS # 1 side shared I / O driver 201 in order to update the state of the shared I / O6.
- the OS # 1-side shared I / O driver 201 calls the OS # 1-side shared I / O lock acquisition processing unit 202 in order to access the shared I / O6 (S601).
- the OS # 1-side shared I / O lock acquisition processing unit 202 refers to the shared I / O lock flag 30 and determines whether or not the shared I / O 6 is locked.
- the shared I / O lock flag 30 since the shared I / O lock flag 30 is in the unlocked state, the content of the shared I / O lock flag 30 is changed to “OS # 1 being acquired”. Thereby, OS # 1 (20) acquires a lock.
- the OS # 1-side shared I / O lock acquisition processing unit 202 simultaneously notifies the timeout confirmation unit 50 that the OS # 1 (20) is locking the shared I / O6 (S602). .
- the timeout confirmation unit 50 Upon receiving the lock acquisition notification from the OS # 1 (20), the timeout confirmation unit 50 acquires and stores the current time (S603).
- the shared I / O state requested for acquisition from the Web application is acquired and returned to the Web application.
- the OS # 1-side shared I / O driver 201 performs processing for the shared I / O (S604).
- S604 processing for the shared I / O (S604).
- the OS # 0-side shared I / O driver 101 called from the application running on the OS # 0 (10) accesses the shared I / O6 to lock the OS # 0-side shared I / O. Call the acquisition processing unit 102.
- the OS # 0 side shared I / O lock acquisition processing unit 102 refers to the shared I / O lock flag 30 and determines whether or not it is locked.
- the OS # 0 side shared I / O lock acquisition processing unit 102 requests the “timeout confirmation” from the timeout confirmation unit 50 (S606).
- the timeout confirmation unit 50 compares the difference between the time stored in S603 and the current time with the timeout time set at the time of initialization, and determines whether or not a timeout has occurred. In the present embodiment, the description will be continued with the setting that no timeout occurs.
- the timeout confirmation unit 50 returns a result of no timeout occurrence to the OS # 0 side shared I / O lock acquisition processing unit 102 (S607).
- the OS # 0-side shared I / O lock acquisition processing unit 102 that has received a notification of no timeout from the timeout confirmation unit 50 enters a waiting state (S608).
- a waiting state S608.
- the above-described Web server on OS # 1 (20) completes the process of accessing the shared I / O 6.
- the OS # 1 side shared I / O driver 201 executes the OS # 1 side shared I / O lock release processing unit 203. (S609).
- the OS # 1-side shared I / O lock release processing unit 203 changes the content of the shared I / O lock flag 30 to “no user”.
- the OS # 1-side shared I / O lock release processing unit 203 notifies the timeout confirmation unit 50 of the lock release (S610).
- the time-out confirmation unit 50 Upon receiving the lock release notification from the OS # 1-side shared I / O lock release processing unit 203, the time-out confirmation unit 50 discards the time information held in S603, and the OS # 1-side shared I / O lock is released. The process is returned to the release processing unit 203 (S611).
- the OS # 1-side shared I / O lock release processing unit 203 notifies the OS # 0 (10) of the lock release via the OS # 1-side inter-OS communication processing unit 204.
- the OS # 0-side inter-OS communication processing unit 104 that has received the lock release notification from the OS # 1-side inter-OS communication processing unit 204 resumes the processing of the OS # 0-side shared I / O lock acquisition processing unit 102 that has been in a waiting state. (S613).
- the OS # 1-side shared I / O driver 201 calls the OS # 1-side shared I / O lock acquisition processing unit 202 in order to access the shared I / O 6 (S701).
- the OS # 1-side shared I / O lock acquisition processing unit 202 refers to the shared I / O lock flag 30 and determines whether or not it is locked.
- the shared I / O lock flag 30 is changed to that OS # 1 (20) is acquiring. Thereby, OS # 1 (20) acquires the lock.
- the OS # 1-side shared I / O lock acquisition processing unit 202 notifies the timeout confirmation unit 50 of “OS # 1 locked” (S702).
- the timeout confirmation unit 50 acquires and stores the current time (S703).
- the OS # 1-side shared I / O driver 201 performs processing for the shared I / O 6 (S704). Similar to the above, in this example, the state of the shared I / O requested from the Web application is acquired. The OS # 0 side shared I / O driver 201 is called for the Web application to perform processing for the shared I / O 6. The OS # 0 side shared I / O driver 201 calls the OS # 0 side shared I / O lock acquisition processing unit 102 (S705).
- the OS # 0 side shared I / O lock acquisition processing unit 102 refers to the shared I / O lock flag 30 and determines whether or not it is locked. In this case, since OS # 1 (20) is already in the lock acquisition state, the lock acquisition fails.
- the OS # 0 side shared I / O lock acquisition processing unit 102 calls the time-out confirmation unit 50 and performs “time-out presence confirmation” (S706).
- That the shared I / O lock flag 30 is already in the lock acquisition state means that the time locked by the time-out confirmation unit 50 is stored as described in S603 of FIG.
- the timeout confirmation unit 50 compares the difference between the time stored in S603 and the current time with the timeout time set at the time of initialization, and determines whether or not a timeout has occurred. In this case, it is determined that a timeout has occurred.
- the time-out confirmation unit 50 returns a result of time-out to the OS # 0-side shared I / O lock acquisition processing unit 102 (S707).
- the OS # 0 side shared I / O lock acquisition processing unit 102 that has received a timeout from the timeout confirmation unit 50 determines that OS # 1 (20) has hung up, and reinitializes the shared I / O6.
- Initialization processing and OS # 1 (20) initialization processing are performed (S708).
- the shared I / O re-initialization process is performed by, for example, resetting the H / W of the shared I / O 6 in the OS # 0 (10) and performing initialization, and then the shared I / O lock flag. 30 is returned to the initial value.
- the OS restart is, for example, the OS # 0 (10) loads the OS image for OS # 1 onto the RAM 5, and the OS3 on the OS image is started by the program counter of the OS3 CPU for OS # 1 (20).
- the CPU 3 for OS # 1 (20) is reset after setting the address.
- the shared I / O6 driver initialization process is performed, and the shared I / O6 can be used from OS # 1 (20).
- the time is also recorded so that the other OS hang-up can be performed without performing the existence check (communication between OSs) between OSs periodically. It becomes possible to detect.
- Embodiment 2 when any OS uses shared I / O, it is checked whether it is already locked by another OS, and if it is locked, the locked time is timed out.
- FIG. 5 is an overall configuration diagram of the software of the industrial controller in the present embodiment.
- the OS # 0 side shared I / O lock acquisition processing unit 112 acquires the shared I / O lock flag 30 and locks it to “OS # 0. Change to “Locked”. Then, the OS # 0 side shared I / O lock acquisition processing unit 112 notifies the timeout confirmation unit 50 of “OS # 0 lock acquisition”.
- the time-out confirmation unit 50 is called to request “time-out existence confirmation”.
- timeout confirmation means 50 responds that a timeout has occurred, the shared I / O 6 is initialized and the OS # 1 (20) is initialized. If the time-out confirmation means 50 responds that a time-out has not occurred, the time-out confirmation means 50 is called repeatedly until the lock is released or a time-out is answered.
- the OS # 1-side shared I / O lock acquisition process 212 acquires the shared I / O lock flag 30 when the shared I / O 6 is not locked, and changes it to “OS # 1 locked”. To do. Then, the OS # 1-side shared I / O lock acquisition process 212 notifies the timeout confirmation unit 50 of “OS # 1 lock acquisition”. When the shared I / O 6 is used, if it is already locked (the lock flag is “OS # 0 locked”), the time-out confirmation unit 50 is called to request “confirmation of time-out”.
- timeout confirmation means 50 When the timeout confirmation means 50 responds that a timeout has occurred, the shared I / O 6 is initialized and OS # 0 (10) is initialized. If the time-out confirmation means 50 responds that a time-out has not occurred, the time-out confirmation means 50 is called repeatedly until the lock is released or a time-out is answered.
- FIG. 6 illustrates an example where there is no timeout.
- the operation in the second embodiment is the same as the procedure described in the first embodiment, and only the difference from the operation described in the first embodiment will be described below.
- the OS # 0 side shared I / O lock acquisition process 112 Since the OS # 0 side shared I / O lock acquisition process 112 is notified of the absence of timeout, it calls the timeout confirmation unit 50 again. If there is no time-out, the time-out confirmation unit 50 is repeatedly called until the lock is released or it is answered that there is a time-out (S614).
- the OS # 0 side shared I / O lock acquisition process 112 and the OS # 1 side shared I / O lock acquisition process 212 are performed according to the OS # 0 side of the first embodiment.
- the same operation as the shared I / O lock acquisition processing unit 102 and the OS # 1-side shared I / O lock acquisition processing unit 202 is performed.
- FIG. 7 is an overall configuration diagram of software of the industrial controller in the present embodiment.
- the time-out confirmation means 51 acquires and stores the current time when “Obtain lock” is notified from the OS.
- the time-out confirmation unit 51 determines whether or not there is a time-out based on the time stored at the time of lock acquisition notification and the current time when the OS requests “time-out confirmation”.
- the time-out confirmation unit 51 discards the stored time when “lock release” is notified.
- timeout confirmation unit 51 counts up the counter until timeout when it is determined that there is no timeout when “OS timeout confirmation” is requested from the OS, and requests “timeout presence confirmation” when the timeout time is reached. Notify the OS that there is a timeout.
- the time-out confirmation unit 51 stops counting up the time-out when “lock release” is notified before the time-out period.
- FIG. 8 illustrates an example where there is no timeout.
- the operation in the third embodiment is the same as the procedure described in the first embodiment, and only the difference from the operation in FIG. 3 described in the first embodiment will be described below.
- the timeout confirmation unit 50 compares the difference between the time stored in S603 and the current time with the timeout time set at the time of initialization, and determines whether or not a timeout has occurred. In this case, it is determined that no timeout has occurred. In this case, the timeout confirmation unit 50 returns to the OS # 0 shared I / O lock process that the timeout has not occurred. Further, the time-out confirmation unit 50 counts up the timer counter 8 until time-out, and when the time-out time is reached, the time-out confirmation unit 50 notifies the OS that has requested “time-out existence confirmation” that there is time-out (S615).
- the time-out confirmation unit 50 When the time-out confirmation unit 50 is notified of the lock release, the time-out confirmation unit 50 discards the time held in S603 and returns the process to the OS # 1-side shared I / O lock release process. Further, the count-up of the timer counter 8 is stopped and reset (S616).
- the timeout confirmation unit 50 compares the difference between the time stored in S603 of FIG. 3 and the current time with the timeout time set at the time of initialization, and determines whether or not a timeout has occurred. In this case, it is determined that no timeout has occurred, and the timer counter 8 is set to the time when the timeout occurs. Thereafter, when the timer counter 8 times out, it notifies the timeout confirmation means 50 of the timeout. Upon receiving the notification, the timeout notification means 50 returns it to the OS # 0 side shared I / O lock acquisition processing unit 102 (S709).
- the timer counter 8 is operated, and when the timeout occurs, the OS side waiting for the release of the shared I / O lock flag 30 is notified of the timeout. Other processing can be executed.
- FIG. 10 is an example of a system configuration diagram of the industrial controller in the present embodiment.
- the industrial controller 1 is connected to the display device 9.
- the display device 9 is a device that enables display and setting of a timeout time for the shared I / O 6.
- the timeout time may be an elapsed time after the shared I / O 6 is locked, or may be a remaining time until it is determined as timeout.
- FIG. 11 is an example of an internal configuration diagram of the display device 9. In FIG.
- a timeout time display unit 91 displays the timeout time of the shared I / O 6.
- the timeout time may be displayed on a 7-segment display or a liquid crystal display.
- the timeout time setting unit 92 sets a timeout time for the shared I / O 6.
- the timeout time may be set by a keyboard or a touch panel (not shown) built in the display device 9 or connected to the outside.
- the display device 9 may be provided with a device for reading a storage medium, and the time-out time may be set by inserting a medium.
- the display device 9 may be a dedicated hardware and a program that operates on the dedicated hardware, or may be a program that operates on a personal computer (the display destination of the timeout time display unit is a personal computer display). .
- the timeout time setting unit 92 receives a timeout time to be set (S901). If the timeout time is not accepted, the value set at the initialization may be used, or the value set last time may be used. Next, the timeout time setting unit 92 instructs the timeout time display unit 91 to display the timeout time (S902).
- the set value is passed to the industrial controller 1 via a communication module (not shown). The industrial controller 1 sets the passed value as a timeout value and performs processing (S903).
- the timeout of the shared I / O 6 can be displayed and set when the industrial controller 1 is initialized, the user can set the timeout of the shared I / O lock flag. Setting according to the response time requested by the application destination is possible.
- the timeout time may be displayed and the setting may be changed during startup of the industrial controller. 9 may be removed. If the timeout time is not set by the user, a default value is set and displayed. In S903, the user starts the industrial controller. However, the industrial controller may be automatically started in synchronization with the setting of the timeout time setting unit. Moreover, you may combine with Embodiment 2 and Embodiment 3.
- Embodiment 5 FIG. In this embodiment, a case where a time-out occurrence history output function is added to the display device described in Embodiment 4 will be described.
- FIG. 13 is an example of an internal configuration diagram of the display device 9 in the present embodiment.
- a timeout occurrence history display unit 93 displays a history when a timeout occurs for the shared I / O 6 lock.
- An example of the history displayed in FIG. 14 is shown.
- FIG. 14 shows an example in which the ID of the lock in which the timeout has occurred, the time at which the timeout has occurred, and the cause of the timeout as a history.
- the timeout occurrence history display instructing unit 94 is a button or a touch panel built in the display device 9 or connected to the outside, and displays a timeout occurrence history on the display unit according to a user operation. 13, the same reference numerals as those in FIG. 11 represent the same or corresponding parts, and the same operations as those described in FIG. 11 used in the fourth embodiment are performed.
- FIG. 15 is an overall configuration diagram of the software of the industrial controller in the present embodiment.
- the timeout occurrence history storage unit 60 records the contents of the shared I / O lock flag 30 and the time when the timeout has occurred, for example, on a memory. Further, by notifying the display device 9 of this content, the display device 9 can display the time when the timeout occurred and the cause of the timeout.
- FIG. 16 illustrates an example in which a timeout occurs.
- the operation in the fifth embodiment is the same as the procedure described in the first embodiment, and only the difference from the operation in FIG. 4 described in the first embodiment will be described below.
- the OS # 0-side shared I / O lock acquisition processing unit 102 determines that OS # 1 (20) has hung up because of a timeout, and stores the shared I / O lock flag in the timeout occurrence history storage unit 60. Record 30 contents and time of occurrence.
- the OS # 0 side shared I / O lock acquisition processing unit 102 performs shared I / O reinitialization processing and OS # 1 initialization processing (S710).
- the timeout occurrence history display unit 93 displays a timeout history.
- the user can quickly respond to the occurrence of timeout.
- the occurrence history is displayed by using a button on the display device or the like, but may be displayed immediately in response to occurrence of a timeout.
- you may combine with Embodiment 2 and Embodiment 3.
- FIG. 17 is an overall configuration diagram of software of the industrial controller in the present embodiment.
- a shared I / O simulation unit 70 simulates shared I / O in response to access from the shared I / O driver to the shared I / O simulation unit.
- the same reference numerals as those in FIG. 2 represent the same or corresponding parts, and the same operations as those described in FIG. 2 used in the first embodiment are performed.
- the OS # 0 side shared I / O driver 101 and the OS # 1 side shared I / O driver 102 access the shared I / O simulation unit 70 instead of the shared I / O6. .
- FIG. 18 illustrates a case where there is no timeout.
- the operation in the sixth embodiment is the same as the procedure described in the first embodiment, and only the difference from the operation in FIG. 3 described in the first embodiment will be described below.
- the OS # 1-side shared I / O driver 201 executes the OS # 1-side shared I / O lock acquisition processing unit 202 in order to access the shared I / O simulation unit 70 (S801).
- a process for the shared I / O simulation unit is called by the OS # 1-side shared I / O driver (S804).
- the OS # 0 side shared I / O driver 101 calls the OS # 0 side shared I / O lock acquisition process 201 in order to access the shared I / O simulation unit 70 (S805).
- FIG. 19 an example will be described in which the OS that previously locked the shared I / O simulated by the shared I / O simulation unit hangs up before timing out.
- the operation in the sixth embodiment is the same as the procedure described in the first embodiment, and only the difference from the operation in FIG. 4 described in the first embodiment will be described below.
- the OS # 1-side shared I / O driver calls the OS # 1-side shared I / O lock acquisition process to access the shared I / O simulation unit (S901).
- the shared I / O simulation unit is processed by the OS # 1-side shared I / O driver (S904).
- the OS # 0 side shared I / O driver calls the OS # 0 side shared I / O lock acquisition process to access the shared I / O simulation unit (S905).
- the timeout time can be set in advance.
- Embodiment 5 FIG. the occurrence of timeout can be displayed to the user, so that the user can program in advance the processing related to the timeout time of the shared I / O.
- the simulation is only shared I / O, but the same effect can be obtained by simulating the entire industrial controller in a simulation environment of a personal computer, for example.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
The present invention is provided with an industrial controller 1 that is characterized by comprising: a storage unit which stores a plurality of operating systems (OSs); at least one shared device which is accessed by the plurality of OSs; and a control unit which records a time at which an OS acquires a lock for preventing conflict that would occur if the OS and another OS accessed the shared device simultaneously, and which, when an OS attempts to acquire the lock of the shared device after the shared device has been locked by another OS, determines whether a time-out has occurred by referring to the time that has already been recorded for the shared device, the current time, and a preset time-out period, and restarts the shared device if it is determined that a time-out has occurred.
Description
この発明は、産業コントローラおよび産業コントローラシステムに関するものである。
The present invention relates to an industrial controller and an industrial controller system.
産業コントローラでは、コスト低減や部品点数の削減を目的として、一つのハードウェア上で複数のOperating System(OS)を動作させ、一方でウェブサーバ等の高機能な情報処理を行う汎用OS、他方で機械制御を行うリアルタイムOS(RTOS)を動作させるソフトウェア構成がとられる。
In industrial controllers, a general-purpose OS that operates multiple operating systems (OS) on one piece of hardware and performs high-performance information processing, such as a web server, for the purpose of reducing costs and reducing the number of parts. A software configuration is employed that operates a real-time OS (RTOS) that performs machine control.
こうした複数OSでは、OS間で共有メモリなどの共有I/Oを用いてデータの送受信を行っている。例えば、RTOSがI/O制御用のバスからデータを受信し、OS間の共有メモリを介して汎用OS側にデータを送信するといった処理が行われる。
In such a plurality of OSs, data is transmitted and received between the OSs using a shared I / O such as a shared memory. For example, the RTOS receives data from the I / O control bus and transmits the data to the general-purpose OS side via a shared memory between the OSs.
このように、複数OS間で同一の共有メモリや共有I/Oを使用する場合、排他制御を行うのが一般的である。
As described above, when the same shared memory or shared I / O is used among a plurality of OSs, exclusive control is generally performed.
排他制御を行うには、一方のOSが共有メモリやI/O(以降、共有I/O)を使用する際、他のOSが共有I/Oを同時にアクセスできないようにするため、共有I/Oに対応するロックフラグの取得を行う。これにより、他のOSは、ロックフラグが解放されるまで、共有I/Oをアクセスすることができない。
In order to perform exclusive control, when one OS uses shared memory or I / O (hereinafter, shared I / O), in order to prevent other OS from accessing the shared I / O at the same time, The lock flag corresponding to O is acquired. As a result, the other OS cannot access the shared I / O until the lock flag is released.
しかし、ロックフラグを取得したOSが取得したままの状態でハングアップした場合、ロックフラグが永遠に解放されず、結果、他のOSが共有I/Oを獲得できなくなるという問題があった。
However, when the OS that acquired the lock flag hangs up in the acquired state, the lock flag is not released forever, and as a result, another OS cannot acquire the shared I / O.
これに対し、従来では、他のOSのハングアップ検出をOS間で相互応答確認(ハートビート)を行うことで実現していた。
On the other hand, conventionally, hang-up detection of other OSs has been realized by performing mutual response confirmation (heartbeat) between OSs.
例えば、主となるOSを主OS、予備となるOSを予備系OSとした場合、予備系OSから主OSに対し生存確認を要求し、主系から応答を行うことでOSの動作を確認し、主系OSがハングアップしていた場合は、主系OSと予備系OSを入れ替え、処理を継続するという手法が公開されている(特許文献1)。
For example, when the main OS is the main OS and the standby OS is the standby OS, the standby OS requests the main OS to confirm the existence and confirms the OS operation by responding from the main OS. In the case where the main OS is hung up, a method is disclosed in which the main OS and the standby OS are replaced and the processing is continued (Patent Document 1).
従来技術では、OS間の排他制御のためだけに、OSの動作確認という定期的な通信を必要としている。しかし、このようなOS間で通信を行うことによる動作確認は、比較的大きな処理であり、特に産業コントローラに搭載されるRTOS側の処理性能に影響するため問題となる。
In the prior art, periodic communication called OS operation check is required only for exclusive control between OSs. However, such an operation check by performing communication between OSs is a relatively large process, and particularly affects the processing performance on the RTOS side mounted in the industrial controller, which is a problem.
この発明は、上記のような問題点を解決するためになされたもので、OS間での定期的な通信を行わずに、他方のOSのハングアップを検出することを目的とする。
The present invention has been made to solve the above-described problems, and an object thereof is to detect a hang-up of the other OS without performing regular communication between the OSs.
この発明は、上記のような課題を解消するためになされたもので、複数のOSを記憶する記憶部と、前記複数のOSからアクセスを受け付ける共有デバイスと、前記共有デバイスをアクセスするとき他のOSからの同時アクセスにより競合が発生することを防ぐためのロックを取得すると同時に時刻を記録し、既に他のOSにロックされた共有デバイスのロックを取得する際、既に記録された前記時刻と現在の時刻と予め設定されたタイムアウト時間とを参照してタイムアウト判定を行い、タイムアウトしていると判断した場合、前記共有デバイスを再起動する制御部と、を有することを特徴とする産業コントローラを提供する。
The present invention has been made to solve the above-described problems. A storage unit that stores a plurality of OSs, a shared device that receives access from the plurality of OSs, and other devices that access the shared device are provided. When acquiring a lock for preventing the occurrence of contention due to simultaneous access from the OS, the time is recorded at the same time, and when acquiring the lock of the shared device already locked by another OS, the previously recorded time and current Providing an industrial controller having a control unit that restarts the shared device when it is determined that a time-out has occurred, with reference to the time and a preset time-out time. To do.
本発明によれば、OS間での通信を行わずに、他方のOSのハングアップを検出することが可能となる。
According to the present invention, it is possible to detect a hang-up of the other OS without performing communication between the OSs.
実施の形態1.
図1は、本実施の形態における産業コントローラのハードウェア構成図の一例である。図1において、産業コントローラ1は、CPU2(Central Processor Unit)、CPU3、ROM4(Read Only Memory)、RAM5(Random Access Memory)に加え、共有I/O6、通信モジュール7などのハードウェアを備えている。Embodiment 1 FIG.
FIG. 1 is an example of a hardware configuration diagram of an industrial controller in the present embodiment. In FIG. 1, theindustrial controller 1 includes hardware such as a shared I / O 6 and a communication module 7 in addition to a CPU 2 (Central Processor Unit), a CPU 3, a ROM 4 (Read Only Memory), and a RAM 5 (Random Access Memory). .
図1は、本実施の形態における産業コントローラのハードウェア構成図の一例である。図1において、産業コントローラ1は、CPU2(Central Processor Unit)、CPU3、ROM4(Read Only Memory)、RAM5(Random Access Memory)に加え、共有I/O6、通信モジュール7などのハードウェアを備えている。
FIG. 1 is an example of a hardware configuration diagram of an industrial controller in the present embodiment. In FIG. 1, the
ROM4は、プログラム命令列や固定データを格納する領域を提供する。フラッシュメモリなどが相当し、書き込まれたプログラム内容を書き換えることが可能である。
ROM 4 provides an area for storing a sequence of program instructions and fixed data. It corresponds to a flash memory and the like, and the written program content can be rewritten.
RAM5は、プログラムが使用するデータを保存及び参照するための作業領域を提供する。なお、ROM4とRAM5を合わせて記憶部と呼ぶ。
RAM 5 provides a work area for storing and referring to data used by the program. The ROM 4 and the RAM 5 are collectively referred to as a storage unit.
共有I/O6(共有デバイス)は、産業コントローラ1が有するI/Oである。
Shared I / O 6 (shared device) is an I / O that the industrial controller 1 has.
通信モジュール7は、インターネットなどのネットワークインフラを通じて、他の産業コントローラまたは制御用の機器との間でデータの送受信を行う。
The communication module 7 transmits / receives data to / from other industrial controllers or control devices through a network infrastructure such as the Internet.
タイマカウンタ8は、共有I/O6に対応するロックフラグが取得された時刻のほか、ロックフラグが取得されてからの経過時間を計測するのに用いる。なお、本タイマは、OSが使用しているタイマと兼用しても別途用意してあってもよい。
The timer counter 8 is used to measure not only the time when the lock flag corresponding to the shared I / O 6 is acquired but also the elapsed time after the lock flag is acquired. Note that this timer may be used as the timer used by the OS or may be prepared separately.
図2は、本実施の形態における産業コントローラのソフトウェアの全体構成図である。これらのソフトウェアは、ROM4若しくはRAM5に記憶され、制御部であるCPU2およびCPU3により実行される。
FIG. 2 is an overall configuration diagram of the software of the industrial controller in the present embodiment. These software are stored in the ROM 4 or the RAM 5 and executed by the CPU 2 and the CPU 3 which are control units.
なお、本実施の形態で示す産業コントローラ1は、複数のOSを搭載しており、複数のOS間で、共有I/O6を使用する例について示している。
また、本実施の形態では、CPUを2つ有し、それぞれに別のOSを割り当てる場合について述べるが、複数のコアを有するCPUを用い、それぞれのコアにOSを割り当てても良い。 Note that theindustrial controller 1 shown in the present embodiment shows an example in which a plurality of OSs are mounted and a shared I / O 6 is used between the plurality of OSs.
In this embodiment, a case where two CPUs are provided and different OSs are assigned to each of the CPUs is described. However, a CPU having a plurality of cores may be used, and an OS may be assigned to each core.
また、本実施の形態では、CPUを2つ有し、それぞれに別のOSを割り当てる場合について述べるが、複数のコアを有するCPUを用い、それぞれのコアにOSを割り当てても良い。 Note that the
In this embodiment, a case where two CPUs are provided and different OSs are assigned to each of the CPUs is described. However, a CPU having a plurality of cores may be used, and an OS may be assigned to each core.
図1において、OS#0(10)は、CPU2を占有し、共有I/O6を操作するOSである。
OS#1(20)は、CPU3を占有し、共有I/O6を操作するOSである。
共有I/O用ロックフラグ30は、共有I/O6をロックしている際に使用するフラグである。 In FIG. 1, OS # 0 (10) is an OS that occupies theCPU 2 and operates the shared I / O 6.
The OS # 1 (20) is an OS that occupies theCPU 3 and operates the shared I / O 6.
The shared I /O lock flag 30 is a flag used when the shared I / O 6 is locked.
OS#1(20)は、CPU3を占有し、共有I/O6を操作するOSである。
共有I/O用ロックフラグ30は、共有I/O6をロックしている際に使用するフラグである。 In FIG. 1, OS # 0 (10) is an OS that occupies the
The OS # 1 (20) is an OS that occupies the
The shared I /
共有I/O用ロックフラグ待ちリスト40は、これから共有I/Oを共有しようとしているOSが、共有I/Oを使用しようとした際、共有I/Oが既に他のOSによってロックされていた場合に、使用していないOSを特定することのできる情報、例えば識別子を登録し、待ち状態であることを示すリストである。
In the shared I / O lock flag waiting list 40, when the OS that is going to share the shared I / O tries to use the shared I / O, the shared I / O is already locked by another OS. In this case, it is a list indicating that information that can identify an unused OS, for example, an identifier, is registered, and is in a waiting state.
タイムアウト確認手段50は、いずれかのOSから、共有I/Oに対するロックを取得した旨の通知を受けた場合、現在の時刻を取得し、保存する。
When the time-out confirmation unit 50 receives a notification from any OS that the lock for the shared I / O has been acquired, it acquires the current time and stores it.
また、タイムアウト確認手段50は、いずれかのOSから、タイムアウトの有無を判定する要求を受けると、ロックを取得した旨の通知を受けた際に保存した時刻と、現在の時刻からタイムアウトの有無を判定する。
In addition, upon receiving a request for determining whether or not a timeout has occurred from any OS, the timeout confirmation unit 50 determines whether or not there is a timeout from the time stored when the notification indicating that the lock has been acquired and the current time. judge.
タイムアウト確認手段50は、いずれかのOSから、「ロック解放」が通知された場合は、保存していた時刻を破棄する。なお、タイムアウト時間は、産業コントローラ1の初期化時に任意の値を設定しておく。
The timeout confirmation unit 50 discards the stored time when “release of lock” is notified from any OS. Note that the timeout time is set to an arbitrary value when the industrial controller 1 is initialized.
OS#0(10)の詳細について説明する。OS#0(10)は、産業コントローラ1に接続されているデバイスを制御するためのプログラムを動作させるための基本ソフトウェアである。
例えば、産業コントローラにて、センサ情報やアクチュエータ情報を取得する際、リアルタイム応答性が必要な場合、OS#0(10)としてリアルタイムOS(以降RTOS)を動作させ、センサ情報の取得やアクチュエータ操作を行うプログラムを動作させる必要がある。 Details of the OS # 0 (10) will be described. The OS # 0 (10) is basic software for operating a program for controlling a device connected to theindustrial controller 1.
For example, when acquiring sensor information or actuator information with an industrial controller, if real-time responsiveness is required, the real-time OS (hereinafter referred to as RTOS) is operated as OS # 0 (10), and sensor information acquisition or actuator operation is performed. It is necessary to run the program to be performed.
例えば、産業コントローラにて、センサ情報やアクチュエータ情報を取得する際、リアルタイム応答性が必要な場合、OS#0(10)としてリアルタイムOS(以降RTOS)を動作させ、センサ情報の取得やアクチュエータ操作を行うプログラムを動作させる必要がある。 Details of the OS # 0 (10) will be described. The OS # 0 (10) is basic software for operating a program for controlling a device connected to the
For example, when acquiring sensor information or actuator information with an industrial controller, if real-time responsiveness is required, the real-time OS (hereinafter referred to as RTOS) is operated as OS # 0 (10), and sensor information acquisition or actuator operation is performed. It is necessary to run the program to be performed.
OS#0(10)は、OS#0側共有I/O用ドライバ101、OS#0側共有I/Oロック取得処理部102、OS#0側共有I/Oロック解放処理部103、OS#0側OS間通信処理部104を備えている。
The OS # 0 (10) includes an OS # 0 side shared I / O driver 101, an OS # 0 side shared I / O lock acquisition processing unit 102, an OS # 0 side shared I / O lock release processing unit 103, and an OS #. A 0-side OS communication processing unit 104 is provided.
OS#0側共有I/O用ドライバ101は、共有I/O6を操作するドライバである。
The OS # 0 side shared I / O driver 101 is a driver for operating the shared I / O 6.
OS#0側共有I/Oロック取得処理部102は、共有I/O6に対する使用要求を受けた際、共有I/O用ロックフラグ30を取得し、フラグの内容を「OS#0がロック中」である旨が判る内容に変更する。
When the OS # 0 side shared I / O lock acquisition processing unit 102 receives a use request for the shared I / O6, the OS # 0 side shared I / O lock acquisition processing unit 102 acquires the shared I / O lock flag 30 and sets the content of the flag as “OS # 0 is locked. To the content that can be understood.
もし、既に他のOSが使用中であった場合、例えば、共有I/O用ロックフラグ30の内容が「OS#1がロック中」であった場合には、タイムアウト確認手段50を呼出し、共有I/O用ロックフラグ30がタイムアウトしているか否かを判定する。
If another OS is already in use, for example, if the content of the shared I / O lock flag 30 is “OS # 1 is locked”, the time-out confirmation unit 50 is called and shared. It is determined whether or not the I / O lock flag 30 has timed out.
タイムアウト確認手段50からタイムアウト有りと応答された場合には、共有I/O6の初期化処理及びOS#1(20)の初期化を行う。
If the timeout confirmation means 50 responds that there is a timeout, the shared I / O 6 is initialized and OS # 1 (20) is initialized.
OS#0側共有I/Oロック解放処理部103は、共有I/Oの使用が完了した後に、共有I/O用ロックフラグ30を解放する。
The OS # 0 side shared I / O lock release processing unit 103 releases the shared I / O lock flag 30 after the use of the shared I / O is completed.
OS#0側OS間通信処理部104は、他のOSに対するイベントの送受信を行う。
The OS # 0-side OS communication processing unit 104 transmits / receives an event to / from another OS.
OS#1(20)の詳細について説明する。OS#1(20)は産業コントローラ1に接続されているデバイスを制御するためのプログラムを動作させるための基本ソフトウェアである。
例えば、産業コントローラ1にて、ユーザに対し、コントローラの状態を通知する必要がある場合、OS#1(20)に高機能な汎用OSを搭載し、WebサーバやFTPサーバなどの高機能な情報系アプリを動作させる。
ここで、OS#0(10)とOS#1(20)で同一のセンサの表示・更新を行うことを考える。たとえば、OS#0(10)から、センサを用いて、アクチュエータの状態を取得し、共有領域を介して、OS#1(20)に通知する。
OS#1(20)はOS#0(10)の通知に応じて、ユーザに通知する情報(たとえばWebサーバの表示)を更新する。
逆に、ユーザはOS#1(20)上のWebサーバ経由で、アクチュエータへのパラメータ更新を指示した場合、OS#1(20)は共有領域を介してOS#0(10)に通知する。
OS#0(10)はOS#1(20)の通知内容に応じて、アクチュエータのパラメータを更新する。 Details of the OS # 1 (20) will be described. The OS # 1 (20) is basic software for operating a program for controlling a device connected to theindustrial controller 1.
For example, when it is necessary for theindustrial controller 1 to notify the user of the state of the controller, the OS # 1 (20) is equipped with a high-functional general-purpose OS, and high-performance information such as a Web server or an FTP server. Operate related apps.
Here, it is considered that the same sensor is displayed and updated in OS # 0 (10) and OS # 1 (20). For example, the state of the actuator is acquired from the OS # 0 (10) using a sensor, and notified to the OS # 1 (20) through the shared area.
In response to the notification from OS # 0 (10), OS # 1 (20) updates information notified to the user (for example, display of the Web server).
Conversely, when the user instructs parameter updating to the actuator via the Web server on OS # 1 (20), OS # 1 (20) notifies OS # 0 (10) via the shared area.
OS # 0 (10) updates the parameters of the actuator according to the notification content of OS # 1 (20).
例えば、産業コントローラ1にて、ユーザに対し、コントローラの状態を通知する必要がある場合、OS#1(20)に高機能な汎用OSを搭載し、WebサーバやFTPサーバなどの高機能な情報系アプリを動作させる。
ここで、OS#0(10)とOS#1(20)で同一のセンサの表示・更新を行うことを考える。たとえば、OS#0(10)から、センサを用いて、アクチュエータの状態を取得し、共有領域を介して、OS#1(20)に通知する。
OS#1(20)はOS#0(10)の通知に応じて、ユーザに通知する情報(たとえばWebサーバの表示)を更新する。
逆に、ユーザはOS#1(20)上のWebサーバ経由で、アクチュエータへのパラメータ更新を指示した場合、OS#1(20)は共有領域を介してOS#0(10)に通知する。
OS#0(10)はOS#1(20)の通知内容に応じて、アクチュエータのパラメータを更新する。 Details of the OS # 1 (20) will be described. The OS # 1 (20) is basic software for operating a program for controlling a device connected to the
For example, when it is necessary for the
Here, it is considered that the same sensor is displayed and updated in OS # 0 (10) and OS # 1 (20). For example, the state of the actuator is acquired from the OS # 0 (10) using a sensor, and notified to the OS # 1 (20) through the shared area.
In response to the notification from OS # 0 (10), OS # 1 (20) updates information notified to the user (for example, display of the Web server).
Conversely, when the user instructs parameter updating to the actuator via the Web server on OS # 1 (20), OS # 1 (20) notifies OS # 0 (10) via the shared area.
OS # 0 (10) updates the parameters of the actuator according to the notification content of OS # 1 (20).
OS#1(20)は、OS#1側共有I/O用ドライバ201、OS#1側共有I/Oロック取得処理部202、OS#1側共有I/Oロック解放処理部203、OS#1側OS間通信処理部204を備えている。
The OS # 1 (20) includes an OS # 1 side shared I / O driver 201, an OS # 1 side shared I / O lock acquisition processing unit 202, an OS # 1 side shared I / O lock release processing unit 203, and an OS #. A one-side OS communication processing unit 204 is provided.
OS#1側共有I/O用ドライバ201は、共有I/O6を操作するドライバである。
The OS # 1-side shared I / O driver 201 is a driver for operating the shared I / O 6.
OS#1側共有I/Oロック取得処理部202は、共有I/O6に対する使用要求を受けた際、共有I/O用ロックフラグ30を取得し、フラグの内容を「OS#1がロック中」である旨が判る内容に変更する。
When the OS # 1-side shared I / O lock acquisition processing unit 202 receives a use request for the shared I / O6, the OS # 1-side shared I / O lock acquisition processing unit 202 acquires the shared I / O lock flag 30 and sets the content of the flag as “OS # 1 is locked. To the content that can be understood.
もし、既に他のOSが使用中であった場合、例えば、共有I/O用ロックフラグ30の内容が「OS#0がロック中」であった場合には、タイムアウト確認手段50を呼出し、共有I/O用ロックフラグ30がタイムアウトしているか否かを判定する。
If another OS is already in use, for example, if the content of the shared I / O lock flag 30 is “OS # 0 is locked”, the time-out confirmation unit 50 is called and shared. It is determined whether or not the I / O lock flag 30 has timed out.
タイムアウト確認手段50からタイムアウト有りと応答された場合には、共有I/O6の初期化処理及びOS#0(10)の初期化を行う。
When the timeout confirmation means 50 responds that there is a timeout, the shared I / O 6 is initialized and OS # 0 (10) is initialized.
OS#1側共有I/Oロック解放処理部203は、共有I/O6の使用が完了した後に、共有I/O用ロックフラグ30を解放する。
The OS # 1-side shared I / O lock release processing unit 203 releases the shared I / O lock flag 30 after the use of the shared I / O 6 is completed.
OS#1側OS間通信処理部204は、他のOSに対するイベントの送受信を行う。
The OS # 1-side inter-OS communication processing unit 204 transmits / receives events to / from other OSs.
次に、図3と図4を用いて、本実施の形態1における動作について説明する。
まず、図3を用いて、タイムアウトが無かった場合、かつ、共有I/Oロックフラグ30が解放状態(初期状態)であった場合を例に説明する。 Next, the operation in the first embodiment will be described with reference to FIGS.
First, the case where there is no timeout and the shared I /O lock flag 30 is in a released state (initial state) will be described as an example with reference to FIG.
まず、図3を用いて、タイムアウトが無かった場合、かつ、共有I/Oロックフラグ30が解放状態(初期状態)であった場合を例に説明する。 Next, the operation in the first embodiment will be described with reference to FIGS.
First, the case where there is no timeout and the shared I /
例えば、OS#1(20)側のWebサーバが、共有I/O6の状態を更新するために、OS#1側共有I/O用ドライバ201を呼び出すとする。
まず、OS#1側共有I/O用ドライバ201が、共有I/O6にアクセスするために、OS#1側共有I/Oロック取得処理部202を呼び出す(S601)。 For example, it is assumed that the OS # 1 (20) side Web server calls theOS # 1 side shared I / O driver 201 in order to update the state of the shared I / O6.
First, the OS # 1-side shared I /O driver 201 calls the OS # 1-side shared I / O lock acquisition processing unit 202 in order to access the shared I / O6 (S601).
まず、OS#1側共有I/O用ドライバ201が、共有I/O6にアクセスするために、OS#1側共有I/Oロック取得処理部202を呼び出す(S601)。 For example, it is assumed that the OS # 1 (20) side Web server calls the
First, the OS # 1-side shared I /
OS#1側共有I/Oロック取得処理部202は、共有I/Oロックフラグ30を参照し、共有I/O6がロックされているか否かを判定する。
The OS # 1-side shared I / O lock acquisition processing unit 202 refers to the shared I / O lock flag 30 and determines whether or not the shared I / O 6 is locked.
本実施の形態では、共有I/Oロックフラグ30はロック解放状態であるため、共有I/O用ロックフラグ30の内容を「OS#1取得中」に変更する。これにより、OS#1(20)がロックを取得する。
In the present embodiment, since the shared I / O lock flag 30 is in the unlocked state, the content of the shared I / O lock flag 30 is changed to “OS # 1 being acquired”. Thereby, OS # 1 (20) acquires a lock.
また、OS#1側共有I/Oロック取得処理部202は、同時に、タイムアウト確認手段50に対し、OS#1(20)が、共有I/O6をロック中であることを通知する(S602)。
Further, the OS # 1-side shared I / O lock acquisition processing unit 202 simultaneously notifies the timeout confirmation unit 50 that the OS # 1 (20) is locking the shared I / O6 (S602). .
OS#1(20)からロック取得の通知を受けたタイムアウト確認手段50は、現在時刻を取得し、保存する(S603)。
今回の例では、Webアプリから取得要求のあった、共有I/Oの状態を取得し、Webアプリに返す。
OS#1側共有I/O用ドライバ201は、共有I/Oに対する処理を行う(S604)。
ここで、例えば、OS#0(10)上で動作している、共有I/Oの状態を変更するアプリケーションが動作したとする。 Upon receiving the lock acquisition notification from the OS # 1 (20), thetimeout confirmation unit 50 acquires and stores the current time (S603).
In this example, the shared I / O state requested for acquisition from the Web application is acquired and returned to the Web application.
The OS # 1-side shared I /O driver 201 performs processing for the shared I / O (S604).
Here, for example, it is assumed that an application operating on the OS # 0 (10) and changing the state of the shared I / O operates.
今回の例では、Webアプリから取得要求のあった、共有I/Oの状態を取得し、Webアプリに返す。
OS#1側共有I/O用ドライバ201は、共有I/Oに対する処理を行う(S604)。
ここで、例えば、OS#0(10)上で動作している、共有I/Oの状態を変更するアプリケーションが動作したとする。 Upon receiving the lock acquisition notification from the OS # 1 (20), the
In this example, the shared I / O state requested for acquisition from the Web application is acquired and returned to the Web application.
The OS # 1-side shared I /
Here, for example, it is assumed that an application operating on the OS # 0 (10) and changing the state of the shared I / O operates.
OS#0(10)上で動作しているアプリケーションから呼び出された、OS#0側共有I/O用ドライバ101は、共有I/O6にアクセスするために、OS#0側共有I/Oロック取得処理部102を呼び出す。
The OS # 0-side shared I / O driver 101 called from the application running on the OS # 0 (10) accesses the shared I / O6 to lock the OS # 0-side shared I / O. Call the acquisition processing unit 102.
OS#0側共有I/Oロック取得処理部102は、共有I/O用ロックフラグ30を参照し、ロックされているか否か、を判定する。
The OS # 0 side shared I / O lock acquisition processing unit 102 refers to the shared I / O lock flag 30 and determines whether or not it is locked.
本実施の形態では、OS#1(20)が既にロックを取得している状態であるため、ロックの取得に失敗する。
In this embodiment, since OS # 1 (20) has already acquired the lock, the lock acquisition fails.
ロック取得に失敗した場合、OS#0側共有I/Oロック取得処理部102は、タイムアウト確認手段50に対し、「タイムアウト有無確認」を要求する(S606)。
When the lock acquisition has failed, the OS # 0 side shared I / O lock acquisition processing unit 102 requests the “timeout confirmation” from the timeout confirmation unit 50 (S606).
タイムアウト確認手段50は、S603で保存した時刻と現在時刻の差と、初期化時に設定したタイムアウト時間とを比較し、タイムアウト発生の有無を判断する。
なお、本実施の形態では、タイムアウト発生無しと言う設定で説明を続ける。 Thetimeout confirmation unit 50 compares the difference between the time stored in S603 and the current time with the timeout time set at the time of initialization, and determines whether or not a timeout has occurred.
In the present embodiment, the description will be continued with the setting that no timeout occurs.
なお、本実施の形態では、タイムアウト発生無しと言う設定で説明を続ける。 The
In the present embodiment, the description will be continued with the setting that no timeout occurs.
タイムアウト確認手段50は、タイムアウト発生無しと言う結果を、OS#0側共有I/Oロック取得処理部102に返す(S607)。
The timeout confirmation unit 50 returns a result of no timeout occurrence to the OS # 0 side shared I / O lock acquisition processing unit 102 (S607).
タイムアウト確認手段50からタイムアウト無しの通知を受けたOS#0側共有I/Oロック取得処理部102は、待ち状態となる(S608)。
ここで、前述したOS#1(20)上のWebサーバが共有I/O6をアクセスする処理を完了した場合を考える。 The OS # 0-side shared I / O lockacquisition processing unit 102 that has received a notification of no timeout from the timeout confirmation unit 50 enters a waiting state (S608).
Here, consider a case where the above-described Web server on OS # 1 (20) completes the process of accessing the shared I / O 6.
ここで、前述したOS#1(20)上のWebサーバが共有I/O6をアクセスする処理を完了した場合を考える。 The OS # 0-side shared I / O lock
Here, consider a case where the above-described Web server on OS # 1 (20) completes the process of accessing the shared I / O 6.
OS#1(20)上で動作しているアプリケーションが共有I/O6に対する処理を完了すると、OS#1側共有I/O用ドライバ201は、OS#1側共有I/Oロック解放処理部203を呼び出す(S609)。
When the application running on the OS # 1 (20) completes the processing for the shared I / O 6, the OS # 1 side shared I / O driver 201 executes the OS # 1 side shared I / O lock release processing unit 203. (S609).
OS#1側共有I/Oロック解放処理部203は、共有I/O用ロックフラグ30の内容を使用者無しに変更する。
The OS # 1-side shared I / O lock release processing unit 203 changes the content of the shared I / O lock flag 30 to “no user”.
さらに、OS#1側共有I/Oロック解放処理部203は、タイムアウト確認手段50に対し、ロック解放を通知する(S610)。
Furthermore, the OS # 1-side shared I / O lock release processing unit 203 notifies the timeout confirmation unit 50 of the lock release (S610).
OS#1側共有I/Oロック解放処理部203から、ロック解放の通知を受けたタイムアウト確認手段50は、S603で保持していた時刻の情報を破棄し、OS#1側共有I/Oロック解放処理部203に処理を返す(S611)。
Upon receiving the lock release notification from the OS # 1-side shared I / O lock release processing unit 203, the time-out confirmation unit 50 discards the time information held in S603, and the OS # 1-side shared I / O lock is released. The process is returned to the release processing unit 203 (S611).
OS#1側共有I/Oロック解放処理部203は、OS#1側OS間通信処理部204を介して、OS#0(10)にロック解放を通知する。
The OS # 1-side shared I / O lock release processing unit 203 notifies the OS # 0 (10) of the lock release via the OS # 1-side inter-OS communication processing unit 204.
OS#1側OS間通信処理部204からロック解放通知を受けたOS#0側OS間通信処理部104は、待ち状態だったOS#0側共有I/Oロック取得処理部102の処理を再開する(S613)。
The OS # 0-side inter-OS communication processing unit 104 that has received the lock release notification from the OS # 1-side inter-OS communication processing unit 204 resumes the processing of the OS # 0-side shared I / O lock acquisition processing unit 102 that has been in a waiting state. (S613).
次に、図4を用いて、タイムアウトが発生した場合の処理を例に説明する。例えば、先の例で、OS#1(20)のWEBサーバが共有I/O6のロックフラグを保持したまま、タイムアウトした場合を示す。
OS#1側共有I/O用ドライバ201が、共有I/O6にアクセスするために、OS#1側共有I/Oロック取得処理部202を呼び出す(S701)。 Next, a process when a timeout occurs will be described as an example with reference to FIG. For example, in the above example, the case where the WEB server of OS # 1 (20) times out while holding the lock flag of the shared I / O 6 is shown.
The OS # 1-side shared I /O driver 201 calls the OS # 1-side shared I / O lock acquisition processing unit 202 in order to access the shared I / O 6 (S701).
OS#1側共有I/O用ドライバ201が、共有I/O6にアクセスするために、OS#1側共有I/Oロック取得処理部202を呼び出す(S701)。 Next, a process when a timeout occurs will be described as an example with reference to FIG. For example, in the above example, the case where the WEB server of OS # 1 (20) times out while holding the lock flag of the shared I / O 6 is shown.
The OS # 1-side shared I /
OS#1側共有I/Oロック取得処理部202は、共有I/O用ロックフラグ30を参照し、ロックされているか否か、を判定する。
The OS # 1-side shared I / O lock acquisition processing unit 202 refers to the shared I / O lock flag 30 and determines whether or not it is locked.
図4の場合、前提条件としてロック解放状態としたため、共有I/O用ロックフラグ30をOS#1(20)が取得中である旨に変更する。
これによりOS#1(20)がロックを取得する。同時に、OS#1側共有I/Oロック取得処理部202は、タイムアウト確認手段50に「OS#1ロック中」を通知する(S702)。 In the case of FIG. 4, since the lock release state is set as a precondition, the shared I /O lock flag 30 is changed to that OS # 1 (20) is acquiring.
Thereby, OS # 1 (20) acquires the lock. At the same time, the OS # 1-side shared I / O lockacquisition processing unit 202 notifies the timeout confirmation unit 50 of “OS # 1 locked” (S702).
これによりOS#1(20)がロックを取得する。同時に、OS#1側共有I/Oロック取得処理部202は、タイムアウト確認手段50に「OS#1ロック中」を通知する(S702)。 In the case of FIG. 4, since the lock release state is set as a precondition, the shared I /
Thereby, OS # 1 (20) acquires the lock. At the same time, the OS # 1-side shared I / O lock
タイムアウト確認手段50は、OS#1(20)からロック取得が通知されたので、現在の時刻を取得し、保存する(S703)。
Since the lock acquisition is notified from the OS # 1 (20), the timeout confirmation unit 50 acquires and stores the current time (S703).
次にOS#1側共有I/O用ドライバ201は、共有I/O6に対する処理を行う(S704)。先と同様、今回の例では、Webアプリから取得要求のあった、共有I/Oの状態を取得する。
Webアプリが共有I/O6に対する処理を行うのにOS#0側共有I/O用ドライバ201が呼び出される。
OS#0側共有I/O用ドライバ201は、OS#0側共有I/Oロック取得処理部102を呼び出す(S705)。 Next, the OS # 1-side shared I /O driver 201 performs processing for the shared I / O 6 (S704). Similar to the above, in this example, the state of the shared I / O requested from the Web application is acquired.
TheOS # 0 side shared I / O driver 201 is called for the Web application to perform processing for the shared I / O 6.
TheOS # 0 side shared I / O driver 201 calls the OS # 0 side shared I / O lock acquisition processing unit 102 (S705).
Webアプリが共有I/O6に対する処理を行うのにOS#0側共有I/O用ドライバ201が呼び出される。
OS#0側共有I/O用ドライバ201は、OS#0側共有I/Oロック取得処理部102を呼び出す(S705)。 Next, the OS # 1-side shared I /
The
The
OS#0側共有I/Oロック取得処理部102は、共有I/O用ロックフラグ30を参照し、ロックされているか否か、を判定する。今回の場合は、OS#1(20)が既にロック取得状態なので、ロック取得に失敗する。
The OS # 0 side shared I / O lock acquisition processing unit 102 refers to the shared I / O lock flag 30 and determines whether or not it is locked. In this case, since OS # 1 (20) is already in the lock acquisition state, the lock acquisition fails.
ロック取得に失敗した場合、OS#0側共有I/Oロック取得処理部102は、タイムアウト確認手段50を呼出し、「タイムアウト有無確認」を行う(S706)。
If the lock acquisition fails, the OS # 0 side shared I / O lock acquisition processing unit 102 calls the time-out confirmation unit 50 and performs “time-out presence confirmation” (S706).
共有I/O用ロックフラグ30が既にロック取得状態と言うことは、図3のS603で説明したように、タイムアウト確認手段50によって、ロックされた時刻が保存されている。
That the shared I / O lock flag 30 is already in the lock acquisition state means that the time locked by the time-out confirmation unit 50 is stored as described in S603 of FIG.
タイムアウト確認手段50は、このS603で保存した時刻と現在時刻の差と、初期化時に設定したタイムアウト時間を比較し、タイムアウトが発生した否かを判断する。なお、今回の場合は、タイムアウト発生有りと判断する。
The timeout confirmation unit 50 compares the difference between the time stored in S603 and the current time with the timeout time set at the time of initialization, and determines whether or not a timeout has occurred. In this case, it is determined that a timeout has occurred.
タイムアウト確認手段50は、タイムアウトしたという結果を、OS#0側共有I/Oロック取得処理部102に返す(S707)。
The time-out confirmation unit 50 returns a result of time-out to the OS # 0-side shared I / O lock acquisition processing unit 102 (S707).
タイムアウト確認手段50からタイムアウトが有った旨を受け取ったOS#0側共有I/Oロック取得処理部102は、OS#1(20)がハングアップしたと判断し、共有I/O6の再初期化処理、および、OS#1(20)の初期化処理を行う(S708)。
共有I/Oの再初期化処理とは、例えば、OS#0(10)にて、共有I/O6のH/Wをリセットして初期化を行った上で、共有I/O用ロックフラグ30を初期値に戻すことである。
OSの再起動とは、例えば、OS#0(10)にて、OS#1用OSイメージをRAM5上にロードし、OS#1(20)用CPU3のプログラムカウンタを該OSイメージ上のOS起動アドレスに設定した上で、OS#1(20)用CPU3のリセットを行うことである。OS#1(20)の初期化処理の中で、共有I/O6のドライバ初期化処理が行われ、OS#1(20)からも共有I/O6が利用可能となる。 TheOS # 0 side shared I / O lock acquisition processing unit 102 that has received a timeout from the timeout confirmation unit 50 determines that OS # 1 (20) has hung up, and reinitializes the shared I / O6. Initialization processing and OS # 1 (20) initialization processing are performed (S708).
The shared I / O re-initialization process is performed by, for example, resetting the H / W of the shared I / O 6 in the OS # 0 (10) and performing initialization, and then the shared I / O lock flag. 30 is returned to the initial value.
The OS restart is, for example, the OS # 0 (10) loads the OS image forOS # 1 onto the RAM 5, and the OS3 on the OS image is started by the program counter of the OS3 CPU for OS # 1 (20). The CPU 3 for OS # 1 (20) is reset after setting the address. In the initialization process of OS # 1 (20), the shared I / O6 driver initialization process is performed, and the shared I / O6 can be used from OS # 1 (20).
共有I/Oの再初期化処理とは、例えば、OS#0(10)にて、共有I/O6のH/Wをリセットして初期化を行った上で、共有I/O用ロックフラグ30を初期値に戻すことである。
OSの再起動とは、例えば、OS#0(10)にて、OS#1用OSイメージをRAM5上にロードし、OS#1(20)用CPU3のプログラムカウンタを該OSイメージ上のOS起動アドレスに設定した上で、OS#1(20)用CPU3のリセットを行うことである。OS#1(20)の初期化処理の中で、共有I/O6のドライバ初期化処理が行われ、OS#1(20)からも共有I/O6が利用可能となる。 The
The shared I / O re-initialization process is performed by, for example, resetting the H / W of the shared I / O 6 in the OS # 0 (10) and performing initialization, and then the shared I / O lock flag. 30 is returned to the initial value.
The OS restart is, for example, the OS # 0 (10) loads the OS image for
以上のように、共有I/O6をロックする際、時刻も合わせて記録しておくことにより、定期的なOS間での存在確認(OS間通信)を行わずに、他方のOSハングアップを検出することが可能となる。
As described above, when the shared I / O 6 is locked, the time is also recorded so that the other OS hang-up can be performed without performing the existence check (communication between OSs) between OSs periodically. It becomes possible to detect.
これにより、ハングアップしたOSにロックされたままだった共有I/O6を使用することが可能となる。
また、ハングアップしたOSを再起動することにより、ロックされたまま使用できなくなっていたOSも使用することが可能となる。 This makes it possible to use the shared I / O 6 that has been locked to the hung-up OS.
In addition, by restarting the OS that has hung up, it becomes possible to use an OS that has been locked and cannot be used.
また、ハングアップしたOSを再起動することにより、ロックされたまま使用できなくなっていたOSも使用することが可能となる。 This makes it possible to use the shared I / O 6 that has been locked to the hung-up OS.
In addition, by restarting the OS that has hung up, it becomes possible to use an OS that has been locked and cannot be used.
このように、従来実施していた、OS間通信が不要となるため、全体のオーバヘッドが減り、産業コントローラ1の性能向上が見込めるという効果がある。
As described above, since the inter-OS communication which has been conventionally performed is not required, the overall overhead is reduced and the performance of the industrial controller 1 can be improved.
実施の形態2.
実施の形態1では、いずれかのOSが、共有I/Oを使用する際、既に他のOSによってロックされているか確認し、ロックされていた場合には、ロックされている時間がタイムアウトしているか否かを確認し、タイムアウトしていた場合には、共有I/OおよびロックしたOSを再初期化処理することで、共有I/Oを使用できるようにする方法について説明した。Embodiment 2. FIG.
In the first embodiment, when any OS uses shared I / O, it is checked whether it is already locked by another OS, and if it is locked, the locked time is timed out. In the above description, the method for enabling the shared I / O to be used by reinitializing the shared I / O and the locked OS when it has timed out.
実施の形態1では、いずれかのOSが、共有I/Oを使用する際、既に他のOSによってロックされているか確認し、ロックされていた場合には、ロックされている時間がタイムアウトしているか否かを確認し、タイムアウトしていた場合には、共有I/OおよびロックしたOSを再初期化処理することで、共有I/Oを使用できるようにする方法について説明した。
In the first embodiment, when any OS uses shared I / O, it is checked whether it is already locked by another OS, and if it is locked, the locked time is timed out. In the above description, the method for enabling the shared I / O to be used by reinitializing the shared I / O and the locked OS when it has timed out.
しかし、共有I/OをロックしたOSが、ロックした直後にハングアップしてしまった場合、共有I/Oは使用されていないにも関わらず、他のOSは、初期化時に設定したタイムアウト時間が経過するまで、使用することができない。
However, if the OS that has locked the shared I / O hangs up immediately after being locked, the other OS will not be able to use the timeout time set at initialization even though the shared I / O is not used. Cannot be used until
実施の形態1では、共有I/O6が、OS#1(20)によって既にロックされた状態において、更にOS#0(10)が共有I/O6を使用しようとした場合、タイムアウトが発生していなければ、待ち状態となる(S607、S707)。
この場合、OS#1(20)側がハングアップとなっていたとしても、共有I/O6の再初期化、および、OS#1(20)の再起動ができない。 In the first embodiment, when the shared I / O 6 is already locked by the OS # 1 (20), if the OS # 0 (10) further tries to use the shared I / O 6, a timeout has occurred. If there is not, it will be in a waiting state (S607, S707).
In this case, even if the OS # 1 (20) side is hung up, the shared I / O 6 cannot be reinitialized and the OS # 1 (20) cannot be restarted.
この場合、OS#1(20)側がハングアップとなっていたとしても、共有I/O6の再初期化、および、OS#1(20)の再起動ができない。 In the first embodiment, when the shared I / O 6 is already locked by the OS # 1 (20), if the OS # 0 (10) further tries to use the shared I / O 6, a timeout has occurred. If there is not, it will be in a waiting state (S607, S707).
In this case, even if the OS # 1 (20) side is hung up, the shared I / O 6 cannot be reinitialized and the OS # 1 (20) cannot be restarted.
本実施の形態では、共有I/O6のロックを取得する際、既に他のOSにロックされていた場合、繰り返しロックの取得を行う(ポーリングする)場合について説明する。
In the present embodiment, a description will be given of a case where, when a shared I / O 6 lock is acquired, if it is already locked by another OS, the lock is repeatedly acquired (polling).
図5は、本実施の形態における産業コントローラのソフトウェアの全体構成図である。
図5において、OS#0側共有I/Oロック取得処理部112は、共有I/O6を使用する際に、ロックされていない場合、共有I/O用ロックフラグ30を取得し「OS#0ロック中」に変更する。
そして、OS#0側共有I/Oロック取得処理部112は、タイムアウト確認手段50に、「OS#0ロック取得」を通知する。
共有I/O6を使用する際に、既にロック(ロックフラグが「OS#1ロック中」)されていた場合、タイムアウト確認手段50を呼び出し「タイムアウト有無確認」を要求する。 FIG. 5 is an overall configuration diagram of the software of the industrial controller in the present embodiment.
In FIG. 5, when using the shared I / O 6, theOS # 0 side shared I / O lock acquisition processing unit 112 acquires the shared I / O lock flag 30 and locks it to “OS # 0. Change to “Locked”.
Then, theOS # 0 side shared I / O lock acquisition processing unit 112 notifies the timeout confirmation unit 50 of “OS # 0 lock acquisition”.
When the shared I / O 6 is used, if it is already locked (the lock flag is “OS # 1 locked”), the time-out confirmation unit 50 is called to request “time-out existence confirmation”.
図5において、OS#0側共有I/Oロック取得処理部112は、共有I/O6を使用する際に、ロックされていない場合、共有I/O用ロックフラグ30を取得し「OS#0ロック中」に変更する。
そして、OS#0側共有I/Oロック取得処理部112は、タイムアウト確認手段50に、「OS#0ロック取得」を通知する。
共有I/O6を使用する際に、既にロック(ロックフラグが「OS#1ロック中」)されていた場合、タイムアウト確認手段50を呼び出し「タイムアウト有無確認」を要求する。 FIG. 5 is an overall configuration diagram of the software of the industrial controller in the present embodiment.
In FIG. 5, when using the shared I / O 6, the
Then, the
When the shared I / O 6 is used, if it is already locked (the lock flag is “
タイムアウト確認手段50からタイムアウトが発生したと応答された場合には、共有I/O6の初期化処理、および、OS#1(20)の初期化を行う。
タイムアウト確認手段50からタイムアウトが発生していないと応答された場合には、ロックが解放されるか、タイムアウト有りと応答されるまで、タイムアウト確認手段50を繰り返し呼び出す。 If the timeout confirmation means 50 responds that a timeout has occurred, the shared I / O 6 is initialized and the OS # 1 (20) is initialized.
If the time-out confirmation means 50 responds that a time-out has not occurred, the time-out confirmation means 50 is called repeatedly until the lock is released or a time-out is answered.
タイムアウト確認手段50からタイムアウトが発生していないと応答された場合には、ロックが解放されるか、タイムアウト有りと応答されるまで、タイムアウト確認手段50を繰り返し呼び出す。 If the timeout confirmation means 50 responds that a timeout has occurred, the shared I / O 6 is initialized and the OS # 1 (20) is initialized.
If the time-out confirmation means 50 responds that a time-out has not occurred, the time-out confirmation means 50 is called repeatedly until the lock is released or a time-out is answered.
OS#1側共有I/Oロック取得処理212は、共有I/O6を使用する際に、ロックされていない場合、共有I/O用ロックフラグ30を取得し「OS#1ロック中」に変更する。そして、OS#1側共有I/Oロック取得処理212は、タイムアウト確認手段50に、「OS#1ロック取得」を通知する。
共有I/O6を使用する際に、既にロック(ロックフラグが「OS#0ロック中」)されていた場合、タイムアウト確認手段50を呼び出し「タイムアウト有無確認」を要求する。 The OS # 1-side shared I / Olock acquisition process 212 acquires the shared I / O lock flag 30 when the shared I / O 6 is not locked, and changes it to “OS # 1 locked”. To do. Then, the OS # 1-side shared I / O lock acquisition process 212 notifies the timeout confirmation unit 50 of “OS # 1 lock acquisition”.
When the shared I / O 6 is used, if it is already locked (the lock flag is “OS # 0 locked”), the time-out confirmation unit 50 is called to request “confirmation of time-out”.
共有I/O6を使用する際に、既にロック(ロックフラグが「OS#0ロック中」)されていた場合、タイムアウト確認手段50を呼び出し「タイムアウト有無確認」を要求する。 The OS # 1-side shared I / O
When the shared I / O 6 is used, if it is already locked (the lock flag is “
タイムアウト確認手段50からタイムアウトが発生したと応答された場合には、共有I/O6の初期化処理、および、OS#0(10)の初期化を行う。
タイムアウト確認手段50からタイムアウトが発生していないと応答された場合には、ロックが解放されるか、タイムアウト有りと応答されるまで、タイムアウト確認手段50を繰り返し呼び出す。 When the timeout confirmation means 50 responds that a timeout has occurred, the shared I / O 6 is initialized and OS # 0 (10) is initialized.
If the time-out confirmation means 50 responds that a time-out has not occurred, the time-out confirmation means 50 is called repeatedly until the lock is released or a time-out is answered.
タイムアウト確認手段50からタイムアウトが発生していないと応答された場合には、ロックが解放されるか、タイムアウト有りと応答されるまで、タイムアウト確認手段50を繰り返し呼び出す。 When the timeout confirmation means 50 responds that a timeout has occurred, the shared I / O 6 is initialized and OS # 0 (10) is initialized.
If the time-out confirmation means 50 responds that a time-out has not occurred, the time-out confirmation means 50 is called repeatedly until the lock is released or a time-out is answered.
図5において、図2と同一の符号は、同一または相当する部分を表しており、実施の形態1で用いた図2で記載したものと同じ動作をする。
5, the same reference numerals as those in FIG. 2 represent the same or corresponding parts, and the same operations as those described in FIG. 2 used in the first embodiment are performed.
次に図6を用いて、本実施の形態2における全体動作について説明する。
実施の形態1の時と同様、図6ではタイムアウトが無かった場合を例に説明する。
なお、本実施の形態2における動作については、実施の形態1で述べた手順と同じであり、以下に実施の形態1で説明した動作との差異についてのみ説明する。 Next, the overall operation in the second embodiment will be described with reference to FIG.
As in the case of the first embodiment, FIG. 6 illustrates an example where there is no timeout.
The operation in the second embodiment is the same as the procedure described in the first embodiment, and only the difference from the operation described in the first embodiment will be described below.
実施の形態1の時と同様、図6ではタイムアウトが無かった場合を例に説明する。
なお、本実施の形態2における動作については、実施の形態1で述べた手順と同じであり、以下に実施の形態1で説明した動作との差異についてのみ説明する。 Next, the overall operation in the second embodiment will be described with reference to FIG.
As in the case of the first embodiment, FIG. 6 illustrates an example where there is no timeout.
The operation in the second embodiment is the same as the procedure described in the first embodiment, and only the difference from the operation described in the first embodiment will be described below.
OS#0側共有I/Oロック取得処理112は、タイムアウト無しが通知されたため、再度タイムアウト確認手段50を呼び出す。タイムアウト無しの場合はロックが解放されるか、タイムアウト有りと応答されるまで、タイムアウト確認手段50を繰り返し呼び出す(S614)。
Since the OS # 0 side shared I / O lock acquisition process 112 is notified of the absence of timeout, it calls the timeout confirmation unit 50 again. If there is no time-out, the time-out confirmation unit 50 is repeatedly called until the lock is released or it is answered that there is a time-out (S614).
なお、タイムアウトが発生したとの応答があった場合、OS#0側共有I/Oロック取得処理112およびOS#1側共有I/Oロック取得処理212は、実施の形態1のOS#0側共有I/Oロック取得処理部102およびOS#1側共有I/Oロック取得処理部202と同じ動作をする。
When there is a response that a timeout has occurred, the OS # 0 side shared I / O lock acquisition process 112 and the OS # 1 side shared I / O lock acquisition process 212 are performed according to the OS # 0 side of the first embodiment. The same operation as the shared I / O lock acquisition processing unit 102 and the OS # 1-side shared I / O lock acquisition processing unit 202 is performed.
以上のように、共有I/Oのロックを取得する際のみ、ポーリング動作にてタイムアウトを確認するようにしたので、共有I/OをロックしたOSがタイムアウトする前にハングアップした場合でも、共有I/O及びハングアップしたOSの再起動を行うことが可能となる。
また、OSロック取得を試みている場合のみポーリングを行っているため、通常処理時は産業コントローラにて通常行われている処理に影響を及ぼさずに済む。 As described above, since the timeout is confirmed by the polling operation only when the shared I / O lock is acquired, even if the OS that locked the shared I / O hangs up before the timeout, the sharing is performed. It becomes possible to restart the I / O and the hung OS.
Further, since polling is performed only when OS lock acquisition is attempted, normal processing does not affect processing normally performed by the industrial controller.
また、OSロック取得を試みている場合のみポーリングを行っているため、通常処理時は産業コントローラにて通常行われている処理に影響を及ぼさずに済む。 As described above, since the timeout is confirmed by the polling operation only when the shared I / O lock is acquired, even if the OS that locked the shared I / O hangs up before the timeout, the sharing is performed. It becomes possible to restart the I / O and the hung OS.
Further, since polling is performed only when OS lock acquisition is attempted, normal processing does not affect processing normally performed by the industrial controller.
実施の形態3.
実施の形態2では、共有I/Oのロックを取得する際、既に他のOSにロックされていた場合、繰り返しロックの取得を行う(ポーリングする)場合について説明した。しかし、ポーリングを行っている間、処理負荷が高くなる。
本実施の形態では、タイムアウトカウント用のタイマカウンタを追加した場合について説明する。
図7は、本実施の形態における産業コントローラのソフトウェアの全体構成図である。
図7において、タイムアウト確認手段51は、OSから「ロック取得」が通知された場合、現在の時刻を取得し、保存する。
タイムアウト確認手段51は、OSから「タイムアウト有無確認」が要求されたら、ロック取得通知時に保存した時刻と、現在の時刻からタイムアウトの有無を判定する。
タイムアウト確認手段51は、「ロック解放」が通知されたら、保存した時刻を破棄する。
また、タイムアウト確認手段51は、OSから「タイムアウト有無確認」が要求された際、タイムアウト無しと判定した場合、タイムアウトまでカウンタをカウントアップし、タイムアウト時間になったら、「タイムアウト有無確認」を要求したOSに対し、タイムアウト有りを通知する。
タイムアウト確認手段51は、タイムアウト時間前に「ロック解放」が通知され場合、タイムアウトのカウントアップを中止する。Embodiment 3 FIG.
In the second embodiment, when the shared I / O lock is acquired, the lock is repeatedly acquired (polled) when it is already locked by another OS. However, the processing load increases during polling.
In the present embodiment, a case where a timer counter for time-out counting is added will be described.
FIG. 7 is an overall configuration diagram of software of the industrial controller in the present embodiment.
In FIG. 7, the time-out confirmation means 51 acquires and stores the current time when “Obtain lock” is notified from the OS.
The time-out confirmation unit 51 determines whether or not there is a time-out based on the time stored at the time of lock acquisition notification and the current time when the OS requests “time-out confirmation”.
The time-out confirmation unit 51 discards the stored time when “lock release” is notified.
Further, thetimeout confirmation unit 51 counts up the counter until timeout when it is determined that there is no timeout when “OS timeout confirmation” is requested from the OS, and requests “timeout presence confirmation” when the timeout time is reached. Notify the OS that there is a timeout.
The time-out confirmation unit 51 stops counting up the time-out when “lock release” is notified before the time-out period.
実施の形態2では、共有I/Oのロックを取得する際、既に他のOSにロックされていた場合、繰り返しロックの取得を行う(ポーリングする)場合について説明した。しかし、ポーリングを行っている間、処理負荷が高くなる。
本実施の形態では、タイムアウトカウント用のタイマカウンタを追加した場合について説明する。
図7は、本実施の形態における産業コントローラのソフトウェアの全体構成図である。
図7において、タイムアウト確認手段51は、OSから「ロック取得」が通知された場合、現在の時刻を取得し、保存する。
タイムアウト確認手段51は、OSから「タイムアウト有無確認」が要求されたら、ロック取得通知時に保存した時刻と、現在の時刻からタイムアウトの有無を判定する。
タイムアウト確認手段51は、「ロック解放」が通知されたら、保存した時刻を破棄する。
また、タイムアウト確認手段51は、OSから「タイムアウト有無確認」が要求された際、タイムアウト無しと判定した場合、タイムアウトまでカウンタをカウントアップし、タイムアウト時間になったら、「タイムアウト有無確認」を要求したOSに対し、タイムアウト有りを通知する。
タイムアウト確認手段51は、タイムアウト時間前に「ロック解放」が通知され場合、タイムアウトのカウントアップを中止する。
In the second embodiment, when the shared I / O lock is acquired, the lock is repeatedly acquired (polled) when it is already locked by another OS. However, the processing load increases during polling.
In the present embodiment, a case where a timer counter for time-out counting is added will be described.
FIG. 7 is an overall configuration diagram of software of the industrial controller in the present embodiment.
In FIG. 7, the time-out confirmation means 51 acquires and stores the current time when “Obtain lock” is notified from the OS.
The time-
The time-
Further, the
The time-
図7において、図2と同一の符号は、同一または相当する部分を表しており、実施の形態1で用いた図2で記載したものと同じ動作をする。
次に図8と図9を用いて、本実施の形態3における全体動作について説明する。
実施の形態1の時と同様、図8ではタイムアウトが無かった場合を例に説明する。
なお、本実施の形態3における動作については、実施の形態1で述べた手順と同じであり、以下に実施の形態1で説明した図3の動作との差異についてのみ説明する。 7, the same reference numerals as those in FIG. 2 represent the same or corresponding parts, and the same operations as those described in FIG. 2 used in the first embodiment are performed.
Next, the overall operation in the third embodiment will be described with reference to FIGS.
As in the case of the first embodiment, FIG. 8 illustrates an example where there is no timeout.
The operation in the third embodiment is the same as the procedure described in the first embodiment, and only the difference from the operation in FIG. 3 described in the first embodiment will be described below.
次に図8と図9を用いて、本実施の形態3における全体動作について説明する。
実施の形態1の時と同様、図8ではタイムアウトが無かった場合を例に説明する。
なお、本実施の形態3における動作については、実施の形態1で述べた手順と同じであり、以下に実施の形態1で説明した図3の動作との差異についてのみ説明する。 7, the same reference numerals as those in FIG. 2 represent the same or corresponding parts, and the same operations as those described in FIG. 2 used in the first embodiment are performed.
Next, the overall operation in the third embodiment will be described with reference to FIGS.
As in the case of the first embodiment, FIG. 8 illustrates an example where there is no timeout.
The operation in the third embodiment is the same as the procedure described in the first embodiment, and only the difference from the operation in FIG. 3 described in the first embodiment will be described below.
タイムアウト確認手段50は、S603で保存した時刻と現在時刻の差と、初期化時に設定したタイムアウト時間を比較し、タイムアウト発生の有無を判断する。
今回の場合は、タイムアウト発生無しと判断する。この場合、タイムアウト確認手段50は、タイムアウトが発生しなかった旨を、OS#0側共有I/Oロック処理に返す。
さらに、タイムアウト確認手段50は、タイムアウトまでタイマカウンタ8をカウントアップし、タイムアウト時間になったら、「タイムアウト有無確認」を要求したOSに対し、タイムアウト有りを通知する(S615)。 Thetimeout confirmation unit 50 compares the difference between the time stored in S603 and the current time with the timeout time set at the time of initialization, and determines whether or not a timeout has occurred.
In this case, it is determined that no timeout has occurred. In this case, thetimeout confirmation unit 50 returns to the OS # 0 shared I / O lock process that the timeout has not occurred.
Further, the time-out confirmation unit 50 counts up the timer counter 8 until time-out, and when the time-out time is reached, the time-out confirmation unit 50 notifies the OS that has requested “time-out existence confirmation” that there is time-out (S615).
今回の場合は、タイムアウト発生無しと判断する。この場合、タイムアウト確認手段50は、タイムアウトが発生しなかった旨を、OS#0側共有I/Oロック処理に返す。
さらに、タイムアウト確認手段50は、タイムアウトまでタイマカウンタ8をカウントアップし、タイムアウト時間になったら、「タイムアウト有無確認」を要求したOSに対し、タイムアウト有りを通知する(S615)。 The
In this case, it is determined that no timeout has occurred. In this case, the
Further, the time-
タイムアウト確認手段50は、ロック解放が通知されると、S603で保持していた時刻を破棄し、OS#1側共有I/Oロック解放処理に処理を返す。
さらに、タイマカウンタ8のカウントアップを停止し、リセットする(S616)。 When the time-out confirmation unit 50 is notified of the lock release, the time-out confirmation unit 50 discards the time held in S603 and returns the process to the OS # 1-side shared I / O lock release process.
Further, the count-up of the timer counter 8 is stopped and reset (S616).
さらに、タイマカウンタ8のカウントアップを停止し、リセットする(S616)。 When the time-
Further, the count-up of the timer counter 8 is stopped and reset (S616).
次に、図9を用いて、先に共有I/O6をロックしたOSがタイムアウトする前にハングアップした場合を例に説明する。
なお、本実施の形態3における動作については、実施の形態1で述べた手順と同じであり、以下に実施の形態1で説明した図4の動作との差異についてのみ説明する。 Next, the case where the OS that previously locked the shared I / O 6 hangs up before timing out will be described as an example with reference to FIG.
The operation in the third embodiment is the same as the procedure described in the first embodiment, and only the difference from the operation in FIG. 4 described in the first embodiment will be described below.
なお、本実施の形態3における動作については、実施の形態1で述べた手順と同じであり、以下に実施の形態1で説明した図4の動作との差異についてのみ説明する。 Next, the case where the OS that previously locked the shared I / O 6 hangs up before timing out will be described as an example with reference to FIG.
The operation in the third embodiment is the same as the procedure described in the first embodiment, and only the difference from the operation in FIG. 4 described in the first embodiment will be described below.
タイムアウト確認手段50は、図3のS603で保存した時刻と現在時刻の差と、初期化時に設定したタイムアウト時間を比較し、タイムアウト発生の有無を判断する。
今回の場合は、タイムアウト発生無しと判断し、タイマカウンタ8の設定をタイムアウトが発生する時刻に設定する。
その後、タイマカウンタ8は、タイムアウトすると、タイムアウト確認手段50に対し、タイムアウトを通知する。通知を受けたタイムアウト通知手段50は、OS#0側共有I/Oロック取得処理部102に返す(S709)。 Thetimeout confirmation unit 50 compares the difference between the time stored in S603 of FIG. 3 and the current time with the timeout time set at the time of initialization, and determines whether or not a timeout has occurred.
In this case, it is determined that no timeout has occurred, and the timer counter 8 is set to the time when the timeout occurs.
Thereafter, when the timer counter 8 times out, it notifies the timeout confirmation means 50 of the timeout. Upon receiving the notification, the timeout notification means 50 returns it to theOS # 0 side shared I / O lock acquisition processing unit 102 (S709).
今回の場合は、タイムアウト発生無しと判断し、タイマカウンタ8の設定をタイムアウトが発生する時刻に設定する。
その後、タイマカウンタ8は、タイムアウトすると、タイムアウト確認手段50に対し、タイムアウトを通知する。通知を受けたタイムアウト通知手段50は、OS#0側共有I/Oロック取得処理部102に返す(S709)。 The
In this case, it is determined that no timeout has occurred, and the timer counter 8 is set to the time when the timeout occurs.
Thereafter, when the timer counter 8 times out, it notifies the timeout confirmation means 50 of the timeout. Upon receiving the notification, the timeout notification means 50 returns it to the
以上のように、共有I/O6に対するロックを行う際、タイマカウンタ8を動作させ、タイムアウト発生時にタイムアウトを通知させることにより、共有I/Oロックフラグ30の解放待ちをしているOS側は、他の処理が実行可能となる。
As described above, when the shared I / O 6 is locked, the timer counter 8 is operated, and when the timeout occurs, the OS side waiting for the release of the shared I / O lock flag 30 is notified of the timeout. Other processing can be executed.
実施の形態4.
本実施の形態では、産業コントローラ1の初期化の状況と設定とを表示可能な表示装置を追加した場合について説明する。
図10は、本実施の形態における産業コントローラのシステム構成図の一例である。図10において、産業コントローラ1は、表示装置9に接続されている。ここでは、通信モジュール7を介して接続されている例について説明する。
表示装置9は、共有I/O6に対するタイムアウト時間の表示と設定を可能とする装置
である。なお、タイムアウト時間は、共有I/O6がロックされてからの経過時間であってもよいし、タイムアウトと判定されるまでの残り時間であってもよい。
図11は、表示装置9の内部構成図の一例である。
図11において、タイムアウト時間表示部91は、共有I/O6のタイムアウト時間を表示する。タイムアウト時間は、7セグメントディスプレイ (seven-segment display)や液晶等で表示を行っても良い。
タイムアウト時間設定部92は、共有I/O6のタイムアウト時間を設定する。タイムアウト時間の設定は、表示装置9に内蔵または外部に接続されたキーボードやタッチパネル等(図示せず)で行っても良い。
また、表示装置9に記憶媒体を読み取る装置を備えておき、タイムアウト時間を記録した媒体を挿入することで設定しても良い。
表示装置9は、専用のハードウェアおよび専用のハードウェア上で動作するプログラムであってもよいし、パソコン上で動作するプログラム(タイムアウト時間表示部の表示先はパソコンのディスプレイ)であってもよい。
次に、図12を用いて、本実施の形態4における動作について説明する。Embodiment 4 FIG.
In the present embodiment, a case will be described in which a display device capable of displaying the initialization status and settings of theindustrial controller 1 is added.
FIG. 10 is an example of a system configuration diagram of the industrial controller in the present embodiment. In FIG. 10, theindustrial controller 1 is connected to the display device 9. Here, the example connected via the communication module 7 is demonstrated.
Thedisplay device 9 is a device that enables display and setting of a timeout time for the shared I / O 6. The timeout time may be an elapsed time after the shared I / O 6 is locked, or may be a remaining time until it is determined as timeout.
FIG. 11 is an example of an internal configuration diagram of thedisplay device 9.
In FIG. 11, a timeouttime display unit 91 displays the timeout time of the shared I / O 6. The timeout time may be displayed on a 7-segment display or a liquid crystal display.
The timeouttime setting unit 92 sets a timeout time for the shared I / O 6. The timeout time may be set by a keyboard or a touch panel (not shown) built in the display device 9 or connected to the outside.
Alternatively, thedisplay device 9 may be provided with a device for reading a storage medium, and the time-out time may be set by inserting a medium.
Thedisplay device 9 may be a dedicated hardware and a program that operates on the dedicated hardware, or may be a program that operates on a personal computer (the display destination of the timeout time display unit is a personal computer display). .
Next, the operation in the fourth embodiment will be described with reference to FIG.
本実施の形態では、産業コントローラ1の初期化の状況と設定とを表示可能な表示装置を追加した場合について説明する。
図10は、本実施の形態における産業コントローラのシステム構成図の一例である。図10において、産業コントローラ1は、表示装置9に接続されている。ここでは、通信モジュール7を介して接続されている例について説明する。
表示装置9は、共有I/O6に対するタイムアウト時間の表示と設定を可能とする装置
である。なお、タイムアウト時間は、共有I/O6がロックされてからの経過時間であってもよいし、タイムアウトと判定されるまでの残り時間であってもよい。
図11は、表示装置9の内部構成図の一例である。
図11において、タイムアウト時間表示部91は、共有I/O6のタイムアウト時間を表示する。タイムアウト時間は、7セグメントディスプレイ (seven-segment display)や液晶等で表示を行っても良い。
タイムアウト時間設定部92は、共有I/O6のタイムアウト時間を設定する。タイムアウト時間の設定は、表示装置9に内蔵または外部に接続されたキーボードやタッチパネル等(図示せず)で行っても良い。
また、表示装置9に記憶媒体を読み取る装置を備えておき、タイムアウト時間を記録した媒体を挿入することで設定しても良い。
表示装置9は、専用のハードウェアおよび専用のハードウェア上で動作するプログラムであってもよいし、パソコン上で動作するプログラム(タイムアウト時間表示部の表示先はパソコンのディスプレイ)であってもよい。
次に、図12を用いて、本実施の形態4における動作について説明する。
In the present embodiment, a case will be described in which a display device capable of displaying the initialization status and settings of the
FIG. 10 is an example of a system configuration diagram of the industrial controller in the present embodiment. In FIG. 10, the
The
FIG. 11 is an example of an internal configuration diagram of the
In FIG. 11, a timeout
The timeout
Alternatively, the
The
Next, the operation in the fourth embodiment will be described with reference to FIG.
まず、タイムアウト時間設定部92にて、設定したいタイムアウト時間を受け付ける(S901)。なお、タイムアウト時間を受け付けなかった場合には、初期化時に設定された値を用いるようにしても良いし、前回設定された値を用いるようにしても良い。
次に、タイムアウト時間設定部92は、タイムアウト時間表示部91に対し、タイムアウト時間の表示を指示する(S902)。
設定された値を通信モジュール(図示せず)を介して、産業コントローラ1へ渡す。産業コントローラ1は、渡された値をタイムアウト値とし、処理を行う(S903)。 First, the timeouttime setting unit 92 receives a timeout time to be set (S901). If the timeout time is not accepted, the value set at the initialization may be used, or the value set last time may be used.
Next, the timeouttime setting unit 92 instructs the timeout time display unit 91 to display the timeout time (S902).
The set value is passed to theindustrial controller 1 via a communication module (not shown). The industrial controller 1 sets the passed value as a timeout value and performs processing (S903).
次に、タイムアウト時間設定部92は、タイムアウト時間表示部91に対し、タイムアウト時間の表示を指示する(S902)。
設定された値を通信モジュール(図示せず)を介して、産業コントローラ1へ渡す。産業コントローラ1は、渡された値をタイムアウト値とし、処理を行う(S903)。 First, the timeout
Next, the timeout
The set value is passed to the
以上のように、産業コントローラ1の初期化時に、共有I/O6のタイムアウト時間の表示と設定を可能としたので、ユーザは共有I/Oロックフラグのタイムアウト時間を設定ことが可能となり、システムの適用先が要求する応答時間に応じた設定が可能となる。
As described above, since the timeout of the shared I / O 6 can be displayed and set when the industrial controller 1 is initialized, the user can set the timeout of the shared I / O lock flag. Setting according to the response time requested by the application destination is possible.
なお、本実施の形態では、産業コントローラの起動前に設定する例について説明したが、産業コントローラの起動中にタイムアウト時間の表示および設定変更を行ってもよいし、設定が完了した後、表示装置9を取り外してもよい。
なお、ユーザからタイムアウト時間が設定されなかった場合は、デフォルトの値が設定、表示されている。また、S903にて、ユーザが産業コントローラの起動を行うようにしたが、タイムアウト時間設定部の設定に同期して、自動的に、産業コントローラの起動を行ってもよい。
また、実施の形態2、実施の形態3と組み合わせてもよい。 In the present embodiment, the example of setting before starting the industrial controller has been described. However, the timeout time may be displayed and the setting may be changed during startup of the industrial controller. 9 may be removed.
If the timeout time is not set by the user, a default value is set and displayed. In S903, the user starts the industrial controller. However, the industrial controller may be automatically started in synchronization with the setting of the timeout time setting unit.
Moreover, you may combine withEmbodiment 2 and Embodiment 3.
なお、ユーザからタイムアウト時間が設定されなかった場合は、デフォルトの値が設定、表示されている。また、S903にて、ユーザが産業コントローラの起動を行うようにしたが、タイムアウト時間設定部の設定に同期して、自動的に、産業コントローラの起動を行ってもよい。
また、実施の形態2、実施の形態3と組み合わせてもよい。 In the present embodiment, the example of setting before starting the industrial controller has been described. However, the timeout time may be displayed and the setting may be changed during startup of the industrial controller. 9 may be removed.
If the timeout time is not set by the user, a default value is set and displayed. In S903, the user starts the industrial controller. However, the industrial controller may be automatically started in synchronization with the setting of the timeout time setting unit.
Moreover, you may combine with
実施の形態5.
本実施の形態では、実施の形態4に記載の表示装置に対し、タイムアウト発生履歴の出力機能を追加した場合について説明する。Embodiment 5 FIG.
In this embodiment, a case where a time-out occurrence history output function is added to the display device described inEmbodiment 4 will be described.
本実施の形態では、実施の形態4に記載の表示装置に対し、タイムアウト発生履歴の出力機能を追加した場合について説明する。
In this embodiment, a case where a time-out occurrence history output function is added to the display device described in
図13は、本実施の形態における表示装置9の内部構成図の一例である。
図13において、タイムアウト発生履歴表示部93は、共有I/O6のロックに対するタイムアウトが発生した場合に、履歴を表示する。図14に表示される履歴の例を示す。図14では、タイムアウトが発生したロックのID、タイムアウトが発生した時刻、そしてタイムアウトとなった要因を履歴とした例を示している。 FIG. 13 is an example of an internal configuration diagram of thedisplay device 9 in the present embodiment.
In FIG. 13, a timeout occurrencehistory display unit 93 displays a history when a timeout occurs for the shared I / O 6 lock. An example of the history displayed in FIG. 14 is shown. FIG. 14 shows an example in which the ID of the lock in which the timeout has occurred, the time at which the timeout has occurred, and the cause of the timeout as a history.
図13において、タイムアウト発生履歴表示部93は、共有I/O6のロックに対するタイムアウトが発生した場合に、履歴を表示する。図14に表示される履歴の例を示す。図14では、タイムアウトが発生したロックのID、タイムアウトが発生した時刻、そしてタイムアウトとなった要因を履歴とした例を示している。 FIG. 13 is an example of an internal configuration diagram of the
In FIG. 13, a timeout occurrence
タイムアウト発生履歴表示指示部94は、表示装置9に内蔵もしくは外部に接続されたボタンやタッチパネルであり、ユーザの操作に応じてタイムアウトの発生履歴を表示部に表示する。
図13において、図11と同一の符号は、同一または相当する部分を表しており、実施の形態4で用いた図11で記載したものと同じ動作をする。
図15は、本実施の形態における産業コントローラのソフトウェアの全体構成図である。
図15において、タイムアウト発生履歴記憶部60は、タイムアウト確認手段50がタイムアウトと判定した際に、共有I/Oロックフラグ30の内容とタイムアウトが発生した時間を例えばメモリ上に記録する。さらに、表示装置9に対し、本内容を通知することにより、表示装置9は、タイムアウトが発生した時刻、そしてタイムアウトとなった要因を表示可能とする。 The timeout occurrence historydisplay instructing unit 94 is a button or a touch panel built in the display device 9 or connected to the outside, and displays a timeout occurrence history on the display unit according to a user operation.
13, the same reference numerals as those in FIG. 11 represent the same or corresponding parts, and the same operations as those described in FIG. 11 used in the fourth embodiment are performed.
FIG. 15 is an overall configuration diagram of the software of the industrial controller in the present embodiment.
In FIG. 15, when thetimeout confirmation unit 50 determines that a timeout has occurred, the timeout occurrence history storage unit 60 records the contents of the shared I / O lock flag 30 and the time when the timeout has occurred, for example, on a memory. Further, by notifying the display device 9 of this content, the display device 9 can display the time when the timeout occurred and the cause of the timeout.
図13において、図11と同一の符号は、同一または相当する部分を表しており、実施の形態4で用いた図11で記載したものと同じ動作をする。
図15は、本実施の形態における産業コントローラのソフトウェアの全体構成図である。
図15において、タイムアウト発生履歴記憶部60は、タイムアウト確認手段50がタイムアウトと判定した際に、共有I/Oロックフラグ30の内容とタイムアウトが発生した時間を例えばメモリ上に記録する。さらに、表示装置9に対し、本内容を通知することにより、表示装置9は、タイムアウトが発生した時刻、そしてタイムアウトとなった要因を表示可能とする。 The timeout occurrence history
13, the same reference numerals as those in FIG. 11 represent the same or corresponding parts, and the same operations as those described in FIG. 11 used in the fourth embodiment are performed.
FIG. 15 is an overall configuration diagram of the software of the industrial controller in the present embodiment.
In FIG. 15, when the
図15において、図2と同一の符号は、同一または相当する部分を表しており、実施の形態1で用いた図2で記載したものと同じ動作をする。
次に図16を用いて、本実施の形態5における全体動作について説明する。
実施の形態1の時と同様、図16ではタイムアウトが発生した場合を例に説明する。
なお、本実施の形態5における動作については、実施の形態1で述べた手順と同じであり、以下に実施の形態1で説明した図4の動作との差異についてのみ説明する。 15, the same reference numerals as those in FIG. 2 represent the same or corresponding parts, and the same operations as those described in FIG. 2 used in the first embodiment are performed.
Next, the overall operation in the fifth embodiment will be described with reference to FIG.
As in the case of the first embodiment, FIG. 16 illustrates an example in which a timeout occurs.
The operation in the fifth embodiment is the same as the procedure described in the first embodiment, and only the difference from the operation in FIG. 4 described in the first embodiment will be described below.
次に図16を用いて、本実施の形態5における全体動作について説明する。
実施の形態1の時と同様、図16ではタイムアウトが発生した場合を例に説明する。
なお、本実施の形態5における動作については、実施の形態1で述べた手順と同じであり、以下に実施の形態1で説明した図4の動作との差異についてのみ説明する。 15, the same reference numerals as those in FIG. 2 represent the same or corresponding parts, and the same operations as those described in FIG. 2 used in the first embodiment are performed.
Next, the overall operation in the fifth embodiment will be described with reference to FIG.
As in the case of the first embodiment, FIG. 16 illustrates an example in which a timeout occurs.
The operation in the fifth embodiment is the same as the procedure described in the first embodiment, and only the difference from the operation in FIG. 4 described in the first embodiment will be described below.
OS#0側共有I/Oロック取得処理部102は、タイムアウト有りとなったため、OS#1(20)がハングアップしたと判断し、タイムアウト発生履歴記憶部60に、共有I/O用ロックフラグ30の内容と発生時間を記録する。
OS#0側共有I/Oロック取得処理部102は、共有I/Oの再初期化処理、および、OS#1の初期化処理を行う(S710)。
タイムアウト発生履歴指示部94に対し、履歴の表示が指示された場合、タイムアウト発生履歴表示部93にて、タイムアウトの履歴が表示される。 The OS # 0-side shared I / O lockacquisition processing unit 102 determines that OS # 1 (20) has hung up because of a timeout, and stores the shared I / O lock flag in the timeout occurrence history storage unit 60. Record 30 contents and time of occurrence.
TheOS # 0 side shared I / O lock acquisition processing unit 102 performs shared I / O reinitialization processing and OS # 1 initialization processing (S710).
When a history display is instructed to the timeout occurrencehistory instruction unit 94, the timeout occurrence history display unit 93 displays a timeout history.
OS#0側共有I/Oロック取得処理部102は、共有I/Oの再初期化処理、および、OS#1の初期化処理を行う(S710)。
タイムアウト発生履歴指示部94に対し、履歴の表示が指示された場合、タイムアウト発生履歴表示部93にて、タイムアウトの履歴が表示される。 The OS # 0-side shared I / O lock
The
When a history display is instructed to the timeout occurrence
上記のように、表示装置9にて共有I/O6に関するタイムアウト発生を表示するようにしたので、ユーザはタイムアウトの発生に応じた迅速な対応が可能となる。
なお、上の例では、表示機上のボタン等により、発生履歴を表示するようにしたが、タイムアウトの発生に応じて、即座に表示するようにしてもよい。
また、実施の形態2、実施の形態3と組み合わせてもよい。 As described above, since the occurrence of timeout related to the shared I / O 6 is displayed on thedisplay device 9, the user can quickly respond to the occurrence of timeout.
In the above example, the occurrence history is displayed by using a button on the display device or the like, but may be displayed immediately in response to occurrence of a timeout.
Moreover, you may combine withEmbodiment 2 and Embodiment 3.
なお、上の例では、表示機上のボタン等により、発生履歴を表示するようにしたが、タイムアウトの発生に応じて、即座に表示するようにしてもよい。
また、実施の形態2、実施の形態3と組み合わせてもよい。 As described above, since the occurrence of timeout related to the shared I / O 6 is displayed on the
In the above example, the occurrence history is displayed by using a button on the display device or the like, but may be displayed immediately in response to occurrence of a timeout.
Moreover, you may combine with
実施の形態6.
本実施の形態では、産業コントローラ1が共有I/O6を有しない場合について説明する。
図17は、本実施の形態における産業コントローラのソフトウェアの全体構成図である。
図17において、共有I/Oシミュレーション部70は、共有I/Oドライバからの共有I/Oシミュレーション部へのアクセスに応じて、共有I/Oをシミュレーションする。
図17において、図2と同一の符号は、同一または相当する部分を表しており、実施の形態1で用いた図2で記載したものと同じ動作をする。
ただし、OS#0側共有I/O用ドライバ101及びOS#1側共有I/O用ドライバ102は、共有I/O6ではなく、共有I/Oシミュレーション部70に対し、アクセスを行うものとする。 Embodiment 6 FIG.
In the present embodiment, a case where theindustrial controller 1 does not have the shared I / O 6 will be described.
FIG. 17 is an overall configuration diagram of software of the industrial controller in the present embodiment.
In FIG. 17, a shared I /O simulation unit 70 simulates shared I / O in response to access from the shared I / O driver to the shared I / O simulation unit.
17, the same reference numerals as those in FIG. 2 represent the same or corresponding parts, and the same operations as those described in FIG. 2 used in the first embodiment are performed.
However, theOS # 0 side shared I / O driver 101 and the OS # 1 side shared I / O driver 102 access the shared I / O simulation unit 70 instead of the shared I / O6. .
本実施の形態では、産業コントローラ1が共有I/O6を有しない場合について説明する。
図17は、本実施の形態における産業コントローラのソフトウェアの全体構成図である。
図17において、共有I/Oシミュレーション部70は、共有I/Oドライバからの共有I/Oシミュレーション部へのアクセスに応じて、共有I/Oをシミュレーションする。
図17において、図2と同一の符号は、同一または相当する部分を表しており、実施の形態1で用いた図2で記載したものと同じ動作をする。
ただし、OS#0側共有I/O用ドライバ101及びOS#1側共有I/O用ドライバ102は、共有I/O6ではなく、共有I/Oシミュレーション部70に対し、アクセスを行うものとする。 Embodiment 6 FIG.
In the present embodiment, a case where the
FIG. 17 is an overall configuration diagram of software of the industrial controller in the present embodiment.
In FIG. 17, a shared I /
17, the same reference numerals as those in FIG. 2 represent the same or corresponding parts, and the same operations as those described in FIG. 2 used in the first embodiment are performed.
However, the
次に図18と図19を用いて、本実施の形態6における全体動作について説明する。
実施の形態1の時と同様、図18では、タイムアウトが無かった場合を例に説明する。
なお、本実施の形態6における動作については、実施の形態1で述べた手順と同じであり、以下に実施の形態1で説明した図3の動作との差異についてのみ説明する。 Next, the overall operation in the sixth embodiment will be described with reference to FIGS.
As in the case of the first embodiment, FIG. 18 illustrates a case where there is no timeout.
The operation in the sixth embodiment is the same as the procedure described in the first embodiment, and only the difference from the operation in FIG. 3 described in the first embodiment will be described below.
実施の形態1の時と同様、図18では、タイムアウトが無かった場合を例に説明する。
なお、本実施の形態6における動作については、実施の形態1で述べた手順と同じであり、以下に実施の形態1で説明した図3の動作との差異についてのみ説明する。 Next, the overall operation in the sixth embodiment will be described with reference to FIGS.
As in the case of the first embodiment, FIG. 18 illustrates a case where there is no timeout.
The operation in the sixth embodiment is the same as the procedure described in the first embodiment, and only the difference from the operation in FIG. 3 described in the first embodiment will be described below.
OS#1側共有I/O用ドライバ201が、共有I/Oシミュレーション部70にアクセスするために、OS#1側共有I/Oロック取得処理部202を実施する(S801)。
OS#1側共有I/O用ドライバにて共有I/Oシミュレーション部に対する処理を呼び出す(S804)。
OS#0側共有I/O用ドライバ101が、共有I/Oシミュレーション部70にアクセスするため、OS#0側共有I/Oロック取得処理201を呼び出す(S805)。
次に図19を用いて、先に共有I/Oシミュレーション部でシミュレートされている共有I/OをロックしたOSがタイムアウトする前にハングアップした場合を例に説明する。
なお、本実施の形態6における動作については、実施の形態1で述べた手順と同じであり、以下に実施の形態1で説明した図4の動作との差異についてのみ説明する。
OS#1側共有I/O用ドライバが共有I/Oシミュレーション部にアクセスするために、OS#1側共有I/Oロック取得処理呼び出す(S901)。
OS#1側共有I/O用ドライバにて共有I/Oシミュレーション部に対する処理が行われる(S904)。
OS#0側共有I/O用ドライバが共有I/Oシミュレーション部にアクセスするために、OS#0側共有I/Oロック取得処理を呼び出す(S905)。 The OS # 1-side shared I /O driver 201 executes the OS # 1-side shared I / O lock acquisition processing unit 202 in order to access the shared I / O simulation unit 70 (S801).
A process for the shared I / O simulation unit is called by the OS # 1-side shared I / O driver (S804).
TheOS # 0 side shared I / O driver 101 calls the OS # 0 side shared I / O lock acquisition process 201 in order to access the shared I / O simulation unit 70 (S805).
Next, with reference to FIG. 19, an example will be described in which the OS that previously locked the shared I / O simulated by the shared I / O simulation unit hangs up before timing out.
The operation in the sixth embodiment is the same as the procedure described in the first embodiment, and only the difference from the operation in FIG. 4 described in the first embodiment will be described below.
The OS # 1-side shared I / O driver calls the OS # 1-side shared I / O lock acquisition process to access the shared I / O simulation unit (S901).
The shared I / O simulation unit is processed by the OS # 1-side shared I / O driver (S904).
TheOS # 0 side shared I / O driver calls the OS # 0 side shared I / O lock acquisition process to access the shared I / O simulation unit (S905).
OS#1側共有I/O用ドライバにて共有I/Oシミュレーション部に対する処理を呼び出す(S804)。
OS#0側共有I/O用ドライバ101が、共有I/Oシミュレーション部70にアクセスするため、OS#0側共有I/Oロック取得処理201を呼び出す(S805)。
次に図19を用いて、先に共有I/Oシミュレーション部でシミュレートされている共有I/OをロックしたOSがタイムアウトする前にハングアップした場合を例に説明する。
なお、本実施の形態6における動作については、実施の形態1で述べた手順と同じであり、以下に実施の形態1で説明した図4の動作との差異についてのみ説明する。
OS#1側共有I/O用ドライバが共有I/Oシミュレーション部にアクセスするために、OS#1側共有I/Oロック取得処理呼び出す(S901)。
OS#1側共有I/O用ドライバにて共有I/Oシミュレーション部に対する処理が行われる(S904)。
OS#0側共有I/O用ドライバが共有I/Oシミュレーション部にアクセスするために、OS#0側共有I/Oロック取得処理を呼び出す(S905)。 The OS # 1-side shared I /
A process for the shared I / O simulation unit is called by the OS # 1-side shared I / O driver (S804).
The
Next, with reference to FIG. 19, an example will be described in which the OS that previously locked the shared I / O simulated by the shared I / O simulation unit hangs up before timing out.
The operation in the sixth embodiment is the same as the procedure described in the first embodiment, and only the difference from the operation in FIG. 4 described in the first embodiment will be described below.
The OS # 1-side shared I / O driver calls the OS # 1-side shared I / O lock acquisition process to access the shared I / O simulation unit (S901).
The shared I / O simulation unit is processed by the OS # 1-side shared I / O driver (S904).
The
上記のように、共有I/Oが存在しない状態でも共有I/Oのシミュレーションを行うようにしたので、事前にタイムアウト時間の設定を可能とする。また、実施の形態5.と組み合わせて、タイムアウトの発生をユーザに表示可能とすることで、ユーザは共有I/Oのタイムアウト時間にかかわる処理を事前にプログラム可能となる。
As described above, since the shared I / O simulation is performed even when the shared I / O does not exist, the timeout time can be set in advance. Embodiment 5 FIG. In combination with the above, the occurrence of timeout can be displayed to the user, so that the user can program in advance the processing related to the timeout time of the shared I / O.
また、本実施の形態で用いた例では、シミュレーションは共有I/Oのみとしたが、例えばパソコンのシミュレーション環境などで、産業コントローラ全体のシミュレーションを行うことでも同様の効果を得ることができる。
In the example used in this embodiment, the simulation is only shared I / O, but the same effect can be obtained by simulating the entire industrial controller in a simulation environment of a personal computer, for example.
なお、本実施の形態は、実施の形態2、実施の形態3と組み合わせてもよい。
Note that this embodiment may be combined with the second and third embodiments.
1 産業コントローラ、2 CPU、3 CPU、4 ROM、5 RAM、6 共有I/O、7 通信モジュール、8 タイマカウンタ、9 表示装置、10 OS#0、20 OS#1、30 共有I/O用ロックフラグ、40 共有I/O用ロックフラグ待ちリスト、50 タイムアウト確認手段、51 タイムアウト確認手段、60 タイムアウト発生履歴記録部、91 タイムアウト時間表示部、92 タイムアウト時間設定部、93 タイムアウト発生履歴表示部、94 タイムアウト発生履歴表示指示部、101 OS#0側共有I/O用ドライバ、102 OS#0側共有I/Oロック取得処理部、103 OS#0側共有I/Oロック解放処理部、104 OS#0側OS間通信処理部112 OS#0側共有I/Oロック取得処理部、201 OS#1側共有I/O用ドライバ、202 OS#1側共有I/Oロック取得処理部、203 OS#1側共有I/Oロック解放処理部、204 OS#1側OS間通信処理部212 OS#1側共有I/Oロック取得処理部。
1 Industrial controller, 2 CPU, 3 CPU, 4 ROM, 5 RAM, 6 shared I / O, 7 communication module, 8 timer counter, 9 display device, 10 OS # 0, 20 OS # 1, 30 for shared I / O Lock flag, 40 shared I / O lock flag waiting list, 50 timeout confirmation means, 51 timeout confirmation means, 60 timeout occurrence history recording section, 91 timeout time display section, 92 timeout time setting section, 93 timeout occurrence history display section, 94 Timeout occurrence history display instruction unit, 101 OS # 0 side shared I / O driver, 102 OS # 0 side shared I / O lock acquisition processing unit, 103 OS # 0 side shared I / O lock release processing unit, 104 OS # 0 side OS communication processing unit 112 OS # 0 side shared I / O lock Acquisition processing unit, 201 OS # 1-side shared I / O driver, 202 OS # 1-side shared I / O lock acquisition processing unit, 203 OS # 1-side shared I / O lock release processing unit, 204 OS # 1-side OS Inter-communication processing unit 212 OS # 1-side shared I / O lock acquisition processing unit.
Claims (10)
- 複数のOS(Operating System)を記憶する記憶部と、
前記複数のOSからアクセスを受け付ける共有デバイスと、
前記共有デバイスを1つのOSがアクセスするとき他のOSからの同時アクセスにより競合が発生することを防ぐためのロックを取得すると同時に時刻を記録し、既に他のOSにロックされた共有デバイスのロックを取得する際、既に記録された前記時刻と現在の時刻と予め設定されたタイムアウト時間とを参照してタイムアウト判定を行い、タイムアウトしていると判断した場合、前記共有デバイスを再起動する制御部と、
を有することを特徴とする産業コントローラ。 A storage unit for storing a plurality of OSs (Operating Systems);
A shared device that accepts access from the plurality of OSs;
When one OS accesses the shared device, it acquires a lock to prevent contention due to simultaneous access from another OS, and at the same time records the time and locks the shared device that has already been locked by another OS. Control unit that performs timeout determination with reference to the already recorded time, current time, and preset timeout time, and restarts the shared device when it is determined that timeout has occurred When,
An industrial controller characterized by comprising: - 前記制御部は、前記共有デバイスを再起動するときに、前記共有デバイスをロックしたOSも再起動すること
を特徴とする請求項1に記載の産業コントローラ。 The industrial controller according to claim 1, wherein when the shared device is restarted, the control unit also restarts the OS that has locked the shared device. - 前記制御部は、前記タイムアウト判定を行った結果、タイムアウトしていないと判断した場合、タイムアウトしていると判断するまで、または、既にロックされている共有デバイスのロックが解放されるまで、前記タイムアウト判定を繰り返すこと
を特徴とする請求項1または2に記載の産業コントローラ。 When the control unit determines that the timeout has not occurred as a result of the timeout determination, the control unit determines that the timeout has occurred, or until the lock of the shared device that has already been locked is released. The industrial controller according to claim 1, wherein the determination is repeated. - 前記制御部は、前記タイムアウト判定を行った結果、タイムアウトしていないと判断した場合、タイムアウトしていると判断する時間に、前記共有デバイスを再起動する
ことを特徴とする請求項1または2に記載の産業コントローラ。 The said control part restarts the said shared device at the time judged to have timed out, when it is judged that it has not timed out as a result of performing the said time-out determination. Industrial controller as described. - 複数のOSと前記複数のOSからアクセスを受け付ける共有デバイスの動作をソフトウェアで疑似的に実行する共有デバイスシミュレーション部とを記憶する記憶部と、
前記共有デバイスシミュレーション部のロックを取得すると同時に時刻を記録し、既にロックされている共有デバイスシミュレーション部のロックを取得する際、既に記録された前記時刻と現在の時刻と予め設定されたタイムアウト時間とを参照してタイムアウト判定を行い、タイムアウトしていると判断した場合、前記共有デバイスシミュレーション部を再起動する制御部と、
を有することを特徴とする産業コントローラ。 A storage unit that stores a plurality of OSs and a shared device simulation unit that performs, in software, a pseudo operation of a shared device that receives access from the plurality of OSs;
When acquiring the lock of the shared device simulation unit, the time is recorded, and when acquiring the lock of the already shared device simulation unit, the already recorded time, the current time, and a preset timeout time, When the time-out determination is performed with reference to the above, and it is determined that the time-out has occurred, the control unit restarts the shared device simulation unit,
An industrial controller characterized by comprising: - 前記制御部は、前記再起動する時には、前記共有デバイスシミュレーション部をロックしたOSも再起動すること
を特徴とする請求項5に記載の産業コントローラ。 The industrial controller according to claim 5, wherein the controller restarts the OS that locked the shared device simulation unit when the restart is performed. - 前記制御部は、前記タイムアウト判定を行った結果、タイムアウトしていないと判断した場合、タイムアウトしていると判断するまで、または、既にロックされている共有デバイスシミュレーション部のロックが解放されるまで、前記タイムアウト判定を繰り返すこと
を特徴とする請求項5または6に記載の産業コントローラ。 As a result of performing the timeout determination, the control unit determines that it has not timed out, until it determines that it has timed out, or until the lock of the already shared device simulation unit is released, The industrial controller according to claim 5, wherein the timeout determination is repeated. - 前記制御部は、前記タイムアウト判定を行った結果、タイムアウトしていないと判断した場合、タイムアウトしていると判断する時間に、前記再起動処理を実行する
ことを特徴とする請求項5または6に記載の産業コントローラ。 The said control part performs the said restart process in the time judged to have timed out, when it is judged that it has not timed out as a result of performing the said time-out determination, The restart process is characterized by the above-mentioned. Industrial controller as described. - 請求項2に記載の産業コントローラと、
前記タイムアウト時間を表示するタイムアウト時間表示部と前記タイムアウト時間を設定するタイムアウト時間設定部と、
を有することを特徴とする産業コントローラシステム。 An industrial controller according to claim 2;
A timeout time display section for displaying the timeout time; a timeout time setting section for setting the timeout time;
An industrial controller system comprising: - タイムアウト判定の履歴を表示する履歴表示部を有することを特徴とする請求項9に記載の産業コントローラシステム。 10. The industrial controller system according to claim 9, further comprising a history display unit that displays a history of timeout determination.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2014/006323 WO2016098142A1 (en) | 2014-12-18 | 2014-12-18 | Industrial controller and industrial controller system |
TW103146469A TW201624281A (en) | 2014-12-18 | 2014-12-31 | Industrial controller and industrial controller system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2014/006323 WO2016098142A1 (en) | 2014-12-18 | 2014-12-18 | Industrial controller and industrial controller system |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016098142A1 true WO2016098142A1 (en) | 2016-06-23 |
Family
ID=56126069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2014/006323 WO2016098142A1 (en) | 2014-12-18 | 2014-12-18 | Industrial controller and industrial controller system |
Country Status (2)
Country | Link |
---|---|
TW (1) | TW201624281A (en) |
WO (1) | WO2016098142A1 (en) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01297761A (en) * | 1988-05-26 | 1989-11-30 | Fujitsu Ltd | Lock mechanism with lock time interval |
JPH04127261A (en) * | 1990-09-18 | 1992-04-28 | Fujitsu Ltd | multiprocessor system |
JPH1049380A (en) * | 1995-12-08 | 1998-02-20 | Sun Microsyst Inc | Object locking system and method having high space efficiency |
JP2002091938A (en) * | 2000-07-28 | 2002-03-29 | Internatl Business Mach Corp <Ibm> | System and method for processing fail-over |
JP2004246439A (en) * | 2003-02-12 | 2004-09-02 | Nec Corp | System for preventing stall in cluster system, and method and program therefor |
JP2007210237A (en) * | 2006-02-10 | 2007-08-23 | Ricoh Co Ltd | Image forming apparatus |
WO2008120566A1 (en) * | 2007-03-29 | 2008-10-09 | Nec Corporation | Engine/processor cooperation system and cooperation method |
JP2010286889A (en) * | 2009-06-09 | 2010-12-24 | Canon Inc | Communication control device |
-
2014
- 2014-12-18 WO PCT/JP2014/006323 patent/WO2016098142A1/en active Application Filing
- 2014-12-31 TW TW103146469A patent/TW201624281A/en unknown
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01297761A (en) * | 1988-05-26 | 1989-11-30 | Fujitsu Ltd | Lock mechanism with lock time interval |
JPH04127261A (en) * | 1990-09-18 | 1992-04-28 | Fujitsu Ltd | multiprocessor system |
JPH1049380A (en) * | 1995-12-08 | 1998-02-20 | Sun Microsyst Inc | Object locking system and method having high space efficiency |
JP2002091938A (en) * | 2000-07-28 | 2002-03-29 | Internatl Business Mach Corp <Ibm> | System and method for processing fail-over |
JP2004246439A (en) * | 2003-02-12 | 2004-09-02 | Nec Corp | System for preventing stall in cluster system, and method and program therefor |
JP2007210237A (en) * | 2006-02-10 | 2007-08-23 | Ricoh Co Ltd | Image forming apparatus |
WO2008120566A1 (en) * | 2007-03-29 | 2008-10-09 | Nec Corporation | Engine/processor cooperation system and cooperation method |
JP2010286889A (en) * | 2009-06-09 | 2010-12-24 | Canon Inc | Communication control device |
Also Published As
Publication number | Publication date |
---|---|
TW201624281A (en) | 2016-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11762653B2 (en) | Method and apparatus for remotely updating firmware in batches, and computer-readable storage medium | |
US9582373B2 (en) | Methods and systems to hot-swap a virtual machine | |
US8966489B2 (en) | Information processing device, information processing method, and computer product | |
US9912535B2 (en) | System and method of performing high availability configuration and validation of virtual desktop infrastructure (VDI) | |
US9424145B2 (en) | Ensuring the same completion status for transactions after recovery in a synchronous replication environment | |
CN109240840A (en) | Disaster recovery method, device and the machine readable media of group system | |
CN111669284B (en) | OpenStack automatic deployment method, electronic device, storage medium and system | |
JP2006277062A (en) | Application management apparatus and storage medium storing software thereof | |
US11200099B2 (en) | Kernel configuration information management method and device, and electronic apparatus | |
JP2015075898A (en) | Processing restart method, processing restart program and information processing system | |
CN113886021A (en) | Mirror image backup method and device, electronic equipment and readable storage medium | |
CN107168774B (en) | Virtual machine migration method and system based on local storage | |
US9311379B2 (en) | Utilization of data structures to synchronize copies of a resource | |
CN106874103B (en) | Heartbeat implementation method and device | |
CN114064195B (en) | Device access control for applications of multiple containers | |
WO2016098142A1 (en) | Industrial controller and industrial controller system | |
JP6219514B2 (en) | Computing device that provides virtual multipath state access, remote computing device for virtual multipath, method for providing virtual multipath state access, method for virtual multipath, computing device, multiple methods for computing device And a machine-readable recording medium | |
JP5996110B2 (en) | Computer system and control method | |
JP2011170543A (en) | Information processing device, computer system and program | |
JP5557612B2 (en) | Computer and transfer program | |
JP5565187B2 (en) | Information processing apparatus and interrupt control program | |
JPWO2006001051A1 (en) | Multiprocessor device and control method thereof | |
US20170102987A1 (en) | Device expected state monitoring and remediation | |
JP5905412B2 (en) | Virtual computer system and processor performance measurement method | |
JP2011128678A (en) | Device, method and program for monitoring operation |
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: 14908352 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 14908352 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |