Method, program and system for storing procedures

The method uses spreadsheet technology to accurately store and modify procedures by representing elements as cells and linking them with information, addressing the inaccuracies and complexity of human-drawn flowcharts and specialized software requirements.

JP7654192B2Active Publication Date: 2025-04-01TOKYO ELECTRIC POWER CO HOLDINGS INC
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2021101809
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-06-18
Publication Date
2025-04-01
Estimated Expiration
2041-06-18

AI Technical Summary

Technical Problem

Existing methods for storing procedures in computers are inaccurate due to human-drawn flowcharts, require specialized software, and cannot be easily modified or updated without dedicated tools.

Method used

A computer-based method using spreadsheets to store procedures, where cells represent elements and linkage information connects them, allowing for accurate representation and modification of procedures without specialized software.

Benefits of technology

Enables easy and accurate storage of procedures in a computer, eliminating inaccuracies from human drawing and allowing modifications and updates in various environments, without requiring proficiency in specialized software or flowcharts.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007654192000001
    Figure 0007654192000001
  • Figure 0007654192000002
    Figure 0007654192000002
  • Figure 0007654192000003
    Figure 0007654192000003
Patent Text Reader

Abstract

To provide a method, a program, and a system for easily and accurately storing procedures including multiple elements in a computer.SOLUTION: A method for storing procedures including multiple elements in a computer can solve the problem, the method including steps of: receiving a first spread sheet in which cells corresponding to elements are disposed according to a procedure, and a second spread sheet in which the respective elements are expressed by symbols; and generating objects corresponding to the respective elements, where the respective objects include connection information, and the connection information includes information on a preceding object corresponding to a cell adjacent to an upstream side of a cell corresponding to an element and information on a succeeding object corresponding to a cell adjacent to a downstream side of a cell corresponding to an element.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a method and system for storing procedures, and in particular to a method, program and system for storing procedures including multiple elements by a computer. [Background technology]

[0002] The state of a plant, device, or system is generally defined based on measurements from sensors, the passage of time, and the logical relationships between them. For example, when any of the measurements of the plant's pressure, temperature, or water volume exceeds an upper limit for a predetermined period of time or more, the plant can be determined to be in a fault state. To perform such a determination process using a computer, it is necessary to store a processing procedure for making the determination in the computer. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2013-164861 A Summary of the Invention [Problem to be solved by the invention]

[0004] One method for having a computer memorize procedures is to read flow information from electronic resources that show the procedures graphically, and memorize the procedures based on the connections between the figures from the attribute information of the figures. However, such electronic resources are often created for humans to visually recognize the procedures, and the connections between the figures are not always drawn accurately. For example, the figures may be slightly separated and not connected, or it may be unclear where the multiple overlapping parts should be connected. When such unclear points exist, the computer cannot accurately recognize and memorize the procedures.

[0005] To draw an accurate processing flow, it is sufficient to use dedicated software such as that described in Patent Document 1. However, to use the dedicated software, it is necessary to become familiar with the operation method, and knowledge and experience in creating flowcharts are also required. Furthermore, in an environment without the dedicated software, it is not possible to modify and update the procedure.

[0006] Therefore, there has been a demand for a method, program, and system that can store procedures in a computer simply and accurately without using dedicated software. [Means for solving the problem]

[0007] The above problem can be solved by a method for storing a procedure including a plurality of elements by a computer, the method including the steps of receiving a first spreadsheet in which cells corresponding to the elements are arranged according to the procedure and a second spreadsheet in which each element is represented by a symbol, and generating an object corresponding to each element, each object including link information, the link information including information of a predecessor object corresponding to a cell adjacent to the upstream side of the cell corresponding to the element, and information of a successor object corresponding to a cell adjacent to the downstream side of the cell corresponding to the element.

[0008] The method receives a first spreadsheet in which the elements of a procedure are represented by cells and the procedure is represented by an arrangement of cells, together with a second spreadsheet in which the elements of the procedure are represented by symbols that are easy to understand visually, and allows a computer to store the procedure based on the first spreadsheet, so that there is no need to master the operation method of dedicated software or knowledge or experience of flowcharts, and inaccuracies caused by drawings can be eliminated. In addition, since the spreadsheet can be edited with general-purpose software, it is possible to modify and update the procedure in various environments.

[0009] In this application, a "spreadsheet" refers to a sheet having cells arranged in columns and rows. An "element" refers to a processing unit having an input state, an element state, and an output state, and the relationship between these states is regulated by a predetermined rule. An "element" also includes a processing unit in which the input state is the element state and the output state as it is. In addition, "upstream" and "downstream" refer to the direction of the flow of processing when arranging cells in a first spreadsheet. For example, when cells are arranged so that processing is performed from left to right, "upstream" means the left side, and "downstream" means the right side. On the other hand, when cells are arranged so that processing is performed from top to bottom, "upstream" means the upper side, and "downstream" means the lower side.

[0010] In contrast, "preceding" and "successor" refer to the order of the actual processing steps. In principle, the upstream element is processed as the "preceding" element, and the downstream element is processed as the "successor" element, but when returning to the processing of an element placed upstream due to repetitive processing, the element placed upstream becomes the "successor" element.

[0011] It is also desirable that the object further includes element state information, input state information, and output state information, and the method further includes the steps of: displaying a second spreadsheet by the computer; receiving input for the element; updating, for the element corresponding to the input, the element state information and output state information of the object corresponding to the element and the input state information of the subsequent object; and updating the display of the symbol of the element corresponding to the input in accordance with the updated state information.

[0012] With this configuration, the user can input elements on the second spreadsheet displayed with symbols that are easily visually recognizable, and can grasp the status of each element processed according to the procedure. Since the computer processes based on the procedure stored on the basis of the first spreadsheet, even if there are inaccuracies in the drawings on the second spreadsheet, the memory of the procedure is not affected.

[0013] Here, the input to the element is preferably at least one of an input to a symbol, a signal input from outside the computer, a timer input, and a change in input state information. It is possible to determine the output state according to various input states such as a user input, a measurement signal from an external device, the passage of a predetermined time, and the output state of a preceding element.

[0014] In addition, it is preferable that each of the element state information, the input state information, and the output state information includes information on a non-transition state, a confirmation waiting state in which a user's confirmation is awaited for a transition, and a transition state, thereby enabling state management according to the user's management style.

[0015] Furthermore, it is desirable that the above method further includes the steps of: updating, for each column from the most upstream to the most downstream of the first spreadsheet, the element state information and output state information of an object corresponding to each cell in the column, as well as the input state information of the subsequent object, in accordance with the input state information of the object; and, when the input state information of an object corresponding to a cell located upstream is updated, repeatedly updating the element state information and output state information of the object, as well as the input state information of the subsequent object, in accordance with the input state information of the object corresponding to each cell in the column, in each column from the column to which the most upstream of the updated cells belongs to to the most downstream column of the first spreadsheet.

[0016] When a transition occurs in the state of a certain element, it is necessary to update the state of the subsequent elements. In cases where a cell corresponding to a subsequent element is located upstream in an iterative process, after a series of updates has been completed up to the most downstream element, the update process is repeated starting from the most upstream element among the updated elements, thereby making it possible to accurately reflect the state transition of elements.

[0017] Furthermore, it is preferable that the method further includes the steps of: constructing, for each column of the first spreadsheet, a data structure of cell elements in the column and a data structure of column elements including an update flag; and setting an update flag for an object corresponding to an upstream cell when the input state information of the object is updated. By referring to the update flag, it is possible to easily determine whether the repetition is necessary, and to reduce cases of falling into an infinite loop caused by the repetition.

[0018] Furthermore, the method preferably further includes a step of the computer issuing an alarm based on the state of the element, thereby enabling a user to easily grasp that a particular state, such as a plant failure, has occurred.

[0019] It is preferable that a cell of the first spreadsheet and a corresponding symbol of the second spreadsheet are associated with the cell by the same label or data. By making such an association, it becomes possible for a computer to associate the cell of the first spreadsheet with the symbol of the second spreadsheet without using a new correspondence table for associating the cell of the first spreadsheet with the symbol of the second spreadsheet.

[0020] Furthermore, the above problem can also be solved by a program for realizing the above-mentioned functions, or a system configured to carry out the above-mentioned method. [Brief description of the drawings]

[0021] [Figure 1] 1 is a schematic configuration diagram of a system according to the present invention. [Diagram 2] 1 is an example of a first spreadsheet (logic sheet). [Diagram 3] This is an example of a second spreadsheet (flowsheet). [Figure 4] 1 is an example of a data structure. [Diagram 5] This is an example of an object. [Figure 6] 1 is a flowchart (main routine) of a method and program according to the present invention. [Figure 7] 1 is a flowchart (subroutine) of a method and program according to the present invention. [Figure 8] 1 is a flowchart (subroutine) of a method and program according to the present invention. [Figure 9] 1 is a flowchart (subroutine) of a method and program according to the present invention. [Figure 10] 1 is a flowchart (subroutine) of a method and program according to the present invention. [Figure 11] 1 is a flowchart (subroutine) of a method and program according to the present invention. [Figure 12] This is an example of displaying the status of each element on a second spreadsheet. [Figure 13] This is an example of displaying the status of each element on a second spreadsheet. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0022] FIG. 1 shows a schematic diagram of a system 10 according to an embodiment of the present invention. The system 10 includes a processor 12, a display device 11, an input device 13, a timer 14, a memory 15, and an alarm device 16 connected to the processor 12. Each connection may be a direct wired connection, a wireless connection, or a connection via a network. For example, the memory 15 may be a memory on a server connected via the Internet. In addition, the display device 11, the processor 12, the input device 13, the timer 14, the memory 15, and the alarm device 16 do not need to be composed of a single member, and may be composed of multiple members. For example, the input device 13 may be composed of multiple devices such as a mouse, a keyboard, and a network interface.

[0023] The display device 11 is a device having a function of displaying a spreadsheet, such as a liquid crystal monitor, a projector, a mobile terminal, etc. The input device 13 is a device having a function of receiving spreadsheet data from the system 10 and receiving input from a user or an external device. It may be not only a device operated by a human being, such as a keyboard, a mouse, or a touch panel, but also an input / output interface or a network interface that receives a sensor signal, a command signal, etc.

[0024] The timer 14 is a device that generates a periodic clock signal and has a time counting function. Signals and data from the timer 14 are used as the clock signal for the processor 12 and as the time counting signal for timer elements that include the passage of time as a rule.

[0025] The memory 15 has a function of storing programs and data to be processed by the processor 12, such as a RAM, a HDD, or a flash memory. The memory 15 stores a general-purpose spreadsheet application 151, such as Microsoft Excel or Google spreadsheet, a program 152, which is executed by the processor 12 and serves to store a procedure in the memory 15, a logic sheet 153, a flow sheet 154, a data structure 155, and an object 156. The program 152 may be written using a macro function of the spreadsheet application 151, or may be an executable file that can be executed independently of the spreadsheet application 151.

[0026] The alarm device 16 is a device for issuing an alarm that can be recognized by the user. For example, this includes devices for issuing an auditory alarm (alarm sound) such as a speaker or buzzer, devices for issuing a visual alarm such as a lamp, LED, or an alarm display on the display device 11, and devices for issuing an alarm by vibration, etc. The alarm device 16 includes not only devices that issue an alarm directly to the user, but also devices that transmit an alarm signal to an external device.

[0027] Next, the configuration of flowsheet 154 (second spreadsheet) will be described with reference to Fig. 3. Flowsheet 154 is a spreadsheet in which elements constituting a procedure are represented by symbols. Flowsheet 154 is divided into three areas 51, 52, and 53, which are processing procedures for determining the status of elements 501, 502, and 503, respectively. Elements 501, 502, and 503 are each displayed as a text box symbol.

[0028] The state of element 501 is determined by processing elements 511-515, two timer elements 521 and 522, and three logic elements 531, 532, and 533 according to the procedure shown in area 51. Elements 511-515, timer elements 521 and 522, and logic elements 531, 532, and 533 are connected by connecting elements 551-560 represented by arrow symbols. The elements 511-515, timer elements 521 and 522, logic elements 531, 532, and 533, and connecting elements 551-560 have their element states and output states transitioned according to predetermined rules.

[0029] The elements 511 to 515 are elements whose element states and output states change when an input state, which changes due to a user input or an external signal input, satisfies a predetermined condition. The elements 511 to 515 are each displayed with a text box symbol.

[0030] The element state and output state of timer elements 521 and 522 transition when a predetermined time has passed. For example, the element state and output state of timer element 521 transition when a predetermined input state continues for three hours or more, and the element state and output state of timer element 522 transition when a predetermined input state continues for 15 minutes or more. The timer elements 521 and 522 are displayed as symbols in text boxes that display the time conditions.

[0031] Logic elements 531, 532, and 533 are elements whose element states and output states transition according to logical operations of input states. For example, logic element 531 is a 2 / 3 logical AND whose element state transitions when two or more of three input states transition. Logic element 532 is a two-input logical AND, and logic element 533 is a three-input logical OR. Logic elements 531, 532, and 533 are displayed by logical symbolic symbols.

[0032] The connecting elements 551 to 560 are elements whose input state becomes the element state and output state as it is. The connecting elements 551 to 560 are displayed with arrow symbols. The element 501, which is the most downstream element in the area 51, should be connected to the output of the connecting element 560, but is displayed at the top of the area from the viewpoint of visibility. In this way, the flow sheet 154 can be configured so that the user can easily grasp the procedure visually. That is, since the system 10 stores the procedure based on the logic sheet 153, the notation of the flow sheet 154 does not need to accurately describe the flow of the process.

[0033] Next, the configuration of logical sheet 153 (first spreadsheet) will be described. Logical sheet 153 is a spreadsheet in which cells corresponding to elements constituting a procedure are arranged according to the procedure. FIG. 2 is a diagram showing a portion of logical sheet 153 corresponding to area 51 of flowsheet 154. Since logical sheet 153 is composed of a spreadsheet, the position of a cell can be indicated by a column number (column 1, column 2, column 3, etc.) and a row number (row 1, row 2, row 3). For example, linked cell 411 having data "BOX_A25_01_01" is located in columns 1 to 3, and cell 412 having data "BOX_A25_01_02" is located in column 1, row 4.

[0034] In logical sheet 153, cells corresponding to each element displayed in flow sheet 154 are arranged from left to right according to a procedure. Thus, in logical sheet 153, the left side is the upstream side and the right side is the downstream side. The cells of flow sheet 154 and the cells of logical sheet 153 are associated with each other by associating a label corresponding to each element in flow sheet 154 with a corresponding cell in logical sheet 153 on a one-to-one basis. For example, element 511 corresponds to cell 411 in logical sheet 153, so in this embodiment, the association is achieved by making the label "BOX_A25_01_01" of element 511 the data of cell 411.

[0035] Elements 512-515, timer elements 521 and 522, and logic elements 531, 532, and 533 of the flow sheet 154 correspond to cells 412-415, 421, 422, 431, 432, and 433 of the logic sheet 153, respectively. In contrast, there are cases where the connected elements do not correspond one-to-one. For example, connected elements 552-555 of the flow sheet 154 correspond one-to-one to cells 452-455 of the logic sheet 153, respectively, but connected element 551 of the flow sheet 154 corresponds to two cells 4511 and 4512 of the logic sheet 153. This point will be explained.

[0036] In the logic sheet 153, cells are arranged so that the procedure proceeds from left to right. Therefore, on the downstream side (right side) of the cell 413 corresponding to the element 513, a cell 452 corresponding to a connected element is arranged adjacently, and further downstream, a cell 431 corresponding to the logic element 531 is arranged adjacently. Similarly, on the downstream side of the cell 414 corresponding to the element 514, a cell 453 corresponding to a connected element is arranged adjacently, and further downstream, a cell 431 corresponding to the logic element 531 is arranged adjacently. Since the logic element 531 has three inputs, it is a cell in which three cells are connected in the vertical direction. Since two connected elements 554 and 555 are connected to the element 515, the cells 454 and 455 corresponding to the respective connected elements are arranged adjacently on the downstream side of the cell 415 which combines the two cells in the vertical direction. The cell 431 corresponding to the logic element 531 is placed in the cell adjacent to the downstream side of the cell 454, and the cell 421 corresponding to the timer element 521 is placed in the cell adjacent to the downstream side of the cell 455.

[0037] According to the above-mentioned rules, a cell corresponding to a concatenated element must be placed adjacent to the downstream side of the cell 412 corresponding to the element 512, and a cell 432 corresponding to the logic element 532 must be placed adjacent to the downstream side of the cell 412 corresponding to the element 512. However, since the output of the logic element 531 is also input to the logic element 532, the cell 432 corresponding to the logic element 532 must be placed downstream of the cell 456 corresponding to the concatenated element 556 connecting the logic element 532 and the logic element 531. In this case, it is not possible to place the three cells, the cell 412 corresponding to the element 512, the cell 432 corresponding to the logic element 532, and the cell of the concatenated element connecting them side by side. Therefore, two cells 4511 and 4512 having the same data "ARW_A25_02_04" are placed adjacent to the downstream side of the cell 412 corresponding to the element 512 and the upstream side of the cell 432 corresponding to the logic element 532, respectively, to show that the two are connected to each other. Since there are two cells corresponding to the connected element but they have the same data, by setting the label of connected element 551 in flow sheet 154 to "ARW_A25_02_04", it is possible to associate three cells, namely connected element 551 in flow sheet 154 and cells 4511 and 4512 in logic sheet 153. For the same reason, connected element 557 in flow sheet 154 corresponds to two cells 4571 and 4572 in logic sheet 153 and are associated with them by the same label / data "ARW_A25_04_03".

[0038] It should be noted that the cells 421 and 422 corresponding to the timer elements 521 and 522 are adjacent to the cells 491 and 492 for connection to the timer 14 on the upstream side.

[0039] Next, the data structure 155 will be described with reference to Fig. 4. The data structure 155 is constructed in the memory 15 by the processor 12 based on the logical sheet 153. The data structure 155 includes column element structures 210, 220, 230, 240 corresponding to each column of the logical sheet 153. The column element data structures 210, 220, 230, 240 each include cell element data structures 211, 212, 224, 241 corresponding to each cell of the logical sheet 153, and update flags 219, 229, 249. Furthermore, the data structure 211, 212, 224, 241 of each cell element is made up of areas for storing cell data 2111, 2121, 2241, 2411, the starting line of the cell 2112, 2122, 2242, 2412, the ending line of the cell 2113, 2123, 2243, 2413, and corresponding object reference information 2114, 2124, 2244, 2414.

[0040] For example, cell 411 located in row 1 to row 3 of column 1 of logical sheet 153 corresponds to cell element data structure 211 in column element structure 210. In cell data 2111 of cell element data structure 211, "BOX_A25_01_01" which is the data of cell 411 is registered. In addition, in the areas of cell start row 2112 and cell end row 2113, 1 and 3 are registered, respectively. In object reference information 2114, the object name (obj_511) of the object corresponding to element 511 corresponding to cell 411 is registered. The object reference information does not have to be an object name as long as it is information capable of identifying the corresponding object.

[0041] When there are multiple cells corresponding to the same element, the same object reference information is registered in the data structure of each cell element. For example, in the cell element structures 224, 241 of two cells 4511, 4512 corresponding to element 551, the cell data 2241, 2411, cell start lines 2242, 2412, and cell end lines 2243, 2413 register the data, start line, and end line of the corresponding cells 4511, 4512, but the object reference information 2244, 2414 registers the same object name "obj_551" corresponding to element 551.

[0042] Next, the object 156 will be described with reference to Fig. 5. The object 156 is generated on the memory 15 by the processor 12 in correspondence with each element of the flowsheet 154. The object 156 includes link information 260 including predecessor object information 261 and successor object information 262, element state information 263, input state information 264, output state information 265, and rules 266.

[0043] In the preceding object information 261, reference information of an object to be processed immediately before the processing of the element in question is registered. On the other hand, in the succeeding object information 262, reference information of an object to be processed immediately after the processing of the element in question is registered. For example, in the preceding object information 261 of the object (object name: obj_531) corresponding to the logical element 531, the object names (obj_552, obj_553, obj_554) of connected elements 552, 553, 554 to be processed immediately before the logical element 531 are registered, and in the succeeding object information 262, the object name (obj_556) of connected element 556 to be processed immediately after the logical element 531 is registered.

[0044] The element state information 263 stores the element state, the input state information 264 stores the input state of the element, and the output state information 265 stores the output state of the element. Here, the element state, input state, and output state can be set appropriately depending on the function of the element, but in this embodiment, each element has three states: a non-transition state, a confirmation waiting state in which a user confirmation is awaited for transition, and a transition state.

[0045] The relationship between the input state, element state, and output state is defined in the rule 266. For example, the rule 266 of the object (object name: obj_531) corresponding to the logical element 531 of 2 / 3 AND has registered therein a rule that the element state and the output state transition when two or more of the input states corresponding to each of the three inputs transition.

[0046] Next, the operation of system 10, which is an embodiment of the present invention, will be described with reference to the flowcharts of Figures 6 to 11. Except as otherwise specified below, system 10 is realized by processor 12 executing instructions of program 152 stored in memory 15. Figure 6 is a flowchart 30 of the main routine, and Figures 7 to 11 are flowcharts 31 to 35 of subroutines.

[0047] First, the input device 13 receives the logical sheet 153 and the flow sheet 154 (step 301). Next, the processor 12 generates objects based on the logical sheet 153 and constructs the data structure 155 (steps 302 to 304). By constructing the data structure 155, preceding object information 261 corresponding to a cell adjacent to the upstream side of the cell corresponding to the element and succeeding object information 262 corresponding to a cell adjacent to the downstream side of the cell corresponding to the element are registered in the connection information 260 of the object 156 corresponding to each element. In this way, the cells of the logical sheet 153, the elements of the flow sheet 154, and the objects corresponding to the elements are associated with each other.

[0048] Thereafter, the flow sheet 154 is displayed on the display device 11, and the input state, element state, and output state registered in each object 156 are initialized to a non-transition state (step 305). Then, the processor 12 waits until it receives an external signal input input to the input device 13, a timer input from the timer 14, a change in the input state information 264 of the object 156 corresponding to each element, and the like (step 306). Upon receiving an input, the processor 12 judges whether the input is an instruction to end the operation (step 307), and if it is an end instruction, it ends the operation of the main routine 30. On the other hand, if it is not an end instruction, it updates the element state information 263, the input state information 264, and the output state information 265 of the object 156 corresponding to each element in the flow sheet according to the element corresponding to the input (step 308).

[0049] Next, the operation of constructing the data structure 155 (steps 302 to 304) will be described in detail. FIG. 7 is a flowchart 31 of a subroutine corresponding to data structure construction 1 (step 302). In this subroutine, the data structure 155 is constructed based on the logical sheet 153. FIG. 8 is a flowchart 32 of a subroutine corresponding to data structure construction 2 (step 303). In this subroutine, an object 156 of each element is generated, and information of the corresponding object 156 is registered in the object reference information 2114, 2124, 2244, 2414 of the data structures 211, 212, 224, 241 of each cell element of the data structure 155. FIG. 9 is a flowchart 33 of a subroutine corresponding to data structure construction 3 (step 304). In this subroutine, link information 260 of the object 156 corresponding to each element is registered based on the cell arrangement of the logical sheet 153. These three subroutines make it possible to construct a data structure 155 having link information 260 including preceding object information 261 corresponding to a cell adjacent to the upstream side of the cell corresponding to the element, and succeeding object information 262 corresponding to a cell adjacent to the downstream side of the cell corresponding to the element. The operation of each of the subroutines for data structure construction 1 to 3 will be described in detail below.

[0050] In the subroutine 31 of data structure construction 1 shown in Fig. 7, first, the processor 12 secures an area for the data structure 155 on the memory 15, creates a starting point of the entire data structure, and creates data structures 210, 220, 230, and 240 of column elements corresponding to each column of the logical sheet 153 in the data structure 155 (step 311). Next, the processor 12 searches the cells in one column of the logical sheet 153 in the row direction, starting from the first row, and obtains cell information of the cells corresponding to the elements (step 312). Since the first row of the first column of the logical sheet 153 contains a cell 411 corresponding to the element 511 of the flow sheet, the processor 12 obtains cell information such as the data "ARW_A25_01_01" of the cell 411 and the range information of the cell (start row (row 1), end row (row 3)). Next, the processor 12 creates a data structure 211 of a cell element corresponding to the element 511 within the data structure 210 of a column element for one column (step 313), and registers the cell information obtained from the logical sheet 153 in each of the cell data 2111, the starting row 2112 of the cell, and the ending row 2113 of the cell (step 314).

[0051] Next, processor 12 determines whether there is an unprocessed cell in the column (step 315). At this point, only cell 411 in rows 1 to 3 of column 1 has been processed, and there are unprocessed cells 412 to 415 in rows 4 and onward of column 1, so the process returns to step 312 and performs steps 312 to 314 on the next cell, i.e., cell 412 in row 4 of column 1, to create cell element data structure 212 and register cell information (cell data 2121, start row 2122, end row 2123) obtained from cell 412. In this way, cell element data structures corresponding to cell 413 in row 5 of column 1, cell 414 in row 6 of column 1, and cell 415 in rows 7 to 8 of column 1 are generated and registered in sequence, completing the processing of all cells in column 1.

[0052] Next, processor 12 determines whether there are any unprocessed columns in logic sheet 153 (step 316). At this point, processing of only one column has been completed, and there are unprocessed columns from column 2 onward, so the process returns to step 312 and performs processing of steps 312 to 314 on the next column, i.e., cells 441, 442, 4431,... in the second column, creates a data structure of cell elements in data structure 220 of column elements for column 2, and registers the cell information. In this manner, data structure 230 of column elements for column 3, data structure 240 of column elements for column 4,... are processed in sequence, and when processing of all columns is completed, the process returns to the main routine.

[0053] In addition, when there are multiple logical sheets 153, in order to register the structures of multiple sheets in one data structure 155, an offset may be provided to the column numbers before registration. For example, an offset of 20 is added to the second logical sheet, and the first column is registered as a data structure of column elements of 21 columns, the second column is registered as a data structure of column elements of 22 columns, and the third column is registered as a data structure of column elements of 23 columns. Furthermore, an offset of 40 is added to the third logical sheet, and the first column is registered as a data structure of column elements of 41 columns, the second column is registered as a data structure of column elements of 42 columns, and the third column is registered as a data structure of column elements of 43 columns. The size of the offset is set appropriately depending on the size of logical sheets 153.

[0054] By executing data structure construction 1 as described above, a data structure 155 based on the logical sheet 153 can be constructed.

[0055] Next, the operation of the subroutine 32 of the data structure construction 2 shown in FIG. 8 will be described. In the data structure construction 2, the processes of steps 321 to 324 are sequentially performed for each of the data structures 210, 220, 230, and 240 of the column elements of the data structure 155. First, the processor 12 acquires the data structure 211 of the first cell element of the data structure 210 of one column element, that is, cell information corresponding to the element 511 (cell 411) (step 321), and judges whether or not a corresponding object exists on the memory 15 (step 322). At this time, since there is no object corresponding to the element 511 on the memory 15, the processor 12 generates the object 156 corresponding to the element 511 on the memory 15 (step 323, object name: obj_511). Then, the processor 12 registers the object name "obj_511" in the object reference information 2114 of the data structure 211 of the cell element corresponding to the element 511 of the data structure 155 (step 324). The object reference information does not have to be an object name as long as it is information capable of identifying the corresponding object.

[0056] Then, the process returns to step 321 and executes steps 321 to 324 for the data structure 212 of the second cell element in column 1 to register object reference information 2124. In this manner, object reference information is registered sequentially for each data structure of cell elements registered in the data structure 210 of column element 1 (step 325). When the processing of the data structure 210 of column element 1 is completed, the data structure 220 of column element 2, the data structure 230 of column element 3, the data structure 240 of column element 4, etc. are processed sequentially, and steps 321 to 325 are performed for all columns (step 326), and then the process returns to the main routine.

[0057] Here, if it is determined in step 322 that a corresponding object exists in memory 15, a new object is not generated, and reference information of the existing object is registered in the data structure of the cell element. For example, since there are two cells in logic sheet 153 corresponding to connected element 551, namely, 2 columns and 4 rows (cell 4511) and 4 columns and 4 rows (cell 4512), a corresponding object (object name: obj_551) is generated when processing data structure 224 of cell element with 2 columns, and a corresponding object already exists in memory 15 when processing data structure 241 of cell element with 4 columns. Therefore, when processing data structure 241 of cell element with 4 columns, no object is generated (step 323), and reference information "obj_551" of the already existing corresponding object is registered in object reference information 2414 of data structure 241 of cell element.

[0058] By executing data structure construction 2 as described above, it is possible to generate object 156 for each element and register information on the corresponding object 156 in the object reference information of data structures 211, 212, 224, and 241 of each cell element.

[0059] Next, the operation of the subroutine 33 of the data structure construction 3 shown in Fig. 9 will be described. In the subroutine 33, the processes of steps 331 to 334 are performed sequentially for each column of the logical sheet 153. First, the processor 12 acquires cell information of the cell 411 in the first column and the first to third rows (step 331), and judges whether or not there is an adjacent cell downstream of the cell 411 of the corresponding logical sheet (step 332). Since the cells 441, 442, and 4431 of the three connected elements are adjacent downstream of the cell 411, the data of each cell, "BOX_A25_02_01", "BOX_A25_02_02", and "BOX_A25_02_03", are acquired (step 333), and the data is stored in the succeeding object information 262 of the object 156 corresponding to the cell 411. Also, the data of cell 411 "BOX_A25_01_01" is registered in the preceding object information 261 of each object 156 corresponding to cells 441, 442, 4431 of the connected element. This allows the link information 260 to be registered in each object corresponding to cell 411 and cells 441, 442, 4431 adjacent to the downstream side of cell 411 (step 334). After that, returning to step 331, link information 260 is registered in the object corresponding to cell 412 in row 4 of column 1 and the object of cell 4511 adjacent to the downstream side (step 334). In this manner, the processes 331 to 334 are sequentially performed for cells 413, 414, 415 in column 1 (step 335). When the process of cells in column 1 is completed, the processes are sequentially performed for cells 441, 442, ... in column 2 and cells 431, 421, ... in column 3 (step 336). Once all columns have been processed, the process returns to the main routine.

[0060] Here, if it is determined in step 332 that there is no adjacent cell on the downstream side, no special processing is performed and the data structure of the next cell element is processed. For example, cell 4511 (element 551) in column 2, row 4 has no adjacent cell with a value on the downstream side (blank cell 470), so nothing is registered in the succeeding object information (262) of the corresponding object (object name: obj_551). Note that for the object (object name: obj_551) corresponding to element 551, the preceding object information is registered when cell 412 in column 1, row 4 is processed, and the succeeding object information is registered when cell 4512 in column 4, row 4 is processed.

[0061] As described above, by executing the data structure construction 3, it is possible to register the link information 260 of the object 156 corresponding to each element based on the cell arrangement of the logic sheet 153.

[0062] Next, the operation of the subroutine (step 308) for updating the respective states of the element state information 263, input state information 264, and output state information 265 of the object 156 will be described with reference to the flowchart 34 in Fig. 10. First, the processor 12 performs update subroutine processing for the object corresponding to the input (step 341). This allows the state transition due to the input to be reflected in the related object. For example, when an external signal input for causing a state transition for the element 511 is received, or when an input for causing a state transition for the symbol of the element 511 displayed on the display device 11 is received from the user, the input state information of the object corresponding to the element 511 is updated in response to the input, and update subroutine processing for the object corresponding to the element 511 is performed.

[0063] 11 shows a flowchart 35 of the update subroutine process. First, the processor 12 acquires information on the target object 156 (step 351). In the above example, the processor 12 acquires information on the object 156 corresponding to the element 511. Next, the processor 12 determines the element state and output state of the element 5111 from the input state of the element 511 according to the rule 266 of the object 156, and updates the information of the element state information 263 and the output state information 265 of the object 156 corresponding to the element 511 (step 352).

[0064] Thereafter, the processor 12 updates the symbols of the flow sheet 154 displayed on the display device 11 according to the updated element state information 263 of the corresponding object (step 353). Each element in this embodiment has three states: a non-transition state in which the conditions specified in the rule are not met, a confirmation waiting state in which the conditions are met but the user's confirmation has not been obtained, and a transition state after the user's confirmation. Display examples of each state are shown in Figs. 3, 12, and 13. Fig. 3 shows a display when all elements are in a non-transition state. Each element is displayed with a thin solid line. Fig. 12 shows a display example when element 515 is in a confirmation waiting state. Element 515 is displayed with a dotted line. Also, connected elements 554 and 555 following element 515 are in a confirmation waiting state, so they are displayed with a dotted line. Thereafter, when the user clicks on element 515 to input confirmation, it enters a transition state and is displayed with a thick solid line as shown in Fig. 13. Connected elements 554 and 555 following element 515 are also displayed with a thick solid line. The state of an element may be represented by a difference in line color or background color of a symbol, instead of the line type as described above.

[0065] Next, the processor 12 identifies the succeeding object based on the succeeding object information 262 of the object 156 corresponding to the element 511, acquires the object information (step 354), and registers and updates the determined output state in the input state information 264 of the succeeding object (step 355). In the above example, the updated output state of the element 511 is registered in the input state information 264 of the object 156 corresponding to the connected elements 541, 542, and 543 succeeding the element 511. At this time, if there is no change in the input state of the object 156 corresponding to the succeeding connected elements 541, 542, and 543, no update is performed.

[0066] Next, the processor 12 compares the position of the cell on the logical sheet 153 corresponding to the object 156 updated in step 352 with the position of the cell on the logical sheet 153 corresponding to the subsequent object updated in step 355, and judges whether the cell corresponding to the updated subsequent object is located upstream (step 356). More specifically, it judges whether the following conditions are met: the synchronization timing of the subsequent object is the same (i.e., this subsequent object already has the same synchronization signal. In other words, since it has already been evaluated, it is upstream in terms of the order of evaluation), and the input state information of the subsequent object has changed by passing the output state information to the subsequent object. In other words, it judges whether the subsequent object is upstream and the input state of the subsequent object has changed. If the conditions are met, the update flags 219, 229, 249 of the data structures 210, 220, 230, 240 of the column elements to which the subsequent object belongs are set (step 357). In the above example, cell 411 corresponding to object 156 updated in step 352 is a cell in column 1, and cells 441, 442, and 4431 corresponding to subsequent objects updated in step 355 are cells in columns 2 located downstream, so no update flag is set. In contrast, when the input state information of elements located upstream is updated by iterative processing or the like, an update flag is set for the data structure of the column elements of the updated object.

[0067] Thereafter, the update subroutine processing is terminated and the process returns to the state update subroutine 34. In this way, the object update subroutine 35 updates the element state information 263 and output state information 265 of the object 156 according to the input state information 264 of the object, as well as the input state information 264 of the succeeding object, and further, when the input state information of an object corresponding to a cell located upstream is updated, the update flag 219, 229, 249 of the column to which the updated cell belongs can be set.

[0068] After returning from the state update subroutine 34, the processor 12 then calls the update subroutine 35 for all objects in sequence (step 342). This allows the effect of state transition due to input to be reflected in all objects. Specifically, the update subroutine process is performed for each cell in each column from the most upstream (column 1) to the most downstream (column 11) of the logic sheet 153. This allows the element state information 263 and output state information 265 of the object corresponding to each cell, as well as the input state information 264 of the subsequent object, to be updated according to the input state information 264 of the object 156 corresponding to each cell, and further allows the update flags 219, 229, and 249 of the column to which the updated cell belongs to to be set when the input state information of the object corresponding to the cell located upstream is updated.

[0069] Thereafter, the processor 12 refers to the update flags 219, 229, 249 of the data structures 210, 220, 230, 240 of the column elements to determine whether the input state information of the object corresponding to the cell located upstream has been updated during the execution of step 342 (step 343). If the input state information of the object corresponding to the cell located upstream has been updated, the processor 12 performs the update subroutine process 35 for each cell in the column, from the most upstream column among the columns with the update flags 219, 229, 249 set to the most downstream column of the logical sheet 153 (step 344). If the input state information of the object corresponding to the cell located upstream has been updated during the execution of step 344, the processor 12 further performs the update subroutine process 35 for each cell in the column, from the column to which the most upstream cell among the updated cells belongs to to the most downstream column of the logical sheet 153 (step 344). In this way, when a cell corresponding to a subsequent element is placed upstream, after a series of updates has been completed up to the most downstream element, the update process is repeated starting from the most upstream element among the updated elements, thereby making it possible to accurately reflect the state transition of the elements.

[0070] Thereafter, the processor 12 determines whether each element has reached a preset state (predetermined state) (step 345), and if the predetermined state has been reached, issues an alarm by the alarm device 16 (step 346). The alarm may be issued not only by directly acting on the user's five senses, but also by transmitting a signal to an external device. The "predetermined state" that is the condition for issuing an alarm may be set in advance and registered in each object 156. When the alarm processing (steps 345, 346) is completed, the processing of the subroutine 34 is terminated and the process returns to the main routine.

[0071] As described above, the system 10 can receive the flow sheet 154, in which elements of a procedure are represented by visually easy-to-understand symbols, as well as the logic sheet 153, in which the elements are represented by cells and the procedure is represented by an arrangement of the cells, and can store the procedure based on the logic sheet 153, so that there is no need to master the operation method of dedicated software or have knowledge or experience of flowcharts, and it is possible to eliminate inaccuracies caused by drawing. In addition, since the spreadsheet can be edited with general-purpose software, it is possible to modify and update the procedure in various environments.

[0072] The user can input element transitions on the flow sheet 154, which is displayed with symbols that can be easily recognized visually, and can grasp the state of each element processed according to the procedure. In addition, the user can easily grasp the occurrence of a specific state, such as a plant failure, by issuing an alarm.

[0073] Although the system and method according to the present invention have been described above, the present invention is not limited to the above-mentioned embodiment, and includes all aspects included in the concept of the present invention and the scope of the claims. For example, the method of displaying the symbols and states of each element in the flow sheet (second spreadsheet) can be appropriately changed according to the usage situation and usage environment. Furthermore, when there are multiple subsequent objects, the same output state is output to all subsequent objects in the above-mentioned embodiment, but a rule may be set to control what information is sent to which object. Furthermore, in the above-mentioned embodiment, the symbol display is updated in the object update subroutine process 35 (step 353). Instead of this, the symbol display may be updated after all update processes are completed, that is, immediately before step 345 in FIG. 10. Furthermore, in the above-mentioned embodiment, the state of each element has three states, namely, a non-transition state, a confirmation waiting state in which a user's confirmation is awaited for transition, and a transition state, but it may have two states such as true and false, or four or more states. [Explanation of symbols]

[0074] 10. System 11 Display device 12 processors 13 Input Devices 14 Timer 15 Memory 16 Alarm device 152 Programs 153 Logic Sheet 154 Flowsheet 155 Data Structures 156 Objects

Claims

1. A method for storing instructions by a computer, the method comprising: receiving a first spreadsheet in which cells corresponding to the elements are arranged according to the procedure, and a second spreadsheet in which each element is represented by a symbol; generating an object corresponding to each element, Each object contains link information, The connection information includes information of a preceding object corresponding to a cell adjacent to the upstream side of the cell corresponding to the element, and information of a succeeding object corresponding to a cell adjacent to the downstream side of the cell corresponding to the element. Steps and A method comprising:

2. the object further includes element state information, input state information, and output state information; The method includes, by the computer: displaying the second spreadsheet; receiving an input for an element; For an element corresponding to the input, updating element state information and output state information of an object corresponding to the element, and input state information of a successor object; updating a display of a symbol of the element corresponding to the input in response to the updated element state information; Further comprising: The method of claim 1.

3. 3. The method of claim 2, wherein the input is at least one of an input to the symbol, a signal input from outside the computer, a timer input, and a change in input state information.

4. The method according to claim 2 or 3, wherein each of the element state information, the input state information, and the output state information includes information of a non-transition state, a confirmation waiting state waiting for user confirmation to transition, and a transition state.

5. updating, for each column from the most upstream to the most downstream of the first spreadsheet, element state information and output state information of the object and input state information of a subsequent object according to input state information of the object corresponding to each cell in the column; when the input state information of an object corresponding to a cell located upstream is updated, for each column from the column to which the most upstream cell among the updated cells belongs to to the most downstream column of the first spreadsheet, repeatedly updating the element state information and output state information of the object and the input state information of the subsequent object according to the input state information of the object corresponding to each cell in the column; The method of any one of claims 2 to 4, further comprising:

6. constructing, for each column of the first spreadsheet, a data structure of cell elements within the column and a data structure of column elements including an update flag; when the input state information of an object corresponding to the upstream cell is updated, setting an update flag of the object by the computer; The method of claim 5 further comprising:

7. The method of claim 2 , further comprising the step of the computer issuing an alert based on the state of the element.

8. 8. The method of claim 1, wherein a cell of the first spreadsheet and a corresponding symbol of the second spreadsheet are associated by the same label or data.

9. On the computer, A function of receiving a first spreadsheet in which cells corresponding to elements constituting a procedure are arranged according to said procedure, and a second spreadsheet in which each element is represented by a symbol; A function for generating an object corresponding to each element, Each object contains link information, The connection information includes information of a preceding object corresponding to a cell adjacent to the upstream side of the cell corresponding to the element, and information of a succeeding object corresponding to a cell adjacent to the downstream side of the cell corresponding to the element. Functions and A program to achieve this.

10. A system comprising a processor and a memory for storing objects corresponding to elements constituting a procedure, The processor, receiving a first spreadsheet in which cells corresponding to the elements are arranged according to the procedure, and a second spreadsheet in which each element is represented by a symbol; Create an object for each element. It is configured as follows: Each object contains link information, The connection information includes information of a preceding object corresponding to a cell adjacent to the upstream side of the cell corresponding to the element, and information of a succeeding object corresponding to a cell adjacent to the downstream side of the cell corresponding to the element. system.

Citation Information

Patent Citations

  • Program designing device

    JP2000047860A

  • Markup language-based dynamic process graphics in process plant user interfaces

    JP2007536647A

  • Visual programming support device, visual programming support method of visual programming support device, program, and storage medium

    JP2010134879A

  • Online system, program creation device and screen control program creation device

    JP2013164861A

  • Program generation system and program generation method

    JP2014074947A