WO2010095289A1 - プログラム解析支援装置 - Google Patents
プログラム解析支援装置 Download PDFInfo
- Publication number
- WO2010095289A1 WO2010095289A1 PCT/JP2009/064163 JP2009064163W WO2010095289A1 WO 2010095289 A1 WO2010095289 A1 WO 2010095289A1 JP 2009064163 W JP2009064163 W JP 2009064163W WO 2010095289 A1 WO2010095289 A1 WO 2010095289A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- analysis
- program
- pou
- collection
- execution unit
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Definitions
- the present invention relates to a program analysis support apparatus.
- the present invention includes a programmable controller (hereinafter referred to as “PC”), a motion controller (hereinafter referred to as “MC”), a numerical controller controller (hereinafter referred to as “NC”), and an inspection apparatus controller.
- PC programmable controller
- MC motion controller
- NC numerical controller controller
- inspection apparatus controller an inspection apparatus controller
- various industrial controllers such as a display (hereinafter referred to as “GOT”) or measurement control programs executed in a microcomputer in order to develop a new measurement control program.
- the present invention relates to an apparatus for improving the efficiency of work for analyzing a program or editing / changing the program when a measurement control program is developed or debugged.
- PC programmable controller
- Examples of the measurement control program executed in the industrial controller include a language conforming to IEC 61131-3, which is a ladder program as a representative example, or a language dedicated to the controller.
- C language or assembler can be used as a measurement control program when a microcomputer is used instead of an industrial controller.
- a PC will be described as an example.
- the PC executes a ladder program, which is a measurement control program, to grasp the state of the measurement control target or to instruct the measurement control target to operate.
- a predetermined measurement control program creation support device (ladder creation support device) is used to create the ladder program.
- the measurement control program creation support device is generally provided as a software tool that operates on a personal computer, and a function that supports editing of a ladder that is a program used when a PC measures or controls a measurement control target. have.
- the measurement control program creation support apparatus connects a personal computer and a PC, transfers the edited ladder to the PC, or changes the state of the measurement control target or the ladder (hereinafter referred to as “device”). It also has a function of monitoring the state of value.
- the program editing function and the monitoring function provided by the measurement control program creation support device are also mounted on the display (hereinafter referred to as “GOT”), and measurement is also performed from the GOT that is always connected to the PC. Control program editing or device value status monitoring can be performed.
- a program for measuring and controlling the production facility is composed of a plurality of program modules (hereinafter referred to as “POU”). It is composed of POU: Program Organization Unit). If the program language of the measurement control program is ladder, POU corresponds to a subroutine or FB (Functional Block), and if it is ST (Structured Text) or C language, POU corresponds to a subroutine or function.
- POU Program Organization Unit
- a cross reference creation device is known as a program analysis support device for performing this specification.
- the cross reference creation apparatus reads a plurality of POUs as an analysis target, creates a list of which devices are used at which positions in which POU, or lists all devices used in a certain POU. A device that creates tables. Note that the creation of such a cross reference may be realized as one function of the measurement control program creation support apparatus.
- a list of devices used for a certain POU (device usage list) is created on the screen.
- This list creation function is realized as one function of the measurement control program creation support apparatus in the second prior art.
- a dialog is displayed on the screen to show the device usage list.
- the operator selects a program. That is, the operator inputs the name of the POU to be selected in the program selection field displayed in the dialog.
- the operator specifies the printing conditions displayed in the dialog. At this time, when only the devices used in the program are printed as a list, the operator inputs a check instruction in that column. If no check instruction is input, all devices are printed as a list.
- a list of devices used in the POU is printed.
- the program name column the name of the selected POU is printed, and below that, devices used in the POU are printed in order.
- the type of instruction in which the device is used is printed in the use / non-use column. If the program is written in a ladder, contacts or coils are printed. If the device is used as a contact and a coil in the POU, both the contact and the coil are printed.
- the first and second prior arts described above are related to devices that are used in one specific POU and also used in another specific POU. It is not possible to create a list of reference locations. As a result, visually confirming a list of devices used in a specific POU (device usage list) and a list of devices used in another specific POU (device usage list) After the operator has performed each one, the operator has no choice but to create a cross-reference of the device extracted by the manual work. There is a problem that it takes time to identify the location.
- the first and second prior arts described above may create a cross reference in a specific POU of a certain device and a POU called as a subroutine from the POU. I can't. Therefore, the operator first extracts a list of POUs called as a subroutine from the specific POU, creates a cross reference of the device for each extracted POU, and merges the results. As a result, there is a problem that it takes time to specify a place to be edited in a program change or analysis of a malfunctioning operation.
- Patent Documents 1 and 2 Patent Documents 1 and 2 and Non-Patent Document 2.
- Patent Documents 1 and 2 have a function of creating a list of devices that are used in one specific POU and also used in another specific POU.
- the “inter-program duplication status list” is simply installed in the program creation support apparatus or the program analysis support apparatus in advance.
- processing of the existing cross-reference function is used by using the existing cross-reference function processing.
- the processing of overlapping program usage is independent of the existing cross-reference function processing.
- processing of the list function is realized.
- the above prior art can only execute the creation of the inter-program duplication usage status list within the condition designation range of the function mounted in that way.
- the above-described prior art includes a problem that it is impossible to realize creation of a cross reference that freely combines conditions, and furthermore, extraction of a program analysis result that freely combines conditions.
- PATOLIS registered trademark
- PATOLIS registered trademark
- the operator narrows down the search range by patent classification, or by whether or not a specific keyword is included in an area such as a summary or a claim. Narrow the search range.
- the population to be searched in this case is the entire prior patent document.
- the list of hit results is a list of prior patent documents. Therefore, when the operator wishes to narrow down the search range with another condition for the hit result, the operator first searches the entire prior patent document under another condition, and this hit result is obtained.
- the computer By causing the computer to perform an AND process of the list of prior patent documents and the previous hit result, the scope of the prior patent documents can be further narrowed down.
- the subject of the present invention it is possible to perform program analysis in which program analysis conditions are freely combined, and it is possible to quickly specify a location to be edited based on the analysis result. It is possible to improve the efficiency of the work for specifying the location to be edited in the analysis of the change or the malfunctioning operation, and to shorten the time required for the work.
- FIG. 3 is a functional block diagram showing a software configuration of the program analysis support apparatus according to Embodiment 1.
- FIG. It is a figure which shows a MAIN ladder circuit. It is a figure which shows the MAIN ladder IL. It is a figure which shows a SUB ladder circuit. It is a figure which shows SUB ladder IL. It is a figure which shows a program analysis assistance screen. It is a figure which shows a program analysis assistance screen. It is a flowchart which shows a POU_READ process flow. It is a flowchart which shows a VAR_REF process flow. It is a figure which shows a VAR_REF result screen.
- FIG. 2 is a functional block diagram (corresponding to a software block diagram) showing each functional unit in the analysis processing executed by the program analysis support apparatus 1 and, therefore, the microprocessor 2.
- the program analysis support apparatus 1 or the microprocessor 2 generally includes an analysis condition setting unit 10, an analysis condition execution unit 11, and an analysis result display unit 20.
- each row is composed of a formula number cell, an analysis command cell, an analysis target cell, an analysis condition cell, and a result number cell.
- the user views the screen of FIG. 7 and inputs an analysis object and an analysis condition corresponding to the analysis command to the corresponding cells. That is, the user mainly designates a population to be analyzed by the analysis command in the analysis target cell. In addition, the user mainly designates conditions for the analysis command to perform analysis processing in the analysis condition cell.
- the result of the analysis process is returned from the analysis condition execution unit 11 to the analysis condition setting unit 10.
- the analysis condition setting unit 10 displays the number of results of the analysis processing in the result number cell on the program analysis support screen displayed on the display unit 4 of FIG.
- the analysis result display unit 20 displays the result of the analysis processing on the screen of the display unit 1 in FIG. 1 accordingly.
- the analysis command VAR_REF shown in FIG. 7 is a command for extracting a cross reference of a variable (device), and is executed by the variable use list extraction processing execution unit 12 of FIG. Therefore, the user specifies an expression number that specifies a program to be analyzed by the analysis command VAR_REF in the analysis target cell, and also specifies a variable (device) that is a condition for cross reference extraction in the analysis condition cell.
- the equation number S002 in FIG. 7 is used to extract cross references for all devices M in the program MAIN that is a POU read into the microprocessor 2 from the storage unit 6 by executing the analysis command POU_READ given by the equation number S001.
- An example of designation is shown, and the variable use list extraction processing execution unit 12 in FIG. 2 outputs a collection having elements where the variable (device) M is used in the program MAIN as the analysis result. .
- step S40 S41 to S43
- the processing when the element of the POU collection specified in the analysis target cell of the analysis command VAR_REF is 1 is based on the basis of the analysis command VAR_REF.
- the execution of the analysis command VAR_REF given by the expression number S002 can be processed by a conventional cross reference creation technique.
- equation number S003 in FIG. 7 shows an example of designating reading of the program SUB that is a POU
- the subsequently executed equation number S004 is the program SUB read by executing the analysis command of the equation number S003.
- 2 shows an example of designating extraction of cross references for all variables (devices) M in FIG.
- FIG. 13 shows an example of the VAR_REF result display screen of the formula number S004.
- the analysis command AND shown in FIG. 7 is a command for extracting the logical product of the data set extracted as the processing result, and is executed by the AND processing execution unit 17 in FIG. Therefore, the user designates two equation numbers to be subjected to the logical product as analysis target (first argument) cells and analysis condition (second argument) cells, respectively.
- Expression number S005 in FIG. 7 shows an example of designating extraction of a logical product of the cross reference result extracted in expression number S002 and the cross reference result extracted in expression number S004.
- the expression number S005 shows an example of designating extraction of cross references relating to all variables (devices) M used in the program MAIN and also used in the program SUB.
- the processing flow of the analysis command AND executed by the AND processing execution unit 17 is shown in the flowcharts of FIGS.
- the AND process between POU collections shown in FIG. 14 is a simple logical product process, but if the AND process between collections of cross-references (use points of the specified device) is also simply a logical product, in any case
- the result is also empty. This is because the place where the variable (device) M4 is used in the program MAIN and the place where the variable (device) M4 is used in the program SUB are the same in the variable (device). This is because they are different and are not considered to be the same.
- the feature point in the present embodiment of the present invention resides in AND processing (see FIG. 15) between collections of this cross reference (use location of the designated device). That is, the feature point is that the same variable (device) is used as the operation criterion of the logical product.
- the location where the variable (device) M4 is used in the program MAIN (see FIG. 11) and the location where the variable (device) is used in the program SUB (see FIG. 13) are: Since both variables (devices) are the same, they are left as a result of logical product. And there is a further feature point in that each element is left as a result.
- variable (device) M4 is used in the program MAIN and the variable (device) is used in the program SUB, the variable (device) is the same. Are both left as elements in the result collection.
- the result of the equation number S005 in FIG. 7 is as shown in FIG.
- the analysis command OR shown in FIG. 7 is a command for extracting a logical sum between sets of different data extracted as processing results, and is executed by the OR processing execution unit 18 in FIG. Is done. Therefore, the user designates two equation numbers to be ORed as analysis target (first argument) cells and analysis condition (second argument) cells, respectively.
- Expression number S006 in FIG. 7 shows an example of designating extraction of the logical sum of the cross-reference result extracted by expression number S002 and another cross-reference result extracted by expression number S004. In other words, the expression number S006 indicates an example of designating the extraction of cross references regarding all variables (devices) M used in the program MAIN or the program SUB.
- the OR processing between POU collections is a simple logical OR processing
- the OR processing between collections of cross-references (use locations of designated devices) is also a simple logical OR processing.
- the process flow of the analysis command OR executed by the OR process execution unit 18 of FIG. 2 is as shown in FIGS. 17 and 18. By processing in this way, the processing result of equation number S006 in FIG. 7 is as shown in FIG.
- the analysis command NOT shown in FIG. 7 is a command for extracting a data set obtained by excluding elements of another data set from elements of a data set extracted as a processing result. This is executed by the NOT process execution unit 19. Therefore, the user designates a formula number as a population as an analysis target cell, and designates a formula number as a set of elements to be excluded from the population as an analysis condition cell.
- Formula number S007 in FIG. 7 shows an example of designating extraction of the cross reference after excluding the cross reference result extracted in formula number S004 from the cross reference result extracted in formula number S002. Yes. That is, the expression number S007 designates the extraction of the cross reference regarding the variable (device) M that is not used in the program SUB among all the variables (devices) M used in the program MAIN. An example is shown.
- the processing flow of the analysis command NOT executed by the NOT processing execution unit 19 is shown in FIGS. 20 and 21, respectively.
- the NOT processing between POU collections is a simple exclusion process, but if the NOT processing between collections of cross-references (use points of the specified device) is also simply excluded processing, in any case However, the result is not excluded. This is because the location where the variable (device) M4 is used in the program MAIN and the location where the variable (device) M4 is used in the program SUB are only the same variable (device) and are different from each other. Therefore, those places are not considered to be the same.
- This embodiment of the present invention has a feature point in NOT processing (see FIG. 21) between collections of this cross reference (use location of designated device). That is, the feature point of the present embodiment is that the calculation criterion for the exclusion process is that the variables (devices) are the same. For example, since the variable (device) M4 is used in the program MAIN and the variable (device) M4 is used in the program SUB, the variable (device) is the same. As excluded from the collection. In this way, when the NOT processing execution unit 19 performs the NOT processing, the result of the equation number S007 in FIG. 7 becomes as shown in FIG.
- the analysis command VAR_REF of the equation number S009 in FIG. 7 is an example when the number of elements in the POU collection of the first argument is two instead of one, and the processing flow is described below based on FIG.
- variable usage list extraction processing execution unit 12 processes the analysis command VAR_REF in which the second element program SUB is designated as the analysis target cell, and the result collection and the result collection of this formula number S009 (this At this time, the content of this result collection is ORed with the processing result collection of the analysis command VAR_REF in which the program MAIN is designated as the analysis target cell), and the result is the result of the formula number S009. Update as a collection.
- variable use list extraction processing execution unit 12 performs processing of the recursive analysis command VAR_REF and its result collection and the result collection of the formula number S009 for all elements of the POU collection designated as the analysis target cell.
- the result collection of the formula number S009 is sorted using the variable (device) as a key, and the sorted result collection is output as the final result collection of the formula number S009.
- step S42 of the processing flow in FIG. 10 the variable use list extraction processing execution unit 12 performs M [0-9] and M [20-29]. It is good also as processing simultaneously. All the results are the same.
- the analysis command VAR_REF is defined as a linear operator for the POU collection that is the analysis target.
- the analysis command VAR_REF is defined as a linear operator for a variable (device) that is an analysis condition. Therefore, it is possible to provide a program analysis support function that can guarantee the same result regardless of the order of the combination of the cross-reference operation and the logical operation.
- the analysis condition execution unit 11 further includes a variable dependency extraction processing unit 13 that is a functional unit for processing variable (device) dependency directed graph extraction.
- the analysis result display unit 20 further includes a variable dependency display unit 22 that creates and outputs image data for displaying the variable (device) dependency directed graph result on the display unit 4 of FIG. .
- Non-Patent Document 2 a basic explanation of variable dependency relationships (directed graphs) in a general program is disclosed in Non-Patent Document 2.
- Instruction is composed of an operator (instruction) and an operand (operand).
- Operand is an argument of Operator, and there are operators that require one Operand, and there are operators that require two or more Operands.
- FIG. 25 shows a specific example of Operator and Operand.
- the value (state) of the coil placed on the same Rung also changes. That is, the value of the device serving as the coil has a relationship depending on the value of the device serving as the contact. If this relationship is generalized and described, an instruction having an operator for writing out a device is placed upstream of the same rung, that is, on the left side, and is dependent on the instruction having an operator for reading a device. .
- FIG. 29 is a screen example of the display unit 4 for the user to input program analysis conditions, and corresponds to the continuation of the screen example of FIG.
- variable dependency extraction processing execution unit 13 processes the process specified by the equation number S011 of FIG. 29 along the flow of FIG. .
- step S90 the part 13 extracts another variable (device) M3 which is influenced by the variable (device) X222 which is an element of the device collection [1] in the program MAIN.
- step S91 the part 13 adds the directed line segment from the variable (device) X222 to the variable (device) M3 to the directed line collection [2].
- the data structure of the directed line segment at this time, it is sufficient to hold the dependence source device and the dependence destination device.
- the part 13 tries to execute an equivalent process for the program SUB which is the next POU collection element, but in this example, the variable (device) X222 is the program SUB. Does not exist.
- step S95 the part 13 tries to execute processing for the next element device in step S95, but in this example, there is no element other than the variable (device) X222 in the device collection [1]. . Therefore, in step S96, the part 13 determines “NO”, and proceeds to the next step S97.
- the part 13 extracts another variable (device) M4 that the variable (device) M3 that is an element of the device collection [2] affects in the program MAIN.
- step S91 the part 13 adds the directed line segment from the variable (device) M3 to the variable (device) M4 to the directed line collection [3].
- step S92 the part 13 determines whether or not the extracted variable (device) M4 exists in the device collections [1] to [3].
- the variable (device) M4 is a device. Since it does not exist in the collections [1] to [3], a variable (device) M4 is added to the device collection [3] in step S93.
- step S94 the part 13 tries to start execution of processing for the next element POU, the program SUB. However, since the variable (device) M3 does not exist in the program SUB, the part 13 In S95, an attempt is made to execute the process for the next element device. However, since there is no element other than the variable (device) M3 in the device collection [2], the process cannot be executed. In step S96, the part 13 determines “YES”, and proceeds to the next step S97.
- step S97 the part 13 further increments the variable d of the device collection.
- variable (device) M4 that is an element of the device collection [3] affects.
- the part 13 extracts other variables (devices) M7 and M8 that the variable (device) M4 that is an element of the device collection [3] affects. (Step S90).
- step S91 the same section 13 directs a directed line segment from the variable (device) M4 to the variable (device) M7 and a directed line from the variable (device) M4 to the variable (device) M8. Add the minutes to the directed line collection [4].
- step S92 the part 13 determines whether or not the extracted variables (devices) M7 and M8 exist in the device collections [1] to [4].
- the variable (device) M7 And M8 do not exist in the device collections [1] to [4]
- the unit 13 adds variables (devices) M7 and M8 to the device collection [4] in step S93.
- step S94 the next element POU does not exist.
- step S95 the part 13 tries to execute the process for the next element device in step S95, but there is no element other than the variable (device) M4 in the device collection [3]. Processing cannot be executed.
- step S96 the part 13 determines “YES”, and proceeds to the next step S97.
- step S97 the part 13 further increments the variable d of the device collection.
- variable (device) M7 which is the first element of the device collection [4].
- the same unit 13 extracts another variable (device) YOC10 that the variable (device) M7 that is an element of the device collection [4] affects ( Step S90).
- step S91 the part 13 adds the directed line segment from the variable (device) M7 to the variable (device) YOC10 to the directed line collection [5].
- the same unit 13 determines whether or not the extracted variable (device) YOC10 exists in the device collections [1] to [5]. In this example, the variable (device) YOC10 is determined. Does not exist in the device collections [1] to [5], the unit 13 adds the variable (device) YOC10 to the device collection [5] in step S93.
- step S94 the next element POU does not exist.
- step S95 the part 13 tries to execute processing for the next element device, but other variables (devices) influenced by the next variable (device) M8 are the program MAIN and the program. Since it does not exist in the SUB, in step S96, the part 13 determines “YES”, and proceeds to the next step S97.
- step S97 the part 13 further increments the variable d of the device collection.
- step S96 the part 13 determines whether or not an element exists in the device collection [6]. However, since the element does not exist in the device collection [6], the part 13 The process proceeds to S98.
- variable dependency relationship display unit 22 displays drawing data indicating the directed graph analysis result of the forward dependency given based on the device collection [1] to [5] and the directed line collection [2] to [5]. 1 is output to the display unit 4 of FIG. 1, and as a result, the display unit 4 gives on the screen based on the device collection [1] to [5] and the directed line collection [2] to [5]. Draw the directed graph analysis result of the forward dependency. The drawing result is as shown in FIG.
- the directed graph is based on the device collection [1] to [5] and the directed line collection [2] to [5] indicating the structure of the directed graph. Since the description of the procedure for drawing is out of the gist of the present invention, it is omitted here.
- variable dependency relationship extraction process execution unit 13 may similarly perform the process specified by the equation number S012 of FIG. 29 according to the flow shown in FIG. 30, and as a result, the result shown in FIG. Is obtained.
- the present embodiment describes a technique for extracting a directed graph of backward dependence of variables (devices) in a ladder program.
- FIG. 29 is a backward direction from variable (device) YC10 in program MAIN and program SUB which are elements (element POU) included in the POU collection output as the logical processing result of expression number S008.
- FIG. 23 shows an example of designating a dependency directed graph extraction process, and the variable dependency extraction processing execution unit 13 in FIG. 23 uses, as an analysis result, data necessary for drawing a directed dependency graph as a variable dependency relationship. Output to the display unit 22.
- FIG. 33 is a flowchart showing a processing flow of the analysis command VAR_BWD executed by the variable dependency extraction processing execution unit 13.
- the processing flow is almost the same as the processing flow of the analysis command VAR_FWD in FIG. 30 described in the second embodiment, but differs in the following three points.
- step S109 of FIG. 33 unlike step S90 of FIG. 30, the variable dependency extraction processing execution unit 13 extracts another variable (device) that affects the specified variable (device). To do.
- step S110 in FIG. 33 unlike step S91 in FIG. 30, the variable dependency extraction processing execution unit 13 performs a directed line segment indicating the dependency from the variable (device) extracted in step S109. Is processed further.
- step S117 in FIG. 33 the variable dependency extraction processing execution unit 13 performs processing for reversing the depth numbers of the device collection and the directed line collection in addition to the processing in step S98 in FIG. Then, the result after the reversal process is output as a device dependence directed graph analysis result.
- variable dependency extraction processing execution unit 13 outputs the device collection [1] as the device collection [n] and the device collection [2] to the device collection. [n ⁇ 1] is output, and generally, the device collection [k] is output as the device collection [n ⁇ k + 1], and the device collection [n] is output as the device collection [1].
- variable dependency extraction processing execution unit 13 outputs the directed line collection [2] as the directed line collection [n].
- Output the directed line collection [3] as the directed line collection [n ⁇ 1] generally output the directed line collection [k] as the directed line collection [n ⁇ k + 2], ..., the directed line collection [n] is output as the directed line collection [2].
- the directed line segment belongs to the depth of the directed line collection based on the depth of the dependent device, and when the number of the directed line collection is reversed, The variable dependency extraction processing execution unit 13 moves all the directed line elements to the depth to which they belong.
- “M4 ⁇ M7” and “M5 ⁇ M7” exist
- variable dependency extraction processing execution unit 13 performs the process of reversing only the depth number of the directed line collection
- variable dependency extraction processing execution unit 13 performs a process of moving each directed line so that it belongs to the depth of the directed line collection with reference to the depth of the dependency source device.
- the analysis command OR is a command for extracting a logical sum between different sets of data extracted as processing results. Therefore, the user uses the input unit 5 to designate each of the two formula numbers to be ORed as an analysis target (first argument) cell and an analysis condition (second argument) cell.
- the expression number S013 in FIG. 29 specifies the extraction of the logical sum of the device dependency directed graph extraction result extracted by the process of the expression number S011 and another device dependency directed graph extraction result extracted by the process of the expression number S012. An example is shown.
- an analysis command for performing a logical sum of cross references and an analysis command for performing a logical sum of device dependence directed graphs are both designated by the same analysis command OR.
- An example is proposed.
- FIG. 35 is a flowchart showing the processing flow of the analysis command OR executed by the OR processing execution unit 18 of FIG.
- step S120 and S121 in FIG. 35 the same unit 18 confirms whether or not the data type to be ORed is a device dependence directed graph. If the data type is not the device dependence directed graph, the unit 18 executes the processing flow of FIG. 18 described above.
- the unit 18 prepares for combining the collections of the first argument and the second argument with each other. (Step S122), and all elements of the first argument are used as a base for the above combination (step S125).
- the part 18 combines the collection while checking the element of the second argument overlapping with the element of the first argument.
- the part 18 first processes the combination (logical sum) of the device collection (step S128) and then processes the combination (logical sum) of the directed line segment collection (step S132).
- the depth of the argument having the larger value in the combination extracted in step S123 is maintained as it is.
- the depth values of the extracted combinations are the same, there is no need to reset the depth for any argument.
- a collection of depth values after adding +1 to the depth value of the collection of the second argument (device collection [2] to [4], directed line collection) [3] to [5]) are handled in the following steps.
- the part 18 In the next step S126, the part 18 generates a collection having a depth corresponding to the larger one of the depths of the first argument and the second argument after the depth resetting.
- the same unit 18 In the case of the processing of expression number S013, the same unit 18 generates each of the device OR result collections [1] to [5] and the directed line segment OR result collections [2] to [5] as empty.
- step S127 the part 18 copies all the collection elements of the first argument to the OR result collection.
- the part 18 keeps the depth of the first argument as it is in step S124, and the copy source (first argument) depth and the copy destination (OR result collection) depth.
- the copy process is executed with Sato as it is. If the depth of the first argument is reset in step S124, the copy source (first argument) depth and the copy destination (OR result collection) depth consider the resetting. Is set.
- the part 18 copies the variable (device) M5 to the device OR result collection [3] (step S130).
- the part 18 does not perform a copy process of the variable (device) M7.
- the same unit 18 does not perform the copying process of the variable (device) YC10.
- the part 18 changes the directed line segment “M5 ⁇ M7” to the directed line OR result collection [4]. Copy (step S134).
- the part 18 copies the directed line segment “M6 ⁇ YC10” to the directed line segment OR result collection [4] ( Step S134).
- the dependent device YC10 of the directed line segment “M6 ⁇ YC10” to be copied exists in the device OR result collection [5], but the dependency source device M6 exists in the device OR result collection [3].
- the part 18 copies the directed line segment “M6 ⁇ YC10” to the directed line segment OR result collection [4].
- each variable (device) is set. It is possible to perform recursive processing in which the result after performing the logical sum (OR) processing on the result of the analysis command VAR_FWD as the analysis condition is the result of the expression number S014. This also applies to the analysis command VAR_BWD.
- Embodiment 4 1) By enabling logical operations (logical OR processing) between directed graphs of variable (device) dependency relationships in ladder programs, it is possible to extract a desired device dependency directed graph, which relates to program analysis. Work can be saved.
- the user can specify a command for performing a logical sum of cross references and a command for performing a logical sum of device dependence directed graphs using the same analysis command OR.
- An embodiment is also possible in which each is defined by a different command (for example, the former is defined as an analysis command VAR_REF_OR and the latter is defined as an analysis command VAR_FWD_BWD_OR).
- VAR_REF_OR an analysis command
- VAR_FWD_BWD_OR an analysis command for performing logical sum
- the user will need to check the logical OR command corresponding to each data type in the help or instruction manual. If all analysis commands can be executed with the analysis command OR, There is no need for such a user to refer to help or the like, and work related to program analysis can be saved.
- the analysis command AND is a command for extracting a logical product between different sets of data extracted as a processing result, and the user analyzes each of the two expression numbers that are the targets of the logical product. 1 argument) cell and analysis condition (second argument) cell.
- Expression number S016 in FIG. 29 shows an example of designating extraction of the logical product of the device dependency directed graph extraction result extracted in expression number S014 and another device dependency directed graph extraction result extracted in expression number S015. ing.
- FIG. 37 is a flowchart showing a processing flow of the analysis command AND executed by the AND processing execution unit 17 of FIG.
- FIG. 37 the AND processing of the device dependence directed graph according to the present embodiment will be described.
- the AND processing execution unit 17 checks whether or not the data type to be subjected to the logical product is a device dependence directed graph. In this confirmation process, when it is confirmed that the data type is not the device dependence directed graph, the unit 17 simply performs the process flow of FIG. 15 described above.
- the part 17 performs AND of the depth corresponding to the larger value of the depth of the first argument and the depth of the second argument after the depth resetting. Generate a result collection.
- step S145 since the variable (device) M3 which is an element of the device collection [2] of the first argument exists in the device collection [2] of the second argument, in step S145, the part 17 Device) M3 is copied to the device AND result collection [2].
- step S145 since the variable (device) M4, which is an element of the device collection [3] of the first argument, exists in the device collection [3] of the second argument, in step S145, the part 17 Device) M4 is copied to the device AND result collection [3].
- step S145 since the variable (device) M6, which is an element of the device collection [3] of the first argument, exists in the device collection [4] of the second argument, in step S145, the part 17 Device) M6 is copied to the device AND result collection [3].
- step S145 since the variable (device) M7, which is an element of the device collection [4] of the first argument, exists in the device collection [4] of the second argument, in step S145, the part 17 Device) M7 is copied to the device AND result collection [4].
- variable (device) M8 that is an element of the device collection [4] of the first argument does not exist at all depths of the device collection of the second argument, the same unit 17 does not perform the copy process.
- step S145 since the variable (device) YC10 which is an element of the device collection [5] of the first argument exists in the device collection [5] of the second argument, in step S145, the part 17 Device) YC10 is copied to the device AND result collection [5].
- step S149 the directed line segment “M3 ⁇ M4”, which is an element of the directed line collection [3] of the first argument, exists in the directed line collection [3] of the second argument.
- the directed line segment “M3 ⁇ M4” is copied to the directed line segment AND result collection [3].
- step S149 the directed line segment “X223 ⁇ M5” that is an element of the directed line collection [3] of the first argument exists in the directed line collection [4] of the second argument.
- the directed line segment “X223 ⁇ M5” is copied to the directed line segment AND result collection [3].
- step S149 since the directed line segment “X223 ⁇ M6” as an element of the directed line collection [3] of the first argument exists in the directed line collection [4] of the second argument, the same part 17 In step S149, the directed line segment “X223 ⁇ M6” is copied to the directed line segment AND result collection [3].
- step S149 since the directed line segment “M4 ⁇ M7” that is an element of the directed line collection [4] of the first argument exists in the directed line collection [4] of the second argument, the part 17 In step S149, the directed line segment “M4 ⁇ M7” is copied to the directed line segment AND result collection [4].
- the directed line segment “M4 ⁇ M8”, which is an element of the directed line collection [4] of the first argument, does not exist at all depths of the directed line collection of the second argument.
- the unit 17 does not perform copy processing.
- step S149 since the directed line segment “M5 ⁇ M7” that is an element of the directed line collection [4] of the first argument exists in the directed line collection [4] of the second argument, the part 17 In step S149, the directed line segment “M5 ⁇ M7” is copied to the directed line segment AND result collection [4].
- the directed line segment “M6 ⁇ D5” that is an element of the directed line collection [4] of the first argument does not exist at all the depths of the directed line collection of the second argument.
- the unit 17 does not perform copy processing.
- step S149 since the directed line segment “M7 ⁇ YC10” as an element of the directed line collection [5] of the first argument exists in the directed line collection [5] of the second argument, the same part 17 In step S149, the directed line segment “M7 ⁇ YC10” is copied to the directed line segment AND result collection [5].
- the directed line segment indicates a dependency relationship from one device to another device, and the device and the directed line segment are closely related to each other.
- the common elements of the device collection are extracted (logical product), and then the common elements of the directed line collection are processed (logical product) based on the result. It is possible to perform an AND operation.
- the formula number S016 in FIG. 29 is a command for the AND processing execution unit 17 in FIG. 23 to execute the logical product processing between the device dependency directed graphs, and the AND processing execution unit 17 in FIG.
- the analysis command AND is the same as the command for executing the process.
- the technique used in this embodiment is also used in this embodiment. It is the same as the technology described in the previous section.
- the result is as shown in the lower part of FIG. Since the depth of the directed graph specified by the first argument is reflected in the result, comparing the result of expression number S016 and the result of expression number S017, the depth of the collection to which the element device and element directed line segment belong It can be seen that the structures of the device dependence directed graphs are the same.
- the processing for making the same at the depth of the collection to which the element device and the element directed line segment belong is further added to the output result of this embodiment.
- this since this is out of the gist of the present invention, the description thereof is omitted.
- Embodiment 5 By enabling logical operations (logical AND processing) between directed graphs of device dependency relationships in ladder programs, it is possible to extract a desired device dependency directed graph, saving labor related to program analysis. Can be
- a command for performing a logical product between cross references and a command for performing a logical product between device dependence directed graphs can be designated by the same analysis command AND.
- An embodiment is also possible in which each is defined by different commands (for example, the former is VAR_REF_AND and the latter is VAR_FWD_BWD_AND), but there is a need to use the commands properly depending on the data type to be analyzed. Regardless of the data type, it is more convenient to define a command for performing a logical product as an analysis command AND. When using different commands, the user needs to look up the logical product command corresponding to each data type with help or instruction manual, etc., but if all can be executed with the analysis command AND, There is no need for this, and labor related to program analysis can be saved.
- the analysis command VAR_REF is a command for extracting a variable (device) cross-reference.
- the equation number specifying the device dependence directed graph to be analyzed is analyzed.
- a variable (device) that is designated as a target cell and is a condition for extracting a cross reference is designated as an analysis condition cell.
- no variable (device) is specified in the analysis condition cell, but this shows an example in which all devices are specified.
- FIG. 39 is a flowchart showing a processing flow of the analysis command VAR_REF executed by the variable use list extraction processing execution unit 12 of FIG.
- step S152 the variable usage list extraction process execution unit 12 checks whether or not the data type to be analyzed is a device dependence directed graph. If the data type is not the device dependence directed graph, the part 12 performs the processing flow of FIG. 10 described above.
- the part 12 when the formula number specified in the analysis handling cell specifies the extraction of the cross reference from the device dependence directed graph, the part 12 generates an empty main result collection as a preparation (step S153). ).
- variable use list extraction process execution unit 12 performs a process of extracting cross-reference information from each element of the directed line collection of the device dependency directed graph (step S154).
- the variable dependency extraction processing execution unit 13 in FIG. 23 executes processing for extracting a device dependency directed graph based on the analysis command VAR_FWD or VAR_BWD, the data structure of the directed line segment It is necessary to hold the data shown in FIG.
- variable use list extraction process execution unit 12 processes the formula number S018 of FIG. 29 based on the process flow shown in FIG. 39, so that the device dependence directed graph data of the formula number S011 shown in FIG. Forty results are obtained. The processing of this point will be described below.
- step S158 the dependent device M3 of the element directed line segment of the directed line collection [2] does not exist in this result collection.
- step S156 the element directed line segment dependency source device M3 of the next directed line collection [3] does not exist in the result collection (the same variable (device) M3 already exists, The same variable (device) M3 does not exist until the POU name, the step number, and the instruction.)
- step S156 the dependency source device M4 of the first element directed line segment of the next directed line collection [4] does not exist in this result collection (the same variable (device) M4 already exists). However, the same variable (device) M4 does not exist until the POU name, the step number, and the instruction.)
- step S156 the dependency source device M4 of the second element directed line segment of the directed line collection [4] exists in the result collection (POU name, step number, and command are all the same variables. (Device M4 exists.) Therefore, the part 12 does not perform addition processing to the result collection.
- step S162 the part 12 sorts the result collection using the variable (device) as a key, and outputs the result obtained by the sorting as an analysis result.
- the variable use list display unit 21 in FIG. 23 Upon receiving a signal giving the analysis result, the variable use list display unit 21 in FIG. 23 outputs a display signal for displaying the analysis result on the screen of the display unit 4 in FIG.
- the present embodiment relates to a technique for extracting a directed graph of dependency relationships (hereinafter referred to as “POU call dependency relationships”) of subroutine calls (calling another POU from one POU) in a ladder program.
- POU call dependency relationships a directed graph of dependency relationships
- FIG. 42 is a software configuration diagram showing a functional part according to the present embodiment in the microprocessor 2 in the program analysis support apparatus of FIG. Comparing FIG. 42 with FIG. 23, in the functional unit configuration of FIG. 42, the analysis condition execution unit 11 performs the POU dependency extraction processing execution unit 15 for executing the directed graph extraction processing of the POU call dependency.
- the analysis result display unit 20 further includes a POU list display unit 23 and a POU dependency display unit 24 for displaying a POU call dependency directed graph result.
- a POU call uses a CALL instruction, and a program pointer described at the head of a program of a POU to be called is designated as an argument of the CALL instruction.
- a description for calling the program pointer P10 is made, and a POU whose POU name is P10, in which the program pointer P10 is described at the head of the program, is called.
- SUB1 and SUB2 are examples in which scan execution or periodic execution or initial execution is set, and other programs having the same POU name as the program pointer are set in standby execution.
- SUB1 and SUB2 are examples in which scan execution or periodic execution or initial execution is set, and other programs having the same POU name as the program pointer are set in standby execution.
- FIG. 43 in the program description of each POU, only the part related to the call is extracted and illustrated, and the ladder of the part not related to the call is omitted.
- FIG. 44 is a diagram showing an example displayed on the screen of the display unit 4 in order for the user to input program analysis conditions using the input unit 5 of FIG. 1, and FIG. 7 and FIG. FIG.
- the analysis command POU_FWD extracts a POU called by the designated POU (and recursively calls POU called by the POU), and obtains a directed graph indicating the dependency (a directed graph of POU call forward dependency). It is a command for.
- the user specifies an expression number that specifies the program range to be analyzed in the analysis target cell, and specifies the POU that is the starting point of the POU call forward dependency directed graph in the analysis condition cell.
- the program (POU) is not specified in the analysis target cell of the analysis command POU_READ in the equation number S020, but this shows an example in which reading of all POUs constituting the program is specified.
- all the programs shown in FIG. 43 are read, and as a result, FIG. 44 shows an example in which the read number 21 is displayed in the result number cell.
- the formula number S021 in FIG. 44 is dependent on the forward direction of the POU call from the program MAIN in the element POU included in the collection output by the units 14 and 23 as the execution result of the formula number S020, that is, in the entire POU constituting the program.
- 42 shows an example of designating the extraction of the directed graph of the relationship, and the POU dependency extraction processing execution unit 15 in FIG. 42 displays the data of the directed graph of the POU call forward dependency as the analysis result of the expression number S021.
- the data is output to the unit 24, and the same unit 24 outputs display data necessary for drawing the directed graph to the display unit 4 in FIG.
- step S170 the POU dependency extraction processing execution unit 15 determines that the POU having the same name as the program pointer P10 called in the program MAIN which is the element POU of the POU collection [1] is the first argument POU. Since it exists in the collection, P10 which is another POU called by MAIN is extracted from the POU collection.
- step S173 P10 does not exist in the POU collections [1] to [2]. Therefore, the part 15 determines “NO”, and in step S174, the part 15 determines that P10 is POU collection. Add to [2].
- step S175 is not executed.
- step S176 the part 15 tries to process the next element POU device of the POU collection [1], but in this example, there is no element other than the program MAIN in the POU collection [1]. Therefore, the part 15 proceeds to step S177, and as a result of determining “YES”, the part 15 increments the variable d by 1 in the next step S178.
- step S170 since the programs P11 and P12 called in the program P10 which is the element POU of the POU collection [2] exist in the POU collection of the first argument, the part 15 Extracts the programs P11 and P12 from the POU collection of the first argument.
- step S172 the part 15 adds the directed line segment from the program P10 to P11 to the directed line collection [2].
- step S173 since the program P11 does not exist in the POU collection [1] to [3], in step S174, the part 15 adds P11 to the POU collection [3].
- the part 15 processes P12 which is the next extracted POU (step S176).
- step S172 the part 15 adds the directed line segment from P10 to P12 to the directed line segment collection [2].
- Step S173 since the program P12 does not exist in the POU collection [1] to [3], the same part 15 adds P12 to the POU collection [3] in Step S174.
- the part 15 processes P36 which is the next extracted POU (step S175).
- step S172 the part 15 adds the directed line segment from P11 to P36 to the directed line segment collection [4].
- step S173 P36 does not exist in the POU collection [1] to [4]. Therefore, in step S174, the same unit 15 adds P36 to the POU collection [4].
- step S176 the part 15 processes P12 which is the next element POU device in the POU collection [3].
- step S172 the part 15 adds the directed line segment from P12 to P37 to the directed line segment collection [4].
- the part 15 processes P38 which is the next extracted POU (step S175).
- step S172 the part 15 adds the directed line segment from P12 to P38 to the directed line collection [4].
- step S173 P38 does not exist in the POU collection [1] to [4]. Therefore, in step S174, the same unit 15 adds P38 to the POU collection [4].
- step S170 the part 15 determines that P39 called in the program P35, which is the element POU of the POU collection [4], becomes the first argument POU collection. Because it exists, P39 is extracted.
- step S173 P39 does not exist in the POU collection [1] to [5]. Therefore, in step S174, the same part 15 adds P39 to the POU collection [5].
- step S175 the extracted POU is only P39.
- the part 15 proceeds to step S176.
- step S170 the part 15 tries to process P36 which is the next element POU in the POU collection [4], but no other POU is called in the program of P36.
- step S170 the part 15 tries to process P37 which is the next element POU in the POU collection [4], but no other POU is called in the program of P37.
- step S170 the part 15 tries to process P38 which is the next element POU of the POU collection [4], but no other POU is called in the program of P38.
- step S177 and step S178 the part 15 tries to process P39 which is an element POU of the POU collection [5] in step S170, but other POUs are called in the program of P39. Therefore, the part 15 determines “NO” in step S177, proceeds to step S179, and outputs the POU call dependence directed graph analysis result.
- Embodiment 7 By enabling the extraction of the directed graph of the forward dependency of the POU call with the ladder program as an analysis target, it is possible to save work related to the program analysis.
- the analysis command POU_BWD extracts a POU that calls a POU designated by the user (and recursively extracts POUs that call the POU), and indicates a dependency graph (a directed graph of POU call backward dependency). Is a command to get).
- the user specifies an expression number that specifies the program range to be analyzed in the analysis target cell, and specifies the POU that is the starting point of the POU call backward dependency directed graph in the analysis condition cell.
- the expression number S025 in FIG. 44 extracts the directed graph of the POU call backward dependency from P39 in the element POU included in the POU collection output as a result of the expression number S020, that is, the entire POU constituting the program. An example of designation is shown, and data necessary for drawing a directed graph is output as an analysis result.
- FIG. 48 is a flowchart showing the processing flow of the analysis command POU_BWD.
- the processing flow and data structure in FIG. 48 are similar to the case of the analysis command VAR_BWD that extracts the device dependence directed graph.
- step S189 the POU dependency extraction processing execution unit 15 checks whether or not P39, which is the element POU of the POU collection [1], is called from each program of the POU collection of the first argument. As a result, P11, P23, and P28 of the element POU are extracted from the POU collection of the first argument.
- step S191 the part 15 adds the directed line segment from P11 to P39 to the directed line segment collection [2].
- the data structure of the directed line segment it is sufficient that the dependence source POU and the dependence destination POU are held.
- step S192 P11 does not exist in the POU collection [1] to [2]. Therefore, in step S193, the part 15 adds P11 to the POU collection [2].
- the part 15 processes P23 which is the next extracted POU.
- step S191 the part 15 adds the directed line segment from P23 to P39 to the directed line collection [2].
- the part 15 processes P28 which is the next extracted POU.
- step S191 the part 15 adds the directed line segment from P28 to P39 to the directed line segment collection [2].
- step S192 P28 does not exist in the POU collections [1] to [2]. Therefore, in step S193, the part 15 adds P28 to the POU collection [2].
- step S195 the part 15 tries to process the next element POU of the POU collection [1]. However, since there is no element POU other than P39 in the POU collection [1], step S196 and Through S197.
- step S189 the POU dependency relationship extraction processing execution unit 15 checks whether or not P11 which is the element POU of the POU collection [2] is called from each program of the POU collection of the first argument, As a result, element POU P10 is extracted from the POU collection of the first argument.
- step S191 the part 15 adds the directed line segment from P10 to P11 to the directed line collection [3].
- step S192 P10 does not exist in the POU collection [1] to [3]. Therefore, in step S193, the part 15 adds P10 to the POU collection [3].
- step S194 the extracted POU is only P10, and the part 15 proceeds to step S189 to process P23 which is the next element POU in the POU collection [2].
- step S191 the part 15 adds the directed line segment from P20 to P23 to the directed line collection [3].
- step S194 the extracted POU is only P20, and the part 15 proceeds to step S189 to process P28 which is the remaining element POU of the POU collection [2].
- step S189 the POU dependency extraction processing execution unit 15 confirms whether or not P28 which is an element POU of the POU collection [2] is called from each program of the POU collection of the first argument. As a result, element POU P25 is extracted from the POU collection of the first argument.
- step S192 P25 does not exist in the POU collections [1] to [3]. Therefore, in step S193, the part 15 adds P25 to the POU collection [3].
- step S194 the extracted POU is only P25, and the part 15 has completed the processing for all the element POUs in the POU collection [2], so that “YES” in step S195.
- step S189 the process proceeds to step S189 through steps S197 and S187.
- step S189 the POU dependency relationship extraction processing execution unit 15 checks whether or not P10, which is the element POU of the POU collection [3], is called from each program of the POU collection of the first argument. As a result, the MAIN of the element POU is extracted from the POU collection of the first argument.
- step S191 the part 15 adds the directed line segment from MAIN to P10 to the directed line collection [4].
- step S189 the POU dependency extraction processing execution unit 15 checks whether or not P20, which is the element POU of the POU collection [3], is called from each program of the POU collection of the first argument. As a result, the SUB1 of the element POU is extracted from the POU collection of the first argument.
- step S191 the part 15 adds the directed line segment from SUB1 to P20 to the directed line collection [4].
- step S192 SUB1 does not exist in the POU collection [1] to [4]. Therefore, in step S193, the part 15 adds SUB1 to the POU collection [4].
- step S194 the extracted POU is only SUB1, and the part 15 proceeds to step S189 to process P25 which is the last element POU of the POU collection [3] (step S195). .
- step S189 the POU dependency relationship extraction processing execution unit 15 checks whether or not P25, which is the element POU of the POU collection [3], is called from each program of the POU collection of the first argument. As a result, the SUB2 of the element POU is extracted from the POU collection of the first argument.
- step S191 the part 15 adds the directed line segment from SUB2 to P25 to the directed line collection [4].
- step S192 SUB2 does not exist in the POU collection [1] to [4]. Therefore, in step S193, the part 15 adds SUB2 to the POU collection [4].
- step S194 the extracted POU is only SUB2, and the same part 15 has completed the processing for all the element POUs in the POU collection [3], so that “YES” is determined in step S195. After the determination, the process proceeds to step S189 again through steps S197 and S187.
- step S198 the part 15 performs a process of reversing the depths of the POU collection and the directed line collection in which the element POU exists. In that case, it should be noted that when the number of the directed line collection is reversed, all the elements of the directed line segment are moved to the depth to which they belong (however, this book There is no corresponding in the example).
- the present embodiment relates to a technique that enables logical operations (logical OR processing or logical AND processing) between directed graphs of POU call dependency in a ladder program.
- the present invention relates to 1) an analysis command for performing a logical sum of cross references, 2) an analysis command for performing a logical sum of device dependency directed graphs, and 3) between POU call dependent directed graphs. All the analysis commands for performing the logical OR are commonly designated by the same analysis command OR.
- FIG. 50 is a flowchart showing the processing flow of the analysis command OR executed by the OR processing execution unit 18 of FIG. 42.
- the processing content of FIG. 50 is the logical sum of the device dependence directed graphs shown in FIG. It is the same as the process of executing.
- the OR processing execution unit 18 processes the equation number S023 of FIG. 44 according to the processing flow shown in FIG. 50, the result shown in FIG. 51 is obtained as the result of the logical sum of the result of FIG. 46 and the result of FIG. It is done.
- the expression number S023 is used to perform an OR operation between an analysis command for performing an OR operation between cross references, a command for executing an OR operation between device dependency directed graphs, and a POU call dependency directed graph.
- the example in which the command is specified by the same analysis command OR is shown, but it is temporarily defined by different commands (for example, the former is defined as VAR_REF_OR and VAR_FWD_BWD_OR, and the latter is defined as POU_FWD_BWD_OR).
- the technology used is the same in the different embodiments.
- the analysis command POU_FWD becomes a linear operator with respect to the POU that is the analysis target (starting point of the POU call dependency directed graph).
- the processing flow of the logical sum OR of the POU call dependence directed graph is set as shown in FIG. 50 so that the analysis command POU_FWD is defined as a linear analysis command.
- each POU is set as the analysis target. It is possible to perform recursive processing such that the result obtained by performing OR processing on the result of the analysis command POU_FWD to be used is the result of expression number S024. Similarly, the analysis command POU_BWD can be recursively processed.
- the analysis target device enumeration designation method is the same for the analysis command VAR_REF indicated by the equation number S010, the analysis command VAR_FWD indicated by the equation number S014, and the analysis command POU_FWD indicated by the equation number S024. Therefore, the consistency of the analysis condition designation method between different analysis commands is ensured, and there is no contradiction. This also applies to the analysis command POU_BWD.
- FIG. 52 shows a processing flow of the analysis command AND executed by the AND processing execution unit 17 of FIG.
- the processing content is the same as the processing for the logical product of the device dependence directed graphs shown in FIG.
- Embodiment 9 By enabling logical operations (logical OR processing) between directed graphs of dependency relationships of POU calls in ladder programs, the desired POU call dependency directed graph can be extracted, saving labor related to program analysis. Can be
- a command for performing a logical sum of cross references a command for performing a logical sum of device dependency directed graphs, and a command for performing a logical sum of POU call dependent directed graphs
- VAR_REF_OR and VAR_FWD_BWD_OR for the former and POU_FWD_BWD_OR for the former are defined and used separately is considered.
- VAR_REF_OR and VAR_FWD_BWD_OR for the former and POU_FWD_BWD_OR for the former is considered.
- the user will need to check the logical OR command corresponding to each data type in the help or instruction manual, etc. Therefore, the necessity is eliminated, and work related to program analysis can be saved.
- the present embodiment relates to a technique that makes it possible to extract a device cross-reference or device dependency directed graph for a POU existing in a POU call dependency directed graph.
- a command for designating reading of an arbitrary POU and outputting the collection of the POU and 2) designating reading of all POUs constituting the program and outputting the collection of the POU.
- a command for extracting a collection of POUs existing in the POU call dependency directed graph is specified by the same analysis command POU_READ.
- FIG. 54 shows an example of the screen of the display unit 4 for the user to input program analysis conditions to the microprocessor 2 using the input unit 5 of FIG. 1, and FIG. And it corresponds to the continuation of FIG.
- Equation 54 shows an example in which device cross-reference extraction is specified for the POU element extracted by equation number S028.
- the technique relating to the processing of the equation number S029 is as already described in the first embodiment.
- the analysis command VAR_REF of the equation number S031 in FIG. 54 shows an example in which device cross-reference extraction is specified for the POU call dependency directed graph extracted by the equation number S021. That is, the analysis command VAR_REF of the equation number S031 extracts a device cross reference in the POU existing in the POU call dependency directed graph.
- FIG. 56 shows a processing flow of the analysis command VAR_REF executed by the variable use list extraction processing execution unit 12 of FIG.
- the processing content of FIG. 56 is realized by a combination of the technique shown in FIG. 10 and the technique shown in FIG. 55 described in the present invention.
- the analysis command VAR_FWD of the equation number S032 in FIG. 54 shows an example in which extraction of the device dependency directed graph is specified for the POU call dependency directed graph extracted by the equation number S021. That is, the analysis command VAR_FWD of the equation number S032 extracts a device dependency directed graph in a POU existing in the POU call dependency directed graph.
- Embodiment 10 It is possible to extract a device cross-reference or a device dependency directed graph from the POU call dependency directed graph in the ladder program. Further, it is possible to save the user from inputting the POU elements extracted from the POU call dependency directed graph one by one. Furthermore, even if the user does not input two conditional expressions one by one, a desired device cross-reference or device dependence directed graph can be obtained by inputting one conditional expression.
- the present embodiment relates to a technique that makes it possible to extract a POU that exists in a device cross-reference or device dependency directed graph. That is, as shown in FIG. 71, for example, the user designates the device cross reference obtained by executing the analysis command POU_READ and the subsequent analysis command VAR_REF as the second argument, and designates the analysis command POU_READ as the first argument. Then, by executing the equation number, a POU collection can be obtained again. The number of POU elements constituting the POU collection obtained again can be more limited than the POU elements of the POU collection obtained by executing the initial analysis command POU_READ.
- the user can obtain the POU collection again by specifying the device dependency directed graph as the second argument, specifying the analysis command POU_READ as the first argument, and executing the expression number. Even in this case, the number of POU elements constituting the collection of POUs obtained again can be further limited.
- the user designates the POU to be analyzed as the first argument and designates the variable (device) as the analysis condition as the second argument. Not all POUs specified in the argument include the variable (device) specified in the second argument. Therefore, when the user specifies all POUs constituting the program in the first argument and the cross reference of the variable (device) specified in the second argument is obtained, those variables (device) are used.
- the technique described below is used in the present embodiment.
- the user designates the POU to be analyzed as the first argument and designates the variable (device) as the starting point of the dependence analysis as the second argument. Not all POUs specified by the first argument are related to the device dependence directed graph of the extraction result. Therefore, when the user designates all POUs constituting the program with the first argument and a device dependence directed graph is obtained starting from the variable (device) designated with the second argument, the device dependence directed graph is obtained.
- the technique described below in this embodiment is applied.
- the formula number S034 in FIG. 54 is a collection of POUs read out in the formula number S020 in FIG. 44, and therefore, variables (devices) M [0-9] and M [20- in all POUs constituting the program. 29] shows an example of designating device cross reference extraction. 54 shows an example in which a list of POUs existing in the result of the formula number S034 is extracted.
- FIG. 58 shows a processing flow of the analysis command POU_READ executed by the POU list extraction processing execution unit 14 in FIG.
- the part 14 checks whether or not the target data type is a device cross reference. If it is not a device cross reference, the part 14 performs the processing flow of FIG. On the other hand, if the target data type is a device cross reference, the same unit 14 performs processing to extract and output a collection of POUs existing in the device cross reference.
- the expression number S036 in FIG. 54 is an example of designating extraction of the device dependency directed graph starting from the variable (device) M4095 in the collection of POUs read out by the expression number S020, and therefore, in all POUs constituting the program.
- the next equation number S037 shows an example of designating the extraction of the cross-reference relating to the device existing in the extraction result of the equation number S036.
- the next equation number S038 shows the extraction result of the equation number S037.
- An example of extracting a list of existing POUs is shown. The processing of each of these formula numbers is as already described.
- FIG. 59 shows a processing flow of the analysis command POU_READ executed by the POU list extraction processing execution unit 14 in FIG.
- the part 14 checks whether or not the target data type is a device dependence directed graph. If the data type is not the device dependence directed graph, the unit 14 performs the processing flow of FIG. On the other hand, if the target data type is a device dependency directed graph, the same unit 14 extracts the device cross reference by applying the analysis command VAR_REF shown in FIG. 56 to the device dependency directed graph.
- the processing flow of the analysis command POU_READ shown in FIG. 58 is applied to the device cross-reference that has been extracted, and processing for extracting and outputting the POU collection is performed.
- Embodiment 11 It is possible to extract a POU that exists in the extracted device cross-reference or device dependency directed graph.
- the user when extracting POUs existing in the device dependence directed graph, the user can obtain a result by inputting one conditional expression without inputting two conditional expressions.
- the present embodiment relates to a technique that enables specification of logical operations of different data. For example, when a logical product AND between a device cross reference and a device dependency directed graph is designated, first, the device dependency directed graph is converted into a device cross reference, and then a logical product operation process is executed. Similarly, the microprocessor 2 of FIG. 1 may automatically interpret and process the designated equation number by its internal processing.
- the microprocessor 2 first extracts the contents of the same data format as the first argument from the output contents of the second argument and then designates it thereafter.
- the specification of the program analysis support apparatus is determined so as to perform the logical operation of the analyzed command.
- the user first inputs the expression number S018 for extracting the analysis command VAR_REF to the expression number S011, and then sets the conditional expression of the AND of the expression number S005 and the expression number S018 in FIG.
- the same result can be obtained by inputting one conditional expression of formula number S041, even if it is not input as in formula number S040.
- the formula number S042 in FIG. 54 is specified so that the first argument and the second argument have an inverse relationship to the case of the formula number S041. Also in this case, since the analysis command AND is a logical product AND of the device cross reference and the device dependency directed graph, first, the device dependency directed graph is converted into the device cross reference, and then the logical product operation is executed. In addition, it may be automatically interpreted and processed by internal processing. That is, the result is the same between the formula number S041 and the formula number S042.
- FIG. 60 is a flowchart showing a processing flow of the analysis command AND executed by the AND processing execution unit 17 of FIG. If the AND processing execution unit 17 processes the expression number S041 based on the processing flow of FIG. 60, as shown in FIG. 61, the variable (device) M4 indicates the analysis result used in each of the programs MAIN and SUB. A cross reference is obtained.
- Embodiment 12 It is possible to specify logical operations between different data. As a result, it is sufficient for the user to input one conditional expression without having to input a conditional expression for converting to the same data format before specifying a conditional expression for logical operation. Work can be saved.
- FIG. 7 As an example of the screen of the display unit for the user to input program analysis conditions using the input unit, FIG. 7 is shown, and a technique that enables creation of a cross reference that freely combines program analysis conditions Have been described.
- the user since there is no particular restriction on the combination of program analysis conditions, the user can freely combine the program analysis conditions, but conversely, when the user tries to obtain a desired program analysis result, the user himself Therefore, it is necessary to consider combinations of program analysis conditions.
- the configuration of the present invention described so far is used when preparing various types of program analysis functions such as a cross-reference creation function under the same policy as the conventional program analysis support apparatus.
- program analysis functions such as a cross-reference creation function under the same policy as the conventional program analysis support apparatus.
- FIG. 62 is a diagram showing an example (dialog box) of the screen of the display unit for ladder program static slicing.
- This ladder program static slicing function is dedicated to extract the device dependency directed graph in the analysis target range POU specified by the user, and to extract the list (cross reference) of variables (devices) existing in the directed graph. This is a function that is provided professionally or professionally.
- the logical product of the forward device dependency directed graph and the backward device dependency directed graph is obtained. It is a specification that a device dependence directed graph obtained by processing AND is extracted.
- the user inputs a variable (device) that is the start point of the device dependency directed graph to be extracted. If the user wants to extract a device dependency directed graph obtained by processing a logical OR of one or more forward device dependent directed graphs, the user enumerates variables (devices) separated by commas (,). It is.
- the user inputs a variable (device) that becomes the start point of the device dependency directed graph to be extracted. If the user wants to extract a device dependency directed graph obtained by processing a logical OR of one or more backward device dependency directed graphs, the user enumerates variables (devices) separated by commas (,). It is.
- the backward device dependency directed graph is displayed. Extracted as a result.
- a forward device dependency directed graph is extracted as a result.
- the processing related to the ladder program static slicing is performed by the analysis condition execution unit 11 using a command generated internally by the ladder static slicing condition setting unit 294 in response to a user screen input and an operation button start operation on the screen.
- the processing result is realized by a configuration in which the analysis result display unit 20 displays the processing result on the screen of the display unit 4 in FIG.
- FIG. 64 shows a processing flow executed by the ladder static slicing condition setting unit 294. The point that the same unit 294 processes the input content shown in FIG. 62 according to the processing flow of FIG. 64 will be described below.
- step S295 when the user clicks the execute button on the ladder program static slicing screen of FIG. 62, the ladder static slicing condition setting unit 294 starts the following processing.
- step S297 the part 294 confirms whether the POU name is input in the slicing range in the dialog box of FIG. In this example of FIG. 62, the part 294 determines “YES”.
- step S298 the part 294 confirms whether or not there are a plurality of POU names input in the slicing range in the dialog box of FIG. In this example of FIG. 62, the part 294 determines “YES”.
- step S301 the part 294 internally generates and executes the following commands for this example.
- step S301 POU_READ (MAIN) 2)
- S902 POU_READ (SUB4)
- S903 OR (S901, S902)
- the part 294 further internally generates and executes the next command.
- S904 POU_READ (SUB9)
- S905 OR (S903, S904)
- the same unit 294 internally generates and executes various commands one by one, so that in step S301, the same unit 294 copes with generation of a POU collection when a plurality of POU names are input. To do.
- the same unit 294 uses the expression number of the last analysis command internally generated in the process of step S296 as the first argument of the device dependency directed graph extraction process to be processed in the subsequent steps S302 and S307. ,use.
- the part 294 specifies the expression number S905, which is the fifth generated command, as the first argument of the analysis command VAR_FWD and the analysis command VAR_BWD.
- step S303 regarding this example, the part 294 confirms that a variable (device) is input to the forward slicing starting point device of FIG.
- step S306 regarding the present example, the part 294 internally generates and executes the following command.
- the same unit 294 uses the expression number of the last command internally generated in step S302 as the first argument of the AND process between the device dependence directed graphs processed in step S312. In this example, the part 294 specifies the expression number S908 as the first argument of the AND process.
- step S308 regarding this example, the part 294 confirms that a variable (device) is input to the backward slicing starting point device in FIG.
- step S309 the part 294 confirms that there are not a plurality of devices input to the backward slicing starting point device in FIG. 62 (determination of “NO”), and proceeds to step S310. To do.
- step S310 regarding the present example, the part 294 internally generates and executes the following command.
- S909 VAR_BWD (S905, Y234)
- the same unit 294 uses the expression number of the last command generated internally in step S307 as the second argument of the AND process between the device dependence directed graphs processed in step S312.
- the part 294 specifies the expression number S909 as the second argument of AND.
- step S312 the same unit 294 takes the expression number of the last command internally generated in step S302 as the first argument and uses the expression number of the last command internally generated in step S307 as the second argument.
- An analysis command AND as an argument is internally generated and executed.
- step S302 AND (S908, S909)
- step S307 the same unit 294 uses the processing result of the last command internally generated in step S307 as it is as the processing result of step S312. To do.
- step S307 If there is no internally generated command in step S307, the same part 294 uses the processing result of the last command internally generated in step S302 as it is as the processing result of step S312. To do.
- step S302 If there is no internally generated command in either step S302 or step S307, the part 294 sets the processing result in step S312 to be empty.
- the ladder static slicing condition setting unit 294 transmits the result of the device dependency directed graph obtained by the above processing to the analysis result display unit 20, and the same unit 20 draws the result of the vice dependency directed graph.
- the display signal is output to the display unit 4 in FIG. 1, and as a result, the result of the vice dependency directed graph is displayed on the screen of the display unit 4.
- the part 294 internally generates and executes an analysis command VAR_REF with the expression number S910 of the last command executed by the part 294 as a first argument. At that time, the same unit 294 extracts the cross-reference of all variables (devices) existing in the device dependence directed graph without specifying anything as the second argument.
- the developer of the program analysis support apparatus can reduce the time required for the work by improving the efficiency of the work for the user to specify the location to be edited in the program change or the analysis of the malfunctioning operation. Therefore, it is possible to reduce (shorten) the man-hours (cost and period) for developing the program analysis support apparatus. It becomes easy to prepare various program analysis functions such as a cross reference creation function for the program analysis support apparatus.
- program analysis functions such as a cross-reference creation function are prepared for the program analysis support device, so that the user can change the place to be edited in the analysis of the program change or malfunction operation.
- the work for specifying can be made efficient, and the time required for the work can be shortened.
- the data format extracted by the new analysis function is the program analysis support apparatus of the present invention. If it is a new data format that is not yet available, it is necessary to define AND / OR / NOT logical operations for the analysis result, and so on, and inherit the features of the program analysis support device of the present invention. There is a need to do so.
- the present embodiment relates to a technique for adding a new analysis function (analysis command) to such a program analysis support apparatus of the present invention.
- variable (device) is specified as the second argument of the analysis command VAR_REF.
- an analysis result of the program analysis function processed by the program analysis support apparatus of the present invention can be designated.
- the microprocessor 2 internally processes the analysis command POU_READ. Then, the analysis command VAR_REF may be processed using the most basic processing mode. That is, the microprocessor 2 can realize the processing in this case by a combination of other basic processing modes (indicated by ⁇ in FIG. 66).
- FIG. 67 illustrating the device dependence directed graph extraction command VAR_FWD will be described.
- the device dependence directed graph shows only the case of the forward analysis command VAR_FWD. This is merely for convenience, and the same contents are valid for the backward analysis command VAR_BWD.
- a variable (device) is designated as the second argument of the analysis command VAR_FWD. In the first argument of the command, the user can specify the analysis result of the program analysis function processed by the program analysis support apparatus of the present invention.
- the microprocessor 2 internally processes the analysis command POU_READ. After that, the analysis command VAR_FWD may be processed in the most basic processing form. That is, the microprocessor 2 can realize the processing in this case by a combination of other basic processing modes (indicated by ⁇ in FIG. 67).
- the microprocessor 2 can also be realized by a combination of other basic processing forms (see FIG. 67 is similarly indicated by ⁇ ).
- FIG. 68 illustrating the analysis command POU_READ for extracting the POU collection will be described.
- nothing is specified as the second argument of the analysis command POU_READ.
- the user can designate the analysis result of the program analysis function processed by the program analysis support apparatus of the present invention as the first argument.
- the microprocessor 2 internally processes the analysis command POU_READ. Then, the processing may be performed in the basic processing mode of the analysis command POU_FWD. That is, the microprocessor 2 can realize the processing in this case by a combination of other basic processing modes (indicated by ⁇ in FIG. 69).
- FIG. 70 illustrating the function of performing a logical operation AND on these analysis results will be described below.
- FIG. 70 only the analysis command AND is shown regarding the logical operation, but the same applies to the analysis commands OR and NOT, which are other logical operations.
- each program analysis function unit of the program analysis support apparatus is any one of four of a device cross reference, a device dependency directed graph, a POU collection, and a POU call dependency directed graph.
- the processing flow in this case is disclosed in the corresponding embodiment described above.
- the analysis command AND is specified. It can also be interpreted that there is an intention to extract AND processing of the device cross-reference of the first argument and the device cross-reference related to the device dependence directed graph of the second argument as a result. This is as described in the twelfth embodiment. In such a case, even if the data format of the first argument is different from the data format of the second argument, the closest interpretation process may be defined. As shown in FIG.
- the important points of the present invention are the basic processing of the program analysis function unit in the microprocessor 2 in FIG. 1 (processing indicated by ⁇ or ⁇ in FIG. 70),
- the process that can be realized by the combination of the above basic processes (the process indicated by ⁇ in FIG. 70) is clearly defined.
- the process indicated by ⁇ in FIG. 70 is realized by a combination of the processes indicated by “ ⁇ ” or “ ⁇ ”, but never circulates.
- FIG. 71 is obtained.
- the parts (1) to (7) shown in FIG. 65 are defined on the software.
- (1) an analysis command name is defined, and (2) a designation form of the second argument is defined.
- (3) to (7) which is the basic processing form (corresponding to ⁇ or ⁇ ), depending on the combination of other basic processing It should be noted that what is feasible (corresponding to the ⁇ mark), and what is meaning or necessity that cannot be found (corresponding to the cross mark). .
- the data format extracted by the new analysis function is a new data format not yet found in the program analysis support apparatus according to the present invention, AND / OR / NOT logical operation or another program is performed on the analysis result. There is a need to define the function to perform the analysis.
- the part (8) shown in FIG. 65 is defined on the software.
- ⁇ Effect of Embodiment 14> 1 When adding a function unit for performing a new analysis function (analysis command) to the program analysis support apparatus of the present invention, the feature points of the program analysis support apparatus of the present invention are inherited so as not to be damaged. New analysis function processing is defined in the software, enabling program analysis with any combination of program analysis conditions. Based on the analysis results, the user can quickly identify the location to be edited. This makes it possible to improve the efficiency of the work for specifying the location to be edited in the analysis of the program change or the malfunctioning operation, and the time required for the work can be shortened.
- the data format extracted by the functional part that executes the new analysis function is a new data format that is not yet available in the program analysis support apparatus of the present invention, AND / OR / NOT for the analysis result.
- the new analysis function and the processing of each analysis function of the program analysis support apparatus of the present invention are defined so as to inherit the feature points of the program analysis support apparatus of the present invention so that logical operations are possible. Therefore, it is possible to analyze the program by freely combining the program analysis conditions, and the user can quickly specify the location to be edited based on the analysis result, and can analyze the program change or the malfunction operation thereof. Thus, the work for specifying the location to be edited can be made efficient, and the time required for the work can be shortened.
- the search for patent documents is an iterative process of “applying a search formula to the entire set of patent documents” and “logically operating the result”. Always the entire collection of patent documents.
- the present invention realizes the repetition of “applying a search expression to a population of the entire analysis target program” and “logically operating the result” even in program analysis.
- the present invention realizes that the search target population is always “a different search expression is applied to a certain result” in addition to the entire analysis target program.
- the search for patent documents is also a set of patent documents.
- the result of “applying a search formula to the set of patent documents as a whole” is also a set of patent documents.
- the result of “applying a search expression to” is a set of various data types.
- the present invention makes it possible to repeat “apply a search expression (analysis condition expression) to a population”, “apply another search expression to the result”, and “logically operate those results”. Thus, the desired program analysis is realized.
- the program analysis support apparatus includes a programmable controller, a motion controller, a numerical controller controller, an inspection apparatus controller, various industrial controllers such as a display, or a measurement executed in a microcomputer.
- a control program analyze the past measurement control program to develop a new measurement control program, or edit / change the program when developing or debugging the measurement control program. It is suitable for application to improve efficiency.
- 1 program analysis support device 2 microprocessor, 3 data storage memory, 4 display section, 5 input section, 6 storage section, 10 analysis condition setting section, 11 analysis condition execution section, 12 variable use list extraction process execution section, 13 variables Dependency extraction processing execution unit, 14 POU list extraction processing execution unit, 15 POU dependency extraction processing execution unit, 16 Analysis result logical operation processing execution unit, 17 AND processing execution unit, 18 OR processing execution unit, 19 NOT processing execution unit , 20 Analysis result display section, 21 Variable use list display section, 22 Variable dependency display section, 23 POU list display section, 24 POU dependency display section, 294 Ladder static slicing condition setting section.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Programmable Controllers (AREA)
Abstract
Description
図1は、後述する各実施の形態に共通する、本発明に係るプログラム解析支援装置のハードウェア構成を示すブロック図である。図1に於いて、プログラム解析支援装置1は、(1)プログラム解析支援装置1の各機能を実行するマイクロプロセッサ2、(2)データを一時的に格納するための、例えばDRAMより成るデータ格納メモリ3、(3)液晶ディスプレイ等のディスプレイ装置より成る表示部4、(4)マウス及び/又はキーボード等の入力装置より成る入力部5、及び、(5)解析対象の計測制御プログラム及びプログラム解析支援装置の各機能を実現するためのプログラム解析支援用プログラム等のプログラム又は解析結果等のデータをそれぞれファイルとして記憶・保持する、ハードディスク等の記憶装置より成る保存部6を、備えている。そして、各部2~6は、システムバスSBを通じて相互に接続されている。
次に、プログラム解析条件の一つを成す解析コマンドの処理内容について記載する。
以上に記載した通り、クロスリファレンス(指定デバイスの使用箇所)のコレクション同士の論理演算(AND処理/OR処理/NOT処理)を実現可能にしたことにより、所望のクロスリファレンスを抽出することが出来る。
本実施の形態に於いては、プログラムに於ける変数(デバイス)の依存関係の有向グラフを抽出する技術の具体例として、ラダープログラムに於けるデバイスの依存関係の有向グラフを抽出する技術について、以下に記載する。
ラダープログラムを解析対象としたデバイスの前向き依存関係の有向グラフの抽出を可能にし、又、ラダープログラムに於けるPOUのコレクション及びPOUのコレクション同士の論理演算(AND処理/OR処理/NOT処理)の結果を解析対象としたデバイスの前向き依存関係の有向グラフの抽出を可能にしたことにより、プログラム解析に係る作業を省力化することが出来る。
本実施の形態は、ラダープログラムに於ける変数(デバイス)の後向き依存関係の有向グラフを抽出する技術について記載する。
ラダープログラムを解析対象とした変数(デバイス)の後向き依存関係の有向グラフの抽出を可能にし、又、ラダープログラムに於けるPOUのコレクション及びPOUのコレクション同士の論理演算(AND処理/OR処理/NOT処理)の結果を解析対象とした変数(デバイス)の後向き依存関係の有向グラフの抽出を可能にしたので、プログラム解析に係る作業を省力化することが出来る。
本実施の形態では、ラダープログラムに於けるデバイスの依存関係の有向グラフ同士の論理演算(論理和OR処理)を可能にする技術について記載する。
1)ラダープログラムに於ける変数(デバイス)の依存関係の有向グラフ同士の論理演算(論理和OR処理)を可能としたことにより、所望のデバイス依存関係有向グラフを抽出することが出来、プログラム解析に係る作業を省力化することが出来る。
本実施の形態では、ラダープログラムに於けるデバイスの依存関係の有向グラフ同士の論理積演算(論理積AND処理)を可能にする技術が、記載される。
1)ラダープログラムに於けるデバイスの依存関係の有向グラフ同士の論理演算(論理積AND処理)を可能としたことにより、所望のデバイス依存関係有向グラフを抽出することが出来、プログラム解析に係る作業を省力化することが出来る。
本実施の形態では、ラダープログラムから抽出したデバイス依存関係の有向グラフに存在するデバイスに関するクロスリファレンスの抽出を可能にする技術について記載する。
1)指定した変数(デバイス)に関して依存関係のある変数(デバイス)のクロスリファレンスを抽出することが可能となり、所望のクロスリファレンスを抽出することが出来る。
本実施の形態は、ラダープログラムに於けるサブルーチンコール(あるPOUから別のPOUをコールする。)の依存関係(以下「POUコール依存関係」と言う。)の有向グラフを抽出する技術に関する。
ラダープログラムを解析対象としたPOUコールの前向き依存関係の有向グラフの抽出を可能としたことにより、プログラム解析に係る作業を省力化することが出来る。
解析コマンドPOU_BWDは、ユーザが指定したPOUをコールするPOUを(更には、そのPOUをコールするPOUを、…を再帰的に)抽出し、その依存関係を示す有向グラフ(POUコール後向き依存関係の有向グラフ)を得るためのコマンドである。解析コマンドPOU_BWDに対しては、ユーザは、解析対象となるプログラム範囲を指定する式番号を解析対象セルに指定し、POUコール後向き依存関係有向グラフの起点となるPOUを解析条件セルに指定する。
ラダープログラムを解析対象としたPOUコールの後向き依存関係の有向グラフの抽出を可能にしたことにより、プログラム解析に係る作業を省力化することが出来る。
本実施の形態は、ラダープログラムに於けるPOUコール依存関係の有向グラフ同士の論理演算(論理和OR処理又は論理積AND処理)を可能にする技術に関する。
ラダープログラムに於けるPOUコールの依存関係の有向グラフ同士の論理演算(論理和OR処理)を可能としたことにより、所望のPOUコール依存関係有向グラフを抽出することが出来、プログラム解析に係る作業を省力化することが出来る。
本実施の形態は、POUコール依存関係有向グラフに存在するPOUを対象として、デバイスクロスリファレンス又はデバイス依存関係有向グラフを抽出することを可能にする技術に関する。
ラダープログラムに於けるPOUコール依存関係有向グラフに対して、デバイスクロスリファレンス又はデバイス依存関係有向グラフを抽出することが可能となる。又、POUコール依存関係有向グラフから抽出されたPOU要素をユーザが一々入力する手間を省くことが出来る。更には、ユーザが一々2つの条件式を入力しなくとも、1つの条件式の入力により所望のデバイスクロスリファレンス又はデバイス依存関係有向グラフを得ることが出来る。
本実施の形態は、デバイスクロスリファレンス又はデバイス依存関係有向グラフに存在するPOUを抽出することを可能にする技術に関する。即ち、図71に示す様に、例えば、ユーザは、解析コマンドPOU_READとそれに引き続く解析コマンドVAR_REFとの実行により得られたデバイスクロスリファレンスを第2引数として指定し、第1引数に解析コマンドPOU_READを指定して当該式番号を実行させることにより、再度、POUのコレクションを得ることが出来る。この再度に得られたPOUのコレクションを構成するPOU要素の数は、当初の解析コマンドPOU_READの実行により得られたPOUコレクションのPOU要素よりも、より限定され得る。同様に、ユーザは、デバイス依存関係有向グラフを第2引数として指定し、第1引数に解析コマンドPOU_READを指定して当該式番号を実行させることにより、再度、POUのコレクションを得ることが出来、この場合にも再度に得られたPOUのコレクションを構成するPOU要素の数をより限定化させることが出来る。
抽出したデバイスクロスリファレンス又はデバイス依存関係有向グラフに存在するPOUを抽出することが可能となる。
本実施の形態は、異なるデータの論理演算の指定を可能にする技術に関する。例えば、デバイスクロスリファレンスとデバイス依存関係有向グラフとの論理積ANDが指定された場合には、先ず、デバイス依存関係有向グラフをデバイスクロスリファレンスに変換した上で、次に、論理積演算の処理を実行する様に、図1のマイクロプロセッサ2は、その内部処理により、指定された式番号を自動的に解釈して処理すれば良い。
異なるデータ同士の論理演算の指定が可能となる。これによって、ユーザは論理演算の条件式を指定する前に、同じデータ形式に変換するための条件式を一々入力しなくとも、1つの条件式の入力で事足りることになるので、プログラム解析に係る作業を省力化することが出来る。
これまでに、ユーザが入力部を用いてプログラム解析条件を入力するための表示部の画面の一例として、図7を示し、プログラム解析条件を自由に組み合わせたクロスリファレンスの作成を可能にする技術について記載してきた。この場合、プログラム解析条件の組み合わせに特に制約はないため、ユーザはプログラム解析条件を自由に組み合わせることが可能であるが、逆に、ユーザが所望のプログラム解析結果を得ようとすると、ユーザが自分でプログラム解析条件の組み合わせを考える必要性がある。
2)S902=POU_READ(SUB4)
3)S903=OR(S901,S902)
本例のステップS301の適用に於いて、同部294は、更に次のコマンドを内部的に生成して実行する。
5)S905=OR(S903,S904)
以上の様に同部294が各種コマンドの生成・実行を内部的に逐一行うことにより、ステップS301に於いて、同部294は、複数のPOU名称が入力された場合のPOUコレクションの生成に対処する。
7)S907=VAR_FWD(S905,X89)
8)S908=OR(S906,S907)
同部294は、ステップS302に於いて内部的に生成した最後のコマンドの式番号を、ステップS312に於いて処理するデバイス依存関係有向グラフ同士のAND処理の第1引数として使用する。この例では、同部294は、式番号S908を、AND処理の第1引数として指定する。
同部294は、ステップS307に於いて内部的に生成した最後のコマンドの式番号を、ステップS312に於いて処理するデバイス依存関係有向グラフ同士のAND処理の第2引数として使用する。この例では、同部294は、式番号S909を、ANDの第2引数として指定する。
但し、同部294は、ステップS302に於いて内部的に生成したコマンドが無い場合には、ステップS307に於いて内部的に生成した最後のコマンドの処理結果を、そのまま、ステップS312の処理結果とする。
但し、未だデバイス依存関係有向グラフが得られていなければ(処理されていなければ)、同部294は、処理結果を空とする。
ユーザが自分でプログラム解析条件の組み合わせを考える必要性が無く、所望のプログラム解析結果を得ることを可能にする。従って、多種多様なクロスリファレンス作成機能等のプログラム解析機能を用意するための労力を大幅に軽減することが出来る。
これまでに、所定のプログラムPOUのコレクションを対象としたデバイスクロスリファレンスの抽出、デバイス依存関係有向グラフの抽出、及びPOUコール依存関係有向グラフの抽出の各プログラム解析機能について記載した。そして、それらの解析結果に対して論理演算(AND/OR/NOT)を行う機能についても記載した。更に、それらのプログラム解析機能の結果に対して、更にプログラム解析処理を行う機能についても、記載した。
1)本発明のプログラム解析支援装置に対して、新しい解析機能(解析コマンド)を行う機能部を追加する場合に、本発明のプログラム解析支援装置の特徴点を継承して損なわない様に、その新しい解析機能の処理がソフトウェア上に於いて定義されることで、プログラム解析条件を自由に組み合わせたプログラム解析が可能となり、この解析結果に基づいて、ユーザは、編集対象となる場所を迅速に特定することが可能となり、プログラムの変更又はその不具合動作の解析等に於いて編集対象となる場所を特定するための作業を効率化し、作業に要する時間を短縮化することが出来る。
以上の通り、本発明は、プログラム解析条件を自由に組み合わせることが可能なプログラム解析支援装置を実現するものであるが、本発明の特徴点と、既述したPATOLIS(登録商標)の様な特許文献の検索と比較すると、その相違点は、次の通りである。
Claims (21)
- n(nは2以上の整数)個のプログラムモジュールより構成されるプログラムに関して、ユーザにより指定された前記プログラムのプログラム解析条件を入力し保持する解析条件設定部(10)と、
前記プログラム解析条件に基づいて前記プログラムの解析処理を実行する解析条件実行部(11)と、
前記解析条件実行部によって処理された解析結果を表示するための表示データを作成し出力する解析結果表示部(20)とを備え、
前記解析条件実行部は、
前記n個のプログラムモジュールの内でm(2≦m≦n)個のプログラムモジュールのコレクションを与える第1信号を出力するPOU一覧抽出処理実行部(14)と、
前記POU一覧抽出処理実行部が出力する前記m個のプログラムモジュールのコレクションを解析対象範囲として、前記m個のプログラムモジュールの各々の中に記載される各変数のクロスリファレンスを与える第2信号を抽出する変数使用一覧抽出処理実行部(12)とを備えることを特徴とする、
プログラム解析支援装置。 - 請求項1記載のプログラム解析支援装置であって、
前記POU一覧抽出処理実行部は、前記第2信号が与える前記各変数のクロスリファレンス内に存在するk(2≦k<m)個のプログラムモジュールのコレクションを与える第3信号を出力することを特徴とする、
プログラム解析支援装置。 - 請求項2記載のプログラム解析支援装置であって、
前記m個は前記n個に等しいことを特徴とする、
プログラム解析支援装置。 - プログラムモジュールより構成されるプログラムに関して、ユーザにより指定された前記プログラムのプログラム解析条件を入力し保持する解析条件設定部(10)と、
前記プログラム解析条件に基づいて前記プログラムの解析処理を実行する解析条件実行部(11)と、
前記解析条件実行部によって処理された解析結果を表示するための表示データを作成し出力する解析結果表示部(20)とを備え、
前記解析条件実行部は、
前記プログラムモジュール中に記載される各変数の依存関係有向グラフを与える信号を出力する変数依存関係抽出処理実行部(13)を備えることを特徴とする、
プログラム解析支援装置。 - 請求項4記載のプログラム解析支援装置であって、
前記解析条件実行部は、
前記プログラムモジュールのコレクションを与える信号を出力するPOU一覧抽出処理実行部(14)を更に備えており、
前記変数依存関係抽出処理実行部は、前記プログラムモジュールのコレクションを解析対象範囲として、前記各変数の依存関係有向グラフを与える前記信号を出力することを特徴とする、
プログラム解析支援装置。 - 請求項5記載のプログラム解析支援装置であって、
前記POU一覧抽出処理実行部は、前記各変数の依存関係有向グラフに存在するプログラムモジュールのコレクションを与える信号を抽出することを特徴とする、
プログラム解析支援装置。 - 請求項6記載のプログラム解析支援装置であって、
前記POU一覧抽出処理実行部が出力する前記プログラムモジュールのコレクションとは、前記プログラムを構成する全てのプログラムモジュールのコレクションであることを特徴とする、
プログラム解析支援装置。 - 請求項4に記載のプログラム解析支援装置であって、
前記解析条件実行部は、
前記各変数の依存関係有向グラフに存在する各変数のクロスリファレンスを与える信号を抽出する変数使用一覧抽出処理実行部(12)を更に備えることを特徴とする、
プログラム解析支援装置。 - 複数個のプログラムモジュールより構成されるプログラムに関して、ユーザにより指定された前記プログラムのプログラム解析条件を入力し保持する解析条件設定部(10)と、
前記プログラム解析条件に基づいて前記プログラムの解析処理を実行する解析条件実行部(11)と、
前記解析条件実行部によって処理された解析結果を表示するための表示データを作成し出力する解析結果表示部(20)とを備え、
前記解析条件実行部は、
前記複数個のプログラムモジュールの呼び出しの関係を依存関係有向グラフとして与える信号を抽出するPOU依存関係抽出処理実行部(15)を備えることを特徴とする、
プログラム解析支援装置。 - 請求項9記載のプログラム解析支援装置であって、
前記解析条件実行部は、
前記複数個のプログラムモジュールのコレクションを与える信号を出力するPOU一覧抽出処理実行部(14)を更に備えており、
前記POU依存関係抽出処理実行部は、前記複数個のプログラムモジュールのコレクションを解析対象範囲として、前記複数個のプログラムモジュールの呼び出しに関する前記依存関係有向グラフを与える信号を抽出することを特徴とする、
プログラム解析支援装置。 - 請求項10記載のプログラム解析支援装置であって、
前記POU一覧抽出処理実行部は、前記POU依存関係抽出処理実行部が出力する前記複数個のプログラムモジュールの呼び出しに関する前記依存関係有向グラフに存在するプログラムモジュールのコレクションを与える信号を出力することを特徴とする、
プログラム解析支援装置。 - 請求項9に記載のプログラム解析支援装置であって、
前記解析条件実行部は、
前記POU依存関係抽出処理実行部が出力する前記複数個のプログラムモジュールの呼び出しに関する前記依存関係有向グラフに存在するプログラムモジュールに存在する各変数のクロスリファレンスを与える信号を抽出する変数使用一覧抽出処理実行部(12)を更に備えることを特徴とする、
プログラム解析支援装置。 - 請求項9に記載のプログラム解析支援装置であって、
前記解析条件実行部は、
前記複数個のプログラムモジュールの呼び出しに関する前記依存関係有向グラフに存在するプログラムモジュールのコレクションを解析対象範囲として、当該プログラムモジュール中に記載される各変数の依存関係有向グラフを与える信号を出力する変数依存関係抽出処理実行部(13)を更に備えたことを特徴とする、
プログラム解析支援装置。 - 請求項1、請求項4および請求項9の何れかに記載のプログラム解析支援装置であって、
前記解析条件実行部に対して、新しいプログラム解析機能処理実行部を更に備えさせるに際しては、
前記新しいプログラム解析機能処理実行部は、前記新しいプログラム解析機能処理実行部の出力結果及び前記解析条件実行部に既に備わっているプログラム解析機能処理実行部分の出力結果を解析対象範囲として、解析処理を実行するか否かが定義されていることを特徴とする、
プログラム解析支援装置。 - 請求項1、請求項4および請求項9の何れかに記載のプログラム解析支援装置であって、
前記解析条件実行部に対して、新しいプログラム解析機能処理実行部を更に備えさせるに際しては、
前記解析条件実行部に既に備わっているプログラム解析機能処理実行部分が、前記新しいプログラム解析機能処理実行部の出力結果を解析対象として、解析処理を実行するか否かが定義されていることを特徴とする、
プログラム解析支援装置。 - 請求項1、請求項4および請求項9の何れかに記載のプログラム解析支援装置であって、
前記解析条件実行部は、
前記解析条件実行部が備えるプログラム解析機能によって処理された解析結果同士の論理演算を処理する解析結果論理演算処理実行部(16)を更に備えることを特徴とする、
プログラム解析支援装置。 - 請求項16記載のプログラム解析支援装置であって、
前記解析結果論理演算処理実行部は、論理演算の対象として指定された、前記解析条件実行部が備えるプログラム解析機能によって処理された解析結果の一方の種別が他方の種別と相違している場合には、前記解析結果の一方を解析対象として前記解析条件実行部が備えるプログラム解析機能によって更に解析処理を行うことにより、前記解析結果の一方の種別を前記解析結果の他方の前記種別と同じにした上で、前記論理演算の処理を行うことを特徴とする、
プログラム解析支援装置。 - 請求項16に記載のプログラム解析支援装置であって、
前記解析条件実行部に対して、新しいプログラム解析機能処理実行部を更に備えさせるに際しては、
前記新しいプログラム解析機能処理実行部の出力結果は、前記解析結果論理演算処理実行部が処理する前記論理演算の対象として定義されていることを特徴とする、
プログラム解析支援装置。 - 請求項1、請求項4および請求項9の何れかに記載のプログラム解析支援装置であって、
前記解析条件設定部は、前記プログラム解析条件を、固有の式番号を有する条件式の形式で入力することを特徴とする、
プログラム解析支援装置。 - 請求項1、請求項4および請求項9の何れかに記載のプログラム解析支援装置であって、
前記解析条件設定部は、入力された前記プログラム解析条件を、固有の式番号を有する条件式の形式に変換して入力処理を実行することを特徴とする、
プログラム解析支援装置。 - 請求項19または請求項20に記載のプログラム解析支援装置であって、
前記解析結果表示部は、前記条件式の解析結果毎に、当該解析結果の種別に応じた種別用表示部により当該解析結果を表示することを特徴とする、
プログラム解析支援装置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011500447A JP5138090B2 (ja) | 2009-02-18 | 2009-08-11 | プログラム解析支援装置 |
DE112009004306T DE112009004306T5 (de) | 2009-02-18 | 2009-08-11 | Programmanalysenunterstützungsvorrichtung |
CN200980156859.9A CN102317877B (zh) | 2009-02-18 | 2009-08-11 | 程序分析支援装置 |
US13/144,037 US9087151B2 (en) | 2009-02-18 | 2009-08-11 | Program analysis support device |
TW098134579A TWI436180B (zh) | 2009-02-18 | 2009-10-13 | 程式分析支援裝置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009034895 | 2009-02-18 | ||
JP2009-034895 | 2009-02-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2010095289A1 true WO2010095289A1 (ja) | 2010-08-26 |
Family
ID=42633586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2009/064163 WO2010095289A1 (ja) | 2009-02-18 | 2009-08-11 | プログラム解析支援装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9087151B2 (ja) |
JP (1) | JP5138090B2 (ja) |
CN (1) | CN102317877B (ja) |
DE (1) | DE112009004306T5 (ja) |
TW (1) | TWI436180B (ja) |
WO (1) | WO2010095289A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016194099A1 (ja) * | 2015-06-01 | 2016-12-08 | 三菱電機株式会社 | デバッグ装置、デバッグ方法及びデバッグプログラム |
JP2018197951A (ja) * | 2017-05-24 | 2018-12-13 | 三菱電機株式会社 | プラント監視制御システムの保守計算機及び保守プログラム |
US11797420B2 (en) | 2020-04-14 | 2023-10-24 | Mitsubishi Electric Corporation | Debug support program storage medium, debug support apparatus, and debug support method |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009237762A (ja) * | 2008-03-26 | 2009-10-15 | Toshiba Corp | プログラム解析装置、プログラム解析方法および解析プログラム |
JP5762154B2 (ja) * | 2011-06-08 | 2015-08-12 | 三菱電機株式会社 | 情報処理装置及び情報処理方法及びプログラム |
JP5362148B1 (ja) * | 2012-12-17 | 2013-12-11 | 三菱電機株式会社 | プログラム解析支援装置及び制御装置 |
WO2014102700A1 (en) * | 2012-12-24 | 2014-07-03 | Abb Global Industries And Services Limited | A method for performing impact analysis of change in a control application and a system therefor |
CN105144003B (zh) * | 2013-03-04 | 2017-04-05 | 三菱电机株式会社 | 程序开发辅助装置及其方法 |
CN104570940A (zh) * | 2013-10-24 | 2015-04-29 | 鸿富锦精密工业(深圳)有限公司 | Cnc加工调机系统及方法 |
DE112014003082B4 (de) * | 2014-06-02 | 2017-05-18 | Mitsubishi Electric Corporation | Programmierbares Steuerungssystem, programmierbare Steuerung, Programmanzeigevorrichtung und Programmanzeigeverfahren |
CN107250933B (zh) * | 2015-04-23 | 2019-12-13 | 三菱电机株式会社 | 定位控制装置 |
JP6309927B2 (ja) * | 2015-09-16 | 2018-04-11 | ファナック株式会社 | Ncプログラム運転と連動した関連信号の自動トレース機能を有する数値制御装置 |
JP6407919B2 (ja) * | 2016-06-15 | 2018-10-17 | ファナック株式会社 | 数値制御装置および変数判定方法 |
CN111381813B (zh) * | 2018-12-28 | 2023-03-14 | 抖音视界有限公司 | 前端页面调试方法、装置、计算机设备和存储介质 |
JP7183877B2 (ja) * | 2019-03-13 | 2022-12-06 | オムロン株式会社 | グラフ表示装置、グラフ表示方法、及びグラフ表示プログラム |
JP7188198B2 (ja) * | 2019-03-13 | 2022-12-13 | オムロン株式会社 | グラフ表示装置、グラフ表示方法、及びグラフ表示プログラム |
US11300612B2 (en) | 2019-04-18 | 2022-04-12 | Mitsubishi Electric Corporation | Debug support device, debug support method, and computer readable storage medium |
KR102602889B1 (ko) * | 2019-09-04 | 2023-11-16 | 주식회사 워트인텔리전스 | 검색 키워드 추천 및 확장 방법 |
CN114416564A (zh) * | 2022-01-20 | 2022-04-29 | 南方电网数字电网研究院有限公司 | 一种微服务系统中循环依赖检测方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0916389A (ja) * | 1995-07-03 | 1997-01-17 | Nippon Telegr & Teleph Corp <Ntt> | プログラム部品自動生成方法及び装置 |
JP2004005060A (ja) * | 2002-05-30 | 2004-01-08 | Digital Electronics Corp | 制御プログラム検索装置、および、そのプログラム |
JP2005316986A (ja) * | 2004-03-31 | 2005-11-10 | Omron Corp | 開発支援装置およびアウトライン情報生成プログラムならびにアウトライン情報生成方法 |
JP2007122370A (ja) * | 2005-10-27 | 2007-05-17 | Canon Inc | プロジェクト情報管理システム |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2526692B2 (ja) * | 1990-03-02 | 1996-08-21 | 三菱電機株式会社 | プログラマブルコントロ―ラのプログラミング方法 |
WO2000070531A2 (en) * | 1999-05-17 | 2000-11-23 | The Foxboro Company | Methods and apparatus for control configuration |
JP3631681B2 (ja) | 2001-02-23 | 2005-03-23 | 株式会社ビーコンインフォメーションテクノロジー | データ管理システム、データ管理方法及びコンピュータプログラム |
JP3887550B2 (ja) | 2001-07-25 | 2007-02-28 | 株式会社東芝 | クロスリファレンス構築装置、クロスリファレンス構築方法及びクロスリファレンス構築用プログラム |
US7225037B2 (en) * | 2003-09-03 | 2007-05-29 | Unitronics (1989) (R″G) Ltd. | System and method for implementing logic control in programmable controllers in distributed control systems |
EP1582948B1 (en) | 2004-03-31 | 2009-06-24 | Omron Corporation | Development aid device |
ES2728318T3 (es) * | 2005-02-03 | 2019-10-23 | Mitsubishi Electric Corp | Dispositivo y método de soporte de la generación de código de programa, dispositivo y método de ejecución del programa, y dispositivo y método de procesamiento de la compresión del código de programa y programa para el mismo |
JP4780308B2 (ja) | 2005-03-15 | 2011-09-28 | オムロン株式会社 | 制御プログラム開発支援装置及びコンピュータプログラム |
JP5019021B2 (ja) | 2005-03-15 | 2012-09-05 | オムロン株式会社 | 制御プログラム開発支援装置 |
JP2008293486A (ja) | 2007-04-25 | 2008-12-04 | Hitachi Ltd | ソースコード解析機器、解析プログラムおよび解析方法 |
-
2009
- 2009-08-11 WO PCT/JP2009/064163 patent/WO2010095289A1/ja active Application Filing
- 2009-08-11 DE DE112009004306T patent/DE112009004306T5/de not_active Ceased
- 2009-08-11 US US13/144,037 patent/US9087151B2/en not_active Expired - Fee Related
- 2009-08-11 CN CN200980156859.9A patent/CN102317877B/zh not_active Expired - Fee Related
- 2009-08-11 JP JP2011500447A patent/JP5138090B2/ja not_active Expired - Fee Related
- 2009-10-13 TW TW098134579A patent/TWI436180B/zh not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0916389A (ja) * | 1995-07-03 | 1997-01-17 | Nippon Telegr & Teleph Corp <Ntt> | プログラム部品自動生成方法及び装置 |
JP2004005060A (ja) * | 2002-05-30 | 2004-01-08 | Digital Electronics Corp | 制御プログラム検索装置、および、そのプログラム |
JP2005316986A (ja) * | 2004-03-31 | 2005-11-10 | Omron Corp | 開発支援装置およびアウトライン情報生成プログラムならびにアウトライン情報生成方法 |
JP2007122370A (ja) * | 2005-10-27 | 2007-05-17 | Canon Inc | プロジェクト情報管理システム |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016194099A1 (ja) * | 2015-06-01 | 2016-12-08 | 三菱電機株式会社 | デバッグ装置、デバッグ方法及びデバッグプログラム |
JPWO2016194099A1 (ja) * | 2015-06-01 | 2017-06-22 | 三菱電機株式会社 | デバッグ装置、デバッグ方法及びデバッグプログラム |
JP2018197951A (ja) * | 2017-05-24 | 2018-12-13 | 三菱電機株式会社 | プラント監視制御システムの保守計算機及び保守プログラム |
US11797420B2 (en) | 2020-04-14 | 2023-10-24 | Mitsubishi Electric Corporation | Debug support program storage medium, debug support apparatus, and debug support method |
Also Published As
Publication number | Publication date |
---|---|
US20110270424A1 (en) | 2011-11-03 |
CN102317877B (zh) | 2014-07-09 |
US9087151B2 (en) | 2015-07-21 |
CN102317877A (zh) | 2012-01-11 |
TWI436180B (zh) | 2014-05-01 |
DE112009004306T5 (de) | 2012-06-06 |
JP5138090B2 (ja) | 2013-02-06 |
TW201032011A (en) | 2010-09-01 |
JPWO2010095289A1 (ja) | 2012-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5138090B2 (ja) | プログラム解析支援装置 | |
Hamledari et al. | IFC-based development of as-built and as-is BIMs using construction and facility inspection data: Site-to-BIM data transfer automation | |
US9021428B2 (en) | Troubleshooting visuals and transient expressions in executing applications | |
JP2795244B2 (ja) | プログラムデバッグシステム | |
US9323851B1 (en) | Collaborative modeling environment | |
CN104572463B (zh) | 测试接口信息的方法及装置 | |
US11468223B2 (en) | Model documentation generation system | |
CN110955608B (zh) | 测试数据处理方法、装置、计算机设备和存储介质 | |
CN109800147B (zh) | 一种测试案例生成方法及终端设备 | |
CN116009852A (zh) | 代码构建方法、装置、计算机设备及存储介质 | |
Salmas et al. | HDXmodeller: an online webserver for high-resolution HDX-MS with auto-validation | |
TWI437457B (zh) | 分析目標物件之依賴關係的方法 | |
US9773082B1 (en) | Circuit design employing stamp patterns | |
CN111966575A (zh) | 一种航空机载显示软件的图形自动化测试方法 | |
CN111460235A (zh) | 图谱数据的处理方法、装置、设备及存储介质 | |
Bragagnolo et al. | Challenges for layout validation: Lessons learned | |
CN113326193A (zh) | 一种小程序测试方法及装置 | |
Baumgartner et al. | Large Experiment and Evaluation Tool for WEKA Classifiers. | |
WO2021178402A1 (en) | Automated design tool | |
WO2015001721A1 (ja) | ユーザインタフェース検査方法、装置およびプログラム | |
Röst | Python in proteomics | |
Oliveira et al. | Verification of plastic interactive systems | |
JPH1153391A (ja) | データベースアクセス方法 | |
US20160239277A1 (en) | Field size calculation and color coding display options usable in an emulated integrated development environment (ide) | |
Deissenboeck et al. | The economic impact of software process variations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 200980156859.9 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09840393 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2011500447 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13144037 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 112009004306 Country of ref document: DE Ref document number: 1120090043062 Country of ref document: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 09840393 Country of ref document: EP Kind code of ref document: A1 |