WO2014170992A1 - Programming tool - Google Patents

Programming tool Download PDF

Info

Publication number
WO2014170992A1
WO2014170992A1 PCT/JP2013/061525 JP2013061525W WO2014170992A1 WO 2014170992 A1 WO2014170992 A1 WO 2014170992A1 JP 2013061525 W JP2013061525 W JP 2013061525W WO 2014170992 A1 WO2014170992 A1 WO 2014170992A1
Authority
WO
WIPO (PCT)
Prior art keywords
fbd
component
execution order
parts
program
Prior art date
Application number
PCT/JP2013/061525
Other languages
French (fr)
Japanese (ja)
Inventor
勘司 大西
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to CN201380075672.2A priority Critical patent/CN105229542B/en
Priority to PCT/JP2013/061525 priority patent/WO2014170992A1/en
Priority to JP2015512252A priority patent/JP5777842B2/en
Publication of WO2014170992A1 publication Critical patent/WO2014170992A1/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC

Definitions

  • the present invention relates to a programming tool, and more particularly to a programming tool for programming by description in a function block diagram (FBD) language.
  • BBD function block diagram
  • PLCs Programmable logic controllers
  • the FBD language is used for programming loop control programs used by the PLC. According to the standard IEC 61131-3 issued by the International Electrotechnical Commission (IEC), the FBD language is defined as one of programming languages for PLC.
  • a programming tool using the FBD language arranges FBD parts (functions or function blocks) corresponding to predetermined processes.
  • the programming tool describes a series of processes by connecting FBD parts along the flow of data and signals.
  • the software created using the FBD language determines the processing execution order based on the position information and connection information of the FBD parts by compiling.
  • the programming tool generates the data (execution data) necessary for executing the FBD program by the PLC by determining the execution order of the series of processes. Further, the programming tool uses data (graphic data) related to graphic drawing of the FBD program for maintenance of the FBD program.
  • the programming tool performs a process (PC writing) for writing the execution data and graphic data of the compiled project to the PLC.
  • Software created using the FBD language may be in an uncompiled state by changing the arrangement of FBD parts after compilation. In order to eliminate the uncompiled state, the user performs recompilation. In some cases, the project that has undergone such recompilation needs to be reflected in the PLC by executing execution data and graphic data in the PC.
  • Patent Document 1 a method in which text conversion is applied to software created using the FBD language is known (see, for example, Patent Document 1). According to the method of Patent Document 1, numerical information (machine language) of instruction codes is converted into text for all FBD parts in the program, and the text information of both programs is sequentially compared.
  • the user wants to document the program after confirming the operation of the device by compiling the control program and writing to the PC
  • the programming tool of the prior art when the arrangement of the FBD parts is changed, the program is immediately put into an uncompiled state. Therefore, every time the arrangement of the FBD parts is changed, recompilation and PC writing are required.
  • the present invention has been made in view of the above, and an object of the present invention is to obtain a programming tool that can reduce the work burden of program editing due to a change in the arrangement of FBD parts.
  • the present invention includes a program editing unit that arranges function block diagram (FBD) parts and edits the program by connecting the arranged FBD parts, An execution order determining unit that determines an execution order of the FBD parts based on position information and connection information of the FBD parts for the edited program, and the FBD parts arranged in the program editing part A component information management unit that manages position information and the connection information; and a recompilation necessity determination unit that determines whether or not recompilation should be performed in accordance with a change in the arrangement of the FBD component in the program editing unit.
  • FBD function block diagram
  • the component information management unit When the FBD component whose arrangement is to be changed is designated in the program editing unit, the component information management unit The position range in which the execution order is the same even if the position of the FBD part specified by the program editing unit is changed is extracted, and the recompilation necessity determination unit is configured to change the position of the specified FBD part. When position information is included in the position range extracted by the component information management unit, it is determined that the recompilation is unnecessary.
  • the programming tool determines whether or not recompilation is necessary depending on whether or not the execution order of the processes is changed before and after the FBD component is moved. For program editing that involves changing the arrangement of FBD parts, if there is no change in the execution sequence of processing, recompilation is not necessary, thereby reducing the work burden due to recompilation and PC writing. Thereby, there is an effect that it is possible to reduce the work burden of program editing due to the change in the arrangement of the FBD parts.
  • FIG. 1 is a block diagram showing a configuration of a programming tool according to the first embodiment of the present invention.
  • FIG. 2 is a flowchart for explaining the processing procedure of the programming tool when changing the arrangement of the FBD parts.
  • FIG. 3 is a diagram for explaining a method of determining the execution order of FBD parts according to a rule.
  • FIG. 4 is a diagram illustrating an example in which the execution order of the FBD parts is determined.
  • FIG. 5 is a flowchart showing a detailed procedure for extracting a position range in which the execution order of the FBD parts is the same.
  • FIG. 6 is a diagram showing an example of graphic data of the FBD program.
  • FIG. 7 is a flowchart for explaining the processing procedure of the programming tool according to the second embodiment of the present invention.
  • FIG. 1 is a block diagram showing a configuration of a programming tool according to the first embodiment of the present invention.
  • FIG. 2 is a flowchart for explaining the processing procedure of the programming tool when changing the arrangement
  • FIG. 8 is a diagram illustrating an example of displaying a position range in which the execution order of the FBD parts is the same.
  • FIG. 9 is a flowchart for explaining the processing procedure of the programming tool according to the third embodiment of the present invention.
  • FIG. 10 is a diagram for explaining the restriction on the movement of the FBD component outside the set position range.
  • FIG. 1 is a block diagram showing a configuration of a programming tool according to the first embodiment of the present invention.
  • the programming tool 10 is realized by a computer in which programming tool software is installed.
  • the programming tool 10 is a tool for editing a loop control program or the like that is operated by the PLC.
  • the programming tool 10 includes a program editing unit 11, a component information management unit 12, an execution order determination unit 13, and a recompilation necessity determination unit 14.
  • the program editing unit 11 arranges function block diagram (FBD) parts and edits the program by connecting the arranged FBD parts.
  • FBD function block diagram
  • the part information management unit 12 is connected to the program editing unit 11.
  • the part information management unit 12 manages the position information and connection information of the FBD parts arranged in the program editing unit 11.
  • the execution order determination unit 13 is connected to the component information management unit 12.
  • the execution order determination unit 13 determines the execution order of the FBD parts for the program edited by the program editing unit 11 based on the position information and connection information of the FBD parts.
  • the recompile necessity determination unit 14 is connected to the component information management unit 12.
  • the recompilation necessity determination unit 14 determines whether or not recompilation is necessary in accordance with the change in the arrangement of the FBD parts in the program editing unit 11.
  • FIG. 2 is a flowchart for explaining the processing procedure of the programming tool when changing the arrangement of the FBD parts.
  • the user selects an FBD part whose arrangement is to be changed from the FBD parts arranged in the program editing unit 11 (step S1).
  • the user designates an FBD part whose arrangement is to be changed in the program editing unit 11.
  • the part information management unit 12 extracts a position range in which the execution order of the FBD parts is the same even if the position of the FBD parts specified by the program editing unit 11 is changed (step S1). S10).
  • FIG. 3 is a diagram for explaining a method of determining the execution order of FBD parts according to a rule.
  • FIG. 3 shows eleven FBD parts (A to K) indicated by solid rectangles.
  • the processing group is a series of FBD component groups composed of FBD components connected to each other.
  • the program shown in FIG. 3 includes five processing groups (a), (b), (c), (d), and (e). In FIG. 3, the boundaries of the processing groups are shown as broken lines.
  • Processing group (a) consists of one FBD part (H).
  • the processing group (b) is composed of one FBD component (I).
  • the processing group (c) is composed of six FBD parts (A, B, C, D, E, F) connected to each other.
  • the processing group (d) is composed of two FBD parts (J, K) connected to each other.
  • the processing group (e) is composed of one FBD part (G).
  • the position information of the FBD part is expressed using XY coordinates.
  • the execution order of processing in the program is assumed to be from top to bottom in the Y-axis direction and from left to right in the X-axis direction.
  • the order in the Y-axis direction is given priority between the order in the Y-axis direction and the order in the X-axis direction.
  • the ranking rule corresponding to the position information is set as the first rule.
  • an FBD part representing the processing group is determined.
  • representative positions PPa, PPb, PPc, PPd, and PPe represented by black squares represent the upper left coordinates of the FBD parts that are representative of the processing groups (a) to (e).
  • the upper left coordinate is the coordinate at the top and leftmost position in the FBD component.
  • the representative positions PPa, PPb, PPe are the upper left coordinates of the FBD parts (H), (I), (G), respectively.
  • the representative position PPc is the upper left coordinate of the FBD part (D) that is the highest in the first rule among the six FBD parts included in the processing group (c).
  • the representative position PPd is the upper left coordinate of the FBD part (J) that is higher in the first rule among the two FBD parts included in the processing group (d).
  • the execution order of the processing groups (a) to (e) is determined by comparing the positional relationship of the representative positions PPa, PPb, PPc, PPd, PPe according to the first rule.
  • FIG. 4 is a diagram illustrating an example in which the execution order of the FBD parts is determined.
  • the execution order of the processing groups is as follows: (a), (b), (d), (c), (e) by comparing the positional relationship of the representative positions PPa, PPb, PPc, PPd, PPe according to the first rule. ) Is determined.
  • the execution order is determined from the upstream FBD part in the connection route of the input.
  • the ranking rule corresponding to the connection information is set as the second rule.
  • the FBD component (C) is connected to the input side of the FBD component (D) that is representative of the processing group (c).
  • the FBD component (A) is further connected to the input side of the FBD component (C).
  • the execution order is the order of FBD parts (A), (C), and (D) according to the second rule.
  • the FBD part (C) and the FBD part (B) are connected to the input side of the FBD part (E).
  • the FBD part (C) and the FBD part (B) are higher than the FBD part (E) according to the second rule.
  • the FBD part (C) is ranked higher in accordance with the first rule.
  • the execution order is the order of FBD parts (C), (B), and (E).
  • the FBD part (E) is higher in both the first rule and the second rule.
  • the execution order of the FBD parts in the processing group (c) is the order of the FBD parts (A), (C), (D), (B), (E), and (F).
  • the FBD part (J) is ranked higher in accordance with the first rule.
  • the processing is started from the processing group with the highest order, and when the processing of all the FBD parts in the processing group is completed, the processing of the processing group with the next highest order is started.
  • the execution order of the FBD parts (A to K) of the processing groups (a) to (e) is determined.
  • FIG. 5 is a flowchart showing a detailed procedure for extracting a position range in which the execution order of the FBD parts is the same.
  • the part information management unit 12 extracts an FBD part that affects the execution order (step S11).
  • processing is executed in accordance with the execution order of the FBD parts.
  • the process by the FBD program is controlled by the execution order of the FBD blocks.
  • the situation that affects the execution order refers to a situation in which the control content of the process by the execution of the FBD program may be changed.
  • the part information management unit 12 holds data of all objects drawn in editing by the program editing unit 11.
  • the component information management unit 12 searches for an FBD component connected to the FBD component by tracing the connection information from the FBD component selected in step S1 shown in FIG. Thereby, the component information management unit 12 specifies the FBD component in the processing group to which the selected FBD component belongs. Furthermore, the component information management unit 12 extracts FBD components that have an influence on the execution order due to the movement of the selected FBD component.
  • FIG. 6 is a diagram showing an example of graphic data of the FBD program.
  • the graphic data shown in FIG. 6 is displayed on, for example, a display included in a computer constituting the programming tool 10.
  • the FBD parts 401, 402, and 403 belong to the processing group 410.
  • the FBD parts 404, 405, 406, and 407 belong to the processing group 411.
  • the FBD parts 408 and 409 belong to the processing group 412.
  • the FBD component 405 is the FBD component designated in step S1.
  • the input terminal IN of the FBD component 405 is connected to the output terminal OUT1 of the FBD component 404.
  • the input terminal IN of the FBD component 406 is connected to the output terminal OUT2 of the FBD component 404. According to the second rule, in order to determine the execution order of the FBD component 405 and the FBD component 406, it is necessary that the execution order of the FBD component 404 is fixed.
  • the part information management unit 12 compares the upper left coordinates of the FBD parts 405 with the upper left coordinates of the FBD parts 406, and determines the execution order of the FBD parts 405 according to the first rule. To do. Next, the execution order of the FBD parts 406 is determined.
  • the output terminal OUT of the FBD component 405 is connected to the input terminal IN1 of the FBD component 407.
  • the output terminal OUT of the FBD component 406 is connected to the input terminal IN2 of the FBD component 407.
  • the execution order of the FBD component 407 is determined by determining the execution order of the FBD component 405 and the FBD component 406.
  • the execution order of the FBD component 404 and the FBD component 407 is determined only by the connection information regardless of the position information.
  • the execution order of the FBD component 405 and the FBD component 406 is determined by both the position information and the connection information.
  • the part information management unit 12 extracts the FBD parts in which both the position information and the connection information are related to the determination of the execution order in step S11.
  • the component information management unit 12 extracts the FBD component 406 as an FBD component that affects the execution order.
  • the parts information management unit 12 extracts the FBD parts that determine the position information for each processing group from each processing group (step S12).
  • the FBD component that determines the position information for each processing group is an FBD component that represents the processing group among the FBD components included in the processing group.
  • the FBD component that determines the position information for each processing group is determined according to the first rule.
  • the extraction of the FBD part is targeted for a processing group other than the processing group in which the FBD part is selected in step S1.
  • the processing groups 410 and 412 other than the processing group 411 including the FBD component 405 are the extraction targets in step S ⁇ b> 12.
  • the component information management unit 12 extracts the FBD component 401.
  • the component information management unit 12 extracts the FBD component 408 from the processing group 412.
  • the parts information management unit 12 extracts the position information of each FBD part extracted in steps S11 and S12 (step S13).
  • the component information management unit 12 extracts the upper left coordinate of the FBD component 406 extracted in step S ⁇ b> 11 as position information of the FBD component 406.
  • the component information management unit 12 extracts the upper left coordinates of the FBD component 401 extracted in step S ⁇ b> 12 as position information of the FBD component 401.
  • the component information management unit 12 extracts the upper left coordinate of the FBD component 408 extracted in step S ⁇ b> 12 as position information of the FBD component 408.
  • the part information management unit 12 extracts a position range in which the execution order is the same even if the FBD part selected in step S1 is moved (step S14). Based on the position information extracted in step S13 and the position information of the FBD part selected in step S1, the part information management unit 12 extracts a range in which the execution order is the same even if the FBD part is moved.
  • the position range 420 is a position range that is lower than the upper left coordinate of the FBD part 401 and higher than the upper left coordinate of the FBD part 406 in the first rule.
  • the part information management unit 12 extracts the position range 420 based on the position information extracted for the FBD parts 401, 406, and 408 and the position information of the FBD part 405.
  • the position range 420 is set to limit the range in which the execution order is the same even if the FBD component is moved in the Y-axis direction.
  • the position range 420 may limit the range in which the execution order is the same in both the Y-axis direction and the X-axis direction according to the manner in which each FBD component is arranged.
  • the part information management unit 12 calculates a position range in which the execution order is the same from the position information of the FBD parts using, for example, topological sort. Note that the component information management unit 12 may obtain a range in which the execution order is the same even if the FBD component is moved by any algorithm.
  • the user moves the FBD part specified in step S1 by the program editing unit 11 (step S2).
  • the component information management unit 12 acquires the position information of the moved FBD component from the program editing unit 11.
  • the recompile necessity determination unit 14 acquires the position information of the FBD part whose arrangement has been changed in step S2 and the position range extracted in step S10 from the part information management unit 12. The recompilation necessity determination unit 14 compares the position information of the FBD component whose arrangement has been changed with the position range in which the execution order is the same (step S3).
  • the recompilation necessity determination unit 14 determines whether or not the position information of the FBD part whose arrangement has been changed is included in a position range in which the execution order is the same (step S4). In the example illustrated in FIG. 6, the recompilation necessity determination unit 14 determines whether or not the upper left coordinate of the FBD component 405 after movement is included in the position range 420.
  • the recompile necessity determination unit 14 accompanies the change in the arrangement of the FBD part in step S2. It is determined that recompilation is unnecessary.
  • the recompilation necessity determination unit 14 includes the position information after the placement change of the FBD component 405 specified in step S ⁇ b> 1 included in the position range 420 extracted by the component information management unit 12. It is determined that re-compilation is not necessary. In response to determining that recompilation is unnecessary, the program editing unit 11 maintains the compiled state of the FBD program (step S5).
  • the recompile necessity determination unit 14 determines the arrangement of the FBD part in step S2. It is determined that recompilation due to the change is necessary.
  • the recompilation necessity determination unit 14 does not include the position information after the placement change of the FBD component 405 specified in step S ⁇ b> 1 in the position range 420 extracted by the component information management unit 12. If it is determined that re-compilation is necessary. In response to the determination that recompilation is necessary, the program editing unit 11 changes the FBD program to an uncompiled state (step S6). Thereby, the programming tool 10 ends a series of processes in changing the arrangement of the FBD parts.
  • the programming tool 10 of the present invention determines from the position information of the FBD parts whether or not the execution order of the processing is changed by changing the arrangement of the FBD parts in the program written in the FBD language. Even when the arrangement of the FBD parts is changed, the programming tool 10 maintains the compiled state of the FBD program if the execution order of the FBD parts is the same before and after the arrangement change.
  • the programming tool 10 can reduce the trouble of performing recompilation and PC writing as compared with the case where the FBD program is always changed to an uncompiled state every time there is a change in the arrangement of the FBD parts.
  • the comparison of the FBD program requires a process equivalent to compilation.
  • the execution order is determined from the position information and the connection information of the FBD part, and the execution order is compared. Makes the FBD program comparable.
  • the programming tool 10 has the effect that the work burden of the program editing by the change of arrangement
  • the programming tool 10 realizes the comparison of the programs by the process of extracting the execution order from the connection information and the position information and the process of comparing the execution order in determining whether recompilation is necessary.
  • the programming tool 10 can reduce the number of steps and processes for comparing programs as compared with the comparison method according to the prior art that requires conversion into machine language. Thereby, the programming tool 10 can speed up the comparison process before and after the change of the program. The user can easily determine whether or not recompilation is necessary by using the programming tool 10.
  • the user may arrange the appearance of the control program when the document of the program becomes necessary after confirming the operation of the device by compiling the control program and writing to the PC, for example.
  • the user can greatly reduce the work load when changing the arrangement of the FBD parts.
  • FIG. FIG. 7 is a flowchart for explaining the processing procedure of the programming tool according to the second embodiment of the present invention.
  • the same parts as those in the first embodiment are denoted by the same reference numerals, and repeated description will be omitted as appropriate.
  • the programming tool according to the second embodiment has the same configuration as the programming tool 10 according to the first embodiment (see FIG. 1). Furthermore, in the second embodiment, the part information management unit 12 performs an output process for notifying the user of a position range in which the execution order is the same even if the position of the designated FBD part is changed.
  • the user selects the FBD part whose arrangement is to be changed from the FBD parts arranged in the program editing unit 11 (step S21).
  • the user designates an FBD part whose arrangement is to be changed in the program editing unit 11.
  • step S21 the parts information management unit 12 extracts a position range in which the execution order of the FBD parts is the same even if the position of the FBD parts specified by the program editing unit 11 is changed (step S21).
  • step S22 is the same as step S10 (see FIG. 2) of the first embodiment.
  • the details of step S22 are the same as the details of step S10 shown in FIG.
  • the component information management unit 12 performs an output process for displaying the position range extracted in step S22 on the display.
  • the programming tool 10 displays the position range where the execution order of the FBD parts is the same on the display (step S23).
  • FIG. 8 is a diagram illustrating an example of displaying a position range in which the execution order of the FBD parts is the same.
  • the programming tool 10 color-codes the position range 420 extracted in step S22 and the other position ranges on the screen that displays the graphic data of the FBD program. Further, the programming tool 10 displays a boundary line between the position range 420 extracted in step S22 and the other position ranges. The programming tool 10 notifies the user of a position range in which the execution order of the FBD parts is the same by the display on the display.
  • the user moves the FBD part specified in step S21 in the program editing unit 11 (step S24).
  • the user can move the FBD part after recognizing the position range in which the execution order of the FBD parts is the same by looking at the display.
  • the programming tool 10 may display the position range 420 in which the execution order of the FBD parts is the same by either one of the color coding and the boundary line.
  • the programming tool 10 may indicate the position range 420 in any manner.
  • the recompile necessity determination unit 14 acquires the position information of the FBD part whose arrangement has been changed in step S24 and the position range extracted in step S22 from the part information management unit 12. The recompilation necessity determination unit 14 compares the position information of the FBD part whose arrangement has been changed with the position range in which the execution order is the same (step S25). The recompilation necessity determination unit 14 determines whether the position information of the FBD part whose arrangement has been changed is included in a position range in which the execution order is the same (step S26).
  • the recompilation necessity determination unit 14 accompanies the change in the arrangement of the FBD part in step S24. It is determined that recompilation is unnecessary. In response to determining that recompilation is not necessary, the program editing unit 11 maintains the compiled state of the FBD program (step S27).
  • the recompile necessity determination unit 14 arranges the FBD part in step S24. It is determined that recompilation due to the change is necessary. In response to the determination that recompilation is necessary, the program editing unit 11 changes the FBD program to an uncompiled state (step S28).
  • the FBD program can be edited after clearly grasping the above. For example, the user can further reduce the work load when adjusting the appearance of the control program by selecting an arrangement change that makes recompilation unnecessary.
  • the programming tool 10 may use any means to notify the user of the position range in which the execution order of the FBD parts is the same. It is assumed that the component information management unit 12 can perform output processing according to a means for notifying the position range.
  • the programming tool 10 confirms that the position information of the FBD part whose arrangement has been changed is not included in the position range in which the execution order is the same, such as displaying a dialog on the display, outputting an alarm sound, etc. You may alert
  • the programming tool 10 may be configured so that the user can arbitrarily switch whether or not to notify the position range in which the execution order of the FBD parts is the same.
  • the user can arbitrarily select presence / absence of notification according to whether or not the user wants to grasp the position range where recompilation is unnecessary.
  • FIG. 9 is a flowchart for explaining the processing procedure of the programming tool according to the third embodiment of the present invention.
  • the same parts as those in the first embodiment are denoted by the same reference numerals, and repeated description will be omitted as appropriate.
  • the programming tool according to the third embodiment has the same configuration as the programming tool 10 according to the first embodiment (see FIG. 1). Furthermore, in the third embodiment, the program editing unit 11 restricts the movement of the FBD part outside the position range in which the execution order is the same even if the position of the designated FBD part is changed.
  • the user selects the FBD part whose arrangement is to be changed from the FBD parts arranged in the program editing unit 11 (step S31).
  • the user designates an FBD part whose arrangement is to be changed in the program editing unit 11.
  • step S31 the part information management unit 12 extracts a position range in which the execution order of the FBD parts is the same even if the position of the FBD part specified by the program editing part 11 is changed (step S31).
  • step S32 is the same as step S10 (see FIG. 2) of the first embodiment.
  • the details of step S32 are the same as the details of step S10 shown in FIG.
  • the user moves the FBD part specified in step S31 in the program editing unit 11 (step S33).
  • the program editing unit 11 sets the movement restriction outside the set position range for the FBD part.
  • the recompilation necessity determination unit 14 acquires the position information of the FBD part whose arrangement has been changed in step S33 and the position range extracted in step S32 from the part information management unit 12. The recompilation necessity determination unit 14 compares the position information of the FBD component whose arrangement has been changed with the position range in which the execution order is the same (step S34). The recompilation necessity determination unit 14 determines whether or not the position information of the FBD component whose arrangement has been changed is included in the position range in which the execution order is the same (step S35).
  • step S35 When the position information of the FBD part whose arrangement has been changed is included in the position range in which the execution order is the same (step S35, Yes), the program editing unit 11 permits the movement in step S33.
  • the recompilation necessity determination unit 14 determines that recompilation accompanying the change in the arrangement of the FBD part in step S33 is unnecessary.
  • the program editing unit 11 maintains the compiled state of the FBD program (step S36).
  • step S35, No when the position information of the FBD part whose arrangement has been changed is not included in the position range in which the execution order is the same (step S35, No), the program editing unit 11 moves the FBD part selected in step S31. (Step S37).
  • FIG. 10 is a diagram for explaining the restriction on the movement of the FBD component outside the set position range.
  • the processing groups 410, 411, and 412 shown in FIGS. 6 and 8 are not shown.
  • the program editing unit 11 restricts the FBD component 405 from moving outside the position range 420 set by the extraction in step S32.
  • the program editing unit 11 prevents the drop of the FBD part 405 from being completed while the figure of the FBD part 405 is being dragged out of the position range 420. In this way, the program editing unit 11 rejects the movement of the FBD component 405 outside the position range 420.
  • step S33 it is assumed that the user tries to drag the FBD part 405 to the position 430 outside the position range 420 in step S33.
  • the program editing unit 11 returns the FBD part 405 to the original position without completing the dropping of the FBD part 405 to the position 430.
  • the program editing unit 11 restricts the movement of the FBD part to the outside of the position range where the execution order is the same, so that the FBD part attempted to move in step S33 is within the position range where the execution order is the same. Let it stop. Thereby, the program editing part 11 maintains the compiled state of the FBD program (step S36). Note that the programming tool 10 may limit the movement of the FBD component outside the position range in which the execution order is the same by any method other than preventing the completion of the drop.
  • the programming tool 10 can reliably limit the change in the arrangement of the FBD parts that needs to be recompiled. Thereby, the user can suppress the work burden when arranging the appearance of the control program by eliminating the arrangement change that requires recompilation.
  • the programming tool 10 may be configured so that the user can arbitrarily switch whether or not to restrict the movement of the FBD component in the third embodiment.
  • the user can arbitrarily select whether or not to restrict the movement of the FBD component, depending on whether or not to eliminate the layout change that requires recompilation.

Abstract

The present invention has a program editing unit (11) for arranging function block diagram (FBD) components and connecting the arranged FBD components together; an execution sequence determination unit (13) for determining an execution sequence of the FBD components on the basis of position information and connection information regarding the FBD components; a component information management unit (12) for managing the position information and connection information regarding the FBD components; and a recompilation necessity determination unit (14) for determining the need to perform recompilation that accompanies a modification of the arrangement of the FBD components. When an FBD component for which arrangement is to be modified is specified in the program editing unit, the component information management unit extracts a position range in which the execution sequence will be the same even when the position of the FBD component specified by the program editing unit is modified, and the recompilation necessity determination unit determines that recompilation is not required to be performed when the position information after the arrangement of the specified FBD component has been modified is included in the position range extracted by the component information management unit.

Description

プログラミングツールProgramming tools
 本発明は、プログラミングツール、特に、ファンクションブロックダイアグラム(FBD)言語の記述によるプログラミングのためのプログラミングツールに関する。 The present invention relates to a programming tool, and more particularly to a programming tool for programming by description in a function block diagram (FBD) language.
 工場の製造ラインや個々の装置、プラント、オフィスビル等の現場にて、被制御機器をシーケンシャルに制御するためのプログラマブルロジックコントローラ(PLC)が用いられている。PLCに格納しているプログラムを書き換えるには、コンピュータ上に専用のソフトウェアをインストールしたプログラム作成支援装置(プログラミングツール)を用いる。 Programmable logic controllers (PLCs) for controlling controlled devices sequentially are used on the production lines of factories, individual devices, plants, office buildings, and the like. In order to rewrite the program stored in the PLC, a program creation support device (programming tool) in which dedicated software is installed on a computer is used.
 FBD言語は、PLCが使用するループ制御プログラムなどのプログラミングに用いられている。国際電機標準会議(IEC)が発行した標準規格IEC61131-3によると、FBD言語は、PLC用のプログラム言語の一つとして定義されている。FBD言語を用いるプログラミングツールは、それぞれ所定の処理に対応するFBD部品(ファンクションあるいはファンクションブロック)を配置する。プログラミングツールは、データや信号の流れに沿ってFBD部品を結線することで、一連の処理を記述する。 The FBD language is used for programming loop control programs used by the PLC. According to the standard IEC 61131-3 issued by the International Electrotechnical Commission (IEC), the FBD language is defined as one of programming languages for PLC. A programming tool using the FBD language arranges FBD parts (functions or function blocks) corresponding to predetermined processes. The programming tool describes a series of processes by connecting FBD parts along the flow of data and signals.
 FBD言語を用いて作成されたソフトウェアは、コンパイルによって、FBD部品の位置情報および接続情報を基に処理の実行順序が決定される。プログラミングツールは、一連の処理の実行順序を決定することにより、FBDプログラムをPLCで実行するために必要なデータ(実行データ)を生成する。また、プログラミングツールは、FBDプログラムの図形描画に関するデータ(図形データ)を、FBDプログラムの保守に利用している。プログラミングツールは、コンパイルを経たプロジェクトの実行データや図形データをPLCに書き込む処理(PC書込)を実施する。 The software created using the FBD language determines the processing execution order based on the position information and connection information of the FBD parts by compiling. The programming tool generates the data (execution data) necessary for executing the FBD program by the PLC by determining the execution order of the series of processes. Further, the programming tool uses data (graphic data) related to graphic drawing of the FBD program for maintenance of the FBD program. The programming tool performs a process (PC writing) for writing the execution data and graphic data of the compiled project to the PLC.
 FBD言語を用いて作成されたソフトウェアは、コンパイルのあとにFBD部品の配置が変更されることで、未コンパイル状態となる場合がある。ユーザは、未コンパイル状態を解消するには、再コンパイルを実施することとなる。また、かかる再コンパイルを経たプロジェクトについて、実行データや図形データのPC書込の実施により、PLCへの反映を要する場合もある。 ∙ Software created using the FBD language may be in an uncompiled state by changing the arrangement of FBD parts after compilation. In order to eliminate the uncompiled state, the user performs recompilation. In some cases, the project that has undergone such recompilation needs to be reflected in the PLC by executing execution data and graphic data in the PC.
 また、従来、FBD言語を用いて作成されたソフトウェアについて、FBDプログラムの変更前後の比較のための手法として、テキスト変換を適用するものが知られている(例えば、特許文献1参照)。特許文献1の方法によると、プログラムにある全てのFBD部品について命令コードの数値情報(機械語)をテキスト変換し、両プログラムのテキスト情報を順次比較する。 Further, conventionally, as a technique for comparing before and after the change of the FBD program, a method in which text conversion is applied to software created using the FBD language is known (see, for example, Patent Document 1). According to the method of Patent Document 1, numerical information (machine language) of instruction codes is converted into text for all FBD parts in the program, and the text information of both programs is sequentially compared.
特開平10-149208号公報JP-A-10-149208
 特許文献1にあるように、プログラムの比較にテキスト変換を適用する方法では、まず、比較対象とするプログラムの双方について機械語へ変換する処理を要する。この時点で既に、コンパイルに相当する処理負担が必要となる。さらに、機械語を文字列へ変換する処理、文字列をテキストファイルに出力する処理を経て、両プログラムのテキストファイルを比較する。従来技術によると、FBDプログラムの比較には、多くの工程および処理を要し、時間がかかることとなる。 As described in Patent Document 1, in the method of applying text conversion to program comparison, first, both of the programs to be compared require conversion to machine language. At this point, a processing burden corresponding to compilation is already required. Furthermore, the text file of both programs is compared through the process which converts a machine language into a character string, and the process which outputs a character string to a text file. According to the prior art, comparison of FBD programs requires many processes and processes, and takes time.
 例えば、ユーザは、制御プログラムのコンパイルおよびPC書込により機器の動作を確認してからプログラムのドキュメントが必要となったときなどにおいて、制御プログラムの体裁を整えるためにFBD部品の配置変更を望む場合がある。従来技術のプログラミングツールでは、FBD部品の配置を変更するとプログラムが直ちに未コンパイル状態となるため、FBD部品の配置を少しでも変えるたびに再コンパイル、PC書込を要することが問題となる。 For example, when the user wants to document the program after confirming the operation of the device by compiling the control program and writing to the PC, the user wants to change the arrangement of the FBD parts in order to make the appearance of the control program. There is. In the programming tool of the prior art, when the arrangement of the FBD parts is changed, the program is immediately put into an uncompiled state. Therefore, every time the arrangement of the FBD parts is changed, recompilation and PC writing are required.
 本発明は、上記に鑑みてなされたものであって、FBD部品の配置の変更によるプログラム編集の作業負担を軽減可能とするプログラミングツールを得ることを目的とする。 The present invention has been made in view of the above, and an object of the present invention is to obtain a programming tool that can reduce the work burden of program editing due to a change in the arrangement of FBD parts.
 上述した課題を解決し、目的を達成するために、本発明は、ファンクションブロックダイアグラム(FBD)部品を配置し、配置された前記FBD部品同士を接続することによりプログラムを編集するプログラム編集部と、編集された前記プログラムに対し、前記FBD部品の位置情報および接続情報を基に、前記FBD部品の実行順序を決定する実行順序決定部と、前記プログラム編集部に配置されている前記FBD部品の前記位置情報および前記接続情報を管理する部品情報管理部と、前記プログラム編集部における前記FBD部品の配置の変更に伴う再コンパイルの実施の要否を判定する再コンパイル要否判定部と、を有し、配置を変更させる前記FBD部品が前記プログラム編集部において指定されると、前記部品情報管理部は、前記プログラム編集部で指定されたFBD部品の位置を変更させても前記実行順序が同一となる位置範囲を抽出し、前記再コンパイル要否判定部は、前記指定されたFBD部品の位置変更後の位置情報が、前記部品情報管理部で抽出された前記位置範囲に含まれる場合、前記再コンパイルの実施を不要と判定することを特徴とする。 In order to solve the above-described problems and achieve the object, the present invention includes a program editing unit that arranges function block diagram (FBD) parts and edits the program by connecting the arranged FBD parts, An execution order determining unit that determines an execution order of the FBD parts based on position information and connection information of the FBD parts for the edited program, and the FBD parts arranged in the program editing part A component information management unit that manages position information and the connection information; and a recompilation necessity determination unit that determines whether or not recompilation should be performed in accordance with a change in the arrangement of the FBD component in the program editing unit. When the FBD component whose arrangement is to be changed is designated in the program editing unit, the component information management unit The position range in which the execution order is the same even if the position of the FBD part specified by the program editing unit is changed is extracted, and the recompilation necessity determination unit is configured to change the position of the specified FBD part. When position information is included in the position range extracted by the component information management unit, it is determined that the recompilation is unnecessary.
 本発明にかかるプログラミングツールは、FBD部品を移動させる前後において、処理の実行順序が変更するか否かに応じて、再コンパイルの要否を判定する。FBD部品の配置変更を伴うプログラム編集について、処理の実行順序に変更が無ければ再コンパイルを不要とすることで、再コンパイルやPC書込による作業負担を軽減させることができる。これにより、FBD部品の配置の変更によるプログラム編集の作業負担を軽減できるという効果を奏する。 The programming tool according to the present invention determines whether or not recompilation is necessary depending on whether or not the execution order of the processes is changed before and after the FBD component is moved. For program editing that involves changing the arrangement of FBD parts, if there is no change in the execution sequence of processing, recompilation is not necessary, thereby reducing the work burden due to recompilation and PC writing. Thereby, there is an effect that it is possible to reduce the work burden of program editing due to the change in the arrangement of the FBD parts.
図1は、本発明の実施の形態1にかかるプログラミングツールの構成を示すブロック図である。FIG. 1 is a block diagram showing a configuration of a programming tool according to the first embodiment of the present invention. 図2は、FBD部品の配置を変更するときにおけるプログラミングツールの処理手順を説明するフローチャートである。FIG. 2 is a flowchart for explaining the processing procedure of the programming tool when changing the arrangement of the FBD parts. 図3は、FBD部品の実行順序を、規則にしたがって決定する方法を説明する図である。FIG. 3 is a diagram for explaining a method of determining the execution order of FBD parts according to a rule. 図4は、FBD部品の実行順序を決定した例を示す図である。FIG. 4 is a diagram illustrating an example in which the execution order of the FBD parts is determined. 図5は、FBD部品の実行順序が同一となる位置範囲の抽出についての詳細な手順を示すフローチャートである。FIG. 5 is a flowchart showing a detailed procedure for extracting a position range in which the execution order of the FBD parts is the same. 図6は、FBDプログラムの図形データの例を示す図である。FIG. 6 is a diagram showing an example of graphic data of the FBD program. 図7は、本発明の実施の形態2にかかるプログラミングツールの処理手順を説明するフローチャートである。FIG. 7 is a flowchart for explaining the processing procedure of the programming tool according to the second embodiment of the present invention. 図8は、FBD部品の実行順序が同一となる位置範囲を表示する例を示す図である。FIG. 8 is a diagram illustrating an example of displaying a position range in which the execution order of the FBD parts is the same. 図9は、本発明の実施の形態3にかかるプログラミングツールの処理手順を説明するフローチャートである。FIG. 9 is a flowchart for explaining the processing procedure of the programming tool according to the third embodiment of the present invention. 図10は、設定された位置範囲の外へのFBD部品の移動の制限について説明する図である。FIG. 10 is a diagram for explaining the restriction on the movement of the FBD component outside the set position range.
 以下に、本発明にかかるプログラミングツールの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。 Hereinafter, an embodiment of a programming tool according to the present invention will be described in detail with reference to the drawings. Note that the present invention is not limited to the embodiments.
実施の形態1.
 図1は、本発明の実施の形態1にかかるプログラミングツールの構成を示すブロック図である。プログラミングツール10は、プログラミングツールソフトウェアがインストールされたコンピュータで実現される。プログラミングツール10は、PLCで動作させるループ制御プログラムなどを編集するツールである。
Embodiment 1 FIG.
FIG. 1 is a block diagram showing a configuration of a programming tool according to the first embodiment of the present invention. The programming tool 10 is realized by a computer in which programming tool software is installed. The programming tool 10 is a tool for editing a loop control program or the like that is operated by the PLC.
 プログラミングツール10は、プログラム編集部11、部品情報管理部12、実行順序決定部13および再コンパイル要否判定部14を有する。プログラム編集部11は、ファンクションブロックダイアグラム(FBD)部品を配置し、配置されたFBD部品同士を接続することによりプログラムを編集する。 The programming tool 10 includes a program editing unit 11, a component information management unit 12, an execution order determination unit 13, and a recompilation necessity determination unit 14. The program editing unit 11 arranges function block diagram (FBD) parts and edits the program by connecting the arranged FBD parts.
 部品情報管理部12は、プログラム編集部11に接続されている。部品情報管理部12は、プログラム編集部11にて配置されているFBD部品の位置情報および接続情報を管理する。 The part information management unit 12 is connected to the program editing unit 11. The part information management unit 12 manages the position information and connection information of the FBD parts arranged in the program editing unit 11.
 実行順序決定部13は、部品情報管理部12に接続されている。実行順序決定部13は、プログラム編集部11で編集されたプログラムに対し、FBD部品の位置情報および接続情報を基に、FBD部品の実行順序を決定する。 The execution order determination unit 13 is connected to the component information management unit 12. The execution order determination unit 13 determines the execution order of the FBD parts for the program edited by the program editing unit 11 based on the position information and connection information of the FBD parts.
 再コンパイル要否判定部14は、部品情報管理部12に接続されている。再コンパイル要否判定部14は、プログラム編集部11におけるFBD部品の配置の変更に伴う再コンパイルの実施の要否を判定する。 The recompile necessity determination unit 14 is connected to the component information management unit 12. The recompilation necessity determination unit 14 determines whether or not recompilation is necessary in accordance with the change in the arrangement of the FBD parts in the program editing unit 11.
 図2は、FBD部品の配置を変更するときにおけるプログラミングツールの処理手順を説明するフローチャートである。FBD部品を用いて作成されたFBDプログラムについて、ユーザは、プログラム編集部11に配置されているFBD部品から、配置を変更するFBD部品を選択する(ステップS1)。ユーザは、配置を変更させるFBD部品をプログラム編集部11において指定する。 FIG. 2 is a flowchart for explaining the processing procedure of the programming tool when changing the arrangement of the FBD parts. For the FBD program created using the FBD part, the user selects an FBD part whose arrangement is to be changed from the FBD parts arranged in the program editing unit 11 (step S1). The user designates an FBD part whose arrangement is to be changed in the program editing unit 11.
 ステップS1での選択を受けて、部品情報管理部12は、プログラム編集部11で指定されたFBD部品の位置を変更させても、FBD部品の実行順序が同一となる位置範囲を抽出する(ステップS10)。 In response to the selection in step S1, the part information management unit 12 extracts a position range in which the execution order of the FBD parts is the same even if the position of the FBD parts specified by the program editing unit 11 is changed (step S1). S10).
 ここで、ステップS10における位置情報の抽出に関して、FBD部品の実行順序の規則について説明する。図3は、FBD部品の実行順序を、規則にしたがって決定する方法を説明する図である。 Here, the rules for the execution order of the FBD parts regarding the extraction of the position information in step S10 will be described. FIG. 3 is a diagram for explaining a method of determining the execution order of FBD parts according to a rule.
 図3には、実線の矩形で示す11個のFBD部品(A~K)を示している。処理グループは、互いに接続されたFBD部品からなる一連のFBD部品群とする。図3に示すプログラムは、5つの処理グループ(a),(b),(c),(d),(e)を含む。図3では、処理グループの境界を破線として示している。 FIG. 3 shows eleven FBD parts (A to K) indicated by solid rectangles. The processing group is a series of FBD component groups composed of FBD components connected to each other. The program shown in FIG. 3 includes five processing groups (a), (b), (c), (d), and (e). In FIG. 3, the boundaries of the processing groups are shown as broken lines.
 処理グループ(a)は、1つのFBD部品(H)からなる。処理グループ(b)は、1つのFBD部品(I)からなる。処理グループ(c)は、互いに接続された6個のFBD部品(A,B,C,D,E,F)からなる。処理グループ(d)は、互いに接続された2つのFBD部品(J,K)からなる。処理グループ(e)は、1つのFBD部品(G)からなる。 Processing group (a) consists of one FBD part (H). The processing group (b) is composed of one FBD component (I). The processing group (c) is composed of six FBD parts (A, B, C, D, E, F) connected to each other. The processing group (d) is composed of two FBD parts (J, K) connected to each other. The processing group (e) is composed of one FBD part (G).
 FBD部品の位置情報は、XY座標を用いて表される。プログラムにおける処理の実行順序は、Y軸方向については上から下、X軸方向については左から右の順であるものとする。Y軸方向の順位とX軸方向の順位とでは、Y軸方向の順位を優先させるものとする。かかる位置情報に応じた順位規則を、第1規則とする。 The position information of the FBD part is expressed using XY coordinates. The execution order of processing in the program is assumed to be from top to bottom in the Y-axis direction and from left to right in the X-axis direction. The order in the Y-axis direction is given priority between the order in the Y-axis direction and the order in the X-axis direction. The ranking rule corresponding to the position information is set as the first rule.
 第1規則にしたがって、各処理グループについて、処理グループを代表するFBD部品が決定される。図中黒塗り四角形で表す代表位置PPa,PPb,PPc,PPd,PPeは、各処理グループ(a)~(e)の代表とされたFBD部品の左上座標を表すものとする。各FBD部品において、左上座標とは、FBD部品の中で最も上かつ最も左の位置の座標とする。 In accordance with the first rule, for each processing group, an FBD part representing the processing group is determined. In the figure, representative positions PPa, PPb, PPc, PPd, and PPe represented by black squares represent the upper left coordinates of the FBD parts that are representative of the processing groups (a) to (e). In each FBD component, the upper left coordinate is the coordinate at the top and leftmost position in the FBD component.
 代表位置PPa,PPb,PPeは、それぞれFBD部品(H),(I),(G)の左上座標である。代表位置PPcは、処理グループ(c)に含まれる6個のFBD部品のうち、第1規則において最も上位であるFBD部品(D)の左上座標である。代表位置PPdは、処理グループ(d)に含まれる2個のFBD部品のうち、第1規則において上位であるFBD部品(J)の左上座標である。各処理グループ(a)~(e)同士の実行順序は、代表位置PPa,PPb,PPc,PPd,PPeの位置関係を第1規則にしたがって比較することにより決定される。 The representative positions PPa, PPb, PPe are the upper left coordinates of the FBD parts (H), (I), (G), respectively. The representative position PPc is the upper left coordinate of the FBD part (D) that is the highest in the first rule among the six FBD parts included in the processing group (c). The representative position PPd is the upper left coordinate of the FBD part (J) that is higher in the first rule among the two FBD parts included in the processing group (d). The execution order of the processing groups (a) to (e) is determined by comparing the positional relationship of the representative positions PPa, PPb, PPc, PPd, PPe according to the first rule.
 図4は、FBD部品の実行順序を決定した例を示す図である。処理グループの実行順序は、代表位置PPa,PPb,PPc,PPd,PPeの位置関係を第1規則にしたがって比較することで、(a),(b),(d),(c),(e)と決定される。 FIG. 4 is a diagram illustrating an example in which the execution order of the FBD parts is determined. The execution order of the processing groups is as follows: (a), (b), (d), (c), (e) by comparing the positional relationship of the representative positions PPa, PPb, PPc, PPd, PPe according to the first rule. ) Is determined.
 複数のFBD部品を含む処理グループにおいて、あるFBD部品へ入力を行うFBD部品が存在する場合は、かかる入力の接続ルートにおける上流のFBD部品から、実行順序が確定されるものとする。かかる接続情報に応じた順位規則を、第2規則とする。 In a processing group including a plurality of FBD parts, if there is an FBD part that inputs to a certain FBD part, the execution order is determined from the upstream FBD part in the connection route of the input. The ranking rule corresponding to the connection information is set as the second rule.
 例えば、処理グループ(c)の代表とされたFBD部品(D)の入力側には、FBD部品(C)が接続されている。FBD部品(C)の入力側には、さらにFBD部品(A)が接続されている。これらのFBD部品の間では、実行順序は、第2規則にしたがって、FBD部品(A),(C),(D)の順となる。 For example, the FBD component (C) is connected to the input side of the FBD component (D) that is representative of the processing group (c). The FBD component (A) is further connected to the input side of the FBD component (C). Among these FBD parts, the execution order is the order of FBD parts (A), (C), and (D) according to the second rule.
 FBD部品(E)の入力側には、FBD部品(C),FBD部品(B)が接続されている。FBD部品(C)およびFBD部品(B)は、第2規則にしたがって、FBD部品(E)より上位となる。FBD部品(C)とFBD部品(B)の間では、第1規則にしたがって、FBD部品(C)が上位となる。これらのFBD部品の間では、実行順序は、FBD部品(C),(B),(E)の順となる。 The FBD part (C) and the FBD part (B) are connected to the input side of the FBD part (E). The FBD part (C) and the FBD part (B) are higher than the FBD part (E) according to the second rule. Between the FBD part (C) and the FBD part (B), the FBD part (C) is ranked higher in accordance with the first rule. Among these FBD parts, the execution order is the order of FBD parts (C), (B), and (E).
 FBD部品(E)とFBD部品(F)の間では、第1規則および第2規則のいずれにおいても、FBD部品(E)が上位となる。これにより、処理グループ(c)内の各FBD部品の実行順序は、FBD部品(A),(C),(D),(B),(E),(F)の順となる。 Between the FBD part (E) and the FBD part (F), the FBD part (E) is higher in both the first rule and the second rule. As a result, the execution order of the FBD parts in the processing group (c) is the order of the FBD parts (A), (C), (D), (B), (E), and (F).
 処理グループ(d)のFBD部品(J)とFBD部品(K)との間では、第1規則にしたがって、FBD部品(J)が上位となる。第1規則にしたがって順位の高い処理グループから処理が開始され、処理グループ内の全てのFBD部品の処理が完了すると、次に順位の高い処理グループの処理が開始される。これにより、図4に示すように、各処理グループ(a)~(e)のFBD部品(A~K)の実行順序が決定される。 Between the FBD part (J) and the FBD part (K) in the processing group (d), the FBD part (J) is ranked higher in accordance with the first rule. In accordance with the first rule, the processing is started from the processing group with the highest order, and when the processing of all the FBD parts in the processing group is completed, the processing of the processing group with the next highest order is started. As a result, as shown in FIG. 4, the execution order of the FBD parts (A to K) of the processing groups (a) to (e) is determined.
 図5は、FBD部品の実行順序が同一となる位置範囲の抽出についての詳細な手順を示すフローチャートである。部品情報管理部12は、指定されたFBD部品の配置を変更した場合に、実行順序に影響の及ぶFBD部品を抽出する(ステップS11)。FBDプログラムでは、FBD部品の実行順序にしたがって処理が実行される。FBDプログラムによるプロセスは、FBDブロックの実行順序によって制御されることとなる。ステップS11について、実行順序に影響の及ぶ状況とは、FBDプログラムの実行によるプロセスの制御内容を変化させることがある状況を指すものとする。 FIG. 5 is a flowchart showing a detailed procedure for extracting a position range in which the execution order of the FBD parts is the same. When the arrangement of the designated FBD part is changed, the part information management unit 12 extracts an FBD part that affects the execution order (step S11). In the FBD program, processing is executed in accordance with the execution order of the FBD parts. The process by the FBD program is controlled by the execution order of the FBD blocks. Regarding step S11, the situation that affects the execution order refers to a situation in which the control content of the process by the execution of the FBD program may be changed.
 例えば、部品情報管理部12は、プログラム編集部11での編集において描画された全てのオブジェクトのデータを保持しているものとする。部品情報管理部12は、図2に示すステップS1で選択されたFBD部品から、接続情報を辿ることにより、当該FBD部品に接続されているFBD部品を探索する。これにより、部品情報管理部12は、選択されたFBD部品の所属する処理グループ内のFBD部品を特定する。さらに、部品情報管理部12は、選択されたFBD部品の移動によって実行順序に影響のあるFBD部品を抽出する。 For example, it is assumed that the part information management unit 12 holds data of all objects drawn in editing by the program editing unit 11. The component information management unit 12 searches for an FBD component connected to the FBD component by tracing the connection information from the FBD component selected in step S1 shown in FIG. Thereby, the component information management unit 12 specifies the FBD component in the processing group to which the selected FBD component belongs. Furthermore, the component information management unit 12 extracts FBD components that have an influence on the execution order due to the movement of the selected FBD component.
 ここで、ステップS11におけるFBD部品の抽出について、図6を参照して説明する。図6は、FBDプログラムの図形データの例を示す図である。図6に示す図形データは、例えば、プログラミングツール10を構成するコンピュータが備えるディスプレイに表示される。 Here, the extraction of the FBD part in step S11 will be described with reference to FIG. FIG. 6 is a diagram showing an example of graphic data of the FBD program. The graphic data shown in FIG. 6 is displayed on, for example, a display included in a computer constituting the programming tool 10.
 FBD部品401,402,403は、処理グループ410に所属している。FBD部品404,405,406,407は、処理グループ411に所属している。FBD部品408,409は、処理グループ412に所属している。例えば、FBD部品405が、ステップS1において指定されたFBD部品であるものとする。 The FBD parts 401, 402, and 403 belong to the processing group 410. The FBD parts 404, 405, 406, and 407 belong to the processing group 411. The FBD parts 408 and 409 belong to the processing group 412. For example, it is assumed that the FBD component 405 is the FBD component designated in step S1.
 FBD部品405の入力端子INは、FBD部品404の出力端子OUT1に接続されている。FBD部品406の入力端子INは、FBD部品404の出力端子OUT2に接続されている。第2規則によると、FBD部品405およびFBD部品406の実行順序を確定するには、FBD部品404の実行順序が確定していることを要する。 The input terminal IN of the FBD component 405 is connected to the output terminal OUT1 of the FBD component 404. The input terminal IN of the FBD component 406 is connected to the output terminal OUT2 of the FBD component 404. According to the second rule, in order to determine the execution order of the FBD component 405 and the FBD component 406, it is necessary that the execution order of the FBD component 404 is fixed.
 FBD部品404の実行順序が確定すると、部品情報管理部12は、FBD部品405の左上座標と、FBD部品406の左上座標とを比較し、第1規則に応じてFBD部品405の実行順序が確定する。次に、FBD部品406の実行順序が確定する。 When the execution order of the FBD parts 404 is determined, the part information management unit 12 compares the upper left coordinates of the FBD parts 405 with the upper left coordinates of the FBD parts 406, and determines the execution order of the FBD parts 405 according to the first rule. To do. Next, the execution order of the FBD parts 406 is determined.
 FBD部品405の出力端子OUTは、FBD部品407の入力端子IN1に接続されている。FBD部品406の出力端子OUTは、FBD部品407の入力端子IN2に接続されている。第2規則によると、FBD部品405およびFBD部品406の実行順序が確定することで、FBD部品407の実行順序が確定する。 The output terminal OUT of the FBD component 405 is connected to the input terminal IN1 of the FBD component 407. The output terminal OUT of the FBD component 406 is connected to the input terminal IN2 of the FBD component 407. According to the second rule, the execution order of the FBD component 407 is determined by determining the execution order of the FBD component 405 and the FBD component 406.
 処理グループ411内部における実行順序の決定において、FBD部品404およびFBD部品407は、位置情報に関係なく、接続情報のみによって実行順序が確定する。これに対して、FBD部品405およびFBD部品406は、位置情報および接続情報の双方によって実行順序が確定する。 In the determination of the execution order within the processing group 411, the execution order of the FBD component 404 and the FBD component 407 is determined only by the connection information regardless of the position information. On the other hand, the execution order of the FBD component 405 and the FBD component 406 is determined by both the position information and the connection information.
 部品情報管理部12は、このように、位置情報および接続情報の双方が実行順序の確定に関係することとなるFBD部品を、ステップS11において抽出する。部品情報管理部12は、FBD部品405の配置を変更した場合に、実行順序に影響の及ぶFBD部品として、FBD部品406を抽出する。 In this way, the part information management unit 12 extracts the FBD parts in which both the position information and the connection information are related to the determination of the execution order in step S11. When the arrangement of the FBD component 405 is changed, the component information management unit 12 extracts the FBD component 406 as an FBD component that affects the execution order.
 次に、部品情報管理部12は、処理グループ単位の位置情報を決定するFBD部品を、各処理グループから抽出する(ステップS12)。処理グループ単位の位置情報を決定するFBD部品とは、処理グループに含まれるFBD部品のうち、処理グループを代表するFBD部品とする。処理グループ単位の位置情報を決定するFBD部品は、第1規則にしたがって決定される。 Next, the parts information management unit 12 extracts the FBD parts that determine the position information for each processing group from each processing group (step S12). The FBD component that determines the position information for each processing group is an FBD component that represents the processing group among the FBD components included in the processing group. The FBD component that determines the position information for each processing group is determined according to the first rule.
 かかるFBD部品の抽出は、ステップS1においてFBD部品が選択された処理グループ以外の処理グループを対象とする。図6に示す例では、FBD部品405が含まれる処理グループ411以外の処理グループ410,412が、ステップS12における抽出の対象となる。処理グループ410からは、部品情報管理部12は、FBD部品401を抽出する。処理グループ412からは、部品情報管理部12は、FBD部品408を抽出する。 The extraction of the FBD part is targeted for a processing group other than the processing group in which the FBD part is selected in step S1. In the example illustrated in FIG. 6, the processing groups 410 and 412 other than the processing group 411 including the FBD component 405 are the extraction targets in step S <b> 12. From the processing group 410, the component information management unit 12 extracts the FBD component 401. The component information management unit 12 extracts the FBD component 408 from the processing group 412.
 次に、部品情報管理部12は、ステップS11およびS12で抽出した各FBD部品の位置情報を抽出する(ステップS13)。部品情報管理部12は、ステップS11で抽出したFBD部品406の左上座標を、FBD部品406の位置情報として抽出する。部品情報管理部12は、ステップS12で抽出したFBD部品401の左上座標を、FBD部品401の位置情報として抽出する。部品情報管理部12は、ステップS12で抽出したFBD部品408の左上座標を、FBD部品408の位置情報として抽出する。 Next, the parts information management unit 12 extracts the position information of each FBD part extracted in steps S11 and S12 (step S13). The component information management unit 12 extracts the upper left coordinate of the FBD component 406 extracted in step S <b> 11 as position information of the FBD component 406. The component information management unit 12 extracts the upper left coordinates of the FBD component 401 extracted in step S <b> 12 as position information of the FBD component 401. The component information management unit 12 extracts the upper left coordinate of the FBD component 408 extracted in step S <b> 12 as position information of the FBD component 408.
 次に、部品情報管理部12は、ステップS1で選択されたFBD部品を移動させても実行順序が同一となる位置範囲を抽出する(ステップS14)。部品情報管理部12は、ステップS13で抽出した位置情報と、ステップS1において選択されたFBD部品の位置情報とを基に、FBD部品を移動させても実行順序が同一となる範囲を抽出する。 Next, the part information management unit 12 extracts a position range in which the execution order is the same even if the FBD part selected in step S1 is moved (step S14). Based on the position information extracted in step S13 and the position information of the FBD part selected in step S1, the part information management unit 12 extracts a range in which the execution order is the same even if the FBD part is moved.
 図6に示す例では、FBD部品405が位置範囲420内にて移動した場合、各処理グループ410,411,412の各FBD部品の実行順序は、FBD部品405の移動前および移動後において不変となる。FBD部品405が位置範囲420の外へ移動した場合、各処理グループ410,411,412の各FBD部品の実行順序は、FBD部品405の移動前から移動後において変化することとなる。 In the example illustrated in FIG. 6, when the FBD component 405 moves within the position range 420, the execution order of each FBD component in each processing group 410, 411, 412 is unchanged before and after the movement of the FBD component 405. Become. When the FBD component 405 moves out of the position range 420, the execution order of the FBD components in the processing groups 410, 411, and 412 changes before and after the movement of the FBD component 405.
 位置範囲420は、第1規則において、FBD部品401の左上座標より下位、かつFBD部品406の左上座標より上位である位置範囲である。部品情報管理部12は、FBD部品401,406,408について抽出された各位置情報と、FBD部品405の位置情報とを基に、位置範囲420を抽出する。本実施の形態では、位置範囲420は、FBD部品を移動させても実行順序が同一となる範囲をY軸方向において制限するものとして設定されている。各FBD部品が配置されている態様などに応じて、位置範囲420は、実行順序が同一となる範囲を、Y軸方向およびX軸方向の双方において制限することとしても良い。 The position range 420 is a position range that is lower than the upper left coordinate of the FBD part 401 and higher than the upper left coordinate of the FBD part 406 in the first rule. The part information management unit 12 extracts the position range 420 based on the position information extracted for the FBD parts 401, 406, and 408 and the position information of the FBD part 405. In the present embodiment, the position range 420 is set to limit the range in which the execution order is the same even if the FBD component is moved in the Y-axis direction. The position range 420 may limit the range in which the execution order is the same in both the Y-axis direction and the X-axis direction according to the manner in which each FBD component is arranged.
 部品情報管理部12は、例えば、トポロジカルソートを利用して、FBD部品の位置情報から、実行順序が同一となる位置範囲を算出する。なお、部品情報管理部12は、FBD部品を移動させても実行順序が同一となる範囲を、いずれのアルゴリズムによって求めることとしても良い。 The part information management unit 12 calculates a position range in which the execution order is the same from the position information of the FBD parts using, for example, topological sort. Note that the component information management unit 12 may obtain a range in which the execution order is the same even if the FBD component is moved by any algorithm.
 図2に戻って、ユーザは、ステップS1で指定したFBD部品を、プログラム編集部11にて移動させる(ステップS2)。部品情報管理部12は、移動後のFBD部品の位置情報をプログラム編集部11から取得する。 Referring back to FIG. 2, the user moves the FBD part specified in step S1 by the program editing unit 11 (step S2). The component information management unit 12 acquires the position information of the moved FBD component from the program editing unit 11.
 再コンパイル要否判定部14は、ステップS2において配置が変更されたFBD部品の位置情報と、ステップS10で抽出した位置範囲とを、部品情報管理部12から取得する。再コンパイル要否判定部14は、配置が変更されたFBD部品の位置情報と、実行順序が同一となる位置範囲とを比較する(ステップS3)。 The recompile necessity determination unit 14 acquires the position information of the FBD part whose arrangement has been changed in step S2 and the position range extracted in step S10 from the part information management unit 12. The recompilation necessity determination unit 14 compares the position information of the FBD component whose arrangement has been changed with the position range in which the execution order is the same (step S3).
 再コンパイル要否判定部14は、配置が変更されたFBD部品の位置情報が、実行順序が同一となる位置範囲に含まれるか否かを判断する(ステップS4)。図6に示す例では、再コンパイル要否判定部14は、移動後におけるFBD部品405の左上座標が、位置範囲420に含まれるか否かを判断する。 The recompilation necessity determination unit 14 determines whether or not the position information of the FBD part whose arrangement has been changed is included in a position range in which the execution order is the same (step S4). In the example illustrated in FIG. 6, the recompilation necessity determination unit 14 determines whether or not the upper left coordinate of the FBD component 405 after movement is included in the position range 420.
 配置が変更されたFBD部品の位置情報が、実行順序が同一となる位置範囲に含まれる場合(ステップS4、Yes)、再コンパイル要否判定部14は、ステップS2によるFBD部品の配置変更に伴う再コンパイルは不要と判定する。 When the position information of the FBD part whose arrangement has been changed is included in the position range where the execution order is the same (Yes in step S4), the recompile necessity determination unit 14 accompanies the change in the arrangement of the FBD part in step S2. It is determined that recompilation is unnecessary.
 図6に示す例では、再コンパイル要否判定部14は、ステップS1で指定されたFBD部品405の配置変更後の位置情報が、部品情報管理部12で抽出された位置範囲420に含まれる場合、再コンパイルの実施が不要と判定する。再コンパイルが不要との判定に応じて、プログラム編集部11は、FBDプログラムのコンパイル済みの状態を維持する(ステップS5)。 In the example illustrated in FIG. 6, the recompilation necessity determination unit 14 includes the position information after the placement change of the FBD component 405 specified in step S <b> 1 included in the position range 420 extracted by the component information management unit 12. It is determined that re-compilation is not necessary. In response to determining that recompilation is unnecessary, the program editing unit 11 maintains the compiled state of the FBD program (step S5).
 一方、配置が変更されたFBD部品の位置情報が、実行順序が同一となる位置範囲に含まれない場合(ステップS4、No)、再コンパイル要否判定部14は、ステップS2によるFBD部品の配置変更に伴う再コンパイルは必要と判定する。 On the other hand, when the position information of the FBD part whose arrangement has been changed is not included in the position range in which the execution order is the same (No in step S4), the recompile necessity determination unit 14 determines the arrangement of the FBD part in step S2. It is determined that recompilation due to the change is necessary.
 図6に示す例では、再コンパイル要否判定部14は、ステップS1で指定されたFBD部品405の配置変更後の位置情報が、部品情報管理部12で抽出された位置範囲420に含まれない場合、再コンパイルの実施が必要と判定する。再コンパイルが必要との判定に応じて、プログラム編集部11は、FBDプログラムを未コンパイル状態へと変化させる(ステップS6)。これにより、プログラミングツール10は、FBD部品の配置変更における一連の処理を終了する。 In the example illustrated in FIG. 6, the recompilation necessity determination unit 14 does not include the position information after the placement change of the FBD component 405 specified in step S <b> 1 in the position range 420 extracted by the component information management unit 12. If it is determined that re-compilation is necessary. In response to the determination that recompilation is necessary, the program editing unit 11 changes the FBD program to an uncompiled state (step S6). Thereby, the programming tool 10 ends a series of processes in changing the arrangement of the FBD parts.
 本発明のプログラミングツール10は、FBD言語により記述されたプログラムにおいて、FBD部品の配置変更によって処理の実行順序が変わるか否かを、FBD部品の位置情報から判定する。プログラミングツール10は、FBD部品の配置を変更する場合であっても、配置変更の前後で各FBD部品の実行順序が同一であれば、FBDプログラムのコンパイル済みの状態を維持する。プログラミングツール10は、FBD部品の配置変更があるたびにFBDプログラムを常に未コンパイル状態へ変化させる場合に比べて、再コンパイル、およびPC書込の実施による手間を軽減できる。 The programming tool 10 of the present invention determines from the position information of the FBD parts whether or not the execution order of the processing is changed by changing the arrangement of the FBD parts in the program written in the FBD language. Even when the arrangement of the FBD parts is changed, the programming tool 10 maintains the compiled state of the FBD program if the execution order of the FBD parts is the same before and after the arrangement change. The programming tool 10 can reduce the trouble of performing recompilation and PC writing as compared with the case where the FBD program is always changed to an uncompiled state every time there is a change in the arrangement of the FBD parts.
 従来はFBDプログラムの比較にはコンパイル相当の処理が必要であったのに対し、本発明では、FBD部品の移動時に、FBD部品の位置情報および接続情報から実行順序を決定し、実行順序の比較によってFBDプログラムを比較可能とする。本発明によると、FBDプログラムの比較におけるコンパイル相当の処理を不要とすることで、FBD部品の配置の変更における作業負担を軽減することができる。これにより、プログラミングツール10は、FBD部品の配置の変更によるプログラム編集の作業負担を軽減できるという効果を奏する。 Conventionally, the comparison of the FBD program requires a process equivalent to compilation. In the present invention, when the FBD part is moved, the execution order is determined from the position information and the connection information of the FBD part, and the execution order is compared. Makes the FBD program comparable. According to the present invention, it is possible to reduce the work burden in changing the arrangement of FBD parts by eliminating the processing equivalent to compilation in comparison of FBD programs. Thereby, the programming tool 10 has the effect that the work burden of the program editing by the change of arrangement | positioning of FBD components can be reduced.
 プログラミングツール10は、再コンパイルの要否判定において、接続情報および位置情報から実行順序を抽出する処理と、実行順序を比較する処理とによって、プログラムの比較を実現する。プログラミングツール10は、機械語への変換等を要する従来技術による比較方法に比べて、プログラムの比較のための工程および処理を少なくできる。これにより、プログラミングツール10は、プログラムの変更前後における比較処理を高速化することができる。ユーザは、プログラミングツール10によって、再コンパイルの要否判定を容易に実施することができる。 The programming tool 10 realizes the comparison of the programs by the process of extracting the execution order from the connection information and the position information and the process of comparing the execution order in determining whether recompilation is necessary. The programming tool 10 can reduce the number of steps and processes for comparing programs as compared with the comparison method according to the prior art that requires conversion into machine language. Thereby, the programming tool 10 can speed up the comparison process before and after the change of the program. The user can easily determine whether or not recompilation is necessary by using the programming tool 10.
 ユーザは、例えば、制御プログラムのコンパイルおよびPC書込により機器の動作を確認してからプログラムのドキュメントが必要となったときに、制御プログラムの体裁を整えることがある。ユーザは、制御プログラムの体裁を整える際に、FBD部品の配置を変更するときの作業負担を大幅に軽減させることができる。 The user may arrange the appearance of the control program when the document of the program becomes necessary after confirming the operation of the device by compiling the control program and writing to the PC, for example. When the user arranges the appearance of the control program, the user can greatly reduce the work load when changing the arrangement of the FBD parts.
実施の形態2.
 図7は、本発明の実施の形態2にかかるプログラミングツールの処理手順を説明するフローチャートである。実施の形態1と同一の部分には同一の符号を付し、重複する説明を適宜省略する。
Embodiment 2. FIG.
FIG. 7 is a flowchart for explaining the processing procedure of the programming tool according to the second embodiment of the present invention. The same parts as those in the first embodiment are denoted by the same reference numerals, and repeated description will be omitted as appropriate.
 実施の形態2にかかるプログラミングツールは、実施の形態1にかかるプログラミングツール10(図1参照)と同様の構成を備える。さらに、実施の形態2では、部品情報管理部12は、指定されたFBD部品の位置を変更させても実行順序が同一となる位置範囲をユーザに報知するための出力処理を実施する。 The programming tool according to the second embodiment has the same configuration as the programming tool 10 according to the first embodiment (see FIG. 1). Furthermore, in the second embodiment, the part information management unit 12 performs an output process for notifying the user of a position range in which the execution order is the same even if the position of the designated FBD part is changed.
 FBD部品を用いて作成されたFBDプログラムについて、ユーザは、プログラム編集部11に配置されているFBD部品から、配置を変更するFBD部品を選択する(ステップS21)。ユーザは、配置を変更させるFBD部品をプログラム編集部11において指定する。 For the FBD program created using the FBD part, the user selects the FBD part whose arrangement is to be changed from the FBD parts arranged in the program editing unit 11 (step S21). The user designates an FBD part whose arrangement is to be changed in the program editing unit 11.
 ステップS21での選択を受けて、部品情報管理部12は、プログラム編集部11で指定されたFBD部品の位置を変更させても、FBD部品の実行順序が同一となる位置範囲を抽出する(ステップS22)。ステップS22は、実施の形態1のステップS10(図2参照)と同様とする。ステップS22の詳細は、図3に示すステップS10の詳細と同様とする。 In response to the selection in step S21, the parts information management unit 12 extracts a position range in which the execution order of the FBD parts is the same even if the position of the FBD parts specified by the program editing unit 11 is changed (step S21). S22). Step S22 is the same as step S10 (see FIG. 2) of the first embodiment. The details of step S22 are the same as the details of step S10 shown in FIG.
 部品情報管理部12は、ステップS22で抽出された位置範囲をディスプレイに表示するための出力処理を実施する。プログラミングツール10は、FBD部品の実行順序が同一となる位置範囲をディスプレイにて表示する(ステップS23)。 The component information management unit 12 performs an output process for displaying the position range extracted in step S22 on the display. The programming tool 10 displays the position range where the execution order of the FBD parts is the same on the display (step S23).
 図8は、FBD部品の実行順序が同一となる位置範囲を表示する例を示す図である。プログラミングツール10は、FBDプログラムの図形データを表示する画面において、ステップS22で抽出した位置範囲420とそれ以外の位置範囲とを色分けする。また、プログラミングツール10は、ステップS22で抽出した位置範囲420と、それ以外の位置範囲との境界線を表示する。プログラミングツール10は、ディスプレイでの表示によって、FBD部品の実行順序が同一となる位置範囲をユーザに報知する。 FIG. 8 is a diagram illustrating an example of displaying a position range in which the execution order of the FBD parts is the same. The programming tool 10 color-codes the position range 420 extracted in step S22 and the other position ranges on the screen that displays the graphic data of the FBD program. Further, the programming tool 10 displays a boundary line between the position range 420 extracted in step S22 and the other position ranges. The programming tool 10 notifies the user of a position range in which the execution order of the FBD parts is the same by the display on the display.
 ユーザは、ステップS21で指定したFBD部品を、プログラム編集部11にて移動させる(ステップS24)。ユーザは、FBD部品の実行順序が同一となる位置範囲を表示を見て認識した上で、FBD部品を移動させることができる。 The user moves the FBD part specified in step S21 in the program editing unit 11 (step S24). The user can move the FBD part after recognizing the position range in which the execution order of the FBD parts is the same by looking at the display.
 なお、プログラミングツール10は、FBD部品の実行順序が同一となる位置範囲420を、色分けおよび境界線のいずれか一方によって表示することとしても良い。プログラミングツール10は、いずれの態様によって位置範囲420を示すこととしても良い。 Note that the programming tool 10 may display the position range 420 in which the execution order of the FBD parts is the same by either one of the color coding and the boundary line. The programming tool 10 may indicate the position range 420 in any manner.
 再コンパイル要否判定部14は、ステップS24において配置が変更されたFBD部品の位置情報と、ステップS22で抽出した位置範囲とを、部品情報管理部12から取得する。再コンパイル要否判定部14は、配置が変更されたFBD部品の位置情報と、実行順序が同一となる位置範囲とを比較する(ステップS25)。再コンパイル要否判定部14は、配置が変更されたFBD部品の位置情報が、実行順序が同一となる位置範囲に含まれるか否かを判断する(ステップS26)。 The recompile necessity determination unit 14 acquires the position information of the FBD part whose arrangement has been changed in step S24 and the position range extracted in step S22 from the part information management unit 12. The recompilation necessity determination unit 14 compares the position information of the FBD part whose arrangement has been changed with the position range in which the execution order is the same (step S25). The recompilation necessity determination unit 14 determines whether the position information of the FBD part whose arrangement has been changed is included in a position range in which the execution order is the same (step S26).
 配置が変更されたFBD部品の位置情報が、実行順序が同一となる位置範囲に含まれる場合(ステップS26、Yes)、再コンパイル要否判定部14は、ステップS24によるFBD部品の配置変更に伴う再コンパイルは不要と判定する。再コンパイルが不要との判定に応じて、プログラム編集部11は、FBDプログラムのコンパイル済みの状態を維持する(ステップS27)。 When the position information of the FBD part whose arrangement has been changed is included in the position range in which the execution order is the same (Yes in step S26), the recompilation necessity determination unit 14 accompanies the change in the arrangement of the FBD part in step S24. It is determined that recompilation is unnecessary. In response to determining that recompilation is not necessary, the program editing unit 11 maintains the compiled state of the FBD program (step S27).
 一方、配置が変更されたFBD部品の位置情報が、実行順序が同一となる位置範囲に含まれない場合(ステップS26、No)、再コンパイル要否判定部14は、ステップS24によるFBD部品の配置変更に伴う再コンパイルは必要と判定する。再コンパイルが必要との判定に応じて、プログラム編集部11は、FBDプログラムを未コンパイル状態へと変化させる(ステップS28)。 On the other hand, when the position information of the FBD part whose arrangement has been changed is not included in the position range in which the execution order is the same (No in step S26), the recompile necessity determination unit 14 arranges the FBD part in step S24. It is determined that recompilation due to the change is necessary. In response to the determination that recompilation is necessary, the program editing unit 11 changes the FBD program to an uncompiled state (step S28).
 実施の形態2によると、ユーザは、配置を変更するFBD部品を選択したときに、当該FBD部品を移動させた場合に再コンパイルが必要となる位置範囲と、再コンパイルが不要となる位置範囲とを明確に把握した上で、FBDプログラムの編集を実施することができる。例えば、ユーザは、なるべく再コンパイルが不要となるような配置変更を選択することで、制御プログラムの体裁を整えるときの作業負担をさらに軽減させることが可能となる。 According to the second embodiment, when the user selects an FBD part whose arrangement is to be changed, a position range that requires recompilation when the FBD part is moved, and a position range that does not require recompilation. The FBD program can be edited after clearly grasping the above. For example, the user can further reduce the work load when adjusting the appearance of the control program by selecting an arrangement change that makes recompilation unnecessary.
 プログラミングツール10は、FBD部品の実行順序が同一となる位置範囲をユーザに報知するために、いずれの手段を使用しても良い。部品情報管理部12は、位置範囲を報知するための手段に応じた出力処理を実施可能であるものとする。ステップS24において、プログラミングツール10は、配置が変更されたFBD部品の位置情報が、実行順序が同一となる位置範囲に含まれないことを、例えば、ディスプレイにおけるダイアログの表示、警報音の出力などの手段によって報知しても良い。 The programming tool 10 may use any means to notify the user of the position range in which the execution order of the FBD parts is the same. It is assumed that the component information management unit 12 can perform output processing according to a means for notifying the position range. In step S24, the programming tool 10 confirms that the position information of the FBD part whose arrangement has been changed is not included in the position range in which the execution order is the same, such as displaying a dialog on the display, outputting an alarm sound, etc. You may alert | report by a means.
 プログラミングツール10は、FBD部品の実行順序が同一となる位置範囲を報知するか否かを、ユーザが任意に切り換え可能であるものとしても良い。ユーザは、再コンパイルが不要となる位置範囲の把握を望むか否かに応じて、報知の有無を任意に選択することができる。 The programming tool 10 may be configured so that the user can arbitrarily switch whether or not to notify the position range in which the execution order of the FBD parts is the same. The user can arbitrarily select presence / absence of notification according to whether or not the user wants to grasp the position range where recompilation is unnecessary.
実施の形態3.
 図9は、本発明の実施の形態3にかかるプログラミングツールの処理手順を説明するフローチャートである。実施の形態1と同一の部分には同一の符号を付し、重複する説明を適宜省略する。
Embodiment 3 FIG.
FIG. 9 is a flowchart for explaining the processing procedure of the programming tool according to the third embodiment of the present invention. The same parts as those in the first embodiment are denoted by the same reference numerals, and repeated description will be omitted as appropriate.
 実施の形態3にかかるプログラミングツールは、実施の形態1にかかるプログラミングツール10(図1参照)と同様の構成を備える。さらに、実施の形態3では、プログラム編集部11は、指定されたFBD部品の位置を変更させても実行順序が同一となる位置範囲の外への、当該FBD部品の移動を制限する。 The programming tool according to the third embodiment has the same configuration as the programming tool 10 according to the first embodiment (see FIG. 1). Furthermore, in the third embodiment, the program editing unit 11 restricts the movement of the FBD part outside the position range in which the execution order is the same even if the position of the designated FBD part is changed.
 FBD部品を用いて作成されたFBDプログラムについて、ユーザは、プログラム編集部11に配置されているFBD部品から、配置を変更するFBD部品を選択する(ステップS31)。ユーザは、配置を変更させるFBD部品をプログラム編集部11において指定する。 For the FBD program created using the FBD part, the user selects the FBD part whose arrangement is to be changed from the FBD parts arranged in the program editing unit 11 (step S31). The user designates an FBD part whose arrangement is to be changed in the program editing unit 11.
 ステップS31での選択を受けて、部品情報管理部12は、プログラム編集部11で指定されたFBD部品の位置を変更させても、FBD部品の実行順序が同一となる位置範囲を抽出する(ステップS32)。ステップS32は、実施の形態1のステップS10(図2参照)と同様とする。ステップS32の詳細は、図3に示すステップS10の詳細と同様とする。ユーザは、ステップS31で指定したFBD部品を、プログラム編集部11にて移動させる(ステップS33)。 In response to the selection in step S31, the part information management unit 12 extracts a position range in which the execution order of the FBD parts is the same even if the position of the FBD part specified by the program editing part 11 is changed (step S31). S32). Step S32 is the same as step S10 (see FIG. 2) of the first embodiment. The details of step S32 are the same as the details of step S10 shown in FIG. The user moves the FBD part specified in step S31 in the program editing unit 11 (step S33).
 FBD部品の実行順序が同一となる位置範囲が設定されると、プログラム編集部11は、当該FBD部品について、設定された位置範囲の外への移動制限を設定する。 When the position range in which the execution order of the FBD parts is the same is set, the program editing unit 11 sets the movement restriction outside the set position range for the FBD part.
 再コンパイル要否判定部14は、ステップS33において配置が変更されたFBD部品の位置情報と、ステップS32で抽出した位置範囲とを、部品情報管理部12から取得する。再コンパイル要否判定部14は、配置が変更されたFBD部品の位置情報と、実行順序が同一となる位置範囲とを比較する(ステップS34)。再コンパイル要否判定部14は、配置が変更されたFBD部品の位置情報が、実行順序が同一となる位置範囲に含まれるか否かを判断する(ステップS35)。 The recompilation necessity determination unit 14 acquires the position information of the FBD part whose arrangement has been changed in step S33 and the position range extracted in step S32 from the part information management unit 12. The recompilation necessity determination unit 14 compares the position information of the FBD component whose arrangement has been changed with the position range in which the execution order is the same (step S34). The recompilation necessity determination unit 14 determines whether or not the position information of the FBD component whose arrangement has been changed is included in the position range in which the execution order is the same (step S35).
 配置が変更されたFBD部品の位置情報が、実行順序が同一となる位置範囲に含まれる場合(ステップS35、Yes)、プログラム編集部11は、ステップS33における移動を許可する。再コンパイル要否判定部14は、ステップS33によるFBD部品の配置変更に伴う再コンパイルは不要と判定する。再コンパイルが不要との判定に応じて、プログラム編集部11は、FBDプログラムのコンパイル済みの状態を維持する(ステップS36)。 When the position information of the FBD part whose arrangement has been changed is included in the position range in which the execution order is the same (step S35, Yes), the program editing unit 11 permits the movement in step S33. The recompilation necessity determination unit 14 determines that recompilation accompanying the change in the arrangement of the FBD part in step S33 is unnecessary. In response to determining that recompilation is unnecessary, the program editing unit 11 maintains the compiled state of the FBD program (step S36).
 一方、配置が変更されたFBD部品の位置情報が、実行順序が同一となる位置範囲に含まれない場合(ステップS35、No)、プログラム編集部11は、ステップS31で選択されたFBD部品の移動を制限する(ステップS37)。 On the other hand, when the position information of the FBD part whose arrangement has been changed is not included in the position range in which the execution order is the same (step S35, No), the program editing unit 11 moves the FBD part selected in step S31. (Step S37).
 図10は、設定された位置範囲の外へのFBD部品の移動の制限について説明する図である。図10では、図6や図8に示す処理グループ410,411,412の図示を省略している。例えば、プログラム編集部11は、FBD部品405について、ステップS32での抽出によって設定された位置範囲420の外への移動を制限する。 FIG. 10 is a diagram for explaining the restriction on the movement of the FBD component outside the set position range. In FIG. 10, the processing groups 410, 411, and 412 shown in FIGS. 6 and 8 are not shown. For example, the program editing unit 11 restricts the FBD component 405 from moving outside the position range 420 set by the extraction in step S32.
 プログラム編集部11は、FBD部品405の図形が位置範囲420の外へドラッグされている間、FBD部品405のドロップの完了を阻止する。このようにして、プログラム編集部11は、位置範囲420の外へのFBD部品405の移動を拒否する。 The program editing unit 11 prevents the drop of the FBD part 405 from being completed while the figure of the FBD part 405 is being dragged out of the position range 420. In this way, the program editing unit 11 rejects the movement of the FBD component 405 outside the position range 420.
 例えば、ステップS33において、ユーザが、FBD部品405について、位置範囲420の外の位置430へのドラッグを試みたとする。プログラム編集部11は、位置430へのFBD部品405のドロップを完了させず、FBD部品405を元の位置へ戻す。 For example, it is assumed that the user tries to drag the FBD part 405 to the position 430 outside the position range 420 in step S33. The program editing unit 11 returns the FBD part 405 to the original position without completing the dropping of the FBD part 405 to the position 430.
 プログラム編集部11は、実行順序が同一となる位置範囲の外へのFBD部品の移動を制限することで、ステップS33で移動が試みられたFBD部品を、実行順序が同一となる位置範囲内に留めさせる。これにより、プログラム編集部11は、FBDプログラムのコンパイル済みの状態を維持する(ステップS36)。なお、プログラミングツール10は、実行順序が同一となる位置範囲の外へのFBD部品の移動を、ドロップの完了を阻止する以外のいずれの方法によって制限することとしても良い。 The program editing unit 11 restricts the movement of the FBD part to the outside of the position range where the execution order is the same, so that the FBD part attempted to move in step S33 is within the position range where the execution order is the same. Let it stop. Thereby, the program editing part 11 maintains the compiled state of the FBD program (step S36). Note that the programming tool 10 may limit the movement of the FBD component outside the position range in which the execution order is the same by any method other than preventing the completion of the drop.
 実施の形態3によると、プログラミングツール10は、再コンパイルが必要となるFBD部品の配置変更を確実に制限することができる。これにより、ユーザは、再コンパイルが必要となる配置変更を排除することで、制御プログラムの体裁を整えるときの作業負担を抑制させることができる。 According to the third embodiment, the programming tool 10 can reliably limit the change in the arrangement of the FBD parts that needs to be recompiled. Thereby, the user can suppress the work burden when arranging the appearance of the control program by eliminating the arrangement change that requires recompilation.
 プログラミングツール10は、実施の形態3におけるFBD部品の移動を制限するか否かを、ユーザが任意に切り換え可能であるものとしても良い。ユーザは、再コンパイルが必要となる配置変更の排除を望むか否かに応じて、FBD部品の移動制限の有無を任意に選択することができる。 The programming tool 10 may be configured so that the user can arbitrarily switch whether or not to restrict the movement of the FBD component in the third embodiment. The user can arbitrarily select whether or not to restrict the movement of the FBD component, depending on whether or not to eliminate the layout change that requires recompilation.
 10 プログラミングツール、11 プログラム編集部、12 部品情報管理部、13 実行順序決定部、14 再コンパイル要否判定部、401~409 FBD部品、410,411,412 処理グループ、420 位置範囲、430 位置、PPa,PPb,PPc,PPd,PPe 代表位置。 10 programming tools, 11 program editing section, 12 parts information management section, 13 execution order determination section, 14 recompilation necessity determination section, 401-409 FBD parts, 410, 411, 412 processing group, 420 position range, 430 position, PPa, PPb, PPc, PPd, PPe representative positions.

Claims (3)

  1.  ファンクションブロックダイアグラム(FBD)部品を配置し、配置された前記FBD部品同士を接続することによりプログラムを編集するプログラム編集部と、
     編集された前記プログラムに対し、前記FBD部品の位置情報および接続情報を基に、前記FBD部品の実行順序を決定する実行順序決定部と、
     前記プログラム編集部にて配置されている前記FBD部品の前記位置情報および前記接続情報を管理する部品情報管理部と、
     前記プログラム編集部における前記FBD部品の配置の変更に伴う再コンパイルの実施の要否を判定する再コンパイル要否判定部と、を有し、
     配置を変更させる前記FBD部品が前記プログラム編集部において指定されると、前記部品情報管理部は、前記プログラム編集部で指定されたFBD部品の位置を変更させても前記実行順序が同一となる位置範囲を抽出し、
     前記再コンパイル要否判定部は、前記指定されたFBD部品の配置変更後の位置情報が、前記部品情報管理部で抽出された前記位置範囲に含まれる場合、前記再コンパイルの実施を不要と判定することを特徴とするプログラミングツール。
    A program editing unit that arranges function block diagram (FBD) parts and edits the program by connecting the arranged FBD parts;
    An execution order determining unit that determines the execution order of the FBD parts based on the position information and connection information of the FBD parts for the edited program;
    A component information management unit that manages the position information and the connection information of the FBD component arranged in the program editing unit;
    A recompilation necessity determination unit that determines whether or not to perform recompilation associated with a change in the arrangement of the FBD parts in the program editing unit,
    When the FBD component whose arrangement is to be changed is specified in the program editing unit, the component information management unit is a position where the execution order is the same even if the position of the FBD component specified in the program editing unit is changed. Extract the range,
    The re-compilation necessity determination unit determines that the re-compilation is not required when the position information after the change in the layout of the designated FBD component is included in the position range extracted by the component information management unit. A programming tool characterized by
  2.  前記部品情報管理部は、前記指定されたFBD部品の位置を変更させても前記実行順序が同一となる前記位置範囲を報知するための出力処理を実施することを特徴とする請求項1に記載のプログラミングツール。 The component information management unit performs an output process for notifying the position range in which the execution order is the same even if the position of the designated FBD component is changed. Programming tools.
  3.  前記プログラム編集部は、前記指定されたFBD部品の位置を変更させても前記実行順序が同一となる前記位置範囲の外への、前記指定されたFBD部品の移動を制限することを特徴とする請求項1または2に記載のプログラミングツール。 The program editing unit restricts the movement of the designated FBD part to the outside of the position range where the execution order is the same even if the position of the designated FBD part is changed. The programming tool according to claim 1 or 2.
PCT/JP2013/061525 2013-04-18 2013-04-18 Programming tool WO2014170992A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201380075672.2A CN105229542B (en) 2013-04-18 2013-04-18 Programming tool
PCT/JP2013/061525 WO2014170992A1 (en) 2013-04-18 2013-04-18 Programming tool
JP2015512252A JP5777842B2 (en) 2013-04-18 2013-04-18 Programming tools

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/061525 WO2014170992A1 (en) 2013-04-18 2013-04-18 Programming tool

Publications (1)

Publication Number Publication Date
WO2014170992A1 true WO2014170992A1 (en) 2014-10-23

Family

ID=51730962

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/061525 WO2014170992A1 (en) 2013-04-18 2013-04-18 Programming tool

Country Status (3)

Country Link
JP (1) JP5777842B2 (en)
CN (1) CN105229542B (en)
WO (1) WO2014170992A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104503338A (en) * 2014-12-30 2015-04-08 浙江中控技术股份有限公司 Functional block sorting executing method and device
CN106707973A (en) * 2015-11-17 2017-05-24 发那科株式会社 Sequence-control programming apparatus, sequence-control programming method, and operating system
WO2022004095A1 (en) * 2020-07-02 2022-01-06 株式会社日立製作所 Program creating device and method
WO2023089722A1 (en) * 2021-11-18 2023-05-25 三菱電機株式会社 Control logic creation assistance device and control logic creation assistance method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6430037B2 (en) * 2016-10-17 2018-11-28 三菱電機株式会社 Debugging support apparatus and debugging support method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09230915A (en) * 1996-02-26 1997-09-05 Matsushita Electric Works Ltd Programming device
JP2003271207A (en) * 2002-03-14 2003-09-26 Fuji Electric Co Ltd Execution method of program and program development support device
JP2006185015A (en) * 2004-12-27 2006-07-13 Mitsubishi Electric Corp Program device of function block diagram
JP2011113276A (en) * 2009-11-26 2011-06-09 Mitsubishi Electric Corp Engineering tool
JP2012159868A (en) * 2011-01-28 2012-08-23 Mitsubishi Electric Corp Programming device of programmable logic controller

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10149208A (en) * 1996-11-18 1998-06-02 Hitachi Ltd Method for comparing program and device for preparing controller program
US6366300B1 (en) * 1997-03-11 2002-04-02 Mitsubishi Denki Kabushiki Kaisha Visual programming method and its system
JP3603301B2 (en) * 2000-02-09 2004-12-22 日本電気株式会社 Information processing apparatus and recording medium recording job stream processing program
JP3940389B2 (en) * 2003-08-28 2007-07-04 三菱電機株式会社 Inspection device and programming tool
CN101488012A (en) * 2009-02-13 2009-07-22 国网电力科学研究院 Method for implementing sequential control by flow diagram

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09230915A (en) * 1996-02-26 1997-09-05 Matsushita Electric Works Ltd Programming device
JP2003271207A (en) * 2002-03-14 2003-09-26 Fuji Electric Co Ltd Execution method of program and program development support device
JP2006185015A (en) * 2004-12-27 2006-07-13 Mitsubishi Electric Corp Program device of function block diagram
JP2011113276A (en) * 2009-11-26 2011-06-09 Mitsubishi Electric Corp Engineering tool
JP2012159868A (en) * 2011-01-28 2012-08-23 Mitsubishi Electric Corp Programming device of programmable logic controller

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104503338A (en) * 2014-12-30 2015-04-08 浙江中控技术股份有限公司 Functional block sorting executing method and device
CN106707973A (en) * 2015-11-17 2017-05-24 发那科株式会社 Sequence-control programming apparatus, sequence-control programming method, and operating system
CN106707973B (en) * 2015-11-17 2019-08-13 发那科株式会社 Timing control programmer, timing control programmed method and operating system
WO2022004095A1 (en) * 2020-07-02 2022-01-06 株式会社日立製作所 Program creating device and method
JP2022012742A (en) * 2020-07-02 2022-01-17 株式会社日立製作所 Control controller programming device and method
JP7340494B2 (en) 2020-07-02 2023-09-07 株式会社日立製作所 Controller programming device and method
WO2023089722A1 (en) * 2021-11-18 2023-05-25 三菱電機株式会社 Control logic creation assistance device and control logic creation assistance method

Also Published As

Publication number Publication date
JPWO2014170992A1 (en) 2017-02-16
CN105229542A (en) 2016-01-06
CN105229542B (en) 2017-06-09
JP5777842B2 (en) 2015-09-09

Similar Documents

Publication Publication Date Title
JP5777842B2 (en) Programming tools
CN102640112B (en) Program creation support device
CN103970087B (en) Operation program generating apparatus
CN102508654B (en) Method for designing ladder diagram editing software of embedded PLC (Programmable Logic Controller)
US10031654B2 (en) Apparatus and method for generating industrial process graphics
CN104007958B (en) Program editor and method for creating and processing the program for industrial automation arrangement
US20160004242A1 (en) Ladder-program display program and ladder-program display apparatus
US20100313128A1 (en) System and method for free form comments for a programmable logic controller
JP2019091426A (en) System and method for facilitating graphic display configuration design in process control plant
TWI553435B (en) Program for compiling program
US9176734B2 (en) Ladder program creation apparatus
CN105431790B (en) Programmer
CN106737676A (en) It is a kind of based on script can secondary development industrial robot programing system
JP7031627B2 (en) Analytical equipment, analysis method, and analysis program
CN105408823A (en) Engineering tool, program editing device, and program editing system
JPWO2014167623A1 (en) Program graph display device, program graph display method, and program graph display program
JP5498446B2 (en) Ladder program creation device and ladder program creation method
Falkman et al. Automatic generation: A way of ensuring PLC and HMI standards
CN107295810B (en) Engineering tools
JP2012159868A (en) Programming device of programmable logic controller
JPWO2021106082A1 (en) SCADA web HMI system
US10762256B2 (en) Hand-drawn ladder logic conversion method and system
CN112534368A (en) Graph display device, graph display method, and graph display program
US11307551B1 (en) Methods, systems and computer program products for generating implementable sequential function charts codes for process control systems
JP4652072B2 (en) Design support apparatus and method with simulation function, and operation support apparatus and method with simulation function

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201380075672.2

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13882444

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015512252

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13882444

Country of ref document: EP

Kind code of ref document: A1