Information processing device, control system, method, and program

The information processing device and system allow users to understand and edit SFC programs in tabular and flowchart formats, addressing the challenge of syntax rule unfamiliarity and enhancing program development and execution.

JP2026087221APending Publication Date: 2026-05-27OMRON CORP

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
OMRON CORP
Filing Date
2024-11-15
Publication Date
2026-05-27

AI Technical Summary

Technical Problem

Users unfamiliar with the syntax rules of Sequential Function Chart (SFC) programs struggle to understand the processing represented by the program, even when it is displayed.

Method used

An information processing device and system that stores SFC program data in a tabular format and provides a GUI for outputting the program data in both tabular and flowchart formats, allowing users to edit the program data through user operations on either format, independent of the syntax rules.

Benefits of technology

Enables users to understand and edit SFC programs without knowledge of syntax rules, providing support for users unfamiliar with the syntax, and facilitating the development and execution of SFC programs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026087221000001_ABST
    Figure 2026087221000001_ABST
Patent Text Reader

Abstract

This provides SFC programs in a format that is independent of their syntax rules. [Solution] The program data of an SFC program, which is composed of multiple elements for controlling an object, is composed of a tabular format having multiple cells, and each of the multiple cells includes a cell in which attribute data including the identifier of the element and a program instruction is set for each element, and the GUI of the information processing device includes a first GUI that outputs the program data of the storage unit in tabular format, and a second GUI that outputs a flowchart of the program data of the storage unit, which is composed of symbols having identifiers for the attribute data of each element, connected to symbols having identifiers for the attribute data of other elements based on connection relationships that follow the flow of processing related to control between the element and other elements.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a technology for providing a development environment for SFC (Sequential Function Chart) programs.

Background Art

[0002] According to the standard specification IEC 61131-3 for programming to control devices or equipment, ladder diagrams (LD language), function block diagrams (FBD language), instruction lists (IL language), structured text (ST language), and sequential function charts (SFC) are provided. Programs described in these languages are executed in control devices such as PLCs (Programmable Logic Controllers).

[0003] Among these programming languages, a technology for editing an SFC program described in the SFC language is described in, for example, Patent Document 1 (Japanese Patent Application Laid-Open No. 11-167409). Patent Document disclosed a programmable controller provided with means for mutually converting a sequential function chart described in a graphic type for parallel operation and selection operation and a program described in a text type.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] In Patent Document 1, a program is described according to several types of text-type instructions and the rules for describing those instructions. Therefore, users who are not familiar with the syntax rules of the SFC program cannot understand the processing represented by the program even when the program is displayed.

[0006] One purpose of this disclosure is to provide SFC programs in a format that is independent of their syntax rules. [Means for solving the problem]

[0007] The information processing device according to this disclosure includes a storage unit that stores program data of an SFC (Sequential Function Chart) program composed of multiple elements for controlling an object in a tabular format, and a GUI (Graphical User Interface), wherein the program data is composed of multiple cells, and each of the multiple cells includes a cell in which attribute data including the identifier of the element and program instructions is set for each element, and the GUI includes a first GUI that outputs the program data of the storage unit in a tabular format, and a second GUI that outputs a flowchart for the program data of the storage unit, which is composed of symbols having identifiers for the attribute data of each element, connected to symbols having identifiers for the attribute data of other elements based on connection relationships that follow the flow of control-related processing between the element and other elements.

[0008] According to this disclosure, the information processing device has a first GUI that outputs the SFC program as tabular program data, and a second GUI that outputs the processing flow shown by the program data as a flowchart. Therefore, the program data of the SFC program is provided to the user in tabular or flowchart format, independent of the syntax rules of the SFC program. Thus, such information can serve as support information for users unfamiliar with the syntax rules to understand the processing represented by the SFC program.

[0009] In the above disclosure, the GUI is configured to accept user operations, and the information processing device further includes an editor for editing program data in the storage unit based on user operations.

[0010] According to the disclosures above, the support information described above can also serve as assistance for users unfamiliar with the syntax rules when editing program data.

[0011] In the above disclosure, the editor edits the attribute data of a cell in the program data of the storage unit in accordance with a user operation that changes the attribute data of a cell received by the first GUI, and edits the attribute data of an element corresponding to a symbol in the program data of the storage unit in accordance with a user operation that changes the symbol of a flowchart received by the second GUI.

[0012] According to the above disclosure, the editor can edit the program data in the storage unit in accordance with the user operation, whether the user operation is a user operation on program data received by the first GUI or a user operation on a flowchart received by the second GUI.

[0013] In the disclosure described above, the multiple cells further include a cell in which relational data is set for each element, indicating the connection relationship between that element and other elements.

[0014] According to the above disclosure, relational data indicating the connection relationship between one element and another can be set in the cells of the tabular program data.

[0015] In the above disclosure, the editor edits the relationship data of a cell in the program data of the storage unit in accordance with a user operation that changes the relationship data of a cell received by the first GUI, and edits the relationship data of elements corresponding to the two symbols in the program data of the storage unit in accordance with a user operation that changes the connection between two symbols in a flowchart received by the second GUI.

[0016] According to the above disclosure, the editor can edit the relational data set in the cells of the program data in the storage unit in accordance with the user operation, regardless of whether the user operation is a user operation of program data received by the first GUI or a user operation of a flowchart received by the second GUI.

[0017] In the disclosure described above, the flowchart is further constructed by connecting the symbols of each element to the symbols of other elements via lines that, based on connection relationships, have one end connected to the symbol of that element and the other end connected to the symbol of that other element.

[0018] According to the disclosure above, the above connection relationships can be shown as lines in a flowchart.

[0019] In the disclosure described above, a user operation that changes a connection includes an operation that changes the symbol to which one end or the other end of a line in a flowchart is connected.

[0020] According to the disclosure above, users can change the connection relationships corresponding to lines in a flowchart by modifying the symbols connected to those lines.

[0021] In the above disclosure, the multiple elements include elements of different types, each of which includes steps representing processes that control each unit operation constituting a set of operations in question, and transitions representing transition conditions between steps, and the attribute data of each element further includes the type of that element.

[0022] According to the above disclosure, the attribute data corresponding to an element can indicate the type of that element.

[0023] In the disclosure described above, the attribute data for each element further includes the position of the symbol corresponding to that element in the flowchart.

[0024] According to the above disclosure, in the attribute data corresponding to an element, the position of the symbol in the flowchart corresponding to the element can be included.

[0025] In the above disclosure, the attribute data of each element further includes the size of the symbol corresponding to the element.

[0026] According to the above disclosure, in the attribute data corresponding to an element, the size of the symbol in the flowchart corresponding to the element can be included.

[0027] In the above disclosure, when the second GUI receives a user operation to change a symbol in the flowchart, it sends a request for editing to the first GUI. When the first GUI receives a user operation to change the attribute data of the table, or when it receives a request from the second GUI, it outputs an editing command to the editor. When the user operation received by the first GUI to change the attribute data of the table, or when it receives a command from the first GUI, the editor edits the attribute data of the program data in the storage unit according to the user operation. Also, when the second GUI receives a user operation to change a symbol, or when it receives a command from the first GUI, the editor edits the attribute data of the element corresponding to the symbol in the program data of the storage unit according to the user operation.

[0028] According to the above disclosure, since the first GUI acts as an agent for the communication between the editor and the second GUI, the communication between the second GUI and the editor can be omitted.

[0029] The control system according to this disclosure comprises a communication circuit for communicating with a target, a processor for executing an SFC program to control the target, a storage unit for storing program data of the SFC program in a tabular format, and a GUI, wherein the program data is composed of a tabular format having multiple cells, and each of the multiple cells includes a cell in which attribute data including an identifier and program instructions for each element is set, and the GUI includes a first GUI for outputting the program data of the storage unit in a tabular format, and a second GUI for outputting a flowchart for the program data of the storage unit, which is composed of symbols having identifiers for the attribute data of each element, connected to symbols having identifiers for the attribute data of other elements based on connection relationships that follow the flow of control-related processing between the element and other elements.

[0030] According to the disclosure described above, the control system can provide a configuration for controlling an object, and a configuration for the GUI output of program data and flowcharts of the information processing device described above.

[0031] The method relating to this disclosure is a method performed by a computer, the computer comprising: a storage unit that stores program data of an SFC (Sequential Function Chart) program consisting of a plurality of elements for controlling an object in a tabular format; and a GUI (Graphical User Interface), wherein the program data is composed of a tabular format having a plurality of cells, and the plurality of cells include a cell in which attribute data including an identifier and program instructions for each element is set; the method comprises the steps of outputting the program data of the storage unit in a tabular format via the GUI; and outputting a flowchart via the GUI, which is composed of the program data of the storage unit, by connecting symbols having identifiers for the attribute data of each element with symbols having identifiers for the attribute data of other elements based on connection relationships that follow the flow of processing related to control between the element and other elements.

[0032] According to the above disclosure, when a computer implements the method, the program data of the SFC program is provided to the user in a tabular or flowchart format that is independent of the syntax rules of the SFC program. Therefore, such information can serve as support information for users unfamiliar with the syntax rules to understand the processes represented by the SFC program.

[0033] The program relating to this disclosure is a program that causes a computer to execute a method, the computer comprising a storage unit that stores program data of an Sequential Function Chart (SFC) program composed of a plurality of elements for controlling a target in a tabular format, and a Graphical User Interface (GUI), wherein the program data is composed of a tabular format having a plurality of cells, and the plurality of cells include a cell in which attribute data including an identifier of the element and a program instruction is set for each element, the method comprising the steps of outputting the program data of the storage unit in a tabular format via the GUI, and outputting a flowchart via the GUI, which is composed of the program data of the storage unit by connecting symbols having identifiers of attribute data of each element to symbols having identifiers of attribute data of other elements based on connection relationships that follow the flow of processing related to control between the element and other elements.

[0034] According to the above disclosure, when the program is executed by the processor, the program data of the SFC program is provided to the user in a tabular or flowchart format that is independent of the syntax rules of the SFC program. Therefore, such information can serve as support information for users unfamiliar with the syntax rules to understand the processes represented by the SFC program. [Effects of the Invention]

[0035] According to this disclosure, SFC programs can be provided in a format that does not depend on their syntax rules. [Brief explanation of the drawing]

[0036] [Figure 1] This is a diagram to schematically illustrate an example of the application of this disclosure. [Figure 2] This is a schematic diagram showing system 1000 according to this embodiment. [Figure 3] This is a schematic diagram showing the hardware configuration of the support device 200 according to this embodiment. [Figure 4] Figure 3 schematically shows an example of the information stored in HDD204. [Figure 5] This is a schematic diagram showing the hardware configuration of the processing unit 10 of the PLC 100 according to this embodiment. [Figure 6] Figure 5 is a schematic diagram showing an example of information stored in the non-volatile memory 106. [Figure 7] This is a schematic diagram showing the software configuration implemented in the support device 200 according to this embodiment. [Figure 8] This is a schematic diagram showing the software configuration of the PLC100 according to this embodiment. [Figure 9] This is a schematic diagram illustrating the communication between the support device 200 and the PLC 100 according to this embodiment. [Figure 10] This is a schematic diagram showing the sequence of inter-process communication according to this embodiment. [Figure 11] This is a schematic diagram showing the sequence of inter-process communication according to this embodiment. [Figure 12] This is a schematic diagram showing the editing process according to this embodiment. [Figure 13] This is a schematic diagram showing the editing process according to this embodiment. [Figure 14] This is a schematic diagram showing the editing process according to this embodiment. [Figure 15] This is a schematic diagram showing the editing process according to this embodiment. [Figure 16] This is a schematic diagram showing the editing process according to this embodiment. [Figure 17] This is a schematic diagram showing the editing process according to this embodiment. [Figure 18]This is a schematic diagram showing the editing process according to this embodiment. [Figure 19] This is a schematic diagram showing the editing process according to this embodiment. [Figure 20] This is a schematic diagram showing the editing process according to this embodiment. [Figure 21] This is a schematic diagram showing the editing process according to this embodiment. [Figure 22] This is a schematic diagram showing the editing process according to this embodiment. [Figure 23] This is a schematic diagram showing the editing process according to this embodiment. [Figure 24] This is a schematic diagram showing the editing process according to this embodiment. [Modes for carrying out the invention]

[0037] <§. Examples of Application> First, let's describe an example of a scenario in which the present invention is applied. Figure 1 is a diagram that schematically illustrates an example of the application of this disclosure. In Figure 1, an example of a screen displayed on monitor 207 during the development of an SFC program for a support device, which is an example of an information processing device, is shown.

[0038] The support device assists in the development of SFC programs, which are examples of control programs executed by control devices that control objects (also called field devices) such as manufacturing equipment in a manufacturing site. An SFC program contains multiple types of elements. The types of elements include, for example, steps that represent the processes that control each unit operation that constitutes a series of operations of an object, and transitions that represent the transition conditions between steps. These transition conditions include conditions that adjust the flow of processing related to the control described above. The types of elements may further include connections that indicate the start or end of parallel operations. The types of elements are not limited to these.

[0039] The support device has a storage unit for storing SFC program data 271 of an SFC program in a tabular format, and a GUI (Graphical User Interface) that displays information using a monitor 207. The SFC program data 271 can be provided, for example, as a source file of the source program of an SFC program. The SFC program data 271 is composed of a tabular format having multiple cells 25 to 28, and each of the multiple cells contains attribute data for each element of a plurality of elements, including the identifier of the element and program instructions. The multiple cells further contain relational data for each element, indicating the connection relationship between that element and other elements. This tabular SFC program data 271 can be any editable data, and is provided, for example, by Excel®, but is not limited to Excel.

[0040] The GUI of the support device includes a first GUI that outputs the SFC program data 271 of the storage unit in tabular format to window 24 of the monitor 207 screen, and a second GUI that outputs a graphical flowchart 23 of the SFC program data of the storage unit to window 20 of the same screen. The flowchart 23 is constructed by connecting symbols representing the attribute data of each element to symbols representing the attribute data of other elements, based on connection relationships that follow the flow of processing related to control between that element and other elements. The symbols include figures that have a graphically displayable shape.

[0041] Flowchart 23 includes symbols 31, 33, and 35 corresponding to elements, and lines 34 having edges connecting the symbols. More specifically, line 34 is a straight line that connects the symbols of each element based on the above connection relationships, with one edge connecting to the symbol of that element and the other edge connecting to the symbol of another element. Note that line 34 may also be a curve, and the type of line is not limited. Symbols 31, 33, and 35 correspond to the step element (hereinafter also called the step element), the transition element (hereinafter also called the transition element), and the connection element (hereinafter also called the connection element), respectively.

[0042] In flowchart 23, symbol 31 includes a symbol name 311 (e.g., Step00) representing the identifier 51 of the attribute data of the step element corresponding to that symbol. Symbol 33 also includes a symbol name 44 (e.g., Transition00) representing the identifier 61 of the attribute data of the transition element corresponding to that symbol. The attribute data of an element may further include a program instruction 43 associated with that element. In flowchart 23, symbol 33 includes an instruction identifier 43 (e.g., TRUE) identifying the program instructions 61,63 of the attribute data of the corresponding element.

[0043] Furthermore, window 20 displays a list 22 of possible operations to assist the user in manipulating the flowchart 23. The list 22 includes a selection of symbols for step elements (Initial Step, Step), transition elements (Transition), and connection elements (selective branch, selective merge, parallel branch). When one or more symbols are selected by the user from the options in the list 22, the selected symbols are inserted (placed) into the flowchart 23 by the user. This modifies the flowchart 23 in window 20.

[0044] In Figure 1, the SFC program data 271 in window 24 includes cell 25 where the attribute data of the step element of symbol 31 is set, cell 26 where the attribute data of the transition element of symbol 33 is set, cell 27 where the attribute data of the connection element of symbol 35 is set, and cell 28 where the attribute data of line 34 is set. The table in window 24 is configured so that cells can be added or deleted and the attribute data of cells can be changed by user operations. Details of the data set in each cell will be described later.

[0045] In Figure 1, the support device provides a data view in window 24 that outputs the SFC program as tabular SFC program data 271, and a chart view in window 20 that outputs the processing flow shown in the SFC program data 271 as a flowchart 23.

[0046] Users can view program data in both tabular format provided by the data view and in flowchart format provided by the chart view. These views allow SFC programs to be displayed in tabular or flowchart format, independent of the SFC program's syntax rules. Therefore, the information provided by these views can serve as support for users unfamiliar with the syntax rules, helping them understand the processes represented by the SFC program.

[0047] In this embodiment, the tabular format of the SFC program data 271 can be any editable data format, and may include, for example, a key-value format. In the key-value format, as shown in Figure 1, data is stored using pairs consisting of a key (type of attribute, e.g., Step Name, X, Y, width) and a value corresponding to that key (e.g., Step 00, 170, 55, 100). Thus, with the key-value format, by specifying a key from multiple pairs, the value corresponding to the specified key can be read (searched). Specific examples of the key-value format may include, but are not limited to, matrix formats and Excel® formats.

[0048] In Figure 1, the flowchart window 23 (window 20) and the SFC program data window 271 (window 24) were displayed on the same screen of the monitor 207. However, these windows can be displayed on different screens. It is also possible to switch between windows 20 and 24 on the same screen.

[0049] The following describes a more detailed configuration and processing of the support device 200 and system according to this embodiment, as a more specific application example of the present invention.

[0050] <A. System Configuration> First, a system 1000 including a PLC that the support device according to this embodiment uses and operates to support will be described.

[0051] FIG. 2 is a schematic diagram showing the system 1000 according to this embodiment. The system 1000 includes a plurality of PLCs 100-1, 100-2, and 100-3 that are network-connected via a network 50. For PLCs 100-1, 100-2, and 100-3, the common configuration will be described generically as PLC 100.

[0052] The PLC 100 includes a processing unit 10 that is the main body for executing a program, a power supply unit 12 that supplies power to the processing unit 10 and the like, and an input / output unit 14 that exchanges signals between the PLC 100 and the field. The input / output unit 14 is connected to the processing unit 10 via a system bus 11. Typically, the input / output unit 14 acquires an input signal from a detection sensor 6 that is a field device, and drives a relay 7 that is a field device according to the execution result of the program in the processing unit 10.

[0053] The support device 200 communicates with the PLC 100 via a network 13. The support device 200 has a module for monitoring the operating state of the PLC connected via the network 13 and the values of various data, together with a module for supporting the development of a program (hereinafter also referred to as an "executable program") executed by the PLC. The module for supporting the development of a program includes a module for editing the program. The support device 200 may further have modules for debugging and simulating the program. In the present disclosure, a module is constituted by a hardware circuit, a software application (program or data), or a combination of a hardware circuit and a software application.

[0054] <B. Hardware Configuration> (b1: Hardware configuration of the support device) Figure 3 is a schematic diagram showing the hardware configuration of the support device 200 according to this embodiment. Referring to Figure 3, the support device 200 is typically composed of a general-purpose computer. From the viewpoint of maintainability, a notebook-type personal computer with excellent portability is preferred.

[0055] Referring to Figure 3, the support device 200 includes a CPU (Central Processing Unit) 201 that executes various programs including an OS (Operating System), a ROM (Read Only Memory) 202 that stores a BIOS (Basic Input Output System) and various data, a RAM (Random Access Memory) 203 that provides a working area for storing data necessary for executing programs on the CPU 201, and a hard disk drive (HDD) 204 that non-volatilely stores programs executed on the CPU 201.

[0056] The support device 200 further includes a keyboard 205 and a mouse 206 for receiving user input to the support device 200, and a monitor 207 for displaying information to the user. The support device 200 also includes a communication interface (IF) 209 for communicating with a PLC 100 (processing unit 10) and the like.

[0057] As will be described later, the various programs executed by the support device 200 are typically stored and distributed on a CD-ROM (Compact Disc Read Only Memory) 300. The programs stored on this CD-ROM 300 are read by a CD-ROM (Compact Disk-Read Only Memory) drive 208 and stored on a hard disk drive (HDD) 204 or the like. Alternatively, the support device 200 may be configured to receive programs from a host computer or other higher-level computer via a network.

[0058] Figure 4 is a schematic diagram showing an example of information stored in the HDD 204 of Figure 3. The HDD 204 includes a system program 269 including the OS, SFC program data 271, an executable program 272 consisting of executable code for the SFC program data 271, GUI program data 273 showing the SFC program data 271 output via a first GUI, GUI chart data 274 showing a flowchart output via a second GUI, symbol objects 275, and a support program 276 executed by the support device 200 to provide various support. The symbol objects include drawing objects for drawing various symbol shapes on the screen of the monitor 207.

[0059] (b2: PLC hardware configuration) Figure 5 is a schematic diagram showing the hardware configuration of the processing unit 10 of the PLC 100 according to this embodiment. Referring to Figure 3, the processing unit 10 includes a processor 101, a chipset 102, main memory 104, non-volatile memory 106, a system timer 108, a system bus controller 120, a network controller 140, and a USB (Universal Serial Bus) connector 110. The chipset 102 and the other components are connected via various buses.

[0060] The processor 101 and chipset 102 are typically configured according to a general-purpose computer architecture. That is, the processor 101 interprets and executes instruction codes supplied sequentially from the chipset 102 according to its internal clock. The chipset 102 exchanges internal data with various connected components and generates the instruction codes required by the processor 101. Furthermore, the chipset 102 has a module that caches data obtained as a result of the execution of arithmetic processing by the processor 101.

[0061] The processing unit 10 has main memory 104 and non-volatile memory 106 as memory.

[0062] Main memory 104 is a volatile memory area that stores various programs to be executed by the processor 101 after power is supplied to the processing unit 10. Main memory 104 is also used as working memory when the processor 101 executes various programs. Devices such as DRAM (Dynamic Random Access Memory) and SRAM (Static Random Access Memory) are used as such main memory 104.

[0063] The non-volatile memory 106 non-volatilely stores system programs including the real-time OS, various application programs (modules) such as executable programs, and data such as system setting parameters. These programs and data are copied to the main memory 104 as needed so that the processor 101 can access them.

[0064] The processing unit 10 has a system bus controller 120 and a network controller 140 as communication interfaces. These communication interfaces transmit output data and receive input data.

[0065] The system bus controller 120 controls the exchange of data via the system bus 11. More specifically, the system bus controller 120 includes a DMA (Dynamic Memory Access) control circuit 122, a system bus control circuit 124, and a buffer memory 126. The system bus controller 120 is internally connected to the system bus 11 via a system bus connector 130 which includes a communication circuit. The processing unit 10 exchanges control commands calculated by the execution of a control program (SFC program) with the controlled object (a field device, such as a detection sensor 6 or relay 7) via the system bus connector 130, along with the status values ​​of the controlled object.

[0066] The network controller 140 controls the exchange of data with other PLCs via the network 50 through the communication connector 150. That is, the network controller 140 controls the transmission of output data and the reception of input data according to the network standard used. For example, system 1000 employs Ethernet®, TCP / IP or UDP / IP, or the Common Industrial Protocol (CIP) for communication on the network 50. The communication standards applicable to the network 50 are not limited to these.

[0067] The network controller 140 includes a network control circuit 144, a DMA control circuit 142, and a buffer memory 146 for exchanging data with other PLCs 100 connected to the network 50.

[0068] The USB connector 110 is a communication interface for connecting the support device 200 to the processing unit 10. Typically, executable programs or data, etc., transferred from the support device 200 to the processor 101 of the processing unit 10 are received by the PLC via the USB connector 110.

[0069] Figure 6 is a schematic diagram showing an example of information stored in the non-volatile memory 106 of Figure 5. Referring to Figure 6, the non-volatile memory 106 of the PLC 100 contains a system program including the OS and information developed in the support device 200. This information includes, for example, SFC program data 271 and a user-defined application 170 including its executable program, FUN (Function) / FB (Function Block) definitions 181 corresponding to functions, and a system-defined variable table 182. The FUN / FB definitions 181 are provided as a library 184 that constitutes a function program that can be called from the executable program. The system-defined variable table 182 stores information on variables that can be read and written from the control program (SFC program, FUN / FB program).

[0070] <C. Software Configuration> (c1: Software Configuration of Support Device) Next, the software configuration for the support device 200 to provide various functions will be described.

[0071] FIG. 7 is a schematic diagram showing the software configuration implemented in the support device 200 according to the present embodiment. The instruction codes included in the software shown in FIG. 7 are read at an appropriate timing and provided to the CPU201 of the support device 200 for execution.

[0072] Referring to FIG. 7, an OS 240 and a programming application 250 are implemented in the support device 200. By executing the OS 240 in the support device 200, an environment in which the programming application 250 can be executed is provided. The support program for realizing the support device 200 according to the present embodiment includes at least the programming application 250.

[0073] The programming application 250 includes an editor 252, a compiler 254 including an SFC compiler 255 that compiles the SFC program data 271, a debugger 256, a GUI (Graphical User Interface) module 258, a loader 260, and a storage unit 270. Each module included in the programming application 250 typically circulates in a state stored in the CD-ROM 300 and is installed in the support device 200.

[0074] The storage unit 270 may be configured to include a volatile storage medium such as RAM 203 or a non-volatile storage medium such as HDD 204. Therefore, the support device 200 can process the tabular SFC program data 271 of the SFC program as data in memory (for example, the volatile storage medium RAM 203), and can also store (hold) the SFC program data 271 in the form of a source file in a non-volatile storage medium (HDD 204, etc.).

[0075] In this embodiment, the "storage unit for storing the SFC program data 271 in tabular format" may include either the case where the storage medium is intended to store (store) the tabular SFC program data 271, or the case where the operation of storing (store) the tabular program data 271 in the storage medium is intended, or both.

[0076] The GUI module 258 displays information and provides a user interface for the user to input various data and parameters. The GUI module 258 includes a chart GUI 42 that provides a chart view that outputs a flowchart 23 shown by the SFC program data 271, and a data GUI 41 that provides a data view that outputs the SFC program data 271 in tabular format.

[0077] The editor 252 supports the user in inputting and editing data to create SFC program data 271. More specifically, the GUI module 258 is configured to accept user input via the keyboard 205 or mouse 206, and the editor 252 edits the SFC program data 271 in the storage unit 270 based on the user input. The editor 252 edits the attribute data of the cell in the SFC program data 271 in the storage unit 270 in accordance with the user input that changes the attribute data of the cell received by the data GUI 41. In addition, the editor 252 edits the attribute data of the element corresponding to the symbol in the SFC program data 271 in the storage unit 270 in accordance with the user input that changes the symbol in the flowchart 23 received by the chart GUI 42.

[0078] Furthermore, the editor 252 edits the relationship data of the cell in the SFC program data 271 of the storage unit 270 in accordance with a user operation that changes the relationship data set in the cell received by the data GUI 41. Also, in accordance with a user operation that changes the connection (line 34) between two symbols in the flowchart 23 received by the chart GUI 42, the editor 252 edits the relationship data of the elements corresponding to those two symbols in the SFC program data 271 of the storage unit 270. The user operation that changes the connection (line 34) between the above symbols includes modification operations such as moving one end or the other end of the line in the flowchart. This modification operation changes, for example, the symbol that should be connected to that end.

[0079] The compiler 254 has a module for compiling the SFC program data 271 in the storage unit 270 to generate an executable program in object program format that can be executed by the processor 101 of the processing unit 10. The executable format includes, for example, binary code. The compiler 254 has an SFC compiler 255 for compiling the SFC program data 271. The debugger 256 provides a module for debugging the generated program.

[0080] The loader 260 transfers the data of the executable program 272 from the support device 200 to the processing unit 10 of the PLC 100. The processing unit 10 stores the executable program transferred from the support device 200 in the non-volatile memory 106.

[0081] The information stored in the storage unit 270 mainly includes, but is not limited to, tabular SFC program data 271, executable program 272, GUI program data 273 for output by data GUI 42, and GUI chart data 274 for output by chart GUI 42.

[0082] (c2. PLC software configuration) Figure 8 is a schematic diagram showing the software configuration of the PLC100 according to this embodiment. Figure 8 mainly shows the software implemented in the processing unit 10.

[0083] Referring to Figure 8, in the processing unit 10, the hypervisor 111 manages the hardware resources of the processing unit 10 and allocates these hardware resources to the real-time OS 114 and the general-purpose OS 1161 through arbitration, thereby allowing the real-time OS 114 and the general-purpose OS 1161 to run independently on common hardware resources. In other words, the hypervisor 111 is used to realize a virtualized environment in which multiple different operating systems can run. A logical network is established between the real-time OS 114 and the general-purpose OS 1161 via the hypervisor 111. In this way, the processing unit 10 constitutes an IPC (Industrial PC (Personal Computer)).

[0084] In the real-time OS 114, the user program 112 is executed. The task scheduler 1142, the program manager 1144, and the I / O (Input / Output) control process 1146 work together to execute the user program 112. The user program 112 has been pre-converted to an executable format and includes the executable program 272 from the SFC program data 271.

[0085] In the general-purpose OS 1161, arbitrary user applications 1164 and general-purpose applications 1162 are executed.

[0086] The user application 1164 is typically an application created by the development vendor of the user program 112 that runs on the real-time OS 114, and performs operations such as acquiring and / or providing data related to the processing results of the user program 112 and / or data necessary for processing.

[0087] The general-purpose application 1162 is a standard application executable on the general-purpose OS 1161. By associating with the user application 1164, it can build a system with less man-hours using general-purpose processing and functions.

[0088] The user application 1164 may include an application implemented in the support device 200. In this case, in the PLC 100, a support program that realizes the development environment (editor, view presentation by GUI, compilation, etc.) of the SFC program data 271 is provided. Thus, when the processing unit 10 is composed of IPCs, a control system that can provide the execution environment of the SFC program (executable program 272) and the development environment of the SFC program data 271 provided by the support device 200 described above is realized.

[0089] FIG. 9 is a schematic diagram showing the communication between the support device 200 and the PLC 100 according to the present embodiment. In FIG. 9, when the software in FIG. 7 is executed, the support device 200 displays the SFC program data 271 in tabular form on the monitor 207 and also displays the flowchart 23 (processing 222). When a cell in the table of the displayed SFC program data 271 is operated or a symbol in the displayed flowchart 23 is operated, the editor edits the SFC program data 271 in the storage unit 270 according to the operation.

[0090] When the edited SFC program data 271 is compiled by the SFC compiler 255 and converted into executable code (processing 225), the executable program 272 composed of the executable code is transferred to the PLC 100 (processing 226). The processing unit 10 stores the executable program 272 from the support device 200 in the non-volatile memory 106. The processor 101 of the processing unit 10 reads the executable program 272 from the non-volatile memory 106, expands it in the main memory 104, and executes it.

[0091] <D. Inter-Process Communication> Figures 10 and 11 are schematic diagrams showing the sequence of inter-process communication according to this embodiment. In this embodiment, the CPU 201 executes, for example, the chart GUI 42, the data GUI 41, and the editor 252 as separate processes. Figures 10 and 11 show the communication between the process 70 of the chart GUI 42 and the process 80 of the data GUI 41.

[0092] Figure 10 shows the sequence that begins when a user interacts with the flowchart 23 in window 20. First, process 70 receives a user operation to change a symbol via the chart GUI 42 (step ST3) and sends an edit request to process 80 (step ST5). The edit request includes the user operation received in step ST3. Process 80 receives the request from process 70 (step ST7) and sends an edit command, including the user operation of the received request, to process 90 of editor 252 (step ST9). Editor 252 of process 90 edits the attribute data of the SFC program data 271 in storage unit 270 according to the user operation indicated by the command. After editing, process 90 sends a response to process 80 indicating that editing is complete.

[0093] Upon receiving a response from process 90 indicating that editing is complete, the data GUI 41 of process 80 reads the SFC program data 271 from the storage unit 270 and outputs it in tabular format (step ST11). As a result, the edited program data 271 is output to window 24 of monitor 207.

[0094] Process 80 forwards the editing completion response received from Process 90 to Process 70 (Step ST13). When Process 70 receives the editing completion response from Process 90 via Process 80 (Step ST15), Process 70 reads the SFC program data 271 from the storage unit 270 and outputs a flowchart 23 based on the attribute data of the read program data 271 (Step ST17). As a result, the flowchart 23 and the tabular program data 271 according to the edited program data 271 are output to windows 20 and 24 of Monitor 207.

[0095] Figure 11 shows the sequence that begins when a user manipulates the SFC program data 271 in window 24. First, process 80 receives a user operation to change attribute data via the data GUI 41 (step ST21), and then sends an editing command, including the received user operation, to process 90 of editor 252 (step ST23). Editor 252 of process 90 edits the attribute data of the SFC program data 271 in storage unit 270 according to the user operation indicated by the command. After editing, process 90 sends a response to process 80 indicating that editing is complete.

[0096] Upon receiving a response from process 90 indicating that editing is complete, the data GUI 41 of process 80 reads the SFC program data 271 from the storage unit 270 and outputs it in tabular format (step ST25).

[0097] When process 80 receives a response from process 90 indicating that editing is complete, it sends an update request to process 70 (step ST27). Upon receiving the update request from process 80 (step ST29), process 70 reads the SFC program data 271 from the storage unit 270 and outputs a flowchart 23 based on the attribute data of the read program data 271 (step ST31). As a result, the flowchart 23 and the tabular program data 271, according to the edited program data 271, are output to windows 20 and 24 of monitor 207.

[0098] When process 70 outputs flowchart 23 via chart GUI 42, it sends a response to process 80 (step ST35), and process 80 receives the response from process 70 (step ST37). Upon receiving this response, process 80 of data GUI 41 determines that it has successfully output flowchart 23 according to the edited program data 271.

[0099] According to the inter-process communication in Figures 10 and 11, when a user operation to change the attribute data of the table of SFC program data 271 is received via the data GUI 41, or when a user operation to change the symbols of the flowchart 23 is received via the chart GUI 42, process 80 sends an editing command indicating the user operation to the editor process 90. Therefore, since process 80 of the data GUI 41 acts as an intermediary for communication between the editor process 90 and the chart GUI 42 process 70, inter-process communication between processes 70, 80, and 90 can be made possible by omitting inter-process communication between process 80 and process 90.

[0100] The order of the steps in each process in the sequences of Figures 10 and 11 is not limited to these and can be changed as appropriate. Also, the data view or chart view may be updated based only on the data of the changed (edited) cells. That is, when the SFC program data 271 in the storage unit 270 is edited, the data GUI 41 or chart GUI 42 retrieves only the data of the changed cells from the storage unit 270 and updates the GUI program data 273 or GUI chart data 274 with the retrieved data. Based on the updated data, the data view of the tabular SFC program data or the chart view of the flowchart 23 is updated.

[0101] As shown in FIGS. 10 and 11, a mechanism is provided to synchronize the SFC program data 271 in the storage unit 270 and the display data of views (data view and chart view) in any sequence from the user operation of the SFC program data 271 of the data GUI 41 to the change of the flowchart 23 of the chart GUI 42, and from the user operation of the flowchart 23 of the chart GUI 42 to the change of the SFC program data 271 of the data GUI 41. This mechanism is hereinafter also referred to as "editing in both directions".

[0102] <E. Editing of SFC Program Data 271> FIGS. 12 to 24 are schematic diagrams showing the flow of editing according to the present embodiment.

[0103] First, in FIG. 12, when a cell 25 of the attribute data of the step element is added to the window 24 by a user operation, editing in both directions is performed. As a result, the chart GUI 42 outputs (draws) a symbol 31 corresponding to the element (step element) of the cell 25 to the window 20.

[0104] The attribute data of the cell 25 includes an identifier 51 for identifying the step element, an index 52, and an arrangement 53 of the corresponding symbol. The identifier 51 includes an identifier of the type of the element. The index 52 includes a flag 521 shown in FIG. 1 for specifying whether the step indicates the start step of the flowchart. The attribute data of the cell 25 includes the attribute of the symbol corresponding to the element. This attribute includes the arrangement 53. The arrangement 53 includes the position (X, Y coordinates) and size of the symbol 31 of the step element in the flowchart. The position of the symbol is indicated, for example, as a relative position from the origin of the two-dimensional coordinates when the window 20 is used as the two-dimensional coordinates. The symbol 31 of the step element includes a symbol name 21 indicated by the identifier 51 of the element.

[0105] In Figure 13, when a user operation adds a program instruction 54 associated with a step element to the attribute data cell 25 of the step element in window 24, reciprocal editing is performed. As a result, the chart GUI 42 adds an icon 31A to the symbol 31 of the flowchart 23, to which the identifier of the program instruction 54 is assigned. In Figure 13, the function name 541 is added as the program instruction 54. The function name 541 indicates the function name of the function (FUN / FB definition 181) that is called from library 184 when the program instruction 54 is executed in PLC 100.

[0106] In Figure 14, when a user action adds a transition element symbol 33 to the flowchart 23 in window 20, editing is performed in both directions. As a result, the data GUI 41 adds a cell 26 in window 24 with the attribute data of the transition element set.

[0107] The attribute data of cell 26 includes the transition identifier 61, the program instructions 62 and 63 associated with the transition, and the position 64 in the flowchart as an attribute of the transition element symbol 33. The position 64 includes the size of the symbol. The identifier 61 also includes the identifier of the element type. The transition element symbol 33 in flowchart 23 includes the symbol name 44 representing the identifier 61 and the instruction identifier 43 of the program instructions 62 and 63.

[0108] In Figure 15, a line 34 connecting the step element symbol and the transition element symbol is added to the flowchart 23 in window 20 through user operation. Mutually edited based on user operation is performed. As a result, the data GUI 41 adds a cell 28 containing the relationship data of line 34 to the SFC program data 271 in window 24.

[0109] The relational data in cell 28 includes the identifier 81 of the symbol to which the input end (one end) of line 34 is connected, and the identifier 83 of the symbol to which the output end (the other end) is connected. In this embodiment, in the flowchart showing the flow of control-related processing, the upstream side of the flow (the side where the preceding steps are located) is the input end, and the downstream side of the flow (the side where the subsequent steps are located) is the output end.

[0110] In Figure 16, a connection element symbol 35 is added to the flowchart 23 of window 20 by user operation. Mutually edited based on user operation is performed. As a result, the data GUI 41 adds a cell 27 containing the attribute data of the connection element to the SFC program data 271 of window 24. The attribute data of cell 27 includes the connection identifier 71, the position 75 of the connection in the flowchart 23, and the types 72, 73, and 74 that specify the type of connection. The identifier 71 also includes the identifier of the element type.

[0111] In Figure 17, a line 34 is added to the flowchart 23 in window 20 by user operation, connecting the symbol of a transition element to the symbol of a connection element. Mutual editing is performed based on user operation. As a result, the data GUI 41 adds a cell 28 containing the relationship data of the line 34 to the SFC program data 271 in window 24.

[0112] In Figure 18, when a new cell 25 containing attribute data for the next step element is added to window 24 by user operation, editing is performed in both directions. As a result, the chart GUI 42 outputs (draws) a symbol 31 corresponding to the element (step element) of the new cell 25 in window 20.

[0113] In Figure 19, a line 34 is added to the flowchart 23 in window 20 by user operation, connecting the symbol of a step element to the symbol of a connection element. Mutually directional editing is performed based on user operation. As a result, the data GUI 41 adds a new cell 28 to the SFC program data 271 in window 24, with the relationship data of line 34 set.

[0114] In Figure 20, when a new cell 25 containing attribute data for the next step element is added to window 24 by user operation, editing is performed in both directions. As a result, the chart GUI 42 outputs (draws) a symbol 31 corresponding to the element (step element) of the new cell 25 in window 20.

[0115] In Figure 21, a line 34 is added to the flowchart 23 in window 20 by user operation, connecting the symbol of a step element to the symbol of a connection element. Mutually directional editing is performed based on user operation. As a result, the data GUI 41 adds a new cell 28 to the SFC program data 271 in window 24, with the relationship data of line 34 set.

[0116] In Figure 22, a new symbol 35 for the connection element is added to the flowchart 23 in window 20 by user operation. Mutually edited based on user operation is performed. As a result, the data GUI 41 adds a new cell 27 with the attribute data of the connection element set in the SFC program data 271 in window 24.

[0117] In Figure 23, user interaction adds two lines 34 to the flowchart 23 in window 20, connecting the step element symbol to the connection element symbol. Mutually directional editing is performed based on user interaction. As a result, the data GUI 41 adds new cells 28 to the SFC program data 271 in window 24, each containing relational data for each of these two lines 34.

[0118] In FIG. 24, by the user operation ST50, from the flowchart 23 of the window 20, the connection element and the line 34 connected to the connection element are deleted. Such mutual-direction editing based on the user operation is performed. As a result, the data GUI 41 performs update ST51 and update ST52 on the SFC program data 271 of the window 24. More specifically, by update ST52, the cell 27 in which the attribute data of the connection element is set is deleted, and by update ST51, the cell 28 in which the relationship data of the line 34 is set is deleted.

[0119] As shown in FIGS. 12 to 24, even if the user is not familiar with the rules for describing the commands of the SFC program, the user can edit the SFC program data 271 in the storage unit 270 by operating the tabular SFC program data 271 in the window 24 or by operating the flowchart 23 in the window 20.

[0120] <F. Execution of SFC Program> The support device 200 transfers the SFC program data 271, which is the source data in the storage unit 270, and the executable program 272 obtained by compiling the SFC program data 271 to the PLC 100.

[0121] When the SFC program (executable program 272) is executed by the processor 101 of the PLC 100, a token for instructing the step to be executed moves from the upstream side to the downstream side of the step element in the flowchart in order. The processor 101 obtains this order by analyzing the relationship data of the cell 28. If the step indicated by the token is in the "activated" state, the processor 101 executes the program command associated with the step, and if it is in the "deactivated" state, the processor 101 does not execute the command of the step (or ends the execution of the program command). Note that the execution order may be obtained by analyzing the relationship data of the cell 28 of the SFC program data 271 in the support device 200 and transferred to the PLC 100 together with the executable program 272.

[0122] <G. Program> The support device 200 includes a communication interface 218 for communicating with the PLC 100 (CPU unit 10) or the like. The communication interface 209 may include a USB communication module for communicating with the USB connector 110.

[0123] The support device 200 reads a support program 276 for providing a development support environment for the SFC program data 271 stored therein from the CD-ROM 300 and stores it in the HDD 204.

[0124] Such a support program 276 shows a configuration example in which functions necessary for a processor such as the CPU 201 to execute a program are provided. However, some or all of these provided functions may be implemented using a dedicated hardware circuit (for example, an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array)). In this case, virtualization technology may be used to execute a plurality of different OSs in parallel and execute necessary applications on each OS.

[0125] <I. Supplementary Note> The above-described embodiment includes the following technical ideas. [Configuration 1] A storage unit (270) that stores program data (271) of an SFC (Sequential Function Chart) program composed of a plurality of elements in a tabular format to control the target (6, 7), A GUI (Graphical User Interface) (258), The program data is composed of a tabular format having multiple cells (25, 26, 27, 28), and each of the multiple cells includes a cell (25, 26) in which attribute data is set for each of the multiple elements, including the identifier (51, 61, 71) of the element and a program instruction (54, 62, 63). The aforementioned GUI is A first GUI (41) that outputs the program data of the storage unit in the tabular format, Information processing device (200) including a second GUI (42) that outputs a flowchart (23) configured by connecting symbols (31, 33, 35) having identifiers for the attribute data of each element of the program data of the storage unit to symbols having identifiers (311, 44) for the attribute data of other elements, based on connection relationships that follow the flow of control-related processing between the element and other elements. [Configuration 2] The GUI is configured to accept user input, The information processing device according to configuration 1, further comprising an editor (252) for editing program data in the storage unit based on user operation. [Configuration 3] The aforementioned editor, In accordance with a user operation that modifies the attribute data of the cell received by the first GUI, the attribute data of the cell in the program data of the storage unit is edited. The information processing device according to configuration 2, wherein, in accordance with a user operation to change the symbol of the flowchart received by the second GUI, the program data of the storage unit edits the attribute data of the element corresponding to the symbol. [Structure 4] The information processing apparatus according to any one of configurations 1 to 3, wherein the plurality of cells further include a cell (28) in which relational data indicating the connection relationship between each element and the other elements is set. [Composition 5] The aforementioned editor, In accordance with a user operation that modifies the relationship data of the cell received by the first GUI, the relationship data of the cell in the program data of the storage unit is edited. The information processing device according to configuration 4, wherein, in accordance with a user operation that changes the connection between two of the symbols in the flowchart received by the second GUI, the relational data of elements corresponding to the two symbols is edited in the program data of the storage unit. [Composition 6] The flowchart further, The information processing device according to configuration 5, wherein the symbols of each element are connected to the symbols of other elements via lines (34) that, based on the connection relationship, have one end connected to the symbol and the other end connected to the symbol of the other element. [Composition 7] The user operation that changes the aforementioned connection is: The information processing device according to configuration 6, which includes an operation to change the symbol to which one end or the other end of the line in the flowchart is connected. [Structure 8] The aforementioned multiple elements include elements of different types, The aforementioned different types of elements include, for each unit operation constituting the series of operations of the subject, steps representing processes that control said unit operation, and transitions representing transition conditions between the steps, The attribute data of each of the aforementioned elements further includes the type of the element, as described in any of configurations 1 to 7 of the information processing device. [Composition 9] The information processing device according to any one of configurations 1 to 8, wherein the attribute data of each element further includes the position (53, 64, 75) of the symbol corresponding to the element in the flowchart. [Configuration 10] The attribute data of each element further includes the size of the symbol corresponding to that element, as described in any of configurations 1 to 9 of the information processing device. [Composition 11] When the second GUI receives a user operation to change the symbol in the flowchart, it sends an editing request to the first GUI. When the first GUI receives a user operation to change the attribute data in the table, or when it receives the request from the second GUI, it outputs an editing command to the editor. The aforementioned editor, When the first GUI receives a user operation to change the attribute data in the table, and receives the command from the first GUI, it edits the attribute data of the program data in the storage unit in accordance with the user operation. The information processing device according to any one of configurations 1 to 10, wherein when the second GUI receives a user operation to change the symbol, and the device receives the command from the first GUI, it edits the attribute data of the element corresponding to the symbol in the program data of the storage unit in accordance with the user operation. [Composition 12] A communication circuit (130) that communicates with the target (6,7), A processor (101) that executes an SFC (Sequential Function Chart) program to control the aforementioned target, A storage unit (106) for storing the program data (271) of the aforementioned SFC program in a tabular format, It is equipped with a GUI (Graphical User Interface) (258), The program data is composed of a tabular format having multiple cells (25, 26, 27, 28), and each of the multiple cells includes a cell (25, 26) in which attribute data is set for each of the multiple elements, including the identifier (51, 61, 71) of the element and a program instruction (54, 62, 63). The aforementioned GUI is A first GUI (41) that outputs the program data of the storage unit in the tabular format, A control system (100) including a second GUI (42) that outputs a flowchart (23) configured by connecting symbols (31, 33, 35) having identifiers for the attribute data of each element of the program data of the storage unit to symbols having identifiers for the attribute data of other elements, based on connection relationships that follow the flow of control-related processing between the element and other elements. [Composition 13] A method performed by the computer (200), The aforementioned computer, A storage unit (270) that stores program data (271) of an SFC (Sequential Function Chart) program, which consists of multiple elements for controlling the target, in tabular format, It is equipped with a GUI (Graphical User Interface) (258), The program data is composed of a tabular format having multiple cells (25, 26, 27, 28), and each of the multiple cells includes a cell (25, 26) in which attribute data is set for each of the multiple elements, including the identifier (51, 61, 71) of the element and a program instruction (54, 62, 63). The aforementioned method, The steps include outputting the program data from the storage unit in tabular format via the GUI, A method comprising the step of outputting a flowchart (23) via the GUI, which is constructed by connecting symbols (31, 33, 35) having identifiers for the attribute data of each element of the program data of the storage unit to symbols having identifiers (311, 44) for the attribute data of other elements, based on connection relationships that follow the flow of control-related processing between the element and other elements. [Composition 14] A program (276) that causes a computer (200) to execute a method, The aforementioned computer, A storage unit (270) that stores program data (271) of an SFC (Sequential Function Chart) program consisting of multiple elements for controlling the target (6.7) in a tabular format, It is equipped with a GUI (Graphical User Interface) (258), The program data is composed of a tabular format having multiple cells (25, 26, 27, 28), and each of the multiple cells includes a cell (25, 26) in which attribute data is set for each of the multiple elements, including the identifier (51, 61, 71) and program instructions (51, 62, 63) of the element. The aforementioned method, The steps include outputting the program data from the storage unit in tabular format via the GUI, A program comprising the step of outputting a flowchart (23) via the GUI, which is constructed by connecting symbols (31, 33, 35) having identifiers for the attribute data of each element with symbols having identifiers for the attribute data of other elements, based on connection relationships that follow the flow of control-related processing between the element and other elements.

[0126] The embodiments disclosed herein should be considered in all respects to be illustrative and not restrictive. The scope of the present invention is indicated by the claims rather than by the foregoing description, and all modifications within the meaning and scope equivalent to the claims are intended to be included. [Explanation of Symbols]

[0127] 6 Detection Sensor, 7 Relay, 10 Processing Unit, 20,24 Window, 21,44,311 Symbol Name, 22 List, 23 Flowchart, 25,26,27,28 Cell, 31,33,35 Symbol, 31A Icon, 34 Line, 43 Instruction Identifier, 54,62,63 Program Instruction, 51,61,71,81,83 Identifier, 52 Index, 53 Placement, 64,75 Position, 70,80,90 Process, 72,73,74 Type, 101 Processor, 184 Library, 200 Support Device, 250 Programming Application, 252 Editor, 254,255 Compiler, 256 Debugger, 258 GUI Module, 260 Loader, 269 System Program, 270 Data Storage Unit, 271 SFC Program Data, 272 Executable programs, 274 GUI chart data, 275 symbol objects, 276 supporting programs, 541 function names, 1000 system.

Claims

1. A storage unit that stores program data for an SFC (Sequential Function Chart) program, which consists of multiple elements for controlling the target, in a tabular format, It is equipped with a GUI (Graphical User Interface), The program data is composed of a tabular format having multiple cells, and each of the multiple cells includes a cell in which attribute data, including the identifier of the element and a program instruction, is set. The GUI is, A first GUI that outputs the program data of the storage unit in the tabular format, An information processing device comprising: a second GUI that outputs a flowchart of the program data of the storage unit, by connecting symbols having identifiers for the attribute data of each element with symbols having identifiers for the attribute data of other elements, based on connection relationships that follow the flow of control-related processing between the element and other elements.

2. The GUI is configured to accept user input, The information processing apparatus according to claim 1, further comprising an editor for editing program data in the storage unit based on user operation.

3. The aforementioned editor, In accordance with a user operation that modifies the attribute data of the cell received by the first GUI, the attribute data of the cell in the program data of the storage unit is edited. The information processing apparatus according to claim 2, wherein, in accordance with a user operation to change the symbol of the flowchart received by the second GUI, the attribute data of the element corresponding to the symbol is edited in the program data of the storage unit.

4. The information processing apparatus according to any one of claims 1 to 3, wherein the plurality of cells further include a cell in which relational data indicating the connection relationship between each element and the other elements is set.

5. The aforementioned editor, In accordance with a user operation that modifies the relationship data of the cell received by the first GUI, the relationship data of the cell in the program data of the storage unit is edited. The information processing device according to claim 4, wherein, in accordance with a user operation that changes the connection between two symbols of the flowchart received by the second GUI, the relational data of elements corresponding to the two symbols is edited in the program data of the storage unit.

6. The flowchart further, The information processing apparatus according to claim 5, wherein the symbols of each of the aforementioned elements are connected to the symbols of other elements via lines, one end of which is connected to the symbol and the other end of which is connected to the symbol of the other element, based on the connection relationship.

7. The user operation that changes the aforementioned connection is: The information processing apparatus according to claim 6, comprising an operation to change the symbol to which one end or the other end of the line in the flowchart is connected.

8. The aforementioned multiple elements include elements of different types, The aforementioned different types of elements include, for each unit operation constituting the series of operations of the subject, steps representing processes that control said unit operation, and transitions representing transition conditions between the steps, The information processing apparatus according to any one of claims 1 to 3, wherein the attribute data of each of the aforementioned elements further includes the type of the element.

9. The information processing apparatus according to any one of claims 1 to 3, wherein the attribute data of each element further includes the position of the symbol corresponding to the element in the flowchart.

10. The information processing apparatus according to any one of claims 1 to 3, wherein the attribute data of each element further includes the size of the symbol corresponding to that element.

11. When the second GUI receives a user operation to change the symbol in the flowchart, it sends an editing request to the first GUI. When the first GUI receives a user operation to change the attribute data in the table, or when it receives the request from the second GUI, it outputs an editing command to the editor. The aforementioned editor, When the first GUI receives a user operation to change the attribute data in the table, and receives the command from the first GUI, it edits the attribute data of the program data in the storage unit in accordance with the user operation. The information processing device according to any one of claims 1 to 3, wherein when the second GUI receives a user operation to change the symbol, and the device receives the command from the first GUI, it edits the attribute data of the element corresponding to the symbol in the program data of the storage unit in accordance with the user operation.

12. A communication circuit that communicates with the target, A processor that executes an SFC (Sequential Function Chart) program to control the aforementioned target, A storage unit for storing the program data of the aforementioned SFC program in tabular format, It is equipped with a GUI (Graphical User Interface), The program data is composed of a tabular format having multiple cells, and each of the multiple cells includes a cell in which attribute data, including the identifier of the element and a program instruction, is set. The GUI is, A first GUI that outputs the program data of the storage unit in the tabular format, A control system comprising: a second GUI that outputs a flowchart of the program data of the storage unit, by connecting symbols having identifiers for the attribute data of each element with symbols having identifiers for the attribute data of other elements, based on connection relationships that follow the flow of control-related processing between the element and other elements.

13. A method performed by a computer, The aforementioned computer, A storage unit that stores program data for an SFC (Sequential Function Chart) program, which consists of multiple elements for controlling the target, in a tabular format, It is equipped with a GUI (Graphical User Interface), The program data is composed of a tabular format having multiple cells, and each of the multiple cells includes a cell in which attribute data, including the identifier of the element and a program instruction, is set. The aforementioned method, The steps include outputting the program data from the storage unit in tabular format via the GUI, A method comprising the step of outputting a flowchart via the GUI, which is constructed by connecting symbols having identifiers for the attribute data of each element of the program data of the storage unit with symbols having identifiers for the attribute data of other elements, based on connection relationships that follow the flow of control-related processing between the element and other elements.

14. A program that causes a computer to execute a method, The aforementioned computer, A storage unit that stores program data for an SFC (Sequential Function Chart) program, which consists of multiple elements for controlling the target, in a tabular format, It is equipped with a GUI (Graphical User Interface), The program data is composed of a tabular format having multiple cells, and each of the multiple cells includes a cell in which attribute data, including the identifier of the element and a program instruction, is set. The aforementioned method, The steps include outputting the program data from the storage unit in tabular format via the GUI, A program comprising the step of outputting a flowchart via the GUI, which is constructed by connecting symbols having identifiers for the attribute data of each element with symbols having identifiers for the attribute data of other elements, based on connection relationships that follow the flow of control-related processing between the element and other elements.