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 PDF

Info

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
Application number
US15/438,669
Inventor
Kenjiro NAGAO
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Assigned to OMRON CORPORATION reassignment OMRON CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: Nagao, Kenjiro
Publication of US20180095447A1 publication Critical patent/US20180095447A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical 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/4097Numerical 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/4099Surface or curve machining, making 3D objects, e.g. desktop manufacturing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical 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/4097Numerical 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • G06F8/4434Reducing the memory space required by the program code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/51Source to source
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13052Display of ladder diagram
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36038Ladder 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

    CROSS-REFERENCE TO RELATED APPLICATION
  • 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.
  • BACKGROUND OF THE INVENTION Field of the Invention
  • The invention relates to a technique for storage of a ladder diagram program.
  • Description of Related Art
  • 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.
  • PRIOR ART LITERATURE Patent Literature
  • Patent Literature 1: Japanese Patent Publication No. 2009-265750
  • SUMMARY OF THE INVENTION Problem to be Solved
  • 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.
  • Solution to the Problem
  • 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.
  • Effects of the Invention
  • According to the invention, the ladder diagram program can be stored with the data capacity suppressed.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • 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.
  • DESCRIPTION OF THE EMBODIMENTS
  • 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, 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, and 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. 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.
  • 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 in FIG. 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 and var 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 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.
  • Next, the concept of storage of the ladder diagram program is described with reference to FIG. 2. As shown in FIG. 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 in FIG. 4. As shown in FIG. 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 in FIG. 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 in FIG. 4 is used, the ladder diagram program as shown in FIG. 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 of FIG. 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 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. 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 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.
  • 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 program development supporting part 11 moves on to Step S206. 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 (S205: NO), the program development 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 program development supporting part 11 detects that the current horizontal line is the minimum element of the vertical connection line (S206: YES), the program development supporting part 11 moves on to Step S207. 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 (S206: NO), the program development 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 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. 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 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).
  • 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 program development 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 program development 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 program development supporting part 11 moves on to Step S231. On the other hand, 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 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 program development supporting part 11 moves on to Step S202.
  • In Step S221, 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 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 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 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)

What is claimed is:
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.
US15/438,669 2016-09-30 2017-02-21 Program development supporting apparatus, program development supporting method, and program development supporting program Abandoned US20180095447A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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