WO2015136970A1 - 制御装置及び制御システム - Google Patents

制御装置及び制御システム Download PDF

Info

Publication number
WO2015136970A1
WO2015136970A1 PCT/JP2015/050943 JP2015050943W WO2015136970A1 WO 2015136970 A1 WO2015136970 A1 WO 2015136970A1 JP 2015050943 W JP2015050943 W JP 2015050943W WO 2015136970 A1 WO2015136970 A1 WO 2015136970A1
Authority
WO
WIPO (PCT)
Prior art keywords
user program
change
data container
history
unit
Prior art date
Application number
PCT/JP2015/050943
Other languages
English (en)
French (fr)
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 オムロン株式会社
Priority to US15/123,026 priority Critical patent/US10162328B2/en
Priority to CN201580011271.XA priority patent/CN106104397B/zh
Priority to JP2016507378A priority patent/JP6508192B2/ja
Priority to EP15760670.8A priority patent/EP3101494B1/en
Publication of WO2015136970A1 publication Critical patent/WO2015136970A1/ja

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
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13004Programming the plc

Definitions

  • the present invention relates to a control device that controls a device to be controlled by repeatedly executing a user program at a predetermined cycle, and a control system using the control device.
  • Patent Document 1 discloses a PLC having an online editing function for rewriting an object code stored in a PLC with an object code portion obtained by converting a part of a source program by a compiler.
  • the source program whose contents are changed is stored only in the program development support apparatus that has changed the contents of the source program by performing the online editing function. It was.
  • the source program whose contents are changed is stored only in the program development support device that has executed the online editing function as described above. When this is done, it is not shared by all users what content of the user program currently being executed in the PLC is the user program at the stage of change (change stage). As a result, the development efficiency of user programs by a plurality of users decreases.
  • An object of the present invention is to enable a control device and a control system to share which user program currently being executed is a user program at which a change stage, and control target devices associated with changes in the contents of the user program.
  • the purpose is to reduce downtime.
  • a control device includes a task execution unit, a first storage unit, a first change management unit, and a first user program generation unit.
  • the task execution unit repeatedly executes a task including a user program for controlling the control target device at a predetermined cycle.
  • a data container is stored in the first storage unit.
  • the data container includes a user program generation resource.
  • the user program generation resource is a resource used to generate a user program.
  • the first change management unit stores the data container change history in the first update history when the contents of the data container stored in the first storage unit are changed. At the same time, the first change management unit stores a new data container generated using the change history at a predetermined timing in the first storage unit.
  • the first user program generation unit generates a user program using a new user program generation resource included in a new data container stored in the first storage unit at a predetermined timing.
  • the first change management unit when the contents of the data container stored in the first storage unit are changed, stores the data container change history in the first update history. In addition, the first change management unit generates a new data container using the above change history at a predetermined timing, and stores the generated new data container in the first storage unit. Thereafter, the first user program generation unit uses the new user program generation resource included in the new data container stored in the first storage unit at the predetermined timing to generate a new user program. Generate.
  • a new data container including a new user program generation resource used when generating a new user program is stored in the first storage unit. Further, the change history for the data container is stored in the first update history.
  • control device it is possible to share information on which user program currently being executed is generated by the user program generation resource included in the data container generated at which change stage (change history). That is, it is possible to share information about which change stage the user program currently being executed is.
  • the user program generator generates a user program at a predetermined timing.
  • the stop time of the control object apparatus for the update of a user program can be shortened. This is because the stop time of the control target device for updating the user program can be set only when the user program is generated (that is, only at a predetermined timing).
  • the predetermined timing may be a timing at which the first change management unit detects a change in the contents of the data container.
  • the predetermined timing may be a timing at which a user program generation instruction is received from the outside.
  • the user program generation instruction includes change history designation information for designating which change history stored in the first update history is used to generate a new data container.
  • the first user program generation unit may generate a user program using a new data container generated using the change history specified in the change history specifying information.
  • the content change data container when the user program and the content change data container whose contents are changed are received from the outside, the content change data container may be stored in the first storage unit.
  • the content change data container is a data container including a content change user program generation resource used when a user program in which the above content is changed is generated.
  • the first change management unit may store the change history of the content change data container in the first update history.
  • the user program whose contents have been changed may be used as a new user program that is subsequently executed by the task execution unit.
  • a control system includes the above-described control device and a server.
  • the server is communicably connected to the control device.
  • the server also has a second change management unit.
  • the second change management unit stores a data container change history.
  • the change history of the data container can be stored also in the second change management unit other than the first change management unit of the control device.
  • the second change management unit may store the replication update history as the second update history.
  • the duplicate update history is an update history obtained by duplicating the first update history stored in the first change management unit.
  • the second change management unit can store the second update history that matches the first update history. That is, the first update history can be preliminarily stored in the second change management unit.
  • the first change management unit may back up the first update history to the second change management unit and save it as the second update history. Thereby, the first update history can be preliminarily stored in the second change management unit.
  • the second change management unit may store the external change history in the second update history after receiving a change in the contents of the data container from the outside.
  • the external change history is a data container change history received from the outside.
  • the second change management unit may transmit the external change history to the first change management unit.
  • the first change management unit may store the external change history in the first update history and store the data container generated based on the external change history at a predetermined timing in the first storage unit.
  • the change history of the data container received from the outside is stored in the first update history of the first change management unit and the second change management unit. 2 Can be saved in both update history.
  • the content change data container is stored in the first storage unit and the change history is the second update history of the second change management unit. May be stored. Further, the user program whose contents are changed may be a new user program which is subsequently executed in the task execution unit.
  • the data container used when the user program is generated externally can be stored in the first storage unit and the second update history. That is, the data container can be stored in a preliminary manner.
  • a control system includes a control device and a user program generation server.
  • the control device includes a task execution unit, a first storage unit, and a first change management unit.
  • the task execution unit repeatedly executes a task including a user program for controlling the control target device at a predetermined cycle.
  • the first storage unit stores a data container including user program generation resources used for generating a user program.
  • the first change management unit stores the data container change history in the first update history when the contents of the data container stored in the first storage unit are changed.
  • the first change management unit also stores a new data container generated using the change history at a predetermined timing in the first storage unit.
  • the user program generation server includes a third storage unit and a second user program generation unit.
  • the third storage unit receives and stores the data container generated in the first change management unit.
  • the second user program generation unit generates a user program using a user program generation resource included in the data container stored in the third storage unit. Further, the second user program generation unit transmits the generated user program to the control device.
  • control device and the control system it is possible to share which change stage user program is currently being executed, and to reduce the stop time of the control target device due to the change of the contents of the user program.
  • FIG. 1 is a diagram illustrating an overall configuration of a control system according to the first embodiment.
  • the control system 100 includes a PLC system 1 and a program development support device 3.
  • the PLC system 1 inputs a signal from a signal input unit 5 configured by, for example, a sensor or a switch.
  • the PLC system 1 calculates the output signal which controls the control object apparatus 7, using the input signal from the signal input part 5 (after-mentioned) as needed, and running a program.
  • the program development support device 3 realizes various functions including an editing function for creating or changing the user program 1131 (FIG. 3) executed in the control device 11 of the PLC system 1. Further, the number of program development support apparatuses 3 that can be connected to the PLC system 1 is not limited to one. For example, as long as the number of addresses that can be allocated to the program development support apparatus 3 permits, an arbitrary number of program development support apparatuses 3 can be provided. Can connect. Below, the detailed structure of the PLC system 1, the control apparatus 11, and the program development assistance apparatus 3 is each demonstrated.
  • the PLC system 1 includes a control device 11, an input unit 13, an output unit 15, and a power supply unit 17.
  • the control device 11 is a CPU unit of a programmable logic controller (PLC).
  • PLC programmable logic controller
  • an input signal input to the input unit 13 (described later) is associated with an input variable used in the control device 11.
  • an output signal to the output unit 15 (described later) is associated with an output variable used inside the control device 11.
  • a predetermined task is repeatedly executed at a predetermined cycle.
  • the tasks are an I / O refresh process for updating an input variable based on an input signal from the input unit 13 and an output signal to be output to the output unit 15 based on an output variable, a user program 1131, / Or a processing unit including processing for executing a system program 115a (described later).
  • the task may further include other processing such as motion control processing, or may include only program execution processing.
  • the input unit 13 inputs an input signal from the signal input unit 5 such as a sensor or a switch, and outputs the input signal to the control device 11.
  • an input unit corresponding to the type of signal input from the signal input unit 5 can be used.
  • the signal input unit 5 is configured by a thermocouple that measures temperature
  • an input unit that uses a voltage generated in the thermocouple as an input signal can be used as the input unit 13.
  • the signal input unit 5 is configured by an electrical switch
  • an input unit that uses the ON / OFF state of the switch as an input signal can be used as the input unit 13.
  • the output unit 15 outputs an output signal associated with the output variable of the control device 11 to the corresponding control target device 7. Thereby, the control apparatus 11 can control the control object apparatus 7 based on the output variable calculated by running a program.
  • the output unit 15 can be configured as an output unit corresponding to the type of output signal.
  • an output unit having a motion controller function can be used.
  • an output unit that outputs a signal for controlling a relay that controls the electric furnace for example, a signal for controlling an ON / OFF duty ratio
  • the power supply unit 17 supplies power to the control device 11, the input unit 13, and the output unit 15.
  • the PLC system 1 may be a system in which all of the above-described components are incorporated in one housing, or each component is incorporated in an individual housing and connected to the components to form a PLC system. Also good.
  • the PLC system 1 can connect a desired number of desired control target devices and signal input units.
  • FIG. 2 is a diagram illustrating the configuration of the control device and the development support device.
  • FIG. 3A is a diagram illustrating a detailed configuration of the control device.
  • the control device 11 is a CPU unit in the PLC system.
  • the control device 11 provides a CPU 111 that performs arithmetic processing such as program execution, a RAM 113 that provides a storage area that can be written and read, and a storage area that is mainly intended for reading.
  • the communication interface 117 performs data transmission / reception using a data communication protocol such as TCP / IP (Transmission Control Protocol / Internet Protocol). Thereby, data can be transmitted and received between the control device 11 and the program development support device 3 for the number of addresses that can be allocated to the program development support device 3.
  • a data communication protocol such as TCP / IP (Transmission Control Protocol / Internet Protocol).
  • the storage unit 119 is a storage area for various data.
  • the data stored in the storage unit 119 includes a new data container 119a (described later) and a first update history 119b (described later).
  • the storage unit 119 can be configured by, for example, a compact storage medium such as an SD memory card and a device (not shown) for writing and reading data on the storage medium.
  • achieves the various functions of the control apparatus 11 is demonstrated still in detail using FIG. 3A.
  • the function of each part of the control device 11 described below is realized by executing a system program 115a stored in the ROM 115 in the CPU 111 of the control device 11 shown in FIG.
  • the control device 11 includes a task execution unit 1111, a data container generation unit 1113, a first user program generation unit 1115, a generation instruction unit 1117, and a transmission / reception unit 1171.
  • the task execution unit 1111 refers to the user program 1131 for controlling the control target device 7 stored in the RAM 113, and repeatedly executes a task including the user program 1131 at a predetermined cycle. Note that the task execution unit 1111 may execute a plurality of tasks.
  • the task execution unit 1111 can calculate an output variable used in the control device 11 and associated with an output signal in the control system 100 by executing the user program 1131.
  • the task execution unit 1111 connects to the output unit by instructing the output unit 15 to output an output signal based on the output variable calculated by the user program by the above I / O refresh processing.
  • the controlled device 7 is controlled. That is, the control target device 7 is controlled by executing the user program 1131.
  • the data container generation unit 1113 generates and stores a new data container 119a used in the first user program generation unit 1115 (described later) to generate a new user program 1131 after update.
  • the new data container 119a includes a user program generation resource 119a-1 used for generating a new user program 1131.
  • the data container 119a is a type of data folder that collectively stores user program generation resources 119a-1 (usually a plurality) used for generating the user program 1131.
  • a user program generation resource 119a-1 stored in the data container 119a is used as a first user program generation unit 1115 (described later) and a program development support device 3
  • the user program is generated by being referred to by the user program generation processing program executed in step (b).
  • the user program generation resource 119a-1 is a source program (program that can be recognized by the user) used when generating the user program 1131 or a setting file that describes various setting information.
  • the setting information includes physical information indicating the hardware configuration and the connection relationship between the hardware in the control system 100, and logical information such as the above hardware setting, variable mapping setting, and task setting.
  • the data container generation unit 1113 uses the change history 119b-1 stored in the first update history 119b (described later) when generating a new data container 119a. Therefore, the data container generation unit 1113 stores the first update history 119b.
  • the change history 119b-1 indicates what changes have been made to the user program 1131 (data container 119a) (the user program generation resource 119a-1 to which the change has been made, its specific details) Changes (difference) etc.) are recorded.
  • the configuration of the data container generation unit 1113 will be described in detail later.
  • the first user program generation unit 1115 uses the user program generation resource 119a-1 included in the new data container 119a stored in the data container generation unit 1113 (first storage unit 1113-3 (described later)). A user program 1131 is generated. The first user program generation unit 1115 generates a user program 1131 when there is an instruction from a generation instruction unit 1117 (described later).
  • the first user program generation unit 1115 is, for example, a compiler that generates a program in a format that can be executed by the control device 11 using the user program generation resource 119a-1 in the data container 119a.
  • the generation instruction unit 1117 instructs the first user program generation unit 1115 to generate a user program. As illustrated in FIG. 3A, if the generation instruction unit 1117 receives a user program generation instruction from the outside (for example, the program development support device 3), the generation instruction unit 1117 instructs the first user program generation unit 1115 to generate a user program. To do.
  • the first user program generation unit 1115 can generate the user program 1131 when receiving a user program generation instruction from the outside (program development support device 3). That is, the user program 1131 can be generated at an arbitrary timing.
  • the user program generation instruction includes change history designation information for designating which change history 119b-1 stored in the first update history 119b is used to generate a new data container.
  • generation part 1115 can produce
  • the transmission / reception unit 1171 performs data communication between the control device 11 and the outside (in the present embodiment, the program development support device 3). Therefore, the transmission / reception unit 1171 is the communication interface 117 described above.
  • the transmission / reception unit 1171 receives a user program and content change data container whose contents have been changed from the outside (program development support device 3), the following processing is performed.
  • the user program 1131 whose contents have been changed is an execution type user program 1131 created in the program development support apparatus 3 or the like.
  • the content change data container 119a is a data container 119a including the content change user program generation resource 119a-1 used when the user program 1131 with the above-mentioned content changed is generated.
  • the data container generation unit 1113 After receiving the user program 1131 whose contents have been changed and the user program 1131 whose contents have been changed, the data container generation unit 1113 is stored in a first storage unit 1113-3 (described later). At the same time, the first change management unit 1113-1 (described later) stores the received content change data container 119a in the first update history. Furthermore, the user program 1131 stored (currently executed) stored in the RAM 113 is replaced with a user program in which the received content is changed. That is, the received user program 1131 whose content has been changed becomes a new user program 1131 that is executed by the task execution unit 1111 during the subsequent task execution.
  • the currently executed user program 1131 can be replaced with the user program 1131 whose contents have been changed.
  • the content change data container 119a used when generating the user program 1131 with the above-described content changed is stored in the first update history 119b, the content of the user program 1131 is changed externally. However, it is possible to share information about what content has been changed for the user program 1131.
  • the data container generation unit 1113 includes a first change management unit 1113-1 and a first storage unit 1113-3.
  • the first change management unit 1113-1 changes the contents of the data container stored in the first storage unit 1113-3 (that is, the data container 119a used when generating the currently executed user program 1131). If so, the data container change history 119b-1 is stored in the first update history 119b.
  • the first change management unit 1113-1 When storing the change history 119b-1 in the first update history 119b, the first change management unit 1113-1 generates a user program included in the data container 119a stored in the first storage unit 1113-3 (described later). The difference in change to the resource for use 119a-1 is stored in the change history 119b-1.
  • the source file is compiled and the settings in the setting file are reflected during the compilation of the source file and executed.
  • a user program 1131 in a possible format is generated.
  • the change history 119b-1 is stored, and the first change management unit 1113-1 stores a new data container 119a generated using the change history 119b-1 at a predetermined timing. Save to 3.
  • the first change management unit 1113-1 generates a new data container 119a by reflecting the change history 119b-1 to the data container 119a stored in the first update history 119b.
  • the data container 119a stored in the first update history 119b is a new data container 119a
  • the history 119b-1 is applied to the data container 119a stored in the first update history 119b.
  • the “new data container 119a” is the data container 119a used when the user program 1131 is newly generated from a state where there is nothing.
  • the data container 119a stored in the first update history 119b is not limited to the data container 119a used when the user program 1131 is newly generated.
  • the data container 119a stored in the first update history 119b may be the data container 119a generated in a predetermined update stage (change history).
  • the new data container 119a uses the change history from the change history 119b-1 when the data container 119a stored in the first update history 119b is generated to the current change history 119b-1 as the data container 119a. It is generated by reflecting in The details of the change history 119b-1 will be described later.
  • the data container 119a is stored in the first storage unit 1113-3.
  • the data container 119a stored in the first storage unit 1113-3 stores the data container 119a used when the currently executed user program 1131 is generated. Accordingly, by referring to the data container 119a stored in the first storage unit 1113-3, the contents of the data container 119a that generated the currently executed user program 1131 can be known.
  • the first change management unit 1113-1 applies the contents of the change history 119b-1 stored in the first update history 119b to the data container 119a stored in the first storage unit 1113-3.
  • a new data container 119a may be used.
  • the first change management unit 1113-1 generates a change history 119b in which the data container 119a stored in the first storage unit 1113-3 is generated in the data container 119a stored in the first storage unit 1113-3.
  • -1 to the current change history 119b-1 are reflected to create a new data container 119a.
  • FIG. 4 is a diagram illustrating an example of the configuration of the first update history.
  • the first update history 119b includes an update number recording area 119b-11, an update target recording area 119b-12, an update content recording area 119b-13, an update user recording area 119b-14, An update date and time recording area 119b-15, a user program generation execution recording area 119b-16, and a remark recording area 119b-17 are provided. Further, one line of data recorded in the first update history 119b corresponds to the change history 119b-1.
  • the update number recording area 119b-11 records an update number for identifying the change history 119b-1.
  • the update target recording area 119b-12 records which user program generation resource 119a-1 is changed. Note that “new” described in the update target recording area 119b-12 of update number 1 means that a data container 119a for the user program 1131 has been newly created.
  • the update content recording area 119b-13 records specific update contents for the user program generation resource 119a-1 recorded in the update target recording area 119b-12.
  • the new data container 119a used to generate the new user program 1131 is recorded in the update target recording area 119b-12 in the first update history 119b or the data container 119a stored in the first storage unit.
  • the user program generation resource 119a-1 can be generated by applying the update content recorded in the update content recording area 119b-13.
  • the updated user recording area 119b-14 records the name of the user who executed the content change.
  • the update date and time recording area 119b-15 records the date and time (update date and time) when the content change was executed.
  • the user program generation execution recording area 119b-16 records in which change history 119b-1 the user program 1131 is generated.
  • the user program 1131 is generated or received from the outside when the update number 1 is executed (new creation) and when the update number 6 is executed. That is, in the example shown in FIG. 4, the data container 119a at the time of update of update number 6 is currently stored in the first storage unit 1113-3.
  • the data container 119a can be generated by going back to the contents of the data container 119a at the time of update of the update number 6 (for example, at the time of update of the update number 12).
  • the data container of the update content is the data container 119a at the time of update of update number 6.
  • the first storage unit 1113-3 stores the data container 119a generated when the update of update number 6 is executed. This is because the execution of the update with the update number 6 is the execution of the latest update that generated the user program 1131.
  • the remark recording area 119b-17 records remarks for each update.
  • the remarks on the update may be recorded by the user when each data container 119a is updated.
  • the first change management unit 1113-1 records May be.
  • “resource A addition” is described in the remark recording area 119b-17 of update number 6.
  • “resource A” is recorded in the update target recording area 119b-12
  • “addition” is recorded in the update content recording area 119b-12.
  • the first update history 119b as shown in FIG. 4 allows the control system 100 to store what content has been changed for the user program 1131 for each content update. If the first update history 119b shown in FIG. 4 can be browsed by the program development support apparatus 3 or the like, the user who develops the user program 1131 uses the program development support apparatus 3 to update the user program. You can visually confirm the specific contents of the changes made.
  • the user program 1131 that is currently being executed is generated as a user program included in the data container 119a generated at which change stage (change history 119b-1). Information about whether or not it has been generated by the resource for use 119a-1 can be shared. That is, it is possible to share information about which change stage the user program currently being executed is the user program 1131 in.
  • the first user program generation unit 1115 generates the user program 1131 when receiving a user program generation instruction from the program development support device 3. .
  • the timing for generating the user program 1131 is not limited to when a user program generation instruction is received.
  • FIG. 3B is a diagram illustrating a modification of the control device.
  • the first user program generation unit 1115 may be instructed to generate the user program 1131.
  • the latest updated user program 1131 can be generated using the data container 119a in which the most recent content change has been made, while the change in the content of the data container 119a at each stage remains in the change history 119b-1.
  • the program development support device 3 is a computer such as a personal computer, for example. Therefore, as shown in FIG. 2, the program development support apparatus 3 includes a CPU 31 that performs arithmetic processing such as program execution, a storage unit 33 that provides a storage area, and input means such as a keyboard and a mouse.
  • the operation unit 35 includes a communication interface 37 that performs communication with the control device 11 and a display unit 39 that performs screen display.
  • the communication interface 37 transmits and receives data to and from the control device 11 using the same protocol as the data communication protocol in the control device 11. Therefore, in the present embodiment, the communication interface 37 is an interface capable of communicating using, for example, the TCP / IP protocol.
  • the development support program 33 a stored in the storage unit 33 is executed on the program development support device 3, thereby editing the user program 1131 or generating the user program 1131. it can.
  • the program development support apparatus 3 when editing the user program 1131 (data container 119a), stores the data container 119a stored in the first storage unit 1113-3 (data container generation unit 1113), or Then, the user program generation resource 119a-1 included in the data container 119a is downloaded, and the data container 119a or the user program generation resource 119a-1 is edited.
  • the data container 119a stored in the first storage unit 1113-3 is a data container used when generating the user program 1131 currently executed in the control device 11. Therefore, downloading and editing the data container 119a or the user program generation resource 119a-1 stored in the first storage unit 1113-3 changes the contents of the currently executed user program 1131. Become. That is, the online editing function is realized by generating the data container 119a or the user program generation resource 119a-1 on the program development support apparatus 3 by the above method.
  • the program development support device 3 After editing the data container 119a or the user program generation resource 119a-1, the program development support device 3 changes the contents using the edited data container 119a or the user program generation resource 119a-1 according to the user's instruction. It is possible to select whether the user program 1131 is generated and transmitted to the control apparatus 11 together with the data container 119a, or only the edited data container 119a or user program generation resource 119a-1 is transmitted to the control apparatus 11. ing.
  • the program development support device 3 immediately applies the contents of the edited data container 119a or the user program generation resource 119a-1 to the user program 1131 or does not apply it immediately in the control device 11. It is possible to select whether to store the content change as the change history 119b-1.
  • FIG. 5 is a flowchart showing the update operation of the user program in the control system.
  • the update operation of the user program 1131 described below is an update operation (online editing) of the user program 1131 performed during the execution of the user program 1131 in the control device 11 of the control system 100.
  • the data container 119a or the user program generation resource 119a-1 can be edited. Thereafter, the user who uses the program development support apparatus 3 edits the data container 119a or the user program generation resource 119a-1 (step S1). Specifically, first, the program development support apparatus 3 selects the data container 119a stored in the first storage unit 1113-3 of the control apparatus 11 or the user program generation resource 119a-1 to be edited in the data container 119a. , Received from the control device 11. Thereafter, the user edits the received data container 119a or user program generation resource 119a-1. As a result, the contents of the data container 119a stored in the first storage unit 1113-3 are changed.
  • the program development support apparatus 3 After editing the data container 119a or the user program generation resource 119a-1, the program development support apparatus 3 transmits the edited data container 119a or user program generation resource 119a-1 to the control apparatus 11 (step S2). At this time, the user program 1131 may be generated using the edited data container 119a or the user program generation resource 119a-1 in the step S1. Then, the user program 1131 generated together with the edited data container 119 a may be transmitted to the control device 11.
  • control apparatus 11 While editing the data container 119a or the user program generation resource 119a-1 in the program development support apparatus 3 or the like, the control apparatus 11 changes the data container 119a, the user program generation resource 119a-1 whose contents after editing are changed, and It is confirmed whether or not the user program 1131 whose contents have been changed has been received (step S3).
  • step S3 When the control device 11 has not received the data container 119a, the user program generation resource 119a-1, and / or the user program 1131 whose contents have been changed (in the case of “No” in step S3), the process returns to step S1.
  • the control device 11 waits for reception of the edited data container 119a, the user program generation resource 119a-1, and / or the user program 1131 whose contents have been changed.
  • control device 11 receives the data container 119a, the user program generation resource 119a-1, and / or the user program 1131 whose contents have been changed (“Yes” in step S3), the control device 11 It is confirmed whether or not the user program 1131 whose contents have been changed has been received (step S4).
  • the first change management unit 1113-1 receives the data received together with the user program 1131 whose contents have been changed.
  • the change history 119b-1 of the container 119a is stored in the first update history 119b (step S5).
  • the received data container 119a itself (all of the user program generation resources 119a-1) may be stored as the change history 119b-1, or the contents of the received data container 119a may be changed.
  • the resource 119a-1 (content change user program generation resource 119a-1) may be recorded as a change history.
  • the control device 11 can have any content for the user program 1131. Share information about what changes have been made.
  • the first change management unit 1113-1 stores the received data container 119a (content change data container 119a) in the first storage unit 1113-3. Thereafter, the first change management unit 1113-1 instructs the transmission / reception unit 1171 to store the received user program 1131 in the area where the currently executed user program 1131 is stored. (Step S6). As a result, the user program 1131 whose received content has been changed can be used as a new user program 1131 to be executed in the task execution unit 1111 thereafter. As a result, the data container 119a used for generating the user program 1131 to be executed in the future can be stored in the first storage unit 1113-3. Thereafter, the update of the user program 1131 in the control system 100 is terminated.
  • the first change management unit 1113-1 includes the change history 119b in the first update history 119b. ⁇ 1 is stored (step S7).
  • the change history 119b-1 the difference from the data container 119a stored in the first storage unit 1113-3 is stored. For example, when the contents of the user program generation resource 119a-1 are changed, the received user program generation resource 119a-1 or the user program generation resource 119a whose contents in the data container 119a are changed -1 (difference) is stored as the change history 119b-1.
  • the contents of the data container 119a are changed by deleting or newly adding the user program generation resource 119a-1 included in the data container 119a
  • the contents are changed (user program The data container 119a from which the generation resource 119a-1 has been deleted or added) is stored as the change history 119b-1.
  • the first user program generation unit 1115 determines whether to generate the user program 1131 (step S8). In the present embodiment, the first user program generation unit 1115 determines whether an instruction is received from the generation instruction unit 1117. In this embodiment, when a user program generation instruction is transmitted from the program development support apparatus 3 or the like to the generation instruction unit 1117, it is determined that the user program 1131 is generated. In the modification of the control device 11 shown in FIG. 3B, the user program 1131 is executed each time the first change management unit 1113-1 detects a change in the contents of the data container 119a (that is, every change in the contents). Judge to generate.
  • the first user program generation unit 1115 determines not to generate the user program 1131 (“No” in step S8), the update of the user program 1131 is terminated. As a result, even when the contents of the data container 119a are changed but the user program 1131 is not generated, information (change history 119b-1) relating to the contents change for the data container 119a can be stored.
  • the first user program generation unit 1115 determines that the user program 1131 is to be generated (“Yes” in step S8), generation and storage of a new data container 119a is executed (step S9).
  • the first change management unit 1113-1 includes the data container 119a stored in the first update history 119b and the change history 119b- shown in the change history designation information included in the user program generation instruction. 1, a new data container 119a is generated by the method described above.
  • the first change management unit 1113-1 After generating the new data container 119a, the first change management unit 1113-1 stores the generated new data container 119a in the first storage unit 1113-3.
  • the first user program generation unit 1115 After storing the new data container 119a in the first storage unit 1113-3, the first user program generation unit 1115 creates a new data container 119a stored in the first storage unit 1113-3.
  • a new user program 1131 is generated using the user program generation resource 119a-1 (step S10).
  • the first user program generation unit 1115 After the first user program generation unit 1115 generates a new user program 1131, the first user program generation unit 1115 stores the generated new user program 1131 in the storage area of the currently executed user program 1131 in the RAM 113, for example. By writing, a new user program 1131 can be used as a user program 1131 to be executed after the task is executed (step S11).
  • the currently executed user program is included in the data container generated at which change stage (change history 119b-1). Information about whether or not it has been generated by a user program generation resource can be shared. Even if the user program 1131 is not generated when the contents of the data container 119a are changed, the specific contents of the contents change can be stored as the change history 119b-1. As a result, all content changes made to the user program 1131 can be referred to from the first update history 119b.
  • step S8 When updating the contents of the user program by the method of steps S1 to S11 described above, it is necessary to stop the control target device 7 in step S8 by receiving a user program generation instruction (at a predetermined timing). This is only when the user program 1131 is a new user program 1131 at the time of execution of step S11. Thereby, the stop time of the control object apparatus 7 at the time of changing the content of the user program 1131 can be shortened.
  • FIG. 6 is a diagram illustrating a configuration of a control system according to the second embodiment.
  • the control system 200 according to the second embodiment includes a PLC system 1, a program development support device 3, and a server 2.
  • the control device 11 of the PLC system 1, the program development support device 3, and the server 2 are connected to be communicable with each other via a communication network NW.
  • the server 2 is, for example, a computer that operates as a server. Therefore, as shown in FIG. 6, the server 2 stores a CPU 21 that performs arithmetic processing such as program execution, a RAM 23 that stores a server program 23a that provides a server function, and a second update history 213a (described later).
  • a storage unit 25 that provides a storage area and a communication interface 27.
  • the communication interface 27 performs data transmission / reception with the control device 11 and the program development support device 3 using the same protocol as the data communication protocol in the control system 200. Therefore, in the present embodiment, the communication interface 27 is an interface that can communicate with the TCP / IP protocol, for example.
  • FIG. 7 is a diagram illustrating a detailed configuration of the server.
  • the functions of the components of the server 2 shown in FIG. 7 are realized by the server program 23a.
  • the server 2 includes a transmission / reception unit 211 and a second change management unit 213.
  • the transmission / reception unit 211 transmits / receives data to / from the control device 11 and the program development support device 3 using the communication interface 27 described above.
  • the second change management unit 213 stores the second update history 213a.
  • the second update history 213a stores a change history 119b-1 of the data container 119a.
  • the second change management unit 213 stores the change history 119b-1 in the second update history 213a by the following three methods.
  • a duplicate update history obtained by duplicating the first update history 119b stored in the first change management unit 1113-1 of the control device 11 is stored as the second update history 213a (mirroring).
  • the 2nd change management part 213 the 2nd update history 213a always consistent with the 1st update history 119b can be preserve
  • control device 11 backs up the first update history 119b to the second change management unit 213 and stores it as the second update history 213a (backup). This also allows the first update history 119b to be preliminarily stored in the second change management unit 213.
  • the external change history that is the change history of the data container 119a received from the program development support device 3 is stored in the second update history 213a. Then, the second change management unit 213 transmits the external change history stored in the second update history 213a to the first change management unit 1113-1 (restoration).
  • the first change management unit 1113-1 stores the received external change history in the first update history 119b. Also, the first change management unit 1113-1 stores the data container 119a generated based on the external change history at a predetermined timing in the first storage unit 1113-3.
  • the change history 119b-1 of the data container 119a received from the outside is stored in the first change management unit 1113-1.
  • the first update history 119b and the second update history 213a of the second change management unit 213 can be stored.
  • the first update history 119b stored in the control device 11 can be preliminarily stored in the server 2.
  • the history 119b can be returned from the server 2 to the control device 11.
  • the control device 11 has a function (first user program) for generating an executable user program 1131.
  • Generator 1115 it is not limited to this.
  • the user program generation server 4 may have a function of generating an executable user program 1131.
  • FIG. 8A is a diagram illustrating a configuration of a control system 300 according to the third embodiment.
  • FIG. 8B is a diagram showing a detailed configuration of a control system 300 according to the third embodiment.
  • a control system 300 according to the third embodiment includes a PLC system 1, a program development support device 3, and a user program generation server 4. As shown in FIG. 8A, a control system 300 according to the third embodiment includes a control device 11, a program development support device 3, and a user program generation server 4 of a PLC system 1, which are connected to each other via a communication network NW. It is connected so that it can communicate.
  • the control device 11 of the PLC system 1 does not include the first user program generation unit 1115 and the generation instruction unit 1117, and controls in the first embodiment and the second embodiment. It has the same configuration as the device 11. Therefore, the description of the control device 11 is also omitted.
  • the user program generation server 4 is, for example, a computer that operates as a server. Therefore, as shown in FIG. 8A, the user program generation server 4 includes a CPU 41 that performs arithmetic processing such as program execution, a RAM 43 that stores a generation program 43a having a function of generating a user program 1131, and a data container 119a.
  • a storage unit 45 that provides a storage area for storing data, a control device 11, and a communication interface 47 that transmits / receives data to / from the program development support device 3 as necessary.
  • the user program generation server 4 includes a third storage unit 411, a second user program generation unit 413, and a transmission / reception unit 415.
  • the third storage unit 411 receives and stores the data container 119a generated by the first change management unit 1113-1.
  • the second user program generation unit 413 generates the user program 1131 using the user program generation resource 119a-1 included in the data container 119a stored in the third storage unit 411.
  • the second user program generation unit 413 transmits the generated user program 1131 to the control device 11.
  • the transmission / reception unit 415 transmits / receives data to / from the control device 11 and, if necessary, the program development support device 3 using the communication interface 47 described above.
  • the first change management unit 1113-1 stores the change history 119b-1 at a predetermined timing (for example, reception timing of a user program generation instruction from the program development support device 3).
  • a predetermined timing for example, reception timing of a user program generation instruction from the program development support device 3.
  • the second user program generation unit 413 When a new data container 119a is stored in the third storage unit 411, the second user program generation unit 413 generates a user program 1131 using the new data container 119a stored in the third storage unit. Thereafter, the second user program generation unit 413 transmits the generated user program 1131 to the control device 11.
  • the control device 11 that has received the generated user program 1131 writes the received user program 1131 in an area of the RAM 113 in which the user program 1131 is stored. Thereby, the user program 1131 generated in the user program generation server 4 can be stored as the user program 1131 in the control device 11.
  • the user program 1131 is generated in the user program generation server 4, whereby the calculation load on the control device 11 can be reduced.
  • the control device 11 (an example of a control device) according to the first embodiment and the second embodiment includes a task execution unit 1111 (an example of a task execution unit) and a first storage unit 1113-3 (an example of a first storage unit). And a first change management unit 1113-1 (an example of a first change management unit) and a first user program generation unit 1115 (an example of a first user program generation unit).
  • the task execution unit 1111 repeatedly executes a task including a user program 1131 (an example of a user program) for controlling the control target device 7 (an example of a control target device) at a predetermined cycle.
  • the first storage unit 1113-3 stores a data container 119a (an example of a data container).
  • the data container 119a includes a user program generation resource 119a-1 (an example of a user program generation resource).
  • the user program generation resource 119a-1 is a resource used to generate the user program 1131.
  • the first change management unit 1113-1 stores the change history 119b-1 (an example of the change history) of the data container 119a in the first
  • the update history 119b (an example of the first update history) is stored.
  • the first change management unit 1113-1 stores the new data container 119a generated using the change history 119b-1 at a predetermined timing in the first storage unit 1113-3.
  • the first user program generation unit 1115 uses the new user program generation resource 119a-1 included in the new data container 119a stored in the first storage unit 1113-3 at a predetermined timing to execute the user program 1131. Generate.
  • the first change management unit 1113-1 when the contents of the data container 119a stored in the first storage unit 1113-3 are changed, the first change management unit 1113-1 performs the data container.
  • the change history 119b-1 is stored in the first update history 119b.
  • the first change management unit 1113-1 generates a new data container 119a using the change history 119b-1 at a predetermined timing, and the generated new data container 119a is stored in the first storage unit 1113-3. save.
  • the first user program generation unit 1115 uses the new user program generation resource 119a-1 included in the new data container 119a stored in the first storage unit 1113-3 at a predetermined timing.
  • a new user program 1131 is generated.
  • the new data container 119a including the new user program generation resource 119a-1 used when generating the new user program 1131 is provided.
  • the change history 119b-1 for the data container 119a is stored in the first update history 119b.
  • the user program 1131 currently being executed is the user included in the data container 119a generated in which change stage (change history 119b-1).
  • Information about whether or not it has been generated by the program generation resource 119a-1 can be shared. That is, it is possible to share information about which change stage the user program 1131 currently being executed is the user program 1131 in.
  • the first user program generation unit 1115 generates the user program 1131 at a predetermined timing. Thereby, when changing the contents of the user program 1131 in the online editing function, the stop time of the control target device for updating the user program can be shortened. This is because the stop time of the control target device 7 for updating the user program 1131 can be set only when the user program 1131 is generated (that is, only at a predetermined timing).
  • the predetermined timing is a timing at which the first change management unit 1113-1 detects a change in the contents of the data container 119a.
  • the control device 11 keeps the change in the contents of the data container 119a at each stage in the change history 119b-1, and uses the data container 119a in which the latest contents have been changed, to use the latest updated user program. 1131 can be generated.
  • the predetermined timing is a timing at which a user program generation instruction (user program generation instruction) is received from the outside.
  • change history designation information for specifying which change history 119b-1 stored in the first update history 119b is used to generate a new data container 119a (change history designation information Example).
  • the first user program generation unit 1115 generates the user program 1131 using the new data container 119a generated using the change history 119b-1 specified in the change history specification information.
  • a new user program 1131 can be generated at a predetermined timing. Further, by making it possible to specify which change history 119b-1 stored in the first update history 119b is used to generate a new data container 119a, at any change stage (change history 119b-1) The user program 1131 can be generated using the data container 119a.
  • the content change data container 119a is It is stored in the first storage unit 1113-3.
  • the content change data container 119a is a data container including a content change user program generation resource 119a-1 (an example of a content change user program generation resource) used when the user program 1131 whose content has been changed is generated.
  • the first change management unit 1113-1 stores the change history 119b-1 of the content change data container 119a in the first update history 119b. Further, the user program 1131 whose contents have been changed is referred to as a new user program 1131 which is subsequently executed in the task execution unit.
  • the control system 200 includes the control device 11 and the server 2 (an example of a server).
  • the server 2 is communicably connected to the control device 11.
  • the server 2 also includes a second change management unit 213 (an example of a second change management unit).
  • the second change management unit stores the change history 119b-1 of the data container 119a.
  • the change history 119b-1 of the data container 119a can also be stored in the second change management unit 213 other than the first change management unit 1113-1 of the control device 11.
  • the second change management unit 213 stores a duplicate update history (an example of a duplicate update history) as a second update history 213a (an example of a second update history).
  • the duplicate update history is an update history obtained by duplicating the first update history 119b stored in the first change management unit 1113-1. Accordingly, the second change management unit 213 can store the second update history 213a that matches the first update history 119b. That is, the first update history 119b can be preliminarily stored in the second change management unit 213.
  • the first change management unit 1113-1 backs up the first update history 119b to the second change management unit 213 and stores it as the second update history 213a. Accordingly, the first update history 119b can be preliminarily stored in the second change management unit 213.
  • the second change management unit 213 stores an external change history (an example of an external change history) in the second update history 213a after receiving a change in the contents of the data container 119a from the outside.
  • the external change history is the change history 119b-1 of the data container 119a received from the outside.
  • the second change management unit 213 transmits the external change history to the first change management unit 1113-1.
  • the first change management unit 1113-1 stores the external change history in the first update history, and also stores the data container 119a generated based on the external change history at a predetermined timing in the first storage unit 1113-3. Saved.
  • the change history 119b-1 of the data container 119a received from the outside is used as the first update history 119b of the first change management unit 1113-1, And it can preserve
  • the control apparatus 11 When the control apparatus 11 receives the user program 1131 and the content change data container 119a whose contents have been changed from the outside, the content change data container 119a is stored in the first storage unit 1113-3, and the change history 119b-1 is stored in the change history data 119b-1. It is stored in the second update history 213a of the second change management unit 213. Further, the user program 1131 whose contents have been changed is referred to as a new user program 1131 that is subsequently executed by the task execution unit 1111.
  • the data container 119a used when the user program 1131 is generated externally is stored in the first storage unit 1113-3 and the second update history 213a. Can be saved. That is, the data container 119a can be preliminarily stored.
  • a control system 300 according to the third embodiment includes a control device 11 and a user program generation server 4 (an example of a user program generation server).
  • the control device 11 includes a task execution unit 1111, a first storage unit 1113-3, and a first change management unit 1113-1.
  • the task execution unit 1111 repeatedly executes a task including the user program 1131 for controlling the control target device 7 at a predetermined cycle.
  • the first storage unit 1113-3 stores a data container 119a including a user program generation resource 119a-1 used for generating the user program 1131.
  • the first change management unit 1113-1 stores the change history 119b-1 of the data container 119a in the first update history 119b. .
  • the first change management unit 1113-1 stores a new data container 119a generated using the change history 119b-1 at a predetermined timing in the first storage unit 1113-3.
  • the user program generation server 4 includes a third storage unit 411 (an example of a third storage unit) and a second user program generation unit 413 (an example of a second user program generation unit).
  • the third storage unit 411 receives and stores the data container 119a generated by the first change management unit 1113-1.
  • the second user program generation unit 413 generates the user program 1131 using the user program generation resource 119a-1 included in the data container 119a stored in the third storage unit 411.
  • the second user program generation unit 413 transmits the generated user program 1131 to the control device 11.
  • the new storage unit 1113 stores the new data container 119a. -3 as well as the third storage unit 411 of the user program generation server 4. Thereafter, the user program 1131 is generated using the new data container 119 a stored in the third storage unit 411.
  • the generation of the user program 1131 can be generated by an external server (user program generation server 4). As a result, the calculation load on the control device 11 can be reduced.
  • the present invention can be widely applied to a control device that controls a device to be controlled by repeatedly executing a user program at a predetermined cycle and a control system using the control device.
  • Control system 1 PLC system 11 Controller 111 CPU 1111 Task execution unit 1113 Data container generation unit 1113-1 First change management unit 1113-3 First storage unit 1115 First user program generation unit 1117 Generation instruction unit 113 RAM 1131 User program 115 ROM 115a System program 117 Communication interface 1171 Transmission / reception unit 119 Storage unit 119a Data container 119a-1 User program generation resource 119b First update history 119b-1 Change history 119b-11 Update number recording area 119b-12 Update target recording area 119b-13 Update content recording area 119b-14 Update user recording area 119b-15 Update date / time recording area 119b-16 User program generation execution recording area 119b-17 Remark recording area 13 Input unit 15 Output unit 17 Power supply unit 2 Server 21 CPU 211 Transmission / reception unit 213 Second change management unit 213a Second update history 23 RAM 23a Server program 25 Storage unit 27 Communication interface 3 Program development support device 31 CPU 33 Storage Unit 33a Development Support Program 35 Operation Unit 37 Communication Interface 39 Display Unit 4 User Program Generation Server 41 CPU 411 Third storage unit 413

Abstract

 ユーザプログラムがどの変更段階のユーザプログラムであるかを共有可能とし、ユーザプログラム更新時の機器の停止時間を短縮する。制御装置(11)は、第1保存部(1113-3)と、第1変更管理部(1113-1)と、第1ユーザプログラム生成部(1115)と、を備える。第1保存部(1113-3)にはデータコンテナ(119a)が保存される。第1変更管理部(1113-1)は第1保存部(1113-3)に保存されたデータコンテナ(119a)の内容が変更された場合データコンテナ(119a)の変更履歴(119b-1)を第1更新履歴(119b)に記憶する。第1変更管理部(1113-1)は変更履歴(119b-1)を用いて生成された新たなデータコンテナ(119a)を第1保存部(1113-3)に保存する。第1ユーザプログラム生成部(1115)は新たなデータコンテナ(119a)に含まれるユーザプログラム生成用資源(119a-1)を用いてユーザプログラム(1131)を生成する。

Description

制御装置及び制御システム
 本発明は、ユーザプログラムを所定の周期にて繰り返し実行することにより制御対象機器を制御する制御装置、及び、当該制御装置を用いた制御システムに関する。
 従来、ユーザにより作成されたユーザプログラムを所定の周期にて繰り返し実行することにより制御対象機器を制御する制御装置において、現在実行されているユーザプログラムの一部に対して内容の変更を行うユーザプログラムの編集方法(オンラインエディット)が知られている。
 例えば、特許文献1には、ソースプログラムの一部分をコンパイラにかけて変換することにより得られるオブジェクトコード部分によりPLCに記憶されているオブジェクトコードを書き換えるオンラインエディット機能を備えたPLCが開示されている。
特開2009-223590号公報
 特許文献1に開示されたPLCなどに備わっている従来のオンラインエディット機能においては、オンラインエディット機能を行ってソースプログラムの内容を変更したプログラム開発支援装置にのみ内容が変更されたソースプログラムが保存されていた。
 特に複数のユーザ(複数台のプログラム開発支援装置)によりユーザプログラムの開発を行っている際に、上記のようにオンラインエディット機能を実行したプログラム開発支援装置にのみ内容が変更されたソースプログラムが保存されると、現在PLCにおいて実行されているユーザプログラムが、どの内容の変更がなされた段階(変更段階)のユーザプログラムであるかを全てのユーザに共有されない。その結果、複数のユーザによるユーザプログラムの開発効率が低下する。
 また、オンラインエディット機能を用いてユーザプログラムの内容を変更する際、制御装置により制御される制御対象機器(特に、ロボットアームなど、動作をしていると危険を伴う制御対象機器)の動作を、ユーザプログラムの内容の変更を終了するまで常時停止させておく必要があった。このような場合、長時間にわたり制御対象機器を停止させなければならなかった。
 本発明の課題は、制御装置及び制御システムにおいて、現在実行されているユーザプログラムがどの変更段階のユーザプログラムであるかを共有可能とすることと、ユーザプログラムの内容の変更に伴う制御対象機器の停止時間を短縮することにある。
 以下に、課題を解決するための手段として複数の態様を説明する。これら態様は、必要に応じて任意に組み合せることができる。
 本発明の一見地に係る制御装置は、タスク実行部と、第1保存部と、第1変更管理部と、第1ユーザプログラム生成部と、を備える。
 タスク実行部は、制御対象機器を制御するユーザプログラムを含むタスクを所定の周期にて繰り返し実行する。第1保存部にはデータコンテナが保存される。データコンテナは、ユーザプログラム生成用資源を含む。ユーザプログラム生成用資源は、ユーザプログラムを生成するために用いられる資源のことである。
 第1変更管理部は、第1保存部に保存されたデータコンテナの内容が変更された場合、データコンテナの変更履歴を第1更新履歴に記憶する。また、それとともに、第1変更管理部は、所定のタイミングにおいて変更履歴を用いて生成された新たなデータコンテナを第1保存部に保存する。
 第1ユーザプログラム生成部は、所定のタイミングにおいて、第1保存部に保存される新たなデータコンテナに含まれる新たなユーザプログラム生成用資源を用いてユーザプログラムを生成する。
 上記の制御装置においては、第1保存部に保存されたデータコンテナの内容が変更されると、第1変更管理部がデータコンテナの変更履歴を第1更新履歴に記憶する。また、第1変更管理部は、所定のタイミングにおいて、上記の変更履歴を用いて新たなデータコンテナを生成し、生成した新たなデータコンテナを第1保存部に保存する。
 その後、第1ユーザプログラム生成部が、上記の所定のタイミングにおいて、第1保存部に保存されている上記の新たなデータコンテナに含まれる新たなユーザプログラム生成用資源を用いて新たなユーザプログラムを生成する。
 従って、上記の制御装置においては、新たなユーザプログラムを生成する際に用いられた新たなユーザプログラム生成用資源を含む新たなデータコンテナが、第1保存部に保存されている。また、データコンテナへの変更履歴が第1更新履歴に記憶されている。
 これにより、上記の制御装置において、現在実行されているユーザプログラムが、どの変更段階(変更履歴)において生成されたデータコンテナに含まれるユーザプログラム生成用資源により生成されたかについての情報を共有できる。すなわち、現在実行されているユーザプログラムが、どの変更段階におけるユーザプログラムであるかについての情報を共有できる。
 また、ユーザプログラム生成部が、所定のタイミングにおいてユーザプログラムを生成している。これにより、オンラインエディット機能においてユーザプログラムの内容の変更をする際に、ユーザプログラムの更新のための制御対象機器の停止時間を短縮できる。なぜなら、ユーザプログラムの更新のための制御対象機器の停止時間を、ユーザプログラムを生成したときだけ(すなわち、所定のタイミングだけ)にできるからである。
 上記の制御装置において、所定のタイミングは、第1変更管理部がデータコンテナの内容の変更を検出するタイミングであってもよい。これにより、上記の制御装置においては、各段階のデータコンテナの内容の変更を変更履歴に残しつつ、直近の内容の変更がなされたデータコンテナを用いて最新の更新状態のユーザプログラムを生成できる。
 上記の制御装置において、所定のタイミングは、ユーザプログラム生成指示を外部から受信したタイミングであってよい。この場合、ユーザプログラム生成指示には、第1更新履歴に記憶されたどの変更履歴を用いて新たなデータコンテナを生成するかを指定する変更履歴指定情報が含まれている。
 また、第1ユーザプログラム生成部は、変更履歴指定情報に指定された変更履歴を用いて生成された新たなデータコンテナを用いてユーザプログラムを生成してもよい。
 これにより、予め決定したタイミングにおいて新たなユーザプログラムを生成できる。また、第1更新履歴に記憶されているどの変更履歴を用いて新たなデータコンテナを生成するかを指定可能とすることにより、任意の変更段階(変更履歴)におけるデータコンテナを用いてユーザプログラムを生成できる。
 上記の制御装置において、内容を変更したユーザプログラム及び内容変更データコンテナを外部から受信した場合、内容変更データコンテナは第1保存部に保存されてもよい。ここで、内容変更データコンテナは、上記の内容を変更したユーザプログラムが生成された際に用いられた内容変更ユーザプログラム生成用資源を含むデータコンテナである。
 また、第1変更管理部は、内容変更データコンテナの変更履歴を第1更新履歴に記憶してもよい。さらに、内容を変更したユーザプログラムを以後タスク実行部において実行される新たなユーザプログラムとしてもよい。
 これにより、外部においてユーザプログラムの内容の変更がなされた場合でも、ユーザプログラムに対してどのような内容の変更がなされたかについての情報を共有できる。
 本発明の他の見地に係る制御システムは、上記の制御装置とサーバとを備える。サーバは、上記の制御装置と通信可能に接続されている。また、サーバは、第2変更管理部を有する。第2変更管理部は、データコンテナの変更履歴を記憶する。
 これにより、制御装置の第1変更管理部以外の第2変更管理部にも、データコンテナの変更履歴を記憶できる。
 第2変更管理部は、複製更新履歴を第2更新履歴として保存してもよい。複製更新履歴は、第1変更管理部に記憶された第1更新履歴を複製した更新履歴である。これにより、第2変更管理部において、第1更新履歴と一致する第2更新履歴を保存できる。すなわち、第1更新履歴を予備的に第2変更管理部に保存できる。
 第1変更管理部は、第1更新履歴を第2変更管理部にバックアップして第2更新履歴として保存してもよい。これにより、第1更新履歴を予備的に第2変更管理部に保存できる。
 第2変更管理部は、外部からデータコンテナの内容の変更を受信後、外部変更履歴を第2更新履歴に記憶してもよい。外部変更履歴は、外部から受信したデータコンテナの変更履歴である。また、それとともに、第2変更管理部は、外部変更履歴を第1変更管理部に送信してもよい。
 このとき、第1変更管理部は、外部変更履歴を第1更新履歴に記憶するとともに、所定のタイミングにおいて外部変更履歴に基づいて生成したデータコンテナを第1保存部に保存してもよい。
 これにより、外部からデータコンテナの内容の変更の要求があった場合でも、外部から受信したデータコンテナの変更履歴を、第1変更管理部の第1更新履歴、及び、第2変更管理部の第2更新履歴の両方に保存できる。
 内容を変更したユーザプログラム及び内容変更データコンテナを外部から制御装置において受信した場合、内容変更データコンテナは、第1保存部に保存されるとともに、変更履歴が第2変更管理部の第2更新履歴に記憶されてもよい。また、内容を変更したユーザプログラムを以後タスク実行部において実行される新たなユーザプログラムとしてもよい。
 これにより、外部においてユーザプログラムの内容の変更がなされた場合でも、外部においてユーザプログラムを生成した際に用いられたデータコンテナを、第1保存部と第2更新履歴とに保存できる。すなわち、上記のデータコンテナを予備的に保存できる。
 本発明のさらに他の見地に係る制御システムは、制御装置とユーザプログラム生成サーバとを備える。
 上記の制御システムにおいて、制御装置は、タスク実行部と、第1保存部と、第1変更管理部と、を有する。タスク実行部は、制御対象機器を制御するユーザプログラムを含むタスクを所定の周期にて繰り返し実行する。第1保存部には、ユーザプログラムを生成するために用いられるユーザプログラム生成用資源を含むデータコンテナが保存される。第1変更管理部は、第1保存部に保存されたデータコンテナの内容が変更された場合、データコンテナの変更履歴を第1更新履歴に記憶する。また、第1変更管理部は、それとともに、所定のタイミングにおいて変更履歴を用いて生成された新たなデータコンテナを第1保存部に保存する。
 ユーザプログラム生成サーバは、第3保存部と第2ユーザプログラム生成部とを有する。
 第3保存部は、第1変更管理部において生成されたデータコンテナを受信し保存する。第2ユーザプログラム生成部は、第3保存部に保存されたデータコンテナに含まれるユーザプログラム生成用資源を用いてユーザプログラムを生成する。また、第2ユーザプログラム生成部は、生成したユーザプログラムを制御装置に送信する。
 上記の制御システムにおいては、第1変更管理部において所定のタイミングにおいて変更履歴を用いて新たなデータコンテナを生成した際に、新たなデータコンテナを、第1保存部だけでなく、ユーザプログラム生成サーバの第3保存部にも保存する。その後、第3保存部に保存された新たなデータコンテナを用いてユーザプログラムが生成される。
 これにより、ユーザプログラムの生成を外部のサーバ(ユーザプログラム生成サーバ)により生成できる。その結果、制御装置における計算負荷を低減できる。
 制御装置及び制御システムにおいて、現在実行されているユーザプログラムがどの変更段階のユーザプログラムであるかを共有でき、ユーザプログラムの内容の変更に伴う制御対象機器の停止時間を短縮できる。
第1実施形態に係る制御システムの全体構成を示す図。 制御装置及び開発支援装置の構成を示す図。 制御装置の詳細構成を示す図。 制御装置の変形例を示す図。 第1更新履歴の構成の一例を示す図。 制御システムにおけるユーザプログラムの更新動作を示すフローチャート。 第2実施形態に係る制御システムの構成を示す図。 サーバの詳細構成を示す図。 第3実施形態に係る制御システムの構成を示す図。 第3実施形態に係る制御システムの詳細構成を示す図。
1.第1実施形態
(1)制御システムの全体構成
 まず、第1実施形態に係る制御システム100の全体構成について、図1を用いて説明する。図1は、第1実施形態に係る制御システムの全体構成を示す図である。制御システム100は、PLCシステム1とプログラム開発支援装置3とを備える。
 PLCシステム1は、例えば、センサやスイッチなどにより構成される信号入力部5から信号を入力する。また、PLCシステム1は、信号入力部5(後述)からの入力信号を必要の応じて用いプログラムを実行して、制御対象機器7を制御する出力信号を算出する。
 プログラム開発支援装置3は、PLCシステム1の制御装置11において実行されるユーザプログラム1131(図3)を作成又は変更するための編集機能を含む各種機能を実現する。また、PLCシステム1に接続可能なプログラム開発支援装置3の数は1に限られず、例えば、プログラム開発支援装置3に割当可能なアドレス数などが許す限り、任意の数のプログラム開発支援装置3を接続できる。
 以下に、PLCシステム1、制御装置11、及びプログラム開発支援装置3の詳細な構成についてそれぞれ説明する。
(2)PLCシステムの構成
 次に、PLCシステム1の詳細な構成について図1を用いて説明する。本実施形態に係るPLCシステム1は、制御装置11と、入力ユニット13と、出力ユニット15と、電源ユニット17と、を有する。
 本実施形態に係る制御装置11は、プログラマブル・ロジック・コントローラ(Programmable Logic Controller、PLC)のCPUユニットである。制御装置11においては、入力ユニット13(後述)に入力される入力信号が制御装置11内部において用いられる入力変数に関連づけられている。また、出力ユニット15(後述)への出力信号が制御装置11内部において用いられる出力変数に関連づけられている。
 また、制御装置11においては、所定のタスクが所定の周期にて繰り返し実行されている。ここで、タスクとは、入力ユニット13からの入力信号に基づいて入力変数を更新し、出力変数に基づいて出力ユニット15へ出力する出力信号を更新するI/Oリフレッシュ処理と、ユーザプログラム1131及び/又はシステムプログラム115a(後述)を実行する処理とを含む処理単位のことである。なお、タスクには、モーションコントロール処理などの他の処理がさらに含まれていてもよく、また、プログラムの実行処理のみが含まれていてもよい。
 入力ユニット13は、センサやスイッチなどの信号入力部5から入力信号を入力し、制御装置11に当該入力信号を出力する。入力ユニット13としては、信号入力部5から入力される信号種類に応じた入力ユニットを使用できる。具体的には、例えば、信号入力部5が温度を測定する熱電対により構成されている場合には、熱電対において発生する電圧を入力信号とする入力ユニットを入力ユニット13として用いることができる。また、例えば、信号入力部5が電気スイッチにより構成されている場合には、当該スイッチのON/OFF状態を入力信号とする入力ユニットを入力ユニット13として用いることができる。
 出力ユニット15は、制御装置11の出力変数に関連づけられた出力信号を、対応する制御対象機器7に出力する。これにより、制御装置11は、プログラムを実行することにより算出された出力変数に基づいて、制御対象機器7を制御できる。
 出力ユニット15は、出力信号の種類に応じた出力ユニットとして構成できる。例えば、制御対象機器7がモータであり、モータの位置制御などを行う場合には、モーションコントローラ機能を有した出力ユニットを用いることができる。また、例えば、制御対象機器7が電気炉である場合には、電気炉を制御するリレーを制御する信号(例えば、ON/OFFデューティ比を制御する信号)を出力する出力ユニットを用いることができる。
 電源ユニット17は、制御装置11、入力ユニット13、及び出力ユニット15に電力を供給する。
 なお、PLCシステム1は、上記の構成要素の全てを1の筐体内に組み込んだシステムであってもよいし、各構成要素を個別の筐体に組み込んで当該構成要素を接続してPLCシステムとしてもよい。特に、入力ユニット13及び出力ユニット15を個別の構成要素とすることにより、PLCシステム1は、所望する制御対象機器及び信号入力部を所望の数接続できる。
(3)制御装置の構成
 I.全体構成
 次に、制御装置11の構成の詳細について、図2及び図3Aを用いて説明する。図2は、制御装置及び開発支援装置の構成を示す図である。図3Aは、制御装置の詳細構成を示す図である。
 上記のように、制御装置11はPLCシステムにおけるCPUユニットである。図2に示すように、制御装置11は、プログラムの実行などの演算処理を行うCPU111と、書き込みと読み出しとが可能な記憶領域を提供するRAM113と、読み出しのみを主目的としている記憶領域を提供するROM115と、プログラム開発支援装置3との通信を行う通信インターフェース117と、記憶部119と、を有する。
 通信インターフェース117は、例えば、TCP/IP(Transmission Control Protocol/Internet Protocol)などのデータ通信プロトコルを用いてデータ送受信を実行する。これにより、制御装置11と、プログラム開発支援装置3に割当可能なアドレス数分のプログラム開発支援装置3との間にてデータ送受信できる。
 記憶部119は、各種データを記憶領域である。本実施形態において、記憶部119に記憶されるデータとしては、新たなデータコンテナ119a(後述)及び第1更新履歴119b(後述)がある。記憶部119は、例えば、SDメモリカードなどのコンパクト記憶媒体と、当該記憶媒体のデータの書き込み及び読み出しを行う装置(図示せず)などとにより構成できる。
 次に、制御装置11の各種機能を実現する各部について、図3Aを用いてさらに詳しく説明する。本実施形態において、以下に説明する制御装置11の各部の機能は、図2に示す制御装置11のCPU111において、ROM115に記憶されたシステムプログラム115aを実行することにより実現されている。
 図3Aに示すように、制御装置11は、タスク実行部1111と、データコンテナ生成部1113と、第1ユーザプログラム生成部1115と、生成指示部1117と、送受信部1171と、を有する。
 タスク実行部1111は、RAM113に記憶された制御対象機器7を制御するユーザプログラム1131を参照し、ユーザプログラム1131を含むタスクを所定の周期にて繰り返し実行する。なお、タスク実行部1111において実行されるタスクの数は複数であってもよい。
 タスク実行部1111は、ユーザプログラム1131を実行することにより、制御装置11の内部において用いられ、制御システム100における出力信号に関連付けられた出力変数を算出できる。
 また、タスク実行部1111が、上記のI/Oリフレッシュ処理により、出力ユニット15に対して、ユーザプログラムにより算出された出力変数に基づいた出力信号を出力するよう指令することにより、出力ユニットに接続された制御対象機器7が制御される。すなわち、ユーザプログラム1131の実行により、制御対象機器7が制御される。
 データコンテナ生成部1113は、第1ユーザプログラム生成部1115(後述)において更新後の新たなユーザプログラム1131を生成するために用いられる新たなデータコンテナ119aを生成し記憶する。新たなデータコンテナ119aには、新たなユーザプログラム1131を生成するために用いられるユーザプログラム生成用資源119a-1が含まれている。
 データコンテナ119aは、ユーザプログラム1131を生成するために用いられるユーザプログラム生成用資源119a-1(普通は複数)をまとめて保存しているデータフォルダの一種である。このデータコンテナ119aを用いてユーザプログラム1131が生成される際、データコンテナ119aに保存されているユーザプログラム生成用資源119a-1が、第1ユーザプログラム生成部1115(後述)及びプログラム開発支援装置3において実行されるユーザプログラム生成処理プログラムにより参照されて、ユーザプログラムが生成される。
 また、ユーザプログラム生成用資源119a-1は、ユーザプログラム1131を生成する際に用いられるソースプログラム(ユーザが認識可能な形式のプログラム)又は種々の設定情報を記載した設定ファイルのことである。設定情報には、制御システム100におけるハードウェア構成及びハードウェア同士の接続関係を示す物理的情報と、上記のハードウェアの設定、変数のマッピング設定、タスク設定などの論理的情報とがある。
 また、データコンテナ生成部1113は、新たなデータコンテナ119aを生成する際に、第1更新履歴119b(後述)に保存されている変更履歴119b-1を用いる。従って、データコンテナ生成部1113は、第1更新履歴119bを保存している。変更履歴119b-1は、後述するように、ユーザプログラム1131(データコンテナ119a)に対してどのような変更が行われたか(変更が加えられたユーザプログラム生成用資源119a-1、その具体的な変更内容(差分)など)が記録されている。
 データコンテナ生成部1113の構成については、後ほど詳しく説明する。
 第1ユーザプログラム生成部1115は、データコンテナ生成部1113(の第1保存部1113-3(後述))に保存される新たなデータコンテナ119aに含まれるユーザプログラム生成用資源119a-1を用いてユーザプログラム1131を生成する。第1ユーザプログラム生成部1115は、生成指示部1117(後述)からの指示があった場合に、ユーザプログラム1131を生成する。
 従って、第1ユーザプログラム生成部1115は、例えば、データコンテナ119a中のユーザプログラム生成用資源119a-1を用いて制御装置11において実行可能な形式のプログラムを生成するコンパイラである。
 生成指示部1117は、第1ユーザプログラム生成部1115に対して、ユーザプログラムを生成するように指示する。図3Aに示すように、生成指示部1117は、外部(例えば、プログラム開発支援装置3)から、ユーザプログラム生成指示を受信すれば、第1ユーザプログラム生成部1115に対してユーザプログラムの生成を指示する。
 これにより、第1ユーザプログラム生成部1115は、外部(プログラム開発支援装置3)からユーザプログラム生成指示を受信すれば、ユーザプログラム1131を生成できる。すなわち、任意のタイミングにおいてユーザプログラム1131を生成できる。
 また、上記のユーザプログラム生成指示には、第1更新履歴119bに記憶されたどの変更履歴119b-1を用いて新たなデータコンテナを生成するかを指定する変更履歴指定情報が含まれている。これにより、第1ユーザプログラム生成部1115は、任意の変更段階(変更履歴)において生成されるデータコンテナを用いてユーザプログラム1131を生成できる。
 例えば、図4に示す第1更新履歴119bにおける更新番号11の更新の実行時にユーザプログラム生成指示を受信し、変更履歴指定情報に「更新番号9」と記録されている場合、第1ユーザプログラム生成部1115は、更新番号9までの変更履歴119b-1を適用(図4に示す例では、更新番号6から9までを適用)したデータコンテナ119aを用いて、新たなユーザプログラム1131を生成する。
 送受信部1171は、制御装置11と外部(本実施形態においては、プログラム開発支援装置3)とのデータ通信を行う。従って、送受信部1171は、上記の通信インターフェース117である。
 また、送受信部1171が外部(プログラム開発支援装置3)から内容を変更したユーザプログラム及び内容変更データコンテナを受信した場合、次の処理を行う。ここで、内容を変更したユーザプログラム1131は、プログラム開発支援装置3などにおいて作成された実行形式のユーザプログラム1131のことである。また、内容変更データコンテナ119aは、上記の内容を変更したユーザプログラム1131を生成した際に用いられた内容変更ユーザプログラム生成用資源119a-1を含むデータコンテナ119aである。
 内容を変更したユーザプログラム1131と内容を変更したユーザプログラム1131を受信後、データコンテナ生成部1113は第1保存部1113-3(後述)に保存される。また、それとともに、第1変更管理部1113-1(後述)が、受信した内容変更データコンテナ119aを第1更新履歴に記憶する。さらに、RAM113に記憶されている(現在実行されている)ユーザプログラム1131が、受信した内容を変更したユーザプログラムに置き換えられる。すなわち、受信した内容を変更したユーザプログラム1131が、以後のタスク実行時にタスク実行部1111において実行される新たなユーザプログラム1131となる。
 これにより、プログラム開発支援装置3などの外部においてユーザプログラム1131の内容の変更がなされた場合でも、現在実行されているユーザプログラム1131を内容を変更したユーザプログラム1131に置き換えることができる。
 また、上記の内容を変更したユーザプログラム1131を生成する際に用いられた内容変更データコンテナ119aが第1更新履歴119bに記憶されることにより、外部においてユーザプログラム1131の内容の変更がなされた場合でも、ユーザプログラム1131に対してどのような内容の変更がなされたかについての情報を共有できる。
 II.データコンテナ生成部の構成
 次に、データコンテナ生成部1113の構成について、図3Aを用いて説明する。図3Aに示すように、データコンテナ生成部1113は、第1変更管理部1113-1と、第1保存部1113-3と、を有する。第1変更管理部1113-1は、第1保存部1113-3に保存されたデータコンテナ(すなわち、現在実行されているユーザプログラム1131を生成する際に用いられたデータコンテナ119a)の内容が変更された場合、データコンテナの変更履歴119b-1を第1更新履歴119bに記憶する。
 変更履歴119b-1を第1更新履歴119bに記憶する際、第1変更管理部1113-1は、第1保存部1113-3(後述)に保存されているデータコンテナ119aに含まれるユーザプログラム生成用資源119a-1への変更の差分を変更履歴119b-1に記憶する。
 第1ユーザプログラム生成部1115又はプログラム開発支援装置3などにおいてユーザプログラム1131が生成される際には、ソースファイルがコンパイルされると共に、設定ファイルにおける設定がソースファイルのコンパイル中に反映されて、実行可能な形式のユーザプログラム1131が生成される。
 また、変更履歴119b-1を記憶するとともに、第1変更管理部1113-1は、所定のタイミングにおいて、変更履歴119b-1を用いて生成された新たなデータコンテナ119aを第1保存部1113-3に保存する。
 第1変更管理部1113-1は、第1更新履歴119bに記憶されているデータコンテナ119aに対して、上記の変更履歴119b-1を反映させることにより新たなデータコンテナ119aを生成する。
 例えば、第1更新履歴119bに記憶されるデータコンテナ119aが新規のデータコンテナ119aである場合には、新規のデータコンテナ119aが生成されてから今回の変更履歴119b-1に至るまでの全ての変更履歴119b-1が、第1更新履歴119bに記憶されているデータコンテナ119aに適用される。上記の「新規のデータコンテナ119a」は、ユーザプログラム1131が何もない状態から新規に生成されたときに用いられたデータコンテナ119aである。
 なお、第1更新履歴119bに記憶されるデータコンテナ119aは新規にユーザプログラム1131を生成したときに用いられたデータコンテナ119aに限られない。第1更新履歴119bに記憶されるデータコンテナ119aは、所定の更新段階(変更履歴)において生成されたデータコンテナ119aであってもよい。この場合、新たなデータコンテナ119aは、第1更新履歴119bに記憶されたデータコンテナ119aが生成されたときの変更履歴119b-1から現在の変更履歴119b-1までの変更履歴を当該データコンテナ119aに反映することにより、生成される。なお、上記の変更履歴119b-1の詳細については後述する。
 第1保存部1113-3には、データコンテナ119aが保存される。第1保存部1113-3に保存されるデータコンテナ119aは、現在実行されているユーザプログラム1131を生成した際に用いられたデータコンテナ119aが保存されている。これにより、第1保存部1113-3に保存されたデータコンテナ119aを参照することにより、現在実行されているユーザプログラム1131を生成したデータコンテナ119aの内容を知ることができる。
 つまり、第1保存部1113-3に、現在実行されているユーザプログラム1131を生成したデータコンテナ119aが保存されていることにより、現在実行されているユーザプログラム1131が、どの変更段階(変更履歴)において生成されたデータコンテナに含まれるユーザプログラム生成用資源119a-1により生成されたかについての情報を共有できる。
 なお、第1変更管理部1113-1は、第1保存部1113-3に保存されているデータコンテナ119aに対して第1更新履歴119bに記憶された変更履歴119b-1の内容を適用して、新たなデータコンテナ119aとしてもよい。この場合、第1変更管理部1113-1は、第1保存部1113-3に保存されたデータコンテナ119aに、第1保存部1113-3に保存されたデータコンテナ119aが生成された変更履歴119b-1から現在の変更履歴119b-1までを反映させることにより、新たなデータコンテナ119aを生成できる。
 III.更新履歴の構成
 次に、第1更新履歴119bの構成について、図4を用いて説明する。図4は、第1更新履歴の構成の一例を示す図である。
 図4に示すように、第1更新履歴119bは、更新番号記録領域119b-11と、更新対象記録領域119b-12と、更新内容記録領域119b-13と、更新ユーザ記録領域119b-14と、更新日時記録領域119b-15と、ユーザプログラム生成実行記録領域119b-16と、備考記録領域119b-17と、を有する。また、第1更新履歴119bに記録されたデータ1行分が、変更履歴119b-1に対応する。
 更新番号記録領域119b-11は、変更履歴119b-1を識別する更新番号を記録する。更新対象記録領域119b-12は、どのユーザプログラム生成用資源119a-1に対して変更がなされたかを記録する。なお、更新番号1の更新対象記録領域119b-12に記載の「新規」は、ユーザプログラム1131のためのデータコンテナ119aが新規作成されてことを意味している。
 更新内容記録領域119b-13は、更新対象記録領域119b-12に記録されたユーザプログラム生成用資源119a-1に対する具体的な更新内容を記録する。新たなユーザプログラム1131を生成するために用いる新たなデータコンテナ119aは、第1更新履歴119b又は第1保存部に保存されたデータコンテナ119aにおいて、上記の更新対象記録領域119b-12に記録されたユーザプログラム生成用資源119a-1に対して、更新内容記録領域119b-13に記録された更新内容を適用することにより、生成できる。
 更新ユーザ記録領域119b-14は、内容の変更を実行したユーザ名を記録する。更新日時記録領域119b-15は、内容の変更が実行された日時(更新日時)を記録する。ユーザプログラム生成実行記録領域119b-16は、どの変更履歴119b-1においてユーザプログラム1131が生成されたかを記録する。図4に示す例においては、更新番号1の更新の実行時(新規作成)と更新番号6の更新の実行時とにおいて、ユーザプログラム1131が生成又は外部から受信されている。すなわち、図4に示す例においては、現在、更新番号6の更新時のデータコンテナ119aが第1保存部1113-3に保存されている。従って、現在(例えば、更新番号12の更新時)は、更新番号6の更新時のデータコンテナ119aの内容までさかのぼって、データコンテナ119aを生成できる(現在生成可能なデータコンテナ119aであって最も古い更新内容のデータコンテナは、更新番号6の更新時のデータコンテナ119a)。
 図4に示す更新履歴の場合、第1保存部1113-3には、更新番号6の更新の実行時において生成されたデータコンテナ119aが保存されている。なぜなら、更新番号6の更新の実行が、ユーザプログラム1131を生成した最も直近の更新の実行であるからである。
 備考記録領域119b-17は、各更新に対する備考を記録する。当該更新に対する備考は、各データコンテナ119aの更新がなされたときに、ユーザにより記録されてもよいし、制御装置11が自律的に更新した場合は、第1変更管理部1113-1が記録してもよい。
 図4に示す例では、更新番号6の備考記録領域119b-17に「資源A追加」と記載されている。この場合、更新対象記録領域119b-12には、「資源A」と記録されており、更新内容記録領域119b-12には、「追加」と記録されている。このように、備考記録領域119b-17には、ユーザプログラム生成用資源119a-1(データコンテナ119a)に対する変更内容の概略を記録できる。
 図4に示すような第1更新履歴119bにより、制御システム100においては、ユーザプログラム1131に対してどのような内容の変更が加えられてきたかを内容の更新毎に記憶できる。また、図4に示す第1更新履歴119bが、プログラム開発支援装置3などにより閲覧可能となっていれば、ユーザプログラム1131の開発を行うユーザは、プログラム開発支援装置3を用いて、ユーザプログラムに対して行われた変更の具体的内容を視覚的に確認できる。
 本実施形態の制御装置11が上記の構成要素を有することにより、現在実行されているユーザプログラム1131が、どの変更段階(変更履歴119b-1)において生成されたデータコンテナ119aに含まれるユーザプログラム生成用資源119a-1により生成されたかについての情報を共有できる。すなわち、現在実行されているユーザプログラムが、どの変更段階におけるユーザプログラム1131であるかについての情報を共有できる。
 なお、上記の図3Aを用いて説明した制御装置11においては、プログラム開発支援装置3からのユーザプログラム生成指示を受信した場合に、第1ユーザプログラム生成部1115はユーザプログラム1131を生成していた。しかし、ユーザプログラム1131を生成するタイミングはユーザプログラム生成指示を受信したときに限られない。
 変形例として、図3Bに示すように、第1変更管理部1113-1からの指示を受信し、当該指示の受信時に、生成指示部1117が第1ユーザプログラム生成部1115に対してユーザプログラム1131の生成を指示してもよい。すなわち、第1変更管理部1113-1からの指示により、ユーザプログラム1131を生成してもよい。図3Bは、制御装置の変形例を示す図である。
 この場合、第1変更管理部1113-1がデータコンテナ119aの内容の変更を検出するたびに、第1ユーザプログラム生成部1115に対して、ユーザプログラム1131を生成するよう指示してもよい。これにより、各段階のデータコンテナ119aの内容の変更を変更履歴119b-1に残しつつ、直近の内容の変更がなされたデータコンテナ119aを用いて最新の更新状態のユーザプログラム1131を生成できる。
(4)プログラム開発支援装置の構成
 次に、プログラム開発支援装置3の構成の詳細について、図2を用いて説明する。
 プログラム開発支援装置3は、例えば、パーソナルコンピュータなどのコンピュータである。よって、図2に示すように、プログラム開発支援装置3は、プログラムの実行などの演算処理を行うCPU31と、記憶領域を提供する記憶部33と、キーボードやマウスなどの入力手段により構成されている操作部35と、制御装置11との通信を行う通信インターフェース37と、画面表示を行う表示部39と、を有する。
 なお、通信インターフェース37は、制御装置11におけるデータ通信プロトコルと同一のプロトコルを用いて、制御装置11とデータ送受信を行う。従って、本実施形態において、通信インターフェース37は、例えば、TCP/IPプロトコルにて通信可能なインターフェースである。
 上記のプログラム開発支援装置3においては、記憶部33に記憶されている開発支援プログラム33aをプログラム開発支援装置3上にて実行することにより、ユーザプログラム1131に対する編集、又は、ユーザプログラム1131の生成ができる。
 本実施形態においては、プログラム開発支援装置3は、ユーザプログラム1131(データコンテナ119a)を編集するとき、第1保存部1113-3(データコンテナ生成部1113)に保存されているデータコンテナ119a、又は、データコンテナ119aに含まれているユーザプログラム生成用資源119a-1をダウンロードして、データコンテナ119a又はユーザプログラム生成用資源119a-1を編集する。
 上記のように、第1保存部1113-3に保存されているデータコンテナ119aは、制御装置11において現在実行されているユーザプログラム1131を生成する際に用いられたデータコンテナである。そのため、第1保存部1113-3に保存されているデータコンテナ119a又はユーザプログラム生成用資源119a-1をダウンロードして編集することは、現在実行されているユーザプログラム1131の内容を変更することになる。すなわち、上記の方法によりプログラム開発支援装置3上にてデータコンテナ119a又はユーザプログラム生成用資源119a-1を生成することにより、オンラインエディット機能が実現されている。
 データコンテナ119a又はユーザプログラム生成用資源119a-1を編集後、プログラム開発支援装置3は、ユーザの指示により、編集後のデータコンテナ119a又はユーザプログラム生成用資源119a-1を用いて内容を変更したユーザプログラム1131を生成して、データコンテナ119aとともに制御装置11に送信するか、又は、編集したデータコンテナ119a又はユーザプログラム生成用資源119a-1のみを制御装置11に送信するかを選択可能となっている。
 これにより、プログラム開発支援装置3は、編集したデータコンテナ119a又はユーザプログラム生成用資源119a-1の内容をユーザプログラム1131に対してすぐに適用するか、すぐには適用せずに制御装置11において内容の変更を変更履歴119b-1として記憶しておくかを選択できる。
(5)制御システムにおけるユーザプログラムの更新動作
 次に、制御システム100(制御装置11)におけるユーザプログラム1131の更新動作について、図5を用いて説明する。図5は、制御システムにおけるユーザプログラムの更新動作を示すフローチャートである。以下に説明するユーザプログラム1131の更新動作は、制御システム100の制御装置11において、ユーザプログラム1131の実行中に行われるユーザプログラム1131の更新動作(オンラインエディット)である。
 まず、プログラム開発支援装置3において、開発支援プログラム33aが実行されることにより、データコンテナ119a又はユーザプログラム生成用資源119a-1の編集が可能となる。その後、プログラム開発支援装置3を用いるユーザは、データコンテナ119a又はユーザプログラム生成用資源119a-1を編集する(ステップS1)。
 具体的には、まず、プログラム開発支援装置3が制御装置11の第1保存部1113-3に保存されているデータコンテナ119a又は当該データコンテナ119a中の編集したいユーザプログラム生成用資源119a-1を、制御装置11から受信する。その後、ユーザは、受信したデータコンテナ119a又はユーザプログラム生成用資源119a-1を編集する。これにより、第1保存部1113-3に保存されたデータコンテナ119aの内容が変更される。
 データコンテナ119a又はユーザプログラム生成用資源119a-1の編集後、プログラム開発支援装置3は、編集後のデータコンテナ119a又はユーザプログラム生成用資源119a-1を制御装置11に送信する(ステップS2)。このとき、上記のステップS1の段階において、編集後のデータコンテナ119a又はユーザプログラム生成用資源119a-1を用いてユーザプログラム1131を生成してもよい。そして、編集後のデータコンテナ119aと共に生成したユーザプログラム1131を制御装置11に送信してもよい。
 プログラム開発支援装置3などにおいてデータコンテナ119a又はユーザプログラム生成用資源119a-1を編集中、制御装置11においては、編集後の内容を変更したデータコンテナ119a、ユーザプログラム生成用資源119a-1、及び/又は内容を変更したユーザプログラム1131が受信されたかどうか確認する(ステップS3)。
 制御装置11において、データコンテナ119a、ユーザプログラム生成用資源119a-1、及び/又は内容を変更したユーザプログラム1131が受信されていない場合(ステップS3において「No」の場合)、ステップS1に戻り、制御装置11は、編集後のデータコンテナ119a、ユーザプログラム生成用資源119a-1、及び/又は内容が変更されたユーザプログラム1131の受信のため待機する。
 一方、制御装置11において、データコンテナ119a、ユーザプログラム生成用資源119a-1、及び/又は内容を変更したユーザプログラム1131を受信した場合(ステップS3において「Yes」の場合)、制御装置11は、内容を変更したユーザプログラム1131を受信したかどうかを確認する(ステップS4)。
 制御装置11が内容を変更したユーザプログラム1131を受信している場合(ステップS4において「Yes」の場合)、第1変更管理部1113-1は、当該内容を変更したユーザプログラム1131とともに受信したデータコンテナ119aの変更履歴119b-1を第1更新履歴119bに記憶する(ステップS5)。
 このとき、受信したデータコンテナ119aそのもの(ユーザプログラム生成用資源119a-1の全部)を変更履歴119b-1として記憶してもよいし、受信したデータコンテナ119a中の内容を変更したユーザプログラム生成用資源119a-1(内容変更ユーザプログラム生成用資源119a-1)を変更履歴として記録してもよい。
 このように、プログラム開発支援装置3によりユーザプログラム1131の内容が変更されてユーザプログラム1131が実行形式に変換されて送信されてきても、制御装置11において、ユーザプログラム1131に対してどのような内容の変更がなされたかについての情報を共有できる。
 また、第1変更管理部1113-1は、受信したデータコンテナ119a(内容変更データコンテナ119a)を第1保存部1113-3に保存する。その後、第1変更管理部1113-1は、送受信部1171に対して、受信した内容を変更したユーザプログラム1131を、現在実行されているユーザプログラム1131が記憶されている領域に記憶するよう指令する(ステップS6)。これにより、受信した内容を変更したユーザプログラム1131を、以後タスク実行部1111において実行される新たなユーザプログラム1131とできる。これにより、今後実行されるユーザプログラム1131を生成するときに用いたデータコンテナ119aを、第1保存部1113-3に保存できる。
 その後、制御システム100におけるユーザプログラム1131の更新を終了する。
 なお、上記のステップS1~S6の方法にてユーザプログラムの内容を更新する場合、制御対象機器7を停止させる必要があるのは、ステップS6の実行時において、ユーザプログラム1131を新たなユーザプログラム1131とする場合のみである。これにより、ユーザプログラム1131の内容の変更をする場合の制御対象機器7の停止時間を短縮できる。
 一方、制御装置11において、内容を変更したユーザプログラム1131が受信されていない場合(ステップS4において「No」の場合)、第1変更管理部1113-1は、第1更新履歴119bに変更履歴119b-1を記憶する(ステップS7)。このとき、変更履歴119b-1としては、第1保存部1113-3に保存されているデータコンテナ119aからの差分が記憶される。
 例えば、ユーザプログラム生成用資源119a-1の内容が変更されている場合には、受信したユーザプログラム生成用資源119a-1、又は、データコンテナ119a中の内容が変更されたユーザプログラム生成用資源119a-1(差分)が変更履歴119b-1として記憶される。
 また、データコンテナ119aに含まれていたユーザプログラム生成用資源119a-1が削除または新たに追加されることにより、データコンテナ119aの内容が変更された場合には、内容が変更された(ユーザプログラム生成用資源119a-1が削除又は追加された)データコンテナ119aを変更履歴119b-1として記憶する。
 変更履歴119b-1を記憶後、第1ユーザプログラム生成部1115が、ユーザプログラム1131を生成するかどうかを判断する(ステップS8)。本実施形態においては、第1ユーザプログラム生成部1115が、生成指示部1117から指示を受信したかどうかにより判断する。本実施形態においては、プログラム開発支援装置3などから生成指示部1117に対してユーザプログラム生成指示が送信されたときに、ユーザプログラム1131を生成すると判断する。
 また、図3Bに示す制御装置11の変形例においては、第1変更管理部1113-1において、データコンテナ119aの内容の変更を検出する毎(すなわち、内容の変更毎)に、ユーザプログラム1131を生成すると判断する。
 第1ユーザプログラム生成部1115において、ユーザプログラム1131を生成しないと判断された場合(ステップS8において「No」の場合)、ユーザプログラム1131の更新を終了する。これにより、データコンテナ119aの内容が変更されたがユーザプログラム1131が生成されなかった場合でも、データコンテナ119aに対する内容の変更に関する情報(変更履歴119b-1)は記憶できる。
 一方、第1ユーザプログラム生成部1115において、ユーザプログラム1131を生成すると判断された場合(ステップS8において「Yes」の場合)、新たなデータコンテナ119aの生成と保存が実行される(ステップS9)。
 具体的には、第1変更管理部1113-1が、第1更新履歴119bに保存されているデータコンテナ119aと、ユーザプログラム生成指示に含まれる変更履歴指定情報に示されている変更履歴119b-1とに基づいて、上記にて説明した方法にて新たなデータコンテナ119aが生成される。
 新たなデータコンテナ119aを生成後、第1変更管理部1113-1は、生成した新たなデータコンテナ119aを第1保存部1113-3に保存する。
 新たなデータコンテナ119aを第1保存部1113-3に保存後、第1ユーザプログラム生成部1115は、第1保存部1113-3に保存されている新たなデータコンテナ119aに含まれている新たなユーザプログラム生成用資源119a-1を用いて、新たなユーザプログラム1131を生成する(ステップS10)。
 第1ユーザプログラム生成部1115が新たなユーザプログラム1131を生成後、第1ユーザプログラム生成部1115は、例えば、生成した新たなユーザプログラム1131をRAM113の現在実行されているユーザプログラム1131の記憶領域に書き込むことにより、新たなユーザプログラム1131を以後タスクの実行時に実行されるユーザプログラム1131とできる(ステップS11)。
 上記において説明したステップを実行することにより、制御システム100(制御装置11)においては、現在実行されているユーザプログラムが、どの変更段階(変更履歴119b-1)において生成されたデータコンテナに含まれるユーザプログラム生成用資源により生成されたかについての情報を共有できる。
 また、データコンテナ119aの内容の変更を行ったときにユーザプログラム1131の生成がなされていない場合でも、当該内容の変更の具体的内容が、変更履歴119b-1として記憶できる。その結果、ユーザプログラム1131に対してなされた全ての内容の変更を第1更新履歴119bから参照できる。
 なお、上記のステップS1~S11の方法にてユーザプログラムの内容を更新する場合、制御対象機器7を停止させる必要があるのは、ステップS8において、ユーザプログラム生成指示を受信し(所定のタイミングにて)、ステップS11の実行時において、ユーザプログラム1131を新たなユーザプログラム1131とする場合のみである。これにより、ユーザプログラム1131の内容の変更をする場合の制御対象機器7の停止時間を短縮できる。
2.第2実施形態
 上記において説明した第1実施形態に係る制御システム100においては、プログラム開発支援装置3以外のコンピュータは存在していなかった。しかし、これに限られない。図6に示すように、以下に説明する第2実施形態に係る制御システム200には、サーバ2がさらに接続されていてもよい。図6は、第2実施形態に係る制御システムの構成を示す図である。
 第2実施形態に係る制御システム200は、PLCシステム1と、プログラム開発支援装置3と、サーバ2と、を備える。第2実施形態に係る制御システム200は、PLCシステム1の制御装置11と、プログラム開発支援装置3と、サーバ2と、が通信ネットワークNWを介して、互いに通信可能に接続されている。
 第2実施形態に係る制御システム200におけるPLCシステム1(制御装置11)と、プログラム開発支援装置3とは、第1実施形態において説明したPLCシステム1とプログラム開発支援装置3と同じであるため、説明を省略する。
 サーバ2は、例えば、サーバとして動作するコンピュータである。よって、図6に示すように、サーバ2は、プログラムの実行などの演算処理を行うCPU21と、サーバ機能を提供するサーバプログラム23aが記憶されたRAM23と、第2更新履歴213a(後述)を記憶する記憶領域を提供する記憶部25と、通信インターフェース27とを有する。
 通信インターフェース27は、制御システム200におけるデータ通信プロトコルと同一のプロトコルを用いて、制御装置11及びプログラム開発支援装置3とデータ送受信を行う。従って、本実施形態において、通信インターフェース27は、例えば、TCP/IPプロトコルにて通信可能なインターフェースである。
 次に、サーバ2の詳細構成について、図7を用いて説明する。図7は、サーバの詳細構成を示す図である。図7に示すサーバ2の各構成の機能は、上記のサーバプログラム23aにより実現されている。
 図7に示すように、サーバ2は、送受信部211と第2変更管理部213とを有する。送受信部211は、上記の通信インターフェース27を用いて、制御装置11及びプログラム開発支援装置3とデータの送受信を行う。
 第2変更管理部213は、第2更新履歴213aを記憶する。第2更新履歴213aは、データコンテナ119aの変更履歴119b-1を記憶している。第2変更管理部213は、以下の3つの方法により、第2更新履歴213aに変更履歴119b-1を記憶する。
 1つめは、制御装置11の第1変更管理部1113-1に記憶された第1更新履歴119bを複製した複製更新履歴を第2更新履歴213aとして保存する(ミラーリング)。これにより、第2変更管理部213において、第1更新履歴119bと常時一致する第2更新履歴213aを保存できる。すなわち、第1更新履歴119bを予備的に第2変更管理部213に保存できる。
 2つめは、制御装置11(第1変更管理部1113-1)が第1更新履歴119bを第2変更管理部213にバックアップして第2更新履歴213aとして保存する(バックアップ)。これによっても、第1更新履歴119bを予備的に第2変更管理部213に保存できる。
 外部(プログラム開発支援装置3)からデータコンテナ119aの内容の変更を受信後、プログラム開発支援装置3から受信したデータコンテナ119aの変更履歴である外部変更履歴を第2更新履歴213aに記憶する。そして、第2変更管理部213は、第2更新履歴213aに記憶した外部変更履歴を、第1変更管理部1113-1に送信する(リストア)。
 このとき、第1変更管理部1113-1は、受信した外部変更履歴を第1更新履歴119bに記憶する。また、第1変更管理部1113-1は、それとともに、所定のタイミングにおいて外部変更履歴に基づいて生成したデータコンテナ119aを第1保存部1113-3に保存する。
 これにより、プログラム開発支援装置3などの外部からデータコンテナ119aの内容の変更の要求があった場合でも、外部から受信したデータコンテナ119aの変更履歴119b-1を、第1変更管理部1113-1の第1更新履歴119b、及び、第2変更管理部213の第2更新履歴213aの両方に保存できる。
 上記のように、制御システム200にサーバ2を備えることにより、制御装置11に記憶されている第1更新履歴119bをサーバ2に予備的に保存できる。その結果、制御装置11の不調などにより、制御装置11に記憶されている第1更新履歴119bにアクセスできない場合、又は、第1更新履歴119bが制御装置11から失われた場合に、第1更新履歴119bをサーバ2から制御装置11へと戻すことができる。
3.第3実施形態
 上記において説明した第1実施形態に係る制御システム100及び第2実施形態に係る制御システム200においては、制御装置11が、実行形式のユーザプログラム1131を生成する機能(第1ユーザプログラム生成部1115)を有していた。しかし、これに限られない。図8A及び図8Bに示すように、第3実施形態に係る制御システム300においては、実行形式のユーザプログラム1131を生成する機能を、ユーザプログラム生成サーバ4が有していてもよい。図8Aは、第3実施形態に係る制御システム300の構成を示す図である。図8Bは、第3実施形態に係る制御システム300の詳細構成を示す図である。
 第3実施形態に係る制御システム300は、PLCシステム1と、プログラム開発支援装置3と、ユーザプログラム生成サーバ4と、を備える。図8Aに示すように、第3実施形態に係る制御システム300は、PLCシステム1の制御装置11と、プログラム開発支援装置3と、ユーザプログラム生成サーバ4と、が通信ネットワークNWを介して、互いに通信可能に接続されている。
 第3実施形態に係る制御システム300におけるプログラム開発支援装置3は、第1実施形態において説明したプログラム開発支援装置3と同じであるため、説明を省略する。
 また、図8Bに示すように、PLCシステム1の制御装置11は、第1ユーザプログラム生成部1115と生成指示部1117とを備えていないこと以外は、第1実施形態及び第2実施形態における制御装置11と同じ構成を有する。従って、制御装置11の説明も省略する。
 ユーザプログラム生成サーバ4は、例えば、サーバとして動作するコンピュータである。よって、図8Aに示すように、ユーザプログラム生成サーバ4は、プログラムの実行などの演算処理を行うCPU41と、ユーザプログラム1131を生成する機能を有する生成プログラム43aが記憶されたRAM43と、データコンテナ119aを保存する記憶領域を提供する記憶部45と、制御装置11及び、必要に応じて、プログラム開発支援装置3とデータの送受信を行う通信インターフェース47とを有する。
 次に、ユーザプログラム生成サーバ4の詳細構成について、図8Bを用いて説明する。図8Bに示すユーザプログラム生成サーバ4の各構成の機能は、上記の生成プログラム43aにより実現されている。
 図8Bに示すように、ユーザプログラム生成サーバ4は、第3保存部411と、第2ユーザプログラム生成部413と、送受信部415と、を有する。
 第3保存部411は、第1変更管理部1113-1において生成されたデータコンテナ119aを受信し保存する。第2ユーザプログラム生成部413は、第3保存部411に保存されたデータコンテナ119aの含まれるユーザプログラム生成用資源119a-1を用いてユーザプログラム1131を生成する。また、第2ユーザプログラム生成部413は、生成したユーザプログラム1131を制御装置11に送信する。
 送受信部415は、上記の通信インターフェース47を用いて、制御装置11及び、必要に応じてプログラム開発支援装置3とデータの送受信を行う。
 第3実施形態に係る制御システム300においては、所定のタイミング(例えば、プログラム開発支援装置3からのユーザプログラム生成指示の受信タイミング)において、第1変更管理部1113-1が変更履歴119b-1を用いて新たなデータコンテナ119aを生成した際に、新たなデータコンテナ119aを、第1保存部1113-3だけでなく、ユーザプログラム生成サーバ4の第3保存部411にも保存する。
 第3保存部411に新たなデータコンテナ119aが保存された際に、第2ユーザプログラム生成部413が、第3保存部に保存された新たなデータコンテナ119aを用いてユーザプログラム1131を生成する。その後、第2ユーザプログラム生成部413は、生成したユーザプログラム1131を制御装置11に送信する。
 上記の生成したユーザプログラム1131を受信した制御装置11は、受信したユーザプログラム1131を、RAM113のユーザプログラム1131が記憶されている領域に書き込む。これにより、ユーザプログラム生成サーバ4において生成したユーザプログラム1131を、制御装置11におけるユーザプログラム1131として記憶できる。
 上記のようにユーザプログラム生成サーバ4においてユーザプログラム1131の生成がなされることにより、制御装置11における計算負荷を低減できる。
4.実施形態の共通事項
 上記第1~第3実施形態は、下記の構成及び機能を有している。
 第1実施形態及び第2実施形態に係る制御装置11(制御装置の一例)は、タスク実行部1111(タスク実行部の一例)と、第1保存部1113-3(第1保存部の一例)と、第1変更管理部1113-1(第1変更管理部の一例)と、第1ユーザプログラム生成部1115(第1ユーザプログラム生成部の一例)と、を備える。
 タスク実行部1111は、制御対象機器7(制御対象機器の一例)を制御するユーザプログラム1131(ユーザプログラムの一例)を含むタスクを所定の周期にて繰り返し実行する。第1保存部1113-3には、データコンテナ119a(データコンテナの一例)が保存される。データコンテナ119aは、ユーザプログラム生成用資源119a-1(ユーザプログラム生成用資源の一例)を含む。ユーザプログラム生成用資源119a-1は、ユーザプログラム1131を生成するために用いられる資源のことである。
 第1変更管理部1113-1は、第1保存部1113-3に保存されたデータコンテナ119aの内容が変更された場合、データコンテナ119aの変更履歴119b-1(変更履歴の一例)を第1更新履歴119b(第1更新履歴の一例)に記憶する。また、それとともに、第1変更管理部1113-1は、所定のタイミングにおいて変更履歴119b-1を用いて生成された新たなデータコンテナ119aを第1保存部1113-3に保存する。
 第1ユーザプログラム生成部1115は、所定のタイミングにおいて、第1保存部1113-3に保存される新たなデータコンテナ119aに含まれる新たなユーザプログラム生成用資源119a-1を用いてユーザプログラム1131を生成する。
 第1実施形態及び第2実施形態に係る制御装置11においては、第1保存部1113-3に保存されたデータコンテナ119aの内容が変更されると、第1変更管理部1113-1がデータコンテナの変更履歴119b-1を第1更新履歴119bに記憶する。また、第1変更管理部1113-1は、所定のタイミングにおいて、変更履歴119b-1を用いて新たなデータコンテナ119aを生成し、生成した新たなデータコンテナ119aを第1保存部1113-3に保存する。
 その後、第1ユーザプログラム生成部1115が、所定のタイミングにおいて、第1保存部1113-3に保存されている上記の新たなデータコンテナ119aに含まれる新たなユーザプログラム生成用資源119a-1を用いて新たなユーザプログラム1131を生成する。
 従って、第1実施形態及び第2実施形態に係る制御装置11においては、新たなユーザプログラム1131を生成する際に用いられた新たなユーザプログラム生成用資源119a-1を含む新たなデータコンテナ119aが、第1保存部1113-3に保存されている。また、データコンテナ119aへの変更履歴119b-1が第1更新履歴119bに記憶されている。
 これにより、第1実施形態及び第2実施形態に係る制御装置11において、現在実行されているユーザプログラム1131が、どの変更段階(変更履歴119b-1)において生成されたデータコンテナ119aに含まれるユーザプログラム生成用資源119a-1により生成されたかについての情報を共有できる。すなわち、現在実行されているユーザプログラム1131が、どの変更段階におけるユーザプログラム1131であるかについての情報を共有できる。
 また、第1ユーザプログラム生成部1115が、所定のタイミングにおいてユーザプログラム1131を生成している。これにより、オンラインエディット機能においてユーザプログラム1131の内容の変更をする際に、ユーザプログラムの更新のための制御対象機器の停止時間を短縮できる。なぜなら、ユーザプログラム1131の更新のための制御対象機器7の停止時間を、ユーザプログラム1131を生成したときだけ(すなわち、所定のタイミングだけ)にできるからである。
 第1実施形態及び第2実施形態に係る制御装置11において、所定のタイミングは、第1変更管理部1113-1がデータコンテナ119aの内容の変更を検出するタイミングとしている。これにより、制御装置11においては、各段階のデータコンテナ119aの内容の変更を変更履歴119b-1に残しつつ、直近の内容の変更がなされたデータコンテナ119aを用いて最新の更新状態のユーザプログラム1131を生成できる。
 第1実施形態及び第2実施形態に係る制御装置11において、所定のタイミングは、ユーザプログラム生成指示(ユーザプログラム生成指示)を外部から受信したタイミングとしている。この場合、ユーザプログラム生成指示には、第1更新履歴119bに記憶されたどの変更履歴119b-1を用いて新たなデータコンテナ119aを生成するかを指定する変更履歴指定情報(変更履歴指定情報の一例)が含まれている。
 また、第1ユーザプログラム生成部1115は、変更履歴指定情報に指定された変更履歴119b-1を用いて生成された新たなデータコンテナ119aを用いてユーザプログラム1131を生成している。
 これにより、予め決定したタイミングにおいて新たなユーザプログラム1131を生成できる。また、第1更新履歴119bに記憶されているどの変更履歴119b-1を用いて新たなデータコンテナ119aを生成するかを指定可能とすることにより、任意の変更段階(変更履歴119b-1)におけるデータコンテナ119aを用いてユーザプログラム1131を生成できる。
 第1実施形態及び第2実施形態に係る制御装置11において、内容を変更したユーザプログラム1131及び内容変更データコンテナ119a(内容変更データコンテナの一例)を外部から受信した場合、内容変更データコンテナ119aは第1保存部1113-3に保存される。内容変更データコンテナ119aは、内容を変更したユーザプログラム1131が生成された際に用いられた内容変更ユーザプログラム生成用資源119a-1(内容変更ユーザプログラム生成用資源の一例)を含むデータコンテナである。
 また、第1変更管理部1113-1は、内容変更データコンテナ119aの変更履歴119b-1を第1更新履歴119bに記憶している。さらに、内容を変更したユーザプログラム1131を以後タスク実行部において実行される新たなユーザプログラム1131としている。
 これにより、外部においてユーザプログラム1131の内容の変更がなされた場合でも、ユーザプログラム1131に対してどのような内容の変更がなされたかについての情報を共有できる。
 第2実施形態に係る制御システム200は、上記の制御装置11とサーバ2(サーバの一例)とを備える。サーバ2は、制御装置11と通信可能に接続されている。また、サーバ2は、第2変更管理部213(第2変更管理部の一例)を有する。第2変更管理部は、データコンテナ119aの変更履歴119b-1を記憶する。
 これにより、制御装置11の第1変更管理部1113-1以外の第2変更管理部213にも、データコンテナ119aの変更履歴119b-1を記憶できる。
 第2変更管理部213は、複製更新履歴(複製更新履歴の一例)を第2更新履歴213a(第2更新履歴の一例)として保存している。複製更新履歴は、第1変更管理部1113-1に記憶された第1更新履歴119bを複製した更新履歴である。これにより、第2変更管理部213において、第1更新履歴119bと一致する第2更新履歴213aを保存できる。すなわち、第1更新履歴119bを予備的に第2変更管理部213に保存できる。
 第1変更管理部1113-1は、第1更新履歴119bを第2変更管理部213にバックアップして第2更新履歴213aとして保存している。これにより、第1更新履歴119bを予備的に第2変更管理部213に保存できる。
 第2変更管理部213は、外部からデータコンテナ119aの内容の変更を受信後、外部変更履歴(外部変更履歴の一例)を第2更新履歴213aに記憶している。外部変更履歴は、外部から受信したデータコンテナ119aの変更履歴119b-1である。また、それとともに、第2変更管理部213は、外部変更履歴を第1変更管理部1113-1に送信している。
 このとき、第1変更管理部1113-1は、外部変更履歴を第1更新履歴に記憶するとともに、所定のタイミングにおいて外部変更履歴に基づいて生成したデータコンテナ119aを第1保存部1113-3に保存している。
 これにより、外部からデータコンテナ119aの内容の変更の要求があった場合でも、外部から受信したデータコンテナ119aの変更履歴119b-1を、第1変更管理部1113-1の第1更新履歴119b、及び、第2変更管理部213の第2更新履歴213aの両方に保存できる。
 内容を変更したユーザプログラム1131及び内容変更データコンテナ119aを外部から制御装置11において受信した場合、内容変更データコンテナ119aは、第1保存部1113-3に保存されるとともに、変更履歴119b-1が第2変更管理部213の第2更新履歴213aに記憶されている。また、内容を変更したユーザプログラム1131を以後タスク実行部1111において実行される新たなユーザプログラム1131としている。
 これにより、外部においてユーザプログラム1131の内容の変更がなされた場合でも、外部においてユーザプログラム1131を生成した際に用いられたデータコンテナ119aを、第1保存部1113-3と第2更新履歴213aとに保存できる。すなわち、上記のデータコンテナ119aを予備的に保存できる。
 第3実施形態に係る制御システム300は、制御装置11とユーザプログラム生成サーバ4(ユーザプログラム生成サーバの一例)とを備える。
 第3実施形態に係る制御システム300において、制御装置11は、タスク実行部1111と、第1保存部1113-3と、第1変更管理部1113-1と、を有する。タスク実行部1111は、制御対象機器7を制御するユーザプログラム1131を含むタスクを所定の周期にて繰り返し実行する。第1保存部1113-3には、ユーザプログラム1131を生成するために用いられるユーザプログラム生成用資源119a-1を含むデータコンテナ119aが保存される。第1変更管理部1113-1は、第1保存部1113-3に保存されたデータコンテナ119aの内容が変更された場合、データコンテナ119aの変更履歴119b-1を第1更新履歴119bに記憶する。また、第1変更管理部1113-1は、それとともに、所定のタイミングにおいて変更履歴119b-1を用いて生成された新たなデータコンテナ119aを第1保存部1113-3に保存する。
 ユーザプログラム生成サーバ4は、第3保存部411(第3保存部の一例)と第2ユーザプログラム生成部413(第2ユーザプログラム生成部の一例)とを有する。
 第3保存部411は、第1変更管理部1113-1において生成されたデータコンテナ119aを受信し保存する。第2ユーザプログラム生成部413は、第3保存部411に保存されたデータコンテナ119aに含まれるユーザプログラム生成用資源119a-1を用いてユーザプログラム1131を生成する。また、第2ユーザプログラム生成部413は、生成したユーザプログラム1131を制御装置11に送信する。
 制御システム300においては、第1変更管理部1113-1において所定のタイミングにおいて変更履歴119b-1を用いて新たなデータコンテナ119aを生成した際に、新たなデータコンテナ119aを、第1保存部1113-3だけでなく、ユーザプログラム生成サーバ4の第3保存部411にも保存する。その後、第3保存部411に保存された新たなデータコンテナ119aを用いてユーザプログラム1131が生成される。
 これにより、ユーザプログラム1131の生成を外部のサーバ(ユーザプログラム生成サーバ4)により生成できる。その結果、制御装置11における計算負荷を低減できる。
5.他の実施形態
 以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。特に、本明細書に書かれた複数の実施形態及び変形例は必要に応じて任意に組み合せ可能である。
 ユーザプログラムを所定の周期にて繰り返し実行することにより制御対象機器を制御する制御装置、及び、当該制御装置を用いた制御システムに広く適用できる。
100、200、300             制御システム
1     PLCシステム
11   制御装置
111 CPU
1111      タスク実行部
1113      データコンテナ生成部
1113-1  第1変更管理部
1113-3  第1保存部
1115      第1ユーザプログラム生成部
1117      生成指示部
113 RAM
1131      ユーザプログラム
115 ROM
115a      システムプログラム
117 通信インターフェース
1171      送受信部
119 記憶部
119a      データコンテナ
119a-1  ユーザプログラム生成用資源
119b      第1更新履歴
119b-1  変更履歴
119b-11       更新番号記録領域
119b-12       更新対象記録領域
119b-13       更新内容記録領域
119b-14       更新ユーザ記録領域
119b-15       更新日時記録領域
119b-16       ユーザプログラム生成実行記録領域
119b-17       備考記録領域
13   入力ユニット
15   出力ユニット
17   電源ユニット
2     サーバ
21   CPU
211 送受信部
213 第2変更管理部
213a      第2更新履歴
23   RAM
23a        サーバプログラム
25   記憶部
27   通信インターフェース
3     プログラム開発支援装置
31   CPU
33   記憶部
33a 開発支援プログラム
35   操作部
37   通信インターフェース
39   表示部
4     ユーザプログラム生成サーバ
41   CPU
411 第3保存部
413 第2ユーザプログラム生成部
415 送受信部
43   RAM
43a 生成プログラム
45   記憶部
47   通信インターフェース
5     信号入力部
7     制御対象機器
NW   通信ネットワーク

Claims (10)

  1.  制御対象機器を制御するユーザプログラムを含むタスクを所定の周期にて繰り返し実行するタスク実行部と、
     前記ユーザプログラムを生成するために用いられるユーザプログラム生成用資源を含むデータコンテナが保存される第1保存部と、
     前記第1保存部に保存されたデータコンテナの内容が変更された場合、前記データコンテナの変更履歴を第1更新履歴に記憶するとともに、所定のタイミングにおいて前記変更履歴を用いて生成された新たなデータコンテナを前記第1保存部に保存する第1変更管理部と、
     前記所定のタイミングにおいて、前記第1保存部に保存される前記新たなデータコンテナに含まれる新たなユーザプログラム生成用資源を用いて前記ユーザプログラムを生成する第1ユーザプログラム生成部と、
    を備える制御装置。
  2.  前記所定のタイミングは、前記第1変更管理部が前記データコンテナの内容の変更を検出するタイミングである、請求項1に記載の制御装置。
  3.  前記所定のタイミングは、前記第1更新履歴に記憶されたどの変更履歴を用いて前記新たなデータコンテナを生成するかを指定する変更履歴指定情報を含むユーザプログラム生成指示を外部から受信したタイミングであり、
     前記第1ユーザプログラム生成部は、前記変更履歴指定情報に指定された前記変更履歴を用いて生成された新たなデータコンテナを用いて前記ユーザプログラムを生成する、請求項1に記載の制御装置。
  4.  内容を変更したユーザプログラム及び前記内容を変更したユーザプログラムが生成された際に用いられた内容変更ユーザプログラム生成用資源を含む内容変更データコンテナを外部から受信した場合、
     前記内容変更データコンテナは前記第1保存部に保存され、
     前記第1変更管理部は、前記内容変更データコンテナの変更履歴を前記第1更新履歴に記憶し、
     前記内容を変更したプログラムを以後前記タスク実行部において実行される新たなユーザプログラムとする、請求項1~3のいずれかに記載の制御装置。
  5.  請求項1~4のいずれかに記載の制御装置と、
     前記制御装置と通信可能に接続され、前記データコンテナの変更履歴を記憶する第2更新履歴を記憶する第2変更管理部を有するサーバと、
     を備える制御システム。
  6.  前記第2変更管理部は、第1変更管理部に記憶された前記第1更新履歴を複製した複製更新履歴を前記第2更新履歴として保存する、請求項5に記載の制御システム。
  7.  前記第1変更管理部は、前記第1更新履歴を第2変更管理部にバックアップして前記第2更新履歴として保存する、請求項5又は6に記載の制御システム。
  8.  前記第2変更管理部は、外部から前記データコンテナの内容の変更を受信後、外部から受信した前記データコンテナの変更履歴である外部変更履歴を前記第2更新履歴に記憶するとともに、前記外部変更履歴を前記第1変更管理部に送信し、
     第1変更管理部は、前記外部変更履歴を第1更新履歴に記憶するとともに、所定のタイミングにおいて前記外部変更履歴に基づいて生成したデータコンテナを前記第1保存部に保存する、請求項5~7のいずれかに記載の制御システム。
  9.  内容を変更したユーザプログラム及び前記内容を変更したユーザプログラムが生成された際に用いられた内容変更ユーザプログラム生成用資源を含む内容変更データコンテナを外部から前記制御装置において受信した場合、
     前記内容変更データコンテナは、前記第1保存部に保存されるとともに、変更履歴が前記第2変更管理部の前記第2更新履歴に記憶され、
     前記内容を変更したプログラムを以後前記タスク実行部において実行される新たなユーザプログラムとする、請求項5~8のいずれかに記載の制御システム。
  10.  制御対象機器を制御するユーザプログラムを含むタスクを所定の周期にて繰り返し実行するタスク実行部と、
     前記ユーザプログラムを生成するために用いられるユーザプログラム生成用資源を含むデータコンテナが保存される第1保存部と、
     前記第1保存部に保存されたデータコンテナの内容が変更された場合、前記データコンテナの変更履歴を第1更新履歴に記憶するとともに、所定のタイミングにおいて前記変更履歴を用いて生成された新たなデータコンテナを前記第1保存部に保存する第1変更管理部と、
     を有する制御装置と、
     前記第1変更管理部において生成されたデータコンテナを受信し保存する第3保存部と、
     前記第3保存部に保存されたデータコンテナの含まれるユーザプログラム生成用資源を用いて前記ユーザプログラムを生成し前記制御装置に送信する第2ユーザプログラム生成部と、を有するユーザプログラム生成サーバと、
     を備える制御システム。
PCT/JP2015/050943 2014-03-14 2015-01-15 制御装置及び制御システム WO2015136970A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US15/123,026 US10162328B2 (en) 2014-03-14 2015-01-15 Controller and control system
CN201580011271.XA CN106104397B (zh) 2014-03-14 2015-01-15 控制装置及控制系统
JP2016507378A JP6508192B2 (ja) 2014-03-14 2015-01-15 制御装置及び制御システム
EP15760670.8A EP3101494B1 (en) 2014-03-14 2015-01-15 Control apparatus and control system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014052818 2014-03-14
JP2014-052818 2014-03-14

Publications (1)

Publication Number Publication Date
WO2015136970A1 true WO2015136970A1 (ja) 2015-09-17

Family

ID=54071424

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/050943 WO2015136970A1 (ja) 2014-03-14 2015-01-15 制御装置及び制御システム

Country Status (5)

Country Link
US (1) US10162328B2 (ja)
EP (1) EP3101494B1 (ja)
JP (1) JP6508192B2 (ja)
CN (1) CN106104397B (ja)
WO (1) WO2015136970A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111819502A (zh) * 2018-03-02 2020-10-23 三菱电机株式会社 数据管理系统、控制装置、数据管理装置、数据管理方法以及数据管理程序

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6520545B2 (ja) * 2015-08-10 2019-05-29 オムロン株式会社 サポート装置およびサポートプログラム
JP6551101B2 (ja) * 2015-09-17 2019-07-31 日本電気株式会社 情報処理装置、情報処理方法、及び、プログラム
JP6356736B2 (ja) * 2016-06-29 2018-07-11 ファナック株式会社 コントローラシステムおよび制御方法
US11204895B1 (en) * 2016-09-28 2021-12-21 Amazon Technologies, Inc. Data payload clustering for data storage systems
US11281624B1 (en) 2016-09-28 2022-03-22 Amazon Technologies, Inc. Client-based batching of data payload
EP3413147B1 (en) * 2017-06-07 2022-03-23 Brooks Automation (Germany) GmbH Method for controlling a plc using a pc program
JP6922583B2 (ja) * 2017-09-15 2021-08-18 オムロン株式会社 情報処理装置、情報処理方法、および、情報処理プログラム
CN112905197A (zh) * 2020-11-23 2021-06-04 京东数字科技控股股份有限公司 一种信息处理方法、装置、系统、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1040085A (ja) * 1996-07-18 1998-02-13 Hitachi Ltd 保守管理装置及び保守管理方法
JP2008282362A (ja) * 2007-05-14 2008-11-20 Keyence Corp プログラム編集支援装置、コンピュータプログラム、プログラム編集支援方法及びplcシステム
JP2008282363A (ja) * 2007-05-14 2008-11-20 Keyence Corp プログラマブルコントローラ、プログラム作成支援装置、コンピュータプログラム及びplcシステム

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864738A (en) * 1996-03-13 1999-01-26 Cray Research, Inc. Massively parallel processing system using two data paths: one connecting router circuit to the interconnect network and the other connecting router circuit to I/O controller
US6701284B1 (en) * 1998-04-17 2004-03-02 Ge Fanuc Automation North America, Inc. Methods and apparatus for maintaining a programmable logic control revision history
ES2203549T3 (es) * 1999-11-15 2004-04-16 Siemens Aktiengesellschaft Aparato de automatizacion y procedimiento de actualizacion.
JP2005234860A (ja) * 2004-02-19 2005-09-02 Hitachi Ltd バージョン管理システム、バージョン管理サーバ装置、及び記憶デバイス制御装置
JP2006268485A (ja) * 2005-03-24 2006-10-05 Fuji Electric Fa Components & Systems Co Ltd プログラマブルコントローラ、プログラマブルコントローラ用プログラム作成支援装置及びプログラム作成支援方法
US7689727B2 (en) * 2006-01-24 2010-03-30 National Instruments Corporation System and method for automatically updating the memory map of a programmable controller to customized hardware
JP2009199229A (ja) * 2008-02-20 2009-09-03 Nec Software Chubu Ltd リリースバージョン管理サーバ、方法及びプログラム
JP5051377B2 (ja) 2008-03-15 2012-10-17 オムロン株式会社 プログラム開発支援装置の動作仕様管理方法
JP2010170536A (ja) * 2008-12-26 2010-08-05 Omron Corp プログラマブル・コントローラ
JP2011113391A (ja) * 2009-11-27 2011-06-09 Ricoh Co Ltd 機器管理システム、機器管理装置、管理対象機器、ソフトウェア更新方法、ソフトウェア更新プログラム、及びそのプログラムを記録した記録媒体
JP5246186B2 (ja) * 2010-03-15 2013-07-24 オムロン株式会社 コントローラサポート装置、制御プログラムのシミュレーション方法、コントローラのサポートプログラムおよびコントローラのサポートプログラムを格納したコンピュータ読み取り可能な記憶媒体
JP5593856B2 (ja) * 2010-06-02 2014-09-24 富士通株式会社 情報処理装置およびドライバ実行制御方法
JP5418442B2 (ja) * 2010-08-18 2014-02-19 株式会社リコー 情報処理装置、電子機器、更新処理支援方法、更新処理支援プログラム、及び更新処理支援システム
WO2012104899A1 (ja) * 2011-01-31 2012-08-09 トヨタ自動車株式会社 安全制御装置および安全制御方法
EP2672343A4 (en) * 2011-01-31 2014-08-06 Toyota Motor Co Ltd SAFETY CONTROL DEVICE AND SAFETY CONTROL PROCEDURE
JP4894961B1 (ja) * 2011-03-15 2012-03-14 オムロン株式会社 Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体
US9377769B2 (en) * 2011-03-15 2016-06-28 Omron Corporation Control apparatus for updating a user program while processing is being performed and recording medium
JP4957853B1 (ja) * 2011-03-15 2012-06-20 オムロン株式会社 Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体
JP5218585B2 (ja) * 2011-03-15 2013-06-26 オムロン株式会社 制御装置およびシステムプログラム
JP5747584B2 (ja) 2011-03-15 2015-07-15 オムロン株式会社 制御装置およびシステムプログラム
JP5252014B2 (ja) * 2011-03-15 2013-07-31 オムロン株式会社 制御装置、制御システム、ツール装置および収集指示プログラム
JP4807475B1 (ja) 2011-03-15 2011-11-02 オムロン株式会社 演算ユニット、出力制御方法、およびプログラム
WO2013010159A1 (en) * 2011-07-14 2013-01-17 Siemens Corporation Reducing the scan cycle time of control applications through multi-core execution of user programs
KR101478134B1 (ko) * 2012-02-29 2015-01-26 주식회사 팬택 모바일 디바이스의 파일 관리 방법 및 이를 이용한 모바일 디바이스
DE102012207437B3 (de) * 2012-05-04 2013-05-29 Siemens Aktiengesellschaft Verfahren zum Betrieb einer speicherprogrammierbaren Steuerung
JP5426722B2 (ja) * 2012-05-24 2014-02-26 ファナック株式会社 ロボットプログラム変更装置
US9740185B2 (en) * 2013-04-12 2017-08-22 Mitsubishi Electric Corporation Peripheral device for programmable controller and debug support program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1040085A (ja) * 1996-07-18 1998-02-13 Hitachi Ltd 保守管理装置及び保守管理方法
JP2008282362A (ja) * 2007-05-14 2008-11-20 Keyence Corp プログラム編集支援装置、コンピュータプログラム、プログラム編集支援方法及びplcシステム
JP2008282363A (ja) * 2007-05-14 2008-11-20 Keyence Corp プログラマブルコントローラ、プログラム作成支援装置、コンピュータプログラム及びplcシステム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111819502A (zh) * 2018-03-02 2020-10-23 三菱电机株式会社 数据管理系统、控制装置、数据管理装置、数据管理方法以及数据管理程序
US10852992B2 (en) 2018-03-02 2020-12-01 Mitsubishi Electric Corporation Data management system, data management method, and program recording medium
CN111819502B (zh) * 2018-03-02 2021-11-09 三菱电机株式会社 数据管理系统、数据管理方法以及存储有数据管理程序的存储装置

Also Published As

Publication number Publication date
US20170075335A1 (en) 2017-03-16
EP3101494B1 (en) 2018-06-20
EP3101494A4 (en) 2017-05-03
CN106104397A (zh) 2016-11-09
JPWO2015136970A1 (ja) 2017-04-06
EP3101494A1 (en) 2016-12-07
US10162328B2 (en) 2018-12-25
JP6508192B2 (ja) 2019-05-08
CN106104397B (zh) 2018-07-10

Similar Documents

Publication Publication Date Title
WO2015136970A1 (ja) 制御装置及び制御システム
JP4462449B2 (ja) 制御システム設定装置
JP5583305B2 (ja) プログラマブルロジックコントローラ、プログラミングツール及びプログラム・パラメータ編集システム
CN101211272A (zh) 动态虚拟机生成
CN109358549B (zh) 一种挖掘机的智能控制方法及装置
WO2016151856A1 (ja) システム設計支援装置、システム設計支援方法及びシステム設計支援プログラム
JP6443190B2 (ja) プログラマブルロジックコントローラ、プログラマブルロジックコントローラの制御方法、及び、制御プログラム
JP2005327263A (ja) 制御システム設定装置
CN111569427B (zh) 资源的处理方法、装置、存储介质和电子装置
JP2009157533A (ja) プログラマブルコントローラシステム
JP6477178B2 (ja) Plc制御データ生成装置、plc制御データ生成方法、及び、plc制御データ生成プログラム
JP2020071834A (ja) エンジニアリング装置、エンジニアリング装置の制御方法及びプログラム
JP6135247B2 (ja) 情報処理装置および情報処理プログラム
JP6541902B1 (ja) プログラム管理システム、プログラミング支援装置、プログラム管理方法、およびプログラミング支援プログラム
WO2020075351A1 (ja) コントロール装置
JP6455096B2 (ja) コントロールシステム、その支援装置、プログラマブルコントロール装置
JP4390079B2 (ja) 制御システム
JP4877257B2 (ja) プログラマブルコントローラ、プログラマブルコントローラ支援装置、及びプログラマブルコントローラシステム
WO2018216083A1 (ja) 制御装置および編集装置
WO2022190427A1 (ja) 開発支援装置、開発支援方法、及び、開発支援プログラム
JP2009157534A (ja) プログラム作成支援システム、そのプログラマブルコントローラ支援装置、プログラマブル表示器支援装置
WO2022190428A1 (ja) 開発支援装置、開発支援方法、及び、開発支援プログラム
WO2020026738A1 (ja) サポート装置およびサポートプログラム
JP4379710B2 (ja) ノードおよびツールならびにネットワークシステムおよび共有データの通信方法
JP2007172128A (ja) I/oシミュレータ装置

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016507378

Country of ref document: JP

Kind code of ref document: A

REEP Request for entry into the european phase

Ref document number: 2015760670

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 15123026

Country of ref document: US

Ref document number: 2015760670

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE