WO2020071439A1 - プログラム生成装置、プログラム生成装置の制御方法、制御プログラム、および記録媒体。 - Google Patents
プログラム生成装置、プログラム生成装置の制御方法、制御プログラム、および記録媒体。Info
- Publication number
- WO2020071439A1 WO2020071439A1 PCT/JP2019/038962 JP2019038962W WO2020071439A1 WO 2020071439 A1 WO2020071439 A1 WO 2020071439A1 JP 2019038962 W JP2019038962 W JP 2019038962W WO 2020071439 A1 WO2020071439 A1 WO 2020071439A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- program
- data collection
- unit
- plc
- target device
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/056—Programming the PLC
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13004—Programming the plc
Definitions
- the present disclosure relates to an apparatus that automatically generates a program for a PLC that controls a machine.
- a PLC (Programmable Logic Controller) ⁇ is a control device that causes a device to be controlled to execute machine processing or obtain information detected by a detection device in a factory or a plant.
- PLC is widely used for factory automation (factory automation, FA) in a production site where parameters such as the type, order, and timing of devices to be operated need to be appropriately set.
- the FA device transmits to the PLC.
- the received data is managed by performing conversion such as linear conversion.
- Patent Literature 1 describes a source code template generation device that generates a source code template from an exemplary source code.
- Patent Document 2 describes a method for automatically generating a PLC program by combining a program code selected by a user.
- the present invention in one aspect, has been made in view of the above-described problems, and has as its object to provide a program development support apparatus that facilitates generation of a program for performing data collection by a PLC and reduces the burden on an operator. And the like.
- the present disclosure employs the following configurations in order to solve the above-described problems.
- a program generation device is a program generation device that generates a data collection program that causes a PLC (Programmable Logic Controller) to execute a process related to data collection, and corresponds to various processes related to the data collection.
- a storage unit storing a template program and device parameters corresponding to the target device for each data collection target device, a receiving unit receiving input of the target device from a user, and receiving at the receiving unit
- a program generation unit that generates a data collection program for collecting data from the target device by the PLC using the template program and the device parameters corresponding to the target device.
- a data collection program by the PLC can be generated only by inputting the target device. Therefore, it is possible to greatly reduce the burden on the worker as compared with the conventional technique, and to generate a data collection program by the PLC while securing a constant quality level and a uniform output format.
- a control method of a program generation device is a control method of a program generation device that generates a data collection program for causing a PLC (Programmable Logic Controller) to execute a process related to data collection, A model program corresponding to various processes related to the target device, and a device parameter corresponding to the target device for each target device for which data is to be collected are stored in a storage unit, and a receiving step of receiving an input of the target device from a user And a program generating step of generating a data collection program for collecting data from the target device by the PLC using the model program and the device parameters corresponding to the target device received in the receiving step.
- a PLC Programmable Logic Controller
- the program generation device may be realized by a computer.
- the computer is operated as each unit (software element) including the program generation device, and the program generation device is executed by the computer.
- the control program of the program generation device to be realized, and a computer-readable recording medium recording the control program are also included in the scope of the present invention.
- FIG. 3 is a functional block diagram illustrating a main configuration of a program generation unit according to the embodiment. It is a figure showing the whole outline of this embodiment.
- FIG. 3 is a diagram illustrating a device information library according to the embodiment. It is a flowchart figure which shows the conventional working step.
- 5 is a flowchart illustrating a flow of a process according to the embodiment.
- FIG. 7 is a diagram illustrating an example of a user interface screen when a process is started in the embodiment.
- FIG. 9 is a diagram illustrating an example in which network configuration information is captured on the interface screen.
- FIG. 9 is a diagram illustrating an example of a result of a matching process and a result of writing to an industrial value conversion management map on the interface screen.
- FIG. 9 is a diagram illustrating an example of a case where a user performs a correction input on the interface screen. It is a figure for explaining an example which creates a PLC control program and a database definition program from an industrial value conversion management map.
- (A)-(c) is a figure which shows the example of a program generation process. It is a figure showing an example which reflects a calibration value.
- FIG. 2 is a diagram showing an overall outline of the present embodiment.
- FIG. 2 shows a situation where the automatic program generation unit (program generation device) 110 according to the present embodiment is applied.
- the terminal device 100 that controls the PLC 210 included in the production system 200 is described.
- the terminal device 100 includes a program automatic generation unit 110 that generates a program for controlling the PLC 210.
- the program automatic generation unit 110 uses the template program and device parameters stored in the device information library (storage unit) 111 corresponding to the device specified by the user to send the PLC 210 from the target device.
- a data collection program for collecting data is generated.
- the PLC 210 can generate a data collection program for collecting data from the target device, so that the data collection program can be automatically generated without imposing a burden on the user.
- the PLC 210 executes the data collection program generated by the program automatic generation unit 110 to convert the data output from the terminal device 230 to a general-purpose sensor or an existing PLC.
- the data is collected via the relay device (relay device) 220.
- the PLC 210 performs a process such as linear conversion on the collected data, converts device variables into industrial variables, and stores the obtained industrial variables in the database 410.
- the data collection program in the present embodiment is for the PLC 210 to acquire data from a target device such as the relay device 220 and to convert the acquired data into a PLC control program and to store the converted data in the database 410. Includes a database definition program.
- the network configuration import unit 112 of the program automatic generation unit 110 imports the network configuration information of the production system 200.
- a configuration already set in the relay device 220 (communication unit, I / O unit) can be acquired.
- the matching processing unit 115 presents the user with options limited to candidates and allows the user to select the options.
- a communication program between the devices can be generated based on the network configuration information, and the data of the terminal device 230 that requires the communication processing program for obtaining the data can be acquired by the generated data collection program. .
- the device information library 111 separately stores the device information parameters 1111 and the template program 1112, the same method can be used for devices of different models without worrying about differences in interfaces between devices. Can create a data collection program.
- template program 1112 can also describe processing other than industrial value conversion such as communication processing.
- a data collection program can be created in a similar manner for devices that require program processing such as communication processing before industrial value conversion.
- the production system 200 includes a PLC 210, a relay device 220, and a terminal device 230.
- the relay device 220 may be built in the PLC 210.
- the terminal device 230 includes an FA (Factory Automation) device directly acting on a work or an environment, and may be, for example, various general-purpose sensors, actuators, and serial devices. In addition, an existing PLC may be included in this for convenience.
- the relay device 220 includes a device interposed between the PLC 210 and the terminal device 230, and may be, for example, various I / O units and communication units.
- the connection method between the relay device 220 and the terminal device 230 may be configured to be operable using a known technique.
- the terminal device 100 including the program automatic generation unit 110 that automatically generates a program according to the present embodiment includes an automatic program generation unit 110 and a PLC support unit 150.
- the terminal device 100 is, for example, a personal computer (PC).
- the terminal device 100 is connected to the PLC 210 by, for example, a USB cable. Communication such as acquisition of sensor data from the PLC 210 and writing of a program to the PLC 210 is performed through a USB cable and the PLC support unit 150.
- the connection may be made by Ethernet (registered trademark) instead of USB, and communication may be performed through an Ethernet cable and a LAN device.
- the terminal device 100 includes a CPU (Central Processing Unit), a RAM (Random Access Memory), a ROM (Read Only Memory), and the like.
- a CPU Central Processing Unit
- RAM Random Access Memory
- ROM Read Only Memory
- the PLC 210 connects to the database 410 of the database storage device 400 via the LAN network, and records the data collected by the data collection program in the database 410.
- the database storage device 400 is, for example, a PC.
- the database 410 is not limited to a database connected via a LAN network, and may be present on a cloud connected via the Internet, for example. Further, the database 410 may be a relational DB such as an SQL Server or a non-relational DB.
- FIG. 1 is a functional block diagram illustrating a main configuration of the automatic program generation unit 110.
- the terminal device 100 includes an automatic program generation unit 110 and a PLC support unit 150.
- the PLC support unit 150 mediates between the PLC 210 and the automatic program generation unit 110.
- the PLC support unit 150 acquires the existing network configuration information of the production system 200 from the PLC 210 and imports the information into the PLC 210 of the data collection program generated by the program automatic generation unit 110, which is imported into the program automatic generation unit 110. And so on.
- the program automatic generation unit 110 includes a device information library 111, a network configuration import unit 112, a device information library search unit 114, an industrial value conversion management map 113, a matching processing unit 115, a correction input reception unit 116, It includes a program generation unit 117, a user interface unit (reception unit) 120, and a program export unit 140.
- the device information library 111 includes a device information parameter 1111 and a template program 1112.
- FIG. 3 is a diagram exemplifying the contents of the device information library 111.
- the device information library 111 holds the device information parameters 1111 and the template program 1112.
- the device information parameter 1111 a device ID for specifying a target device, a parameter name of the target device, and a default value are associated with each other.
- the template program 1112 describes the processing content to be executed by the PLC 210 in a state where a place corresponding to the target device is a placeholder. More specifically, the template program 1112 stores a template (a template) of a data collection program for the PLC 210 to collect data and convert the collected data into an industrial value, and stores the obtained industrial value in the database 410.
- Database definition program template The data collection program includes a program for reading data transmitted from the target device, a program for causing the target device to transmit data, a program for controlling communication between the PLC 210 and the target device, and the like. Programs are included.
- the network configuration import unit 112 acquires network configuration information from the PLC 210 and transmits it to the industrial value conversion management unit 118.
- the network configuration information is information indicating the configuration of a device connected to the PLC 210.
- the industrial value conversion management map 113 stores network configuration information and information necessary for the program automatic generation unit 110 to generate a program.
- the information required to generate the program includes the model of each device, setting information, manufacturer name, unit of industrial value, conversion coefficient, device variable name, industrial quantity variable name, and the like.
- the industrial value conversion management unit 118 manages input and output to and from the industrial value conversion management map 113.
- the device information library search unit 114 reads the device information parameters 1111 and the template program 1112 from the device information library 111.
- the matching processing unit 115 matches the network configuration information with the device information parameter 1111 and narrows down candidates for the assumed device type.
- the matching processing unit 115 includes an option presenting unit 1151 and a limiting unit 1152.
- the option presenting unit 1151 presents the narrowed result to the user as an option.
- the limiting unit 1152 narrows down only devices whose device type and maker are designated among devices that can be connected as end devices, and presents them to the user. The user selects a device determined to be optimal from the presented options.
- the correction input receiving unit 116 receives an input for the user to arbitrarily edit a value in the industrial value conversion management map. For example, it accepts editing of the upper and lower limits of input and output.
- the program generation unit 117 generates a data collection program based on the device selected by the user, the information input to the industrial value conversion management map 113, and the template program 1112. For example, when the user clicks a program generation button (not shown) on the user interface screen and accepts the click, the user interface unit 120 may cause the program generation unit 117 to start generating a program.
- the generated data collection program is exported via the program export unit 140, and is written to the PLC 210 by the PLC support unit 150. Instead of using the generated data collection program as it is, the data collection program may be tuned (modified) as needed.
- the user interface unit 120 controls a device for presenting to a user and receiving an input from the user.
- the devices controlled by the user interface unit 120 include, for example, a display, a touch panel, a speaker, a keyboard, a mouse, a microphone, and the like.
- a technician in charge of the site checks the specifications of the target device (S901), checks the unit specifications (S903), and outputs data from the target device.
- the process of comprehending and examining a sample program for collecting (S905), creating a data collection program (S907), and correcting any debug (S909) was repeated.
- FIG. 5 is a flowchart illustrating an example of processing of the automatic program generation unit 110. Note that the processing described below is merely an example, and each processing may be changed as much as possible. Further, in the processing described below, steps can be omitted, replaced, and added as appropriate according to the embodiment.
- the user connects the production system 200 (including the PLC 210) and the terminal device 100.
- the terminal device 100 is activated, and the PLC support unit 150 of the activated terminal device 100 imports the network configuration information of the production system 200 into the automatic program generation unit 110.
- the program automatic generation unit 110 starts the processing.
- FIG. 6 shows an example of a user interface screen when the processing of the program automatic generation unit 110 is started.
- the industrial value conversion management map 113 is displayed on the left side of the user interface screen at the start of the process.
- the right side is an area used when the user selects a device or inputs a numerical value or a character string related to a device parameter, and includes buttons for selecting a device type and a manufacturer.
- the contents of the industrial value conversion management map 113 have been initialized, and no information has been input on the user interface screen as shown in FIG.
- the contents of the industrial value conversion management map 113 at the time of the previous termination may be automatically read by software setting or a script executed at the time of startup.
- Step S101 the user performs an operation of importing the current network configuration information using a network configuration import menu (not shown).
- the user interface unit 120 of the program automatic generation unit 110 receives this operation.
- the network configuration import unit 112 takes in the network configuration information of the production system 200 at that time and inputs it to the industrial value conversion management map 113.
- the specified network configuration information may be automatically imported by software setting or a script executed at the time of startup.
- FIG. 7 is an image diagram showing a result of capturing.
- the captured values are input and displayed in the device type column and device variable column region shown in a region 701 surrounded by a broken line.
- Step S103 S103 will be described with reference to FIG. Subsequent to S101, the user selects the terminal device 230 by clicking the region 801 indicating the terminal device indicated by the broken line in the region for displaying the industrial value conversion management map 113 on the left side of the user interface screen. Then, the matching processing unit 115 matches the type of the relay device 220 located between the selected terminal device 230 and the PLC 210 with the device information parameter 1111 and narrows down candidates that can be connected as the terminal device 230.
- Step S105 the option presenting unit 1151 presents the candidate device on the right side of the user interface screen based on the narrowed result.
- the matching processing unit 115 displays the flow sensor among the devices that can be connected as the terminal device 230.
- the limiting unit 1152 narrows down and displays only the devices of which the device type and the maker are the designated values among the devices that can be connected as the end device 230.
- Step S107 the user selects a row 811 (indicated by hatching) in which devices actually used at the production site are displayed from the candidates narrowed down in step S105, and clicks an arrow button on the left end. Thereby, the existing terminal device 230 is selected.
- Step S109 the matching processing unit 115 inputs a specific device model (format and revision) to the industrial value conversion management map 113 based on the terminal device 230 indicated by the selected row. Further, a physical quantity, a device setting value, and the like are input to the industrial value conversion management map 113 based on the device information parameter 1111 corresponding to the device type.
- Step S111 Referring to FIG. 9, a flow of processing when a user performs a correction input will be described.
- the user checks the industrial value conversion management map 113 obtained in step S109, and performs correction input as necessary in accordance with the on-site environment and individual differences in equipment.
- the upper and lower limits of input and output can be edited.
- the industrial value conversion management map 113 is updated, and the updated values are displayed as an area 901 surrounded by a broken line.
- the correction input receiving unit 116 receives a correction instruction for the data collection program generated by the program generation unit 117, and the program generation unit 117 reflects the correction content received by the correction input reception unit 116 on the generated data collection program. .
- Step S113 the correction input receiving unit 116 receives the correction input value input by the user and inputs the correction input value to the industrial value conversion management map 113.
- Step S115 the user issues a program automatic creation instruction using a menu (not shown) on the user interface screen. Note that S115 may be omitted, and the program generation may be automatically started after the device is selected in S107 or after the correction input is performed in S111.
- Step S117 the program generation unit 117 generates a data collection program based on the value input to the industrial value conversion management map 113 and the template program included in the device information library 111.
- the automatic generation of a program will be described with reference to FIG.
- FIG. 10 is a diagram for describing automatic generation of a data collection program.
- the program generation unit 117 replaces the placeholder in the template program using the device variables, the industrial value variables, the upper and lower limits of the input / output, etc. input to the industrial value conversion management map 113.
- current: N1_input * LREAL # 0.001 + LREAL # 0;” shown in FIG. 10,
- “Current”, “N1_input”, “0.001”, and “0” are placeholders.
- the template program 1112 is provided with an entry column (placeholder) for incorporating the device information parameter 1111, and the program generation unit 117 incorporates the device information parameter 1111 in the entry column of the template program 1112 to execute the data collection program.
- the program generation unit 117 incorporates the device information parameter 1111 in the entry column of the template program 1112 to execute the data collection program.
- a branch or a repetition process (a process corresponding to the device information parameter 1111) may be performed by using a parameter.
- FIG. 11 shows an example of a program generation process.
- FIG. 11A shows an example in which a data collection program is generated by incorporating the device information parameter 1111 in the entry column of the template program 1112, in which the decimal point of the data acquired as an integer is converted to a real number.
- FIG. 11A shows an example in which a data collection program is generated by incorporating the device information parameter 1111 in the entry column of the template program 1112, in which the decimal point of the data acquired as an integer is converted to a real number
- FIG. 11B shows an example in which the process branches depending on the device information parameter 1111 (the output process is changed in accordance with the parameter value). A data collection program is being generated.
- FIG. 11C shows an example of repetition (repetition processing is output a number of times specified by a parameter), in which an endian conversion according to the process data length is performed to generate a data collection program.
- the program generator 117 creates a database definition program based on industrial value variables and physical quantities. That is, the program generation unit 117 uses the template program 1112 and the device information parameter 1111 corresponding to the terminal device 230 to generate a database definition program for defining a database for storing collected data.
- Step S119 the program generation unit 117 exports the automatically generated program to the PLC 210 via the program export unit 140.
- the automatically generated program is described using a programming language for PLC control such as ST language.
- Step S121 the user may edit the automatically generated program and modify it according to the situation at the site.
- the parameters can be modified according to the environment of the site and the individual differences of the devices, and the database definition and the communication control program may be edited.
- FIG. 12 is a diagram showing an example in which a value is configured for an automatically generated program. For example, if the operator determines that it is appropriate to add a constant value of 0.02 at the time of the linear conversion according to the situation at the site, the operator calculates 0.02 in the rightmost term of the expression for assigning a value to the variable Current. You can edit the expression as follows.
- a data collection program can be easily generated, so that the burden on the operator can be reduced.
- the program automatic generation unit 110 is a program automatic generation unit 110 that generates a data collection program that causes the PLC 210 to execute a process related to data collection, and is a template program corresponding to various processes related to data collection.
- 1112 a device information library 111 storing device information parameters 1111 corresponding to each of the terminal devices 230 to be collected, and a user interface unit 120 for receiving input of the terminal device 230 from a user.
- a program generation unit 117 which is configured to include.
- the model program 1112 necessary for generating the data collection program and the device information parameter 1111 are separately stored in the device information library 111.
- the device information parameters 1111 can be set for each terminal device 230 in consideration of the difference between the terminal device 230 and the analog device or the digital device. Thereby, the user can generate a data collection program suitable for the terminal device 230 only by selecting the terminal device 230.
- the data collection program is a control program including communication control with the end device 230, there is no need to separately perform settings related to communication with the end device 230.
- the program automatic generation unit 110 acquires information (network configuration information) of the relay device 220 connected to the PLC 210 from the PLC 210, and selects a device that can be connected to the relay device 220 as a selection candidate of the terminal device 230. Display on the display.
- the terminal device 230 as a selection candidate is limitedly displayed.
- the user only has to select the terminal device 230 as the target device from the limited display, and the target device can be easily selected.
- the program automatic generation unit 110 displays a numerical value input screen for receiving an input of a numerical value related to the device information parameter 1111 corresponding to the terminal device 230 selected from the selection candidates.
- the device information library 111 is configured to exist inside the terminal device 100 similarly to the automatic program generation unit 110.
- the configuration of the terminal including the device information library does not need to be limited to such an example, and may be appropriately selected according to the embodiment.
- the device information library 111 exists in a device external to the terminal device 100 and is connected via a network such as a LAN or the Internet, and the device information library search unit 114 employs a configuration in which the device information library 111 is connected to the device information library 111 via a network. You may.
- the device information library 111 may be divided into a server database outside the terminal device 100 and a local database inside the terminal device 100, and the local database inside the terminal device 100 may be created and updated as appropriate.
- the information held by the local database may be a part of the server database or may be all.
- the timing of updating the device information library 111, the priority of the database used by the program automatic generation unit 110, the relationship between the server database and the local database, and the like may be appropriately changed according to the embodiment.
- each element of the program automatic generation unit 110 shown in FIG. 1 other than the device information library 111 is configured to be executed on the same terminal.
- each element of the automatic program generation unit is configured to be executed on the terminal operated by the user, but a configuration may be adopted in which some elements are executed by another device.
- the program generation unit 117 may be executed by another device via a network such as a LAN or the Internet, for example, a device on a cloud.
- the program automatic generation unit 110 transmits information necessary for program generation, such as information included in the industrial value conversion management map 113, and causes the program to be generated.
- a configuration may be adopted in which an element relating to a user interface and another element are divided into a front-end unit and a back-end unit, and the back-end unit is executed on another device via a network.
- the front-end unit includes the function of the user interface unit 120, and the back-end unit operates in response to an input instruction from the front-end unit.
- the database 410 is configured to be stored in a device different from the terminal device 100.
- the database storage device 400 is connected to the production system 200, and the terminal device 100 is connected to the PLC 210 of the production system 200.
- the database 410 may be any device that can transmit the control program and the database definition program of the PLC 210 that stores the data in the database 410.
- the database 410 may be arranged inside the terminal device 100.
- the terminal device 100 may be configured to include only the front end unit.
- a configuration in which the terminal device 100 is connected via a terminal may be adopted.
- the back-end unit, the device information library 111, and the database 410 are stored in the database storage device 400, and the back-end unit is executed on the database storage device 400.
- the program automatic generation unit 110 is implemented as an application different from the PLC support unit 150, but as a part of the function of the PLC support unit 150, the program automatic generation unit 110 functions may be performed.
- the automatic program generation unit (particularly, the device information library search unit 114, the matching processing unit 115, the program generation unit 117, and the industrial value conversion management unit 118) of the terminal device 100 includes a logic circuit formed on an integrated circuit (IC chip) or the like. (Hardware) or software.
- the terminal device 100 includes a computer that executes instructions of a program that is software for realizing each function.
- the computer includes, for example, one or more processors and a computer-readable recording medium storing the program. Then, in the computer, the object of the present disclosure is achieved by the processor reading the program from the recording medium and executing the program.
- a processor for example, a CPU (Central Processing Unit) can be used.
- the recording medium a "temporary tangible medium" such as a ROM (Read Only Memory), a tape, a disk, a card, a semiconductor memory, and a programmable logic circuit can be used. Further, a RAM (Random Access Memory) for expanding the program may be further provided.
- the program may be supplied to the computer via an arbitrary transmission medium (a communication network, a broadcast wave, or the like) capable of transmitting the program.
- a transmission medium a communication network, a broadcast wave, or the like
- One embodiment of the present disclosure can also be realized in the form of a data signal embedded in a carrier wave, in which the program is embodied by electronic transmission.
- a program generation device is a program generation device that generates a data collection program for causing a PLC (Programmable Logic Controller) to execute a process related to data collection, and a template program corresponding to various processes related to the data collection. And a storage unit storing device parameters corresponding to the target device for each target device for which data is to be collected, a receiving unit that receives an input of the target device from a user, and the receiving unit that receives the input from the receiving unit.
- a program generation unit that generates a data collection program for collecting data from the target device by the PLC using the template program and the device parameters corresponding to the target device.
- a data collection program by the PLC can be generated only by inputting the target device. Therefore, it is possible to greatly reduce the burden on the worker as compared with the conventional technique, and to generate a data collection program by the PLC while securing a constant quality level and a uniform output format.
- the template program is provided with an incorporation column for incorporating the device parameter or a process corresponding to the device parameter, and the program generation unit includes the incorporation of the template program.
- the data collection program may be generated by incorporating the device parameter or a process corresponding to the device parameter into a column.
- the data collection program can be generated simply by incorporating the device parameters or the processing corresponding to the device parameters into the template program, so that the data collection program can be easily generated.
- the program generation unit may generate the data collection program including a program for controlling communication for acquiring data from the target device.
- information on a relay device connected to the PLC is acquired from the PLC, and a device that can be connected to the relay device is displayed on a display unit as a candidate for selecting the target device. May be used.
- a device that can be connected to the relay device connected to the PLC is selected as a candidate for selecting a target device.
- only devices that can be target devices are displayed as candidates and can be selected by the user, so that the user can easily input the target devices.
- the program generation device may display a numerical value input screen for receiving at least one of a numerical value and a character string related to the device parameter corresponding to the target device selected from the selection candidates. Good.
- an input of at least one of a numerical value and a character string relating to the device parameter is received.
- a data collection program can be generated using the device parameters that are set in detail according to the status of the target device, the status of the site, and the like.
- the input of the numerical value and the character string may be a direct input of the numerical value and the character string, or may be input by a slider or an up / down button.
- the program generation unit uses the template program and the device parameters corresponding to the target device received by the reception unit to define a database that stores collected data. May be generated.
- the database definition program can be generated only by inputting the content of the processing and the target device. Therefore, it is possible to generate the database definition program while greatly reducing the burden on the worker as compared with the related art.
- the receiving unit may receive a correction instruction for the data collection program generated by the program generating unit.
- the program generated by the program generation unit can be modified. Therefore, it is possible to generate a program that responds more precisely to situations, devices, processing contents, and the like.
- terminal device 100 terminal device 110 automatic program generation unit (program generation device) 111 Device information library (storage unit) 112 Network configuration import unit 1111 Device information parameters 1112 Template program 113 Industrial value conversion management map 114 Device information library search unit 115 Matching processing unit 116 Correction input reception unit 117 Program generation unit 120 User interface unit (reception unit) 200 Production system 210 PLC 220 Relay device (relay device) 230 Terminal device 400 Database storage device 410 Database
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Automation & Control Theory (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Programmable Controllers (AREA)
Abstract
PLCによるデータ収集を行うためのプログラムの生成を容易にし、作業者の負担を軽減する。データ収集に関する各種処理に対応した雛形プログラムと、データ収集の対象となる対象機器毎に当該対象機器に対応した機器パラメータとを格納した機器情報ライブラリ(111)と、受け付けた対象機器に対応する雛形プログラムおよび機器パラメータを用いて、データ収集プログラムを生成するプログラム生成部(117)とを備える。
Description
本開示は、機械を制御するPLCのためのプログラムを自動生成する装置に関する。
PLC(Programmable Logic Controller、 プログラマブルロジックコントローラー)は、工場やプラントにおいて、制御対象機器に対し機械の加工を実行させたり、検出装置によって検出された情報を取得したりする制御装置である。PLCは、動作させる機器の種類、順序、タイミング等、パラメータを適宜設定する必要がある生産現場において、工場の自動化(ファクトリーオートメーション、FA)のため広く用いられている。
FA機器がPLCに対して送信するデータは多種多様である。このような多種多様なデータをPLCは統一して管理するため、受信したデータに線形変換等の変換を施し管理している。
また、任意の既設の環境上でPLCからFA機器を制御し、データを収集し、データベースへ送信するためには、当該PLC上で動作するプログラムを作成する必要がある。
プログラムの作成に関し、特許文献1には、模範的なソースコードからソースコードテンプレートを生成するソースコードテンプレート生成装置が記載されている。また、特許文献2には、PLCのためのプログラムを、ユーザーによって選択されたプログラムコードを結合することにより自動生成する方法が記載されている。
しかし、特許文献1および特許文献2に記載された技術を用いて、PLCによるデータ収集プログラムを生成する場合、FA機器毎に対応するパラメータを設定する必要がある。また、FA機器との通信のためのパラメータも設定する必要がある。
従って、上述した従来技術を用いてPLCによりデータ収集プログラムを生成する場合、プログラムを生成する作業者に大きな負担をかけるという問題がある。また、生成されたプログラムには作業者の能力差に起因して品質水準にばらつきが生じるという問題や、更に出力されるデータの形式に属人的な違いが発生するという問題もある。
本発明は、一側面では、上記の問題に鑑みてなされたものであり、その目的は、PLCによるデータ収集を行うためのプログラムの生成を容易にし、作業者の負担を軽減したプログラム開発支援装置等を実現することにある。
本開示は、上述した課題を解決するために、以下の構成を採用する。
すなわち、本発明の一側面に係るプログラム生成装置は、データ収集に関する処理をPLC(Programmable Logic Controller)に実行させるデータ収集プログラムを生成するプログラム生成装置であって、前記データ収集に関する各種処理に対応した雛形プログラムと、データ収集の対象となる対象機器毎に当該対象機器に対応した機器パラメータと、を格納した記憶部と、ユーザーから、前記対象機器の入力を受け付ける受付部と、前記受付部で受け付けた前記対象機器に対応する前記雛形プログラムおよび前記機器パラメータを用いて、前記PLCにより前記対象機器からデータを収集するためのデータ収集プログラムを生成するプログラム生成部と、を備える。
上記の構成によれば、対象機器を入力するのみでPLCによるデータ収集プログラムを生成できる。よって、従来と比較して作業者の負担を大幅に軽減して、PLCによるデータ収集プログラムを一定の品質水準と統一された出力形式を担保して生成することができる。
また、本発明の一側面に係るプログラム生成装置の制御方法は、データ収集に関する処理をPLC(Programmable Logic Controller)に実行させるデータ収集プログラムを生成するプログラム生成装置の制御方法であって、前記データ収集に関する各種処理に対応した雛形プログラムと、データ収集の対象となる対象機器毎に当該対象機器に対応した機器パラメータとが記憶部に格納されており、ユーザーから、前記対象機器の入力を受け付ける受付ステップと、前記受付ステップで受け付けた前記対象機器に対応する前記雛形プログラムおよび前記機器パラメータを用いて、前記PLCにより前記対象機器からデータを収集するためのデータ収集プログラムを生成するプログラム生成ステップと、を含む。
本発明の各側面に係るプログラム生成装置は、コンピュータによって実現してもよく、この場合には、コンピュータを前記プログラム生成装置備える各部(ソフトウェア要素)として動作させることにより前記プログラム生成装置をコンピュータにて実現させるプログラム生成装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
本開示の一態様によれば、作業者の負担が少ないプログラム自動生成方法を提供することができる。
以下、本開示の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本開示の例示に過ぎない。本開示の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。
§1 適用例
まず、図2を用いて、本発明が適用される場面の一例について説明する。図2は、本実施形態の全体概要を示す図である。図2には、本実施形態に係るプログラム自動生成部(プログラム生成装置)110が適用される場面を示している。
まず、図2を用いて、本発明が適用される場面の一例について説明する。図2は、本実施形態の全体概要を示す図である。図2には、本実施形態に係るプログラム自動生成部(プログラム生成装置)110が適用される場面を示している。
図2に示す例では、生産システム200に含まれるPLC210を制御する端末装置100が記載されている。端末装置100にはPLC210を制御するプログラムを生成するプログラム自動生成部110がふくまれる。
図2に示すように、プログラム自動生成部110は、ユーザーにより指定された機器に対応する、機器情報ライブラリ(記憶部)111に格納された雛形プログラムおよび機器パラメータを用いて、PLC210が対象機器からデータを収集するためのデータ収集プログラムを生成するものである。ユーザーが対象機器を指定するのみで、当該対象機器からPLC210がデータを収集するためのデータ収集プログラムを生成できるので、ユーザーに負担をかけること無くデータ収集プログラムを自動で生成することができる。
そして、本実施形態に係る生産システム200では、PLC210は、プログラム自動生成部110で生成されたデータ収集プログラムを実行することにより、末端機器230から出力されたデータを、汎用センサや既設PLCなどの中継機器(中継装置)220を介して収集する。そして、PLC210は、収集されたデータに例えば線形変換などの処理を行い、デバイス変数を工業量変数へと変換し、得られた工業量変数をデータベース410へ格納する。なお、本実施形態におけるデータ収集プログラムは、PLC210が中継機器220等の対象機器からデータを取得し、取得したデータを変換するためのPLC制御プログラム、および変換後のデータをデータベース410に格納するためのデータベース定義プログラムを含む。
本実施形態では、プログラム自動生成部110のネットワーク構成インポート部112は生産システム200のネットワーク構成情報をインポートする。インポートでは、中継機器220(通信ユニット、I/Oユニット)における設定済みの構成を取得することができる。そして、中継機器220以降の、末端機器230(センサ、アクチュエータ等)について、突合せ処理部115が候補を限定した選択肢をユーザーに提示し、選択させる。
これにより、ユーザーが、中継機器220(通信ユニット、I/Oユニット)までの構成を調査するといった手間を必要とすることなく、ネットワーク構成に合わせたデータ収集プログラムを作成することができる。また、末端機器230(センサ、アクチュエータ等)について、選択肢を選ぶのみでよいので、容易かつ迅速に、データ収集プログラムを作成することができる。
また、ネットワーク構成情報に基づき、機器同士の通信プログラムを生成することができ、データ取得のために通信処理プログラムを必要とする末端機器230のデータを、生成したデータ収集プログラムで取得することができる。
さらに、選択肢では提示できなかった要素について追加、修正を行うことが可能なので、環境や機器の個体差に応じてデータ収集プログラムを作成することができる。
また、機器情報ライブラリ111は、機器情報パラメータ1111と雛形プログラム1112とを分離して保持しているので、機器同士のインターフェースの違い等を気にすることなく、型式の異なる機器について、同様の方法でデータ収集プログラムを作成することができる。
なお、雛形プログラム1112には通信処理など工業値変換以外の処理を記述することもできる。これにより、工業値変換の前に通信処理などのプログラム処理が必要な機器についても、同様の方法でデータ収集プログラムを作成することができる。
§2 構成例
[ハードウェア構成]
<生産システム>
次に、図2を用いて、本実施形態に係る生産システムのハードウェア構成の一例について説明する。
[ハードウェア構成]
<生産システム>
次に、図2を用いて、本実施形態に係る生産システムのハードウェア構成の一例について説明する。
図2に示す例では、本実施形態に係る生産システム200は、PLC210と中継機器220と末端機器230とを含む。中継機器220はPLC210に内蔵されていてもよい。末端機器230は、直接ワークや環境に作用しているFA(Factory Automation)機器を含み、例えば種々の汎用センサ、アクチュエータ、シリアル機器であってよい。また、既設のPLCも便宜上これに含んでよい。中継機器220は、PLC210と末端機器230との間に入る機器を含み、例えば種々のI/Oユニット、通信ユニットであってよい。中継機器220と末端機器230との接続方式は、公知の技術を用いて動作可能に構成されたものでよい。
<プログラム自動生成部>
次に、本実施形態に係るプログラムを自動で生成するプログラム自動生成部110を含む端末装置100について説明する。図2に示すように、本実施形態に係る端末装置100は、プログラム自動生成部110、およびPLCサポート部150を含む。端末装置100は、例えばパーソナルコンピュータ(PC)である。端末装置100は、PLC210と例えばUSBケーブルで接続されている。PLC210からのセンサデータの取得、およびPLC210へのプログラムの書込みなどの通信は、USBケーブルおよびPLCサポート部150を通じて行われる。なお、USBに代えてEthernet(登録商標)で接続され、EthernetケーブルおよびLAN機器を通じて通信が行われてもよい。
次に、本実施形態に係るプログラムを自動で生成するプログラム自動生成部110を含む端末装置100について説明する。図2に示すように、本実施形態に係る端末装置100は、プログラム自動生成部110、およびPLCサポート部150を含む。端末装置100は、例えばパーソナルコンピュータ(PC)である。端末装置100は、PLC210と例えばUSBケーブルで接続されている。PLC210からのセンサデータの取得、およびPLC210へのプログラムの書込みなどの通信は、USBケーブルおよびPLCサポート部150を通じて行われる。なお、USBに代えてEthernet(登録商標)で接続され、EthernetケーブルおよびLAN機器を通じて通信が行われてもよい。
端末装置100は、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含む。
<データベース>
PLC210は、LANネットワークを通じてデータベース格納装置400のデータベース410へと接続し、データ収集プログラムによって収集したデータをデータベース410へと記録する。データベース格納装置400は、例えばPCである。データベース410は、LANネットワークで接続されているものに限られず、例えばインターネットで接続されたクラウド上に存在していてもよい。また、データベース410は、SQLServerなどのリレーショナルDBであってよいし、非リレーショナルDBであってもよい。
PLC210は、LANネットワークを通じてデータベース格納装置400のデータベース410へと接続し、データ収集プログラムによって収集したデータをデータベース410へと記録する。データベース格納装置400は、例えばPCである。データベース410は、LANネットワークで接続されているものに限られず、例えばインターネットで接続されたクラウド上に存在していてもよい。また、データベース410は、SQLServerなどのリレーショナルDBであってよいし、非リレーショナルDBであってもよい。
[機能構成]
次に、図1を参照して、本実施形態に係る端末装置100のプログラム自動生成部110の機能構成について説明する。図1は、プログラム自動生成部110の要部構成を示す機能ブロック図である。
次に、図1を参照して、本実施形態に係る端末装置100のプログラム自動生成部110の機能構成について説明する。図1は、プログラム自動生成部110の要部構成を示す機能ブロック図である。
<端末装置>
端末装置100は、プログラム自動生成部110、およびPLCサポート部150を含む。PLCサポート部150は、PLC210とプログラム自動生成部110との仲立ちを行う。例えば、PLCサポート部150は、PLC210から、生産システム200の既存のネットワーク構成情報を取得して、プログラム自動生成部110にインポートする、プログラム自動生成部110で生成されたデータ収集プログラムのPLC210へ書込む、などを行う。
端末装置100は、プログラム自動生成部110、およびPLCサポート部150を含む。PLCサポート部150は、PLC210とプログラム自動生成部110との仲立ちを行う。例えば、PLCサポート部150は、PLC210から、生産システム200の既存のネットワーク構成情報を取得して、プログラム自動生成部110にインポートする、プログラム自動生成部110で生成されたデータ収集プログラムのPLC210へ書込む、などを行う。
<プログラム自動生成部>
図1に示す例では、プログラム自動生成部110は、機器情報ライブラリ111、ネットワーク構成インポート部112、機器情報ライブラリ検索部114、工業値変換管理マップ113、突合せ処理部115、修正入力受付部116、プログラム生成部117、ユーザーインターフェース部(受付部)120、およびプログラムエクスポート部140を含む。
図1に示す例では、プログラム自動生成部110は、機器情報ライブラリ111、ネットワーク構成インポート部112、機器情報ライブラリ検索部114、工業値変換管理マップ113、突合せ処理部115、修正入力受付部116、プログラム生成部117、ユーザーインターフェース部(受付部)120、およびプログラムエクスポート部140を含む。
機器情報ライブラリ111は、機器情報パラメータ1111と雛形プログラム1112とを含む。
図3は、機器情報ライブラリ111の内容を例示する図である。上述したように、機器情報ライブラリ111は、機器情報パラメータ1111と雛形プログラム1112とを保持している。機器情報パラメータ1111では、対象機器を特定するためのデバイスIDと当該対象機器のパラメータ名とデフォルト値とが対応付けられている。また、雛形プログラム1112には、PLC210に実行させる処理内容が、対象機器に対応する箇所がプレースホルダ-となった状態で記載されている。より詳細には、雛形プログラム1112には、PLC210がデータを収集し、収集したデータを工業値変換するためのデータ収集プログラムの雛形(テンプレート)と、得られた工業値をデータベース410に格納するためのデータベース定義プログラムのテンプレートとが含まれる。データ収集プログラムには、対象機器から送信されたデータを読込むプログラム、対象機器にデータの送信を行わせるためのプログラム、PLC210と対象機器との通信を制御するためのプログラム等、データ収集に必要なプログラムが含まれる。
ネットワーク構成インポート部112は、PLC210からネットワーク構成情報を取得し、工業値変換管理部118に送信する。ネットワーク構成情報とは、PLC210に接続している機器の構成を示す情報である。
工業値変換管理マップ113は、ネットワーク構成情報、および、プログラム自動生成部110においてプログラムを生成するために必要な情報を格納している。プログラムを生成するために必要な情報には、各機器の型式、設定情報、メーカー名、工業値の単位、変換係数、デバイス変数名、工業量変数名などが含まれる。
工業値変換管理部118は、工業値変換管理マップ113への入出力を管理する。
機器情報ライブラリ検索部114は、機器情報ライブラリ111から機器情報パラメータ1111および雛形プログラム1112の読込みを行う。
突合せ処理部115は、ネットワーク構成情報と機器情報パラメータ1111とを突合せ、想定される機器型式の候補を絞り込む。突合せ処理部115は、選択肢提示部1151、および限定部1152を含む。
選択肢提示部1151は、絞り込まれた結果を選択肢としてユーザーに提示する。限定部1152は、末端機器として接続され得る機器のうち機器種別とメーカーとが指定された機器のみを絞り込んでユーザーに提示する。ユーザーは、提示された選択肢のうち最適と判断した機器を選択する。
修正入力受付部116は、工業値変換管理マップ中の値をユーザーが任意に編集するための入力を受け付ける。例えば、入出力の上限値や下限値の編集を受け付ける。
プログラム生成部117は、ユーザーによって選択された機器、工業値変換管理マップ113に入力された情報、および雛形プログラム1112に基づき、データ収集プロラムを生成する。なお、例えば、ユーザーはユーザーインターフェース画面上のプログラム生成ボタン(図示せず)をクリックし、当該クリックを受け付けると、ユーザーインターフェース部120はプログラム生成部117にプログラムの生成を開始させてもよい。
生成されたデータ収集プログラムは、プログラムエクスポート部140を介してエクスポートされ、PLCサポート部150によりPLC210に書き込まれる。なお、生成したデータ収集プログラムをそのまま使用するのではなく、必要に応じてデータ収集プログラムをチューニング(修正)してもよい。
ユーザーインターフェース部120は、ユーザーへの提示、およびユーザーからの入力を受け付ける機器を制御する。ユーザーインターフェース部120により制御される機器としては、例えば、ディスプレイ、タッチパネル、スピーカー、キーボード、マウス、マイク等が含まれる。
§3 動作例
まず、図4を参照して、従来の処理の流れを簡単に説明する。従来は、本実施形態に対応するデータ収集プログラムを生成する場合、現場を担当する技術者が、対象機器の仕様を調査し(S901)、ユニット仕様を調査し(S903)、当該対象機器からデータを収集するためのサンプルプログラムを理解、検討し(S905)、データ収集プログラムを作成し(S907)、デバッグがあれば修正する(S909)という処理を繰り返していた。
まず、図4を参照して、従来の処理の流れを簡単に説明する。従来は、本実施形態に対応するデータ収集プログラムを生成する場合、現場を担当する技術者が、対象機器の仕様を調査し(S901)、ユニット仕様を調査し(S903)、当該対象機器からデータを収集するためのサンプルプログラムを理解、検討し(S905)、データ収集プログラムを作成し(S907)、デバッグがあれば修正する(S909)という処理を繰り返していた。
そして、デバッグが無くなると、IT技術者に対し、対象機器から収集されるデータの形式について説明し(S911)、IT技術者が当該データ形式に対応するデータ変換プログラムを作成(S913)、デバッグがあれば修正する(S915)という処理を繰り返していた。そして、デバッグが無ければ、作成したデータ収集プログラムを用いる(S917)という流れになっていた。
よって、従来では、作業工程も多く、現場技術者とIT技術者との間でやり取りも必要となり、作業者の負担は多大なものとなっていた。さらに、この処理で作成されたデータ収集プログラムは当該対象機器からデータを収集する場合にしか使えないというものであった。
次に、図5を用いて、プログラム自動生成部110の動作例を説明する。図5は、プログラム自動生成部110の処理の一例を示すフローチャートである。なお、以下で説明する処理は一例にすぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理について、実施の形態に応じて、適宜、ステップの省略、置換、および追加が可能である。
まず、ユーザーは、生産システム200(PLC210を含む)と端末装置100とを接続する。次に、端末装置100を起動し、起動した端末装置100のPLCサポート部150は、生産システム200のネットワーク構成情報をプログラム自動生成部110にインポートする。そして、プログラム自動生成部110は、処理を開始する。
プログラム自動生成部110の処理が開始されるときのユーザーインターフェース画面の一例を図6に示す。図6に示すように、処理開始時のユーザーインターフェース画面では、左側に工業値変換管理マップ113が表示されている。右側はユーザーが機器を選択したり、機器パラメータに関する数値や文字列を入力する際に使用する領域であり、機器種別やメーカーを選択するためのボタンを含む。処理開始時には、工業値変換管理マップ113の内容は初期化されており、図6に示すようにユーザーインターフェース画面にも情報は入力されていない。なお、ソフトウェア設定や起動時に実行するスクリプトなどにより、前回終了時の工業値変換管理マップ113の内容などを自動的に読み込むものとしてもよい。
(ステップS101)
S101において、ユーザーは、図示しないネットワーク構成インポートメニューを使用し、現時点のネットワーク構成情報をインポートする操作を行う。プログラム自動生成部110のユーザーインターフェース部120はこの操作を受け付ける。これにより、ネットワーク構成インポート部112はその時点における生産システム200のネットワーク構成情報を取り込み、工業値変換管理マップ113へ入力する。なお、ソフトウェア設定や起動時に実行するスクリプトなどにより、指定済みのネットワーク構成情報を自動的に取り込むものとしてもよい。
S101において、ユーザーは、図示しないネットワーク構成インポートメニューを使用し、現時点のネットワーク構成情報をインポートする操作を行う。プログラム自動生成部110のユーザーインターフェース部120はこの操作を受け付ける。これにより、ネットワーク構成インポート部112はその時点における生産システム200のネットワーク構成情報を取り込み、工業値変換管理マップ113へ入力する。なお、ソフトウェア設定や起動時に実行するスクリプトなどにより、指定済みのネットワーク構成情報を自動的に取り込むものとしてもよい。
図7は、取り込み結果を示すイメージ図である。破線で囲む領域701に示す機器型式のカラムやデバイス変数のカラム領域に、取り込まれた値が入力され表示されている。
(ステップS103)
図8を参照して、S103について説明する。S101に続いてユーザーは、ユーザーインターフェース画面左側の工業値変換管理マップ113を表示する領域のうち、破線で図示した末端機器を示す領域801をクリックすることにより末端機器230を選択する。そして、突合せ処理部115は、選択された末端機器230とPLC210との間に位置する中継機器220の型式と、機器情報パラメータ1111とを突合せ、末端機器230として接続され得る候補を絞り込む。
図8を参照して、S103について説明する。S101に続いてユーザーは、ユーザーインターフェース画面左側の工業値変換管理マップ113を表示する領域のうち、破線で図示した末端機器を示す領域801をクリックすることにより末端機器230を選択する。そして、突合せ処理部115は、選択された末端機器230とPLC210との間に位置する中継機器220の型式と、機器情報パラメータ1111とを突合せ、末端機器230として接続され得る候補を絞り込む。
(ステップS105)
S105において、選択肢提示部1151は、絞り込んだ結果に基づいてユーザーインターフェース画面の右側に候補機器を提示する。次いで、ユーザーは、右側の領域のうち機器種別を選択するプルダウンメニュー(入力領域)をクリックし、例えば、「流量センサ」を選択する。これにより、突合せ処理部115は、末端機器230として接続され得る機器のうち流量センサを表示する。次いで、ユーザーは、メーカーを選択するプルダウンメニューをクリックし、例えば「○×株式会社」を選択する。これにより、限定部1152は、末端機器230として接続され得る機器のうち機器種別とメーカーとが指定された値である機器のみを絞り込んで表示する。
S105において、選択肢提示部1151は、絞り込んだ結果に基づいてユーザーインターフェース画面の右側に候補機器を提示する。次いで、ユーザーは、右側の領域のうち機器種別を選択するプルダウンメニュー(入力領域)をクリックし、例えば、「流量センサ」を選択する。これにより、突合せ処理部115は、末端機器230として接続され得る機器のうち流量センサを表示する。次いで、ユーザーは、メーカーを選択するプルダウンメニューをクリックし、例えば「○×株式会社」を選択する。これにより、限定部1152は、末端機器230として接続され得る機器のうち機器種別とメーカーとが指定された値である機器のみを絞り込んで表示する。
(ステップS107)
S107において、ユーザーは、ステップS105で絞り込まれた候補のうちから、実際に生産現場で使用されている機器が表示されている行811(ハッチングで示す)を選択し、左端の矢印ボタンをクリックすることにより、実在する末端機器230を選択する。
S107において、ユーザーは、ステップS105で絞り込まれた候補のうちから、実際に生産現場で使用されている機器が表示されている行811(ハッチングで示す)を選択し、左端の矢印ボタンをクリックすることにより、実在する末端機器230を選択する。
(ステップS109)
S109において、突合せ処理部115は、選択された行が示す末端機器230に基づき、工業値変換管理マップ113に、具体的な機器型式(形式およびリビジョン)を入力する。また、物理量、機器設定の値等を、当該機器型式に対応する機器情報パラメータ1111に基づいて、工業値変換管理マップ113へと入力する。
S109において、突合せ処理部115は、選択された行が示す末端機器230に基づき、工業値変換管理マップ113に、具体的な機器型式(形式およびリビジョン)を入力する。また、物理量、機器設定の値等を、当該機器型式に対応する機器情報パラメータ1111に基づいて、工業値変換管理マップ113へと入力する。
(ステップS111)
図9を参照して、ユーザーが修正入力を行う場合の処理の流れを示す。S111において、ユーザーは、ステップS109によって得られた工業値変換管理マップ113を確認し、現場の環境や機器の個体差に合わせ、必要に応じ修正入力を行う。また、S111では、入出力の上限値や下限値の編集を行うことができる。ユーザーが編集した結果、工業値変換管理マップ113は更新され、破線で囲まれた領域901のように更新後の値が表示される。
図9を参照して、ユーザーが修正入力を行う場合の処理の流れを示す。S111において、ユーザーは、ステップS109によって得られた工業値変換管理マップ113を確認し、現場の環境や機器の個体差に合わせ、必要に応じ修正入力を行う。また、S111では、入出力の上限値や下限値の編集を行うことができる。ユーザーが編集した結果、工業値変換管理マップ113は更新され、破線で囲まれた領域901のように更新後の値が表示される。
すなわち、修正入力受付部116は、プログラム生成部117が生成したデータ収集プログラムに対する修正指示を受け付け、プログラム生成部117は、修正入力受付部116が受け付けた修正内容を生成したデータ収集プログラムに反映させる。
(ステップS113)
S113において、修正入力受付部116は、ユーザーが入力した前記修正入力値を受け付け、工業値変換管理マップ113へ入力する。
S113において、修正入力受付部116は、ユーザーが入力した前記修正入力値を受け付け、工業値変換管理マップ113へ入力する。
(ステップS115)
S115において、ユーザーは、ユーザーインターフェース画面における図示しないメニューを用いて、プログラム自動作成指示を行う。なお、S115を省略し、S107にて機器が選択された後、またはS111にて修正入力がされた後、自動でプログラムの生成が開始されてもよい。
S115において、ユーザーは、ユーザーインターフェース画面における図示しないメニューを用いて、プログラム自動作成指示を行う。なお、S115を省略し、S107にて機器が選択された後、またはS111にて修正入力がされた後、自動でプログラムの生成が開始されてもよい。
(ステップS117)
S117において、プログラム生成部117は、工業値変換管理マップ113に入力された値と、機器情報ライブラリ111に含まれる雛形プログラムとに基づき、データ収集プログラムを生成する。図10を参照して、プログラムの自動生成について説明する。
S117において、プログラム生成部117は、工業値変換管理マップ113に入力された値と、機器情報ライブラリ111に含まれる雛形プログラムとに基づき、データ収集プログラムを生成する。図10を参照して、プログラムの自動生成について説明する。
図10は、データ収集プログラムの自動生成について説明するための図である。図10に示すように、プログラム生成部117は、工業値変換管理マップ113に入力されたデバイス変数、工業値変数、入出力の上限値や下限値などを用いて雛形プログラム中のプレースホルダを置き換え、PLC制御プログラムを作成する。図10に示すデータ収集プログラム例“current := N1_input * LREAL#0.001 +LREAL#0;”では、“():= () * LREAL#() +LREAL#();”が雛形プログラムに対応し、“current”、“N1_input”、“0.001”、“0”の部分がプレースホルダとなる。
すなわち、雛形プログラム1112には、機器情報パラメータ1111を組入れる組入れ欄(プレースホルダ)が設けられており、プログラム生成部117は、雛形プログラム1112の組入れ欄に機器情報パラメータ1111を組入れることによりデータ収集プログラムを生成する。また、プログラムの生成においてはプレースホルダの単なる置き換えだけでなく、パラメータによって分岐や繰り返し処理(機器情報パラメータ1111に対応する処理)を行ってもよい。図11にプログラムの生成処理の例を示す。図11の(a)は、雛形プログラム1112の組入れ欄に機器情報パラメータ1111を組入れることによりデータ収集プログラムを生成する例であり、整数で取得されたデータの小数点を移動して実数に変換することによりデータ収集プログラムを生成している。また、図11の(b)は、機器情報パラメータ1111によって分岐する(パラメータの値に応じて出力する処理を変更する)例であり、サイズ(データ長)と符号の有無に応じたキャスト処理によりデータ収集プログラムを生成している。また、図11の(c)は、繰り返し(パラメータで指定した回数だけ繰り返し処理を出力する)の例であり、プロセスデータ長に応じたエンディアン変換を行いデータ収集プログラムを生成している。
また、プログラム生成部117は、工業値変数、物理量に基づいてデータベース定義プログラムを作成する。すなわち、プログラム生成部117は、末端機器230に対応する雛形プログラム1112および機器情報パラメータ1111を用いて、収集したデータを格納するデータベースを定義するためのデータベース定義プログラムを生成する。
(ステップS119)
S119において、プログラム生成部117は、自動生成されたプログラムを、プログラムエクスポート部140を介してPLC210にエクスポートする。自動生成されたプログラムは、例えばST言語などPLC制御のためのプログラミング言語を用いて記述されている。
S119において、プログラム生成部117は、自動生成されたプログラムを、プログラムエクスポート部140を介してPLC210にエクスポートする。自動生成されたプログラムは、例えばST言語などPLC制御のためのプログラミング言語を用いて記述されている。
(ステップS121)
S121において、ユーザーは、自動生成されたプログラムを編集し、現場の状況に合わせて修正してもよい。現場の環境や機器の個体差に応じて、パラメータを修正することができる他、データベース定義や通信制御プログラムを編集してもよい。
S121において、ユーザーは、自動生成されたプログラムを編集し、現場の状況に合わせて修正してもよい。現場の環境や機器の個体差に応じて、パラメータを修正することができる他、データベース定義や通信制御プログラムを編集してもよい。
図12は、自動生成されたプログラムに対し値を構成した場合の例を示す図である。例えば、作業者は現場の状況に応じ、線形変換時に一定の値0.02を加える事が適当と判断した場合、変数Currentに値を代入する式の最も右の項で0.02を可算するように式を編集することができる。
以上のように、本実施形態では、容易にデータ収集プログラムを生成できるので、作業者の負担を軽減することができる。
[作用・効果]
上述したように本実施形態に係るプログラム自動生成部110は、データ収集に関する処理をPLC210に実行させるデータ収集プログラムを生成するプログラム自動生成部110であって、データ収集に関する各種処理に対応した雛形プログラム1112と、データ収集の対象となる末端機器230毎に当該末端機器230に対応した機器情報パラメータ1111とを格納した機器情報ライブラリ111と、ユーザーから、末端機器230の入力を受け付けるユーザーインターフェース部120と、ユーザーインターフェース部120で受け付けた末端機器230に対応する雛形プログラム1112および機器情報パラメータ1111を用いて、PLC210により末端機器230からデータを収集するためのデータ収集プログラムを生成するプログラム生成部117と、を備える構成である。
上述したように本実施形態に係るプログラム自動生成部110は、データ収集に関する処理をPLC210に実行させるデータ収集プログラムを生成するプログラム自動生成部110であって、データ収集に関する各種処理に対応した雛形プログラム1112と、データ収集の対象となる末端機器230毎に当該末端機器230に対応した機器情報パラメータ1111とを格納した機器情報ライブラリ111と、ユーザーから、末端機器230の入力を受け付けるユーザーインターフェース部120と、ユーザーインターフェース部120で受け付けた末端機器230に対応する雛形プログラム1112および機器情報パラメータ1111を用いて、PLC210により末端機器230からデータを収集するためのデータ収集プログラムを生成するプログラム生成部117と、を備える構成である。
このように、本実施形態では、データ収集プログラムの生成に必要な雛形プログラム1112と機器情報パラメータ1111とを分けて機器情報ライブラリ111に格納している。機器情報パラメータ1111を分けることにより、末端機器230がアナログ機器かデジタル機器か等の違いを考慮して末端機器230ごとに機器情報パラメータ1111を設定することができる。これにより、ユーザーは末端機器230を選択するのみで、当該末端機器230に適したデータ収集プログラムを生成させることができる。
また、データ収集プログラムは、末端機器230との通信制御も含めた制御プログラムなので、末端機器230との通信に関する設定を別途行う必要もない。
また、プログラム自動生成部110は、PLC210から、PLC210と接続している中継機器220の情報(ネットワーク構成情報)を取得し、当該中継機器220に接続されうる機器を、末端機器230の選択候補として表示部に表示する。
これにより、選択候補となる末端機器230が限定して表示される。ユーザーは限定された表示の中から対象機器となる末端機器230を選択すればよく、対象機器を容易に選択することができる。
さらに、プログラム自動生成部110は、選択候補から選択された末端機器230に対応する機器情報パラメータ1111に関する数値の入力を受け付ける数値入力画面を表示させる。
これにより、ユーザーは、機器情報パラメータ1111に関する数値を入力することができるので、末端機器230の状況、現場の状況等に合わせた細かい設定を行うことが可能となる。
§4 変形例
以上、本開示の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本開示の例示に過ぎない。本開示の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
以上、本開示の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本開示の例示に過ぎない。本開示の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
<4.1>
例えば、機器情報ライブラリ111は、図2に示されるとおり、プログラム自動生成部110と同様に端末装置100の内部に存在するように構成されている。しかしながら、機器情報ライブラリを備える端末の構成はこのような例に限定される必要はなく、実施の形態に応じて適宜選択されてよい。例えば、機器情報ライブラリ111は端末装置100の外部の装置に存在し、LANやインターネットなどネットワーク経由で接続され、機器情報ライブラリ検索部114はネットワーク経由で機器情報ライブラリ111へ接続するという構成を採用してもよい。
例えば、機器情報ライブラリ111は、図2に示されるとおり、プログラム自動生成部110と同様に端末装置100の内部に存在するように構成されている。しかしながら、機器情報ライブラリを備える端末の構成はこのような例に限定される必要はなく、実施の形態に応じて適宜選択されてよい。例えば、機器情報ライブラリ111は端末装置100の外部の装置に存在し、LANやインターネットなどネットワーク経由で接続され、機器情報ライブラリ検索部114はネットワーク経由で機器情報ライブラリ111へ接続するという構成を採用してもよい。
または、機器情報ライブラリ111が端末装置100外のサーバーデータベースと端末装置100内のローカルデータベースとに分けられ、端末装置100内のローカルデータベースが適宜、作成および更新される構成としてもよい。ローカルデータベースが保持する情報はサーバーデータベースの一部であってもよいし、全部であってもよい。機器情報ライブラリ111の更新のタイミング、プログラム自動生成部110が使用するデータベースの優先度、サーバーデータベースとローカルデータベースとの関係などは実施の形態に応じて適宜変更されても良い。
<4.2>
また、図1に示すプログラム自動生成部110のうち機器情報ライブラリ111以外の各要素も同一端末上で実行されるように構成されている。換言すれば、ユーザーが操作する端末上でプログラム自動生成部の各要素が実行されるように構成されているが、一部の要素を別の装置で実行する構成としてもよい。例えば、プログラム生成部117が、LANやインターネットなどネットワークを経由する他の装置、例えばクラウド上の装置で実行されてもよい。この場合、プログラム自動生成部110は、工業値変換管理マップ113に含まれる情報などプログラム生成に必要な情報を送信し、プログラムを生成させる。
また、図1に示すプログラム自動生成部110のうち機器情報ライブラリ111以外の各要素も同一端末上で実行されるように構成されている。換言すれば、ユーザーが操作する端末上でプログラム自動生成部の各要素が実行されるように構成されているが、一部の要素を別の装置で実行する構成としてもよい。例えば、プログラム生成部117が、LANやインターネットなどネットワークを経由する他の装置、例えばクラウド上の装置で実行されてもよい。この場合、プログラム自動生成部110は、工業値変換管理マップ113に含まれる情報などプログラム生成に必要な情報を送信し、プログラムを生成させる。
また、例えば、ユーザーインターフェースに係る要素と他の要素とをフロントエンド部とバックエンド部とに分割し、バックエンド部がネットワークを経由する他の装置上で実行される構成としてもよい。この場合、フロントエンド部にはユーザーインターフェース部120の機能が含まれ、フロントエンド部からの入力指示に応じて、バックエンド部は動作を実行する。
<4.3>
また、上記実施形態では、図2に示されるとおり、データベース410は端末装置100とは別の装置に格納されるように構成されている。換言すれば、生産システム200にデータベース格納装置400が接続されており、端末装置100が生産システム200のPLC210と接続している。しかし、データベース410は、データベース410への保存を行うPLC210の制御プログラムおよびデータベース定義プログラムを送信可能な装置にあればよく、例えば端末装置100の内部にデータベース410が配置されてもよい。
また、上記実施形態では、図2に示されるとおり、データベース410は端末装置100とは別の装置に格納されるように構成されている。換言すれば、生産システム200にデータベース格納装置400が接続されており、端末装置100が生産システム200のPLC210と接続している。しかし、データベース410は、データベース410への保存を行うPLC210の制御プログラムおよびデータベース定義プログラムを送信可能な装置にあればよく、例えば端末装置100の内部にデータベース410が配置されてもよい。
また、変形例<4.1>および<4.2>に示すように、端末装置100はフロントエンド部のみを備える構成としてもよく、例えば生産システム200およびデータベース格納装置400とが接続されたネットワーク経由に端末装置100を接続する構成としてもよい。この場合、バックエンド部、機器情報ライブラリ111、およびデータベース410はデータベース格納装置400に格納され、バックエンド部はデータベース格納装置400上で実行される。
<4.4>
また、上記実施形態では、図2に示されるとおり、プログラム自動生成部110はPLCサポート部150とは別のアプリケーションとして実装されているが、PLCサポート部150の機能の一部としてプログラム自動生成部110の機能が実行されてもよい。
また、上記実施形態では、図2に示されるとおり、プログラム自動生成部110はPLCサポート部150とは別のアプリケーションとして実装されているが、PLCサポート部150の機能の一部としてプログラム自動生成部110の機能が実行されてもよい。
〔ソフトウェアによる実現例〕
端末装置100のプログラム自動生成部(特に機器情報ライブラリ検索部114、突合せ処理部115、プログラム生成部117、および工業値変換管理部118)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、ソフトウェアによって実現してもよい。
端末装置100のプログラム自動生成部(特に機器情報ライブラリ検索部114、突合せ処理部115、プログラム生成部117、および工業値変換管理部118)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、ソフトウェアによって実現してもよい。
後者の場合、端末装置100は、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータを備えている。このコンピュータは、例えば1つ以上のプロセッサを備えていると共に、前記プログラムを記憶したコンピュータ読み取り可能な記録媒体を備えている。そして、前記コンピュータにおいて、前記プロセッサが前記プログラムを前記記録媒体から読み取って実行することにより、本開示の目的が達成される。前記プロセッサとしては、例えばCPU(Central Processing Unit)を用いることができる。前記記録媒体としては、「一時的でない有形の媒体」、例えば、ROM(Read Only Memory)等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、前記プログラムを展開するRAM(Random Access Memory)などをさらに備えていてもよい。また、前記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して前記コンピュータに供給されてもよい。なお、本開示の一態様は、前記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
〔付記事項〕
本発明の一側面に係るプログラム生成装置は、データ収集に関する処理をPLC(Programmable Logic Controller)に実行させるデータ収集プログラムを生成するプログラム生成装置であって、前記データ収集に関する各種処理に対応した雛形プログラムと、データ収集の対象となる対象機器毎に当該対象機器に対応した機器パラメータと、を格納した記憶部と、ユーザーから、前記対象機器の入力を受け付ける受付部と、前記受付部で受け付けた前記対象機器に対応する前記雛形プログラムおよび前記機器パラメータを用いて、前記PLCにより前記対象機器からデータを収集するためのデータ収集プログラムを生成するプログラム生成部と、を備える。
本発明の一側面に係るプログラム生成装置は、データ収集に関する処理をPLC(Programmable Logic Controller)に実行させるデータ収集プログラムを生成するプログラム生成装置であって、前記データ収集に関する各種処理に対応した雛形プログラムと、データ収集の対象となる対象機器毎に当該対象機器に対応した機器パラメータと、を格納した記憶部と、ユーザーから、前記対象機器の入力を受け付ける受付部と、前記受付部で受け付けた前記対象機器に対応する前記雛形プログラムおよび前記機器パラメータを用いて、前記PLCにより前記対象機器からデータを収集するためのデータ収集プログラムを生成するプログラム生成部と、を備える。
上記の構成によれば、対象機器を入力するのみでPLCによるデータ収集プログラムを生成できる。よって、従来と比較して作業者の負担を大幅に軽減して、PLCによるデータ収集プログラムを一定の品質水準と統一された出力形式を担保して生成することができる。
前記一側面に係るプログラム生成装置では、前記雛形プログラムには、前記機器パラメータかまたは該機器パラメータに対応する処理を組入れる組入れ欄が設けられており、前記プログラム生成部は、前記雛形プログラムの前記組入れ欄に前記機器パラメータかまたは該機器パラメータに対応する処理を組入れることにより前記データ収集プログラムを生成するものであってもよい。
上記の構成によれば、雛形プログラムに機器パラメータかまたは該機器パラメータに対応する処理を組入れるだけでデータ収集プログラムを生成できるので、データ収集プログラムを容易に生成することができる。
前記一側面に係るプログラム生成装置では、前記プログラム生成部は、前記対象機器からデータを取得するための通信を制御するプログラムを含めて前記データ収集プログラムを生成するものであってもよい。
上記の構成によれば、対象機器との通信を制御するプログラムを含むので、データを出力するプロトコルが設定されていない対象機器からであっても、適切にデータを取得することができる。
前記一側面に係るプログラム生成装置では、前記PLCから、該PLCと接続している中継装置の情報を取得し、当該中継装置に接続されうる機器を、前記対象機器の選択候補として表示部に表示するものであってもよい。
上記の構成によれば、PLCと接続している中継装置に接続されうる機器を対象機器の選択候補とする。これにより対象機器となり得る機器のみを候補として表示し、ユーザーに選択させることができるので、ユーザーは対象機器の入力を容易に行うことができる。
前記一側面に係るプログラム生成装置では、前記選択候補から選択された前記対象機器に対応する前記機器パラメータに関する数値および文字列の少なくとも何れかの入力を受け付ける数値入力画面を表示するものであってもよい。
上記の構成によれば、機器パラメータに関する数値および文字列の少なくとも何れかの入力を受け付ける。これにより、対象機器の状況、現場の状況等に応じてきめ細やかに設定した機器パラメータを用いてデータ収集プログラムを生成することができる。なお、数値および文字列の入力は数字および文字列を直接、入力するものであってもよいし、スライダやアップダウンボタンによる入力でもよい。
前記一側面に係るプログラム生成装置では、前記プログラム生成部は、前記受付部で受け付けた前記対象機器に対応する前記雛形プログラムおよび前記機器パラメータを用いて、収集したデータを格納するデータベースを定義するためのデータベース定義プログラムを生成するものであってもよい。
上記の構成によれば、処理の内容と対象機器とを入力するのみでデータベース定義プログラムを生成できる。よって、従来と比較して作業者の負担を大幅に軽減して、データベース定義プログラムを生成することができる。
前記一側面に係るプログラム生成装置では、前記受付部は、前記プログラム生成部が生成した前記データ収集プログラムに対する修正指示を受け付けるものであってもよい。
上記の構成によれば、プログラム生成部が生成したプログラムを修正することができる。よって、状況、機器、処理内容等により細かく対応したプログラムを生成することができる。
本開示は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本開示の技術的範囲に含まれる。
100 端末装置
110 プログラム自動生成部(プログラム生成装置)
111 機器情報ライブラリ(記憶部)
112 ネットワーク構成インポート部
1111 機器情報パラメータ
1112 雛形プログラム
113 工業値変換管理マップ
114 機器情報ライブラリ検索部
115 突合せ処理部
116 修正入力受付部
117 プログラム生成部
120 ユーザーインターフェース部(受付部)
200 生産システム
210 PLC
220 中継機器(中継装置)
230 末端機器
400 データベース格納装置
410 データベース
110 プログラム自動生成部(プログラム生成装置)
111 機器情報ライブラリ(記憶部)
112 ネットワーク構成インポート部
1111 機器情報パラメータ
1112 雛形プログラム
113 工業値変換管理マップ
114 機器情報ライブラリ検索部
115 突合せ処理部
116 修正入力受付部
117 プログラム生成部
120 ユーザーインターフェース部(受付部)
200 生産システム
210 PLC
220 中継機器(中継装置)
230 末端機器
400 データベース格納装置
410 データベース
Claims (10)
- データ収集に関する処理をPLC(Programmable Logic Controller)に実行させるデータ収集プログラムを生成するプログラム生成装置であって、
前記データ収集に関する各種処理に対応した雛形プログラムと、データ収集の対象となる対象機器毎に当該対象機器に対応した機器パラメータと、を格納した記憶部と、
ユーザーから、前記対象機器の入力を受け付ける受付部と、
前記受付部で受け付けた前記対象機器に対応する前記雛形プログラムおよび前記機器パラメータを用いて、前記PLCにより前記対象機器からデータを収集するためのデータ収集プログラムを生成するプログラム生成部と、を備える、
プログラム生成装置。 - 前記雛形プログラムには、前記機器パラメータかまたは該機器パラメータに対応する処理を組入れる組入れ欄が設けられており、
前記プログラム生成部は、前記雛形プログラムの前記組入れ欄に前記機器パラメータかまたは該機器パラメータに対応する処理を組入れることにより前記データ収集プログラムを生成する、
請求項1に記載のプログラム生成装置。 - 前記プログラム生成部は、前記対象機器からデータを取得するための通信を制御するプログラムを含めて前記データ収集プログラムを生成する、
請求項1または2に記載のプログラム生成装置。 - 前記PLCから、該PLCと接続している中継装置の情報を取得し、当該中継装置に接続されうる機器を、前記対象機器の選択候補として表示部に表示する、
請求項1~3のいずれか1項に記載のプログラム生成装置。 - 前記選択候補から選択された前記対象機器に対応する前記機器パラメータに関する数値および文字列の少なくとも何れかの入力を受け付ける数値入力画面を表示する、
請求項4に記載のプログラム生成装置。 - 前記プログラム生成部は、前記受付部で受け付けた前記対象機器に対応する前記雛形プログラムおよび前記機器パラメータを用いて、収集したデータを格納するデータベースを定義するためのデータベース定義プログラムを生成する、
請求項1~5のいずれか1項に記載のプログラム生成装置。 - 前記受付部は、前記プログラム生成部が生成した前記データ収集プログラムに対する修正指示を受け付ける、
請求項1~6のいずれか1項に記載のプログラム生成装置。 - データ収集に関する処理をPLC(Programmable Logic Controller)に実行させるデータ収集プログラムを生成するプログラム生成装置の制御方法であって、
前記データ収集に関する各種処理に対応した雛形プログラムと、データ収集の対象となる対象機器毎に当該対象機器に対応した機器パラメータとが記憶部に格納されており、
ユーザーから、前記対象機器の入力を受け付ける受付ステップと、
前記受付ステップで受け付けた前記対象機器に対応する前記雛形プログラムおよび前記機器パラメータを用いて、前記PLCにより前記対象機器からデータを収集するためのデータ収集プログラムを生成するプログラム生成ステップと、を含む、
プログラム生成装置の制御方法。 - 請求項1に記載のプログラム生成装置としてコンピュータを機能させるための制御プログラムであって、前記プログラム生成部としてコンピュータを機能させるための制御プログラム。
- 請求項9に記載の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201980058244.6A CN112654940A (zh) | 2018-10-04 | 2019-10-02 | 程序生成装置、程序生成装置的控制方法、控制程序以及记录介质 |
US17/278,668 US20220035331A1 (en) | 2018-10-04 | 2019-10-02 | Program generation device, program generation device control method, and recording medium |
KR1020217007425A KR102553315B1 (ko) | 2018-10-04 | 2019-10-02 | 프로그램 생성 장치, 프로그램 생성 장치의 제어 방법, 제어 프로그램, 및 기록 매체 |
EP19868813.7A EP3862826A4 (en) | 2018-10-04 | 2019-10-02 | PROGRAM GENERATION DEVICE, PROGRAM GENERATION DEVICE CONTROL METHOD, CONTROL PROGRAM AND RECORDING MEDIA |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018189375A JP2020057332A (ja) | 2018-10-04 | 2018-10-04 | プログラム生成装置、プログラム生成装置の制御方法、制御プログラム、および記録媒体。 |
JP2018-189375 | 2018-10-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020071439A1 true WO2020071439A1 (ja) | 2020-04-09 |
Family
ID=70054808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/038962 WO2020071439A1 (ja) | 2018-10-04 | 2019-10-02 | プログラム生成装置、プログラム生成装置の制御方法、制御プログラム、および記録媒体。 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20220035331A1 (ja) |
EP (1) | EP3862826A4 (ja) |
JP (1) | JP2020057332A (ja) |
KR (1) | KR102553315B1 (ja) |
CN (1) | CN112654940A (ja) |
WO (1) | WO2020071439A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113485182A (zh) * | 2021-06-30 | 2021-10-08 | 中冶华天工程技术有限公司 | 自动生成料场皮带流程控制程序的方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008129922A (ja) * | 2006-11-22 | 2008-06-05 | Asahi Glass Co Ltd | 制御プログラム生成方法及び制御プログラム生成装置 |
JP2009230606A (ja) | 2008-03-25 | 2009-10-08 | Hitachi Software Eng Co Ltd | ソースコードテンプレート生成装置 |
JP2012079246A (ja) * | 2010-10-06 | 2012-04-19 | Kanto Auto Works Ltd | プログラム作成方法及び作成装置 |
JP2013016021A (ja) * | 2011-07-04 | 2013-01-24 | Hitachi Ltd | ラダープログラム作成装置およびラダープログラム作成方法 |
JP2013033479A (ja) | 2011-07-29 | 2013-02-14 | Robert Bosch Gmbh | 機械を制御するプログラマブルロジックコントローラのためのアプリケーションプログラムコードを自動生成する方法 |
JP2017142767A (ja) * | 2016-02-09 | 2017-08-17 | 富士電機株式会社 | コントローラシステム、変数連携支援装置 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999056186A1 (fr) * | 1998-04-27 | 1999-11-04 | Digital Electronics Corporation | Systeme de commande, afficheur, ordinateur hote de commande, et procede de transmission de donnees |
US6947798B2 (en) * | 1999-09-24 | 2005-09-20 | Rockwell Software Inc. | System and method for developing software programs by way of multiple applications and users |
US6850808B2 (en) * | 1999-09-24 | 2005-02-01 | Rockwell Software Inc. | Method and system for developing a software program using compound templates |
US6446202B1 (en) * | 1999-10-04 | 2002-09-03 | Fisher-Rosemount Systems, Inc. | Process control configuration system for use with an AS-Interface device network |
US6449715B1 (en) * | 1999-10-04 | 2002-09-10 | Fisher-Rosemount Systems, Inc. | Process control configuration system for use with a profibus device network |
US7272458B2 (en) * | 2004-04-13 | 2007-09-18 | Omron Corporation | Control system setting device |
JP4885651B2 (ja) * | 2006-08-23 | 2012-02-29 | キヤノンソフトウェア株式会社 | 処理装置、処理装置における制御方法、プログラムおよび記録媒体 |
WO2008024507A1 (en) * | 2006-08-24 | 2008-02-28 | Siemens Energy & Automation, Inc. | Devices, systems, and methods for configuring a programmable logic controller |
KR20130033479A (ko) | 2011-08-22 | 2013-04-04 | 서용성 | 전자쿠폰 서비스 시스템 및 방법 |
JP5942446B2 (ja) * | 2012-02-01 | 2016-06-29 | オムロン株式会社 | サポート装置およびサポートプログラム |
JP5785130B2 (ja) * | 2012-04-19 | 2015-09-24 | 三菱電機株式会社 | プログラム生成装置 |
SG11201500820RA (en) * | 2012-10-25 | 2015-04-29 | Mitsubishi Electric Corp | System construction support tool and system |
DE112014007254T5 (de) * | 2014-12-15 | 2017-09-07 | Mitsubishi Electric Corporation | Unterstützungswerkzeug zur Informationssystemkonstruktion und Unterstützungsprogramm zur Informationssystemkonstruktion |
CN106224278B (zh) * | 2016-08-31 | 2018-09-11 | 沈阳鼓风机集团自动控制***工程有限公司 | 一种压缩机控制***自动生成方法及装置 |
-
2018
- 2018-10-04 JP JP2018189375A patent/JP2020057332A/ja active Pending
-
2019
- 2019-10-02 US US17/278,668 patent/US20220035331A1/en active Pending
- 2019-10-02 CN CN201980058244.6A patent/CN112654940A/zh active Pending
- 2019-10-02 KR KR1020217007425A patent/KR102553315B1/ko active IP Right Grant
- 2019-10-02 EP EP19868813.7A patent/EP3862826A4/en active Pending
- 2019-10-02 WO PCT/JP2019/038962 patent/WO2020071439A1/ja unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008129922A (ja) * | 2006-11-22 | 2008-06-05 | Asahi Glass Co Ltd | 制御プログラム生成方法及び制御プログラム生成装置 |
JP2009230606A (ja) | 2008-03-25 | 2009-10-08 | Hitachi Software Eng Co Ltd | ソースコードテンプレート生成装置 |
JP2012079246A (ja) * | 2010-10-06 | 2012-04-19 | Kanto Auto Works Ltd | プログラム作成方法及び作成装置 |
JP2013016021A (ja) * | 2011-07-04 | 2013-01-24 | Hitachi Ltd | ラダープログラム作成装置およびラダープログラム作成方法 |
JP2013033479A (ja) | 2011-07-29 | 2013-02-14 | Robert Bosch Gmbh | 機械を制御するプログラマブルロジックコントローラのためのアプリケーションプログラムコードを自動生成する方法 |
JP2017142767A (ja) * | 2016-02-09 | 2017-08-17 | 富士電機株式会社 | コントローラシステム、変数連携支援装置 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3862826A4 |
Also Published As
Publication number | Publication date |
---|---|
KR20210042971A (ko) | 2021-04-20 |
EP3862826A4 (en) | 2022-07-06 |
CN112654940A (zh) | 2021-04-13 |
EP3862826A1 (en) | 2021-08-11 |
US20220035331A1 (en) | 2022-02-03 |
KR102553315B1 (ko) | 2023-07-07 |
JP2020057332A (ja) | 2020-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5051466B2 (ja) | フィールド機器管理装置、フィールド機器管理システム、コンピュータプログラム、記録媒体 | |
US20110302511A1 (en) | Method for providing an operating menu for a field device of process automation technology | |
CN110050237A (zh) | 数据收集装置、数据收集方法及程序 | |
CN104750062A (zh) | 具有编辑器和图形对象移动可视化的工业自动化设备 | |
CN107003664B (zh) | 信息***构建辅助工具以及信息***构建辅助程序 | |
CN105700867B (zh) | 通过编译器借助动态可缩放矢量图形生成可执行应用程序的方法和编译器 | |
CN104395843B (zh) | 自动操作***及操作自动化方法 | |
CN107451664B (zh) | 装置维护设备、装置维护方法、装置维护程序和记录介质 | |
WO2020071439A1 (ja) | プログラム生成装置、プログラム生成装置の制御方法、制御プログラム、および記録媒体。 | |
JPWO2014167623A1 (ja) | プログラムグラフ表示装置、プログラムグラフ表示方法およびプログラムグラフ表示プログラム | |
JP7276581B2 (ja) | プログラム生成装置、プログラム生成装置の制御方法、制御プログラム、および記録媒体。 | |
WO2020071435A1 (ja) | 開発支援プログラム、開発支援装置、および開発支援方法 | |
JP6304433B2 (ja) | 情報処理装置、サーバ、その処理方法及びプログラム | |
WO2023044631A1 (en) | A device, system, method and storage medium for ai application deployment | |
US20210149938A1 (en) | Information processing device and setting device | |
US20180059649A1 (en) | Simulator linkage device, control method of simulator linkage device, information processing program and recording medium | |
CN113903481A (zh) | 基于人工智能和虚拟芯片的物联网应用处理方法及*** | |
TWI699694B (zh) | SCADA Web HMI 系統 | |
CN113407457B (zh) | 多数据类型参数化定义及程序引用处理方法和*** | |
US20230247115A1 (en) | Protocol driver creating device | |
JP2022158232A (ja) | アプリケーション作成支援装置、その制御方法、およびシステム | |
CN116028051A (zh) | 自动化语言程序的可视化开发方法、***、电子设备及存储介质 | |
WO2020071436A1 (ja) | 制御システム、制御方法、および制御プログラム | |
CN117193600A (zh) | 表单构建的方法、装置、介质、设备和程序产品 | |
JP2021144521A (ja) | サポート装置、サポートプログラムおよびサポート方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19868813 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 20217007425 Country of ref document: KR Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2019868813 Country of ref document: EP Effective date: 20210504 |