Information processing device, ladder program generating device, information processing method, ladder program generating method, article manufacturing method, program, and recording medium

The method and device facilitate automatic conversion of ladder programs to adapt to varying PLC language specifications, enhancing efficiency and reducing manual intervention in program generation for production equipment.

JP7739033B2Active Publication Date: 2025-09-16CANON KK
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2021074564
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-07-30
Filing Date
2021-04-27
Publication Date
2025-09-16
Estimated Expiration
2041-04-27

AI Technical Summary

Technical Problem

Existing programmable logic controllers (PLCs) require different language specifications, necessitating manual conversion of programs when equipment is rearranged or replaced, which is inefficient and time-consuming.

Method used

A method and device that allow users to associate device and command elements in different programming languages, enabling automatic conversion of ladder programs to conform to the language specifications of the PLC, using a setting screen to facilitate easy program generation.

Benefits of technology

Enables easy and efficient generation of programs that adapt to different PLC language specifications, reducing manual effort and ensuring seamless operation of production equipment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007739033000001
    Figure 0007739033000001
  • Figure 0007739033000002
    Figure 0007739033000002
  • Figure 0007739033000003
    Figure 0007739033000003
Patent Text Reader

Abstract

To easily generate a ladder program according to a language specification.SOLUTION: A ladder program generation device includes a processing unit capable of performing information processing. The processing unit acquires definition information associating a first mnemonic with a second mnemonic different from the first mnemonic and, based on the definition information, converts a first ladder program described in the first mnemonic into a second ladder program described in the second mnemonic.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to information processing. [Background technology]

[0002] In production lines, sequence control is performed to sequentially advance the operation of equipment according to a set procedure. Programmable logic controllers (PLCs) are mainly used as control devices for sequentially controlling production equipment such as automatic assembly machines arranged on production lines. Programs written in a predetermined language specification are used to program the controls to be performed by the PLC. In order to reduce the man-hours required for designing such programs, Patent Document 1 discloses a device that automatically generates a program, such as a ladder program. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Publication No. 4-303205 Summary of the Invention [Problem to be solved by the invention]

[0004] However, when designing and manufacturing production equipment, the performance required for the equipment may require the use of multiple PLCs with different language specifications. Furthermore, when changing the design, such as rearranging the production equipment, the PLC included in the production equipment may need to be replaced with a PLC with a different language specification. In such cases, programs must be written in mnemonics that correspond to the language used in the PLC, and the program generation device must also be able to flexibly adapt to the situation of the production equipment.

[0005] Therefore, an object of the present invention is to make it possible to easily generate a program that conforms to a language specification. [Means for solving the problem]

[0006] A first aspect of the present invention is a method for detecting a signal from a computer, comprising: a setting screen is displayed on a display unit, which allows a user to associate a first device element written in a first programming language with a second device element written in a second programming language different from the first programming language, and to associate a first command element written in the first programming language with a second command element written in the second programming language; and And, before Record number 2 Programming Language and acquires information that associates the information with the information processing device.

[0007] A second aspect of the present invention is a method for detecting a temperature difference, comprising: a setting screen is displayed on a display unit, which allows a user to associate a first device element written in a first programming language with a second device element written in a second programming language different from the first programming language, and to associate a first command element written in the first programming language with a second command element written in the second programming language; and in response to an input on the setting screen by the user, No. 1 Programming Language And, before Record number 2 Programming Language and, based on the information, Programming Language The first ladder program written in Programming Language This ladder program generation device is characterized by converting the program into a second ladder program written in the above.

[0008] A third aspect of the present invention is an information processing method by a processing unit, the processing unit comprising: a setting screen is displayed on a display unit, which allows a user to associate a first device element written in a first programming language with a second device element written in a second programming language different from the first programming language, and to associate a first command element written in the first programming language with a second command element written in the second programming language; and No. 1 Programming Language And, before Record number 2 Programming Language and acquiring information that associates the information with the object.

[0009] A fourth aspect of the present invention is a ladder program generation method by a processing unit, the processing unit comprising: a setting screen is displayed on a display unit, which allows a user to associate a first device element written in a first programming language with a second device element written in a second programming language different from the first programming language, and to associate a first command element written in the first programming language with a second command element written in the second programming language; and No. 1 Programming Language And, before Record number 2 Programming Language and the processing unit acquires information associating the first Programming Language The first ladder program written in Programming Language This is a ladder program generation method characterized by converting the first ladder program into a second ladder program written in [Effects of the Invention]

[0010] It becomes possible to easily generate a program that conforms to the language specifications. [Brief explanation of the drawings]

[0011] [Figure 1] 1A is a block diagram of a production device according to an embodiment, and FIG. 1B is a diagram showing system components of a sequence control unit according to an embodiment. [Figure 2] FIG. 1 is a block diagram of a ladder program generating device according to an embodiment. [Figure 3] FIG. 2 is a diagram illustrating components of design information according to the embodiment. [Figure 4] 1A is a diagram showing components of a time chart according to an embodiment, FIG. 1B is a diagram showing components of a stepper configuration table according to an embodiment, and FIG. 1C is a diagram showing components of an IO table according to an embodiment. [Figure 5] 1A is a diagram showing components of an allocation table according to an embodiment, FIG. 1B is a diagram showing components of an anomaly table according to an embodiment, and FIG. 1C is a diagram showing components of a management table according to an embodiment. [Figure 6] FIG. 2 illustrates components of a flowchart according to an embodiment. [Figure 7] 1A is a diagram showing configuration figures used in a flowchart according to an embodiment, FIG. 1B is a diagram showing components of a basic module and a basic map according to an embodiment, and FIG. 1C is a diagram showing components of a control module and a control map according to an embodiment. [Figure 8] FIG. 2 is a diagram illustrating components of a ladder program according to the embodiment. [Figure 9] FIG. 2 is an explanatory diagram illustrating an example of a ladder diagram according to the embodiment. [Figure 10] FIG. 2 is an explanatory diagram illustrating an example of a ladder program according to the embodiment. [Figure 11] FIG. 4 is an explanatory diagram illustrating an example of device definition information according to the embodiment. [Figure 12] FIG. 2 is an explanatory diagram illustrating an example of command definition information according to the embodiment. [Figure 13] FIG. 10 is a diagram illustrating an example of intermediate information according to the embodiment. [Figure 14]FIG. 2 is a diagram illustrating a procedure for generating a ladder program according to an embodiment. [Figure 15] FIG. 10 is a diagram illustrating an example of a setting screen for a conversion table according to the embodiment. [Figure 16] FIG. 10 is a diagram showing a procedure for setting definition information according to the embodiment. [Figure 17] 10A and 10B are explanatory diagrams showing examples of device definition information and command definition information according to the embodiment; [Figure 18] FIG. 10 is a diagram illustrating an example of a setting screen for a conversion table according to the embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0012] (First embodiment) Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Fig. 1(a) is a block diagram of a production apparatus 100 according to an embodiment. The production apparatus 100 includes an input device 110, an operation device 120, an operation device 130, an operation device 141, a controller 140, a sequence control unit 200, and a ladder program generation device 300.

[0013] The sequence control unit 200 is a programmable logic controller (PLC). The sequence control unit 200 is connected to an input device 110, an operation device 120, an operating device 130, and a controller 140. The controller 140 is connected to an operating device 141. The sequence control unit 200 has a built-in computer that controls the connected devices based on a ladder program 1500. The sequence control unit 200 acquires the ladder program 1500 from a ladder program generation device 300. The input device 110 is, for example, a device such as a sensor that notifies the status of the devices included in the production apparatus 100. The operation device 120 is, for example, a device such as a touch panel or a push button switch that allows an operator to give instructions to the sequence control unit 200. The operating device 130 is, for example, a device that operates in response to an ON / OFF signal, such as a cylinder. The operating device 141 is an operating device that can perform complex operations using the controller 140, which is its own computer, and is, for example, a multi-axis robot or an image processing device.

[0014] In this way, the sequence control unit 200 controls each device to be controlled, such as the operating devices 130 and 141, based on the ladder program 1500. The sequence control of the sequence control unit 200 based on the ladder program 1500 operates each device of the production apparatus 100, executes each step of the manufacturing method, and produces the product W.

[0015] FIG. 1B is a diagram illustrating a system configuration of a sequence control unit 200 according to an embodiment. The sequence control unit 200 includes a CPU 201, an input processing unit 202, an output processing unit 203, a storage unit 204, and a memory 205. The CPU 201 is a computer that performs various processes, including arithmetic processing, data creation processing, and writing and reading data to and from the memory 205, according to given instructions. The input processing unit 202 is an interface that receives signals sent to the sequence control unit 200 from the input device 110, the operation device 120, the controller 140, etc., via a terminal block or a connecting connector. The output processing unit 203 is an interface that transmits signals from the sequence control unit 200 to the operation device 120, the operation device 130, the controller 140, etc., via a terminal block or a connecting connector. The storage unit 204 stores a ladder program 1500 to be executed by the CPU 201 and program comments. The storage unit 204 is a storage unit. The storage unit 204 is, for example, a storage device such as a RAM, a ROM, or a memory card. The memory 205 is a storage device that stores information such as the results of calculations performed by the CPU 201. As the memory 205, a storage device such as a RAM or a ROM is used.

[0016] 2 is a block diagram of a ladder program generation device 300 according to an embodiment. The ladder program generation device 300 is configured with an information processing device. The ladder program generation device 300 is configured with, for example, a general-purpose computer. Hereinafter, the ladder program generation device 300 will be described as being a general-purpose computer, but it may also be configured with a dedicated computer.

[0017] The ladder program generation device 300 includes a CPU 310, an interface unit 320, a display device 3200 connected to the interface unit 320, an interface unit 330, and an input device 3300 connected to the interface unit 330. The ladder program generation device 300 also includes a storage unit 340 and a storage unit 350. The CPU 310 is an example of a processing unit and is capable of information processing. The display device 3200 is an example of a display unit and is configured with a display and is capable of displaying images. The input device 3300 is an example of an input unit and is configured with a keyboard, mouse, etc. and is operable by a user. When a user operates the input device 3300, input information corresponding to the operation is input to the CPU 310. The ladder program generation device 300 also includes an interface unit 360. The interface unit 360 is an example of an output unit. The interface unit 360 is capable of outputting a ladder program 1500 generated by the CPU 310 as a processing result of the CPU 310. The output destination of the ladder program 1500 is, for example, the sequence control unit 200 in FIG. 1(a) or an external device such as an external storage (not shown).

[0018] The CPU 310 performs arithmetic processing in accordance with a given program 2100. The interface unit 320 performs processing for displaying information on a display device 3200. The interface unit 330 processes input information input from an input device 3300. The storage unit 340 stores the program 2100 to be executed by the CPU 310. The storage unit 340 is a storage device such as an HDD or SSD, and in this embodiment is a computer-readable non-transitory recording medium on which the program 2100 is recorded.

[0019] The program 2100 is a program for causing the CPU 310 to execute an information processing method, ie, a ladder program generation method, which will be described later. The program 2100 includes a processing program 2110 and a processing program 2120.

[0020] The program 2100 may be supplied to the storage unit 340 via a network, or may be supplied to the storage unit 340 via a disk drive device (not shown). The program 2100 stored in the storage unit 340 may be updated by an update program. Note that the recording medium on which the program 2100 is stored is not limited to an HDD or SSD. The recording medium on which the program 2100 is stored may be a recording disk such as a magnetic disk or an optical disk, or may be a storage device such as a flash memory.

[0021] The storage unit 350 stores (memorizes) design information 400, a conversion table 3000 indicating definition information, generated intermediate information 2000, and generated ladder program 1500. The conversion table 3000 is a conversion table used by the CPU 310 to convert the intermediate information 2000 into the ladder program 1500, and includes device definition information 1800 and command definition information 1900. The storage unit 350 is a memory unit and is configured with a storage device such as an HDD or SSD.

[0022] The ladder program 1500 is preferably in a file format such as a text file written in mnemonic format so that it is easy for the user to check. In this case, the sequence control unit 200 preferably has a function of converting the ladder program 1500 into a binary format.

[0023] FIG. 3 is a diagram illustrating components of design information 400 according to an embodiment. The design information 400 is information required when generating intermediate information. That is, the design information 400 is information that designs the operation of each device of a production apparatus, and is created by a user. The method by which the design information 400 is provided to the ladder program generation device 300 is not limited. For example, the design information 400 may be created by a user operating the input device 3300 using the functions of the ladder program generation device 300. Furthermore, for example, the design information 400 may be created by a user on an external computer and supplied to the ladder program generation device 300 via an external storage device (not shown) or the like.

[0024] The design information 400 includes a time chart 500, a stepper configuration table 600, an IO table 700, an allocation table 800, an abnormality table 900, a management table 1000, a flowchart 1100, and a library 410. The design information 400 may be any electronic information that can be used to manage information, and the format is not limited, and may be, for example, a text file format or a database format.

[0025] The library 410 is a group of programs that are highly versatile and can be used with different production equipment. The library 410 includes one or more types of basic modules 1300, a basic map 1310, one or more types of control modules 1400, and a control map 1410.

[0026] 4(a) is a diagram showing components of a time chart 500 according to an embodiment. The time chart 500 is a document for examining the operating time when a series of operations is performed by a production device when the production device is in a normal state. The time chart 500 is a document showing the operating sequence of all operating states of the operating device 130 and the operating device 141 and the transition time for each operating state. The time chart 500 includes information elements of a device name 501, a state name 502, an operating sequence 503, an operating time 504, and a dependency relationship 505.

[0027] The device name 501 is a name given to identify each of the operating devices 130 and 141. The state name 502 is a name given to identify the operating state of the operating devices 130 and 141. Here, the operating state refers to the operating position of the operating device, and two or more operating states are defined for each operating device. For example, a two-position cylinder has two operating states, and names such as "forward" and "return" are given as the state name 502. The operation sequence 503 indicates the state change of the operation, that is, the order of the operation, for all operating states of the operating devices 130 and 141. The operation time 504 indicates the transition time of the operating state, that is, the time required from the start to the end of the operation. The dependency relationship 505 is an information element that indicates the causal relationship between the completion and start of the operation between different operating devices.

[0028] 4(b) is a diagram showing components of a stepper configuration table 600 according to an embodiment. As shown in FIG. 4(b), the stepper configuration table 600 is a list including information elements of a stepper number 601, a stepper name 602, and a device name 603.

[0029] Here, a stepper is a grouping of input devices 110, operating devices 130, and operating devices 141 into a unit that is easy to control and manage. A stepper has the following three properties. First, a stepper is made up of input devices and operating devices that have the same control role. Second, the operating devices that belong to the same stepper are limited to devices that operate synchronously within the stepper, and operating devices that operate asynchronously are managed by a different stepper. Third, an input device and an operating device can belong to only one stepper, and they cannot belong to multiple steppers at the same time.

[0030] The steppers can operate asynchronously, and can operate while being interfered with by each other, such as checking the operating status of the other, waiting for operation, or resuming operation, etc. Such an interference relationship is expressed by a subordinate relationship 505 on the time chart 500.

[0031] The stepper number 601 is a number for identifying the stepper in the program. The stepper name 602 is a name for the user of the production equipment to identify the stepper. The equipment name 603 is the name of the operating equipment 130 and the operating equipment 141 that belong to the stepper.

[0032] Fig. 4(c) is a diagram showing components of an IO table 700 according to an embodiment. The IO table 700 is a list of the input device 110, the operation device 120, the operation device 130, and the controller 140 shown in Fig. 1(a), which are connected via the sequence control unit 200, the input processing unit 202, and the output processing unit 203 shown in Fig. 1(b).

[0033] As shown in FIG. 4(c), the IO table 700 includes information elements: a device name 701, a state name 702, a device type 703, and an IO number 704. Here, the device name 701 is a name given to identify each of the input device 110, the operation device 120, the operating device 130, and the operating device 141 shown in FIG. 1(a). The state name 702 is a name given to identify each state of the input device 110, the operation device 120, the operating device 130, and the operating device 141. The device type 703 is an identifier used to identify each of the input device 110, the operation device 120, the operating device 130, and the operating device 141. For example, if the operating device 130 is a cylinder, the identifier indicates whether it is a single solenoid or a double solenoid. The IO number 704 is the number of the terminal connected between the input processing unit 202 and the output processing unit 203.

[0034] 5(a) is a diagram showing components of an allocation table 800 according to an embodiment. The allocation table 800 is a list of device assignments related to interfaces such as execution and display of switches arranged on the manipulation device 120. The allocation table 800 is configured to include information elements of a device name 801, a state name 802, an input device 803, and an output device 804.

[0035] Here, a switch is provided for each operating device and operating state, and has the function of indicating whether it is lit or not. When a non-lit switch is pressed, the switch itself becomes active. When the production device is in an operating state, the switch lights up.

[0036] The device name 801 is a name given to identify each of the operating devices 130 and 141 shown in Fig. 1(a). The state name 802 is a name given to identify the operating state of each of the operating devices 130 and 141. The input device 803 is information specifying a device that is a condition for turning on a switch. The output device 804 specifies a device that is an operating condition that is executed after the switch is pressed.

[0037] FIG. 5(b) is a diagram showing the components of an abnormality table 900 according to an embodiment. The abnormality table 900 is a list for managing abnormalities that occur in production equipment. The abnormality table 900 includes information elements of an abnormality number 901, an abnormality name 902, and an output device 903. The abnormality number 901 is a number assigned to identify the abnormality. The abnormality name 902 is a name assigned to identify the abnormality. The output device 903 is allocation information for a flag for notifying the occurrence of an abnormality on the ladder program 1500 (FIG. 2) in the memory 205 shown in FIG. 1(b).

[0038] Fig. 5(c) is a diagram showing the components of a management table 1000 according to an embodiment. The management table 1000 is a table that manages the type and number of control modules 1400 shown in Fig. 3 deployed for the ladder program 1500 (Fig. 2), and device allocation to the memory 205 in Fig. 1(b). As shown in Fig. 5(c), the management table 1000 includes information elements of a device name 1001, a control module name 1002, and an allocated device 1003.

[0039] The device name 1001 is a name given to identify each device such as the operating device 141 shown in Fig. 1(a). The control module name 1002 is a name for identifying the type of the control module 1400 shown in Fig. 3. The control module name 1002 is extracted from the names of the control modules 1400 in the library 410 shown in Fig. 3 and selected from the extracted name list. The allocated device 1003 is information for allocating a memory area and an IO number to be used by the control module 1400 shown in Fig. 3 to the memory 205 shown in Fig. 1(b).

[0040] Fig. 6 is a diagram showing components of a flowchart 1100 (Fig. 3) according to an embodiment. The flowchart 1100 represents the processing flow of the ladder program 1500 shown in Fig. 2, and is created for each stepper. Fig. 7(a) is a diagram showing constituent graphics 1200 used in the flowchart according to an embodiment.

[0041] The flowchart 1100 shown in Fig. 6 is created by combining configuration figures 1200 shown in Fig. 7(a). As shown in Fig. 6, the flowchart 1100 is configured to include name information 1110, device information 1120, and sequence information 1130. The name information 1110 is information related to names. The device information 1120 is information related to devices. The sequence information 1130 is information related to sequence control.

[0042] As shown in FIG. 6, the name information 1110 includes a stepper number 1111 , a stepper name 1112 , a device name 1113 , a status name 1114 , and an abnormality name 1115 .

[0043] The stepper number 1111 is a number for identifying a stepper, and is the same information as the stepper number 601 in the stepper configuration table 600 shown in FIG. 4(b). The stepper name 1112 is a name for identifying the stepper by a user of the production equipment, and is the same information as the stepper name 602 in the stepper configuration table 600 shown in FIG. 4(b). The device name 1113 is a name given to identify each device of the operating device 130 and the operating device 141 shown in FIG. 1(a). The status name 1114 is a name given to identify the operating status of each device of the operating device 130 and the operating device 141. The fault name 1115 is a name given to identify an abnormality, and is the same information as the fault name 902 in the fault table 900 in FIG. 5(b).

[0044] As shown in FIG. 6, the device information 1120 includes an IO number 1121 , an allocation device 1122 , an allocation device 1123 , an output device 1124 , an allocation device 1125 , and an allocation device 1126 .

[0045] The IO number 1121 is the number of the terminal connected by the input processing unit 202 and the output processing unit 203 in FIG. 1(b), and is the same information as the IO number 704 in the IO table 700 in FIG. 4(c).

[0046] 7A, which are arranged on the flowchart 1100. The allocation device 1122 is a device for identifying the processing content on the ladder program 1500.

[0047] The allocated device 1123 is information that allocates a memory area and an IO number to be used by the control module 1400 in Fig. 3 to the memory 205 in Fig. 1(b). The allocated device 1123 is the same information as the allocated device 1003 in the management table 1000 in Fig. 5(c).

[0048] The output device 1124 is allocation information for the memory 205 of a flag for notifying the occurrence of an abnormality on the ladder program 1500 in Fig. 2. The output device 1124 is the same information as the output device 903 of the abnormality table 900 in Fig. 5(b).

[0049] The allocation device 1125 is allocation information for a flag relating to the device mode such as automatic, manual, etc. The allocation device 1125 is the same information as the allocation device 1311 of the basic map 1310 in Fig. 7(b) described later.

[0050] The allocation device 1126 is allocation information for flags relating to device states such as startup, shutdown, and abnormality, and is the same information as the allocation device 1312 of the basic map 1310 in FIG. 7(b) described later.

[0051] The sequence information 1130 shown in FIG. 6 includes information elements of a processing content 1131, a branching condition 1132, a waiting condition 1133, and a processing order 1134.

[0052] The processing content 1131 is information such as changes in the state of operation for all the operating states of the operating devices 130 and 141 shown in Fig. 1(a), changes in the state of flags in the memory 205 shown in Fig. 1(b), and calculation contents. Note that the information on changes in the state of operation for all the operating states of the operating devices 130 and 141 is the same information as the operation sequence 503 of the time chart 500 in Fig. 4(a).

[0053] The branch condition 1132 is information for branching the process based on the IO number 704 in FIG. 4(c), the allocated device 1003 in FIG. 5(c), flag information in the memory 205 in FIG. 1(b), and the like.

[0054] The waiting condition 1133 is information for waiting for temporary suspension by a timer or permission to operate from another stepper expressed by the subordinate relationship 505 in FIG. 4(a).

[0055] The processing order 1134 is information about the processing order of the processing content 1131, the branching condition 1132, and the waiting condition 1133.

[0056] The terminal 1210 shown in Fig. 7(a) is a graphic that is selected when representing the start and end of a ladder program, and when the processing content 1131 in Fig. 6 represents a device abnormality. The name information 1110 shown in Fig. 6 is written within the frame of the graphic representing the terminal 1210. The device information 1120 shown in Fig. 6 is written outside the frame of the graphic representing the terminal 1210.

[0057] 7(a) is a graphic selected when the processing content 1131 in FIG. 6 indicates something other than a device abnormality. The name information 1110 shown in FIG. 6 is written within the frame of the graphic indicating the processing 1220. The device information 1120 shown in FIG. 6 is written outside the frame of the graphic indicating the processing 1220.

[0058] 7(a) is a graphic selected when representing the branch condition 1132 and the wait condition 1133 in Fig. 6. The name information 1110 shown in Fig. 6 is written within the frame of the graphic representing the decision 1230. The device information 1120 shown in Fig. 6 is written outside the frame of the graphic representing the decision 1230.

[0059] 7(a) is a graphic selected when representing the start of processing in an independent sequence. Name information 1110 shown in FIG. 6 is written within the frame of the graphic representing the defined process 1240. Device information 1120 shown in FIG. 6 is written outside the frame of the graphic representing the defined process 1240.

[0060] The flowchart 1100 (FIG. 3) is completed by connecting the shapes of the terminal 1210, process 1220, decision 1230, and defined process 1240 shown in FIG. 7(a) with lines according to the information of the process order 1134 shown in FIG. 6. Therefore, the flowchart 1100 includes information of the time chart 500, the stepper configuration table 600, the IO table 700, the abnormality table 900, the management table 1000, the basic map 1310, and the control map 1410.

[0061] Furthermore, when creating the flowchart 1100, information other than the information described above includes a branch condition 1132, a wait condition 1133, processing details 1131 after branching at the branch condition 1132, and a defined process 1240. The information described above is information that must be created at the discretion of the software designer. The software designer completes the flowchart 1100 through repeated consideration. In other words, flexible software design including the branch condition 1132, the wait condition 1133, processing details 1131 after branching at the branch condition 1132, and the defined process 1240 can only be expressed by the flowchart 1100, excluding the ladder program 1500.

[0062] 7(b) is a diagram showing the components of the basic module 1300 and basic map 1310 shown in FIG. 3. The basic module 1300 is a program for managing the mode and status of the production equipment, and is configured to include a mode processing unit 1301 and a status processing unit 1302. The mode processing unit 1301 is a processing program for managing equipment modes such as automatic mode and manual mode. The status processing unit 1302 is a processing program for managing equipment status such as startup, shutdown, and abnormality.

[0063] The basic map 1310 is a list listing the allocated devices of the memory used by the basic module 1300, and exists for each type of basic module 1300. The basic map 1310 is composed of information elements of allocated device 1311, allocated device 1312, and allocated device 1313. The allocated device 1311 is information on devices allocated to equipment mode flags such as automatic mode and manual mode. The allocated device 1312 is information on devices allocated to flags indicating equipment states such as started, stopped, and abnormal. The allocated device 1313 is allocation information on devices other than the allocated device 1311 and allocated device 1312 in the memory area used in the processing of the basic module 1300. The devices allocated to the basic module 1300 are fixed information that is not changed in the memory 205 shown in FIG. 1(b).

[0064] FIG. 7(c) is a diagram showing the components of the control module 1400 and the control map 1410 shown in FIG. 3. The control module 1400 is a program that controls the controller 140 shown in FIG. 1(a). The control module 1400 is a program including an IF processing unit 1401 and a control processing unit 1402. The IF processing unit 1401 is a processing program that indicates an interface related to communication. The control processing unit 1402 is a processing program other than the IF processing unit 1401 for controlling the controller 140 shown in FIG. 1(a). A corresponding control module 1400 is created for each type of controller 140. In the control map 1410, the control modules 1400 are managed by names that correspond to the control module names 1002 in FIG. 5(c).

[0065] The control map 1410 is a list listing the allocation devices of the memory used by the control module 1400, and exists for each type of control module 1400. The control map 1410 includes information elements of an allocation device 1411 and an allocation device 1412.

[0066] The allocated device 1411 is information on device allocation relating to the connection between the controller 140 shown in Fig. 1(a) that is the control target of the control module 1400 and the input processing unit 202 and output processing unit 203 shown in Fig. 1(b). The allocated device 1412 is information on device allocation other than the allocated device 1411 in the memory area used in the processing of the control map 1410.

[0067] 8 is a diagram showing components of a ladder program 1500 according to the embodiment. The generated ladder program 1500 is a program that indicates sequence control to be executed by the sequence control unit 200 shown in FIG. 1(a), and is stored in the storage unit 204 shown in FIG. 1(b).

[0068] As shown in FIG. 8, the ladder program 1500 includes a basic module section 1501 , a stepper operation processing section 1521 , a stepper abnormality processing section 1531 , an output processing section 1541 , a control processing section 1551 , and a display processing section 1552 .

[0069] The basic module section 1501 is a processing section for managing the mode and state of the production equipment. The basic module section 1501 is generated as follows: one of the basic modules 1300 stored in the library 410 shown in FIG. 3 is selected, the selected information is duplicated, and the duplicated information is incorporated into the basic module section 1501.

[0070] The stepper operation processing unit 1521 is a processing unit for performing sequence control, and is created based on the device information 1120 and sequence information 1130 shown in FIG.

[0071] The stepper abnormality processing section 1531 is a processing section related to abnormality notification, and is created based on the device information 1120 and sequence information 1130 shown in FIG.

[0072] The output processing unit 1541 is a processing unit that issues commands from the operation device 120 shown in Fig. 1(a) and the stepper operation processing unit 1521 shown in Fig. 8 to the operation device 130 and the controller 140 shown in Fig. 1(a). The output processing unit 1541 creates commands to be output based on the device information 1120 and sequence information 1130 shown in Fig. 6 and the allocation table 800 shown in Fig. 3.

[0073] The control processing unit 1551 is a processing part that controls the controller 140 of FIG. 1(a). The control processing unit 1551 is generated as follows: Based on the information in the management table 1000 shown in FIG. 5(c), the control module 1400 shown in FIG. 7(c) that is written in the control module name 1002 is replicated. Furthermore, the device allocation information written in the control map 1410 shown in FIG. 7(c) is changed in accordance with the allocated device 1003 shown in FIG. 5(c). The information obtained in this way is incorporated into the control processing unit 1551.

[0074] The display processing unit 1552 is a processing part for displaying information on a display device such as the operation device 120 shown in Fig. 1(a). The display processing unit 1552 is created based on the device information 1120 and sequence information 1130 shown in Fig. 6 and the allocation table 800 shown in Fig. 5(a).

[0075] Here, the sequence control unit 200 shown in FIG. 1( a) acquires a ladder program 1500 generated and output by the ladder program generation device 300. The ladder program 1500 must be written in a language processable by the sequence control unit 200, i.e., in mnemonics processable by the sequence control unit 200. The sequence control unit 200 is a PLC. The language, i.e., mnemonics, used in PLCs vary, for example, depending on the PLC manufacturer. That is, if the ladder program 1500 is written in a specific mnemonic, the sequence control unit 200 can control each device according to the ladder program 1500. For example, if the mnemonic processable by the sequence control unit 200 is mnemonic A, the ladder program 1500 must be written in the format of mnemonic A. Furthermore, if the mnemonic processable by the sequence control unit 200 is mnemonic B, which is different from mnemonic A, the ladder program 1500 must be written in the format of mnemonic B.

[0076] Therefore, in this embodiment, the CPU 310 shown in FIG. 2 can execute the following information processing by operating in accordance with the program 2100. That is, the CPU 310 can execute intermediate processing to generate intermediate information 2000 using a predetermined mnemonic. This intermediate processing is executed by the CPU 310 as the CPU 310 operates in accordance with a processing program 2110 of the program 2100. The CPU 310 can also execute generation processing to generate the ladder program 1500 using a mnemonic of a type selected from multiple types of mnemonics different from the predetermined mnemonic, based on the intermediate information 2000. This generation processing is executed by the CPU 310 as the CPU 310 operates in accordance with a processing program 2120 of the program 2100. The processing of the CPU 310 will be described in detail below with specific examples.

[0077] Fig. 9 is an explanatory diagram showing an example of a ladder diagram according to the embodiment. A ladder diagram 1600 shown in the upper half of Fig. 9 is a ladder diagram in which the ladder program 1500 shown in Fig. 8 is expressed using mnemonic A. A ladder diagram 1601 shown in the lower half of Fig. 9 is a ladder diagram in which the ladder program 1500 shown in Fig. 8 is expressed using mnemonic B, which is a different type from mnemonic A.

[0078] Fig. 10 is an explanatory diagram showing an example of a ladder program according to an embodiment. Hereinafter, ladder program 1500 written in mnemonic A format will be referred to as ladder program 1701, and ladder program 1500 written in mnemonic B format will be referred to as ladder program 1702. That is, Fig. 10 illustrates ladder programs 1701 and 1702 written in two different mnemonic formats as examples. Ladder program 1701 and ladder program 1702 have the same control content but are written in different mnemonics.

[0079] The ladder programs 1701 and 1702 are written in a format that is easy for the user to understand, for example, in a table format. The ladder programs 1701 and 1702 have the following fields: "Line Number," "Instruction," and "Device." The "Line Number" field contains an integer. The "Instruction" field contains a mnemonic indicating the name assigned to the instruction. The "Device" field contains a mnemonic indicating the name assigned to the device.

[0080] As an example, compare line number 13 in ladder program 1701 with line number 13 in ladder program 1702. In ladder program 1701, the mnemonic "ANI M30" is written in the "Command" and "Device" fields, while in ladder program 1702, the mnemonic "ANB MR30" is written in the "Command" and "Device" fields. Both ladder programs 1701 and 1702 express in line number 13 that "the internal relay device with the specified device number turns OFF at the A contact and connects in series with the immediately preceding element," but the mnemonics are different.

[0081] Fig. 11 is an explanatory diagram showing an example of the device definition information 1800 shown in Fig. 2. The device definition information 1800 is a conversion table that associates device definition information written in mnemonic O with device definition information written in mnemonics A and B.

[0082] The device definition information 1800 defines the "device name" and "device number" of the "device" in the mnemonic O used in the intermediate information 2000. The device definition information 1800 also defines the "device name" and "device number" of the "device" that is the definition information of mnemonic A in association with the "device name" and "device number" of the "device" that is the definition information of mnemonic O. Similarly, the device definition information 1800 defines the "device name" and "device number" of the "device" that is the definition information of mnemonic B in association with the "device name" and "device number" of the "device" that is the definition information of mnemonic O.

[0083] In the mnemonic O used in the intermediate information 2000, a "device name" is assigned to each use of a "device," and a "device number" is assigned using a relative value from the beginning of the "device name." As an example, the following description will be given with reference to the lines indicated by dashed lines in FIG. 11.

[0084] "XB" in mnemonic A and "R1011" in mnemonic B both refer to the same device. Mnemonic O used in intermediate information 2000 indirectly defines the devices associated with "XB" and "R1011" by the device name "input" that indicates the device's use and the device number "11" that is the relative value from the beginning of the "input" item.

[0085] Fig. 12 is an explanatory diagram showing an example of the command definition information 1900 shown in Fig. 2. The command definition information 1900 is a conversion table that associates definition information of commands written in mnemonic O with definition information of commands written in mnemonics A and B.

[0086] The command definition information 1900 defines the "command" in mnemonic O used in the intermediate information 2000. Furthermore, the device definition information 1800 defines the "command" that is the definition information of mnemonic A in association with the "command" that is the definition information of mnemonic O. Similarly, the device definition information 1800 defines the "command" that is the definition information of mnemonic B in association with the "command" that is the definition information of mnemonic O.

[0087] The mnemonic O used in the intermediate information 2000 uses a name that means "command." As an example, the following description will be given with reference to the lines indicated by the dashed lines in FIG.

[0088] "ANI" in mnemonic A and "ANB" in mnemonic B both mean the same command. This command is a bit signal that turns the A contact OFF and indicates a series connection. Mnemonic O used in intermediate information 2000 indirectly defines the commands associated with "ANI" and "ANB" using "bit," "A contact," "OFF," and "series."

[0089] FIG. 13 is a diagram showing an example of intermediate information 2000 according to an embodiment. The intermediate information 2000 is obtained by describing the design information 400 as a ladder program in the form of mnemonic O using device definition information 1800 and instruction definition information 1900. The intermediate information 2000 is used to generate the ladder programs 1701 and 1702. Each line of the intermediate information 2000 describes a "line number" and the names of an "instruction" and a "device." The device names and instruction names used in the intermediate information 2000 are indirectly defined in the device definition information 1800 and the instruction definition information 1900, respectively. In this embodiment, mnemonic O is a first mnemonic, and mnemonics A and B are multiple types of second mnemonics different from mnemonic O.

[0090] The procedure for generating a ladder program will be described below: Fig. 14 is a diagram showing the procedure for generating a ladder program according to the embodiment.

[0091] 2 performs intermediate processing P2110 in FIG. 14 in accordance with a processing program 2110, and executes generation processing P2120 in FIG.

[0092] In intermediate processing P2110, the CPU 310 generates intermediate information 2000 based on the design information 400. At this time, the CPU 310 generates the intermediate information 2000 using the mnemonic O defined in the device definition information 1800 and the command definition information 1900.

[0093] Next, in generation processing P2120, the CPU 310 generates ladder program 1500 using a selected type of mnemonic from among multiple types of mnemonics A and B based on the intermediate information 2000. That is, if mnemonic A is selected, the CPU 310 generates ladder program 1701 as ladder program 1500. Also, if mnemonic B is selected, the CPU 310 generates ladder program 1702 as ladder program 1500. Also, if both mnemonic A and B are selected, the CPU 310 generates two ladder programs 1701 and 1702 as ladder program 1500. That is, the CPU 310 may generate multiple ladder programs using all of the multiple types of mnemonics.

[0094] The CPU 310 stores the generated ladder program 1500, i.e., the generated ladder programs 1701 and / or 1702, in the storage unit 350 shown in FIG. 2. Then, the CPU 310 executes an extraction process P2130 that causes the interface unit 360 to output the ladder program 1500. The output destination of the ladder program 1500 is the sequence control unit 200, but this is not limited thereto and may be external storage (not shown). The external storage may be on a network or may be directly connected to the ladder program generation device 300. In this case, the sequence control unit 200 can acquire the ladder program 1500 from the external storage.

[0095] Selection information indicating which type of mnemonic has been selected may be stored in advance in the storage unit 350 or the like of the ladder program generation device 300. In this case, the CPU 310 may read out the selection information from the storage unit 350 when executing the generation process P2120.

[0096] Furthermore, selection information indicating which type of mnemonic has been selected may be input by the user via the input device 3300 each time the CPU 310 executes the generation process P2120. That is, the user may operate the input device 3300 to select a desired mnemonic from among multiple types of mnemonics A and B.

[0097] In this embodiment, a conversion table 3000 in which definition information of mnemonic O is associated with definition information of each of mnemonics A and B is stored in the storage unit 350. Therefore, in the generation process P2120, the CPU 310 converts the intermediate information 2000 into the ladder program 1500 using the conversion table 3000.

[0098] A specific example will be described below. First, a case will be described in which the ladder program 1701 is generated using the mnemonic A as the ladder program 1500. The CPU 310 converts the device name and command name written in the intermediate information 2000 using the mnemonic O into the corresponding device name and command name written in the mnemonic A by selecting them from the device definition information 1800 and the command definition information 1900. For example, in the case of line number "19" in the intermediate information 2000 shown in FIG. 13, the CPU 310 converts the device name "output, 112" into the device name "Y70" by referring to the device definition information 1800 in FIG. 11. The CPU 310 also converts the command name "output, direct output" into the command name "OUT" by referring to the command definition information 1900 in FIG. 12. Therefore, the information in the line number "19" in the intermediate information 2000 shown in FIG. 13 is converted into "OUT Y70."

[0099] Next, a case will be described in which ladder program 1702 is generated using mnemonic B as ladder program 1500. CPU 310 converts device names and command names written in mnemonic O in intermediate information 2000 into corresponding device names and command names written in mnemonic B by selecting them from device definition information 1800 and command definition information 1900. For example, in the case of line number "19" in intermediate information 2000 shown in FIG. 13, CPU 310 converts the device name "output, 112" to the device name "R2700" by referring to device definition information 1800 in FIG. 11. Furthermore, CPU 310 converts the command name "output, direct output" to the command name "OUT" by referring to command definition information 1900 in FIG. 12. Therefore, the information in line number "19" in intermediate information 2000 shown in FIG. 13 is converted to "OUT R2700."

[0100] In this embodiment, the conversion table 3000 stored in the storage unit 350 is editable. Editing the conversion table 3000 means creating the conversion table 3000, rewriting some or all of the information in the conversion table 3000, deleting some of the information in the conversion table 3000, or adding information to the conversion table 3000. Rewriting all of the information in the conversion table 3000 includes replacing the entire file of the conversion table 3000 with a file of another conversion table in the storage unit 350, and rewriting all of the information in the file of the conversion table 3000.

[0101] The following describes a method for editing the device definition information 1800 and the command definition information 1900 in the conversion table 3000. Fig. 15 is a diagram showing an example of an edit screen (setting screen) for the conversion table according to this embodiment.

[0102] The CPU 310 displays on the display device 3200 an image 2200 that supports editing of the conversion table 3000. The user can edit the conversion table 3000 by operating the input device 3300 while viewing the image 2200.

[0103] The image 2200 includes a tabular image 1800I showing the device definition information 1800 and a tabular image 1900I showing the command definition information 1900. The image 2200 also includes an add button 2201 for adding a mnemonic type and a delete button 2202 for deleting a mnemonic type. The image 2200 also includes an add button 2203 for adding a row to the device definition information 1800 and a delete button 2204 for deleting a row from the device definition information 1800. The image 2200 also includes an add button 2205 for adding a row to the command definition information 1900 and a delete button 2206 for deleting a row from the command definition information 1900. The image 2200 also includes a save button 2207 for saving the editing results.

[0104] The add button 2201 to the save button 2207 can be selected by the user operating the input device 3300. For example, if the input device 3300 includes a mouse, the user can select the add button 2201 to the save button 2207 by operating the mouse, aligning the cursor with the button position, and clicking.

[0105] When the add button 2201 is selected, a column showing a new PLD, i.e., a mnemonic, is added to the image 1800I and the image 1900I. When the delete button 2202 is selected while any column in the image 1800I or the image 1900I is selected, the column showing the selected mnemonic is deleted from the image 1800I and the image 1900I.

[0106] When the add button 2203 is selected, a new row is added to image 1800I. When a row is selected in image 1800I and the delete button 2204 is selected, the selected row is deleted from image 1800I. When the add button 2205 is selected, a new row is added to image 1900I. When a row is selected in image 1900I and the delete button 2206 is selected, the selected row is deleted from image 1900I.

[0107] For example, when registering a new language specification, that is, a new mnemonic, the user first selects the add button 2201 to add a new column to the image 1800I and the image 1900I. Next, the user inputs, into the new column added to the image 1800I, a device name and a device number of the new language specification that correspond to the device name and device number of the intermediate information. Next, into the new column added to the image 1900I, the user inputs, based on the new language specification, a command name of the new language specification that corresponds to the command name of the intermediate information. After the user has edited the table using the input device 3300, the edited conversion table 3000 is saved in the storage unit 350 by selecting the save button 2207 in the image 2200.

[0108] As described above, according to this embodiment, it is possible to easily and automatically generate a ladder program in accordance with the language specifications, ie, mnemonics, used in the sequence control unit 200.

[0109] (Second embodiment) In the first embodiment described above, the user sets the device definition information 1800 and command definition information 1900 that constitute the conversion table 3000 to match the language specifications, i.e., mnemonics, of the various ladder programs to be converted. However, the embodiment is not limited to this. For example, device elements and command elements may be extracted from the various ladder programs to be converted (ladder program 1701 for company A, ladder program 1702 for company B), and the device definition information 1800 and command definition information 1900 may be set based on the extracted elements. This will be described in detail below. Note that, below, hardware and control system configurations that differ from those of the first embodiment are illustrated and described. Furthermore, in this embodiment, it is assumed that similar configurations and operations can be achieved in the same manner as in the first embodiment, and detailed descriptions thereof will be omitted.

[0110] 16 is a diagram showing the procedure for setting the conversion table 3000 (device definition information 1800, command definition information 1900) from the ladder programs 1701 and 1702 according to this embodiment. The CPU 310 shown in FIG. 2 performs extraction processing P2130 in FIG. 16 according to the processing program 2130, and executes setting processing P2140 in FIG. 16 according to the processing program 2140.

[0111] In extraction processing P2130, CPU 310 extracts device elements and command elements based on ladder programs 1701 and 1702. At this time, CPU 310 extracts device elements and command elements extracted from ladder program 1701 so that they are displayed with mnemonic A, and extracts device elements and command elements extracted from ladder program 1702 so that they are displayed with mnemonic B (see FIGS. 9 and 10). FIG. 17 shows an example of a device list 2300 and a command list 2310 in which device elements and command elements extracted from ladder programs 1701 and 1702 in the extraction process P2130 according to the embodiment are listed.

[0112] A device list 2301 is a list of device elements extracted from the ladder program 1701. A device list 2302 is a list of device elements extracted from the ladder program 1702. A device list 2303 is a list of device elements extracted from the ladder program 1500 of the design information 400.

[0113] Command list 2311 is a list of command elements extracted from ladder program 1701. Command list 2312 is a list of command elements extracted from ladder program 1702. Command list 2313 is a list of command elements extracted from the ladder program (mnemonic O) of design information 400.

[0114] Here, CPU 310 deletes duplicates from the device elements and command elements extracted from ladder programs 1701 and 1702 to generate device list 2300 and command list 2310. If pre-set device definition information 1800 and command definition information 1900 exist, CPU 310 references device definition information 1800 and command definition information 1900, associates already defined devices and commands, and generates device list 2300 and command list 2310. For example, the device element with device name "M" and device number "1" of mnemonic A in device list 2301 corresponds to the device element with device name "internal relay" and device number "1" of mnemonic O. Furthermore, for example, the element with command "LD" in command list 2312 of mnemonic B corresponds to the command "bit, A, ON, start" of mnemonic O.

[0115] Furthermore, the device element of mnemonic A with device name "L" and device number "20" in device list 2301 is not registered in device definition information 1800. In this case, the corresponding device name and device number in device list 2303, which is a list of devices with mnemonic O, are generated with blank columns (box α). Furthermore, the command element of command "ANDFI" for mnemonic A in command list 2311 is not registered in command definition information 1900. In this case, the corresponding command column in command list 2313, which is a list of commands with mnemonic O, is generated with blank columns (box β).

[0116] 16, next, in setting process P2140, CPU 310 prompts the user to associate the device elements and command elements extracted from ladder programs 1701 and 1702 with the device elements and command elements of ladder program 1500. Device definition information 1800 and command definition information 1900 are set based on this association.

[0117] 18 is a diagram showing an example of a setting screen for allowing a user to set device definition information 1800 and command definition information 1900 based on extracted device elements and command elements according to an embodiment. The CPU 310 causes the display device 3200 to display an image 2400 that supports the setting of the device definition information 1800 and the command definition information 1900. The user can set the device definition information 1800 and the command definition information 1900 by operating the input device 3300 while viewing the image 2400. Note that, for the sake of simplicity, FIG. 18 illustrates an example in which elements of mnemonic A are associated with elements of mnemonic O.

[0118] Image 2400 displays a device list 2301 of device elements extracted from ladder program 1701 (mnemonic A) and a device list 2303 of device elements in ladder program 1500 (mnemonic O) associated with it. Similarly, an instruction list 2311 of instruction elements extracted from ladder program 1701 (mnemonic A) and an instruction list 2313 of instruction elements in ladder program 1500 (mnemonic O) associated with it are displayed.

[0119] The device list 2301 and the device list 2303 are made editable, and an image 1800I is displayed as an image showing the device definition information 1800. Similarly, the command list 2311 and the command list 2313 are made editable, and an image 1900I is displayed as an image showing the command definition information 1900. Also displayed in the image 2400 is a registration button 2401 for registering the set device definition information 1800 and command definition information 1900.

[0120] 18, the user checks the device list 2301 and device list 2303 for the extracted mnemonic A. If there is a blank field in the device list 2303, the user can immediately see that the blank device element is not defined in the device definition information 1800 (box α). Therefore, the user inputs the mnemonic O device name and number corresponding to the device element with the mnemonic A device name "L" and device number "2," and sets the correspondence between the mnemonic A device and the mnemonic O device. This makes it possible to immediately grasp which elements are not associated, enabling efficient setting of definition information.

[0121] Furthermore, when associating, candidates may be displayed in a pull-down format. Referring to FIG. 18, the user checks the command list 2311 and command list 2313 for the extracted mnemonic A. If there is a blank in the command list 2313, the user immediately knows that the blank command element is not defined in the command definition information 1900 (frame β). When entering an entry in the blank in the command list 2313, the user clicks the downward arrow "▼" to display a pull-down menu 2501. The pull-down menu 2501 displays multiple command elements used in mnemonic O. The multiple command elements displayed in the pull-down menu 2501 can be viewed using a scroll bar 2502. Checking the pull-down menu 2501 allows the user to easily enter the contents of the elements in mnemonic O, further improving the efficiency of setting definition information. This pull-down format entry method may also be used when setting device definition information. After setting the device definition information 1800 and the command definition information 1900 , pressing the register button 2401 causes the CPU 310 to store the set device definition information 1800 and command definition information 1900 in the storage unit 350 .

[0122] As described above, according to this embodiment, device elements and command elements are extracted from the conversion destination program (mnemonic A or B) and displayed so that they can be compared with the device elements and command elements of the conversion source program (mnemonic O). This makes it possible to set definition information efficiently. In this embodiment, device elements and command elements are extracted from the ladder program, but if there is text that indicates the rules of the language specification for writing the ladder program, extraction may be performed using that text.

[0123] The present invention is not limited to the above-described embodiments, and many modifications are possible within the technical concept of the present invention. Furthermore, the effects described in the embodiments are merely a list of the most preferable effects resulting from the present invention, and the effects of the present invention are not limited to those described in the embodiments.

[0124] In the above embodiment, the ladder program generating device 300 generates the ladder program 1500 in a file format, but this is not limiting, and the ladder program 1500 may be generated in a binary format.

[0125] Furthermore, in the above embodiment, the case has been described where the CPU 310 can generate two types of mnemonic formats for the ladder program 1500, but this is not limitative and three or more types may be used.

[0126] In the above embodiment, the production device 100 is described as having one sequence control unit 200, but the present invention is not limited to this. The production device may also have multiple sequence control units (i.e., PLCs) with different language specifications. Even in such a case, the ladder program generation device 300 can generate ladder programs corresponding to each of the multiple types of mnemonics and each sequence control unit. Furthermore, as a production device, a machine that can automatically perform operations such as expanding and contracting, bending and stretching, moving up and down, moving left and right, or turning, or a combination of these operations, based on information stored in a memory device provided in the control device, can be applied.

[0127] (Other embodiments) The present invention can also be realized by supplying a program that realizes one or more functions of the above-described embodiments to a system or device via a network or a storage medium, and having one or more processors in the computer of the system or device read and execute the program. It can also be realized by a circuit (e.g., ASIC) that realizes one or more functions. [Explanation of symbols]

[0128] 200... sequence control unit, 300... ladder program generating device (information processing device), 310... CPU (processing unit), 3000... conversion table

Claims

1. A processing unit capable of processing information is provided, The processing unit a setting screen is displayed on a display unit, which allows a user to associate a first device element written in a first programming language with a second device element written in a second programming language different from the first programming language, and to associate a first command element written in the first programming language with a second command element written in the second programming language; acquiring information associating the first programming language with the second programming language in response to an input on the setting screen by a user; 1. An information processing device comprising:

2. The processing unit converting the first program written in the first programming language into a second program written in the second programming language based on the information; 2. The information processing apparatus according to claim 1, wherein:

3. The processing unit outputs the second program from an output unit.

3. The information processing apparatus according to claim 2, wherein:

4. the processing unit converts the first program into the second program in the second programming language of the type selected by a user via an input unit.

4. The information processing apparatus according to claim 2, wherein the information processing apparatus is a computer.

5. The processing unit obtaining the second device element and the second command element in the second programming language from the second program written in the second programming language; 3. The information processing apparatus according to claim 2, wherein:

6. The processing unit obtaining the first device element and the first command element in the first programming language from design information; 3. The information processing apparatus according to claim 2, wherein:

7. The processing unit Among the second device elements and the second command elements, the second device elements or the second command elements that are already associated with the first device elements or the first command elements in the information are displayed on the setting screen in association with the first device elements or the first command elements.

3. The information processing apparatus according to claim 2, wherein:

8. The processing unit Among the second device elements and the second command elements extracted from the second program, those that overlap at the stage of extraction are not displayed on the setting screen.

8. The information processing apparatus according to claim 7,

9. The processing unit displaying, on the setting screen, candidates for the first device element or the first command element to be associated with the second device element or the second command element; 3. The information processing apparatus according to claim 2, wherein:

10. The processing unit extracting the first device elements and the first command elements from a first program written in the first programming language and displaying a first list of the first device elements and the first command elements on the setting screen, and also extracting the second device elements and the second command elements from a second program written in the second programming language and displaying a second list of the second device elements and the second command elements on the setting screen.

2. The information processing apparatus according to claim 1, wherein:

11. the first program and the second program are ladder programs, The processing unit extracting the first device element and the first command element from a first text indicating a rule of a language specification for writing the first program, and extracting the second device element and the second command element from a second text indicating a rule of a language specification for writing the second program; 11. The information processing apparatus according to claim 10,

12. The processing unit: When there is the first device element, the first command element, the second device element, or the second command element that is not associated in the first list or the second list, a column in the first list or a column in the second list corresponding to the first device element, the first command element, the second device element, or the second command element is displayed as a blank column.

12. The information processing device according to claim 10 or 11.

13. The processing unit: displaying, in the first list or the second list, the first device element or the first command element or the second device element or the second command element that are candidates for association in the other list in a pull-down menu; 13. The information processing device according to claim 10, wherein the information processing device is a computer.

14. The first programming language is used in a first PLC of a first manufacturer, and the second programming language is used in a second PLC of a second manufacturer different from the first manufacturer.

14. The information processing device according to claim 1,

15. the first program and the second program are ladder programs; 3. The information processing apparatus according to claim 2, wherein:

16. The setting screen displays at least one of an add button for newly adding the information, a delete button for deleting the information, and a save button for saving the set information.

16. The information processing device according to claim 1,

17. The processing unit: displaying, on the setting screen, the first device element and the first command element in association with information indicating the first programming language, and displaying, on the setting screen, the second device element and the second command element in association with information indicating the second programming language; 17. The information processing device according to claim 1,

18. The information indicating the first programming language is the name of the first programming language that makes it possible to determine the name of a first manufacturer that is the manufacturer of a first PLC in which a program written in the first programming language is used, and the information indicating the second programming language is the name of a second programming language that makes it possible to determine the name of a second manufacturer that is the manufacturer of a second PLC in which a program written in the second programming language is used.

18. The information processing apparatus according to claim 17,

19. The processing unit: the first device element, the first command element, the second device element, and the second command element are displayed side by side on the setting screen; 17. The information processing device according to claim 1,

20. The processing unit: displaying the first device element and the first command element in the format of the first programming language, and displaying the second device element and the second command element in the format of the second programming language on the setting screen; 17. The information processing device according to claim 1,

21. The processing unit: When a plurality of types of the second programming languages ​​are selected, converting the first program into a plurality of second programs corresponding to the plurality of types of the second programming languages ​​based on the information.

3. The information processing apparatus according to claim 2, wherein:

22. The processing unit: converting the first program directly into the second program based on the information; 3. The information processing apparatus according to claim 2, wherein:

23. The processing unit: automatically converting the first program into the second program based on the information; 3. The information processing apparatus according to claim 2, wherein:

24. A processing unit capable of processing information is provided, The processing unit a setting screen is displayed on a display unit, which allows a user to associate a first device element written in a first programming language with a second device element written in a second programming language different from the first programming language, and to associate a first command element written in the first programming language with a second command element written in the second programming language; acquiring information associating a first programming language with the second programming language in response to an input on the setting screen by a user; converting the first ladder program written in the first programming language into a second ladder program written in the second programming language based on the information; A ladder program generating device characterized by:

25. An information processing method by a processing unit, The processing unit a setting screen is displayed on a display unit, which allows a user to associate a first device element written in a first programming language with a second device element written in a second programming language different from the first programming language, and to associate a first command element written in the first programming language with a second command element written in the second programming language; acquiring information associating the first programming language with the second programming language in response to an input on the setting screen by a user; An information processing method comprising:

26. A ladder program generation method by a processing unit, The processing unit a setting screen is displayed on a display unit, which allows a user to associate a first device element written in a first programming language with a second device element written in a second programming language different from the first programming language, and to associate a first command element written in the first programming language with a second command element written in the second programming language; acquiring information associating the first programming language with the second programming language in response to an input on the setting screen by a user; the processing unit converts the first ladder program written in the first programming language into a second ladder program written in the second programming language based on the information; A ladder program generating method comprising:

27. A method for manufacturing an article, comprising controlling a control target based on a ladder program generated by the ladder program generating device according to claim 24 or the ladder program generating method according to claim 26.

28. A program for causing a computer to execute the information processing method according to claim 25 or the ladder program generating method according to claim 26.

29. A computer-readable recording medium on which the program according to claim 28 is recorded.

Citation Information

Patent Citations

  • Automatic generating method for sequence program

    JP1992303205A

  • Hardware configuration of programmable logic control device used on first programmable logic control device to beused on second programmable logic control device and corresponding control program converting method

    JP1992349505A

  • Programmable controller system, programming device thereof, programmable controller, program and debug method

    JP2013084112A

  • Program creation support device, program, and determination method

    JP2016224557A

  • Program creation apparatus

    JP2019016037A