MANAGEMENT SYSTEM FOR CONTROL PROGRAM OF INDUSTRIAL CONTROLLER
20250181459 ยท 2025-06-05
Assignee
- Kabushiki Kaisha Toshiba (Tokyo, JP)
- TOSHIBA INFRASTRUCTURE SYSTEMS & SOLUTIONS CORPORATION (Kawasaki-shi, JP)
Inventors
Cpc classification
G05B2219/23027
PHYSICS
International classification
Abstract
A management system includes a first server and a second server. During ordinary operation, the first server apparatus is in a master state, and the second server apparatus is in a backup state. The second server apparatus belongs to a first group that receives data sent from the first server apparatus. The first server apparatus sends a first health signal to an address of the first group with a constant period. The second server apparatus switches from the backup state to the master state, based on the first health signal sent from the first server apparatus to the address of the first group.
Claims
1. A management system for a control program of an industrial controller, the management system comprising: a first server apparatus including a first processor and a first database in which the control program is registered; and a second server apparatus including a second processor and a second database in which the control program is registered, wherein: during ordinary operation, the first processor of the first server apparatus is in a master state, the second processor of the second server apparatus is in a backup state, and the second server apparatus belongs to a first group that receives data sent from the first server apparatus; the first processor of the first server apparatus sends a first health signal to an address of the first group with a constant period; and the second processor of the second server apparatus switches from the backup state to the master state, based on the first health signal sent from the first server apparatus to the address of the first group.
2. The management system according to claim 1, wherein when the second processor of the second server apparatus switches to the master state, the second processor of the second server apparatus breaks away from the first group, and generates a second group that receives data sent from the second server apparatus.
3. The management system according to claim 2, wherein the second processor of the second server apparatus sends a second health signal to an address of the second group with a constant period.
4. The management system according to claim 1, wherein: the first health signal is a signal that is counted up or counted down with a predetermined period; and the second processor of the second server apparatus switches from the backup state to the master state, when a value of the first health signal sent from the first server apparatus to the address of the first group does not change for a predetermined period of time.
5. The management system according to claim 1, wherein the second processor of the second server apparatus switches from the backup state to the master state, when the first health signal sent from the first server apparatus to the address of the first group is not received.
6. The management system according to claim 2, further comprising a single or plurality of client apparatuses including a third processor, wherein: during the ordinary operation, the client apparatus belongs to the first group; and the third processor of the client apparatus breaks away from the first group and belongs to the second group, based on the first health signal sent from the first server apparatus to the address of the first group.
7. The management system according to claim 6, wherein the third processor of the client apparatus accesses the first database of the first server apparatus when the third processor of the client apparatus belongs to the first group, and accesses the second database of the second server apparatus when the third processor of the client apparatus belongs to the second group.
8. The management system according to claim 1, wherein: the first processor of the first server apparatus creates a first update history when updating the first database, and the second processor of the second server apparatus performs equalization from the first database to the second database, based on the first update history; and the second processor of the second server apparatus creates a second update history when updating the second database, and the first processor of the first server apparatus performs equalization from the second database to the first database, based on the second update history.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0005]
[0006]
[0007]
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
DETAILED DESCRIPTION
[0024] A management system for a control program of an industrial controller, the management system comprises a first server apparatus including a first processor and a first database in which the control program is registered; and a second server apparatus including a second processor and a second database in which the control program is registered. During ordinary operation, the first processor of the first server apparatus is in a master state, the second processor of the second server apparatus is in a backup state, and the second server apparatus belongs to a first group that receives data sent from the first server apparatus. The first processor of the first server apparatus sends a first health signal to an address of the first group with a constant period. The second processor of the second server apparatus switches from the backup state to the master state, based on the first health signal sent from the first server apparatus to the address of the first group.
[0025] The embodiment will be described below with reference to the drawings. The following descriptions will be made based on an example in which a control system according to the embodiment is used for the control of an industrial plant. However, a range in which the control system according to the embodiment can be applied is not limited to the control of the industrial plant. Further, in the drawings, identical or corresponding elements are denoted by identical reference characters, and detailed descriptions are omitted when appropriate.
Embodiment 1
[0026]
[0027] To the control network 61, a single or plurality of industrial controllers 40 is connected. The industrial controller 40 is connected to a field network 62. To the field network 62, a single or plurality of field instruments 50 is connected. The specific method for realizing the control network 61 and the field network 62 is not particularly limited. As an example, the control network 61 and the field network 62 are realized by Ethernet. Further, the control network 61 may be duplicated.
[0028]
[0029] The first server apparatus 10 manages a first group to which the second server apparatus 20 and the single or plurality of client apparatuses 30 can belong. By sending data to the address of the first group, the first server apparatus 10 can collectively send the same data to the second server apparatus 20 and the single or plurality of client apparatuses 30 that belong to the first group. Such a scheme can be realized by multicast communication based on UDP (User Datagram Protocol), for example.
[0030] While the first server apparatus 10 normally functions, the first health counter 12a is counted up or counted down with a predetermined period, for example, with a period of 1 second. Such a scheme can be realized by generating an interrupt with the predetermined period and incrementing or decrementing the value of a counter variable, for example.
[0031] The specific method for realizing the first server apparatus 10 is not particularly limited. As an example, the first server apparatus 10 is a personal computer. In this case, the first processor 11 is a CPU (Central Processing Unit), and the first storage 12 is constituted by a RAM (Random Access Memory) and a ROM (Read Only Memory). Further, the first database 13 is realized by an application program that is executed by a CPU and a table that is built in an auxiliary storage such as a HDD (Hard Disk Drive).
[0032]
[0033] The second server apparatus 20 can generate a second group to which the single or plurality of client apparatuses 30 can belong. By sending data to the address of the second group, the second server apparatus 20 can collectively send the same data to the single or plurality of client apparatuses 30 that belongs to the second group. Such a scheme can be realized by multicast communication based on UDP, for example.
[0034] The specific method for realizing the second server apparatus 20 is not particularly limited. As an example, the second server apparatus 20 is a personal computer. In this case, the second processor 21 is a CPU, and the second storage 22 is constituted by a RAM and a ROM. Further, the second database 23 is realized by an application program that is executed by a CPU and a table that is built in an auxiliary storage such as a HDD.
[0035]
[0036] Through the client apparatus 30, a user can utilize functions that are provided by the first server apparatus 10 or the second server apparatus 20. Specifically, by operating the client apparatus 30, the user can perform the creation, edit, addition, deletion, and others of a control program that is executed by the industrial controller 40. Further, by operating the client apparatus 30, the user can register the created control program in the first database 13 or the second database 23. Further, by operating the client apparatus 30, the user can send the control program registered in the first database 13 or the second database 23, to the industrial controller 40, and can cause the industrial controller 40 to execute the control program.
[0037] The specific method for realizing the client apparatus 30 is not particularly limited. As an example, the client apparatus 30 is a personal computer. In this case, the third processor 31 is a CPU, and the third storage 32 is constituted by a RAM and a ROM. Further, for example, the display 33 is a liquid crystal display, and for example, the input device 34 is constituted by a keyboard, a mouse, and the like.
[0038] Back to
[0039] The industrial controller 40 executes various computations based on the collected states of the plant, and controls the industrial plant by operating unillustrated actuators and others attached to the controlled object through the field network 62 and the field instrument 50, based on computation results.
[0040] The field instrument 50 is an instrument for performing the input and output of signals with various apparatuses attached to the controlled object. The field instrument 50 includes an AI (Analog Input) instrument, a DI (Digital Input) instrument, or the like to which signals from sensors and others attached to the controlled object are input. Further, the field instrument 50 includes an AO (Analog Output) instrument, a DO (Digital Output) instrument, or the like that outputs signals to actuators and others attached to the controlled object.
[0041] Next, the operation of the management system 100 according to the embodiment 1 will be described. The following description will be made assuming that there are two client apparatuses 30a, 30b. Further, when there is no need to distinguish between the two client apparatuses 30a, 30b, the two are collectively referred to as the client apparatus 30. Further, the control network 61 is duplicated by control networks 61a, 61b.
(Operation at Normal Time)
[0042]
[0043] The first database 13 of the first server apparatus 10 and the second database 23 of the second server apparatus 20 are equalized with a predetermined period, for example, with a period of 30 seconds. The method for the equalization is not particularly limited. As an example, the first server apparatus 10 creates first history information when updating the first database 13, and the second server apparatus 20 performs the equalization from the first database 13 to the second database 23, based on the first history information.
[0044] The two client apparatuses 30a, 30b belong to the first group that is managed by the first server apparatus 10 in the master state, and can receive the data sent from the first server apparatus 10 to the address of the first group. Further, the client apparatus 30a, 30b can access the first database 13 of the first server apparatus 10.
[0045] The first server apparatus 10 sends the data including the count value (first health signal) of the first health counter 12a of the first server apparatus 10, to the address of the first group, with a constant period, for example, with a period of 3 seconds. Further, this data includes the machine name, IP address, and port number of the second server apparatus 20 in the backup state.
[0046] The second server apparatus 20 receives the data sent from the first server apparatus 10 to the address of the first group with the constat period, and determines whether the first server apparatus 10 is normally operating, based on the value of the first health signal included in the data. More specifically, in the case where the value of the first health signal received from the first server apparatus 10 changes for a predetermined period of time, for example, in 10 seconds, the second server apparatus 20 determines that the first server apparatus 10 is normally operating.
[0047] The client apparatuses 30a, 30b receive the data sent from the first server apparatus 10 to the group of the first group with the constant period, and determines whether the first server apparatus 10 is normally operating, based on the value of the first health signal included in the data. More specifically, in the case where the value of the first health signal received from the first server apparatus 10 changes for a predetermined period of time, for example, in 10 seconds, the client apparatuses 30a, 30b determines that the first server apparatus 10 is normally operating.
(Time of Abnormality Occurrent in First Server Apparatus)
[0048]
[0049] In
[0050] In
[0051] In
[0052] In
(Time of Communication Failure of First Server Apparatus)
[0053]
[0054] In
[0055] In
[0056] In
[0057] In
(Time of Communication Failure of Second Server Apparatus)
[0058]
[0059] In
[0060] However, actually, the communication failure of the first server apparatus 10 has not occurred. Therefore, the client apparatuses 30a, 30b can receive the data sent from the first server apparatus 10 to the address of the first group with the constant period and including the first health signal. Accordingly, the client apparatuses 30a, 30b can continue to access the first database 13 of the first server apparatus 10.
[0061] In
(Case where Two Server Apparatuses Both be in Master State)
[0062]
[0063] In
[0064] In
[0065] On the other hand, the client apparatus 30a can receive the data sent from the first server apparatus 10 to the address of the first group with the constant period and including the first health signal, and therefore, remains in the first group that is managed by the first server apparatus 10. Accordingly, the client apparatus 30a continues to access the first database 13 of the first server apparatus 10. The continuation of such a state generates the gap between the content of the first database 13 and the content of the second database 23.
[0066] In
[0067] In
[0068] As described above, in the management system 100 according to the embodiment 1, during the ordinary operation, the first server apparatus 10 is in the master state, and the second server apparatus 20 is in the backup state. Further, the second server apparatus 20 belongs to the first group that receives the data sent from the first server apparatus 10.
[0069] The first server apparatus 10 sends the first health signal to the address of the first group with the constant period, and the second server apparatus 20 switches from the backup state to the master state, based on the first health signal sent from the first server apparatus 10 to the address of the first group.
[0070] Because of the above characteristics, in the management system 100 according to the embodiment 1, the redundancy can be realized by two server apparatuses. Thereby, although three server apparatuses are conventionally necessary, only two server apparatuses are necessary, resulting in a significant cost reduction. Further, the switching of the second server apparatus 20 from the backup state to the master state is automatically performed, and therefore, user's trouble for the switching can be saved.
[0071] Further, during the ordinary operation, the client apparatus 30 belongs to the first group that is managed by the first server apparatus 10. Based on the first health signal sent from the first server apparatus 10 to the address of the first group, the client apparatus 30 breaks away from the first group, and belongs to the second group that is generated by the second server apparatus 20. Thereby, when the second server apparatus 20 switches to the master state, the client apparatus 30 is automatically connected to the second server apparatus 20. Accordingly, user's trouble for the switching can be saved.
[0072] Further, the client apparatus 30 accesses the first database 13 of the first server apparatus 10 when the client apparatus 30 belongs to the first group, and accesses the second database 23 of the second server apparatus 20 when the client apparatus 30 belongs to the second group. Thereby, the client apparatus 30 can always access the database of the server apparatus in the master state.
[0073] The first server apparatus 10 creates a first update history when updating the first database 13, and the second server apparatus 20 performs the equalization from the first database 13 to the second database 23, based on the first update history. The second server apparatus creates a second update history when updating the second database, and the first server apparatus 10 performs the equalization from the second database 23 to the first database 13, based on the second update history. Thereby, the contents of the first database 13 and the second database 23 can be always kept so as to be the same.
[0074] Some embodiments have been described. The embodiments have been presented as examples, and are not intended to limit scopes of the embodiments. The embodiments can be carried out in various other modes, and various exclusions, replacements, alterations, and combinations can be performed without departing from spirits of the embodiments. The embodiments and modifications of the embodiments are included in the scopes and spirits of the embodiments, and similarly, are included in the scope of the claims and their equivalents.
[0075] The embodiments of the present invention can also be configured as follows.
CLAUSES
[0076] [Clause 1] (a first server apparatus and a second server apparatus) [0077] A management system for a control program of an industrial controller, the management system comprising: [0078] a first server apparatus including a first processor and a first database in which the control program is registered; and [0079] a second server apparatus including a second processor and a second database in which the control program is registered, wherein: [0080] during ordinary operation, the first processor of the first server apparatus is in a master state, the second processor of the second server apparatus is in a backup state, and the second server apparatus belongs to a first group that receives data sent from the first server apparatus; [0081] the first processor of the first server apparatus sends a first health signal to an address of the first group with a constant period; and [0082] the second processor of the second server apparatus switches from the backup state to the master state, based on the first health signal sent from the first server apparatus to the address of the first group. [0083] [Clause 2] (a first server apparatus and a second server apparatus) [0084] The management system according to claim 1, wherein when the second processor of the second server apparatus switches to the master state, the second processor of the second server apparatus breaks away from the first group, and generates a second group that receives data sent from the second server apparatus. [0085] [Clause 3] (a first server apparatus and a second server apparatus) [0086] The management system according to claim 2, wherein the second processor of the second server apparatus sends a second health signal to an address of the second group with a constant period. [0087] [Clause 4] (a first server apparatus and a second server apparatus) [0088] The management system according to any one of claims 1 to 3, wherein: [0089] the first health signal is a signal that is counted up or counted down with a predetermined period; and [0090] the second processor of the second server apparatus switches from the backup state to the master state, when a value of the first health signal sent from the first server apparatus to the address of the first group does not change for a predetermined period of time. [0091] [Clause 5] (a first server apparatus and a second server apparatus) [0092] The management system according to any one of claims 1 to 4, wherein the second processor of the second server apparatus switches from the backup state to the master state, when the first health signal sent from the first server apparatus to the address of the first group is not received. [0093] [Clause 6] (a client apparatus) The management system according to claim 2, further comprising a single or plurality of client apparatuses including a third processor, wherein: [0094] during the ordinary operation, the client apparatus belongs to the first group; and [0095] the third processor of the client apparatus breaks away from the first group and belongs to the second group, based on the first health signal sent from the first server apparatus to the address of the first group. [0096] [Clause 7] (a client apparatus) The management system according to claim 6, wherein the third processor of the client apparatus accesses the first database of the first server apparatus when the third processor of the client apparatus belongs to the first group, and accesses the second database of the second server apparatus when the third processor of the client apparatus belongs to the second group. [0097] [Clause 8] (equalization of database) The management system according to claim 1, wherein: [0098] the first processor of the first server apparatus creates a first update history when updating the first database, and the second processor of the second server apparatus performs equalization from the first database to the second database, based on the first update history; and [0099] the second processor of the second server apparatus creates a second update history when updating the second database, and the first processor of the first server apparatus performs equalization from the second database to the first database, based on the second update history.
REFERENCE SIGNS LIST
[0100] 1 control system [0101] 10 first server apparatus [0102] 11 first processor [0103] 12 first storage [0104] 12a first health counter [0105] 13 first database [0106] 20 second server apparatus [0107] 21 second processor [0108] 22 second storage [0109] 22a second health counter [0110] 23 second database [0111] 30 client apparatus [0112] 30a client apparatus [0113] 30b client apparatus [0114] 31 third processor [0115] 32 third storage [0116] 33 display [0117] 34 input device [0118] 40 industrial controller [0119] 50 field instrument [0120] 61 control network [0121] 61a control network [0122] 61b control network [0123] 62 field network [0124] 100 management system