Information processing apparatus and method, ladder program generation apparatus and method, method of manufacturing product, and recording medium
By using information processing devices and step-by-step program generation devices, and employing mnemonic transformation technology, the problem of automated generation of PLC programs across language specifications has been solved, simplifying the program generation process and improving the flexibility and adaptability of the production equipment.
Patent Information
- Application Number
- CN202110850683.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-04-27
- Filing Date
- 2021-07-27
- Publication Date
- 2026-01-09
- Estimated Expiration
- 2041-07-27
AI Technical Summary
In the existing technology, the PLC program of the production equipment needs to be written according to different language specifications, which increases the complexity of the program generation device. When the PLC is replaced, it needs to be rewritten, and when the design changes, the program needs to be adjusted, which increases the working time.
By using an information processing device and a ladder program generation device, and employing mnemonic transformation technology, ladder programs written with different mnemonics are generated, thereby achieving automated program generation across language specifications.
It simplifies the PLC program generation process, reduces labor time requirements, improves the flexibility and adaptability of production equipment, and supports PLC replacement and design changes for different language specifications.
Smart Images

Figure CN114064120B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to information processing. BACKGROUND
[0002] In a production line, sequence control is performed to sequentially control the operation of devices in accordance with a predetermined process. In a production line, production devices, such as automatic assembly devices, are deployed; and a programmable logic controller (PLC) is mainly used as a controller that performs sequence control on the production devices. To program a PLC so that the PLC performs sequence control, a program written in accordance with a predetermined language specification is used. To reduce the man-hours in the design of such a program, Japanese Patent Application Publication No. H04-303205 discloses a device that automatically generates a program, such as a ladder program. SUMMARY
[0003] According to a first aspect of the present application, an information processing apparatus includes a processing portion configured to perform information processing. The processing portion is configured to obtain definition information in which a first mnemonic and a second mnemonic different from the first mnemonic are associated with each other.
[0004] According to a second aspect of the present application, a ladder program generation apparatus includes a processing portion configured to perform information processing. The processing portion is configured to: obtain definition information in which a first mnemonic and a second mnemonic different from the first mnemonic are associated with each other; and transform a first ladder program written in the first mnemonic into a second ladder program written in the second mnemonic by using the definition information.
[0005] According to a third aspect of the present application, an information processing method performed by a processing portion, in which the processing portion is configured to obtain definition information in which a first mnemonic and a second mnemonic different from the first mnemonic are associated with each other.
[0006] According to a fourth aspect of the present application, a ladder program generation method performed by a processing portion, in which the processing portion is configured to: obtain definition information in which a first mnemonic and a second mnemonic different from the first mnemonic are associated with each other; and transform a first ladder program written in the first mnemonic into a second ladder program written in the second mnemonic by using the definition information.
[0007] Further features of the present application will become clear from the following description of exemplary embodiments with reference to the attached drawings. BRIEF DESCRIPTION OF DRAWINGS
[0008] Figure 1Ais a block diagram of a production device of the embodiment.
[0009] Figure 1B is a diagram of system components of a sequence control section of the embodiment.
[0010] Figure 2 is a block diagram of a ladder program generation device of the embodiment.
[0011] Figure 3 is a diagram of components of design information of the embodiment.
[0012] Figure 4A is a diagram of components of a time chart of the embodiment.
[0013] Figure 4B is a diagram of components of a stepper configuration table of the embodiment.
[0014] Figure 4C is a diagram of components of an I / O table of the embodiment.
[0015] Figure 5A is a diagram of components of an assignment table of the embodiment.
[0016] Figure 5B is a diagram of components of an error table of the embodiment.
[0017] Figure 5C is a diagram of components of a management table of the embodiment.
[0018] Figure 6 is a diagram of components of a flowchart of the embodiment.
[0019] Figure 7A is a diagram of components of a flowchart of the embodiment.
[0020] Figure 7B is a diagram of components of a basic module of the embodiment and components of a basic map.
[0021] Figure 7C is a diagram of components of a control module of the embodiment and components of a control map.
[0022] Figure 8 is a diagram of components of a ladder program of the embodiment.
[0023] Figure 9 is a diagram of one example of a ladder program of the embodiment.
[0024] Figure 10 is a diagram of one example of a ladder program of the embodiment.
[0025] Figure 11 FIG. 1 is a diagram illustrating one example of device definition information of the embodiment.
[0026] Figure 12 FIG. 2 is a diagram illustrating one example of command definition information of the embodiment.
[0027] Figure 13 FIG. 3 is a diagram illustrating one example of intermediate information of the embodiment.
[0028] Figure 14 FIG. 4 is a diagram illustrating a process for generating a ladder program of the embodiment.
[0029] Figure 15 FIG. 5 is a diagram illustrating one example of a setting screen of a conversion table of the embodiment.
[0030] Figure 16 FIG. 6 is a diagram illustrating a process for setting device definition information of the embodiment.
[0031] Figure 17 FIG. 7 is a diagram illustrating one example of device definition information and command definition information of the embodiment.
[0032] Figure 18 FIG. 8 is a diagram illustrating one example of a setting screen of a conversion table of the embodiment. DETAILED DESCRIPTION
[0033] When a production device is designed and fabricated, the production device can need to have a plurality of PLCs having different language specifications to satisfy the performance required for the production device. In addition, when the design of the production device is changed (for example, when the production device is modified), the PLC of the production device can be replaced with another PLC having a different language specification. In such a case, the program for the PLC needs to be written in a mnemonic corresponding to the language for the PLC. Therefore, the device for generating the program also needs to generate a program written in a mnemonic corresponding to the language for the PLC of the production device.
[0034] First Embodiment
[0035] Hereinafter, the embodiment of the present application will be described in detail with reference to the accompanying drawings. Figure 1A FIG. 1 is a block diagram of a production device 100 of the embodiment. The production device 100 includes an input device 110, an operation device 120, a device 130, a device 141, a controller 140, a sequence control section 200, and a ladder program generation device 300.
[0036] The sequence control portion 200 is a programmable logic controller (PLC). The sequence control portion 200 is connected with the input device 110, the operation device 120, the device 130, and the controller 140. The controller 140 is connected with the device 141. The sequence control portion 200 includes a computer that controls the devices connected with the sequence control portion 200 according to the ladder program 1500. The sequence control portion 200 obtains the ladder program 1500 from the ladder program generation apparatus 300. The input device 110 is a device that notifies the sequence control portion 200 of the state of each of the devices of the production apparatus 100, such as a sensor. The operation device 120 is a device for an operator to give an instruction to the sequence control portion 200, such as a touch panel or a push button switch. The device 130 is a device that is operated by signals ON and OFF, such as a pneumatic cylinder. The device 141 is a device that can perform a complex operation under the control executed by the controller 140 that is a dedicated computer, such as a multi-axis robot or an image processing device.
[0037] Accordingly, the sequence control portion 200 controls the devices including the devices 130 and 141 according to the ladder program 1500. The devices of the production apparatus 100 are operated under the sequence control of the sequence control portion 200 that is executed according to the ladder program 1500. In this way, each process of the manufacturing method is executed so that the product W is manufactured.
[0038] Figure 1B is a diagram that illustrates the system components of the sequence control portion 200 of the embodiment. The sequence control portion 200 includes a CPU 201, an input processing portion 202, an output processing portion 203, a storage portion 204, and a memory 205. The CPU 201 is a computer that receives an instruction and executes various processes including a calculation process, a data creation process, a write process of writing data to the memory 205, and a read process of reading data from the memory 205. The input processing portion 202 is an interface that receives a signal transmitted to the sequence control portion 200 from the input device 110, the operation device 120, the controller 140, and the like via a terminal block or a connector. The output processing portion 203 is an interface that transmits a signal from the sequence control portion 200 to the operation device 120, the device 130, the controller 140, and the like via a terminal block or a connector. The storage portion 204 stores the ladder program 1500 and a program comment to be executed by the CPU 201. The storage portion 204 is a portion that stores data. The storage portion 204 can be 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 a calculation result in a calculation process executed by the CPU 201. The memory 205 can be a storage device such as a RAM or a ROM.
[0039] Figure 2is a block diagram of a ladder program generation apparatus 300 of an embodiment. The ladder program generation apparatus 300 is an information processing apparatus. In addition, the ladder program generation apparatus 300 can be a general-purpose computer. Note that although the following description will be made with respect to the case where the ladder program generation apparatus 300 is a general-purpose computer, the ladder program generation apparatus 300 can be a special-purpose computer.
[0040] The ladder program generation apparatus 300 includes a CPU 310, an interface section 320, a display device 3200 connected to the interface section 320, an interface section 330, and an input device 3300 connected to the interface section 330. In addition, the ladder program generation apparatus 300 includes a storage section 340 and a storage section 350. The CPU 310 is one example of a processing section that performs information processing. The display device 3200 is one example of a display section, and is a display that displays an image. The input device 3300 is one example of an input section; and is a device operated by a user, such as a keyboard or a mouse. By the user operating the input device 330, input information corresponding to the operation is received by the CPU 310. The ladder program generation apparatus 300 further includes an interface section 360. The interface section 360 is one example of an output section. The interface section 360 outputs a ladder program 1500 generated by the CPU 310. The ladder program 1500 is a program obtained through processing performed by the CPU 310. The output destination of the ladder program 1500 is, for example, an external device (not illustrated) such as an external storage or the sequence control section 200 illustrated. Figure 1A The sequence control section 200, or an external device (not illustrated) such as an external storage.
[0041] The CPU 310 performs a calculation according to a given program 2100. The interface section 320 performs processing for causing the display device 3200 to display an image regarding information. The interface section 330 processes information data input through the input device 3300. The storage section 340 stores the program 2100 to be executed by the CPU 310. The storage section 340 is a storage device, such as an HDD or an SSD. In the present embodiment, the storage section 340 is a computer-readable non-transitory storage medium that stores the program 2100.
[0042] The program 2100 is a program that causes the CPU 310 to perform an information processing method (i.e., a ladder program generation method) described later. The program 2100 includes a processing program 2110 and a processing program 2120.
[0043] The program 2100 can be supplied to the storage section 340 via a network or a disk drive (not illustrated). In addition, the program 2100 stored in the storage section 340 can be updated by an update program. The storage medium storing the program 2100 can not be an HDD or an SSD. For example, the storage medium storing the program 2100 can be a recording disk such as a magnetic disk or an optical disk, or a storage device such as a flash memory.
[0044] The storage section 350 stores the design information 400, the conversion table 3000, the intermediate information 2000 generated by the CPU 310, and the ladder program 1500 generated by the CPU 310. The conversion table 3000 shows definition information. The conversion table 3000 is a table used by the CPU 310 to convert the intermediate information 2000 into the ladder program 1500, and contains the device definition information 1800 and the command definition information 1900. The storage section 350 is a section that stores data, and is a storage device such as an HDD or an SSD.
[0045] Preferably, the ladder program 1500 has a file format in which a program is written in a mnemonic to allow a user to easily check the program, such as a text file format. In this case, it is preferable that the sequence control section 200 has a function of converting the ladder program 1500 into a binary format program.
[0046] Figure 3 is a diagram illustrating components of the design information 400 of the embodiment. The design information 400 is required when the intermediate information is generated. Specifically, the design information 400 is information in which the operation of each of the devices of the device that designs a production apparatus is designed, and is created by a user. The method of supplying the design information 400 to the ladder program generation apparatus 300 is not limited to a particular method. For example, the design information 400 can be created by a user operating the input device 3300 and using the function of the ladder program generation apparatus 300. In another case, the design information 400 can be created by a user by using an external computer, and can be supplied to the ladder program generation apparatus 300 via an external storage (not illustrated) or the like.
[0047] The design information 400 includes a time chart 500, a stepper configuration table 600, an I / O table 700, an assignment table 800, an error table 900, a management table 1000, a flowchart 1100, and a library 410. The design information 400 only needs to be electronic information that can be managed, and its format is not limited to a particular format. Therefore, the design information 400 can have a text file format or a database format.
[0048] Library 410 is a set of programs with multiple uses and can also be used in different production facilities. Library 410 includes one or more types of basic modules 1300, basic diagrams 1310, one or more types of control modules 1400 and control diagrams 1410.
[0049] Figure 4A This is a diagram illustrating components of a timeline chart 500 in an illustrated embodiment. The timeline chart 500 is a document showing the operation times of a series of operations of a production apparatus in a normal operating state for a user to review. Specifically, the timeline chart 500 is a document showing the sequence of all operations of each of devices 130 and 141, and the transition time of each operation of devices 130 and 141. The timeline chart 500 includes information elements such as device name 501, state name 502, operation sequence 503, operation time 504, and dependencies 505.
[0050] Device name 501 is assigned to identify each of devices 130 and 141. State name 502 is assigned to identify the operating state of each of devices 130 and 141. The operating state represents the operating position of each device, and two or more operating states are defined for each device. For example, if the device is a two-position cylinder, it has two operating states and is assigned state names 502, such as "go" and "return". Operation sequence 503 represents the changes in all operations of each of devices 130 and 141, i.e., the order of all operations of each of devices 130 and 141. Operation time 504 represents the operation time of each operation, i.e., the time spent from the start to the end of each operation. Dependency 505 is information representing the causal relationship between the completion of an operation of one device and the start of an operation of another device different from said one device.
[0051] Figure 4B This is a diagram showing the components of the stepper configuration table 600 in the illustrated embodiment. (As shown...) Figure 4B As shown, the stepper configuration table 600 is a list of information elements, namely stepper number 601, stepper name 602, and device name 603.
[0052] A stepper is a unit of input devices 110, 130, and 141; and the stepper is configured to easily control the unit. A stepper has the following three characteristics: First, a stepper includes input devices and devices controlled in the same way for the same control purpose. Second, devices belonging to the same stepper operate synchronously with each other within the stepper, and another device operating asynchronously with these devices is managed by another stepper. Third, input devices and devices can belong to a single stepper, but not multiple steppers.
[0053] Note that a stepper can operate asynchronously with another stepper and be affected by the operation of the other stepper. For example, one stepper may check the operating status of another stepper and stop or restart its operation based on the operating status of the other stepper. Such relationships between steppers that affect each other are expressed by dependencies 505 included in the time graph 500.
[0054] Stepper number 601 is the stepper number used by the program to identify the stepper. Stepper name 602 is the name of the stepper used by the user of the production equipment to identify the stepper. Device name 603 is the name of each of the devices 130 and 141 belonging to the stepper.
[0055] Figure 4C This is a diagram illustrating the components of an I / O table 700 according to an illustrated embodiment. The I / O table 700 is... Figure 1A As shown, and connected via input processing section 202 and output processing section 203 Figure 1B List of input devices 110, operation devices 120, devices 130 and controllers 140 of the sequence control section 200 shown.
[0056] like Figure 4C As shown, the I / O table 700 includes information elements, namely device name 701, status name 702, device type 703, and I / O number 704. The device name 701 is used for identification. Figure 1A Each of the input devices 110, 120, 130, and 141 shown is represented by a status name 702. A status name 702 is assigned to identify the status of each of these devices. A device type 703 is an identifier used to identify each of these devices. For example, if device 130 is a cylinder, the identifier indicates whether device 130 is a single solenoid or a double solenoid. An I / O number 604 is the number of the terminal in the input processing section 202 and the output processing section 203 connected to the device with the device name 701.
[0057] Figure 5A This is a diagram illustrating components of the allocation table 800 in the illustrated embodiment. The allocation table 800 is a device allocation list associated with an interface for displaying and executing switches deployed in the operating device 120. The allocation table 800 includes information elements such as device name 801, status name 802, input device 803, and output device 804.
[0058] Each switch is provided with a corresponding status for the equipment, and the switch indicator light can be turned on and off. If a switch with its indicator light off is pressed, the switch becomes active. If the production unit is in operation, the switch indicator light is turned on.
[0059] Device name 801 is given identification. Figure 1A Each of devices 130 and 141 shown. A status name 802 is given to identify the operating status of each of devices 130 and 141. Input device 803 is information specifying the conditions used to turn on the switch. Output device 804 is information specifying the device operated after the switch is pressed.
[0060] Figure 5B This is a diagram illustrating the components of an error table 900 according to an illustrated embodiment. The error table 900 is a list that manages errors that may occur in the production equipment. The error table 900 includes information elements: error number 901, error name 902, and output device 903. Error number 901 is the number assigned to identify the error. Error name 902 is the name assigned to identify the error. Output device 903 is related to... Figure 1B The memory 205 shown contains information about the allocation of a flag. This flag is used to allocate information to the ladder procedure 1500. Figure 2 Notification of an error.
[0061] Figure 5C This is a diagram illustrating the components of the management table 1000 in the illustrated embodiment. The management table 1000 is the following table: This table manages... Figure 3 As shown and incorporated into ladder program 1500 ( Figure 2 The type and quantity of control modules 1400 in the system, and the management of... Figure 1B The device allocation of memory 205 is shown. (As shown in the image) Figure 5C As shown, the management table 1000 includes information elements, which are device name 1001, control module name 1002, and assigned device 1003.
[0062] Device name 1001 is given to identify each device in the device (including Figure 1A The device shown is 141. The control module name 1002 is given for identification. Figure 3 The type of control module 1400 shown. Control module name 1002 from from Figure 3 The list of names of the control module 1400 stored in the library 410 shown is selected. The assigned device 1003 is about... Figure 1B The information shown pertains to the allocation of memory regions and I / O numbers in memory 205. The memory regions and I / O numbers are... Figure 3The control module 1400 shown is used.
[0063] Figure 6 This is a flowchart of the illustrated embodiment 1100 ( Figure 3 A diagram of the components of ) is shown in flowchart 1100. Figure 2 The process flow of the stepper program 1500 is shown, and it is created for each stepper. Figure 7A This is a diagram of graph 1200 illustrating a flowchart used in an embodiment.
[0064] Figure 6 The flowchart 1100 shown is composed of... Figure 7A The graphic shown is created using 1200. (As shown...) Figure 6 As shown, flowchart 1100 includes name information 1110, device information 1120, and sequence information 1130. Name information 1100 is information about the name. Device information 1120 is information about the device. Sequence information 1130 is information about the sequence.
[0065] like Figure 6 As shown, the name information 1110 includes stepper number 1111, stepper name 1112, device name 1113, status name 1114, and error name 1115.
[0066] Stepper number 1111 is the identifier for the stepper, and is related to... Figure 4B The stepper number 601 in the stepper configuration table 600 shown is the same. Stepper name 1112 is the name of the stepper used by the user of the production unit to identify the stepper, and is consistent with... Figure 4B The stepper name 602 in the stepper configuration table 600 shown is the same. Device name 1113 is given for identification. Figure 1A Each of devices 130 and 141 shown. Status name 1114 is given to identify the operating status of each of devices 130 and 141. Error name 1115 is given to identify the error, the name of the error, and related to... Figure 5B The error name in error table 900 is the same as that in error 902.
[0067] like Figure 6 As shown, device information 1120 includes I / O number 1121, assigned device 1122, assigned device 1123, output device 1124, assigned device 1125, and assigned device 1126.
[0068] I / O number 1121 is the terminal number in the input processing section 202 and the output processing section 203 that is connected to the device with device name 701, and is related to... Figure 4C The I / O number 704 of I / O table 700 is the same.
[0069] The assigned device 1122 is provided in the flowchart 1100. Figure 7A The device 1200 is a graphics device. The assigned device 1122 is a device for recognizing the processing of the ladder procedure 1500.
[0070] The allocated device 1123 is about the Figure 1B The memory 205 shown is... Figure 3 The control module 1400 shown here uses information about the allocation of memory regions and I / O numbers. The allocated device 1123 and... Figure 5C The assigned device 1003 in the management table 1000 shown is the same.
[0071] Output device 1124 is related to memory 205 and is used to send data to ladder program 1500. Figure 2 The information assigned to the flag indicating the occurrence of an error is displayed on output device 1124. Figure 5B The error table 900 outputs the same as the output device 903.
[0072] The assigned device 1125 contains information regarding the assignment of flags related to the device mode (such as automatic or manual mode). The assigned device 1125 is related to... Figure 7B The assigned device 1311 is the same as that in the basic figure 1310 described later.
[0073] The assigned device 1126 contains information about the assignment of flags related to device status (such as start-up status, stop status, or error status), and is related to... Figure 7B The assigned device 1312 is the same as that in the basic figure 1310 described later.
[0074] Figure 6 The sequence information 1130 shown includes information elements, which are processing 1131, branch condition 1132, waiting condition 1133, and processing order 1134.
[0075] Processing 1131 is about Figure 1A Information on all operational changes of devices 130 and 141 shown, regarding Figure 1B The information includes changes in the state of the flags in memory 205, and information about the computation to be performed. Information regarding changes in all operations of devices 130 and 141 is also included. Figure 4A The time chart 500 includes the same operation sequence as 503.
[0076] Branch condition 1132 is determined by Figure 4C I / O number 704 Figure 5C The assigned equipment 1003 Figure 1BThe information such as the flag information in the memory 205 is used to enable the processing of branch information.
[0077] Waiting condition 1133 is related to information about a pause caused by a timer, or waiting for information caused by... Figure 4A The dependency 505 shown expresses and provides information on the operation permissions given from another stepper.
[0078] Processing order 1134 is information about the order in which processing 1131, branch condition 1132, and waiting condition 1133 are performed.
[0079] Figure 7A Terminal 1210 shown is selected for indicating the start and end of the ladder procedure, and for indicating... Figure 6 The processing 1131 is a diagram for handling device errors. Inside the diagram representing terminal 1210, the following is written: Figure 6 The name information 1110 is shown. Additionally, outside the graphic representing terminal 1210, the following text is written... Figure 6 The device information shown is 1120.
[0080] Figure 7A The process 1220 shown is selected for indication. Figure 6 The processing 1131 is a graphical representation of events other than device errors. Inside the graphical representation of processing 1220, writing... Figure 6 The name information 1110 is shown. Additionally, outside the graph representing process 1220, it is written... Figure 6 The device information shown is 1120.
[0081] Figure 7A The indicated determination 1230 is selected for indication. Figure 6 The diagram shows branch condition 1132 and wait condition 1133. Inside the diagram representing determination 1230, write... Figure 6 The name information 1110 is shown. Additionally, outside the graphic representing determination 1230, the following is written: Figure 6 The device information shown is 1120.
[0082] Figure 7A The predefined process 1240 shown is a graph selected to indicate the start of an independent sequence. Inside the graph representing predefined process 1240, writing... Figure 6 The name information 1110 is shown. Additionally, outside the graphic representing the predefined process 1240, the following is written: Figure 6 The device information shown is 1120.
[0083] Flowchart 1100 Figure 3 By according to Figure 6 The information in the processing sequence 1134 shown is connected via wires.Figure 7A The flowchart 1100 is formed of the graph of the terminal 1210, the process 1220, the determination 1230, and the predefined process 1240 shown in FIG. 12. Thus, the flowchart 1100 contains the information of the time chart 500, the stepper configuration table 600, the I / O table 700, the error table 900, the management table 1000, the basic graph 1310, and the control graph 1410.
[0084] However, in the creation of the flowchart 1100, the above information does not include the branch condition 1132, the wait condition 1133, the process 1131 to which the process is branched by the branch condition 1132, and the predefined process 1240 to which the process is branched by the branch condition 1132. Since the information other than the above information requires the determination of the software designer, the software designer checks the flowchart 1100 and completes it. That is, in addition to the ladder program 1500, the flexible software design (including the branch condition 1132, the wait condition 1133, the process 1131 to which the process is branched by the branch condition 1132, and the predefined process 1240 to which the process is branched by the branch condition 1132) can be realized only by the flowchart 1100.
[0085] Figure 7B is a graph illustrating Figure 3 The basic module 1300 is a program for managing the mode and the state of the production device, and includes a mode management section 1301 and a state management section 1302. The mode management section 1301 is a program that manages the mode of the device (including the automatic mode and the manual mode). The state management section 1302 is a program that manages the state of the device (including the start state, the stop state, and the error state).
[0086] The basic graph 1310 is a list in which the allocated devices of the basic module 1300 to the memory are listed. There are types of the basic graph 1310 corresponding to the types of the basic module 1300. The basic graph 1310 includes information elements that are an allocated device 1311, an allocated device 1312, and an allocated device 1313. The allocated device 1311 is information about the device of the flag of the allocated device mode such as the automatic mode or the manual mode. The allocated device 1312 is information about the device of the flag of the allocated device state such as the start state, the stop state, or the error state. The allocated device 1313 is information about the device of the memory area used by the basic module 1300 other than the allocated device 1311 and the allocated device 1312. The device allocated for the basic module 1300 is fixed and unchangeable in the memory 205 shown in FIG. 13. Figure 1B The basic module 1300 is a program for managing the mode and the state of the production device, and includes a mode management section 1301 and a state management section 1302. The mode management section 1301 is a program that manages the mode of the device (including the automatic mode and the manual mode). The state management section 1302 is a program that manages the state of the device (including the start state, the stop state, and the error state).
[0087] Figure 7C is a graph illustrating Figure 3A diagram illustrating components of the control module 1400 and components of the control map 1410. The control module 1400 is a program that controls Figure 1A A program of the controller 140 illustrated. Specifically, the control module 1400 is a program that includes an IF processing portion 1401 and a control processing portion 1402. The IF processing portion 1401 is a program that functions as a communication interface. The control processing portion 1402 is a program that controls Figure 1A A program of the controller 140 illustrated other than the IF processing portion 1401. The control module 1400 is created for each type of controller 140. The control module 1400 is given a name corresponding to the control module name 1002 in the control map 1410, and is managed. Figure 5C A name corresponding to the control module name 1002 illustrated is given, and is managed.
[0088] The control map 1410 is a list in which assigned devices of the control module 1400 to the memory are listed. There are types of the control map 1400 corresponding to the types of the control module 1400. The control map 1410 includes information elements that are the assigned device 1411 and the assigned device 1412.
[0089] The assigned device 1411 is information about the device assignment of the control module 1400 with respect to the memory area used in the control map 1410. Figure 1A The controller 140 illustrated is connected to Figure 1B Information about the device assignment related to the connection between the input processing portion 202 and the output processing portion 203 illustrated. The assigned device 1412 is information about the device assignment of the memory area used in the control map 1410 other than the assigned device 1411.
[0090] Figure 8 A diagram illustrating components of the ladder program 1500 of the embodiment. The generated ladder program 1500 is a program that controls Figure 1A A program that the sequence control portion 200 illustrated executes sequence control, and is stored in Figure 1B The storage portion 204 illustrated.
[0091] As Figure 8 illustrated, the ladder program 1500 includes a basic module portion 1501, a stepper operation processing portion 1521, a stepper error processing portion 1531, an output processing portion 1541, a control processing portion 1551, and a display processing portion 1552.
[0092] The basic module portion 1501 is a processing portion that manages the mode and state of the production device. The basic module portion 1501 is generated as follows. That is, one module of the basic module 1300 stored in the library 410 is selected and copied, and the copied module is incorporated into the basic module portion 1501. Figure 3
[0093] The stepper operation processing part 1521 is a processing part that performs sequence control. The stepper operation processing part 1521 is created by using the device information 1120 and the sequence information 1130 shown in FIG. 12. Figure 6
[0094] The stepper error processing part 1531 is a processing part that notifies of an error. The stepper error processing part 1531 is created by using the device information 1120 and the sequence information 1130 shown in FIG. 12. Figure 6
[0095] The output processing part 1541 is a processing part that causes the operation device 120 shown in FIG. 12 and the stepper operation processing part 1521 shown in FIG. 15 to send an instruction to the device 130 and the controller 140 shown in FIG. 14. The output processing part 1541 is created by using the device information 1120 and the sequence information 1130 shown in FIG. 12, and the assignment table 800 shown in FIG. 8. Figure 1A Figure 8 Figure 1A Figure 6 Figure 3
[0096] The control processing part 1551 is a processing part that controls the controller 140 shown in FIG. 14. The control processing part 1551 is generated as follows. By using the information contained in the management table 1000 shown in FIG. 10, the control module 1400 shown in FIG. 14 is specified by the control module name 1002 and is copied. In addition, the assigned device written in the control map 1410 shown in FIG. 14 is changed according to the assigned device 1003 written in the management table 1000 shown in FIG. 10. The information obtained in this way is incorporated into the control processing part 1551. Figure 1A Figure 5C Figure 7C Figure 7C Figure 5C
[0097] The display processing part 1552 is a processing part that displays information on a display device such as the operation device 120 shown in FIG. 12. The display processing part 1552 is created by using the device information 1120 and the sequence information 1130 shown in FIG. 12, and the assignment table 800 shown in FIG. 8. Figure 1A Figure 6 Figure 5A
[0098] Figure 1A The sequence control part 200 shown obtains the ladder program 1500 generated by the ladder program generation device 300 and output from the ladder program generation device 300. The ladder program 1500 needs to be written in a language that can be processed by the sequence control part 200, i.e., in a mnemonic that can be processed by the sequence control part 200. The sequence control part 200 is a PLC. The language, i.e., the mnemonic, used in the PLC varies depending on, for example, the PLC tag. That is, if the ladder program 1500 is written in a predetermined mnemonic, the sequence control part 200 can control each device in accordance with the ladder program 1500. For example, if the mnemonic that can be processed by the sequence control part 200 is a mnemonic A, the ladder program 1500 needs to be written in the mnemonic A. In addition, if the mnemonic that can be processed by the sequence control part 200 is a mnemonic B different from the mnemonic A, the ladder program 1500 needs to be written in the mnemonic B.
[0099] For this reason, in the present embodiment, Figure 2 The CPU 310 shown and operating in accordance with the program 2100 performs the following information processing. That is, the CPU 310 performs an intermediate processing for generating the intermediate information 2000 in a predetermined mnemonic. The intermediate processing is performed by the CPU 310 operated by the processing program 2110 in accordance with the program 2100. In addition, the CPU 310 performs a generation processing in which the ladder program 1500 is generated from the intermediate information 2000. The ladder program 1500 is written in a mnemonic selected from among a plurality of types of mnemonics that can be different from the predetermined mnemonic. The generation processing is performed by the CPU 310 operated by the processing program 2120 in accordance with the program 2100. Hereinafter, the operation of the CPU 310 will be described by using a concrete example.
[0100] Figure 9 is a diagram illustrating one example of the ladder program of the embodiment. Figure 9 The ladder program 1600 shown in the upper half of is expressed in the mnemonic A, Figure 8 is a ladder diagram of the ladder program 1500 of. Figure 9 The ladder program 1601 shown in the lower half of is expressed in the mnemonic B that is different in type from the mnemonic A, Figure 8 is a ladder diagram of the ladder program 1500 of.
[0101] Figure 10 is a diagram illustrating one example of the ladder program of the embodiment. Hereinafter, the ladder program 1500 written in the mnemonic A is referred to as a ladder program 1701, and the ladder program 1500 written in the mnemonic B is referred to as a ladder program 1702. Thus, Figure 10The ladder programs 1701 and 1702 written in two types of mnemonics are illustrated as examples. The ladder programs 1701 and 1702 are identical in control but are different in mnemonics.
[0102] The ladder programs 1701 and 1702 are written in a format that can be easily understood by a user, such as a table format. Each of the ladder programs 1701 and 1702 has items of a line number, a command, and a device. In the column of the item of the line number, an integer is written. In the column of the item of the command, a name of a command is written in a mnemonic. In the column of the item of the device, a name of a device is written in a mnemonic.
[0103] As an example, the line having the line number 13 of the ladder program 1701 and the line having the line number 13 of the ladder program 1702 will be described for comparison. In the ladder program 1701, "ANI M30" is written in a mnemonic in the columns of the items of the command and the device. In the ladder program 1702, "ANB MR30" is written in a mnemonic in the columns of the items of the command and the device. Both of the ladder programs 1701 and 1702 express in the line number 13 that an internal relay indicated by a device number is turned off at an A contact and is serially connected to a component in front of the internal relay. However, the command and the device of the ladder program 1701 are different in mnemonics from the command and the device of the ladder program 1702.
[0104] Figure 11 is a diagram illustrating Figure 2 The illustrated diagram of one example of the device definition information 1800. The device definition information 1800 is a translation table in which device definition information written in a mnemonic O is associated with device definition information written in a mnemonic A and with device definition information written in a mnemonic B.
[0105] In the device definition information 1800, a device name and a device number of a device are defined in a mnemonic O used in the intermediate information 2000. In addition, in the device definition information 1800, a device name and a device number of a device are defined in a mnemonic A in association with a device name and a device number of a device defined in a mnemonic O. Similarly, in the device definition information 1800, a device name and a device number of a device are defined in a mnemonic B in association with a device name and a device number of a device defined in a mnemonic O.
[0106] 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 by using a relative value from the top of a cell of the device name. As an example, a line indicated by a dotted line of the intermediate information 2000 will be described. Figure 11
[0107] The device "XB" written in mnemonic A and the device "R1011" written in mnemonic B are the same device. In the mnemonic O used in the intermediate information 2000, the device associated with "XB" and "R1011" is defined indirectly by using the device name "input" and the device number "11". The device name "input" indicates the purpose of the device, and the device number "11" is the relative value from the top of the cell of the device name "input".
[0108] Figure 12 is a diagram illustrating Figure 2 An example of the command definition information 1900 shown in the figure. The command definition information 1900 is a transformation table in which the command definition information written in mnemonic O is associated with the command definition information written in mnemonic A and with the command definition information written in mnemonic B.
[0109] In the command definition information 1900, the command is defined in mnemonic O used in the intermediate information 2000. In addition, in the command definition information 1900, the command as the definition information written in mnemonic A is defined in association with the command as the definition information written in mnemonic O. Similarly, in the command definition information 1900, the command as the definition information written in mnemonic B is defined in association with the command as the definition information written in mnemonic O.
[0110] In the mnemonic O used in the intermediate information 2000, the name for the command is used. As an example, a description will be made with reference to the row indicated by the dashed line of Figure 12
[0111] The command "ANI" written in mnemonic A and the command "ANB" written in mnemonic B are both the same command. This command makes the A contact open by using the bit signal, and makes the serial connection be established. In the mnemonic O used in the intermediate information 2000, the command associated with "ANI" and "ANB" is defined indirectly by using "bit", "A contact", "OFF", and "serial".
[0112] Figure 13 is a drawing illustrating one example of intermediate information 2000 of the embodiment. The intermediate information 2000 is information in which the design information 400 is written as a ladder program with the mnemonic O by using the device definition information 1800 and the command definition information 1900. The intermediate information 2000 is used to generate the ladder programs 1701 and 1702. In each line of the intermediate information 2000, a numerical number indicating a line number, a command name, and a device name are written. The device name and the command name used in the intermediate information 2000 are the device name and the command name which are indirectly defined in the device definition information 1800 and the command definition information 1900. In the present embodiment, the mnemonic O is a first mnemonic, and the mnemonics A and B are a plurality of second mnemonics different from the mnemonic O.
[0113] Hereinafter, a process for generating a ladder program will be described. Figure 14 is a drawing illustrating a process for generating a ladder program of the embodiment.
[0114] Figure 2 The illustrated CPU 310 executes the Figure 14 illustrated intermediate processing P2110; and executes the Figure 14 illustrated generation processing P2120, according to the processing program 2120.
[0115] In the intermediate processing P2110, the CPU 310 generates the intermediate information 2000 from the design information 400. When the intermediate information 2000 is generated, the CPU 310 uses the mnemonic O defined in the device definition information 1800 and the command definition information 1900.
[0116] Then, in the generation processing P2120, the CPU 310 generates the ladder program 1500 from the intermediate information 2000. When the ladder program 1500 is generated, the CPU 310 uses the mnemonic selected from the plurality of mnemonics A and B. If the mnemonic A is selected, the CPU 310 generates the ladder program 1701 as the ladder program 1500. If the mnemonic B is selected, the CPU 310 generates the ladder program 1702 as the ladder program 1500. If both the mnemonic A and the mnemonic B are selected, the CPU 310 generates both the ladder programs 1701 and 1702 as the ladder program 1500. Thus, the CPU 310 can generate a plurality of ladder programs by using all of the plurality of mnemonics.
[0117] Then, the CPU 310 stores the generated ladder program 1500 (i.e., 1701 and / or 1702) in the Figure 2The selection information indicating which type of mnemonic is selected can be prestored in, for example, the storage section 350 of the ladder program generation apparatus 300. In this case, the CPU 310 can read the selection information from the storage section 350 at the time of execution of the generation processing P2120.
[0118] The selection information indicating which type of mnemonic is selected can be prestored in, for example, the storage section 350 of the ladder program generation apparatus 300. In this case, the CPU 310 can read the selection information from the storage section 350 at the time of execution of the generation processing P2120.
[0119] Alternatively, the selection information indicating which type of mnemonic is selected can be input by the user through the input device 3300 each time the CPU 310 executes the generation processing P2120. That is, the desired mnemonic can be selected from among the plurality of mnemonics A and B by the user operating the input device 3300.
[0120] Further, in the present embodiment, a conversion table 3000 in which the definition information written in the mnemonic O is associated with the definition information written in the mnemonic A and with the definition information written in the mnemonic B is stored in the storage section 350 that stores data. Therefore, the CPU 310, in the generation processing P2120, converts the intermediate information 2000 into the ladder program 1500 by using the conversion table 3000.
[0121] Hereinafter, a specific example will be described. First, a case in which the ladder program 1701 written in the mnemonic A is generated as the ladder program 1500 will be described. The CPU 310 converts the device name and the command name written in the mnemonic O in the intermediate information 2000 into the corresponding device name and the corresponding command name written in the mnemonic A by selecting the device name and the command name in the device definition information 1800 and the command definition information 1900. As an example, the line number 19 of the intermediate information 2000 of Figure 13 will be described. The CPU 310 refers to the device definition information 1800 of Figure 11 and converts the device name "output, 112" into the device name "Y70". Further, the CPU 310 refers to the command definition information 1900 of Figure 12 and converts the command name "output, direct output" into the command name "OUT". Therefore, the information of the line number 19 of the intermediate information 2000 of Figure 13 is converted into "OUT Y70".
[0122] Furthermore, the case where the ladder program 1702 written with mnemonic B is generated as ladder program 1500 will be described. CPU 310 transforms the device name and command name written with mnemonic O in intermediate information 2000 into the corresponding device name and command name written with mnemonic B by selecting the device name and command name from device definition information 1800 and command definition information 1900. As an example, the following will be described... Figure 13 Intermediate information 2000, line number 19. CPU310 reference. Figure 11 The device definition information is 1800, and the device name "Output, 112" is changed to the device name "R2700". Additionally, the CPU 310 reference... Figure 12 The command definition information 1900 is used, and the command name "output, direct output" is changed to the command name "OUT". Therefore, Figure 13 The information in line number 19 of intermediate information 2000 is transformed into "OUT R2700".
[0123] In this embodiment, the transformation table 3000 stored in the storage section 350 can be edited. Editing the transformation table 3000 includes creating the transformation table 3000, rewriting part or all of the transformation table 3000, deleting part of the transformation table 3000, and adding information to the transformation table 3000. Rewriting the entire transformation table 3000 includes replacing the transformation table 3000 stored in the storage section 350 with another transformation table, and rewriting the entire file of the transformation table 3000.
[0124] The following describes the method for editing the device definition information 1800 and command definition information 1900 of the transformation table 3000. Figure 15 This is an example diagram of the editing screen (setting screen) of the transformation table in the illustrated embodiment.
[0125] CPU 310 enables display device 3200 to display image 2200 that supports editing of transform table 3000. The user can edit transform table 3000 while viewing image 2200 by operating input device 3300.
[0126] The image 2200 includes the tabular image 1800I showing the device definition information 1800 and the tabular image 1900I showing the command definition information 1900. In addition, the image 2200 includes an add button 2201 for adding a type of mnemonic, and a delete button 2202 for deleting a type of mnemonic. In addition, the image 2200 includes an add button 2203 for adding a row of the device definition information 1800, and a delete button 2204 for deleting a row of the device definition information 1800. In addition, the image 2200 includes an add button 2205 for adding a row of the command definition information 1900, and a delete button 2206 for deleting a row of the command definition information 1900. In addition, the image 2200 includes a save button 2207 for saving the result of editing.
[0127] The buttons from 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 one of the buttons (which is a group from the add button 2201 to the save button 2207) by operating the mouse, placing the cursor on one of the buttons, and clicking the mouse.
[0128] If the add button 2201 is selected, a new column corresponding to a new PLD or a new mnemonic is added to the image 1800I and the image 1900I. If any one of the columns of the image 1800I or 1900I is selected and the delete button 2202 is selected, the column representing the selection of the corresponding mnemonic is deleted from the image 1800I and the image 1900I.
[0129] If the add button 2203 is selected, a new row is added to the image 1800I. If a row is selected in the image 1800I and the delete button 2204 is selected, the selected row is deleted from the image 1800I. If the add button 2205 is selected, a new row is added to the image 1900I. If a row is selected in the image 1900I and the delete button 2206 is selected, the selected row is deleted from the image 1900I.
[0130] For example, when a user registers a new language specification (i.e., a new mnemonic), the user first selects the add button 2201, and a new column is added to the image 1800I and the image 1900I. The user then inputs a device name and a device number specified in the new language specification and corresponding to a device name and a device number in the intermediate information into the new column added to the image 1800I. The user then inputs a command name specified in the new language specification and corresponding to a command name in the intermediate information into the new column added to the image 1900I. After the conversion table 3000 is edited by using the input device 3300, the user stores the edited conversion table 3000 in the storage section 350 by selecting the save button 2207 included in the image 2200.
[0131] As described above, in the present embodiment, a ladder program can be easily automatically generated in accordance with a language specification or a mnemonic used in the sequence control section 200.
[0132] Second Embodiment
[0133] In the above-described first embodiment, the device definition information 1800 and the command definition information 1900 constituting the conversion table 3000 are set by a user in accordance with a language specification or a mnemonic of a ladder program into which the user desires to convert the intermediate information. However, embodiments of the present disclosure are not limited thereto. For example, a device element and a command element can be extracted from a converted ladder program (e.g., the ladder program 1701 for the A company and the ladder program 1702 for the B company), and the device definition information 1800 and the command definition information 1900 can be set by using the extracted elements. In the following, detailed description thereof will be made. Note that in the following description, a configuration of hardware and a control system different from that of the first embodiment will be explained and described. In addition, since components of the present embodiment that are the same as those of the first embodiment have the same configuration and operation, detailed description thereof will be omitted.
[0134] Figure 16 is a diagram illustrating a process of setting the conversion table 3000 (i.e., the device definition information 1800 and the command definition information 1900) by using the ladder programs 1701 and 1702 of the present embodiment. Figure 2 The CPU 310 illustrated extracts the device definition information 1800 and the command definition information 1900 from the conversion table 3000 stored in the storage section 350 in accordance with the extraction process P2130; and sets the device definition information 1800 and the command definition information 1900 in the device definition information 1800 and the command definition information 1900 of the conversion table 3000 in accordance with the setting process P2140. Figure 16 The extraction process P2130 illustrated is executed by the CPU 310 in accordance with the extraction program 2130; and the setting process P2140 illustrated is executed by the CPU 310 in accordance with the setting program 2140. Figure 16 The setting process P2140 illustrated is executed by the CPU 310 in accordance with the setting program 2140.
[0135] In the extraction processing P2130, the CPU 310 extracts the device elements and the command elements from the ladder programs 1701 and 1702. In the extraction processing P2130, the CPU 310 extracts the device elements and the command elements written with the mnemonic A from the ladder program 1701, and extracts the device elements and the command elements written with the mnemonic B from the ladder program 1702 (see Figure 9 and Figure 10 ).
[0136] Figure 17 is a drawing that illustrates one example of a device list 2300 and a command list 2310. The device list 2300 lists the device elements extracted from the ladder programs 1701 and 1702 in the extraction processing P2130 of the embodiment. The command list 2310 lists the command elements extracted from the ladder programs 1701 and 1702 in the extraction processing P2130 of the embodiment.
[0137] The device list 2301 lists the device elements extracted from the ladder program 1701. The device list 2302 lists the device elements extracted from the ladder program 1702. The device list 2303 lists the device elements extracted from the ladder program (mnemonic O) of the design information 400.
[0138] The command list 2311 lists the command elements extracted from the ladder program 1701. The command list
[0139] 2312 lists the command elements extracted from the ladder program 1702. The command list 2313 lists the command elements extracted from the ladder program (mnemonic O) of the design information 400.
[0140]
[0141] To generate the device list 2300 and the command list 2310, if one device element extracted from the ladder program 1701 is identical to another device element extracted from the ladder program 1701, the CPU 310 deletes the other device element; if one command element extracted from the ladder program 1701 is identical to another command element extracted from the ladder program 1701, the CPU 310 deletes the other command element. Similarly, if one device element extracted from the ladder program 1702 is identical to another device element extracted from the ladder program 1702, the CPU 310 deletes the other device element; if one command element extracted from the ladder program 1702 is identical to another command element extracted from the ladder program 1702, the CPU 310 deletes the other command element. In addition, if there are the device definition information 1800 and the command definition information 1900 that have been set, the CPU 310 refers to the device definition information 1800 and the command definition information 1900, and associates the device element with a predefined device element, and associates the command element with a predefined command element, to generate the device list 2300 and the command list 2310. For example, in the device list 2301, the device name "M" and the device number "1" written with the mnemonic A have been associated with the device name "internal relay" and the device number "1" written with the mnemonic O. As another example, in the command list 2312, the command "LD" written with the mnemonic B has been associated with the command "bit, A, ON, top" written with the mnemonic O.
[0142] However, in the device list 2301, the device element corresponding to the device name "L" and the device number "2" written with the mnemonic A is not registered in the device definition information 1800. In this case, the cells of the device name and the device number of the device element to be written with the mnemonic O in the device list 2303 are left blank (as indicated by the block a). Similarly, in the command list 2311, the command element corresponding to the command "ANDFI" written with the mnemonic A is not registered in the command definition information 1900. In this case, the cell of the command of the command element to be written with the mnemonic O in the command list 2313 is left blank (as indicated by the block β).
[0143] Referring back to Figure 16 , the CPU 310 causes the user to associate the device elements and the command elements extracted from the ladder program 1701 or 1702 with the device elements and the command elements of the ladder program 1500 in the setting process P2140. With this association process, the device definition information 1800 and the command definition information 1900 are set.
[0144] Figure 18This is an example diagram of a settings screen in an illustrated embodiment, used to allow a user to set device definition information 1800 and command definition information 1900 by using extracted device elements and extracted command elements. CPU 310 causes display device 3200 to display an image 2400 supporting the settings of device definition information 1800 and command definition information 1900. The user can set device definition information 1800 and command definition information 1900 while viewing image 2400 by operating input device 3300. Note that, for the sake of simplicity, Figure 18 The diagram illustrates the association between an element written with mnemonic A and an element written with mnemonic O.
[0145] Image 2400 includes a device list 2301 of device elements extracted from ladder procedure 1701 (mnemonic A), and a device list 2303 of device elements of ladder procedure 1500 (mnemonic O) associated with the device elements extracted from ladder procedure 1701. Similarly, image 2400 includes a command list 2311 of command elements extracted from ladder procedure 1701 (mnemonic A), and a command list 2313 of command elements of ladder procedure 1500 (mnemonic O) associated with the command elements extracted from ladder procedure 1701.
[0146] Image 1800I is displayed to show device definition information 1800, allowing device lists 2301 and 2303 to be edited. Similarly, image 1900I is displayed to show command definition information 1900, allowing command lists 2311 and 2313 to be edited. Image 2400 includes a registration button 2401 for registering the configured device definition information 1800 and command definition information 1900.
[0147] exist Figure 18 In the settings screen, the user examines the device elements extracted and written in device list 2301 (using mnemonic A) and device list 2303. If device list 2303 contains blank cells, the user can immediately understand that the device element in the blank cell (as indicated by box α) is not defined in device definition information 1800. Therefore, the user enters the device name and device number using mnemonic O, thus associating the device name and device number with the device name "L" and device number "2" written in mnemonic A. In this way, the user can immediately understand which element is not associated with the corresponding element and can efficiently set the definition information.
[0148] Additionally, when association processing is executed, candidates can be displayed in a drop-down menu. Figure 18In the setting screen, the user checks the command elements of the command list 2311 extracted and written with the mnemonic A, and the command elements of the command list 2313. If the command list 2313 contains a blank cell, the user can immediately understand that the command element of the blank cell (as indicated by the box β) is not defined in the command definition information 1900. When the user inputs a command element into the blank cell of the command list 2313, the user causes the command list 2313 to show the drop-down menu 2501 by clicking the downward arrow. The drop-down menu 2501 contains a plurality of command elements written with the mnemonic O. The user can view the plurality of command elements of the drop-down menu 2501 by moving the scroll bar 2502. By checking the drop-down menu 2501, the user can easily input the command element written with the mnemonic O, and more efficiently set the definition information. Such a drop-down menu can be used to input a device element and set device definition information.
[0149] After the user sets the device definition information 1800 and the command definition information 1900 and presses the registration button 2401, the CPU 310 stores the device definition information 1800 and the command definition information 1900 that have been set in the storage section 350.
[0150] As described above, in the present embodiment, the device elements and the command elements are extracted from the program (mnemonic O) that has been converted into the program (mnemonic A or B), and are displayed so that the device elements and the command elements can be compared with the device elements and the command elements of the program (mnemonic O) that have been converted into the program (mnemonic A or B). In this way, the user can efficiently set the definition information.
[0151] Note that, although the device elements and the command elements are extracted from the ladder program in the present embodiment, the device elements and the command elements can be extracted from a text file that specifies rules of a language specification for writing the ladder program, if any.
[0152] The present application is not limited to the above-described embodiments, and can be variously modified within the technical concept of the present application. In addition, since the effects described in the embodiments are those most suitably produced by the present application, the effects of the present application are not limited to the effects described in the embodiments.
[0153] In the above-described embodiments, a case where the ladder program generation apparatus 300 generates the ladder program 1500 in a text file format has been described. However, the present disclosure is not limited thereto. For example, the ladder program generation apparatus 300 can generate the ladder program 1500 in a binary format.
[0154] Further, in the above-described embodiment, a case in which the CPU 310 can generate two types of mnemonics of the ladder program 1500 has been described. However, the present disclosure is not limited thereto. For example, the CPU 310 can generate three or more types of mnemonics of the ladder program 1500.
[0155] Further, in the above-described embodiment, a case in which the production device 100 includes a single sequence control portion 200 has been described. However, the present disclosure is not limited thereto. For example, the production device 100 can include a plurality of sequence control portions (i.e., PLCs) having different language specifications. Even in such a case, the ladder program generation device 300 can generate ladder programs corresponding to each sequence control portion by using each type of mnemonic.
[0156] Further, the production device can be a piece of mechanical equipment that can automatically perform expansion and contraction, bending and stretching, upward and downward movement, rightward and leftward movement, pivoting, or a combination thereof, in accordance with information stored in a storage device of a control apparatus.
[0157] Modifications
[0158] The present disclosure can be implemented by supplying a program realizing one or more functions of the above-described embodiment to a system or a device via a network or a storage medium, and causing one or more processors of the system or the device to read and execute the program. Further, the present disclosure can be implemented by using a circuit (e.g., ASIC) realizing one or more functions.
[0159] Other Embodiments
[0160] Embodiments of the present application can also be realized by a computer- readable storage medium storing computer executable instructions (e.g., one or more programs) of the above-described embodiments, and a computer of a system or an apparatus for performing the functions of one or more of the above-described embodiments by reading and executing the computer executable instructions stored in the computer-readable storage medium, and a method of executing functions of one or more of the above-described embodiments by causing a computer to read and execute the computer executable instructions from the computer-readable storage medium. The computer can include one or more processors (e.g., central processing units (CPUs), micro processing units (MPUs)) and can include a single computer or a network of separate computers to read and execute the computer executable instructions. The computer executable instructions can be provided to the computer, for example, from a network or the computer-readable storage medium. The computer-readable storage medium can include one or more of, for example, a hard disk, a random access memory (RAM), a read only memory (ROM), a storage device of a distributed computing system, an optical disk (such as a compact disc (CD), a digital versatile disc (DVD), or a Blu-ray Disc (BD)®), a flash memory device, a memory card, and the like. TM
[0161] Embodiments of the present application can also be realized by a method of providing software (programs) for executing the functions of the above-described embodiments to a system or an apparatus, a computer of the system or the apparatus, or a central processing unit (CPU), a micro processing unit (MPU) reading and executing the programs through a network or various storage media.
[0162] While the present application has been described with reference to exemplary embodiments, it is to be understood that the application is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be given the broadest interpretation to encompass all such modifications and equivalent structures and functions.
Claims
1. An information processing apparatus, the information processing apparatus comprising: The processing section configured to perform information processing; as well as The display portion configured to display images. The processing section is configured as follows: The display portion displays a setup screen for the user to associate a first device element written with a first mnemonic and a second device element written with a second mnemonic with each other, and also displays the setup screen for the user to associate a first command element written with the first mnemonic and a second command element written with the second mnemonic with each other. Definition information is obtained based on the user's input in the settings screen, in which the first mnemonic and a second mnemonic different from the first mnemonic are associated with each other.
2. The information processing apparatus according to claim 1, wherein, The processing section is configured to transform a first program written with the first mnemonic into a second program written with the second mnemonic by using the definition information.
3. The information processing apparatus according to claim 2, wherein, The processing section is configured to obtain intermediate information for transforming the first program into the second program by using the definition information.
4. The information processing apparatus of claim 2, further comprising an output section configured to output the result obtained by the processing performed by the processing section. in, The processing section is configured to cause the output section to output the second program.
5. The information processing apparatus according to any one of claims 1 to 4, wherein, The processing section is configured to obtain the definition information from the design information.
6. The information processing apparatus according to any one of claims 2 to 4, further comprising an input portion configured for user operation. in, The processing section is configured to transform the first program into a second program written with the second mnemonic selected by the user via the input section.
7. The information processing apparatus according to any one of claims 2 to 4, further comprising a storage portion configured to store the definition information. in, The processing section is configured to transform the first program into the second program using the definition information.
8. The information processing apparatus according to any one of claims 2 to 4, wherein, The processing section is configured to obtain the second device element and the second command element written with the second mnemonic from the second program.
9. The information processing apparatus according to claim 8, wherein, The processing unit is configured to obtain the first device element and the first command element written with the first mnemonic from the design information, and to obtain the definition information based on the association information that the user associates the first device element and the second device element, as well as the first command element and the second command element, on the settings screen.
10. The information processing apparatus according to claim 1, wherein, The processing section is configured to cause the display section to display the second device element or the second command element that is already associated with the first device element or the first command element in the definition information, such that the second device element or the second command element is associated with the first device element or the first command element.
11. The information processing apparatus according to claim 1, wherein, If a third device element equal to the second device element or a third command element equal to the second command element exists, the processing part deletes the third device element or the third command element and causes the display part to display the second device element or the second command element.
12. The information processing apparatus according to claim 1, wherein, The processing section is configured to cause the display section to display, on the settings screen, the first device element to be associated with the second device element and a candidate first command element to be associated with the second command element.
13. The information processing apparatus according to any one of claims 2 to 4, wherein, The first program and the second program are step programs.
14. The information processing apparatus according to claim 1, wherein, At least one of the following buttons is displayed on the settings screen: an add button for adding new definition information, a delete button for deleting definition information, and a save button for saving the set definition information.
15. A ladder program generation apparatus, the ladder program generation apparatus comprising: The processing section configured to perform information processing; as well as The display portion configured to display images. The processing section is configured as follows: The display portion displays a setup screen for the user to associate a first device element written with a first mnemonic and a second device element written with a second mnemonic with each other, and also displays the setup screen for the user to associate a first command element written with the first mnemonic and a second command element written with the second mnemonic with each other. Definition information is obtained based on user input in the settings screen, in which the first mnemonic and a second mnemonic different from the first mnemonic are associated with each other, and By using the definition information, a first ladder program written with the first mnemonic is transformed into a second ladder program written with the second mnemonic.
16. An information processing method executed by a processing unit, The method includes: The display portion shows a setup screen for the user to associate a first device element written with a first mnemonic and a second device element written with a second mnemonic with each other, and also shows the setup screen for the user to associate a first command element written with the first mnemonic and a second command element written with the second mnemonic with each other. Definition information is obtained based on the user's input in the settings screen, in which the first mnemonic and a second mnemonic different from the first mnemonic are associated with each other.
17. A method for generating a ladder program executed by a processing unit, The method includes: The display portion shows a setup screen for the user to associate a first device element written with a first mnemonic and a second device element written with a second mnemonic with each other, and also shows the setup screen for the user to associate a first command element written with the first mnemonic and a second command element written with the second mnemonic with each other. Definition information is obtained based on user input in the settings screen, in which the first mnemonic and a second mnemonic different from the first mnemonic are associated with each other, and By using the definition information, a first ladder program written with the first mnemonic is transformed into a second ladder program written with the second mnemonic.
18. A method of manufacturing a product, comprising: The object is controlled by a first or second ladder procedure generated using the ladder procedure generation method according to claim 17.
19. A computer-readable recording medium storing a program that causes a computer to perform the information processing method according to claim 16.
Citation Information
Patent Citations
Method for converting a programmable logic controller hardware configuration and corresponding control program for use on a first programmable logic controller to use on a second programmable logic controller
US5142469A