Method for creating sequence control programs for PLCs, apparatus for creating sequence control programs for PLCs, and program

A GUI-based method for creating PLC sequence control programs addresses the complexity of LD and SFC by allowing users to visually connect trigger and action elements, ensuring program consistency and adherence to IEC 61131-3 standards, making PLC programming accessible to non-experts.

JP2026099762APending Publication Date: 2026-06-18KUSHIDA INDS

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
KUSHIDA INDS
Filing Date
2025-12-01
Publication Date
2026-06-18

AI Technical Summary

Technical Problem

Existing graphical programming languages for PLCs, such as LD and SFC, are difficult for users without programming knowledge to understand and use effectively, hindering efficient creation of sequence control programs.

Method used

A software-based method that utilizes a graphical user interface (GUI) to allow users to create sequence control programs for PLCs by connecting trigger and action elements visually, converting these inputs into standard programming languages like LD or IL, with error detection and correction features to ensure program consistency.

Benefits of technology

Enables users without programming expertise to easily create sequence control programs for PLCs, ensuring program consistency and adherence to IEC 61131-3 standards, facilitating intuitive and efficient program creation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026099762000001_ABST
    Figure 2026099762000001_ABST
Patent Text Reader

Abstract

Even without knowledge of standard programming languages ​​such as LD or SFC, it is possible to easily create sequence control programs for PLCs. [Solution] When creating a sequence control program for a PLC in the computer 10, the program creation screen is displayed on the monitor 40. Images of trigger elements and operating elements are displayed in association with images of components such as the control panel image 140M and the conveyor image 200M. When the operator performs mouse drag operations to link elements and sets matters related to operation control in the connection settings screen, the operation control is defined as a connection and a program based on IL and LD is created. In response to a series of connection input operations, the programs are arranged in connection order and a sequence control program is created.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a programmable logic controller (hereinafter referred to as PLC) that performs sequence control on a controlled device such as a conveyor, and particularly relates to the creation of a sequence control program by graphical programming.

Background Art

[0002] In an automatic control system such as FA (Factory Automation), controlled devices such as conveyors and robot arms are connected to the input / output units of a PLC. Then, sequence control is performed by executing a pre-embedded PLC program.

[0003] Regarding the PLC program, the standard is defined in IEC61131-3, and ladder diagram (hereinafter referred to as LD), function block diagram (hereinafter referred to as FBD), sequential function chart (hereinafter referred to as SFC), instruction list (hereinafter referred to as IL), and structured text (hereinafter referred to as ST) are listed as standard programming languages.

[0004] LD is a graphic program corresponding to a relay sequence diagram, with contacts and coils as basic elements, and is created according to the operation sequence (sequence) (see Patent Document 1). In SFC, it is represented by a Petri net with places, transitions, arcs, and tokens as basic elements, and is created according to the operation sequence (see Patent Document 2).

[0005] Also, a program combining SFC and LD is known (see Patent Document 3). In that case, an SFC-form program that connects steps and transitions in a flowchart format according to the operation sequence is created, and LD is created for each step and transition.

Prior Art Documents

Patent Documents

[0006] [Patent Document 1] Patent No. 7423895 [Patent Document 2] Patent No. 2528198 [Patent Document 3] Patent No. 5862236 [Overview of the project] [Problems that the invention aims to solve]

[0007] LD is used as a graphical programming language that allows users to visualize relay sequence diagrams, but for users who have not mastered and understood relay sequence circuits, it is difficult to create programs efficiently. Similarly, SFC is difficult to understand in terms of program design rules, and requires skilled individuals to create programs.

[0008] Therefore, there is a need to provide a programming method that allows users to easily create sequence control programs for PLCs, even without knowledge of standard programming languages ​​such as LD or SFC. [Means for solving the problem]

[0009] The present invention relates to software for creating sequence control programs for PLCs, and technological trends are focused on providing software, firmware, and hardware that allow users to intuitively and easily create sequence control programs through an excellent GUI (Graphical User Interface).

[0010] One aspect of the present invention is a method for creating a sequence control program, in which a computer creates a sequence control program for a programmable logic controller (hereinafter referred to as PLC). For example, the program creation process is executed by incorporating the program into application software such as editing software or support software for creating sequence control programs. The user performs input operations on a monitor or terminal screen using a computer such as a terminal or a server.

[0011] In this invention, for each of a plurality of components that can be connected to a PLC, an image of a trigger element and an action element, or an image of either one of them, which have boolean values, is displayed on the screen. Then, in response to input operations such as connecting predetermined trigger element and action element images on the screen and setting an action sequence, the operation control of the components (hereinafter referred to as "connection") is defined. The action sequence represents the sequence of operations within or between components that are to be controlled. The action sequence also includes an action sequence that groups operations within or between components into a unit and starts and stops them individually as a module.

[0012] "Components" refer to mechanical elements involved in motion control by a PLC. This includes mechanical elements that perform a certain function, or mechanical elements that perform a function in relation to another mechanical element. Examples of components that are controlled by or related to the control of a PLC include conveyors, robot arms, sensors, and switches. Components also include control panels that are operated to start and end motion sequences.

[0013] An "operating element" is defined as a basic program element that causes a component to perform a predetermined action. On the other hand, a "trigger element" is defined as a basic program element that induces an external component or itself to perform a specific function (action). A component can be assigned (associated with) at least one of the trigger elements and operating elements.

[0014] For example, sensors and switches installed on components for purposes such as position detection can be designated as trigger elements based on their function. Control panels that exchange signals with the controlled object can also be designated as trigger elements. Action elements can be designated for components such as conveyors and robot arms based on their function (what is manifested during operation). Both trigger elements and action elements, which are fundamental elements in the program, have boolean values ​​according to a sequence control program based on ON / OFF control.

[0015] Trigger elements and operation elements correspond to basic program elements, i.e., basic instructions, as defined in this invention. By defining the relationship between trigger elements and operation elements within or between components, logical operation instructions such as logical AND, logical OR, and logical negation can be defined.

[0016] Furthermore, since connections are defined based on the user's drawing input without requiring programming language input, programmatically defined trigger elements and action elements are displayed as images. Images of multiple components can be displayed on the screen, and the images of trigger elements and / or action elements can be displayed in association with the images of related components.

[0017] For example, a trigger element can be displayed as an image of the output side (output terminal) relative to an image of a component. An action element can be displayed as an image of the input side (input terminal) relative to an image of a component.

[0018] The operator can perform input operations on the screen that include connecting images of predetermined trigger elements and motion elements on the screen (referred to here as linking operations) and setting motion sequences (referred to here as motion sequence setting operations). Such input operations are referred to here as connection input operations. In this invention, motion control within a component or between related components is set in response to connection input operations (this is referred to here as "defining the connection").

[0019] For example, a mouse can be used as an input member, and a linking operation can be performed by a drag operation using the mouse. Further, as the operation sequence setting operation, a screen (dialog) that enumerates and displays items representing numerical values and the content of the operation sequence can be displayed, and an operator can select and set the content.

[0020] Then, from the defined connections, a standard programming language is created, and the standard programming languages created for each connection input operation are arranged in order to create a sequence control program. For example, as the standard programming language for a PLC, at least one of a ladder diagram (hereinafter referred to as LD) and an instruction list (hereinafter referred to as IL) is created.

[0021] In the operation sequence setting operation, it is possible to display an operation sequence setting screen on which the trigger conditions, operation settings, and occurrence timings of the trigger elements connected on the screen can be set.

[0022] Here, the trigger condition represents the condition when activating a component. The operation setting determines either an operation transition from ON to OFF or from OFF to ON state of the component when the trigger condition is satisfied. The occurrence timing determines whether to delay the timing of function manifestation by a timer or a counter, or to manifest the function without delay.

[0023] When creating LD or IL as the standard programming language, the defined connections can be divided into an operation sequence control part and an output control part to create a programming language. For example, in the operation sequence control part, when there are a plurality of connections with the same and simultaneous, that is, trigger conditions that occur simultaneously but result in different outputs, it is possible to create a standard programming language by grouping those connections.

[0024] When a user makes an incorrect connection input operation, the program loses consistency, or a situation may occur where the operation sequence intended by the user is not achieved. For example, when the ON or OFF of the above-described operation settings continues for the same operation element, the desired operation sequence may not be obtained in some cases.

[0025] In the output control part, it is possible to detect a plurality of connections that result in the same output under different trigger conditions. And in the output control part, when there are a plurality of connections that result in the same output under different trigger conditions, it is possible to create a standard programming language by connecting the plurality of connections in parallel.

[0026] For example, in the case of LD, create a program provided with a ladder diagram of a parallel circuit considering the connections after the second one. Similarly, programming can also be done in IL.

[0027] On the screen, it is possible to display a list of the connections defined in the order of the connection input operations in the connection order. In this case, it is possible to change the connection order in response to an operation to change the connection order, and change the order of the created standard programming language.

[0028] As another aspect, the present invention can be configured as a sequence control program creation device. The sequence control program creation device is defined for each of a plurality of components that can be connected to a programmable logic controller (hereinafter, PLC), and includes a display processing part that displays an image of a trigger element and / or an operation element having a bool value on the screen, an operation of connecting images of a predetermined trigger element and an operation element on the screen (hereinafter, referred to as a linking operation), and an operation of setting an operation sequence (hereinafter, referred to as an operation sequence setting operation). In response to a connection input operation including these, it defines the operation control of related components (hereinafter, referred to as connection), and includes a program creation processing part that creates a standard programming language from the defined connection. The program creation processing part arranges the standard programming languages created for each connection input operation in order to create a sequence control program.

[0029] Alternatively, the present invention can also be configured by a program in another embodiment. The computer is configured to execute the following steps: display on a screen images of trigger elements and / or operating elements having boolean values, which are defined for each of a plurality of components that can be connected to a programmable logic controller (hereinafter referred to as a PLC); define the operation control (hereinafter referred to as connection) of related components in response to connection input operations, which include an operation to connect predetermined trigger element and operating element images on the screen (hereinafter referred to as a linking operation) and an operation to set an operation sequence (hereinafter referred to as an operation sequence setting operation); create a standard programming language from the defined connections; and create a sequence control program by sequentially arranging the standard programming languages ​​created for each connection input operation. [Effects of the Invention]

[0030] According to the present invention, sequence control programs for PLCs can be easily created even without knowledge of standard programming languages ​​such as LD or SFC. [Brief explanation of the drawing]

[0031] [Figure 1] This is a block diagram showing the schematic configuration of the sequence control system of this embodiment. [Figure 2] This figure shows the program creation screen. [Figure 3] This diagram shows the settings screen for the machine being controlled (hereinafter referred to as a "part"). [Figure 4] This diagram shows the screen during the input operation where a worker links images together. [Figure 5] This diagram shows the action sequence setting dialog that appears after a mouse drag operation (after release). [Figure 6] Figure 5 shows the screen displayed when the connection is confirmed based on the contents of the connection settings dialog box. [Figure 7]This diagram shows the display screens for LD and IL for the first control step (motion control) of moving the conveyor. [Figure 8] This diagram shows the screen when performing a new mouse drag operation related to the following motion control. [Figure 9] This diagram shows the action sequence setting dialog that appears after a mouse drag operation. [Figure 10] This diagram shows the screen after the trigger element and the action element have been connected. [Figure 11] This diagram shows the screen after a series of connection input operations for the conveyor and robot arm have been completed. [Figure 12] This diagram shows the screen displaying the LD and IL programs. [Figure 13] This is a diagram showing the settings screen for a robot arm. [Figure 14] This diagram shows a flowchart of the sequence control program creation process. [Figure 15] This diagram shows flowcharts for the operation sequence control section and the output control section. [Figure 16] This is a ladder diagram based on four trigger conditions. [Figure 17] This is a ladder diagram related to a timer. [Figure 18] Here are other ladder diagrams related to timers. [Figure 19] This is a ladder diagram related to counters. [Figure 20] This diagram shows a ladder diagram related to the operation settings. [Figure 21] These are ladder diagrams for steps 2 and 3 of the <Operation Sequence Control>. [Figure 22] This diagram shows an example of a composite output ladder diagram. [Figure 23] This diagram shows another example of a ladder diagram that has undergone program modification. [Figure 24] This figure shows the screen for connection input operations in another embodiment. [Figure 25]This screen shows the connection input operation required to complete one cycle of pick and place. [Modes for carrying out the invention]

[0032] The creation of the sequence control system and sequence control program of this embodiment will be described below with reference to the drawings.

[0033] Figure 1 is a block diagram showing the schematic configuration of the sequence control system of this embodiment.

[0034] The sequence control system is a system consisting of a PLC 100 and a computer 10 connected to the PLC 100. The PLC 100 is equipped with an input / output interface (I / F) 110 for communicating with various controlled devices.

[0035] The I / F 110 of the PLC 100 is connected to the conveyor 200 and robot arm 300, which are to be controlled, and also to a control panel 140 equipped with an operation panel for operator use. The PLC 100 is equipped with a CPU 120 and memory 130, and the CPU 120 executes a sequence control program stored in the memory 130 to perform a series of sequence controls on the controlled equipment.

[0036] The sequence control program for the PLC is created by an operator using a computer 10 consisting of a terminal such as a laptop computer. The sequence control program is a program based on the standard programming language specified in the IEC61131-3 standard, and in this case, it is written in IL. The created sequence control program is converted into a program format that can be written to the PLC 100 by dedicated software, and then written to the memory 130 of the PLC 100.

[0037] Computer 10 is connected to input devices 30M such as a keyboard and mouse via an interface (I / F) 28, and is also connected to a monitor 40. Computer 10 is equipped with a CPU 22, RAM 24, ROM 26, display processing unit 29, PLC program creation unit 30, etc., and when creating a PLC program, it starts a sequence control program creation program stored in storage.

[0038] The PLC program creation unit 30 performs a sequence control program creation support process based on the above program. The user performs the sequence control program creation work by inputting operations according to the graphical program creation screen displayed on the monitor 40. The display processing unit 29 performs display processing to support program creation during the program creation process.

[0039] In creating and editing this sequence control program, the operator performs drawing-based input operations that differ from conventional graphic programming such as LD. Even without knowledge of standard programming languages ​​like LD or IL, the operator can create a sequence control program simply by performing intuitive input operations according to the operating sequence of the machine being controlled.

[0040] The following describes the input operations performed by the operator and the screen displays for the purpose of controlling the following operation sequence.

[0041] <Contents of the operation sequence control> 1. When the start switch on the control panel 140 is pressed, the conveyor 200 starts to drive. 2. When the workpiece (material to be processed) moves to a position where the sensor on conveyor 200 reacts, the drive of conveyor 200 is stopped. 3. Simultaneously, begin descending the robotic arm 300. 4. Machining begins 1 second after the robot arm 300 reaches its lowered end. However, the robot arm 300 is initially raised, and when the raising function is turned OFF, the air in the cylinder is released and machining begins automatically.

[0042] Figure 2 shows the program creation screen. Figure 3 shows the settings screen for the machine to be controlled (hereinafter referred to as a component).

[0043] The program creation screen displayed on monitor 40 shows images of the components to be controlled in the sequence control program. Here, images 140M of the control panel 140, 200M of the conveyor 200, and 300M of the robot arm are displayed. These images are displayed according to input operations such as selecting an icon to select the conveyor 200 as a component. Furthermore, information regarding the function and configuration of the displayed component is shown in a list (see symbol PM).

[0044] On the other hand, by performing a predetermined operation, a settings dialog screen for the function and configuration of the specified component will be displayed. In Figure 3, the settings dialog DL1 for conveyor 200 is illustrated as a component. The settings dialog DL1 displays the operation settings of conveyor 200 (drive (forward), reverse), as well as the attached switches and sensors. Furthermore, settings related to self-holding are also displayed.

[0045] Operators can check the function and configuration of each of these components and change the settings as needed. The same setting dialog screen can be displayed for the control panel image 140M and the robot arm image 300M.

[0046] The control panel image 140M and conveyor image 200M are accompanied by image frames (hereinafter referred to as input terminal image frames and output terminal image frames) 140A, 140B, and 200A, 200B, respectively, which correspond to the input and output sections of the actual control panel 140 and conveyor 200. The input / output terminal image frames 140A, 140B, and 200A, 200B display images of trigger elements and operating elements defined by the operation and function of the components.

[0047] Each component can be defined as something that exhibits a specific function or causes other functions to be exhibited in response to some action from the outside, from other components, or through some action from within. Furthermore, the act of exhibiting a function can be called an action, and the thing that induces the exhibiting of that function can be called a trigger.

[0048] For example, if pressing the operation switch on the control panel 140 causes the motor of the conveyor 200 to rotate and the belt to move, the operation switch can be called the trigger, and the driving of the conveyor 200 (with one direction being the forward direction) can be called the operation.

[0049] Furthermore, at least one of a trigger and an action can be defined for a component. A trigger induces the action of the component. An action manifests a function as a result of that trigger. The same trigger may also manifest a different action. For example, if the drive switch is pressed when the conveyor 200 is not running, it will start running, and if the drive switch is pressed while it is running, it will stop running.

[0050] The trigger elements for the components, such as switches and sensors, are connected to the I / F110 of the PLC100, and the signals sent from these switches are received as input signals. On the other hand, the elements that control the operation of the components, i.e., the functions of the components, are manifested in response to the output signals sent from the PLC100. For example, they can start or stop operation.

[0051] On the screen shown in Figure 2, images of the operating elements and trigger elements are displayed corresponding to the input and output parts of the components, respectively. In the output terminal image frame 140B of the control panel image 140M, images of the start button switch (including the notation "Start") 142, the stop button switch (including the notation "Stop") 144, and the emergency stop button switch (including the notation "Emergency Stop") 146 are displayed as images of the trigger elements.

[0052] Meanwhile, in the input terminal image frame 200A of the conveyor image 200M, the drive image 212 and the inversion image 214 are displayed as images of the operating elements. In the output terminal image frame 200B, the sensor image 216 is displayed as an image of the trigger element.

[0053] The trigger elements and motion elements are determined according to the notation in the "Drive Settings" and "Switches, Sensors" fields of the component setting dialog L1 shown in Figure 3. The trigger elements and motion elements of the control panel 140, robot arm 300, and other components other than the conveyor 200 are also pre-set by default according to the configuration and function of the components. Alternatively, the system may be configured so that the operator can sequentially set the configuration and function for each component.

[0054] The operator performs an operation (linking operation) to link a specific trigger element with an action element in the screen display state shown in Figure 2. This input operation is performed in accordance with the desired action sequence control described above. Specifically, a mouse drag operation is performed.

[0055] Figure 4 shows the screen during an input operation in which an operator links images together. A dashed line C1 is displayed in accordance with the mouse drag operation to link the trigger element image 142 of the control panel image 140M with the motion element image 212 of the conveyor image 200M.

[0056] Figure 5 shows the action sequence setting dialog that appears after a mouse drag operation (after release).

[0057] The PLC100 can send an output signal to a component when the trigger element, such as a sensor or switch, satisfies one of the following four trigger conditions. 1. When it is in the ON state 2. When it is in the OFF state 3. When changing from OFF to ON (rising edge derivative) 4. When changing from ON to OFF (falling edge derivative) The operator selects the trigger condition in the operation sequence setting dialog DL2.

[0058] On the other hand, there are two types of output signals that can be sent to the operating element by a trigger. 1. Turn the function ON. 2. Turn the operation OFF. Here, the settings that define this operating mode, that is, the state transitions of the component, are referred to as "operation settings." The operator can choose one of the operating modes.

[0059] Furthermore, there are three possible timings for sending the output signal (hereinafter referred to as the generation timing). 1. Immediately 2. After a certain period of time (hereinafter referred to as the timer) 3. After a certain number of times (hereinafter referred to as the counter)

[0060] The operator selects and sets the trigger condition, operation setting, and occurrence timing in the operation sequence setting dialog DL2 shown in Figure 5 (operation sequence setting operation). In Figure 5, the trigger condition for the control panel 140 is set to "when in the ON state". The operation setting for the conveyor 200 is set to "turn ON", and the occurrence timing is set to immediately after (without using a timer or counter). Furthermore, it is possible to select and set whether or not to include a self-holding circuit function.

[0061] The operator selects and determines the trigger conditions, operation settings, and timing of occurrence, thereby determining the operation control between the control panel 140 and the conveyor 200, i.e., the first control step of the above-described <operation sequence control>. This operation control is determined by linking the trigger element and the operation element, and by determining the trigger conditions, operation settings, and (values) of the timing of occurrence between the elements. This determined operation control is defined as "connection".

[0062] In the program creation screen shown in Figure 2, the image of the PLC100 is not displayed, and the linking of trigger elements and action elements differs from the actual wiring between components via the PLC100. The operator performs mouse drag operations (linking operations) while visualizing the operation sequence, and then performs operations on the operation sequence setting screen (operation sequence setting operations). The series of input operations that define the connections are referred to here as "connection input operations".

[0063] Figure 6 shows the screen when the connection is determined using the contents of the operation sequence setting dialog shown in Figure 5. Once the connection is defined (determined), a polyline C2 is displayed as shown in Figure 6. This line C2 is a conceptual connection line. The details of the connection are also displayed (see symbol PN).

[0064] Figure 7 shows the display screens for the LD and IL for the first control step (motion control) of moving the conveyor 200. By defining the connection, the IL and LD describing the motion control are automatically created. The program display can be superimposed on the program creation screen in Figure 2, or it can be displayed separately.

[0065] Figure 8 shows the screen when a new mouse drag operation is being performed for the following motion control. Line C3 is displayed during the mouse drag operation connecting the trigger element image 216 of conveyor image 200M and the motion element image 212 of conveyor image 200M. This is a mouse drag operation that corresponds to the second motion control of the <motion sequence control> described above.

[0066] In conveyor 200, the installed position detection sensor is defined as the trigger element. On the program creation screen, the trigger element image 216 is displayed in the output terminal image frame 200B of conveyor image 200M. The operation element image 212 of conveyor image 200M corresponds to the driving of conveyor 200, as described above.

[0067] Figure 9 shows the operation sequence setting dialog that appears after a mouse drag operation. Here, the operator sets the trigger conditions, operation settings, and timing for driving the conveyor 200. For the operation settings, "Turn OFF" (stop driving) is selected.

[0068] Figure 10 shows the screen when the connections are defined (confirmed) using the contents of the operation sequence setting dialog in Figure 9. Connection lines C2 and C4 are displayed. The contents of the connections are also displayed in a list in the order they are connected. The operator performs similar connection input operations for the remaining operation controls of the <Operation Sequence Control> described above, and the connections are defined sequentially.

[0069] Figure 11 shows the screen after all connection input operations have been completed for the conveyor 200 and robot arm 300. Figure 12 shows the display screen of the final created LD and IL programs. In Figure 11, the screen is shown after the input connection operations and operation settings have been performed to define a series of operation sequences in which the robot arm 300 operates following the operation of the conveyor 200, and connection lines C6 and C8 are displayed.

[0070] The operator can overlay the LD and IL by performing a predetermined operation. As shown in Figure 7, the LD and IL are created for each control step, and it is also possible to display the LD and IL at intermediate stages of the operation. Furthermore, it is possible to display them on the screen at all times so as not to overlap with the program creation screen.

[0071] Figure 13 shows the settings screen for the robot arm 300, which is a component.

[0072] The configuration of the robot arm 300 is pre-configured as shown in Figure 11, but it is also possible to add components during operation. Other components can also be added. Furthermore, after program creation is complete, it is possible to change the elements, trigger conditions, operation settings, and timing of occurrences. The order of control steps (connection order) can also be changed using mouse operations.

[0073] Next, we will explain the process of creating the sequence control program. In accordance with the connection input operations described above, the ID and IL programs are created sequentially for each control step.

[0074] Figure 14 is a flowchart showing the process of creating a sequence control program.

[0075] The connection is defined according to the user's linking and operation sequence setting operations described above (S101-S105). Then, the LD and IL programs are created, divided into an operation sequence control section and an output control section (S106). The created LD and ID program lists are then displayed on the screen in connection order (S107). Once the series of connection input operations are complete, the program creation process ends (S108).

[0076] Figure 15 shows flowcharts illustrating the program creation process for the operation sequence control section and the output control section, respectively.

[0077] Here, the automated program creation process for LD is shown separately as a flowchart for the operation sequence control section (S201-S204) and a flowchart for the output control section (S301-S305). This will be explained below. Note that IL also has similar program design rules to LD and can be created in the same way.

[0078] The trigger element can be represented by a value of 1 or 0 for the trigger condition and the value of the signal output to the actuating element. Therefore, the trigger element can be represented as a variable with a boolean value. Similarly, the actuating element can also be represented as a variable with a boolean value. For example, 1 represents the actuating state, and 0 represents the actuating state.

[0079] Here, m trigger elements are X1, X2, ...Xm, and n action elements are Y1, Y2, ... Let ...Yn be defined as C1, C2, ...Cl in the order they were defined. In this case, each connection Ck (k=1, 2, ...l) can be represented by a set of the trigger element and action element it associates with, the trigger condition in that connection relationship, the action setting, the timing of occurrence, and its value.

[0080] Here, the LD is created by dividing it into an operation sequence control section and an output control section. Each section is created using the following procedure.

[0081] <Operation sequence control section> This procedure explains the flowchart of the operation control sequence control section (left side) in Figure 15. 1. Prepare multiple ladder diagrams as templates in advance, and define the triggers for the connections. By applying elements and trigger conditions, select the appropriate ladder diagram. Here, Ladder diagrams like those shown in Figures 16, 17, 18, and 19 are prepared. 2. Scan the defined connections in order, add intermediate relays, and store them. At this time, the same When multiple operations occur under rigger conditions, they are grouped together as a single intermediate relay. handle. 3. When an intermediate relay is assigned to all connections, the process terminates.

[0082] Figure 16 is a ladder diagram based on four trigger conditions. However, it is assumed that timers and counters are not included as trigger timings. Mk represents the intermediate relay to be stored as an internal variable. There are 4 patterns × 2 = 8 patterns available, depending on whether or not there is a self-holding circuit function, as shown in Figure 16. However, in the case of connection C1, the intermediate relay M0 is always set to 1.

[0083] Figures 17 and 18 are ladder diagrams related to timers. Figure 17 is a ladder diagram for when the trigger is continuous, and Figure 18 is a ladder diagram for when the trigger is not continuous. Figures 17 and 18 show ladder diagrams when a timer is set in <Operation Sequence Control> 4. If you want to press a momentary switch only once and trigger an action 1 second later, a ladder diagram like Figure 18 is used. Figure 19 is a ladder diagram related to counters.

[0084] <Output control section (performed after the completion of the operation sequence control section)> This procedure explains the flowchart for the output control section (right side) in Figure 15. 1. Obtain the connection from the beginning. 2. Record the operating elements of the acquired connection and the pair of intermediate relay and operating setting. 3. Scan subsequent connections in order and look for connections with the same operating element. If the same connection is found, record the pair of intermediate relay and operating setting. 4. After searching to the end, a composite output ladder diagram is generated from the recorded sequence of intermediate relays and their operation settings. Repeat steps 5.1-4 until there are no more connections for which a composite output ladder diagram has not been generated, at which point the process terminates.

[0085] Figure 20 shows a ladder diagram related to the operation settings. For the operation settings, one of two options is selected: to set it to ON or to set it to OFF.

[0086] The explanation so far concerns the program creation process for the operation procedures exemplified in the above <Contents of Operation Sequence Control>, but similarly, LD and IL are created when connection input operations are performed to define connections between other components or connections within components.

[0087] As described above, LD and IL are created at each control step according to the trigger conditions, operation settings, and generation timing values ​​(and the presence or absence of a self-holding circuit function) set in response to the user's connection input operation. At this time, the operation sequence control section shares intermediate relays (auxiliary relays), and the output control section performs program modification processing to use only the first intermediate relay. This will be explained below.

[0088] Figure 21 is a ladder diagram for sections 2 and 3 of the <operation sequence control section>. When the sensor on the conveyor 200 is turned ON, the conveyor 200 stops and the robot arm 300 begins to descend simultaneously. In other words, different actions (outputs) are produced by the same and simultaneously occurring triggers.

[0089] In this case, the operation sequence control section can be consolidated by sharing the intermediate relay M002. If there are limitations on the amount of memory that can be used, the number of intermediate relays will also be limited. This problem can be solved by sharing the intermediate relays.

[0090] Figure 22 shows a composite output ladder diagram. Here, we show an example of a ladder diagram that is different from the one described in the <Contents of Operation Sequence Control> above.

[0091] A composite output ladder diagram is created by connecting an intermediate relay with the operation setting ON and the next intermediate relay with the operation setting OFF in series, and then connecting these in parallel. By creating such a composite output ladder diagram, if an inconsistent connection occurs due to an operator input error (for example, if the operation setting is set to ON consecutively), the output control section will detect the composite output ladder section and create a ladder diagram with a parallel circuit that takes into account the second and subsequent connections. This allows processing to be performed using only the first intermediate relay. If such an inconsistent connection is detected in the program, a warning message may be displayed to the user or other relevant parties.

[0092] Figure 23 shows another composite output ladder diagram. Here, we show another example of a ladder diagram different from the one described in <Contents of Operation Sequence Control> above.

[0093] Figure 23(A) shows a ladder diagram based on incorrect connection input operation. Here, the operation setting is set to ON for intermediate relays M1 and M2 consecutively. When intermediate relay M1 turns ON, output Y will not turn ON until intermediate relay M2 also turns ON. This is highly likely to be a program that was not intended by the user.

[0094] Therefore, as shown in Figure 23(B), a ladder diagram omitting the intermediate relay M2 is automatically created. The same process is performed in the LD creation process for the output control section shown in Figure 15.

[0095] Figures 1-23 illustrate the creation of a sequence control program corresponding to a series of operations performed between multiple components. On the other hand, many components can operate in cycles independently, and different components can also be controlled independently as a unit.

[0096] The following describes another embodiment, specifically the connection operation and operation settings when the system is divided into modules according to function.

[0097] Figure 24 shows the screen for connection input operations in another embodiment, and the operation sequence setting dialog is also displayed. Here, the operation sequence setting dialog is overlaid on the screen for connection input operations, but they may be displayed separately.

[0098] The screen displays the control panel image 140M and the pick-and-place image 300M. The pick-and-place component is equivalent to the robot arm 300 shown in Figure 1. Furthermore, the motion image frame 340A and trigger image frame 340B in the pick-and-place image 300M correspond to the input terminal image frame and output terminal image frame shown in Figure 6, etc.

[0099] The actions performed using pick and place, that is, the series of actions such as lifting and transporting an object, can be defined as a single, unified sequence of operations.

[0100] The user performs a connection input operation to activate the pick-and-place module function. Specifically, a drag operation is performed to connect and link an arbitrary location within the area of ​​control panel image 140M to the rise image 342, which represents the start of the operation of pick-and-place image 300M. The operation sequence setting dialog displays a settings screen where the activation signal can be selected.

[0101] This connection input operation is triggered by the activation signal itself, but the control panel image 140M itself functions as the trigger element image. By using the control panel as a trigger element along with the components to be controlled, such as conveyors and pick-and-place items, it is possible to define the operation control (connection) that activates the module.

[0102] Figure 25 shows the screen illustrating the connection input operation required to complete one cycle of pick-and-place operation. Similar to Figure 24, the operation sequence setting dialog is displayed overlaid.

[0103] For example, in a pick-and-place system with a single solenoid valve, the upward movement continues until it reaches a predetermined position, at which point it turns OFF, and the downward movement begins due to natural exhaust. A sensor located at the lower end can be used to indicate the end of one cycle of operation.

[0104] In this case, the user performs a drag operation to connect the lower end image 344, indicated in the trigger image frame 340B of the pick-and-place image 300M, with the control panel image 140M. The operation sequence setting dialog displays a setting screen for selecting the end signal.

[0105] Defining the end of a module's operation cycle does not involve a change in the state of any specific operating element, even if a sensor response triggers it. However, by defining a connection (operation control) that explicitly indicates the end of the module's operation, it becomes possible to set the operation sequence for starting and ending the module.

[0106] In the sequence control program creation process of this embodiment, even users without knowledge of LD or IL can automatically create a standard programming language by linking trigger elements and action elements related to the function and input / output of components on the screen, and by selecting and setting items related to operation control on the connection settings screen. As long as the operator understands the operation sequence between components, they can create a sequence control program for the PLC.

[0107] The images of trigger elements and action elements are displayed in accordance with the images of the parts to which they belong (related). This allows the operator to easily understand which elements need to be connected in accordance with the action sequence and proceed with the linking operation.

[0108] Furthermore, the operation sequence setting screen displays multiple pre-configured options for trigger conditions, operation settings, and timing, allowing users to select one of them. This enables users to properly define operation sequences even without detailed knowledge. Note that if a single function can be pre-configured for functions triggered by connections within or between components, the trigger conditions and operation settings may be omitted from the selection options.

[0109] Furthermore, by displaying the connection order in a list, the contents of the operation sequence can be confirmed, and the connection order can be corrected to the correct order by changing it.

[0110] Since the program is created by dividing it into an operation sequence control section and an output control section, it is possible to create a ladder diagram with intermediate relays (stored in internal memory). The output control sections can be grouped under the same trigger conditions, reducing the memory area used. Similar effects can be obtained for IL (Instructional Load).

[0111] Furthermore, even if an operator makes an incorrect connection input operation, a consistent ladder diagram can be created by omitting all but the first intermediate relay when creating the ladder diagram.

[0112] The sequence control program creation method and procedures described above, along with the software incorporating them, are based on standard programming and therefore conform to the IEC 61131-3 standard. This makes them a viable alternative to conventional sequence control programs for PLCs. Furthermore, the above sequence control program creation process can also be applied to beginner-friendly programs, such as those for children's robotics classes. [Explanation of symbols]

[0113] 10 Computers 100 PLC 140 Control Panel 200 conveyors 300 robotic arms

Claims

1. A method for creating a sequence control program for a programmable logic controller (PLC) using a computer, Images of trigger elements and / or action elements, each with a boolean value, are displayed on the screen for each of the multiple components that can be connected to the PLC. In response to connection input operations, which include an operation to connect images of predetermined trigger elements and action elements on the screen (hereinafter referred to as "linking operations") and an operation to set an action sequence (hereinafter referred to as "action sequence setting operations"), the operation control of related components (hereinafter referred to as "connections") is defined, and a standard programming language is created from the defined connections. A method for creating a sequence control program, characterized by arranging standard programming languages ​​created for each connection input operation in order to create a sequence control program.

2. The method for creating a sequence control program according to claim 1, characterized in that it displays a connection settings screen on which the trigger conditions, operation settings, and occurrence timing of the trigger elements connected on the screen in response to the aforementioned linking operation can be selected and set.

3. Images of the aforementioned multiple components are displayed on the screen. The method for creating a sequence control program according to claim 1, characterized in that the images of the trigger element and / or the operating element are displayed in association with the images of related components.

4. A method for creating a sequence control program according to claim 1, characterized in that the defined connections are divided into an operation sequence control part and an output control part, and the standard programming language is created.

5. The method for creating a sequence control program according to claim 4, characterized in that, in the aforementioned operation sequence control section, if there are multiple connections that produce different outputs under the same and simultaneous trigger conditions, these connections are combined and created using a standard programming language.

6. The method for creating a sequence control program according to claim 4, characterized in that the output control section detects multiple connections that produce the same output under different trigger conditions.

7. The method for creating a sequence control program according to claim 4, characterized in that, in the output control section, if there are multiple connections that produce the same output under different trigger conditions, the multiple connections are connected in parallel to create a standard programming language.

8. The connections defined according to the order of connection input operations are listed in connection order. A method for creating a sequence control program according to claim 1, characterized in that the connection order is changed in response to an operation to change the connection order, and the order of the created standard programming language is changed.

9. The method for creating a sequence control program according to claim 1, characterized in that at least one of a ladder diagram (hereinafter referred to as LD) and an instruction list (hereinafter referred to as IL) is created as a standard programming language for the PLC.

10. A method for creating a sequence control program according to claim 9, characterized in that at least one of the LD and the IL is displayed on the screen in connection order.

11. A method for creating a sequence control program according to any one of claims 1 to 10, characterized in that the aforementioned linking operation is a drag operation using a mouse as an input member.

12. A display processing unit that displays images of trigger elements and / or action elements with boolean values, defined for each of several components that can be connected to a programmable logic controller (PLC), on a screen. The system includes a program creation processing unit that defines the operation control of related components (hereinafter referred to as "connection") in response to connection input operations, which include an operation to connect images of predetermined trigger elements and operation elements on the screen (hereinafter referred to as "linking operation") and an operation to set an operation sequence (hereinafter referred to as "operation sequence setting operation"), and then creates a program in standard programming language from the defined connection. A sequence control program creation device characterized in that the program creation processing unit creates a sequence control program by sequentially arranging standard programming languages ​​created for each connection input operation.

13. In computers, The steps include displaying images of trigger elements and / or action elements, each having a boolean value, on a screen, for each of the multiple components that can be connected to a programmable logic controller (PLC), The process includes a step of defining the operation control of related components (hereinafter referred to as "connection") in response to a connection input operation that includes an operation to connect images of predetermined trigger elements and action elements on the screen (hereinafter referred to as "linking operation") and an operation to set an action sequence (hereinafter referred to as "action sequence setting operation"). The steps to create a standard programming language from defined connections, The steps involve creating a sequence control program by sequentially arranging the standard programming languages ​​created for each connection input operation. A program characterized by causing the execution of a specific action.

14. In the step of defining the connection, The program according to claim 13, characterized in that it includes the step of displaying a connection settings screen on which the user can select and set at least one of the trigger conditions, operation settings, and occurrence timing of the connected trigger element on the screen in response to the aforementioned linking operation.

15. In the step of displaying the image of the trigger element and / or action element on the screen, Images of the aforementioned multiple components are displayed on the screen. The program according to claim 13, characterized in that it displays the images of the trigger element and / or the operating element in association with the images of the related components.

16. In the step of creating the aforementioned standard programming language, As a standard programming language for the PLC, at least one of a ladder diagram (hereinafter referred to as LD) and an instruction list (hereinafter referred to as IL) is created. The program according to claim 13, further comprising the step of displaying at least one of the created standard programming languages ​​on a screen in connection order.