Method for creating sequence logic, creation system, and program

JPWO2025229720A5Active Publication Date: 2026-04-07MITSUBISHI ELECTRIC CORP
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2024-04-30
Publication Date
2026-04-07

AI Technical Summary

Technical Problem

Existing methods for creating sequence logic for control devices face challenges with visibility when dealing with large scales and require individual creation for each device, leading to inefficiencies and time-consuming correction processes.

Method used

A method and system that utilize common and individual sheets created in a graphical programming language to efficiently combine sequence logic for multiple control devices, improving visibility and reducing creation burdens.

Benefits of technology

The approach enhances the efficiency of creating sequence logic by improving visibility and reducing the time and effort required for corrections and updates across multiple control devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000018_0000
    Figure 00000018_0000
  • Figure 00000018_0001
    Figure 00000018_0001
  • Figure 00000019_0000
    Figure 00000019_0000
Patent Text Reader

Abstract

A method for creating a sequence logic that operates on a control device includes steps of: creating, by an arithmetic unit, a common sheet that describes a process commonly executed among a plurality of control devices in a graphical programming language; creating, by the arithmetic unit, an individual sheet that describes a process individually executed in each of the plurality of control devices in the graphical programming language; displaying a list of the created common sheet and individual sheets; and creating, by the arithmetic unit, a sequence logic by combining a plurality of sheets selected from the list of the common sheet and the individual sheets according to an execution order in the control device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a method, a creation system, and a program for creating sequence logic that operates on a control device.

Background Art

[0002] A control device is a type of computer that executes a control program created by a user. The control program includes a sequence program that represents sequence logic operating on the control device. The sequence program is usually created by a device prepared separately from the control device.

[0003] As such devices, Japanese Patent Application Laid-Open No. 5-19816 (Patent Document 1), Japanese Patent Application Laid-Open No. 2000-47716 (Patent Document 2), and Japanese Patent Application Laid-Open No. 2009-9314 (Patent Document 3) disclose an editor device for editing a sequence program. A sequence logic creation screen is displayed on the display screen of the editor device. A program in ladder diagram format is displayed on this creation screen. The control content of the control device is specified by the component symbols or connection symbols described in the ladder diagram.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Patent Document 2

Patent Document 3

Summary of the Invention

Problems to be Solved by the Invention

[0005] In the prior art, when the scale of the sequence logic operating on the control device is large, there is a problem of lack of visibility.

[0006] Also, in a scenario where sequence logic for a plurality of control devices is created, considering the differences in control content between the control devices, the sequence logic is created individually for each control device. Even when there is content common to the sequence logic of the plurality of control devices, a screen for creating sequence logic is displayed for each sequence logic of all the control devices, and the work of correcting the changed parts is performed. Therefore, there is concern that the correction work will be time-consuming.

[0007] This disclosure is to provide a technique for improving the efficiency of creating sequence logic operating on a control device.

Means for Solving the Problem

[0008] The creation method of this disclosure is a method for creating sequence logic operating on a control device, and includes steps of creating, by an arithmetic device, a common sheet in which processes commonly executed among a plurality of control devices are described in a graphical programming language; creating, by the arithmetic device, individual sheets in which processes individually executed in each of the plurality of control devices are described in a graphical programming language; displaying a list of the created common sheets and individual sheets; and creating, by the arithmetic device, sequence logic by combining a plurality of sheets selected from the list of the common sheets and individual sheets according to the execution order in the control device.

[0009] The creation system of the present disclosure is a creation system for sequence logic that operates on a control device, and includes an arithmetic device and a storage device that stores a program executed by the arithmetic device. The arithmetic device creates, by a computer, a common sheet that describes, in a graphical programming language, a process commonly executed among a plurality of control devices according to the program. The arithmetic device creates an individual sheet that describes, in a graphical programming language, a process individually executed in each of the plurality of control devices, and displays a list of the created common sheet and individual sheets. The arithmetic device creates sequence logic by combining a plurality of sheets selected from the list of the common sheet and the individual sheets according to the execution order in the control device.

[0010] The program of the present disclosure is a program for causing a computer to implement a method for creating sequence logic that operates on a control device. The method for creating sequence logic includes a step of creating a common sheet that describes, in a graphical programming language, a process commonly executed among a plurality of control devices, a step of creating an individual sheet that describes, in a graphical programming language, a process individually executed in each of the plurality of control devices, a step of displaying a list of the created common sheet and individual sheets, and a step of creating sequence logic by combining a plurality of sheets selected from the list of the common sheet and the individual sheets according to the execution order in the control device.

Effect of the Invention

[0011] According to the present disclosure, it is possible to provide a technique for improving the efficiency of creating sequence logic that operates on a control device.

Brief Description of the Drawings

[0012]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Figure 14

Figure 15

Figure 16

Figure 17

Figure 18

Figure 19

Figure 20

Figure 21

Figure 22

Figure 23

Figure 24

Embodiments for Carrying Out the Invention

[0013] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. In the following description, the same parts and components are denoted by the same reference numerals. Their names and functions are also the same. Therefore, detailed descriptions thereof will not be repeated. Also, each embodiment and each modification example etc. may be selectively combined as appropriate.

[0014] <Terms> First, the terms described in this specification will be explained.

[0015] "Sequence logic" is a kind of software that operates on a control device. A sequence block is configured to output a signal indicating a value processed by an arithmetic component with signals, set values, and constants as inputs. The control device includes, for example, a protection control device for protecting a power system. The arithmetic components include, for example, logic arithmetic components such as AND (logical sum), and timers.

[0016] "Signal" indicates various data managed by a control device. The data types of signals include, for example, binary data (ON / OFF) and numerical data such as integers or real numbers.

[0017] "Set value" is data that can be changed by a user during the operation of a control device. A "sheet" is a unit for creating sequence logic. A sheet is also a unit for instructing the execution order on a control device. That is, the sequence logic is composed of a plurality of sheets combined according to the execution order on the control device. There are "common sheets" and "individual sheets" in a sheet.

[0018] A "common sheet" is a sheet that describes processes commonly executed among a plurality of control devices. The common sheet is commonly used among a plurality of control devices.

[0019] An "individual sheet" is a sheet that describes processes individually executed for each control device. The individual sheet is used only in the corresponding control device.

[0020] On a sheet, processes that are the execution units of a control device are described using a graphical programming language. Specifically, on a sheet, input components, arithmetic components, and output components are arranged, and these components are connected by signal lines. Examples of graphical programming languages include LD (Ladder Diagram) and FBD (Function Block Diagram) defined in the international standard IEC61131-3.

[0021] A sheet has a size that can ensure the visibility of input components, arithmetic components, and output components described in a graphical programming language, even if it is printed on, for example, A4-sized paper.

[0022] "Time-division processing" is a mechanism that divides sequence logic and sequentially executes the divided sequence logic for each execution cycle of a control device.

[0023] <Application Example> FIG. 1 is a diagram showing an application example of a sequence logic creation system according to an embodiment of the present disclosure. In FIG. 1, a creation system 10 for creating sequence logic operating on a protection control device is shown.

[0024] As shown in FIG. 1, the creation system 10 is communicably connected to a plurality of protection control devices 20_1, 20_2, 20_3 via a network NW. For the network NW, for example, the Internet, a LAN (Local Area Network), a USB (Universal Serial Bus), etc. can be used.

[0025] The creation system 10 can exchange various data with a plurality of protection control devices 20_1, 20_2, 20_3 (hereinafter, may be collectively referred to as "protection control device 20") via the network NW. Although illustration is omitted, the creation system 10 may exchange data with the protection control device 20 via a storage medium such as a USB memory or a memory card.

[0026] The creation system 10 creates sequence logic that operates on each protection control device 20. The creation system 10 is, for example, an arithmetic processing device such as a PC (Personal Computer), a tablet terminal, or a smartphone. Note that the number of arithmetic processing devices constituting the creation system 10 is not limited. The creation system 10 may be constructed on a cloud environment.

[0027] The creation system 10 has functions of creating a plurality of sheets constituting the sequence logic, setting parameters of components included in each created sheet, setting the execution order of the plurality of created sheets, checking for errors in the created sequence logic, searching for a specified component within the sequence logic, and outputting the created sequence logic.

[0028] The sequence program representing the created sequence logic is downloaded to the corresponding protection control device 20 via the network NW or a storage medium and stored in the storage device within the protection control device 20. By the protection control device 20 executing the sequence program stored in the storage device, the sequence logic operates on the protection control device 20.

[0029] <Hardware Configuration> FIG. 2 is a schematic diagram showing an example of the hardware configuration of the creation system 10 and the protection control device 20 shown in FIG. 1.

[0030] (Creation System 10) As shown in FIG. 2, the creation system 10 mainly includes an arithmetic unit 102, a storage device 104, an input device 106, an output device 108, and a communication device 110.

[0031] The arithmetic unit 102 includes one or more CPUs (Central Processing Units) and executes various arithmetic processes. Each of the above functions is realized by software, firmware, or a combination thereof. The software or firmware is described as a program and stored in the storage device 104. One or more CPUs read and execute the program stored in the storage device 104. These programs can be said to cause the computer to execute the procedures and methods for realizing each of the above functions.

[0032] For the storage device 104, for example, semiconductor memories such as RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable Read Only Memory), or EEPROM (Electrically Erasable Programmable Read Only Memory) (registered trademark) can be applied. The semiconductor memory may be a non-volatile memory or a volatile memory.

[0033] In addition to the semiconductor memory, a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, or a DVD (Digital Versatile Disc) can also be applied to the storage device 104. Alternatively, the storage device 104 may be realized by a server or cloud external to the creation system 10.

[0034] Note that the arithmetic unit 102 and the storage unit 104 may utilize dedicated hardware such as a dedicated processing circuit. In this case, the dedicated processing circuit corresponds to a single circuit, a combined circuit, a programmed processor, a parallel-programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a combination thereof.

[0035] The input device 106 receives an input operation of data from a user who uses the creation system 10. The input device 106 is, for example, an operating device such as a mouse, a keyboard, or a touch panel. The input device 106 may be formed separately from the creation system 10.

[0036] The output device 108 includes a liquid crystal display or an organic EL (Electroluminescence) display, etc., and displays a sequence logic creation screen (see FIG. 6), etc. The output device 108 may be formed separately from the creation system 10.

[0037] The communication device 110 is connected to the network NW shown in FIG. 1, and exchanges data with the protection control device 20 via the network NW.

[0038] (Protection control device 20) The protection control device 20 mainly includes an arithmetic unit 202, a storage device 204, a communication device 206, and an input / output (I / O) device 208. The arithmetic unit 202 executes various processes according to various programs including a program representing sequence logic. The arithmetic unit 202 includes, for example, at least one of a CPU, an FPGA, a GPU (Graphics Processing Unit), and an MPU (Micro Processing Unit). The arithmetic unit 202 may include volatile memories such as DRAM (Dynamic Random Access Memory) and SRAM (Static Random Access Memory), and non-volatile memories such as ROM and flash memory. The arithmetic unit 202 may be composed of at least one arithmetic circuit (Processing Circuitry). The arithmetic unit 202 may be an aggregate of a plurality of arithmetic units, or may be a single arithmetic unit.

[0039] The storage device 204 includes non-volatile memories such as an HDD (Hard Disk Drive) and an SSD (Solid State Drive), and stores various programs and data. The storage device 204 stores at least a sequence program representing the sequence logic created by the creation system 10.

[0040] The communication device 206 is connected to the network NW shown in FIG. 1, and exchanges data with external devices including the creation system 10 via the network NW.

[0041] The I / O device 208 may include a digital input circuit, a digital output circuit, and an analog circuit. The digital input circuit receives a digital signal from other power system facilities or the like. The digital output circuit outputs, for example, a trip signal for opening a circuit breaker. The analog input circuit receives an analog signal from other power system facilities or the like.

[0042] <Outline of the procedure for creating sequence logic> FIG. 3 is a flowchart showing the overall flow of creating sequence logic by the creation system 10.

[0043] As shown in FIG. 3, first, the creation system 10 newly creates a sheet for configuring sequence logic (step S10). The newly created sheet is distinguished as either a common sheet or an individual sheet. Input components, output components, and arithmetic components are described on the newly created sheet using a graphical programming language according to the user's input operation.

[0044] Next, the creation system 10 performs mapping to assign signals and setting values managed by the protection control device 20 to each of the input components and output components described on each sheet according to the user's input operation (step S20).

[0045] Next, the creation system 10 sets the execution order of a plurality of sheets in the protection control device 20 (step S30). The creation system 10 creates sequence logic by combining the plurality of created sheets according to the execution order in the protection control device 20.

[0046] Next, the creation system 10 checks the created sequence logic (step S40). In S40, error checking of the sequence logic, component search, etc. are performed. The process of S40 can be performed optionally.

[0047] Finally, the creation system 10 outputs the created sequence logic (step S50). In S50, the created sequence logic is stored in the storage device 104 and / or a storage medium. Or, the created sequence logic is printed. The sequence program representing the sequence logic is downloaded to the corresponding protection control device 20 via the network NW or a storage medium and stored in the storage device 204 in the protection control device 20.

[0048] <Detailed creation procedure of sequence logic> The creation procedure of the sequence logic shown in FIG. 3 will be described in detail below.

[0049] In Embodiment 1, the functional configuration and processing procedure for executing step S10 of newly creating a sheet will be described. In Embodiment 2, the functional configuration and processing procedure for executing step S20 of mapping signals and setting values to the newly created sheet will be described. In Embodiment 3, the functional configuration and processing procedure for executing step S30 of setting the execution order of a plurality of sheets will be described. In Embodiment 4, the functional configuration and processing procedure for executing step S40 of checking the created sequence logic will be described.

[0050] Embodiment 1. FIG. 4 is a block diagram showing the functional configuration of the creation system 10 according to Embodiment 1. As shown in FIG. 4, the creation system 10 includes a sheet management unit 30 and a sheet drawing setting unit 32. The sheet management unit 30 and the sheet drawing setting unit 32 are realized by the arithmetic unit 102 shown in FIG. 2 executing a program stored in the storage device 104.

[0051] The sheet management unit 30 newly creates a sheet. In FIG. 4, data indicating the newly created sheet (hereinafter, also referred to as "sheet data SD") is shown. The sheet drawing setting unit 32 performs drawing and editing of the newly created sheet.

[0052] FIG. 5 is a flowchart showing the processing flow in step S10 of FIG. 3. As shown in FIG. 5, in step S101, the sheet management unit 30 newly creates a sheet. The newly created sheet is distinguished into either a common sheet or an individual sheet.

[0053] The common sheet is a sheet that describes the processes commonly executed among a plurality of protection control devices 20. Since the common sheet is commonly used among at least two of the plurality of protection control devices 20_1, 20_2, and 20_3, it is basically created once for each of the plurality of protection control devices 20_1, 20_2, and 20_3.

[0054] The individual sheet is a sheet that describes the processes individually executed for each protection control device 20. Since the individual sheet is used only in the corresponding protection control device 20, it is created for each protection control device 20.

[0055] In step S102, the sheet management unit 30 displays a list of newly created sheets (common sheets and individual sheets) on the sequence logic creation screen output by the output device 108. FIG. 6 is a diagram showing an example of the sequence logic creation screen. The sequence logic creation screen 1000 shown in FIG. 6 is displayed on the display of the output device 108.

[0056] As shown in FIG. 6, the sequence logic creation screen 1000 includes a sheet list display area 1100, a sheet creation area 1200, an arithmetic component selection area 1300, an information display area 1400, an execution order display area 1500, and various information display areas 1600.

[0057] In the sheet list display area 1100, the newly created sheets are displayed in a list. On the sequence logic creation screen 1000, "Common" indicates the name for identifying the common sheet, and "Device" indicates the name for identifying the individual sheet. FIG. 7 is a diagram for explaining a configuration example of the sheet list display area 1100 shown in FIG. 6.

[0058] As shown in FIG. 7, the sheet list display area 1100 has a display area 1102 for displaying a list of newly created common sheets and a display area 1104 for displaying a list of newly created individual sheets. The two display areas 1102 and 1104 are selectively displayed in the sheet list display area 1100 according to the user's operation.

[0059] The display area 1102 shows identification information for newly created common sheets. The identification information includes, for example, the sheet number (e.g., "0001") and name (e.g., "aaa") attached to the common sheet. The identification information of the common sheet can be arbitrarily set by the user. In the example of FIG. 7, the display area 1102 shows three newly created common sheets (sheet numbers 0001 to 0003).

[0060] The display area 1104 shows identification information for newly created individual sheets. The identification information includes, for example, the sheet number (e.g., "0004") and name (e.g., "ddd") attached to the individual sheet. The identification information of the individual sheet can be arbitrarily set by the user. In the example of FIG. 7, the display area 1104 shows three newly created individual sheets (sheet numbers 0004 to 0006).

[0061] Returning to FIG. 5, in step S103, the input device 106 of the creation system 10 receives a user operation for selecting one sheet from among the plurality of sheets listed in the sheet list display area 1100. In step S104, the sheet management unit 30 displays the one sheet selected by the user in the sheet creation area 1200. In the example of FIG. 6, the first common sheet (sheet number "0001", name "aaa") is selected from among the three common sheets shown in the display area 1102 and is displayed in the sheet creation area 1200.

[0062] In step S105, the sheet drawing setting unit 32 executes drawing and editing of the sheet displayed in the sheet creation area 1200 according to the user's input operation. As shown in FIG. 6, the sheet drawing setting unit 32 arranges input components, output components, and arithmetic components on the sheet and connects these components with signal lines according to the user's input operation.

[0063] At this time, the arithmetic components arranged on the sheet can be selected from among a plurality of arithmetic components (for example, logical arithmetic components and timers, etc.) displayed in the arithmetic component selection area 1300. Information regarding each arithmetic circuit displayed in the arithmetic component selection area 1300 is displayed in the information display area 1400.

[0064] In the example of FIG. 6, on the first common sheet (sheet number "0001", name "aaa"), two input components IN1, IN2, one arithmetic component LO1, and one output component OUT2 are arranged. The arithmetic component LO1 is a logical product (AND) arithmetic component having two input terminals and one output terminal. The input components IN1 and IN2 are respectively connected to the two input terminals of the arithmetic component LO1, and the output component OUT1 is connected to one output terminal. In this way, the processing commonly executed among the plurality of protection control devices 20 is described on the first common sheet.

[0065] Since the sheet has a size that can ensure the visibility of the input components, arithmetic components, and output components, the user can efficiently perform the drawing and editing operations of the sheet.

[0066] In this way, the sheet drawing setting unit 32 creates a sheet on which the processing that is the execution unit of the protection control device 20 is described by performing the drawing and editing of one sheet selected from the sheet list display area 1100.

[0067] When the sheet drawing setting unit 32 creates the common sheet and the individual sheet according to the above-described procedure, in step S106, it creates the sequence logic that operates on the protection control device 20 by combining these created sheets. FIG. 8 is a diagram showing an example of the procedure for creating the sequence logic.

[0068] FIG. 8 shows a procedure for creating the sequence logic of the protection control devices 20_1, 20_2, and 20_3. The sheet data SD1 and SD2 are data indicating a common sheet created by the sheet drawing setting unit 32. The sheet data SD4 is data indicating an individual sheet created by the sheet drawing setting unit 32 for the first protection control device 20_1. The sheet data SD5 is data indicating an individual sheet created by the sheet drawing setting unit 32 for the second protection control device 20_2. The sheet data SD6 is data indicating an individual sheet created by the sheet drawing setting unit 32 for the third protection control device 20_3.

[0069] The sheet drawing setting unit 32 creates the sequence logic of each protection control device 20 by combining the sheet data SD1, SD2, SD4 to SD6. Specifically, the sheet drawing setting unit 32 creates the sequence logic of the first protection control device 20_1 by combining the common sheet data SD1 and SD2 with the individual sheet data SD4. The sheet drawing setting unit 32 creates the sequence logic of the second protection control device 20_2 by combining the common sheet data SD1 and SD2 with the individual sheet data SD5. The sheet drawing setting unit 32 creates the sequence logic of the third protection control device 20_3 by combining the common sheet data SD2 with the individual sheet data SD6.

[0070] As shown in FIG. 8, by commonly using the common sheet data SD1 and SD2 among two or more protection control devices 20, the sequence logic of each protection control device 20 can be created. According to this, for the processes commonly executed among the plurality of protection control devices 20, it is not necessary to create a sheet individually for each protection control device 20, so the burden of creating the sequence logic of the plurality of protection control devices 20 can be reduced.

[0071] Also, when a change occurs in the process commonly executed among the plurality of protection control devices 20, by modifying the common sheet describing the process, it becomes possible to collectively modify the sequence logic of the plurality of protection control devices 20.

[0072] Furthermore, when a change occurs in the process individually executed by each protection control device 20, it suffices to modify the individual sheet describing the process, so the scope of modification becomes local, and the sequence logic of the protection control device 20 can be efficiently modified.

[0073] Embodiment 2. FIG. 9 is a block diagram showing the functional configuration of the creation system 10 according to Embodiment 2. As shown in FIG. 9, the creation system 10 according to Embodiment 2 is obtained by adding a data setting unit 34 and setting data 36 to the creation system 10 according to Embodiment 1 shown in FIG. 4. The data setting unit 34 and the setting data 36 are realized by the arithmetic unit 102 shown in FIG. 2 executing the program stored in the storage device 104.

[0074] FIG. 10 is a flowchart showing the flow of the process in step S20 of FIG. 3. As shown in FIG. 10, in step S201, the data setting unit 34 sets the signals and setting values managed by each protection control device 20 according to the input operation of the user. The setting of the signals and setting values can be performed, for example, on the sequence logic creation screen 1000 (see FIG. 6). FIG. 11 is a diagram showing an example of the setting screen for the signals and setting values. The setting screen shown in FIG. 11 can be displayed superimposed on the sheet creation area 1200. Note that the setting of the signals and setting values may be performed outside the sequence logic creation screen 1000.

[0075] As shown in FIG. 11, the setting screen is configured to be able to set at least the name of the signal managed by the protection control device 20, the data type of the signal, and the memory address (IDX) of the signal. As the IDX of the signal, for example, the memory address in the protection control device 20 where the signal is read or written is used. In FIG. 11, for each of the signals A, B, and C managed by the protection control device 20, the data type and the memory address of the signal are set. Although not shown, the setting value managed by the protection control device 20 can also be set using the setting screen shown in FIG. 11.

[0076] The data setting unit 34 creates setting data 36 indicating the set signals and setting values. The sheet drawing setting unit 32 performs mapping to assign signal values and setting values to the input components and output components included in each sheet using the setting data 36.

[0077] FIG. 12 is a diagram for explaining the mapping procedure. FIG. 12 shows the mapping procedure for the sheet with the sheet number "0001". The said sheet is displayed in the sheet creation area 1200.

[0078] In step S202, the sheet drawing setting unit 32 displays the reference screen W of the setting data 36 on the sheet. This reference screen W functions as a GUI (Graphical User Interface) for receiving a user operation for selecting a signal or a setting value included in the setting data 36.

[0079] In step S203, the sheet drawing setting unit 32 performs mapping to assign a signal or a setting value to each of the input components IN1, IN2 and the output component OUT1 included in the sheet according to the user operation. For example, the sheet drawing setting unit 32 can assign a signal or a setting value on the reference screen W to a component on the sheet in response to receiving a user operation such as drag and drop.

[0080] In the example of FIG. 12, by performing a drag-and-drop operation on the input component IN1 with signal A, signal A can be assigned to the input component IN1. In this case, "A", which is the name of signal A, is displayed on the input component IN1.

[0081] Similarly, by performing a drag-and-drop operation on the input component IN2 with signal B, signal B is assigned to the input component IN2, and "B", which is the name of signal B, is displayed on the input component IN2. By performing a drag-and-drop operation on the output component OUT1 with signal C, signal C is assigned to the output component OUT1, and "C", which is the name of signal C, is displayed on the output component OUT1.

[0082] In this way, the signals and setting values managed by the protection control device 20 can be mapped as inputs or outputs of each sheet in the sequence logic. Note that when some signals or setting values are removed from the management by the protection control device 20, in step S204, the sheet drawing setting unit 32 automatically releases the assignment of the signal or setting value to the component on the sheet where the signal or setting value is assigned. According to this, it is possible to avoid problems (for example, abnormal operation of the protection control device 20, etc.) caused by signals or setting values outside management remaining on some sheets. Note that the process of step S204 is executed singularly when some signals or setting values are removed from management, unlike steps S201 to S203.

[0083] Embodiment 3. FIG. 13 is a block diagram showing the functional configuration of the creation system 10 according to Embodiment 3. As shown in FIG. 13, the creation system 10 according to Embodiment 3 is obtained by adding an execution order setting unit 38, execution order data 40, an execution order output unit 42, and an execution order file 44 to the creation system 10 according to Embodiment 2 shown in FIG. 8. The execution order setting unit 38, the execution order data 40, the execution order output unit 42, and the execution order file 44 are realized by the arithmetic unit 102 shown in FIG. 2 executing a program stored in the storage device 104.

[0084] The execution order setting unit 38 sets the execution order of a plurality of sheets drawn and edited by the sheet drawing setting unit 32 for each protection control device 20. Then, the execution order setting unit 38 creates execution order data 40 indicating the set execution order.

[0085] In the present embodiment, the arithmetic unit 202 of the protection control device 20 is configured to be able to execute a plurality of tasks with different execution cycles in parallel for each CPU. The arithmetic unit 202 may have a plurality of CPUs (for example, CPU1, CPU2,...). Further, for example, the plurality of tasks include a first task that is repeatedly executed in a first execution cycle and a second task that is executed in a second execution cycle longer than the first execution cycle. The first task corresponds to a "high-speed task" that requires high-speed response processing (real-time processing). The second task corresponds to a "low-speed task" that does not require real-time processing and performs low-speed response processing.

[0086] The execution order setting unit 38 can set the execution order of a plurality of sheets for each task executed by the arithmetic unit 202 of the protection control device 20. FIG. 14 is a flowchart showing the processing flow in step S30 of FIG. 3. As shown in FIG. 14, in step S301, the execution order setting unit 38 sets a hierarchical structure for designating the execution order of one task. The hierarchical structure is basically set such that the hierarchy with an earlier execution order in each execution cycle of the save control device 20 is arranged at the upper level.

[0087] In step S302, the execution order setting unit 38 arranges sheets or groups in each layer of the hierarchical structure. Note that sheets or groups are arranged in the same layer. The group has the function of a folder for storing sheets executed in the same layer. This group includes a "normal group", a "time-division group", and a "time-division root group".

[0088] The "normal group" is a group for storing sheets that are repeatedly executed for each execution cycle of the protection control device 20.

[0089] The "time-division group" is a group for storing sheets that are executed sequentially in time division for each execution cycle of the protection control device 20. The sheets stored in the time-division group are further classified into two or more "time-division route groups". The time-division route group is a group for storing sheets that are executed in the same execution cycle among the sheets stored in the time-division group.

[0090] FIG. 15 is a diagram for explaining the operation of the execution order setting unit 38. The setting and editing of the execution order of a plurality of sheets can be performed, for example, using the execution order display area 1500 on the sequence logic creation screen 1000 (see FIG. 6). FIG. 15 shows the extraction of the execution order display area 1500 from the sequence logic creation screen 1000.

[0091] In the example of FIG. 15, the execution order display area 1500 includes a display area 1502 for setting the execution order of sheets in the high-speed task of CPU1 and a display area 1504 for setting the execution order of sheets in the low-speed task of CPU1. The display area 1502 and the display area 1504 are selectively displayed in the execution order display area 1500 according to user operations. In FIG. 15, the display area 1504 is selectively displayed.

[0092] As shown in FIG. 15, in the display area 1504, sheets or groups (normal groups, time-division groups, and time-division route groups) can be hierarchically arranged according to their execution order. However, either a sheet or a group is arranged in the same hierarchy. Also, the time-division route group is always arranged in the hierarchy directly below the time-division group.

[0093] In the example of FIG. 15, under the top-level "Compile Gruop", a normal group "Group" and a time-division group "Group TSO" are arranged in this order. Immediately below this time-division group "Group TSO", a first time-division root group "TSC1" and a second time-division root group "TSC2" are arranged.

[0094] In step S303, the execution order setting unit 38 arranges corresponding sheets in each of the normal group and the time-division root group. If one task does not include a sheet that is repeatedly executed every execution cycle of the protection control device 20, the number of sheets arranged in the normal group becomes 0. Also, if one task does not include a sheet that is executed in order in a time-division manner every execution cycle of the protection control device 20, the number of sheets arranged in each time-division root group becomes 0. Note that even when a plurality of sheets are stored in the time-division group, the number of sheets arranged in some time-division root groups may be 0. In the example of FIG. 15, the number of sheets arranged in each of the normal group "Group" and the time-division root groups "TSC1" and "TSC2" may be 0.

[0095] In this embodiment, during the operation of the protection control device 20, the arithmetic unit 202 executes in order from the upper layer to the lower layer of the "Compile Gruop" having the hierarchical structure shown in FIG. 15 every execution cycle. Specifically, in the first execution cycle, the arithmetic unit 202 first executes the normal group "Group", and then executes the time-division group "Group TSO". Here, the arithmetic unit 202 executes the first time-division root group "TSC1".

[0096] Subsequently, in the second execution cycle, the arithmetic unit 202 first executes the normal group "Group", and then executes the time-division group "Group TSO". Here, the arithmetic unit 202 executes the second time-division root group "TSC2".

[0097] In the third execution cycle, the arithmetic unit 202 first executes the normal group "Group", and then executes the time-division group "Group TSO". Here, the arithmetic unit 202 executes the first time-division root group "TSC1".

[0098] In this way, the arithmetic unit 202 executes the first time-division root group "TSC1" and the second time-division root group "TSC2" in order for each execution cycle. As a result, tasks are executed by time-division processing.

[0099] In step 304 of FIG. 14, the execution order setting unit 38 can optionally set an execution condition (Exec Condition) for each of the normal group and the time-division group. In the example of FIG. 15, an execution condition is set for the normal group "Group". In a certain aspect, based on one signal whose data type is ON / OFF, it is possible to set whether to execute the normal group "Group". In this case, when the signal is ON, the normal group "Group" can be set to be executed, and when the signal is OFF, the normal group "Group" can be set not to be executed. "(IDX:02432) in FIG. 15 represents the memory address where the signal is stored.

[0100] Here, in the hierarchical structure shown in FIG. 15, assume a case where a plurality of sheets are arranged in one group (normal group or time-division root group). In this case, the plurality of sheets are arranged in the group according to their execution order. In the following description, it is assumed that two sheets are arranged in one group, and the execution order of the two sheets will be described.

[0101] FIG. 16 is a diagram showing an example of two sheets arranged in one group. FIG. 16 shows the sheet creation area 1200 in the sequence logic creation screen 1000 extracted.

[0102] One group includes a first sheet (sheet number "0001") and a second sheet (sheet number "0002"). The first sheet is shown in the upper part of FIG. 16, and the second sheet is shown in the lower part of FIG. 16. In terms of the hierarchical structure, it is assumed that the first sheet is arranged above the second sheet. Therefore, they are executed in the order of the first sheet and the second sheet.

[0103] The first sheet includes input components IN1, IN2, arithmetic components LO1, LO2, an output component OUT1, and a temporary output component TEO1. Signals "signal1" and set values "set value" are respectively assigned to the input components IN1, IN2. The arithmetic component LO1 is an AND arithmetic component, and the arithmetic component LO2 is a NOT arithmetic component. Signal "signal2" is assigned to the output component OUT1. A temporary signal "temp" is assigned to the temporary output component TEO1.

[0104] The second sheet includes input components IN3, IN4, arithmetic components LO3, LO4, output components OUT2, OUT3, and a temporary input component TEI1. Signals "signal1", "signal2" are respectively assigned to the input components IN3, IN4. The arithmetic component LO3 is an OR arithmetic component, and the arithmetic component LO4 is a NAND arithmetic component. Signals "signal1", "signal3" are respectively assigned to the output components OUT2, OUT3. A temporary signal "temp" is assigned to the temporary input component TEI1.

[0105] When the protection control device 20 executes the first and second sheets in order, the values stored at the memory addresses of the corresponding signals are read and input to each of the input components IN1, IN3, IN4. The value stored at the memory address of the corresponding set value is read and input to the input component IN2. Also, the values of the output components OUT1 to OUT3 are written to the memory addresses of the corresponding signals.

[0106] On the other hand, the temporary output component TEO1 and the temporary input component TEI1 represent that the temporary signal "temp" output from the arithmetic component LO1 on the first sheet is input to the arithmetic component LO3 on the second sheet. Note that the temporary signal "temp" is temporarily stored at a pre-prepared address in the memory.

[0107] Next, the execution order of the first and second sheets shown in FIG. 16 will be described. As described above, they are executed in the order of the first sheet and the second sheet. However, for the input components IN1 to IN4 included in the first and second sheets, before executing the first sheet (i.e., the first sheet), the values of the corresponding signals or set values are read from the memory and assigned. Also, for the output components OUT1 to OUT3 included in the first and second sheets, after executing the last sheet (i.e., the second sheet), the values of the corresponding signals are written to the memory.

[0108] FIG. 17 is a diagram for explaining the execution order of the first and second sheets shown in FIG. 16. FIG. 17 shows the components from the 1st to the 11th in order of execution order from the top. As shown in FIG. 17, the processing for the input components IN1 to IN4 (reading of signals or set values) is executed first, and then the processing for the arithmetic components LO1 to LO4 (logical operations) is executed. Finally, the processing for the output components OUT1 to OUT3 (writing of signals) is executed.

[0109] Returning to FIG. 13, the execution order output unit 42 converts the execution order data 40 into an execution order file 44 described in a predetermined file format such as text format or PDF format. The execution order output unit 42 outputs the converted execution order file 44. FIG. 18 is a diagram showing an example of the execution order file 44. The execution order file 44 is configured to include the execution order set for each task.

[0110] Embodiment 4. FIG. 19 is a block diagram showing the functional configuration of the creation system 10 according to Embodiment 4. As shown in FIG. 19, the creation system 10 according to Embodiment 4 is different from the creation system 10 according to Embodiment 3 shown in FIG. 13 in that the execution order data 40 is input to the sheet drawing setting unit 32.

[0111] In the present embodiment, the sheet drawing setting unit 32 provides a function for easily checking the connection relationship of the sequence logic using the execution order data 40. Specifically, the sheet drawing setting unit 32 has a function of tracking the connection relationship of components within one sheet (tracking function) and a function of searching for the correspondence relationship between input components and output components among a plurality of sheets (search function).

[0112] (Tracking function) FIG. 20 is a flowchart for explaining the tracking function of the sheet drawing setting unit 32. FIG. 20 corresponds to the first example of the process in step S40 in FIG. 3. As shown in FIG. 20, in step S401, the sheet drawing setting unit 32 accepts the selection of a component to be tracked in the sheet displayed in the sheet creation area 1200 of the sequence logic creation screen 1000 (see FIG. 6). The user can select any one of the input components, output components, and arithmetic components included in the sheet as the component to be tracked.

[0113] In step S402, the sheet drawing setting unit 32 extracts the signal lines connected to the target component from the sheet. The sheet drawing setting unit 32 highlights the target component and the extracted signal lines.

[0114] FIG. 21 is a diagram for explaining an example of the tracking function of the sheet drawing setting unit 32. In FIG. 21, the sheet creation area 1200 in the sequence logic creation screen 1000 is extracted and shown. In FIG. 21, among a plurality of components IN1, IN2, LO1, LO2, TEO1, OUT1 included in the first sheet (sheet number "0001"), the temporary output component TEO1 is selected as the tracking target. The component to be tracked can be selected, for example, by the user clicking on the component on the sheet.

[0115] When the temporary output component TEO1 is selected as the tracking target, the sheet drawing setting unit 32 traces the signal line connected to the temporary output component TEO1 up to the input components IN1, IN2. Then, the sheet drawing setting unit 32 highlights the target component and the signal line using a thick line. The way of highlighting is not limited to a thick line.

[0116] (Search function) FIG. 22 is a flowchart for explaining the search function of the sheet drawing setting unit 32. FIG. 22 corresponds to a second example of the process in step S40 of FIG. 3. As shown in FIG. 22, in step S411, the sheet drawing setting unit 32 accepts the selection of the component to be searched in the sheet displayed in the sheet creation area 1200 of the sequence logic creation screen 1000 (see FIG. 6). The user can select any one of the input components and output components included in the sheet as the search target. In the following description, the correspondence relationship between the input component and the output component is also referred to as "call". Also, the component to be searched is referred to as the "calling source component", and the component in the correspondence relationship with the component to be searched is also referred to as the "calling destination component".

[0117] FIG. 23 is a diagram for explaining an example of the search function of the sheet drawing setting unit 32. In FIG. 23, the sheet creation area 1200 in the sequence logic creation screen 1000 is extracted and shown. In FIG. 23, among a plurality of components IN1, IN2, LO1, LO2, TEO1, OUT1 included in the first sheet (sheet number "0001"), the temporary output component TEO1 is selected as the search target. The component to be searched (the calling source component) can be selected, for example, by the user clicking on the component on the sheet. In S411, the sheet drawing setting unit 32 highlights the target component and the signal line connected to the target component using a thick line. The way of highlighting is not limited to a thick line.

[0118] When receiving a user operation (for example, a left click operation) on the component to be searched (the calling source component), the sheet drawing setting unit 32 displays, in step S412, the identification information (sheet ID) of the sheet on which the component in correspondence with the target component (the calling destination component) is arranged on the sheet. In the example of FIG. 23, in response to the user operation on the target component, the identification information (sheet ID) of the sheet on which the calling destination component is arranged is displayed on the right shoulder of the target component. The sheet ID is composed of the 5-digit number "00023". The first four digits "0002" represent the sheet number "0002" of the second sheet on which the calling destination component is arranged. The last digit represents in which section of the second sheet the calling destination component is arranged.

[0119] Next, in step S413, in response to a user operation (for example, a right-click operation), the sheet drawing setting unit 32 displays a context menu M1 in the vicinity of the target part (the temporary output part "TEO1"). The context menu M1 lists the operation items that can currently be applied to the target part. The operation items include relation blocks for displaying information about the sheet on which the part (the calling destination part) in a corresponding relationship with the target part is arranged. The sheet drawing setting unit 32 further displays a relation block RB1 in response to a user operation for selecting the relation block. In the example of FIG. 23, the relation block RB1 displays information about the second sheet (sheet number "0002", name "bbb").

[0120] Upon receiving a user operation for selecting this relation block RB1, the sheet drawing setting unit 32 proceeds to step S414 and displays the sheet on which the part (the calling destination part) in a corresponding relationship with the target part is arranged (that is, the second sheet) in the sheet creation area 1200 (see FIG. 24). At this time, in step S415, the sheet drawing setting unit 32, for example, selects the temporary input part TEI1, which is the part (the calling destination part) in a corresponding relationship with the target part, as the tracking target of the above-described tracking function. By the tracking function, the temporary input part TEI1 and the signal line connected to the part are highlighted, for example, using a thick line.

[0121] Next, in step S416, since the target part is already in the selected state in step S415, the process corresponding to step S412 is performed on the said part. Specifically, the identification information (sheet ID) of the sheet on which the target part (the calling source part) is arranged is displayed on the sheet. In the example of FIG. 24, the identification information (sheet ID) of the sheet on which the calling source part is arranged is displayed on the left shoulder of the calling destination part. The sheet ID is composed of the 5-digit number "00014". The first 4 digits "0001" represent the sheet number "0001" of the first sheet on which the calling source part is arranged. The last 1 digit indicates in which section of the first sheet the calling source part is arranged.

[0122] <Effect> According to the above-described embodiment, by configuring the sequence logic operating on the control device with a plurality of sheets, the creation of the sequence logic can be divided and created in units of sheets. According to this, the visibility of the sequence logic created for each sheet is enhanced, so that the efficiency of drawing and editing work of the sheets can be improved.

[0123] Also, by distinguishing the sheets into common sheets and individual sheets, for the processes commonly executed among a plurality of control devices, the sequence logic can be created using the common sheets, so that the burden of creating the sequence logic for each control device can be reduced. Furthermore, when a change occurs in the processes commonly executed among a plurality of control devices, by modifying the common sheet describing the said processes, it becomes possible to collectively modify the sequence logic of a plurality of control devices.

[0124] Also, when a change occurs in the processes individually executed by each control device, it suffices to modify the individual sheet describing the said processes, so that the scope of modification becomes local, and it becomes possible to efficiently modify the sequence logic.

[0125] In addition, since a reference screen of setting data indicating signals and set values managed by the control device can be displayed on the sequence logic creation screen to perform mapping for input components and output components included in each sheet, signals or set values can be efficiently assigned to the input components and output components of each sheet.

[0126] In addition, by configuring the sequence logic with a plurality of sheets, the execution order of the sheets can be set for each task of the control device. Furthermore, the execution order of the sequence logic for time-division processing by the control device can be easily set in units of sheets. Also, the content of the set execution order can be easily confirmed.

[0127] In addition, since the creation system has a function of tracking the connection relationship of components within one sheet and a function of searching for the correspondence relationship of input components and output components between a plurality of sheets, the connection relationship of the created sequence logic can be easily confirmed.

[0128] The embodiments disclosed this time should be considered to be illustrative in all respects and not restrictive. The technical scope shown by the present disclosure is indicated by the claims rather than the description of the above-described embodiments, and all modifications within the meaning and scope equivalent to the claims are intended to be included.

Description of Reference Numerals

[0129] 10 Creation System, 20, 20_1, 20_2, 20_3 Protection Control Device, 30 Sheet Management Unit, 32 Sheet Draft Setting Unit, 34 Data Setting Unit, 36 Setting Data, 38 Execution Order Setting Unit, 40 Execution Order Data, 42 Execution Order Output Unit, 44 Execution Order File, 1000 Sequence Logic Creation Screen, 102, 202 Arithmetic Unit, 104, 204 Storage Device, 106 Input Device, 108 Output Device, 110, 206 Communication Device, 208 I / O Device, 1100 Sheet List Display Area, 1102, 1104, 1502, 1504 Display Area, 1200 Sheet Creation Area, 1300 Arithmetic Component Selection Area, 1400 Information Display Area, 1500 Execution Order Display Area, 1600 Various Information Display Area, NW Network, SD Sheet Data, IN1~IN4 Input Components, OUT1~OUT3 Output Components, LO1~LO4 Arithmetic Components, TEI1 Temporary Input Component, TEO1 Temporary Output Component.

Claims

1. A method for creating sequence logic that operates on a control device, The steps include: creating a common sheet using a arithmetic unit, which describes processes to be executed commonly across multiple control devices in a graphical programming language; The steps include: creating individual sheets in which processes to be executed individually in each of the plurality of control devices are described in the graphical programming language by the calculation unit; The steps include: displaying a list of the created common sheet and individual sheets; The process includes the step of creating the sequence logic using the arithmetic unit by combining a plurality of sheets selected from the list of common sheets and individual sheets according to the execution order in the control device, The step of creating the sequence logic is: The steps include setting signals and set values ​​managed by the control device, The step includes assigning the signal and the set value to the input and output components included in each sheet, A method for creating sequence logic, wherein the step of assigning the signals and the set values ​​includes the step of unassigning the signals and set values ​​that have been removed from the control device's management to the input and output components.

2. The step of creating the sequence logic is: A method for creating sequence logic according to claim 1, further comprising the step of setting the execution order of the plurality of sheets in the execution cycle of the control device.

3. The method for creating sequence logic according to claim 2, wherein the step of setting the execution order of the plurality of sheets includes the step of setting the execution order of the sheets for each task of the control device.

4. The method for creating sequence logic according to claim 3, wherein the step of setting the execution order of sheets for each task includes setting the execution order of sheets such that at least some of the sheets constituting a single task are executed sequentially in a time-sharing manner for each execution cycle.

5. The step of setting the execution order of the sheets for each of the aforementioned tasks is: The steps include setting up a hierarchical structure to specify the execution order of a single task, The steps include placing sheets or groups in each level of the aforementioned hierarchical structure, The group is one of the following: a normal group that stores sheets executed in each execution cycle of the control device; a time-divisional group that stores sheets that are executed sequentially in a time-divisional manner in each execution cycle of the control device; and a time-divisional root group that stores sheets among the sheets stored in the time-divisional group that are executed in the same execution cycle. The time-divisional root group is located in the hierarchy directly below the time-divisional group. The method for creating sequence logic according to claim 4, wherein the step of setting the execution order of sheets for each task further includes the step of placing the corresponding sheets in each of the normal group and the time-sharing root group.

6. The further step involves verifying the created sequence logic using the arithmetic unit. The method for creating sequence logic according to any one of claims 1 to 5, wherein the step of verifying the sequence logic includes the step of searching for the correspondence between input components and output components among the plurality of sheets.

7. The step of searching for the correspondence between the input and output components is as follows: The steps include: displaying identification information for the sheet where the parts corresponding to the part being searched are located; A method for creating sequence logic according to claim 6, comprising the steps of displaying a sheet on which the corresponding components are arranged, and highlighting the corresponding components and the signal lines connected to those components.

8. The further step involves verifying the created sequence logic using the arithmetic unit. The method for creating sequence logic according to any one of claims 1 to 5, wherein the step of verifying the sequence logic includes the step of tracking the connection relationships of components within a sheet.

9. The method for creating sequence logic according to claim 8, wherein the step of tracking the connection relationships of the components includes highlighting the component to be tracked and the signal lines connected to the component.

10. The method for creating sequence logic according to any one of claims 1 to 5, wherein each of the common sheet and the individual sheets has a size that ensures the visibility of the input components, calculation components and output components described in the graphical programming language.

11. A system for creating sequence logic that operates on a control device, The computing unit and The system comprises a storage device for storing a program executed by the aforementioned arithmetic unit, The arithmetic unit, in accordance with the program, A common sheet is created by a computer, which describes processes to be executed in common across multiple control devices using a graphical programming language. A separate sheet is created in which the processing to be executed individually in each of the aforementioned plurality of control devices is described in the graphical programming language. A list of the created common sheet and individual sheets is displayed. The control device is configured to create the sequence logic by combining a plurality of sheets selected from the list of common sheets and individual sheets according to the execution order. When the arithmetic unit creates the sequence logic, The control device sets the signals and set values ​​it manages, A sequence logic creation system that assigns the signals and set values ​​to the input and output components included in each sheet, and releases the assignment of signals and set values ​​that are removed from the control device's management to the input and output components.

12. A program that causes a computer to perform a method for creating sequence logic that operates on a control device, The method for creating the sequence logic is as follows: The steps include creating a common sheet in which processes to be executed in common across multiple control devices are described using a graphical programming language, and The steps include creating individual sheets in which processes to be executed individually in each of the plurality of control devices are described in the graphical programming language, The steps include: displaying a list of the created common sheet and individual sheets; The process includes the step of creating the sequence logic by combining a plurality of sheets selected from the list of common sheets and individual sheets according to the execution order in the control device, The step of creating the sequence logic is: The steps include setting signals and set values ​​managed by the control device, The step includes assigning the signal and the set value to the input and output components included in each sheet, A program that includes the step of assigning the signals and the set values, and the step of releasing the assignment of signals and set values ​​that have been removed from the control device's management to the input and output components.