US20180095447A1 - Program development supporting apparatus, program development supporting method, and program development supporting program - Google Patents
Program development supporting apparatus, program development supporting method, and program development supporting program Download PDFInfo
- Publication number
- US20180095447A1 US20180095447A1 US15/438,669 US201715438669A US2018095447A1 US 20180095447 A1 US20180095447 A1 US 20180095447A1 US 201715438669 A US201715438669 A US 201715438669A US 2018095447 A1 US2018095447 A1 US 2018095447A1
- Authority
- US
- United States
- Prior art keywords
- program
- ladder diagram
- circuit element
- connection line
- dimensional coordinates
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/4097—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using design data to control NC machines, e.g. CAD/CAM
- G05B19/4099—Surface or curve machining, making 3D objects, e.g. desktop manufacturing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/056—Programming the PLC
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/4097—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using design data to control NC machines, e.g. CAD/CAM
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4434—Reducing the memory space required by the program code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/51—Source to source
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13052—Display of ladder diagram
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/36—Nc in input of data, input key till input tape
- G05B2219/36038—Ladder program for plc, using functions and motion data
Definitions
- the invention relates to a technique for storage of a ladder diagram program.
- program developers create the ladder diagram program on a personal computer or the like, as disclosed in Patent Literature 1. Then, the program developers output the ladder diagram program from the personal computer or the like to the industrial controller.
- Patent Literature 1 Japanese Patent Publication No. 2009-265750
- the invention provides a technique for storage of the ladder diagram program, which is capable of suppressing the data capacity.
- a program development supporting apparatus of the invention includes a calculation part and a storage part.
- the storage part stores a ladder diagram editing program and a ladder diagram program that has been edited.
- the calculation part executes the ladder diagram editing program to edit the ladder diagram program and stores the ladder diagram program in the storage part.
- the calculation part assigns two-dimensional coordinates to a ladder diagram.
- the calculation part detects two-dimensional coordinates and a type of a circuit element included in the ladder diagram and detects two-dimensional coordinates of a vertical connection line included in the ladder diagram.
- the calculation part stores the circuit element and the vertical connection line in association with the two-dimensional coordinates respectively in the storage part.
- the position of the circuit element, the position and length of the vertical connection line, and the horizontal connection lines connected thereto in the ladder diagram are represented by the two-dimensional coordinates of the circuit element and the vertical connection line. Accordingly, if only the type of the circuit element and the two-dimensional coordinates of the circuit element and the vertical connection line are stored, the ladder diagram program is restored and the data capacity is suppressed as compared with the case of using drawing materials.
- the ladder diagram program can be stored with the data capacity suppressed.
- FIG. 1 is a schematic configuration diagram of the personal computer including the program development supporting apparatus according to an embodiment of the invention.
- FIG. 2 is a diagram for illustrating the concept of the data format when the ladder diagram program is stored.
- FIG. 3 is a diagram showing the original drawing of the ladder diagram program shown in FIG. 2 .
- FIG. 4 is a diagram showing an example of the data when the ladder diagram program is stored.
- FIG. 5 is a flowchart showing the main flow of the ladder diagram storing method according to an embodiment of the invention.
- FIG. 6 is a flowchart showing various detection processes for storing a more specific ladder diagram program.
- FIG. 1 is a schematic configuration diagram of a personal computer including a program development supporting apparatus according to an embodiment of the invention.
- a personal computer 10 includes a program development supporting part 11 , an operation input part 12 , a communication control part 13 , and a display part 14 .
- the operation input part 12 is a mouse or a keyboard
- the display part 14 is a liquid crystal display, etc., for example.
- the communication control part 13 performs control over communication with an industrial controller.
- a ladder diagram program is outputted to the industrial controller (not shown) via the communication control part 13 .
- the ladder diagram program is edited by the program development supporting part 11 , stored in a predetermined data format, and outputted to the industrial controller in the data format.
- the program development supporting part 11 corresponds to the program development supporting apparatus of the invention, and includes a calculation part 111 and a storage part 112 .
- the storage part 112 stores various program groups including a ladder diagram editing program 21 .
- the calculation part 111 is composed of a CPU (Central Processing Unit), etc., for example, and executes the ladder diagram editing program 21 stored in the storage part 112 . Thereby, a ladder diagram editing screen is displayed on the display part 14 for a program developer to edit the ladder diagram program with use of the operation input part 12 .
- the calculation part 111 Upon accepting an operation input of storage (save) via the operation input part 12 during execution of the ladder diagram editing program 21 , the calculation part 111 stores the edited ladder diagram program in a ladder diagram storage part 120 of the storage part 112 . At this time, the ladder diagram program is stored in the predetermined data format obtained by using the following storing method.
- FIG. 2 is a diagram for illustrating the concept of the data format when the ladder diagram program is stored.
- FIG. 3 is a diagram showing an original drawing of the ladder diagram program shown in FIG. 2 .
- FIG. 4 is a diagram showing an example of the data when the ladder diagram program is stored.
- FIG. 3 is merely an example and the configuration of the ladder diagram is not limited thereto.
- the ladder diagram includes a left bus and a right bus.
- the ladder diagram further includes circuit elements, horizontal connection lines, and a vertical connection line. The number of the circuit elements, the horizontal connection lines, and the vertical connection line is determined according to the content of the control to be achieved by the ladder diagram.
- the circuit elements are disposed between the left bus and the right bus, and any of other circuit elements, the left bus, and the right bus is connected by using the horizontal connection lines and the vertical connection line.
- the connection determines the order of the control to be achieved by the ladder diagram.
- the types of the circuit elements are determined by the shapes of the circuit elements.
- the circuit elements (variables) var 1 and var 2 are contacts respectively and the circuit element (variable) var 5 is a coil.
- the circuit element (variable) represented by a rectangle is a function or a function block, and is a MOVE function in FIG. 3 .
- the left bus side of the circuit element (variable) var 1 is connected to the left bus via one horizontal connection line, and the right bus side of the circuit element (variable) var 1 is connected to an EN terminal of the MOVE function via one horizontal connection line.
- An ENO terminal of the MOVE function is connected to the circuit element (variable) var 5 via one horizontal connection line, and the right bus side of the circuit element (variable) var 5 is connected to the right bus via one horizontal connection line.
- the circuit element (variable) var 2 is disposed on the lower side of the circuit element (variable) var 1 .
- the left bus side of the circuit element (variable) var 2 is connected to the left bus via one horizontal connection line, and the right bus side of the circuit element (variable) var 2 is connected to the vertical connection line via one horizontal connection line.
- the vertical connection line is connected to the right bus side of the circuit element (variable) var 1 and the right bus side of the circuit element (variable) var 2 via the horizontal connection lines respectively.
- the circuit element (variable) var 3 is connected to an In terminal of the MOVE function, and the circuit element (variable) var 4 is connected to an Out terminal.
- the left bus, the right bus, the circuit elements, the horizontal connection lines, and the vertical connection line of the ladder diagram are represented by two-dimensional coordinates.
- the value of X increases as it gets closer to the right bus.
- the value of X is sequentially added every time the circuit element is detected.
- the vertical direction of the ladder diagram is set as a Y axis direction.
- the X coordinate of the left bus is defined as “0,” and the name (var 1 , etc.) of the circuit element (variable) and the coordinates of the circuit element (variable) are stored in association with each other. Moreover, the type (contact, etc.) of the circuit element (variable) is also stored in association with the name (var 1 , etc.) of the circuit element (variable) and the coordinates of the circuit element (variable).
- the data format is as shown in FIG. 4 .
- the ladder diagram program is stored based on text data, for example.
- the name of the circuit element (variable), the type of the circuit element (variable), and the coordinates are recorded in association in the text data.
- the name of the circuit element (variable), the type of the circuit element (variable), and the coordinates are collectively recorded in a line.
- the name and coordinates of the function or the function block are collectively recorded in a line, and in the subsequent line, the name of each terminal and the connection target are recorded sequentially for each terminal respectively.
- each circuit element is two-dimensionally arranged with reference to the uppermost position of the left bus, and each circuit element is stored in association with the coordinates thereof. Therefore, when the text data as shown in FIG. 4 is used, the ladder diagram program as shown in FIG. 3 can be easily restored.
- the circuit elements (variables) connected to the function or the function block are recorded as accessory elements of the function or the function block. Accordingly, in comparison with separately detecting these circuit elements (variables) and acquiring the two-dimensional coordinates to provide individual lines for these circuit elements (variables), the method of the invention can reduce the data capacity.
- FIG. 5 illustrates the processes described above in a flowchart.
- the flowchart of FIG. 5 shows the main flow of the ladder diagram program storing method according to an embodiment of the invention.
- Step S 11 the program development supporting part 11 detects the vertical connection line from the edited ladder diagram program and detects the two-dimensional coordinates of the vertical connection line.
- the vertical connection line because which part of the ladder diagram is the vertical connection line has been stored when the ladder diagram program is edited, it may be used. Then, by setting the X axis and the Y axis with the uppermost position of the left bus of the ladder diagram as the origin, as described above, the two-dimensional coordinates can be easily detected. At this time, the horizontal connection lines are also detected in the same manner as the vertical connection line.
- Step S 12 the program development supporting part 11 detects the circuit elements (variables) and detects the types and the two-dimensional coordinates thereof.
- the detection of the circuit elements (variables) and the types like the vertical connection line and the horizontal connection lines, which part of the ladder diagram is the circuit element (variable) has been stored when the ladder diagram program is edited, and the type of the circuit element (variable) has been associated. Therefore, it may be used. Then, by setting the X axis and the Y axis with the uppermost position of the left bus of the ladder diagram as the origin, as described above, the two-dimensional coordinates can be easily detected.
- the detection of the vertical connection line and the horizontal connection lines and the detection of the circuit elements (variables) are not necessarily performed in this order and may be performed at the same time.
- Step S 13 the program development supporting part 11 associates the circuit elements (variables) and the vertical connection line with these two-dimensional coordinates and stores them.
- the stored data is realized by the text data format that is small in capacity.
- the ladder diagram program is stored with a small capacity.
- FIG. 6 is a flowchart showing various detection processes for storing a more specific ladder diagram program.
- Step S 201 the program development supporting part 11 detects the horizontal connection lines from the ladder diagram and lists up the horizontal connection lines. At this time, the program development supporting part 11 lists up the horizontal connection lines that are connected to the left bus sequentially from the upper side to the lower side of the ladder diagram.
- Step S 202 when detecting that the list of the horizontal connection lines is not empty (S 202 : NO), the program development supporting part 11 moves on to Step S 203 .
- Step S 203 the program development supporting part 11 sets the horizontal connection line at the beginning (first) of the list as a current horizontal line.
- Step S 204 the program development supporting part 11 detects the circuit element that is connected to the right bus side (+X side) of the current horizontal line and sets the circuit element as a current circuit element.
- Step S 205 if the program development supporting part 11 detects that the left bus side ( ⁇ X side) of the current horizontal line is connected to the vertical connection line (S 205 : YES), the program development supporting part 11 moves on to Step S 206 . On the other hand, if the program development supporting part 11 detects that the left bus side ( ⁇ X side) of the current horizontal line is not connected to the vertical connection line (S 205 : NO), the program development supporting part 11 moves on to Step S 210 .
- Step S 206 the program development supporting part 11 detects whether the current horizontal line is the minimum element of the vertical connection line. If the program development supporting part 11 detects that the current horizontal line is the minimum element of the vertical connection line (S 206 : YES), the program development supporting part 11 moves on to Step S 207 . On the other hand, if the program development supporting part 11 detects that the current horizontal line is not the minimum element of the vertical connection line (S 206 : NO), the program development supporting part 11 moves on to Step S 208 .
- Step S 207 the program development supporting part 11 sets Y (current element), which is the Y coordinate of the current circuit element (variable), to the minimum Y coordinate in the group of the circuit elements (variables) on the ⁇ X side of the vertical connection line.
- Step S 208 the program development supporting part 11 sets Y (current element) to the maximum Y coordinate in the group of the circuit elements (variables) on the +X side of the vertical connection line.
- Step S 209 the program development supporting part 11 sets the X coordinate of the current circuit element (variable), which is X (current element), to a value obtained by adding “1” to the X coordinate of the circuit element (variable) on the left bus side ( ⁇ X side) of the vertical connection line.
- Step S 209 the X coordinate of the circuit element (variable) that is connected to the vertical connection line on the left bus side ( ⁇ X side) is determined.
- Step S 210 the program development supporting part 11 sets the two-dimensional coordinates (X, Y) of the current circuit element (variable), which is connected to the vertical connection line on the left bus side ( ⁇ X side), to (X (current element), Y (current element)) that have been determined in Step S 207 or Step S 208 and Step S 209 .
- the program development supporting part 11 sets the two-dimensional coordinates (X, Y) of the current circuit element (variable), which is connected to the vertical connection line on the left bus side ( ⁇ X side), to the value obtained by adding “1” to the X coordinate of the circuit element (variable) adjacent to the left bus side ( ⁇ X side) of the current circuit element (variable), and the Y coordinate of the circuit element (variable) adjacent to the left bus side ( ⁇ X side) of the current circuit element (variable).
- Step S 211 the program development supporting part 11 detects whether the right bus side (+X side) of the current circuit element (variable) is connected to the vertical connection line. If the right bus side (+X side) of the current circuit element (variable) is connected to the vertical connection line (S 211 : YES), the program development supporting part 11 moves on to Step S 212 . If the right bus side (+X side) of the current circuit element (variable) is not connected to the vertical connection line (S 211 : NO), the program development supporting part 11 moves on to Step S 221 .
- Step S 212 if the program development supporting part 11 detects that the current circuit element (variable) is on the left bus side ( ⁇ X side) of the vertical connection line and the Y coordinate is maximum in the group of the circuit elements (variables) connected to the vertical connection line on the left bus side ( ⁇ X side) (S 212 : YES), the program development supporting part 11 moves on to Step S 231 .
- the program development supporting part 11 detects that the current circuit element (variable) is on the left bus side ( ⁇ X side) of the vertical connection line and the Y coordinate is not maximum in the group of the circuit elements (variables) connected to the vertical connection line on the left bus side ( ⁇ X side) (S 212 : NO), the program development supporting part 11 moves on to Step S 202 .
- Step S 221 the program development supporting part 11 updates the current horizontal line. Specifically, the program development supporting part 11 sets the horizontal connection line on the right bus side (+X side) of the current circuit element (variable) as a new current horizontal line. After updating the current horizontal line, the program development supporting part 11 returns to Step S 204 .
- Step S 231 the program development supporting part 11 performs an extension process of the horizontal connection line and moves on to Step S 232 .
- Step 5232 the program development supporting part 11 lists up the horizontal connection lines on the right bus side (+X side) of the vertical connection line and moves on to Step S 202 .
- the two-dimensional coordinates of the circuit element (variable) can be detected reliably.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Automation & Control Theory (AREA)
- Manufacturing & Machinery (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Architecture (AREA)
- Programmable Controllers (AREA)
Abstract
According to the invention, a ladder diagram program is stored with the data capacity suppressed. A program development supporting part 11 includes a calculation part 111 and a storage part 112. The storage part 112 stores a ladder diagram editing program 21 and a ladder diagram program that has been edited. The calculation part 111 executes the ladder diagram editing program 21 to edit the ladder diagram program and stores the ladder diagram program in the storage part 112. The calculation part 111 assigns two-dimensional coordinates to a ladder diagram represented by the ladder diagram program, detects two-dimensional coordinates and a type of a circuit element included in the ladder diagram and detects two-dimensional coordinates of a vertical connection line included in the ladder diagram, and stores the circuit element and the vertical connection line in association with the two-dimensional coordinates respectively in the storage part 112.
Description
- This application claims the priority benefit of Japan application serial no. 2016-194881, filed on Sep. 30, 2016. The entirety of the above-mentioned patent application is hereby incorporated by reference herein and made a part of this specification.
- The invention relates to a technique for storage of a ladder diagram program.
- Now, systems for automatically operating manufacturing lines, etc., through control over multiple devices (machines) with use of an industrial controller have been put to practical use in various fields. In such systems, the industrial controller controls multiple devices based on a ladder diagram program for automatic operation.
- In this case, program developers create the ladder diagram program on a personal computer or the like, as disclosed in
Patent Literature 1. Then, the program developers output the ladder diagram program from the personal computer or the like to the industrial controller. - Patent Literature 1: Japanese Patent Publication No. 2009-265750
- In the conventional configuration, however, all the elements of the ladder diagram program, such as circuit elements, horizontal connection lines, and vertical connection points, are handled as drawing materials. For this reason, the overall ladder diagram program occupies a large data capacity. In particular, the data capacity tends to increase significantly as the number of the circuit elements and connection lines increases and complicates the ladder diagram program.
- Accordingly, the invention provides a technique for storage of the ladder diagram program, which is capable of suppressing the data capacity.
- A program development supporting apparatus of the invention includes a calculation part and a storage part. The storage part stores a ladder diagram editing program and a ladder diagram program that has been edited. The calculation part executes the ladder diagram editing program to edit the ladder diagram program and stores the ladder diagram program in the storage part. The calculation part assigns two-dimensional coordinates to a ladder diagram. The calculation part detects two-dimensional coordinates and a type of a circuit element included in the ladder diagram and detects two-dimensional coordinates of a vertical connection line included in the ladder diagram. The calculation part stores the circuit element and the vertical connection line in association with the two-dimensional coordinates respectively in the storage part.
- In this configuration, the position of the circuit element, the position and length of the vertical connection line, and the horizontal connection lines connected thereto in the ladder diagram are represented by the two-dimensional coordinates of the circuit element and the vertical connection line. Accordingly, if only the type of the circuit element and the two-dimensional coordinates of the circuit element and the vertical connection line are stored, the ladder diagram program is restored and the data capacity is suppressed as compared with the case of using drawing materials.
- According to the invention, the ladder diagram program can be stored with the data capacity suppressed.
-
FIG. 1 is a schematic configuration diagram of the personal computer including the program development supporting apparatus according to an embodiment of the invention. -
FIG. 2 is a diagram for illustrating the concept of the data format when the ladder diagram program is stored. -
FIG. 3 is a diagram showing the original drawing of the ladder diagram program shown inFIG. 2 . -
FIG. 4 is a diagram showing an example of the data when the ladder diagram program is stored. -
FIG. 5 is a flowchart showing the main flow of the ladder diagram storing method according to an embodiment of the invention. -
FIG. 6 is a flowchart showing various detection processes for storing a more specific ladder diagram program. - Techniques for program development support according to embodiments of the invention are described below with reference to the figures.
FIG. 1 is a schematic configuration diagram of a personal computer including a program development supporting apparatus according to an embodiment of the invention. - As shown in
FIG. 1 , apersonal computer 10 includes a programdevelopment supporting part 11, anoperation input part 12, acommunication control part 13, and adisplay part 14. Theoperation input part 12 is a mouse or a keyboard, and thedisplay part 14 is a liquid crystal display, etc., for example. Thecommunication control part 13 performs control over communication with an industrial controller. A ladder diagram program is outputted to the industrial controller (not shown) via thecommunication control part 13. The ladder diagram program is edited by the programdevelopment supporting part 11, stored in a predetermined data format, and outputted to the industrial controller in the data format. - The program
development supporting part 11 corresponds to the program development supporting apparatus of the invention, and includes acalculation part 111 and astorage part 112. Thestorage part 112 stores various program groups including a ladderdiagram editing program 21. - The
calculation part 111 is composed of a CPU (Central Processing Unit), etc., for example, and executes the ladderdiagram editing program 21 stored in thestorage part 112. Thereby, a ladder diagram editing screen is displayed on thedisplay part 14 for a program developer to edit the ladder diagram program with use of theoperation input part 12. Upon accepting an operation input of storage (save) via theoperation input part 12 during execution of the ladderdiagram editing program 21, thecalculation part 111 stores the edited ladder diagram program in a ladderdiagram storage part 120 of thestorage part 112. At this time, the ladder diagram program is stored in the predetermined data format obtained by using the following storing method. - Next, the storing method of the ladder diagram program is described in more detail.
FIG. 2 is a diagram for illustrating the concept of the data format when the ladder diagram program is stored.FIG. 3 is a diagram showing an original drawing of the ladder diagram program shown inFIG. 2 .FIG. 4 is a diagram showing an example of the data when the ladder diagram program is stored. - First, although the configuration of the ladder diagram program is known, in order to explain the concept of storage of the ladder diagram program, the original drawing shown in
FIG. 3 is described here as an example of the ladder diagram program. Nevertheless,FIG. 3 is merely an example and the configuration of the ladder diagram is not limited thereto. - As shown in
FIG. 3 , the ladder diagram includes a left bus and a right bus. The ladder diagram further includes circuit elements, horizontal connection lines, and a vertical connection line. The number of the circuit elements, the horizontal connection lines, and the vertical connection line is determined according to the content of the control to be achieved by the ladder diagram. - The circuit elements are disposed between the left bus and the right bus, and any of other circuit elements, the left bus, and the right bus is connected by using the horizontal connection lines and the vertical connection line. The connection determines the order of the control to be achieved by the ladder diagram. Moreover, the types of the circuit elements are determined by the shapes of the circuit elements.
- In the case of
FIG. 3 , for example, the circuit elements (variables)var 1 andvar 2 are contacts respectively and the circuit element (variable) var 5 is a coil. In addition, the circuit element (variable) represented by a rectangle is a function or a function block, and is a MOVE function inFIG. 3 . - The left bus side of the circuit element (variable)
var 1 is connected to the left bus via one horizontal connection line, and the right bus side of the circuit element (variable)var 1 is connected to an EN terminal of the MOVE function via one horizontal connection line. An ENO terminal of the MOVE function is connected to the circuit element (variable) var 5 via one horizontal connection line, and the right bus side of the circuit element (variable) var 5 is connected to the right bus via one horizontal connection line. - The circuit element (variable)
var 2 is disposed on the lower side of the circuit element (variable)var 1. The left bus side of the circuit element (variable)var 2 is connected to the left bus via one horizontal connection line, and the right bus side of the circuit element (variable)var 2 is connected to the vertical connection line via one horizontal connection line. - The vertical connection line is connected to the right bus side of the circuit element (variable)
var 1 and the right bus side of the circuit element (variable)var 2 via the horizontal connection lines respectively. - The circuit element (variable)
var 3 is connected to an In terminal of the MOVE function, and the circuit element (variable) var 4 is connected to an Out terminal. - Next, the concept of storage of the ladder diagram program is described with reference to
FIG. 2 . As shown inFIG. 2 , in the storing method of the ladder diagram program according to this embodiment, the left bus, the right bus, the circuit elements, the horizontal connection lines, and the vertical connection line of the ladder diagram are represented by two-dimensional coordinates. Specifically, the horizontal direction of the ladder diagram is set as an X axis direction and the position of the left bus in the ladder diagram is set to X=0. Thus, the value of X increases as it gets closer to the right bus. At this time, the value of X is sequentially added every time the circuit element is detected. - In addition, as shown in
FIG. 2 , the vertical direction of the ladder diagram is set as a Y axis direction. The uppermost segment is set to Y=0 and the value of Y sequentially increases toward the lower segment. - Thus, as shown in
FIG. 2 , the coordinates of the circuit element (variable)var 1 are (X, Y)=(0, 0), the coordinates of the MOVE function are (X, Y)=(1, 0), and the coordinates of the circuit element (variable) var 5 are (X, Y)=(2, 0). Besides, the coordinates of the circuit element (variable)var 2 are (X, Y)=(0, 1). - Furthermore, for the coordinates of the vertical connection line, the coordinates of the arrangement position on the two-dimensional coordinates are specified and become (X, Y)=(1, 1) in the case of
FIG. 2 . - Then, in the storing method of the ladder diagram program according to this embodiment, the X coordinate of the left bus is defined as “0,” and the name (
var 1, etc.) of the circuit element (variable) and the coordinates of the circuit element (variable) are stored in association with each other. Moreover, the type (contact, etc.) of the circuit element (variable) is also stored in association with the name (var 1, etc.) of the circuit element (variable) and the coordinates of the circuit element (variable). - Specifically, in the case of the ladder diagram of
FIG. 3 , the data format is as shown inFIG. 4 . As shown inFIG. 4 , in the storing method of the ladder diagram program according to this embodiment, the ladder diagram program is stored based on text data, for example. As shown inFIG. 4 , the name of the circuit element (variable), the type of the circuit element (variable), and the coordinates are recorded in association in the text data. - Specifically, in the case where the circuit elements are contacts, coils, etc., the name of the circuit element (variable), the type of the circuit element (variable), and the coordinates are collectively recorded in a line.
- For example, in <Contact Variable=“var1” X=0,Y=0/>, it is recorded that the circuit element (variable) is
var 1, the type of the circuit element (variable) is contact, and the coordinates are (X, Y)=(0, 0). - In <Contact Variable=“var2” X=0,Y=1/>, it is recorded that the circuit element (variable) is
var 2, the type of the circuit element (variable) is contact, and the coordinates are (X, Y)=(0, 1). - In <Coil Variable=“var5” X=2, Y=0/>, it is recorded that the circuit element (variable) is var 5, the type of the circuit element (variable) is a coil, and the coordinates are (X, Y)=(2, 0).
- In the case of the function or the function block, the name and coordinates of the function or the function block are collectively recorded in a line, and in the subsequent line, the name of each terminal and the connection target are recorded sequentially for each terminal respectively.
- For example, in <Function Name=“MOVE” X=1, Y=0/>it is recorded that the circuit element is the “MOVE” function and the coordinates are (X, Y)=(1, 0).
- Moreover, in <PowerFlowParameterType=“IN”Name=“EN”/>, it is recorded that the terminal connected to the horizontal connection line on the left bus side of the function is the input terminal and the terminal name is “EN.”
- In <VariableParameterType=“IN”Name=“IN”Variable=“var3”/>, it is recorded that the function has the input terminal from another circuit element (variable), the terminal name is “IN,” and it is connected to the circuit element (variable)
var 3. - In <PowerFlowParameterType=“OUT”Name=“ENO”/>, it is recorded that the terminal connected to the horizontal connection line on the right bus side of the function is the output terminal and the terminal name is “ENO.”
- In <VariableParameterType=“OUT”Name=“OUT”Variable=“var4”/>, it is recorded that the function has the output terminal to another circuit element (variable), the terminal name is “OUT,” and it is connected to the circuit element (variable) var 4.
- In the case of the vertical connection line, in <Line X=1 Y=1/>, the vertical connection line is disposed at the coordinates (X, Y)=(1, 1).
- Through storage in the text data in this manner, the storage capacity can be suppressed, as compared with the conventional technique which stores each element that has been drawn as a ladder diagram as a drawing material respectively.
- Then, as shown in
FIG. 2 , in the ladder diagram, each circuit element is two-dimensionally arranged with reference to the uppermost position of the left bus, and each circuit element is stored in association with the coordinates thereof. Therefore, when the text data as shown inFIG. 4 is used, the ladder diagram program as shown inFIG. 3 can be easily restored. - Further, in the method described above, the circuit elements (variables) connected to the function or the function block are recorded as accessory elements of the function or the function block. Accordingly, in comparison with separately detecting these circuit elements (variables) and acquiring the two-dimensional coordinates to provide individual lines for these circuit elements (variables), the method of the invention can reduce the data capacity.
-
FIG. 5 illustrates the processes described above in a flowchart. The flowchart ofFIG. 5 shows the main flow of the ladder diagram program storing method according to an embodiment of the invention. - As shown in
FIG. 5 , in Step S11, the programdevelopment supporting part 11 detects the vertical connection line from the edited ladder diagram program and detects the two-dimensional coordinates of the vertical connection line. Regarding the detection of the vertical connection line, because which part of the ladder diagram is the vertical connection line has been stored when the ladder diagram program is edited, it may be used. Then, by setting the X axis and the Y axis with the uppermost position of the left bus of the ladder diagram as the origin, as described above, the two-dimensional coordinates can be easily detected. At this time, the horizontal connection lines are also detected in the same manner as the vertical connection line. - Next, in Step S12, the program
development supporting part 11 detects the circuit elements (variables) and detects the types and the two-dimensional coordinates thereof. Regarding the detection of the circuit elements (variables) and the types, like the vertical connection line and the horizontal connection lines, which part of the ladder diagram is the circuit element (variable) has been stored when the ladder diagram program is edited, and the type of the circuit element (variable) has been associated. Therefore, it may be used. Then, by setting the X axis and the Y axis with the uppermost position of the left bus of the ladder diagram as the origin, as described above, the two-dimensional coordinates can be easily detected. - The detection of the vertical connection line and the horizontal connection lines and the detection of the circuit elements (variables) are not necessarily performed in this order and may be performed at the same time.
- Thereafter, in Step S13, the program
development supporting part 11 associates the circuit elements (variables) and the vertical connection line with these two-dimensional coordinates and stores them. At this time, as described above, the stored data is realized by the text data format that is small in capacity. Thereby, the ladder diagram program is stored with a small capacity. - The method for detection of the circuit elements (variables), the types thereof, and the two-dimensional coordinates is described more specifically hereinafter.
FIG. 6 is a flowchart showing various detection processes for storing a more specific ladder diagram program. - In Step S201, the program
development supporting part 11 detects the horizontal connection lines from the ladder diagram and lists up the horizontal connection lines. At this time, the programdevelopment supporting part 11 lists up the horizontal connection lines that are connected to the left bus sequentially from the upper side to the lower side of the ladder diagram. - In Step S202, when detecting that the list of the horizontal connection lines is not empty (S202: NO), the program
development supporting part 11 moves on to Step S203. - In Step S203, the program
development supporting part 11 sets the horizontal connection line at the beginning (first) of the list as a current horizontal line. - In Step S204, the program
development supporting part 11 detects the circuit element that is connected to the right bus side (+X side) of the current horizontal line and sets the circuit element as a current circuit element. - In Step S205, if the program
development supporting part 11 detects that the left bus side (−X side) of the current horizontal line is connected to the vertical connection line (S205: YES), the programdevelopment supporting part 11 moves on to Step S206. On the other hand, if the programdevelopment supporting part 11 detects that the left bus side (−X side) of the current horizontal line is not connected to the vertical connection line (S205: NO), the programdevelopment supporting part 11 moves on to Step S210. - In Step S206, the program
development supporting part 11 detects whether the current horizontal line is the minimum element of the vertical connection line. If the programdevelopment supporting part 11 detects that the current horizontal line is the minimum element of the vertical connection line (S206: YES), the programdevelopment supporting part 11 moves on to Step S207. On the other hand, if the programdevelopment supporting part 11 detects that the current horizontal line is not the minimum element of the vertical connection line (S206: NO), the programdevelopment supporting part 11 moves on to Step S208. - In Step S207, the program
development supporting part 11 sets Y (current element), which is the Y coordinate of the current circuit element (variable), to the minimum Y coordinate in the group of the circuit elements (variables) on the −X side of the vertical connection line. On the other hand, in Step S208, the programdevelopment supporting part 11 sets Y (current element) to the maximum Y coordinate in the group of the circuit elements (variables) on the +X side of the vertical connection line. By performing Steps S207 and S208, the Y coordinate of the circuit element (variable) that is connected to the vertical connection line on the left bus side (−X side) is determined. - In Step S209, the program
development supporting part 11 sets the X coordinate of the current circuit element (variable), which is X (current element), to a value obtained by adding “1” to the X coordinate of the circuit element (variable) on the left bus side (−X side) of the vertical connection line. By performing Step S209, the X coordinate of the circuit element (variable) that is connected to the vertical connection line on the left bus side (−X side) is determined. - In Step S210, the program
development supporting part 11 sets the two-dimensional coordinates (X, Y) of the current circuit element (variable), which is connected to the vertical connection line on the left bus side (−X side), to (X (current element), Y (current element)) that have been determined in Step S207 or Step S208 and Step S209. Further, the programdevelopment supporting part 11 sets the two-dimensional coordinates (X, Y) of the current circuit element (variable), which is connected to the vertical connection line on the left bus side (−X side), to the value obtained by adding “1” to the X coordinate of the circuit element (variable) adjacent to the left bus side (−X side) of the current circuit element (variable), and the Y coordinate of the circuit element (variable) adjacent to the left bus side (−X side) of the current circuit element (variable). - In Step S211, the program
development supporting part 11 detects whether the right bus side (+X side) of the current circuit element (variable) is connected to the vertical connection line. If the right bus side (+X side) of the current circuit element (variable) is connected to the vertical connection line (S211: YES), the programdevelopment supporting part 11 moves on to Step S212. If the right bus side (+X side) of the current circuit element (variable) is not connected to the vertical connection line (S211: NO), the programdevelopment supporting part 11 moves on to Step S221. - In Step S212, if the program
development supporting part 11 detects that the current circuit element (variable) is on the left bus side (−X side) of the vertical connection line and the Y coordinate is maximum in the group of the circuit elements (variables) connected to the vertical connection line on the left bus side (−X side) (S212: YES), the programdevelopment supporting part 11 moves on to Step S231. On the other hand, if the programdevelopment supporting part 11 detects that the current circuit element (variable) is on the left bus side (−X side) of the vertical connection line and the Y coordinate is not maximum in the group of the circuit elements (variables) connected to the vertical connection line on the left bus side (−X side) (S212: NO), the programdevelopment supporting part 11 moves on to Step S202. - In Step S221, the program
development supporting part 11 updates the current horizontal line. Specifically, the programdevelopment supporting part 11 sets the horizontal connection line on the right bus side (+X side) of the current circuit element (variable) as a new current horizontal line. After updating the current horizontal line, the programdevelopment supporting part 11 returns to Step S204. - In Step S231, the program
development supporting part 11 performs an extension process of the horizontal connection line and moves on to Step S232. In Step 5232, the programdevelopment supporting part 11 lists up the horizontal connection lines on the right bus side (+X side) of the vertical connection line and moves on to Step S202. - The process described above is repeated, and when the program
development supporting part 11 detects that the list is empty (S202: YES), the process ends. - By performing the process, the two-dimensional coordinates of the circuit element (variable) can be detected reliably.
Claims (4)
1. A program development supporting apparatus, comprising:
a storage part storing a ladder diagram editing program and storing a ladder diagram program that has been edited; and
a calculation part executing the ladder diagram editing program to edit the ladder diagram program and storing the ladder diagram program in the storage part,
wherein the calculation part assigns two-dimensional coordinates to a ladder diagram represented by the ladder diagram program,
detects a vertical connection line included in the ladder diagram and two-dimensional coordinates of the vertical connection line, and a circuit element, two-dimensional coordinates and a type of the circuit element, and
stores the circuit element and the vertical connection line in association with the two-dimensional coordinates respectively in the storage part.
2. The program development supporting apparatus according to claim 1 , wherein when detecting that the circuit element is a function or a function block, the calculation part stores a circuit element connected to the function or the function block together with a connection relationship with respect to the function or the function block.
3. A program development supporting method for editing a ladder diagram program and storing the ladder diagram program that has been edited, the program development supporting method comprising:
assigning two-dimensional coordinates to a ladder diagram represented by the ladder diagram program;
detecting a vertical connection line included in the ladder diagram and two-dimensional coordinates of the vertical connection line, and a circuit element, two-dimensional coordinates and a type of the circuit element; and
storing the circuit element and the vertical connection line in association with the two-dimensional coordinates respectively.
4. A program development supporting program, enabling a computer to execute a process of editing a ladder diagram program and storing the ladder diagram program that has been edited, wherein the program development supporting program enables the computer to execute:
a process of assigning two-dimensional coordinates to a ladder diagram represented by the ladder diagram program;
a process of detecting a vertical connection line included in the ladder diagram and two-dimensional coordinates of the vertical connection line, and a circuit element, two-dimensional coordinates and a type of the circuit element; and
a process of storing the circuit element and the vertical connection line in association with the two-dimensional coordinates respectively.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016194881 | 2016-09-30 | ||
JP2016-194881 | 2016-09-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
US20180095447A1 true US20180095447A1 (en) | 2018-04-05 |
Family
ID=58701366
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/438,669 Abandoned US20180095447A1 (en) | 2016-09-30 | 2017-02-21 | Program development supporting apparatus, program development supporting method, and program development supporting program |
US16/326,964 Active 2038-02-17 US11073818B2 (en) | 2016-09-30 | 2017-09-29 | Development support apparatus, program development support method, and program development support program |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/326,964 Active 2038-02-17 US11073818B2 (en) | 2016-09-30 | 2017-09-29 | Development support apparatus, program development support method, and program development support program |
Country Status (5)
Country | Link |
---|---|
US (2) | US20180095447A1 (en) |
EP (2) | EP3301569A1 (en) |
JP (1) | JP6791254B2 (en) |
CN (2) | CN107885898A (en) |
WO (1) | WO2018062465A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11378928B2 (en) * | 2018-03-14 | 2022-07-05 | Omron Corporation | Ladder diagram program generation assistance device, ladder diagram program generation assistance method, and recording medium |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020174627A1 (en) * | 2019-02-27 | 2020-09-03 | 三菱電機株式会社 | Design assistance device, design assistance method, and design assistance program |
JP7067520B2 (en) * | 2019-03-28 | 2022-05-16 | オムロン株式会社 | Development support equipment, control methods for development support equipment, information processing programs, and recording media |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10283005A (en) * | 1997-04-04 | 1998-10-23 | Mitsubishi Electric Corp | Display method and execution method for sequence program |
US6952811B1 (en) * | 1998-07-30 | 2005-10-04 | Mitsubishi Denki Kabushiki Kaisha | Ladder circuit editing system |
JP3777867B2 (en) * | 1999-04-23 | 2006-05-24 | 松下電工株式会社 | Automatic design and drawing device |
JP2002170073A (en) * | 2000-11-30 | 2002-06-14 | Yokogawa Electric Corp | Data managing device, recording medium recording data management program, and data managing method |
JP2002182712A (en) * | 2000-12-15 | 2002-06-26 | Yaskawa Electric Corp | Display method and display device for programmable controller |
JP2003195911A (en) * | 2001-12-26 | 2003-07-11 | Koyo Seiko Co Ltd | Program converting method from mnemonic form to ladder diagram form, program for program conversion, and recording medium for recording program |
JP2008282260A (en) * | 2007-05-11 | 2008-11-20 | Mitsubishi Electric Corp | Ladder diagram editing device |
JP5141895B2 (en) | 2008-04-22 | 2013-02-13 | オムロン株式会社 | PLC program development support device |
US20110295388A1 (en) * | 2009-02-04 | 2011-12-01 | Mitsubishi Electric Corporation | Ladder program edition device |
CN101957745B (en) * | 2009-07-16 | 2013-04-17 | 沈阳高精数控技术有限公司 | Method for converting ladder diagram language into structure text language |
KR20110012342A (en) * | 2009-07-30 | 2011-02-09 | 경상대학교산학협력단 | Method of designing programmable logic controller ladder logic and generating ladder code |
KR101883085B1 (en) * | 2013-08-21 | 2018-07-27 | 미쓰비시덴키 가부시키가이샤 | Program for editing programs |
CN104267654A (en) * | 2014-08-01 | 2015-01-07 | 中南大学 | Method and system for converting ladder diagram program into instruction list program and compiling instruction list program |
CN104820393B (en) * | 2015-03-17 | 2017-06-23 | 浪潮集团有限公司 | One kind is based on PLC ladder diagram matrix compiling and interpreting methods |
CN104656543A (en) * | 2015-03-17 | 2015-05-27 | 浪潮集团有限公司 | PLC gradient diagram matrix editing display method |
DE112016007220T5 (en) * | 2016-09-14 | 2019-06-06 | Mitsubishi Electric Corporation | Ladder program processing support device and ladder program processing method |
-
2017
- 2017-02-21 EP EP17157107.8A patent/EP3301569A1/en not_active Withdrawn
- 2017-02-21 US US15/438,669 patent/US20180095447A1/en not_active Abandoned
- 2017-02-22 CN CN201710098035.7A patent/CN107885898A/en active Pending
- 2017-09-29 EP EP17856414.2A patent/EP3521953A4/en not_active Ceased
- 2017-09-29 CN CN201780049551.9A patent/CN109564415A/en active Pending
- 2017-09-29 US US16/326,964 patent/US11073818B2/en active Active
- 2017-09-29 WO PCT/JP2017/035404 patent/WO2018062465A1/en unknown
- 2017-09-29 JP JP2018542910A patent/JP6791254B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11378928B2 (en) * | 2018-03-14 | 2022-07-05 | Omron Corporation | Ladder diagram program generation assistance device, ladder diagram program generation assistance method, and recording medium |
Also Published As
Publication number | Publication date |
---|---|
JP6791254B2 (en) | 2020-11-25 |
EP3521953A1 (en) | 2019-08-07 |
US20190187667A1 (en) | 2019-06-20 |
CN107885898A (en) | 2018-04-06 |
CN109564415A (en) | 2019-04-02 |
JPWO2018062465A1 (en) | 2019-06-27 |
EP3301569A1 (en) | 2018-04-04 |
WO2018062465A1 (en) | 2018-04-05 |
EP3521953A4 (en) | 2020-01-22 |
US11073818B2 (en) | 2021-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10423290B2 (en) | Information processing apparatus | |
CN106502736A (en) | Applied program processing method and device | |
CN106970735B (en) | Information processing method and electronic equipment | |
CN107526598B (en) | Network page jump control method and system | |
US20180095447A1 (en) | Program development supporting apparatus, program development supporting method, and program development supporting program | |
CN106201167A (en) | The multi-screen display method of terminal screen, device and terminal | |
CN107766528B (en) | Data loading method and terminal for waterfall flow page and computer readable storage medium | |
KR20160138437A (en) | Organizing user interface elements | |
JP2017524193A (en) | Method and apparatus for setting background of UI control, and terminal | |
CN104793945A (en) | Large-batch picture displaying method for preventing memory overflow and device thereof | |
CN107066258A (en) | A kind of page iden-tity image updating method and system | |
CN105320662B (en) | Webpage generating method and device | |
CN107786869B (en) | Method, device and storage medium for generating menu path of television equipment | |
JP2019507361A (en) | Image defective pixel compensation method, apparatus, and non-transitory computer-readable storage medium | |
US9354772B2 (en) | Method and device for movement of image object | |
TWI647689B (en) | Screen creation support device, display system, and screen creation support method | |
CN112947805A (en) | Icon sorting method and device | |
EP3301529A1 (en) | Method and apparatus for displaying monitoring information | |
CN116306469B (en) | Metal wiring method, device, equipment and storage medium for simulated layout | |
CN108363525B (en) | Method and device for responding to user gesture operation in webpage and terminal equipment | |
CN105320030A (en) | Engineering device, engineering system, and download processing method | |
US20220019235A1 (en) | Route search support apparatus, route search support method, and computer-readable recording medium | |
CN104699222A (en) | Terminal | |
CN113518948A (en) | Design support device, design support method, and design support program | |
CN105988807B (en) | Information processing method and electronic equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: OMRON CORPORATION, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NAGAO, KENJIRO;REEL/FRAME:041327/0823 Effective date: 20170206 |
|
STCB | Information on status: application discontinuation |
Free format text: EXPRESSLY ABANDONED -- DURING EXAMINATION |