WO2020012995A1 - Système de développement et dispositif de support - Google Patents

Système de développement et dispositif de support Download PDF

Info

Publication number
WO2020012995A1
WO2020012995A1 PCT/JP2019/026017 JP2019026017W WO2020012995A1 WO 2020012995 A1 WO2020012995 A1 WO 2020012995A1 JP 2019026017 W JP2019026017 W JP 2019026017W WO 2020012995 A1 WO2020012995 A1 WO 2020012995A1
Authority
WO
WIPO (PCT)
Prior art keywords
control program
unit
control
program
plc
Prior art date
Application number
PCT/JP2019/026017
Other languages
English (en)
Japanese (ja)
Inventor
大輔 玉嶋
克重 大貫
茜 一村
明日香 杉山
Original Assignee
オムロン株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オムロン株式会社 filed Critical オムロン株式会社
Publication of WO2020012995A1 publication Critical patent/WO2020012995A1/fr

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts

Definitions

  • the present invention relates to a development system and a support device directed to a control device that controls a control target.
  • Control devices such as PLCs (Programmable Logic Controllers) are introduced in various manufacturing sites.
  • a control device is a kind of computer, and executes a control program designed according to a manufacturing device or a manufacturing facility.
  • Such a control program is created using a support device prepared separately from the control device.
  • the control program executed by the control device is updated relatively frequently, for example, when a defect is found in a manufacturing device or manufacturing equipment, or when a parameter for controlling the manufacturing device is changed.
  • a problem may occur due to the update of the control program, and there is a need at the manufacturing site to take an update history so that the state before the update can be returned.
  • Patent Document 1 discloses that a programmable display that transmits a control program sent from a program editor device to a PLC accumulates history data including the control program itself, access date and time, and the like. Discloses a technique of reading out a control program from accumulated history data and installing the control program in a PLC when an abnormality occurs.
  • control program executed in the control device is managed in the development environment (management of the change history of the control program) and the management in the use environment where the control device is actually used (management of the download history of the control program). ), And there is a problem that a burden is imposed on the user.
  • An object of the present invention is to solve the above-described problems, and to provide a development system and a support device capable of managing a change history of a control program and a download history in association with each other. .
  • a development system directed to a control device that controls a control target includes a creation unit that creates or edits a control program executed by the control device, a change history of the control program executed by the control device, and first identification information for identifying the control program at each change stage.
  • the management unit manages and uses the control program, the management unit manages the control program created or edited by the management unit, the first identification information attached to the control program, and the code executable by the control device based on the control program.
  • a transmission unit for transmitting to the control device.
  • control program sent to the control device can be associated with the control program managed by the management unit using the first identification information.
  • control program sent to the control device can be managed in association with the change history.
  • the development system further includes a storage unit that stores the first identification information transmitted to the control device in association with the second identification information for specifying the control device of the transmission destination.
  • control device that has received the control program and the change stage of the control program can be stored, which control device has been sent what kind of control program, The user can easily grasp. Further, when there is a defect in the control program, the control program sent to the control device before the defective control program can be identified from the change ID and the change history, so that rollback or the like can be specified. Work can be performed easily.
  • the development system further includes an arithmetic unit that calculates third identification information that is an identifier of the control program from the code transmitted to the control device or the control program that is the source of the code.
  • the storage unit stores the third identification information of the control program transmitted to the control device in association with the first identification information and the second identification information.
  • control program executed by the control device it is possible to determine whether or not the control program executed by the control device has been rewritten without referring to the change history of the control program.
  • the calculation unit calculates the third identification information from the control program executed in the control device.
  • the development system may further include a checking unit that checks whether the third identification information calculated by the calculation unit and the first identification information obtained from the control device are stored in association with each other in the storage unit.
  • the transmission unit has determined that the third identification information calculated from the control program executed in the control device and the first identification information obtained from the control device are stored in the storage unit in association with each other.
  • the first identification information attached to the control program created or edited by the creation unit and a code executable by the control device based on the control program created or edited by the creation unit are transmitted to the control device under the condition of.
  • a support device directed to a control device that controls a control target includes a creating unit that creates or edits a control program executed by the control device, a change history of the control program executed by the control device, and first identification information for identifying the control program at each change stage.
  • the management unit manages and uses the control program, the management unit manages the control program created or edited by the management unit, the first identification information attached to the control program, and the code executable by the control device based on the control program.
  • a transmission unit for transmitting to the control device.
  • control program sent to the control device can be associated with the control program managed by the management unit using the first identification information.
  • the control program sent to the control device can be associated with the control program managed by the management unit using the first identification information, and the change history of the control program and the transmission of the control program to the control device can be associated with each other. Can be managed. As a result, the management burden on the user can be reduced.
  • FIG. 2 is a schematic diagram illustrating a hardware configuration of a PLC according to the embodiment of the present invention.
  • FIG. 2 is a schematic diagram illustrating a hardware configuration of a support device according to the embodiment of the present invention.
  • FIG. 3 is a schematic diagram illustrating a hardware configuration of a management server according to the embodiment of the present invention.
  • FIG. 3 is a schematic diagram illustrating an example of a functional configuration of a management server.
  • FIG. 9 is a sequence diagram illustrating an example of a procedure for downloading an executable program to a PLC.
  • FIG. 3 is a schematic diagram illustrating an example of a functional configuration of a support device that functions when a control program is downloaded to a PLC.
  • 9 is a display example of a change history displayed on a monitor by a support device. It is a display example of all download histories. 9 is a display example of a download history of a control program in one change stage.
  • FIG. 1 is a diagram schematically showing an application scene of a control system 1a according to the present embodiment.
  • the control system 1a includes a creation unit 220a, a management unit 300a, and a transmission unit 280a.
  • the creation unit 220a creates or edits a control program executed in a PLC (programmable controller) 100 which is an example of a control device. Specifically, based on an input operation from the user, the creating unit 220a creates or edits a control program. The creation unit 220a can create a new control program or edit an existing control program.
  • a PLC programmable controller
  • the management unit 300a manages the change history of the control program created or edited by the creation unit 220a. Specifically, the management unit 300a manages using a change ID 324 for specifying a control program at each change stage.
  • the transmission unit 280a includes a change ID 324 assigned to the control program created or edited by the creation unit 220a by being managed by the management unit 300a, and an executable program 502 that is a code executable by the PLC 100 based on the control program. To the PLC 100.
  • the code that can be executed by the PLC 100 based on the control program is typically a program in an object format, but includes the source code when the PLC 100 has a function of converting the source code into the code in the object format.
  • the type of code differs depending on how the PLC 100 executes the control program.
  • the transmission unit 280a when transmitting the control program to the PLC 100, the transmission unit 280a also transmits the change ID 324, which is identification information used when the management unit 300a manages the control program. Therefore, the control program sent to the PLC 100 can be associated with the control program managed by the management unit 300a by the change ID 324, and the control program sent to the PLC 100 can be managed in association with the change history. . As a result, the management burden on the user can be reduced.
  • control system 1a has the functions shown in FIG. 1, the functions shown in FIG. 1 may be provided in the support device 200a directed to the PLC 100.
  • FIG. 2 is a schematic diagram illustrating a schematic configuration of the control system 1 according to the present embodiment.
  • the control system 1 is directed to a PLC 100 that controls a control target. More specifically, the control system 1 provides an environment for managing a change history of a control program executed by the PLC 100 to control a control target and a control program downloaded to each PLC 100.
  • the control system 1 includes a PLC 100, a support device 200 connected to the PLC 100, and a management server 300 for managing a version of a control program executed by the PLC 100.
  • the configuration of the control system 1 illustrated in FIG. 1 is an example, and a plurality of support devices 200 that can be connected to the management server 300 may be provided. Further, the support device 200 may have the function of the management server 300.
  • the PLC 100 is an example of a control device that controls a control target.
  • the PLC 100 typically includes a CPU unit 10 that is a main body that executes various programs including a control program, a power supply unit 12 that supplies power to the CPU unit 10 and the like, and an I / O (I / O) that exchanges signals from a field. Input / Output) unit 14.
  • the I / O unit 14 is connected to the CPU unit 10 via the system bus 11.
  • the support device 200 is a device directed to the PLC 100 that is a control device that controls a control target, and supports development of a control program.
  • the support device 200 and the PLC 100 are communicably connected to each other via the connection cable 20 or the like. Communication between the support device 200 and the PLC 100 may be realized by a field network that is various types of industrial Ethernet (registered trademark).
  • the support device 200 provides a function of providing an environment for developing various programs including a control program executed by the PLC 100, a function of setting a control program and various information for the PLC 100, and acquiring a state value of the running PLC 100. Including functions to do. Further, the support device 200 may have a debug function or a simulation function to assist the user in developing the control program.
  • the support device 200 is an example of the support device of the present invention.
  • the management server 300 manages a change history of the control program and a history of downloading the control program to the PLC 100 (download history).
  • the management server 300 manages the change history using a change ID (IDentifier) 324 for specifying a control program at each change stage. More specifically, the management server 300 stores the version information 322 managed by the change ID 324 for each change stage.
  • the version information 322 includes information on the control program at the change stage indicated by the change ID 324 and information indicating the status of the change stage. For example, when receiving the instruction to save the control program from the support device 200, the management server 300 stores the control program to be saved as the version information 322.
  • the management server 300 stores a history of downloading the control program to the PLC 100. More specifically, the management server 300 stores the download information 332 generated by the support device 200 every time the control program is downloaded to the PLC 100.
  • the management server 300 is an example of a management unit according to the present invention. Although the management server 300 has a storage area for storing the change history of the control program and the download history, this storage area may be provided in another device that can communicate with the management server 300. Further, the change history and the download history may be stored in different storage devices.
  • the management server 300 and the support device 200 are communicably connected to each other via the local network 22 or the like.
  • the management server 300 is formed separately from the support device 200.
  • the function of the management server 300 may be provided in one support device 200.
  • the management server 300 may be communicably connected to the support device 200 via an external network such as the Internet.
  • FIG. 3 is a schematic diagram illustrating a hardware configuration of the PLC 100 according to the embodiment of the present invention.
  • the PL 100 includes a processor 102 such as a CPU (Central Processing Unit) or an MPU (Micro-Processing Unit), a chipset 104, a main memory 106, a non-volatile memory 110, an internal bus controller 122, and a field bus controller 124. , A USB (Universal Serial Bus) connector 126 and a memory card interface 128.
  • the processor 102 and the chipset 104 are typically configured according to a general-purpose computer architecture. That is, the processor 102 interprets and executes the instruction codes sequentially supplied from the chipset 104 according to the internal clock.
  • the chipset 104 exchanges internal data with various connected components and generates instruction codes required for the processor 102. Further, the chipset 104 has a function of caching data and the like obtained as a result of execution of arithmetic processing by the processor 102.
  • the main memory 106 is a volatile storage area, and stores various programs to be executed by the processor 102 after the power to the PLC 100 is turned on.
  • the main memory 106 is also used as a working memory when the processor 102 executes various programs.
  • a main memory 106 a device such as a DRAM (Dynamic Random Access Memory) or an SRAM (Static Random Access Memory) is used.
  • the non-volatile memory 110 includes a system program 112 which is a software group for providing a function as the PLC 100, and an object program format which can be executed by the processor 102 of the PLC 100 among user programs created according to the control purpose of the user. , And the data such as various parameters are stored in a nonvolatile manner. These programs and data are copied to the main memory 106 so that the processor 102 can access them as needed.
  • a nonvolatile memory 110 a device such as a flash memory as a semiconductor memory, a magnetic recording medium such as a hard disk drive, or an optical recording medium such as a DVD-RAM (Digital Versatile Disk Random Access Memory) is used. .
  • control program is a concept including a system program 112 for providing basic functions of the PLC and a user program arbitrarily designed according to a control target. That is, the system program 112 and the executable program 502 are examples of a control program. However, the control program may include only a program arbitrarily designed according to a control target.
  • the internal bus controller 122 is an interface for exchanging data with various devices connected to the PLC 100 through the internal bus.
  • An example of such a device is the I / O unit 14.
  • the fieldbus controller 124 is an interface for exchanging data with various driving devices connected to the PLC 100 via a fieldbus.
  • driving devices include, for example, a servo driver, a robot controller, and a visual sensor.
  • the internal bus controller 122 and the fieldbus controller 124 can give any command to the connected device, and can obtain any data (including measured values) managed by the device. . Further, the internal bus controller 122 and / or the field bus controller 124 also function as an interface for exchanging data with a driving device.
  • the USB connector 126 is a communication interface for connecting the support device 200 and the PLC 100. Typically, the executable program 502 and the like transferred from the support device 200 are taken into the PLC 100 via the USB connector 126 and stored in the nonvolatile memory 110.
  • the memory card interface 128 is configured so that a memory card 130 (for example, an SD card), which is an example of an external storage medium, is detachable, and writes data to the memory card 130 and reads data from the memory card 130.
  • a memory card 130 for example, an SD card
  • the executable program 502 may be downloaded to the PLC 100 via the memory card 130.
  • FIG. 4 is a schematic diagram illustrating a hardware configuration of the support device 200 according to the embodiment of the present invention.
  • the support device 200 is typically configured by a general-purpose computer.
  • the support device 200 is preferably a notebook personal computer with excellent portability from the viewpoint of maintainability.
  • the support device 200 includes a processor 201, a main memory 202, a nonvolatile memory 210, a USB connector 204, a keyboard 205, a mouse 206, a monitor 207, and a CD-ROM (Compact Disk-Read Only Memory) drive 208. And a network interface 209. These components are connected to each other via an internal bus 203 so as to be able to perform data communication.
  • the processor 201 executes various programs stored in the nonvolatile memory 210.
  • the main memory 202 provides a work area for storing data necessary for the processor 201 to execute a program.
  • the non-volatile memory 210 includes, for example, a hard disk drive or an SSD (Flash Solid State Drive) and stores a program executed by the processor 201.
  • the nonvolatile memory 210 stores a PLC support program 212 including an editor program 213, a compiler program 214, a debugger program 215, a communication program 216, and a management program 217.
  • Each program is typically distributed while being stored on the CD-ROM 9, read by the CD-ROM drive 208, and stored in the nonvolatile memory 210.
  • each program included in the PLC support program 212 may be configured to be downloaded from a host computer or the like via a network.
  • the editor program 213 provides functions such as input and editing for creating a source program 504 as a user program.
  • the compiler program 214 provides a function of compiling the source program 504 and generating an executable program 502 in the form of an object program executable by the processor 102 of the PLC 100.
  • the debugger program 215 provides a function for debugging the source program 504.
  • the communication program 216 provides functions related to communication with the PLC 100 and communication with the management server 300. Further, the communication program 216 provides a function for downloading the user program to the PLC 100.
  • the management program 217 provides various functions executed by the support device 200 to store the change history and the download history in the management server 300. For example, a function of generating the download information 332, a function of determining a user program to be downloaded to the PLC 100, and a function of displaying a change history and a download history of the control program on the monitor 207 are provided.
  • the USB connector 204 is a communication interface for connecting the support device 200 and the PLC 100. Typically, the executable program 502 and the like transferred from the support device 200 are taken into the PLC 100 via the USB connector 204.
  • the keyboard 205 and the mouse 206 function as an input unit for receiving a user operation.
  • the monitor 207 functions as a display unit for presenting information to a user, and is an example of the display unit of the present invention.
  • FIG. 5 is a schematic diagram illustrating a hardware configuration of the management server 300 according to the embodiment of the present invention.
  • the management server 300 includes a processor 301, a main memory 302, a nonvolatile memory 310, and a network interface 304. These components are connected to each other via an internal bus 305 or the like so that data communication is possible.
  • the processor 301 executes the management program 306 stored in the non-volatile memory 310 to execute various processes for managing the change history and download history of the control program sent from the support device 200 via the network interface 304. I do.
  • the main memory 302 provides a work area for storing data necessary for the processor 301 to execute a program.
  • the nonvolatile memory 310 includes, for example, a hard disk drive or an SSD (Flash Solid State Drive), and stores a management program 306 executed by the processor 301, version information 322, and download information 332.
  • Various programs such as the management program 306 executed by the management server 300 are stored in the nonvolatile memory 310 from the support device 200 via the network interface 304.
  • various programs such as the management program 306 may be stored in the nonvolatile memory 310 in advance.
  • such various programs may be provided as downloadable program products by an information provider connected to the so-called Internet.
  • such various programs may be stored in other storage media and distributed as program products.
  • Such various programs are stored in the nonvolatile memory 310 after being read from the storage medium by the reading device or downloaded through the network interface 304 or the like.
  • FIG. 6 is a schematic diagram illustrating an example of a functional configuration of the management server 300.
  • the management server 300 includes a change history storage unit 320, a download history storage unit 330, a save processing unit 340, an output target determination unit 350, and an output unit 360. Both the change history storage unit 320 and the download history storage unit 330 are realized by the nonvolatile memory 310.
  • the storage processing unit 340, the output target determination unit 350, and the output unit 360 are realized by the processor 301 executing the management program 306.
  • the change history storage unit 320 is a storage area for storing a change history of the control program.
  • the change history storage unit 320 stores a control program for each change stage.
  • version information 322 is stored in the change history storage unit 320 for each change stage.
  • the version information 322 includes a change ID 324, program information 326, and history information 328.
  • the change ID 324 is an identifier for identifying which change stage the control program is.
  • the program information 326 is information to be developed into a control program in a change stage indicated by the change ID 324.
  • the history information 328 is information including the date and time of the change, the user who made the change, a comment that can be arbitrarily input, and the like, and is information that indicates the situation when the control program in the change stage indicated by the change ID 324 was generated.
  • the program information 326 may be any information that can be developed into the control program in the change stage indicated by the change ID 324, and may be, for example, difference information between the control program before the change and the control program after the change. .
  • the download history storage unit 330 is a storage area for storing a history of downloading the control program to the PLC, and is an example of the storage unit of the present invention.
  • the download history storage unit 330 stores download information 332 when the support device 200 and the management server 300 are communicably connected.
  • the download information 332 includes a change ID 324 assigned to the downloaded control program, a device ID 334 for specifying the download destination PLC 100, and a program ID 336.
  • the device ID 334 is data transmitted from the PLC 100 via the support device 200, and is, for example, a serial number assigned to each of the individual PLCs 100 in advance.
  • the program ID 336 is data uniquely obtained from the downloaded control program, and is data generated by the support device 200.
  • the download information 332 is information generated by the support device 200 when the control program is transmitted from the support device 200 to the PLC 100, sent from the support device 200, and stored in the download history storage unit 330.
  • the storage processing unit 340 includes a storage destination determining unit 342, a version information generating unit 344, and an ID assigning unit 346.
  • the storage destination determination unit 342 determines which of the change history storage unit 320 and the download history storage unit 330 the information sent from the support device 200 is to be stored. For example, when the source program 504 is sent from the support device 200, the storage destination determination unit 342 determines the storage destination in the change history storage unit 320. On the other hand, when the download information 332 generated by the support device 200 is transmitted from the support device 200, the storage destination determination unit 342 determines the storage destination in the download history storage unit 330, and stores the download information 332 in the download history storage unit 330. Store.
  • the version information generation unit 344 When the source program 504 is sent from the support device 200, the version information generation unit 344 generates version information 322 from the sent source program 504. Specifically, program information 326 and history information 328 are generated from the source program 504.
  • the ID assigning unit 346 assigns the change ID 324 to the version information 322 generated by the version information generating unit 344, and stores the version information 322 assigned the change ID 324 in the change history storage unit 320. More specifically, the change ID 324 is data arbitrarily calculated from the program information 326 and the history information 328 of each change stage, and includes, for example, an identifier indicating the source program before the change and the history information 328. Uniquely calculated.
  • the output target determination unit 350 determines an output target according to the instruction content, and causes the output unit 360 to output the determined output target to the support device 200. For example, when an acquisition instruction is received from the support device 200 for the purpose of displaying the change history of the control program on the monitor 207, information indicating a change process is generated from the change history storage unit 320 and the download history storage unit 330. , And output it to the output unit 360.
  • the latest change stage is specified based on the change ID 324, and the version information 322 of the specified change stage is output from the output unit 360.
  • the download information 332 including the device ID 334 that matches the device ID 334 indicating the specific PLC 100 from the download history storage unit 330. Is specified, a download history is generated based on the download information 332, and the output history is output to the output unit 360.
  • FIG. 7 is a sequence diagram showing an example of a procedure for downloading the executable program 502 to the PLC 100.
  • the user edits the control program managed by the management server 300 on the support device 200 and downloads the edited control program to the PLC 100.
  • support device 200 transmits a request for acquiring a change history to management server 300 (sequence SQ4).
  • the support device 200 may request the download history in addition to the change history.
  • Management server 300 extracts the change history from change history storage section 320 and sends it to support device 200 (sequence SQ6).
  • the support device 200 forms display contents based on the change history and displays the change history on the monitor 207 (step S22).
  • FIG. 8 is a diagram illustrating a display example of a change history. For example, as shown in FIG. 8, the support device 200 displays a history 400 of one control program based on the information stored in the change history storage unit 320, and the development process proceeds in any change process. Notify the user visually of whether the
  • the user selects which of the change stages to edit the control program (sequence SQ8). For example, the user operates the mouse 206 to select one of a plurality of change stages displayed on the monitor 207. In the example shown in FIG. 8, it is assumed that the control program at the stage where “E” is displayed is selected. In this case, the first icon 410 indicating the control program to be edited may be attached to the selected control program and displayed.
  • the support device 200 transmits a request for acquiring the control program of the selected change stage (sequence SQ10).
  • the management server 300 reproduces the source program 504 at the change stage from the version information 322 indicating the change stage selected from the change history storage unit 320 (step S32).
  • the management server 300 sends the generated source program 504 and the change ID 324 included in the version information 322 indicating the change stage to the support device 200 (sequence SQ12).
  • the support device 200 requests connection to the PLC 100 in order to confirm communication with the PLC 100 (sequence SQ18). PLC 100 returns a result of the connection status to support device 200 (sequence SQ20). When there is no response from the PLC 100, the support device 200 displays the fact on the monitor 207 and notifies the user.
  • the support device 200 After confirming the connection with the PLC 100, the support device 200 confirms whether another change has been made to the control program. Specifically, it is determined from the change history managed by the management server 300 whether or not a change has been made to the control program before editing from another support device or the like. For example, support device 200 sends change ID 324 sent from management server 300 in sequence SQ12 to management server 300 (sequence SQ22). That is, the support device 200 sends the change ID indicating the change stage of the source program 504 before the change to the management server 300. The management server 300 specifies which of the change stages the change stage specified by the sent change ID is (Step S34).
  • the management server 300 sends the specified result to the support device 200 (sequence SQ24).
  • the support device 200 determines whether or not a change has been made to the source program 504 before editing based on the sent specific result (step S23).
  • the support device 200 determines that a change has been made (YES in step S23), the support device 200 reflects the change made in the edited source program 504 performed in sequence SQ14 (step S24), and reflects the reflected source program. 504 is determined as a download target (step S25).
  • the support device 200 may notify the user when it is necessary to change the edited portion made in the sequence SQ14 when the change is reflected. Further, the support device 200 may notify that a change has been made, and allow the user to select whether or not to reflect the change.
  • the management server 300 determines that no change has been made (NO in step S23)
  • the management server 300 determines the edited source program performed in sequence SQ14 as a download target (step S26).
  • the support device 200 compiles the source program 504 to be downloaded to obtain the executable program 502 (sequence SQ26).
  • the support device 200 requests the PLC 100 for an exclusive right (sequence SQ28).
  • the exclusive right is a right to prevent two or more executable programs from being downloaded to one PLC 100 at the same time, and one exclusive right is provided for each PLC 100.
  • the support device 200 holds the exclusive right until the download of the executable program is completed, and returns the exclusive right to the PLC 100 when the download is completed.
  • $ PLC 100 sends the exclusive right to support device 200 (sequence SQ30).
  • the download may be canceled, or the process may wait until the exclusive right is returned.
  • the support device 200 checks the internal data of the PLC 100 to determine whether the control program executed by the PLC 100 can be rewritten to the executable program 502 to be downloaded (sequence SQ32). The method of checking the internal data will be described later.
  • PLC 100 receives the confirmation of the internal data and sends data (internal data) provided in PLC 100 to support device 200 (sequence SQ34).
  • the internal data includes the device ID 334 of the PLC 100.
  • the support device 200 sends the source program 504 to the management server 300 so that the source program 504 determined to be downloaded is to be managed by the management server 300 (sequence SQ36).
  • the management server 300 generates version information 322 from the sent source program 504, assigns a change ID 324, and executes a save process for storing the version information 322 in the change history storage unit 320 (step S36). Thereafter, the management server 300 sends the change ID 324 assigned to the source program 504 to be downloaded by the saving process to the support device 200 (sequence SQ38).
  • the support device 200 calculates the program ID 336 from the source program 504 to be downloaded determined in step S25 or S26 (step S27).
  • the program ID 336 is control program identification information calculated from the source program 504 using a hash function. Note that the program ID 336 may have a configuration that can be calculated from the executable program 502 using a hash function.
  • the support device 200 downloads the executable program 502 obtained in the sequence SQ26, the change ID 324 obtained in the sequence SQ38, and the program ID 336 obtained in the step S27 to the PLC 100 (sequence SQ40).
  • $ PLC 100 sends the download result to support device 200 (sequence SQ42).
  • Support apparatus 200 generates download information (step S28), and sends generated download information 332 to management server 300 (sequence SQ44).
  • the management server 300 stores the downloaded download information 332 in the download history storage unit 330 (Step S38). Further, support device 200 returns the exclusive right to PLC 100 (sequence SQ46), and the process related to the download is completed.
  • the PLC 100 executes the executable program 502, the change ID 324 assigned to the control program of the executable program 502 by the management server 300,
  • the program ID 336 of the downloaded executable program 502 is stored.
  • download information 332 is stored as a history of download of the executable program 502 to the PLC 100.
  • the download information 332 includes a change ID 324, a program ID 336, and a device ID 334. That is, by comparing the download information 332 and the version information 322, it is possible to specify which control stage of which control program has been downloaded to which PLC 100 based on the download information 332.
  • the version information 322 is compared with the information downloaded to the PLC 100, so that the control program downloaded to the PLC 100 is It can be easily specified whether or not the control program is in the change stage.
  • FIG. 9 is a schematic diagram illustrating an example of a functional configuration of the support device 200 that functions when the control program is downloaded to the PLC 100.
  • the support device 200 includes a creating unit 220, a download target determining unit 230, a compiling unit 240, a program ID generating unit 250, a program managing unit 260, a checking unit 270, and a downloading unit 280.
  • Each of these functional configurations is realized by the processor 201 executing the PLC support program 212.
  • the creation unit 220 creates or edits the source program 504 according to a user operation.
  • the source program 504 created or edited by the creating unit 220 is temporarily stored in, for example, the nonvolatile memory 210.
  • the creating unit 220 is an example of the creating unit according to the present invention.
  • the download target determination unit 230 determines a control program to be downloaded to the PLC 100. Specifically, the sequence SQ22 shown in FIG. 7 and the processes of steps S23 to S26 are executed to determine a download target. In other words, from the version information 322 stored in the change history storage unit 320 of the management server 300, it is specified which stage the edited source program 504 stored in the non-volatile memory 210 is in, and Determine the control program to be downloaded. When the change is reflected in the edited source program 504 (step S24), the download target determining unit 230 reflects the change in the source program 504 stored in the nonvolatile memory 210.
  • the compiling unit 240 generates an executable program from the source program 504 to be downloaded.
  • the program ID generator 250 generates a program ID 336 from the source program 504. Specifically, the program ID generation unit 250 calculates the program ID 336 by using a hash function, and is an example of a calculation unit according to the present invention.
  • the program management unit 260 sends the source program 504 to be downloaded to the management server 300 and receives the change ID 324 from the management server 300.
  • the confirmation unit 270 is an example of a confirmation unit according to the present invention that confirms whether a download history of a control program executed in the PLC 100 is stored in the download history storage unit 330 of the management server 300. Specifically, the confirmation unit 270 acquires the program ID 336 and the change ID 324 downloaded to the PLC 100 and the device ID 334 that is the identifier of the PLC 100 from the PLC 100. The confirmation unit 270 determines whether the download information 332 including the set of the acquired device ID 334, change ID 324, and program ID 336 is stored in the download history storage unit 330. If it is not stored, it means that the history of the control program downloaded to the PLC 100 is not stored in the download history storage unit 330. On the other hand, when stored, it means that the download history and the change history of the control program downloaded to the PLC 100 are managed by the management server 300.
  • the confirmation unit 270 confirms whether the download history of the control program executed in the PLC 100 is stored in the download history storage unit 330 of the management server 300 based on receiving the download instruction.
  • the confirmation result is sent to download section 280.
  • the confirmation unit 270 may confirm the presence or absence of the download history of the control program executed in the PLC 100 by starting the communication with the PLC 100.
  • the download unit 280 determines whether or not to continue the download based on the confirmation result sent from the confirmation unit 270. Specifically, when there is no download history of the control program being executed in PLC 100, download section 280 stops continuation of the download. On the other hand, if there is a download history of the control program executed in the PLC 100, the continuation of the download is determined.
  • the download unit 280 includes an exclusive right control unit 282 that performs control regarding an exclusive right, an execution unit 284 that executes download, and a download information generation unit 286 that generates download information.
  • the download unit 280 is an example of the transmission unit of the present invention.
  • the exclusive right control unit 282 requests the PLC 100 for the exclusive right when the download unit 280 determines to continue the download based on the confirmation result of the confirmation unit 270.
  • the exclusive right control unit 282 holds the exclusive right until the download of the executable program 502 is completed, and returns the exclusive right to the PLC 100 when the download is completed.
  • the request for the exclusive right is rejected.
  • the execution unit 284 sends the executable program 502, the device ID 334, and the change ID 324 to the PLC 100 in response to the exclusive right control unit 282 acquiring the exclusive right.
  • the download information generation unit 286 receives download results from the PLC 100 and generates download information 332. At this time, the download information generation unit 286 may enable input of a comment.
  • the control program downloaded to the PLC 100 can be managed by the management server 300.
  • the download history and the change ID 324 and the program ID 336 sent to the PLC 100 will be described.
  • the support device 200 acquires the change ID 324, the executable program 502, and the program ID 336 included in the PLC 100.
  • the acquired executable program 502 is converted into a source program 504, and the program ID generation unit 250 recalculates the program ID 336.
  • the confirmation unit 270 of the support device 200 confirms whether the program ID 336 obtained by the recalculation matches the program ID 336 obtained from the PLC 100, and notifies the user by displaying the confirmation result on the monitor 207. You may.
  • the fact that the program ID 336 recalculated from the executable program 502 obtained from the PLC 100 does not match the program ID 336 obtained from the PLC 100 means that the executable program 502 included in the PLC 100 is rewritten from the time when it was downloaded together with the program ID 336. Therefore, there is a possibility that the control program is not managed by the management server 300.
  • the support device 200 stores the download information 332 including the combination of the program ID 336 recalculated from the executable program 502 downloaded to the PLC 100 and the change ID 324 and the device ID 334 obtained from the PLC 100 in the download history storage unit. It is confirmed whether or not it is stored in 330.
  • the support device 200 determines that the control program downloaded to the PLC 100 is managed by the management server 300.
  • the support program is downloaded to the PLC 100. It is determined that the control program is not managed by the management server 300.
  • FIG. 10 is a display example of a change history displayed on the monitor 207 by the support device 200.
  • FIG. 11 is a display example of the entire download history.
  • FIG. 12 is a display example of the download history of the control program in one change stage.
  • the support device 200 displays the change history of the control program on the monitor 207 as the history display 400 based on the version information 322 stored in the change history storage unit 320.
  • the first icon 410 is displayed so as to be attached to the E icon 450. Thereafter, when the editing is completed and managed by the management server 300, the F icon 420 is displayed.
  • the change icon indicates which control program is being executed by the PLC 100 by attaching the second icon 432.
  • the second icon 432 is added to the icon indicating the control program being executed by the PLC 100.
  • the POC 100 executes the control program in the change stage indicated by the E icon 450.
  • the support device 200 displays a history display 442 indicating all download histories on the monitor 207 as shown in FIG.
  • the delete button 444 When one download history is selected and the delete button 444 is operated, the selected download history (download information 332) is deleted.
  • the edit button 446 When one download history is selected and the edit button 446 is operated, the comment field of the selected download history can be edited.
  • the support device 200 displays the download history of the control program in the selected one change stage. For example, when the E icon 450 is selected, as shown in FIG. 12, the support device 200 displays on the monitor 207 a history display 452 showing the history of downloading the control program in the change stage indicated by the E icon 450. .
  • the support device 200 requests the management server 300 for download information 332 including the change ID 324 of the selected one change stage.
  • the management server 300 extracts the download information 332 including the change ID 324 of the selected one change stage from the download history storage unit 330 and sends it to the support device 200.
  • the support device 200 displays the history of downloading the control program of the selected change stage on the monitor 207 as the history display 442.
  • the functions of the delete button 454 and the edit button 456 are the same as the functions of the delete button 444 and the edit button 446, and will not be described.
  • the user can select a control program in one change stage from the change history shown in FIG. 10 and download the selected control program to the PLC 100.
  • the F icon 420 is newly added to the change history.
  • the user can send to the PLC 100 the edited control program performed on the control program in the change stage indicated by the E icon 450.
  • a new download history 448 indicated by a broken line is added.
  • the user can easily update or roll back the control program. It can be carried out.
  • the operation of the PLC 100 it can be easily dealt with, and even if the operation of the PLC 100 is stopped due to an abnormality, the operation can be promptly restored.
  • the source program 504 created by the creating unit 220 is sent to the management server 300 in response to a download instruction from the user, and is given the change ID 324. Then, the change ID 324 and the executable program 502 are sent to the PLC 100. That is, since the change ID 324 managed by the management server 300 is sent to the PLC 100, the executable program 502 sent to the PLC 100 can be associated with the control program managed by the management server 300 by the change ID 324. .
  • the management server 300 also includes a download history storage unit 330 that stores the change ID 324 transmitted to the PLC 100 and the device ID 334 for specifying the destination PLC 100 in association with each other. That is, since the relationship between the PLC 100 that has downloaded the control program and the change stage of the control program is stored, it is possible for the user to easily understand which control program has been sent to which PLC 100. it can. In addition, when there is a defect in the control program being executed by the PLC 100, the control program downloaded before can be easily specified, and operations such as rollback can be easily performed.
  • the support device 200 transmits the control program to the PLC 100
  • the program ID 336 of the control program transmitted to the PLC 100 the change ID 324 attached to the transmitted control program, and the device ID 334 of the destination PLC 100 are transmitted. It is stored in the download history storage unit 330. Therefore, when the control program executed by the PLC 100 is rewritten in a state where the control program is not connected to the management server 300 via the support device 200, if the program ID 336 is recalculated from the control program executed in the PLC 100, By referring to the download history storage section 330, it can be determined whether or not the control program has been rewritten.
  • the support device 200 includes a confirmation unit 270, and the confirmation unit 270 searches the download information 332 including the program ID 336 obtained from the control program executed in the PLC 100 and the change ID 324 of the control program acquired from the PLC 100. Then, it is determined whether or not there is the matching download information 332. Therefore, the user can determine whether or not the control program executed in the PLC 100 has been rewritten without having to search the download history storage unit 330 by himself / herself.
  • the execution unit 284 sends the control program to be downloaded to the PLC 100 on condition that the download history of the control program executed by the confirmation unit 270 in the PLC 100 is stored in the download history storage unit 330. For this reason, it is possible to prevent the control program from being rewritten and forgetting to leave the download history of the rewritten control program.
  • the management server 300 has been described as being formed separately from the support device 200, and the function of the management server 300 is not provided in the support device 200.
  • the support device 200 may have the function of the management server 300.
  • the support device 200 since the support device 200 has the function of the management server 300, even if the communication between the management server 300 and the support device 200 is disconnected, the download history and the change history can be left. In this case, when communication with the management server 300 is restarted, the support device 200 may upload the download history and the change history accumulated during the disconnection to the management server 300.
  • ⁇ Configuration 2> The configuration according to configuration 1, further comprising a storage unit (330) that stores the first identification information transmitted to the control device in association with second identification information (334) for specifying the transmission destination control device. Development system.
  • ⁇ Configuration 3> An arithmetic unit (250) that calculates third identification information (336) that is an identifier of the control program from the code transmitted to the control device or the control program that is the source of the code; The development system according to Configuration 2, wherein the storage unit stores the third identification information of the control program transmitted to the control device in association with the first identification information and the second identification information.
  • the arithmetic unit calculates third identification information from a control program executed in the control device, Configuration 3 further comprising: a confirmation unit (270) for confirming whether or not the third identification information calculated by the calculation unit and the first identification information obtained from the control device are stored in the storage unit in association with each other. Development system as described in.
  • the transmitting unit stores the third identification information calculated from the control program executed by the control device in the control unit and the first identification information obtained from the control device in the storage unit in association with each other. On the condition that it is determined, the first identification information attached to the control program created or edited by the creation unit, and a code executable by a control device based on the control program created or edited by the creation unit, 5.
  • the development system according to configuration 4, wherein the development system transmits to the control device.
  • a support device (200, 200a) directed to a control device that controls a control target, A creation unit (220, 220a) for creating or editing a control program executed by the control device; A management unit (300a) that manages a change history of a control program executed by the control device using first identification information for specifying a control program in each change stage; When the control unit manages the control program created or edited by the creation unit, the first identification information attached to the control program and a code executable by the control device based on the control program are transmitted to the control device.
  • a support device comprising: a transmission unit (280, 280a) for transmitting.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Stored Programmes (AREA)

Abstract

La présente invention concerne un système de développement et un dispositif de support avec lesquels il est possible de gérer un historique de modification et un historique de téléchargement d'un programme de commande en association l'un avec l'autre. Un système de commande comprend une unité de création, une unité de gestion et une unité de transmission. Lors de la transmission d'un programme de commande à un API, l'unité de transmission envoie en outre une ID de modification utilisée lorsque l'unité de gestion gère le programme de commande.
PCT/JP2019/026017 2018-07-11 2019-07-01 Système de développement et dispositif de support WO2020012995A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018131430A JP7151227B2 (ja) 2018-07-11 2018-07-11 開発システム、およびサポート装置
JP2018-131430 2018-07-11

Publications (1)

Publication Number Publication Date
WO2020012995A1 true WO2020012995A1 (fr) 2020-01-16

Family

ID=69142411

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/026017 WO2020012995A1 (fr) 2018-07-11 2019-07-01 Système de développement et dispositif de support

Country Status (2)

Country Link
JP (1) JP7151227B2 (fr)
WO (1) WO2020012995A1 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015005224A (ja) * 2013-06-21 2015-01-08 富士電機株式会社 プログラマブルコントローラシステム、その支援装置、プログラマブルコントローラ、プログラム
JP2016206910A (ja) * 2015-04-21 2016-12-08 株式会社安川電機 ラダープログラム作成装置、コンピュータープログラム及びラダープログラム作成方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016001376A (ja) 2014-06-11 2016-01-07 富士電機株式会社 プログラマブルコントローラシステム、その支援装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015005224A (ja) * 2013-06-21 2015-01-08 富士電機株式会社 プログラマブルコントローラシステム、その支援装置、プログラマブルコントローラ、プログラム
JP2016206910A (ja) * 2015-04-21 2016-12-08 株式会社安川電機 ラダープログラム作成装置、コンピュータープログラム及びラダープログラム作成方法

Also Published As

Publication number Publication date
JP2020009297A (ja) 2020-01-16
JP7151227B2 (ja) 2022-10-12

Similar Documents

Publication Publication Date Title
JP5039428B2 (ja) プログラマブルコントローラ及びplcシステム
JP4865634B2 (ja) プログラム編集支援装置、コンピュータプログラム、プログラム編集支援方法及びplcシステム
US10705500B2 (en) Support device, method, and recording medium for simplifying control program changing operation
WO2015136970A1 (fr) Appareil de commande et système de commande
JP2017142794A (ja) プログラマブルコントローラシステム、そのコントローラ、支援装置、hci装置、二重化コントローラシステム
CN102473103B (zh) 控制运行的应用程序以便进行实时场景图编辑
JP7067273B2 (ja) サポート装置、制御システム、および開発支援プログラム
JP6442131B2 (ja) 制御システムおよび制御装置
WO2020012995A1 (fr) Système de développement et dispositif de support
WO2020246097A1 (fr) Dispositif de prise en charge et programme de prise en charge
JP6541902B1 (ja) プログラム管理システム、プログラミング支援装置、プログラム管理方法、およびプログラミング支援プログラム
JP6135247B2 (ja) 情報処理装置および情報処理プログラム
JP6520241B2 (ja) 制御システム、その管理サーバ装置、支援装置
JP5314959B2 (ja) 情報処理装置、及びその制御方法、コンピュータプログラム、記憶媒体
JP2016224559A (ja) プログラム作成支援装置、制御方法およびプログラム
JP2010152680A (ja) 情報処理装置、ドキュメント作成システム、プログラム、およびドキュメント
JP4390079B2 (ja) 制御システム
JP2006302066A (ja) リモート実行機能を備えたメンテナンスシステムおよびその方法
JP6680313B2 (ja) 制御装置および通信制御方法
JP2010128908A (ja) 情報処理装置及びその制御方法、並びに、プログラム
JP2009098963A (ja) モジュール自動生成システム
JP2009157534A (ja) プログラム作成支援システム、そのプログラマブルコントローラ支援装置、プログラマブル表示器支援装置
JP7234810B2 (ja) サポート装置およびサポートプログラム
WO2020026738A1 (fr) Dispositif de soutien et programme de soutien
JP2002189506A (ja) Pcサポート装置

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: 19835111

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19835111

Country of ref document: EP

Kind code of ref document: A1