The disclosure of Japanese Patent Application No. 2014-072251 filed on Mar. 31, 2014 including the specification, drawings and abstract, is incorporated herein by reference in its entirety.
1. Field of the Invention
The present invention relates to a programmable logic controller (hereinafter abbreviated as “PLC”), and to a programming tool for editing a sequence program for the PLC.
2. Description of the Related Art
A distributed control system composed of a plurality of PLCs that coordinate with (cooperate) each other to perform sequence control is occasionally used in a control device for production facilities or the like (see Japanese Patent Application Publication No. 2008-262453 (JP 2008-262453 A)). A program corresponding to a sequence circuit generated in units of modules and an interface circuit for communication among the PLCs, for example, is written into each of the PLCs. In the case where a data link scheme is adopted, the PLCs execute sequence control with data for communication via a network held in an allocated prescribed memory region.
In the distributed control system described above, the number of PLCs is occasionally increased and decreased as the distributed control system is functionally expanded, partially functionally disabled, or the like to change the configuration of the distributed control system. In such a case, it is necessary to correct the program corresponding to the sequence circuit or the interface circuit or the like or reallocate the memory region such that sequence control and communication among the PLCs are performed normally in the changed distributed control system. Therefore, a change in configuration of the distributed control system along with increase and decrease in number of PLCs has required additional work such as preparation and correction of a sequence program and writing the program into the PLCs.
It is an object of the present invention to provide a PLC capable of improving the expandability of a distributed control system, and a programming tool for the PLC.
An aspect of the present invention provides a programmable logic controller including:
a variable table;
a storage device; and
an interface circuit, in which:
the programmable logic controller performs sequence control in coordination with a different programmable logic controller to constitute a distributed control system;
the programmable logic controller includes reference variables which are variables to be referenced by the different programmable logic controller in the sequence control;
the variable table includes variable information including identification symbols that indicate individual programmable logic controllers that constitute the distributed control system and variable names of the reference variables, the variable information being set for each of the reference variables;
the storage device has a memory region for storing values of the reference variables; and
the interface circuit mutually partially duplicates communication data for use in communication between the programmable logic controller and the different programmable logic controller and the values of the reference variables stored in the memory region.
According to such a configuration, the PLC executes sequence control, with the memory region, in which at least the reference variables as the subjects to be communicated by the PLC with the different PLC are stored, secured in the storage device. In the distributed control system composed of such PLCs, a state in which sequence control can be executed normally is maintained without correcting the sequence circuit or the interface circuit or reallocating the memory region if a change in configuration falls within the range assumed from the variable table. Thus, the expandability of the distributed control system is improved.
The foregoing and further features and advantages of the invention will become apparent from the following description of example embodiments with reference to the accompanying drawings, wherein like numerals are used to represent like elements and wherein:
A programmable logic controller (hereinafter abbreviated as “PLC”) and a programming tool for the PLC according to an embodiment of the present invention will be described below with reference to the drawings. The PLC according to the embodiment is applied to a distributed control system in which a plurality of PLCs coordinate with each other to perform sequence control. The programming tool is software for editing a sequence program and a link program for the PLC.
The configuration of a distributed control system 1 and a plurality of PLCs according to a first embodiment of the present invention will be described with reference to
The network 5 conforms to a predetermined network standard. The network 5 according to the embodiment adopts the FL-net standard. The network 5 is an FL-net network in which the PLC-1 to the PLC-3 serve as nodes (individual devices as the subjects of communication). In the network 5, the nodes exchange a right to transmit data (a token) in a determined order. That is, a node having a token broadcasts communication packets, and thereafter sends the token to the next node within a prescribed time after the token is received. The PLC-1 to the PLC-3 constituting the distributed control system 1 can share necessary data through the network 5.
As illustrated in
An execution program corresponding to a sequence circuit 11 and an interface circuit 12 is written into the ROM of the storage device 15. Hereinafter, the execution program described above will be referred to as “sequence circuit” or “interface circuit” for convenience. The sequence circuit 11 and the interface circuit 12 are generated by a programming tool for the PLC by compiling a source program expressed in the form of a ladder diagram. Hereinafter, the source program will be referred to as “sequence program” and “link program”. The sequence circuits 11 of the PLC-1 to the PLC-3 correspond to sequence programs Ps1 to Ps3 illustrated as the ladder diagram in
In the distributed control system 1, the PLC-1 to the PLC-3 coordinate with each other to perform sequence control, and thus it is necessary for a PLC to reference a variable held in a different PLC. A variable to be referenced by a PLC in sequence control, among variables held in (stored in, changed by) a different PLC, is defined as a reference variable. For example, a local variable of the PLC-2 to be referenced inside the sequence circuit 11 by the PLC-1, among local variables held in the PLC-2, corresponds to the reference variable described above. This also applies to the relationship among the different PLC-1 to PLC-3.
Specifically, in
A variable table Tb, temporary data generated during execution of the various programs, and so forth are stored in the RAM of the storage device 15 illustrated in
In the variable table Tb, the variable information is individually set for all the reference variables that belong to each PLC. All the reference variables described above are reference variables that may be the subjects to be communicated among the plurality of PLCs constituting the distributed control system 1 in a facility environment in which the distributed control system 1 is subjected to all the assumable functional expansions. That is, all the reference variables include reference variables that are not actually connected to the network 5 but that are assumed as the subjects to be communicated in communication with expanded PLCs expected to be additionally installed.
A link memory region Mn is secured in the RAM of the storage device 15. At least reference variables as the subjects to be communicated by the PLC, among all the reference variables, are stored in the link memory region Mn. That is, at least reference variables to be transmitted and received by the PLC-1 are stored in the memory region Mn of the storage device 15 of the PLC-1. In the embodiment, the link memory region Mn for storing all the reference variables set in the variable table Tb is allocated to the storage device 15.
As illustrated in
The PLC-1 stores, as data for reception, variables as the subjects to be communicated among all the PLCs in the link memory region Mn in the name of communication variables B2[0] to B2[t] and B3[0] to B3[u] irrespective of whether or not the PLC-1 itself references such variables in sequence control. The reference variables to be referenced by the PLC-1 in sequence control include variables (D10X) of the different PLC-2 to be referenced in the sequence circuit 11. That is, each of the PLC-1 to the PLC-3 holds all the reference variables as the subjects to be communicated, and the link memory regions for transmission and reception by the PLC-1 to the PLC-3 have different addresses.
In the case where data are exchanged among the PLCs, the local variable and the address of the PLC as the communication partner cannot be directly referenced, and therefore communication via the interface circuit 12 is necessary. The interface circuit 12 mutually partially copies communication data for use in communication among the PLC-1 to the PLC-3 and reference variables stored in the link memory region Mn. More particularly, the reference variables are converted into communication variables by the interface circuit 12, and the communication variables are linked with reference variables of different PLCs referenced by the sequence circuit 11 of each PLC.
The communication data described above are in a format that conforms to the network standard of the network 5. In the embodiment in which the FL-net is adopted, the communication data are communication packets having a structure in which the communication variables B1 to B3 of the PLC-1 to the PLC-3 are coupled to each other as illustrated in
Then, when the PLC-1 receives a token (transmission right), the interface circuit 12 of the PLC-1 writes values stored in the communication variables B1[0] to B1[s] in the link memory region Mn into a region of the communication data to be transmitted by the PLC itself (PLC-1). The communication data are transmitted over the network 5 by the PLC-1. In the case where the PLC-1 receives communication data transmitted by a different PLC, the interface circuit 12 writes data in a reception region of the communication data into the communication variables B2[0] to B2[t] and B3[0] to B3[u] in the link memory region Mn. Consequently, when a value is input to a reference variable (D10X, B2[1]) held by the PLC-2 to turn on the variable D10X in sequence programs Ps1 , for example, the first step (M1) of the sequence program Ps1 illustrated in
According to the configuration discussed above, the PLC-1 to the PLC-3 execute sequence control, while each securing in the storage device 15 the link memory region Mn, in which at least reference variables as the subjects to be communicated by the PLC with a different PLC are stored. In the distributed control system 1 composed of such PLC-1 to PLC-3, if a change in configuration falls within the range assumed from the variable table Tb, that is, the number of PLCs falls within the maximum number of PLCs set on the variable table Tb and the number of reference variables of different PLCs used by the sequence program of each PLC falls within the maximum number of reference variables of each PLC set on the variable table Tb, a state in which sequence control can be executed normally is maintained without correcting the sequence circuit 11 or the interface circuit 12 or reallocating the link memory region Mn. Thus, the expandability of the distributed control system 1 is improved. A change in configuration of the distributed control system 1 will be described below.
Additional installation of an expansion PLC in the distributed control system 1 will be described. The PLC-3 is an expansion PLC expected to be additionally installed in the distributed control system 1 composed of the PLC-1 and the PLC-2. The PLC-3 corresponds to the different PLC according to the present invention. In the facility environment before additional installation, the PLC-1 and the PLC-2 excluding the PLC-3 are connected to the network 5.
Before additional installation of the PLC-3, the distributed control system 1 can execute sequence control that matches the facility environment before additional installation if communication is performed only for variables to be mutually referenced by the PLC-1 and the PLC-2. With a facility environment that assumes additional installation of the PLC-3, the distributed control system 1 permits additional installation of the PLC-3 without correcting the sequence circuit 11 or the interface circuit 12 or reallocating the link memory region Mn.
Specifically, the distributed control system 1 is configured as follows. The reference variables in the distributed control system 1 include variables referenced by the existing PLCs (the PLC-1 and the PLC-2), among variables held by the expansion PLC (PLC-3). Hence, as illustrated in
As illustrated in
The sequence circuit 11 of the PLC-1 and the PLC-2 already includes a step referencing a variable of the PLC-3 (a step M10 of the sequence program Ps1 and a step M5 of the sequence program Ps2 in
As described above, the sequence circuit 11 of the PLC-1 and the PLC-2 includes a step of referencing a variable of the PLC-3. Because the corresponding communication variables B3[0] to B3[u] are not varied from the initial values, however, the step is not executed, and an error handling process is not performed. In this way, the distributed control system 1 composed of the PLC-1 and the PLC-2 can execute sequence control that matches the current facility environment.
It is assumed that the PLC-3 as an expansion PLC is connected to the network 5 so that the PLC-3 is additionally installed in the distributed control system 1. When the distributed control system 1 is turned on in such a state, the PLC-3 is recognized in the FL-net network, and a token is moved in a prescribed order among the PLC-1 to the PLC-3. Then, as the existing PLC-1 and PLC-2, the PLC-3 starts receiving and transmitting communication data. Thus, the distributed control system 1 provides an environment in which sequence control for which the PLC-1 to the PLC-3 coordinate with each other can be executed.
For adding an expansion PLC, the existing PLC-1 and PLC-2 secure in advance the link memory region Mn for storing a reference variable held by the expansion PLC on each storage device 15 on the basis of the variable table Tb to constitute the distributed control system 1 which permits additional installation of the expansion PLC. Consequently, in the case where the facility environment of the distributed control system 1 is to be changed, an expansion PLC can be additionally installed in the distributed control system 1 without correcting the interface circuit 12 or the like of the PLC-1 and the PLC-2 or reallocating the link memory region Mn.
Next, removal of a PLC or a plurality of PLCs constituting the distributed control system 1 will be described. The PLC-3 is a PLC to be removed from the distributed control system 1 composed of the PLC-1 to the PLC-3. The PLC-3 corresponds to the different PLC according to the present invention. In the current facility environment before removal of the PLC-3, the PLC-1 to the PLC-3 are connected to the network 5.
In the distributed control system 1, when a PLC or a plurality of PLCs are removed, reference variables that belong to the removed PLC are not updated any more. Therefore, in the related art, when removal of a PLC is detected, the system is stopped by an error handling process in consideration of the influence on sequence control by the remaining PLCs. In the distributed control system 1 according to the embodiment, in contrast, a facility environment that assumes removal of the PLC-3 is prepared to permit removal of the PLC-3 without correcting the sequence circuit 11 or the interface circuit 12 or reallocating the link memory region Mn.
Specifically, the distributed control system 1 is configured as follows. In the distributed control system 1 in which the PLC-3 has been removed from the network 5, the PLC-1 and the PLC-2 include the common variable table Tb as illustrated in
Then, as illustrated in
The sequence circuits 11 of the PLC-1 and the PLC-2 still include a step referencing a variable of the PLC-3. However, the corresponding communication variables B3[0] to B3[u] are not varied from the initial values. In this case, the PLC-1 and the PLC-2 do not execute such a step, and do not perform an error handling process.
In this way, the remaining PLC-1 and PLC-2 secure the link memory region Mn for storing a reference variable as the subject to be communicated with the removed PLC-3 in each storage device 15 on the basis of the variable table Tb to constitute the distributed control system 1 which permits removal of the PLC-3. Consequently, it is possible to remove the PLC-3 from the distributed control system 1 without correcting the interface circuit 12 or the like of the PLC-1 and the PLC-2 or reallocating the link memory region Mn in changing the facility environment of the distributed control system 1. In addition, reconnection of the removed PLC-3 is permitted by maintaining such an environment of the distributed control system 1.
Next, the overall configuration of an editing device 50 for a sequence program according to a second embodiment of the present invention will be described with reference to
The storage device 52 is composed of a ROM, a RAM, a hard disk drive, and so forth (not illustrated). The variety of programs are read from and written into the storage device 52. The display 53 is a display device, which is an output device used to output a ladder diagram for the sequence program on a screen or the like. The input device 54 is a keyboard or a mouse, for example, and is used to input information during work for editing a ladder diagram for the sequence program or the like. The communication interface 55 is a device that inputs and outputs various data when communication is performed with a PLC via a communication cable (not illustrated).
The programming tool 60 edits a sequence program corresponding to an execution program written into a plurality of PLCs. The programming tool 60 includes a program editing unit 61, a variable table generation unit 62, and an interface circuit generation unit 63. In the embodiment, the program editing unit 61 has a function of editing a ladder diagram which is a program language for a sequence program. The program editing unit 61 causes the display 53 to display a ladder diagram so as to be editable, and receives editing input through the input device 54. The existing sequence program is read from the storage device 52. The edited sequence program is written into the storage device 52 to be stored.
The variable table generation unit 62 receives setting of variable information input through the input device 54 to generate a variable table. Specifically, an operator inputs variable information to a tag table. The variable table generation unit 62 compiles the tag table to generate the variable table Tb illustrated in
The interface circuit generation unit 63 generates an interface circuit corresponding to each PLC on the basis of the set variable information and the sequence program. In the case where the interface circuit 12 of the PLC-1 is to be generated, for example, the interface circuit generation unit 63 first specifies reference variables that belong to the PLC-1 on the basis of the set variable information (see
Next, the interface circuit generation unit 63 allocates the communication variables B1[0] to B1[s] to the plurality of specified reference variables. Then, the interface circuit generation unit 63 compiles the link program Pn1 which links the local variables and the reference variables to each other to generate the interface circuit 12. Also for the PLC-2 and the PLC-3, the interface circuit generation unit 63 generates the interface circuit 12 corresponding to each PLC.
According to the configuration discussed above, the distributed control system 1 is composed of the plurality of PLC-1 to PLC-3 including the variable table Tb generated by the programming tool 60 and the interface circuit 12. Such a distributed control system 1 composed of the PLC-1 to the PLC-3 achieves the same effect as that of the first embodiment. That is, the distributed control system 1 maintains a state in which sequence control can be normally executed without correcting the sequence circuit 11 or the interface circuit 12 or reallocating the link memory region Mn if a change in configuration falls within a range assumed from the variable table Tb. Thus, the expandability of the distributed control system 1 is improved.
Number | Date | Country | Kind |
---|---|---|---|
2014-072251 | Mar 2014 | JP | national |