Programmable logic controller, sequence control system and activation state control program

The storage programmable control system addresses the issue of interrupt-induced activation errors by using flag data updates and interrupt prevention, ensuring safe maintenance and operation of controlled devices.

DE112022007197T5Inactive Publication Date: 2025-04-03MITSUBISHI ELECTRIC CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
DE112022007197
Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
Filing Date
2022-07-19
Publication Date
2025-04-03
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

Existing storage programmable control (SPC) technologies fail to prevent the activation of execution elements due to interrupt statements, leading to potential errors and device malfunction during maintenance or switchover operations.

Method used

A storage programmable control system that includes a process program with flag data updates, an interrupt receiver, and an interrupt prevention mechanism to maintain the inactive state of execution elements when interrupt instructions are generated, ensuring safe operation and maintenance.

Benefits of technology

Prevents activation of execution elements based on interrupt statements, thereby preventing errors and ensuring safe maintenance and debugging of controlled devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

In a programmable logic controller (100), a flag data update receiver (151) receives an update of flag data (130) indicating whether activation of a second execution element is allowed or forbidden. An interrupt receiver (153, 154) receives an interrupt instruction (IR1, IR2) requesting activation of the second execution element, regardless of whether a transition condition is met. An interrupt preventer (155b, 155c) maintains an inactive state of the second execution element and issues an interrupt cancellation error (ER2, ER3) indicating that the interrupt instruction (IR1, IR2) has been canceled if the interrupt instruction (IR1, IR2) was received and the latest flag data (130) indicates that activation of the second execution element is forbidden.An executor (156) activates the second execution element when the interrupt instruction (IR1, IR2) is received and the latest flag data (130) indicate that activation of the second execution element is permitted.
Need to check novelty before this filing date? Find Prior Art

Description

Technical area

[0001] The present disclosure relates to a programmable logic controller, a sequence control system, and an activation state control program. Technological background

[0002] A common programmable logic controller (PLC) controls devices involved in production on a production line. The PLC executes a sequence program to control the devices.

[0003] The sequential program is described in a well-known programming language, such as a functional flow chart. The sequential program described as a functional flow chart includes elements called steps and elements called transitions.

[0004] The steps describe actions for a control goal. The transitions describe transition conditions for moving from a previous step (hereinafter referred to as a first step) to a step immediately following the first step (hereinafter referred to as a second step).

[0005] A step comprises two states: an active state and an inactive state. The step in the active state refers to the step that is being executed. The step in the inactive state refers to the step that is not being executed. When a transition condition defined in a transition is met, the active state transitions from the first step to the second step.

[0006] Patent Literature 1 describes a PLC that can maintain the inactive state of the second step to allow debugging of the second step. The PLC includes flag data indicating whether activation of the second step is permitted or prohibited, and maintains the inactive state of the second step when the transition condition is met but the flag data indicates that activation of the second step is prohibited. Citation listPatent literature

[0007] Patent Literature 1: Unexamined Japanese Patent Application Laid-Open No. H10-171527 Brief description of the inventionTechnical problem

[0008] An execution element refers to an element in the sequence program that defines one or more associated actions for the control target. A step is an example of an execution element. A transition condition element refers to an element that defines a transition condition for moving from one execution element to the next. A transition is an example of a transition condition element.

[0009] The execution element may be activated by a factor other than the transition condition being met. More specifically, the execution element may be activated by an interrupt instruction that specifies a request to forcibly activate the execution element, regardless of whether the transition condition is met.

[0010] Examples of the interrupt instruction include an external interrupt request, which is the request to the PLC from outside the PLC, and an internal interrupt request, which is the request generated inside the PLC.

[0011] The technique of Patent Literature 1 can prevent the execution element from being activated due to the transition condition being met, but cannot prevent the execution element from being activated due to the interrupt instruction. The execution element that defines an action for a device may be activated by the interrupt instruction during device maintenance, and may cause a fault in the device. Under such circumstances, a technique is needed to maintain the inactive state of the execution element when the interrupt instruction is generated.

[0012] It is an object of the present disclosure to provide a programmable logic controller, a sequence control system, and an active state control program that can maintain the inactive state of an execution element when an interrupt instruction is generated. Solution to the problem

[0013] A programmable logic controller according to one aspect of the present disclosure executes a sequence program comprising a first execution element defining a preceding action, a second execution element defining a subsequent action to be executed following the preceding action, and a transition condition element defining a transition condition for transitioning an active state from the first execution element to the second execution element. The programmable logic controller comprises a flag data update receiver for receiving an update of flag data indicating whether activation of the second execution element is permitted or prohibited, an interrupt receiver for receiving an interrupt instruction indicating a request to activate the second execution element regardless of whether the transition condition is met,an interrupt preventer to refer to the latest flag data when the interrupt receiver receives the interrupt instruction, and to maintain an inactive state of the second execution element and output an interrupt cancellation error indicating that the interrupt instruction has been canceled if the flag data indicates that activation of the second execution element is prohibited, and an executor to activate the second execution element when the interrupt receiver receives the interrupt instruction and the latest flag data indicates that activation of the second execution element is permitted. Advantageous effects of the invention

[0014] The present structure may maintain the inactive state of the second execution element when the interrupt instruction is generated, but the flag data indicates that the activation of the second execution element is prohibited. Short description of the drawings Fig. 1 is a conceptual diagram of a scheduling system according to an embodiment; Fig. 2 is a conceptual block diagram of a programmable logic controller (PLC) according to the embodiment; Fig. 3 is a conceptual diagram of a sequence program according to the embodiment; Fig. 4 is a functional conceptual diagram of the PLC according to the embodiment; Fig. 5 is a flowchart of a transition prevention process in the embodiment; Fig. 6 is a flowchart of an external interrupt prevention process in the embodiment; and Fig. 7 is a flowchart of an internal interrupt prevention process in the embodiment Description of embodiments

[0015] A sequence control system according to an embodiment will be described below with reference to the drawings. Like reference numerals in the drawings denote like or corresponding components.

[0016] As in Fig. 1, a sequence control system 400 according to the present embodiment includes a plurality of devices 300 involved in manufacturing in a production line, a programmable logic controller (PLC) 100 that controls the devices 300, and a programmable display 200 connected to the PLC 100 via a communication line CL.

[0017] Fig. Figure 1 shows devices 300A through 300F of the many devices 300. Devices 300A through 300F are arranged along a conveyor CV that transports a workpiece. Here, the workpiece comprises a semi-finished product under production and a component incorporated into a product. Each of the devices 300A through 300F performs processing on the workpiece, such as attaching other components to it, machining, marking, inspecting, or packaging the workpiece.

[0018] The conveyor CV comprises a main line CVa and a selection line CVb arranged parallel to the main line CVa. The selection line CVb has an upstream end in the direction in which the workpiece is transported, branching off from the main line CVa. The selection line CVb has a downstream end in the direction in which the workpiece is transported, which merges with the main line CVa.

[0019] Devices 300A, 300B, 300C, and 300F are arranged in this order along the main line CVa. Devices 300D and 300E are arranged in this order along the selection line CVb.

[0020] A manufacturing process performed by device 300B and device 300C is hereinafter referred to as process A, and a manufacturing process performed by device 300D and device 300E is hereinafter referred to as process B. Process A and process B are performed alternately. In other words, when device 300B and device 300C are operating, device 300D and device 300E stop. When device 300D and device 300E are operating, device 300B and device 300C stop.

[0021] The programmable display 200 functions as a human-machine interface for the PLC 100. In other words, the programmable display 200 is an example of a human-machine device in one aspect of the present disclosure.

[0022] The programmable display 200 includes a screen display 210 that serves as a graphical user interface. The screen display 210 is a touchscreen. A user operates the screen display 210 in the programmable display 200 to control the devices 300 and the conveyor CV via the PLC 100.

[0023] Specifically, in the present embodiment, the user can operate the screen display 210 in the programmable display 200 to instruct the PLC 100 to switch from a state in which process A is performed to a state in which process B is performed, and to switch from the state in which process B is performed to the state in which process A is performed. The PLC 100 controls the device 300B and the device 300C, the device 300D and the device 300E, and the conveyor based on the above instructions.

[0024] The structure of the PLC 100 is described in detail below with reference to Fig. 2 described.

[0025] As in Fig. As shown in Figure 2, the PLC 100 includes a communication device 160 that communicates with external devices. The communication device 160 receives instructions from the programmable display 200 and transmits control commands to the devices 300.

[0026] The PLC 100 also includes a memory device 140 that stores a sequence program 110 defining a procedure for controlling the devices 300 and the conveyor CV. The PLC 100 also includes a processor 150 that executes the sequence program 110. The processor 150 executes the sequence program 110 to control the devices 300 and the conveyor CV.

[0027] The structure of the sequence program 110 is described below with reference to Fig. 3 described.

[0028] Fig. Figure 3 illustrates the structure of the sequence program 110, which is described as a functional flow chart. The sequence program 110 includes steps ST0 through ST7 and transitions TR1 through TR11.

[0029] The steps ST0, ST1, ST2, ST3, ST4 and ST5 define control actions for the respective devices 300A, 300B, 300C, 300D, 300E and 300F, which are Fig. 1 are shown.

[0030] Transition TR1 defines a transition condition for the transition of an active state from step ST0 to step ST1. Similarly, transition TR2 defines the transition condition for the transition of the active state from step ST1 to step ST2. The same applies to the other transitions TR3 to TR11.

[0031] The steps ST1 and ST2 and the transitions TR2 and TR3 are contained in a block BL1, which defines the action to Fig. 1. The steps ST3 and ST4 and the transitions TR5 and TR6 are contained in a block BL2, which defines the action to execute the Fig. 1 to carry out process B.

[0032] In the structure described above, step ST0, which is the initial step, is an example of a first execution element that defines the action for device 300A as a previous action. Block BL1 is an example of a second execution element that defines the actions for devices 300B and 300C as subsequent actions to be performed following the previous action. Transition TR1 is an example of a transition condition element that defines the transition condition for the transition of the active state from the first execution element to the second execution element.

[0033] Blocks BL1 and BL2 are contained in a selection sequence SS in which blocks BL1 and BL2 are activated alternately. In other words, block BL2 is an example of a branch execution element that is activated alternatively to the second execution element.

[0034] The problems to be solved by the structure according to the present embodiment will be explained below.

[0035] The operator may view the screen display 210 in the Fig. 1 shown programmable display 200 to execute process B from process A and process B. In this case, in Fig. 3, steps ST3 and ST4 in block BL2 are activated sequentially if the transition condition defined in transition TR4 is met after step ST0. However, steps ST1 and ST2 in block BL1 remain in an inactive state.

[0036] By keeping the block BL1 in the inactive state as described above, the devices 300B and 300C executing the process A are Fig. 1. This allows maintenance of the devices 300B and 300C while process B is running. In other words, the selection line CVb, arranged parallel to the main line CVa, allows maintenance of the devices 300B and 300C without interrupting product production.

[0037] However, at a manufacturing site, a user different from the user who previously operated the display screen 210 to perform process B may operate the display screen 210 to perform process A (hereinafter referred to as switching operation) without realizing that the above maintenance is being performed.

[0038] In this case, the programmable display 200, which receives the switching operation, provides the PLC 100 with a Fig. 3 is ready to activate step ST1. The external interrupt instruction IR1 specifies a request to forcibly activate step ST1, regardless of whether the transition condition defined in transition TR1 is met.

[0039] This causes the steps ST1 and ST2 in the block BL1 to be activated one after the other. In other words, in Fig. 1 the devices 300B and 300C, which are currently being serviced, each receive a control command and could be activated.

[0040] Activation during maintenance may cause a fault in devices 300B and 300C. Therefore, a technique is needed to prevent activation of step ST1 due to the external interrupt instruction IR1 and to enable safe maintenance of devices 300B and 300C.

[0041] In addition, the user may inadvertently initiate the maintenance of devices 300B and 300C, which perform process A, without Fig. 1 to operate the screen display 210 to perform the process B. In this case, if the transition condition defined in the transition TR1 is met, in Fig. 3 the step ST1 is activated.

[0042] If step ST1 is activated, the Fig. 1, which is under maintenance, may be activated and cause errors in the device 300B and the device 300C. Therefore, a technique is needed to prevent the activation of step ST1 due to the transition condition defined in the transition TR1 being met and to enable safe maintenance of the devices 300B and 300C.

[0043] The 300B and 300C devices can also be activated during maintenance via an internal interrupt. This is described below.

[0044] In Fig. 3, step ST7 includes an activation code describing the activation of step ST1. In other words, step ST7 is an example of a call execution element in one aspect of the present disclosure.

[0045] In this case, when step ST7 is activated, the above activation code is executed to generate an internal interrupt instruction IR2, which requests the activation of step ST1. Similar to the external interrupt instruction IR1, the internal interrupt instruction IR2 specifies a request to forcibly activate step ST1 regardless of whether the transition condition defined in transition TR1 is met.

[0046] Thus, the Fig. 1 may be activated during maintenance of devices 300B and 300C when step ST7 is activated. This may also cause errors in devices 300B and 300C. Therefore, a technique is needed to prevent the activation of step ST1 due to an internal interrupt instruction IR2 and to allow safe maintenance of devices 300B and 300C.

[0047] The external interrupt instruction IR1 and the internal interrupt instruction IR2 are collectively referred to as interrupt instructions. The interrupt instructions each request to force the activation of a specific step, regardless of whether a transition condition defined in transition TR1 is met.

[0048] The PLC 100 according to the present embodiment has a structure that addresses the above problems. The structure is described below.

[0049] As in Fig. 2, the storage device 140 in the PLC 100 also stores an activation state control program 120 and flag data 130.

[0050] The flag data 130 indicate whether an activation of the Fig. 3 shown block BL1 is permitted or prohibited. The activation of block BL1 refers to the activation of steps ST1 and ST2 contained in block BL1.

[0051] The activation state control program 120 defines a procedure for controlling, based on the instruction in the flag data 130, whether the activation of the block BL1 is enabled or disabled due to (I) the satisfaction of the transition condition defined in the transition TR1, (II) the external interrupt instruction IR1, or (III) the internal interrupt instruction IR2.

[0052] The user can set the flag data 130 at the manufacturing site using the Fig. 1. In other words, the user can rewrite the flag data 130 as appropriate to indicate that activation of block BL1 is permitted or to indicate that activation of block BL1 is prohibited by operating the screen display 210 of the programmable display 200.

[0053] The activation state control program 120 executed by means of the Fig. The functions implemented by the processor 150 shown in Figure 2 are described in detail below with reference to Fig. 4 described.

[0054] As in Fig. 4, the PLC 100 acts as a flag data update receiver 151, which receives an update of the flag data 130.

[0055] As described above, the user can Fig. 1 to display the flag data 130 which indicates whether the Fig. 3 can be activated. The programmable display 200 instructs the PLC 100 to update the flag data 130 in real time based on the user operation. The flag data update receiver 150 receives the update instruction from the programmable display 200 and updates the flag data 130 based on the instruction.

[0056] The PLC 100 also functions as a transition condition determiner 152, which determines whether the transition condition for the transition to the above block BL1 is met. In Fig. 3, the transition condition determiner 152 determines, after an action defined in step ST0 has been performed, whether the transition condition defined in transition TR1 is met.

[0057] The PLC 100 also functions as an external interrupt receiver 153, which receives the external interrupt instruction IR1. As described above, the programmable display 200, which has received the switching operation indicating a switch from performing process B to performing process A, provides the external interrupt instruction IR1 to the PLC 100. The external interrupt receiver 153 receives the external interrupt instruction IR1 from the programmable display 200.

[0058] The PLC 100 also functions as an internal interrupt receiver 154, which receives the internal interrupt instruction IR2. As described above, the internal interrupt instruction IR2 indicates the activation of block BL1 by executing the activation code contained in the Fig. 3 shown step ST7 is included when step ST7 is activated.

[0059] The PLC 100 also acts as an executor156, which executes the steps ST0 to ST7 of the Fig. 3. Performing steps ST0 to ST7 refers to issuing a control command to the devices 300, which corresponds to each of the actions defined in steps ST0 to ST7.

[0060] The PLC 100 also functions as an inhibit 155, which inhibits the activation of block BL1 when the flag data 130 indicates that the activation of block BL1 is prohibited. The inhibit 155 includes a transition inhibit 155a, an external interrupt inhibit 155b, and an internal interrupt inhibit 155c.

[0061] The transition preventer 155a first refers to the latest flag data 130 when the transition condition determiner 152 determines that the transition condition is satisfied in the transition TR1. If the flag data 130 indicates that the activation of the block BL1 is prohibited, the transition preventer 155a maintains the active state of the Fig. 3 shown step ST0 to prevent activation of block BL1.

[0062] If it prevents the activation of block BL1, the transition preventer 155a outputs a transition cancellation error ER1 to the programmable display 200, indicating that the activation of block BL1 is prevented. Upon receiving the transition cancellation error ER1, the programmable display 200 causes the screen display 210 to indicate that the activation of block BL1 is prevented.

[0063] When the external interrupt receiver 153 receives the external interrupt instruction IR1, the external interrupt preventer 155b first refers to the latest flag data 130. If the flag data 130 indicates that the activation of the block BL1 is prohibited, the external interrupt preventer 155b maintains the inactive state of the block BL1.

[0064] When maintaining the inactive state of block BL1, external interrupt preventer 155b outputs an external interrupt cancellation error ER2 to programmable display 200, which is the source of external interrupt instruction IR1. This external interrupt cancellation error ER2 indicates that external interrupt instruction IR1 is canceled. Upon receiving external interrupt cancellation error ER2, programmable display 200 causes screen display 210 to indicate that the operation to switch from process B to process A has been canceled.

[0065] When the internal interrupt receiver 154 receives the internal interrupt instruction IR2, the internal interrupt preventer 155c first refers to the latest flag data 130. If the flag data 130 indicates that the activation of the block BL1 is prohibited, the internal interrupt preventer 155c maintains the inactive state of the block BL1.

[0066] The internal interrupt preventer 155c outputs an internal interrupt cancellation error ER3 to the programmable display 200 and the executor 156, indicating that the internal interrupt instruction IR2 is canceled. Upon receipt of the internal interrupt cancellation error ER3, the programmable display 200 causes the screen display 210 to indicate that the activation of block BL1 is prevented and that step ST7 is not executed. Upon receipt of the internal interrupt cancellation error ER3, the executor 156 does not execute step ST7.

[0067] When the flag data 130 indicates that the activation of the block BL1 is permitted, the transition preventer 155a, the external interrupt preventer 155b, and the internal interrupt preventer 155c each transmit an instruction to the executor 156 to permit the activation of the block BL1.

[0068] The executor 156 activates the block BL1 when the executor 156 of (i) the transition preventer 155a, (ii) the external interrupt preventer 155b, or (iii) the internal interrupt preventer 155c is instructed to allow the activation of block BL1.

[0069] The external interrupt receiver 153 and the internal interrupt receiver 154 are collectively referred to as interrupt receivers. The external interrupt preventer 155b and the internal interrupt preventer 155c are collectively referred to as interrupt preventers. The interrupt receivers receive interrupt instructions. When an interrupt receiver receives an interrupt instruction, the interrupt preventer first refers to the most recent flag data 130. If the flag data 130 indicates that the activation of block BL1 is prohibited, the interrupt preventer maintains the inactive state of block BL1 and outputs an interrupt cancellation error to the programmable display 200 and the executor 156.

[0070] The operation of the PLC 100 to determine whether to activate the execution element will be described below with reference to the Fig. 5 to 7. The execution element, which is a target for determining whether to perform the activation, is hereinafter referred to as a target execution element. As in Fig. 3, block BL1 is the target execution element in the present embodiment.

[0071] In this example, the flag data 130 indicating whether to activate the target execution element is updated to the latest data in advance by the user of the programmable display 200. In other words, the flag data update receiver 151 receives the update instruction from the programmable display 200 and updates the flag data 130 based on the instruction.

[0072] A transition prevention process for preventing activation of the target execution element due to the transition condition being satisfied will first be described with reference to Fig. 5 described.

[0073] As in Fig. As shown in Figure 5, a transition condition determiner 152 first determines whether the transition condition defined in transition TR1 is satisfied (step S11). If the transition condition is not satisfied (NO in step S11), processing returns to step S11.

[0074] When the transition condition is satisfied (YES in step S11), the transition preventer 155a determines whether the latest flag data 130 indicates that the activation of the block BL1, which is the target execution item, is permitted (step S12).

[0075] If the latest flag data 130 indicates that the activation of the target execution element is prohibited (NO in step S12), the transition preventer 155a maintains the active state of step ST0, which is the execution element preceding the target execution element, to prevent the activation of the target execution element. The transition preventer 155a further outputs the transition cancellation error ER1 to the programmable display 200, indicating that the activation of the target execution element is prohibited (step S13).

[0076] On the other hand, if the latest flag data 130 indicates that activation of the target execution element is permitted (YES in step S12), the executor 156 activates block BL1, which is the target execution element (step S14). After steps S13 and S14, processing returns to step S11.

[0077] Now, with reference to Fig. 6 describes an external interrupt prevention process for preventing the activation of the target execution element due to the external interrupt instruction IR1.

[0078] As in Fig. As shown in Figure 6, the external interrupt receiver 153 continuously determines whether the external interrupt instruction IR1 is generated (step S21). If no external interrupt instruction IR1 is generated (NO in step S21), processing returns to step S21.

[0079] When the external interrupt instruction IR1 is generated (YES in step S21), the external interrupt receiver 153 receives the external interrupt instruction IR1. The external interrupt preventer 155b then determines whether the latest flag data 130 indicates that the activation of the block BL1, which is the target execution element, is permitted (step S22).

[0080] If the latest flag data 130 indicates that the activation of the target execution element is prohibited (NO in step S22), the external interrupt preventer 155b maintains the inactive state of block BL1, which is the target execution element. The external interrupt preventer 155b further outputs the external interrupt cancellation error ER2 to the programmable display 200, indicating that the external interrupt instruction IR1 has been canceled (step S23).

[0081] Otherwise, if the latest flag data 130 indicates that activation of the target execution element is permitted (YES in step S22), the executor 156 activates block BL1, which is the target execution element (step S24). After steps S23 and S24, processing returns to step S21.

[0082] Now, with reference to Fig. 7 describes an internal interrupt prevention process for preventing the activation of the target execution element due to the internal interrupt instruction IR2.

[0083] As in Fig. As shown in Figure 7, the internal interrupt receiver 154 continuously determines whether the internal interrupt instruction IR2 is generated (step S31). If no internal interrupt instruction IR2 is generated (NO in step S31), processing returns to step S31.

[0084] When the internal interrupt instruction IR2 is generated (YES in step S31), the internal interrupt receiver 154 receives the internal interrupt instruction IR2. The internal interrupt preventer 155c then determines whether the latest flag data 130 indicates that the activation of the block BL1, which is the target execution element, is permitted (step S32).

[0085] If the latest flag data 130 indicates that the activation of the target execution element is prohibited (NO in step S32), the internal interrupt preventer 155c maintains the inactive state of block BL1, which is the target execution element. The internal interrupt preventer 155c further outputs the internal interrupt cancellation error ER3 to the programmable display 200 and the executor 156, indicating that the internal interrupt instruction IR2 has been canceled (step S33).

[0086] Otherwise, if the latest flag data 130 indicates that activation of the target execution element is permitted (YES in step S32), the executor 156 activates block BL1, which is the target execution element (step S34). After steps S33 and S34, processing returns to step S31.

[0087] As described above, by using flag data 130 indicating that activation of the target execution element is prohibited, the structure according to the present embodiment can maintain the inactive state of the target execution element when the external interrupt instruction IR1 is generated, when the internal interrupt instruction IR2 is generated, or when the transition condition for the target execution element is met. This allows, for example, safe maintenance of the devices 300 controlled based on the description of the target execution element or safe debugging of the target execution element. After maintenance or debugging, the flag data 130 can be updated to allow activation of the target execution element.

[0088] The embodiment has been described above. The embodiment can be modified as follows.

[0089] In the structure according to the above embodiment, the flag data 130 determines whether the block BL1 is to be activated. The second execution element in one aspect of the present disclosure is not limited to the block BL1. The target execution element, which is the target of the activation setting, may be any execution element. In other words, the flag data 130 may set whether any of the execution elements included in the sequence program 110 is to be activated, and the Fig. The processes illustrated in Figures 5 to 7 may be applied to the execution element for which the activation setting has been made. Therefore, the flag data 130 may include execution element identification information that identifies the execution element for which the activation setting is set, and activation information that indicates whether the execution element is to be updated, and may update the activation information as appropriate.

[0090] Fig. 1 illustrates the programmable display 200 as an example of the human-machine device according to one aspect of the present disclosure. However, the human-machine device does not have to be the programmable display 200, but may be any device that can instruct the flag data update receiver 151 to update the flag data 130 based on an operation when it receives the operation from the user indicating that the flag data 130 is to be updated. The human-machine device may be a computer referred to as an engineering tool that provides the user with an environment for generating the sequence program 110.

[0091] Fig. Figure 3 illustrates an example of a sequential program 110 written as a functional flowchart. However, the sequential program 110 may be written in any language other than a functional flowchart that includes execution elements and transition condition elements.

[0092] The Fig. The activation state control program 120 shown in Figure 2 can be installed on an existing PLC to allow the PLC to function as the PLC 100 according to the embodiment. The activation state control program 120 can be distributed via a communications network or stored and distributed on a non-transitory computer-readable recording medium.

[0093] The foregoing describes some exemplary embodiments for illustrative purposes. Although the foregoing discussion has presented specific embodiments, those skilled in the art will recognize that changes in form and detail may be made without departing from the broader spirit and scope of the invention. Therefore, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. This detailed description, therefore, is not to be taken in a limiting sense, and the scope of the invention is defined only by the appended claims, along with the full scope of equivalents to which such claims are entitled. List of reference symbols 100 programmable logic controllers 110 Flowchart 120 Activation state control program 130 flag data 140 Storage device 150 processor 151 Flag data update receiver 152 Transitional condition determiner 153 External interrupt receiver 154 Internal interrupt receiver 155 Preventers 155a Transition preventer 155b External interrupt preventer 155c Internal interrupt preventer 156 exporters 160 communication device 200 Programmable Display (Human-Machine Device) 210 Screen display 300, 300A, 300B, 300C, 300D, 300E, 300F device 400 sequence control system CL Communications Management CV funding CVa main line CVb selection line ST0 step (first execution element) ST1 step ST2 Step ST3 Step ST4 Step ST5 Step ST6 Step ST7 Step (call execution element) TR1 Transition (transition condition element) TR2 transition TR3 transition TR4 transition TR5 transition TR6 transition TR7 transition TR8 transition TR9 transition TR10 transition TR11 transition BL1 Block (second execution element) BL2 Block (Branch Execution Element) SS selection order IR1 External interrupt instruction IR2 Internal Interrupt Instruction ER1 Transition cancellation error ER2 External interrupt cancellation error ER3 Internal interrupt cancellation error QUOTES CONTAINED IN THE DESCRIPTION

[0000] This list of documents submitted by the applicant was generated automatically and is included solely for the convenience of the reader. This list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions. Cited patent literature

[0000] JP 10 - 171 527

[0007]

Claims

[1] A programmable logic controller for executing a sequence program, the sequence program comprising a first execution element defining a preceding action, a second execution element defining a subsequent action to be executed subsequent to the preceding action, and a transition condition element defining a transition condition for transitioning an active state from the first execution element to the second execution element, the programmable logic controller comprising: a flag data update receiver for receiving an update of flag data indicating whether activation of the second execution element is permitted or prohibited; an interrupt receiver to receive an interrupt instruction indicating a request to activate the second execution element regardless of whether the transition condition is met; an interrupt preventer for referring to the latest flag data when the interrupt receiver receives the interrupt instruction, and for maintaining an inactive state of the second execution element and outputting an interrupt cancellation error indicating that the interrupt instruction has been canceled when the flag data indicates that activation of the second execution element is prohibited; and an executor to activate the second execution element when the interrupt receiver receives the interrupt instruction and the latest flag data indicates that activation of the second execution element is permitted. [2] Programmable logic controller according to claim 1, wherein the interrupt receiver comprises an external interrupt receiver to receive an external interrupt instruction, which is the interrupt instruction from outside the programmable logic controller, the interrupt preventer comprises an external interrupt preventer for referring to the latest flag data when the external interrupt receiver receives the external interrupt instruction, and for maintaining the inactive state of the second execution element when the flag data indicates that the activation of the second execution element is prohibited and outputting an external interrupt cancellation error as an interrupt cancellation error indicating that the external interrupt instruction has been canceled, and the executor activates the second execution element when the external interrupt receiver receives the external interrupt instruction and the latest flag data indicates that activation of the second execution element is permitted. [3] Programmable logic controller according to claim 2, wherein the sequence program comprises a branch execution element which is included together with the second execution element in a selection order, and the branch execution element is activated alternately with the second execution element, the external interrupt instruction requests a switch of the active state from the branch execution element to the second execution element, and the external interrupt preventer refers to the latest flag data when the external interrupt receiver receives the external interrupt instruction, and, if the flag data indicates that activation of the second execution element is prohibited, maintains the active state of the branch execution element to prevent activation of the second execution element. [4] Programmable logic controller according to one of claims 1 to 3, wherein the sequence program comprises a call execution element that is different from the first execution element and the second execution element, and that comprises an activation code that describes the activation of the second execution element regardless of whether the transition condition is met, the interrupt receiver comprises an internal interrupt receiver for receiving, when the call execution element is activated, an internal interrupt instruction which is the interrupt instruction indicating the activation of the second execution element upon execution of the activation code, the interrupt preventer comprises an internal interrupt preventer for referring to the latest flag data when the internal interrupt receiver receives the internal interrupt instruction, and for maintaining the inactive state of the second execution element and outputting an internal interrupt cancellation error indicating that the internal interrupt instruction is canceled as an interrupt cancellation error when the flag data indicates that the activation of the second execution element is prohibited, and the executor activates the second execution element when the internal interrupt receiver receives the internal interrupt instruction and the latest flag data indicates that activation of the second execution element is permitted. [5] Programmable logic controller according to one of claims 1 to 4, further comprising: a transition condition determiner to determine whether the transition condition defined in the transition condition element is met after the preceding action has been performed; and a transition preventer to refer to the latest flag data when the transition condition determiner determines that the transition condition is met, and to maintain the active state of the first execution element and prevent the activation of the second execution element when the flag data indicates that the activation of the second execution element is prohibited, wherein the executor activates the second execution element if the transition condition determiner determines that the transition condition is met and the latest flag data indicates that activation of the second execution element is permitted. [6] Sequence control system, comprising: the programmable logic controller according to one of claims 1 to 5; and a human-machine device to receive an input to indicate an update of the flag data and to instruct the flag data update receiver to update the flag data based on the input. [7] An activation state control program for a programmable logic controller to execute a sequence program, the sequence program comprising a first execution element specifying a preceding action, a second execution element specifying a subsequent action to be executed following the preceding action, and a transition condition element specifying a transition condition for transitioning an active state from the first execution element to the second execution element, the activation state control program causing the programmable logic controller to act as: Flag data update receiver to receive an update of flag data indicating whether activation of the second execution element is permitted or prohibited; an interrupt receiver to receive an interrupt instruction specifying a request to activate the second execution element regardless of whether the transition condition is met; an interrupt preventer to refer to the latest flag data when the interrupt receiver receives the interrupt instruction, and to maintain an inactive state of the second execution element and output an interrupt cancellation error indicating that the interrupt instruction has been canceled when the flag data indicates that activation of the second execution element is prohibited; and an executor to activate the second execution element when the interrupt receiver receives the interrupt instruction and the latest flag data indicates that activation of the second execution element is allowed.

Citation Information

Patent Citations

  • 10-171527