Processing unit
The processing apparatus addresses the inefficiency of object placement and connection in programming tools by automating the arrangement and connection of icons in a flow direction, facilitating quick program visualization.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- AZBIL CORP
- Filing Date
- 2024-12-19
- Publication Date
- 2026-07-01
AI Technical Summary
Existing programming tools require significant time for object placement and connection operations to visualize program content as a flow.
A processing apparatus with a storage unit, identification, discrimination, coordinate calculation, series/parallel arrangement, and connection circuits to efficiently arrange and connect icons on an operation screen, determining placement coordinates and aligning icons in a flow direction without overlapping connections.
Enables rapid representation of program content as a flow by automating the arrangement and connection of icons, reducing operational time and enhancing efficiency in program visualization.
Smart Images

Figure 2026109079000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a processing device.
Background Art
[0002] There are many programming tools that use objects instead of programming languages (Patent Document 1, Patent Document 2). With these tools, users can easily create programs by freely combining the objects provided on the tool, and the completed graphical information is also used as a document showing the program content.
[0003] Engineering of this type of programming tool requires three major operations. First, selection and placement of objects, second, data setting for objects, and third, connection of objects.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Patent Document 2
Summary of the Invention
Problems to be Solved by the Invention
[0005] By the way, although the placement and connection of objects are performed by dragging the mouse, there is a problem that it takes a lot of time for the operation in order to make it easier to view in consideration of the fact that the flow itself is a document showing the program content.
[0006] The present invention has been made to solve the above problems, and an object thereof is to enable the program content to be shown by a flow without taking a lot of time for the operation. [Means for solving the problem]
[0007] The processing apparatus according to the present invention comprises: a storage unit configured to store a start icon indicating a start object, a process icon indicating a process object, and an end icon indicating an end object; a identification circuit configured to identify a plurality of icons selected from among the icons stored in the storage unit and placed on the operation screen as target icons; a discrimination circuit configured to distinguish each of the target icons identified by the identification circuit as either a start icon, an end icon, or a process icon; a coordinate calculation circuit configured to determine the placement coordinates of each of the target icons identified by the identification circuit on the operation screen; a series arrangement circuit configured to arrange the process icons identified by the discrimination circuit in series with respect to the flow direction based on the respective placement coordinates determined by the coordinate calculation circuit between the start icon and the end icon identified by the discrimination circuit; a parallel arrangement circuit configured to arrange the process icons identified by the discrimination circuit in parallel with respect to the flow direction based on the respective placement coordinates determined by the coordinate calculation circuit between the start icon and the end icon identified by the discrimination circuit; and a connection circuit configured to connect the arranged start icon, process icon, and end icon with connecting lines.
[0008] In one example of the configuration of the above-described processing unit, the parallel array circuits are arranged so that the start icons of the process icons are aligned.
[0009] In one example of the configuration of the above-described processing unit, the connection circuit connects the arranged start icon, process icon, and end icon so that the connection lines do not overlap. [Effects of the Invention]
[0010] As explained above, according to the present invention, the placement coordinates of each identified target icon on the operation screen are determined, and the identified process icons are arranged in the direction of the flow based on the determined placement coordinates between the identified start icon and end icon. Therefore, the contents of the program can be shown by flow without spending a lot of time on operation. [Brief explanation of the drawing]
[0011] [Figure 1] Figure 1 is a configuration diagram showing the configuration of the processing apparatus according to an embodiment of the present invention. [Figure 2] Figure 2 is a flowchart showing an example of the operation of the processing apparatus according to an embodiment of the present invention. [Figure 3] Figure 3 is an explanatory diagram showing an example of a display shown on the display unit 108. [Figure 4] Figure 4 is an explanatory diagram showing an example of a display shown on the display unit 108. [Figure 5] Figure 5 is an explanatory diagram showing an example of a display shown on the display unit 108. [Figure 6] Figure 6 is an explanatory diagram showing an example of a display shown on the display unit 108. [Figure 7] Figure 7 is an explanatory diagram showing an example of a display shown on the display unit 108. [Figure 8] Figure 8 is a configuration diagram showing the hardware configuration of a processing apparatus according to an embodiment of the present invention. [Modes for carrying out the invention]
[0012] Hereinafter, an apparatus according to an embodiment of the present invention will be described with reference to Figure 1. This apparatus comprises a storage unit 101, a specific circuit 102, a discrimination circuit 103, a coordinate calculation circuit 104, a series array circuit 105, a parallel array circuit 106, a connection circuit 107, and a display unit 108.
[0013] The memory unit 101 stores a start icon indicating a start object, a process icon indicating a process object, and an end icon indicating an end object. The memory unit 101 can also store a parallel icon having a plurality of input connections, a parallel icon having a plurality of output connections, and a branch icon having an input connection and a plurality of output connections.
[0014] The specific circuit 102 specifies a plurality of icons selected from the icons stored in the memory unit 101 and from the icons arranged on the operation screen as target icons.
[0015] The discrimination circuit 103 discriminates each of the target icons specified by the specific circuit 102 as either a start icon, an end icon, or a process icon.
[0016] The coordinate calculation circuit 104 obtains the arrangement coordinates of each of the target icons specified by the specific circuit 102 on the operation screen displayed on the display unit 108.
[0017] The serial arrangement circuit 105 arranges the process icons discriminated by the discrimination circuit 103 in series in the direction of the flow based on the respective arrangement coordinates obtained by the coordinate calculation circuit 104 between the start icon discriminated by the discrimination circuit 103 and the end icon discriminated by the discrimination circuit 103. The serial arrangement circuit 105 arranges each icon in the display of the operation screen.
[0018] The parallel arrangement circuit 106 arranges the process icons discriminated by the discrimination circuit 103 in parallel in the direction of the flow based on the respective arrangement coordinates obtained by the coordinate calculation circuit 104 between the start icon discriminated by the discrimination circuit 103 and the end icon discriminated by the discrimination circuit 103. The parallel arrangement circuit 106 can arrange the process icons in a state where the sides closer to the start icon are aligned. The parallel arrangement circuit 106 arranges each icon in the display of the operation screen.
[0019] The connection circuit 107 connects the arranged start icons, process icons, and end icons with connection lines. The connection circuit 107 connects the arranged start icons, process icons, and end icons so that the connection lines do not overlap.
[0020] Next, an operation example (processing method) of the processing device according to the embodiment will be described with reference to FIGS. 2, 3, and 4. For example, by a user's operation, as shown in FIG. 3, the start icon 151, process A icon 152, process B icon 153, process C icon 154, and end icon 155 are selected from the icons stored in the storage unit 101 and arranged on the operation screen of the display unit 108. Here, it is assumed that the user arranges the start icon 151 at the far left (start side) on the operation screen, and the process icons are arranged in order of the process from the start side.
[0021] In this state, in step S101, the specific circuit 102 confirms (identifies) the arranged icons as target icons.
[0022] Next, in step S102, the discrimination circuit 103 discriminates each of the target icons identified by the specific circuit 102 as either a start icon, an end icon, or a process icon. Next, in step S103, the coordinate calculation circuit 104 obtains the arrangement coordinates of each of the target icons identified by the specific circuit 102 on the operation screen displayed on the display unit 108.
[0023] Next, by a user's instruction operation, for example, when a serial arrangement (serial connection) is instructed (yes in step S104), in step S105, the serial arrangement circuit 105 arranges the process icons discriminated by the discrimination circuit 103 in series in the direction of the flow based on the respective arrangement coordinates obtained by the coordinate calculation circuit 104 between the start icon discriminated by the discrimination circuit 103 and the end icon discriminated by the discrimination circuit 103 (FIG. 4). Note that a serial connection connects a process icon having one output connection and a process icon having one input connection.
[0024] The series array circuit 105 arranges process A icon 152, process B icon 153, and process C icon 154 in series between, for example, the start icon 151 and the end icon 155, based on the required placement coordinates (Figure 3).
[0025] For example, first, register the start icon, which represents only output connections, at the beginning of the list. Then, register the end icon, which represents only input connections, at the end of the list. All other icons are registered in the list in ascending order of their X coordinates.
[0026] The first icon in the list (the start icon) is left untouched. Next, for each icon in the second row and beyond of the list, the coordinates are calculated and the icons are moved in order from the first icon in the list.
[0027] For example, let the coordinates of the centroid of start icon 151 be (Xs, Ys) and its width be Ws. Also, let Xw be the constant interval between icons on the X coordinate, Wa be the width of process A icon 152, and Wb be the width of process B icon 153. Then, use equation (1) below to find the coordinates of the centroid of process A icon 152 to be repositioned (Xa', Ya') and the centroid of process B icon 153 (Xb', Yb').
[0028] Xa' = Xs + (Ws / 2) + Xw + (Wa / 2) Ya'=Ys Xb' = Xa' + (Wa / 2) + Xw + (Wb / 2) Yb'=Ya' ···(1)
[0029] By the way, the user can, through their instructions, position the icon to be processed to the right of the icon to be connected (i.e., the X-coordinate of the rightmost edge of the icon to be connected < the X-coordinate of the leftmost edge of the icon to be processed) and then select serial connection. In this case, the placed icon is repositioned and connected to the nearest connectable icon, so that the connection lines form a straight line at regular intervals.
[0030] First, it is determined whether the target icon is eligible for automatic connection. Furthermore, it is determined whether a serially connectable icon exists on the flow and whether the connectable icon's output is to the left of the operation icon's input. If it exists, the distance between the connectable icon's output and the operation icon's input is registered in a list in ascending order, and the operation icon is moved to match the output of the shortest distance connectable icon registered at the beginning of the list (Calculation Formula 1). Next, the connectable icon's output and the operation icon's input are connected with a connection line. If no serially connectable icons exist on the flow, or if the connectable icon's output is not to the left of the operation icon's input, neither movement nor connection is performed.
[0031] For example, as shown in Figure 5, the user can select the Start icon 151, Process A icon 152, Process B icon 153, Process C icon 154, Process C icon 156, and End icon 155 from the icons stored in the memory unit 101 and place them on the operation screen of the display unit 108. Here, the user places the Start icon 151 on the far left (towards the start) on the operation screen.
[0032] In this state, in step S101, the specific circuit 102 confirms (identifies) each placed icon as the target icon.
[0033] Next, in step S102, the discrimination circuit 103 determines whether each of the target icons identified by the identification circuit 102 is a start icon, an end icon, or a process icon. Then, in step S103, the coordinate calculation circuit 104 determines the placement coordinates of each of the target icons identified by the identification circuit 102 on the operation screen displayed on the display unit 108.
[0034] Next, if parallel arrangement (parallel connection) is instructed (no in step S104), in step S106, the parallel arrangement circuit 106 arranges the process icons identified by the discrimination circuit 103 in parallel with respect to the flow direction, between the start icon identified by the discrimination circuit 103 and the end icon identified by the discrimination circuit 103, based on the respective placement coordinates determined by the coordinate calculation circuit 104. The parallel arrangement circuit 106 arranges the process icons so that the start icon side of each process icon is aligned (Figure 6). In this case, the start icon 151 can be a parallel icon with multiple output connections, and the end icon 155 can be a parallel icon with multiple input connections.
[0035] Parallel connections are defined as connecting a parallel icon with multiple output connections (without conditional settings) to a process icon with one input connection, or connecting a process icon with one output connection to a parallel icon with multiple input connections (without conditional settings). Branch connections, which connect a branch icon with multiple output connections (with conditional settings) to a process icon with one input connection, can also be treated as parallel connections.
[0036] For example, first, register the start icon, which is an icon capable of connecting multiple outputs, as the first item in the first list. Then, calculate the height for resizing the start icon using the following formula (2). Note that if the start icon and end icon are both icons capable of connecting multiple inputs and outputs, the one with the smaller X-coordinate of its centroid will be used.
[0037] Let Yh be the constant interval between icons in the Y coordinate, Ha be the height of the Process A icon, Hb be the height of the Process B icon, Hc be the height of the Process C icon, and Hd be the height of the Process D icon. Then, use equation (2) below to find the height Hs' of the start icon and the height Hz' of the end icon to be resized.
[0038] Hs' = Ha + Yh + Hb + Yh + Hc + Yh + Hd Hz'=Ha+Yh+Hb+Yh+Hc+Yh+Hd...(2)
[0039] Next, register the end icon, which is an icon that can connect to multiple inputs, at the end of the first list. If the start icon and end icon are both icons that can connect to multiple inputs and outputs, the one with the larger X coordinate of its centroid will be used.
[0040] Next, for icons other than those mentioned above, check the widest icon width and register them in the second list in descending order of Y coordinate.
[0041] Next, check the icons registered in the first list. First, change the size of the start icon and leave it as is. For the end icon, change its size and calculate the coordinates of the widest icon using the following formula (3), then move the end icon so that it is behind these icons.
[0042] The coordinates of the centroid of the start icon are (Xs, Ys), its width is Ws, the constant interval between icons on the X coordinate is Xw, and among the process A / B / C / D icons, the widest icon is process M, with its width being Wm. The coordinates of the centroid of the end icon to be repositioned are calculated (Xz', Yz') using the following equation (3).
[0043] Xz' = Xs + (Ws / 2) + Xw + Wm + Xw + (Wz / 2) Yz'=Ys ···(3)
[0044] Next, check the icons registered in the second list.
[0045] First, the first icon in the second list is moved by calculating the coordinates where it should be placed from the coordinates of the start icon using the following formula (4).
[0046] Let the coordinates of the centroid of the start icon be (Xs, Ys), its width be Ws, its height after resizing be Hs', the fixed interval between icons on the X coordinate be Xw, the fixed interval between icons on the Y coordinate be Yh, the width of process icon A be Wa, its height Ha, the width of process icon B be Hb, and its height Hb. Then, using equation (4) below, we find the coordinates of the centroid of process icon A (Xa', Ya') and the centroid of process icon B (Xb', Yb').
[0047] Xa' = Xs + (Ws / 2) + Xw + (Wa / 2) Ya' = Ys + (Hs' / 2) - (Ha / 2) Xb' = Xs + (Ws / 2) + Xw + (Wb / 2) Yb'=Ya'-(Ha / 2)-Yh-(Hb / 2) ···(4)
[0048] Next, the start icon 151, process A icon 152, process B icon 153, process C icon 154, and end icon 155 are connected by connecting lines 161.
[0049] First, the coordinates of the destination for the process icons used in the parallel array are determined by the following formula (5) (in the case of a horizontal flowchart). Let the coordinates of the centroid of the start icon be (Xs, Ys), its width be Ws, the fixed interval between icons on the X coordinate be Xw, the fixed interval between icons on the Y coordinate be Yh, the width of process icon A be Wa and its height be Ha, the width of process icon B be Hb and its height be Hb, the height of process icon C be Hc, the height of process icon D be Hd, and the height of all process icons be Ht. Then, the coordinates of the centroid of process icon A to be repositioned (Xa', Ya') and the centroid of process icon B be (Xb', Yb') are determined by the following formula (5).
[0050] Ht = Ha + Yh + Hb + Yh + Hc + Yh + Hd Xa' = Xs + (Ws / 2) + Xw + (Wa / 2) Ya' = Ys + (Ht / 2) - (Ha / 2) Xb' = Xs + (Ws / 2) + Xw + (Wb / 2) Yb'=Ya'-(Ha / 2)-Yh-(Hb / 2) ···(5)
[0051] Next, the coordinates of the points on the line connecting the icons in a parallel arrangement without overlapping are calculated using the following formula (6) (for a horizontal flowchart). Let (Xs, Ys) be the coordinates of the centroid of the start icon, Ws be its width, Xw be the constant interval between icons on the X coordinate, Yh be the constant interval between icons on the Y coordinate, (Xsa, Ysa) be the coordinates of the connection point (connecting part) of the start icon that connects to process icon A, and (Xa', Ya') be the coordinates of the moved process icon A. Then, the coordinates (Xv1, Yv1) and (Xv2, Yv2) of the two vertices of the connecting line between the start icon and process icon A are calculated using the following formula (6).
[0052] Xv1 = Xs + (Ws / 2) + (Xw / 3) Yv1=Ysa Xv2=Xv1 Yv2=Ya'···(6)
[0053] Note that (Xw / 3) in the formula represents the length of the connection wire from the output port to the first vertex.
[0054] Next, the classification number that determines the connection destination (up / parallel / down) of the connecting lines used in parallel arrangements, and the fixed width for calculating the X coordinate of the vertex of the connecting line are determined by the following equation (7) (in the case of a horizontal flowchart). Let FC be the total number of connection points for the output connections of multiple connectable icons, and Xw be the fixed interval between icons in the X coordinate. The classification number HC that determines the connection destination of the connecting line and the fixed width Xwc for calculating the X coordinate of the vertex of the connecting line are determined by the following equation (7).
[0055] If FC is an odd number HC = (FC + 1) / 2 Xwc = Xw / HC If FC is an even number HC = FC / 2 Xwc = Xw / (HC+1) ... (7)
[0056] Next, the length of the connection line from the output connection port of a multiple connectable icon used in a parallel array to the first vertex of the connection line is calculated using the following equation (8) (for a horizontal flowchart). Let FC be the total number of output connections of the multiple connectable icons, ON be the number of the output connections in descending order of the Y coordinate of the multiple connectable icons, HC be the classification number that determines the connection destination of the connection line, and Xwc be the constant width for calculating the X coordinate of the vertex. Then, the length of the connection line Xwon from the output port of the multiple connectable icon to the first vertex of the connection line is calculated using the following equation (8).
[0057] If FC is an odd number If ON is less than HC: Xwon = ON * Xwc If ON is the same as HC: No vertices. If ON is greater than HC: Xwon = (FC + 1 - ON) * Xwc If FC is an even number If ON is less than or equal to HC: Xwon = ON * Xwc If ON is greater than HC: Xwon = (FC + 1 - ON) * Xwc ...(8)
[0058] If you do not change the size (height) of the start and end icons, you can arrange them at regular intervals and bend and modify the connection lines so that they do not overlap, as shown in Figure 7.
[0059] By the way, in the above example, the connection is performed with all objects to be connected selected (multiple selections). For example, when all objects are selected, the user is presented with possible connection methods (serial or parallel) based on the type and position information of the selected objects. The processing unit then performs automatic arrangement and connection using the connection method selected by the user from among the presented methods. This is effective when the entire flow has been determined.
[0060] In contrast, when creating a flow gradually or adding objects to an existing flow, the processor can perform arraying and connection as follows. For example, when a user selects an icon for an object they want to connect to an object in the previous process, the processor presents the user with possible connection methods (series or parallel) based on the type and position information of the selected icon and the object icon in the previous process. The processor then automatically arrays and connects the selected icon to the icon of the object in the previous process using the connection method selected by the user.
[0061] Furthermore, the processing unit according to the above-described embodiment can be a computer device equipped with a CPU (Central Processing Unit) 301, main memory 302, external memory 303, network connection device 304, etc., as shown in Figure 11, and the CPU 301 operates (executes the program) based on a program deployed in the main memory 302, thereby realizing the functions of each circuit described above. The above-described program is a program for the computer to execute the method (operation of the processing unit) shown in the above-described embodiment. The network connection device 304 is connected to the network 305. In addition, each function can be distributed across multiple computer devices.
[0062] As described above, according to the embodiment of the present invention, the placement coordinates of each identified target icon on the operation screen are determined, and the identified process icons are arranged in the direction of the flow based on the determined placement coordinates between the identified start icon and end icon. This makes it possible to represent the contents of the program by flow without spending a lot of time on operations.
[0063] It should be noted that the present invention is not limited to the embodiments described above, and it is clear that many modifications and combinations can be implemented within the technical concept of the present invention by those with ordinary skill in the art. [Explanation of Symbols]
[0064] 101...Memory unit, 102...Specification circuit, 103...Discrimination circuit, 104...Coordinate calculation circuit, 105...Series array circuit, 106...Parallel array circuit, 107...Connection circuit, 108...Display unit.
Claims
1. A storage unit configured to store a start icon indicating a start object, a process icon indicating a process object, and an end icon indicating an end object, A selection circuit is configured to identify multiple icons selected from among the icons stored in the memory unit and placed on the operation screen as target icons. A discrimination circuit configured to determine whether each of the target icons identified by the aforementioned specific circuit is a start icon, an end icon, or a process icon, A coordinate calculation circuit configured to determine the placement coordinates of each of the target icons identified by the specified circuit on the operation screen, A series array circuit is configured to arrange process icons, which are determined by the discrimination circuit, in series with respect to the flow direction between the start icon determined by the discrimination circuit and the end icon determined by the discrimination circuit, based on the respective placement coordinates obtained by the coordinate calculation circuit. A parallel array circuit is configured to arrange the process icons, which are determined by the discrimination circuit, in parallel with respect to the flow direction between the start icon determined by the discrimination circuit and the end icon determined by the discrimination circuit, based on the respective placement coordinates obtained by the coordinate calculation circuit. A connection circuit configured to connect the arranged start icon, process icon, and end icon with connecting lines. A processing device equipped with the following features.
2. In the apparatus according to claim 1, The aforementioned parallel array circuit is a processing unit that arranges process icons so that the start icon side of each process icon is aligned.
3. In the apparatus according to claim 1, The aforementioned connection circuit is a processing device that connects the arranged start icon, process icon, and end icon so that the connection lines do not overlap.