WO2020184035A1 - 制御システム、サポート装置およびサポート装置用のプログラム - Google Patents

制御システム、サポート装置およびサポート装置用のプログラム Download PDF

Info

Publication number
WO2020184035A1
WO2020184035A1 PCT/JP2020/005273 JP2020005273W WO2020184035A1 WO 2020184035 A1 WO2020184035 A1 WO 2020184035A1 JP 2020005273 W JP2020005273 W JP 2020005273W WO 2020184035 A1 WO2020184035 A1 WO 2020184035A1
Authority
WO
WIPO (PCT)
Prior art keywords
control
control system
data
communication
communication processing
Prior art date
Application number
PCT/JP2020/005273
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 US17/435,246 priority Critical patent/US11917024B2/en
Priority to CN202080017558.4A priority patent/CN113498495A/zh
Priority to EP20769324.3A priority patent/EP3940468A4/en
Publication of WO2020184035A1 publication Critical patent/WO2020184035A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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/054Input/output
    • 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/11Plc I-O input output
    • G05B2219/1147Variable rate of scan

Definitions

  • the present invention relates to a control system, a support device, and a program for the support device that periodically exchanges data.
  • PLC Programmable Logic Controller
  • a safety system including a safety controller and various safety components may be arranged.
  • Patent Document 1 Japanese Unexamined Patent Publication No. 2009-223398
  • a communication unit in charge of communication processing is attached in addition to a CPU unit that executes arithmetic processing.
  • Patent Document 2 Japanese Unexamined Patent Publication No. 2017-027539
  • a communication module which is an example of an IO module, is generally attached separately from the CPU module to perform communication processing.
  • IO data input / output data
  • control operations for controlling control targets such as equipment and machines.
  • IO data it is necessary to periodically exchange data with the device from which the IO data is collected.
  • An object of the present invention is to provide a configuration in which a settable range of a cycle for exchanging data with a device can be easily determined.
  • a control system including a control device and a device capable of communicating with the control device.
  • the control system is composed of a control means that periodically executes a control operation for controlling a controlled object, a communication processing means that executes a communication process for periodically exchanging data with a device, and a control means.
  • a providing means that provides a development environment for constructing the processing content to be executed and setting related to communication processing by the communication processing means, and a content set in the development environment provided by the providing means. Includes a determinant to determine a configurable range of cycles for exchanging data with and from the device.
  • the settable range of the cycle for exchanging data with the device is determined based on the processing content executed by the control means and the setting related to the communication processing, so that the knowledge is small. Even the user can set an appropriate cycle.
  • the determining means can be set by reflecting both the limiting factor determined according to the processing content executed by the control means and the limiting factor determined according to the setting related to the communication processing by the communication processing means.
  • the range may be determined. According to this configuration, both the limiting factor determined according to the processing content executed by the control means and the limiting factor determined according to the setting related to the communication processing by the communication processing means are reflected appropriately. Range can be determined.
  • the determination means may determine the settable range based on at least one of the number of data connections exchanged with the device and the data size. According to this configuration, an appropriate range can be determined according to the data exchanged with the device.
  • the determination means may determine the settable range based on the cycle of the control operation executed by the control means. According to this configuration, an appropriate range can be determined according to the cycle of the control operation.
  • the determination means may determine the settable range based on the priority set in the control calculation executed by the control means. According to this configuration, an appropriate range can be determined according to the priority set in the control operation.
  • the determination means may determine the settable range based on the processing capacity of the control device. According to this configuration, an appropriate range can be determined according to the processing capacity of the control device.
  • the determination means may determine the settable range for each device to which the control device exchanges data. According to this configuration, even when data is exchanged with a plurality of devices, an appropriate range can be determined for each device.
  • a notification means for notifying when the set value of the cycle for exchanging data with the device is outside the settable range determined by the determination means may be further included. According to this configuration, when the current setting value is outside the settable range of the cycle, the user can be prompted to make an appropriate change.
  • a support device for a control system including a control device and a device capable of communicating with the control device.
  • the control device includes a control means for periodically executing a control operation for controlling a controlled object, and a communication processing means for executing a communication process for periodically exchanging data with and from the device.
  • the support device is provided by a providing means that provides a development environment for constructing a processing content executed by the control means and setting at least a part related to the communication processing by the communication processing means, and a providing means. It includes a deciding means for determining a settable range of cycles for exchanging data with and from the device based on the contents set in the development environment.
  • a program for a support device directed to a control system including a control device and a device capable of communicating with the control device includes a control means for periodically executing a control operation for controlling a controlled object, and a communication processing means for executing a communication process for periodically exchanging data with and from the device.
  • the step of determining the settable range of the cycle for exchanging data with the device is executed.
  • the settable range of the cycle for exchanging data with the device can be easily determined.
  • FIG. 1 It is a schematic diagram which shows the functional configuration example for realizing CIPSsafety in the control device which follows this embodiment. It is a schematic diagram which shows the implementation example of the functional structure shown in FIG. It is a schematic diagram for demonstrating an example of the setting contents of CIPSsafety in the control device according to this embodiment. It is a schematic diagram for demonstrating the execution example of the CIPSsafety communication service in the control device according to this Embodiment. It is a figure which shows an example of the parameter table used for calculating the minimum value of EPI which can be set in the control system which follows this embodiment. It is a figure for demonstrating the process of recalculating the minimum value of EPI that can be set in the control system according to this embodiment.
  • FIG. 1 is a diagram for explaining an outline of processing in the control system 1 according to the present embodiment.
  • the control device 2 is connected to one or more devices via the process network 10.
  • a hub 8 may be arranged in the process network 10.
  • the control device 2 periodically executes a control operation for controlling the controlled object. Further, the control device 2 executes a communication process for periodically exchanging data with the device. That is, data is periodically exchanged between the control device 2 and the device.
  • control device 2 can determine a settable range of a cycle (communication cycle) for exchanging data with the device. Specifically, the control device 2 calculates a settable communication cycle according to the processing executed by the control device 2 and the settings related to the communication processing.
  • This settable communication cycle may be based on the following limiting factors. ⁇ Various settings of control device (unit) ⁇ Communication settings ⁇ Processing capacity (spec) of control device (unit) -Other services provided by the control device (unit) -Priority in the control device (unit) These limiting factors are determined based on the contents set in the development environment provided by the support device as described later. At the same time, a settable communication cycle may be calculated from the determined limiting factor.
  • the "settable range” is a term that includes a range in which a target value can be effectively set, and in addition to specifying both an upper limit and a lower limit, only the lower limit or only the upper limit is specified. Can include cases. In particular, in the present embodiment, attention is paid to the determination of the lower limit (minimum value).
  • the main data transmitted and received between the control device and each device will be described as a "frame".
  • the data sent and received should not be interpreted in a limited way, for example, when it is sent or received in units of "packets" or in units of longer data strings. Such cases may be included.
  • Standard control is a general term for processing for controlling a control target according to a predetermined requirement specification.
  • safety control is a general term for processes for preventing human safety from being threatened by equipment or machines. The “safety control” is designed to meet the requirements for realizing the safety function specified in IEC 61508 and the like.
  • FIG. 2 is a schematic diagram showing a configuration example of the control system 1 according to the present embodiment.
  • control system 1 includes, as an example, a control device 2, one or more remote IO devices 4, and one or more slave devices.
  • the control device 2 is a processing entity that executes control calculations, and includes a standard control unit 100, a safety control unit 200, and one or more functional units 350.
  • the standard control unit 100 executes standard control and control operations related to communication processing as described later.
  • the safety control unit 200 executes a control calculation related to safety control.
  • Each of the functional units 350 executes processing according to the functions (for example, input / output function, position control function, PID control function, etc.) implemented in each unit.
  • the safety control unit 200 can also be regarded as a type of the functional unit 350.
  • the standard control unit 100, the safety control unit 200, and the functional unit 350 are electrically connected via an internal bus 18.
  • the control device 2 (standard control unit 100) is electrically connected to the remote IO device 4 via the field network 6.
  • the control device 2 is further communicably connected to the safety driver 12, which is an example of the slave device, via the process network 10 and the hub 8.
  • the field network 6 is a communication medium for realizing data transmission for FA (Factory Automation).
  • FA Vectory Automation
  • frame transmission is possible at a predetermined cycle, and the data arrival time for each node in the network is guaranteed.
  • EtherCAT registered trademark
  • EtherCAT registered trademark
  • the data used for safety control as described later may be transmitted by FSoE (Functional Safety over EtherCAT) using EtherCAT.
  • the process network 10 is a communication medium for realizing data transmission for FA, like the field network 6.
  • EtherNet / IP registered trademark
  • the data used for the safety control as described later may be transmitted by CIPSsafety using EtherNet / IP.
  • the control device 2 (standard control unit 100) may be further connected to the upper network 20.
  • Any information processing device such as a gateway or a database server may be connected to the upper network 20.
  • the remote IO device 4 includes a coupler unit 300 and one or more functional units 350.
  • the remote IO device 4 collects various information from the control target and transmits it to the control device 2, and also executes signal output and processing to the control device according to a command included in the data from the control device 2.
  • the coupler unit 300 mediates the exchange of data between the control device 2 (standard control unit 100) and the functional unit 350. At the same time, the coupler unit 300 transmits the data received via the frame to the functional unit 350, and when the data is received from the functional unit 350, prepares to store the received data in the next arriving frame.
  • the functional unit 350 is substantially the same as the functional unit 350 included in the control device 2, and processes according to the functions implemented in each unit (for example, input / output function, position control function, PID control function, etc.). To execute.
  • the coupler unit 300 may include a safety function unit 360 as an example of the function unit 350.
  • FIG. 2 shows an example in which one remote IO device 4 includes a safety function unit 360.
  • the safety function unit 360 has a function related to safety control.
  • the safety function unit 360 is a safety IO unit.
  • the safety IO unit has an input function for receiving signals from the safety component 16 such as an emergency stop button, a safety door switch, and a light curtain, and / or an output function for outputting a signal to the safety component 16.
  • FSoE peer-to-peer communication using frames transmitted periodically through the field network 6.
  • FIG. 2 shows a safety driver 12 that drives the motor 14 as a slave device.
  • the safety driver 12 drives the connected motor 14 in accordance with a command from the control device 2 (standard control unit 100), and also includes a function as a safety component related to the drive of the motor 14.
  • the motor 14 is an arbitrary moving body such as a servo motor, an induction motor, a synchronous motor, and a linear motor.
  • the safety driver 12 exchanges data by using the connection established with the control device 2 (standard control unit 100).
  • control device 2 standard control unit 100
  • CIPSsafety is used as a protocol for exchanging this data.
  • the support device 500 is directed to the control system 1, and provides a user environment for supporting the creation and debugging of programs and various settings executed by the control device 2 (standard control unit 100 and safety control unit 200). To provide.
  • FIG. 3 is a schematic diagram showing a hardware configuration example of the standard control unit 100 included in the control system 1 according to the present embodiment.
  • the standard control unit 100 includes a processor 102, a chipset 104, a main memory 106, a storage 108, a network controller 110, a USB (Universal Serial Bus) controller 112, and a memory card interface 114.
  • the internal bus controller 118, the field network controller 120, the process network controller 122, the counter 126, and the RTC (Real Time Clock) 128 are included.
  • the processor 102 corresponds to an arithmetic processing unit that executes control operations and the like, and is composed of a CPU (Central Processing Unit), an MPU (Micro Processing Unit), a GPU (Graphics Processing Unit), and the like. Specifically, the processor 102 reads out a program (for example, a system program and a standard control program (user program)) stored in the storage 108, expands the program into the main memory 106, and executes the standard control. Performs operations related to communication processing as described later.
  • the storage 108 is composed of, for example, a non-volatile storage device such as an HDD (Hard Disk Drive) or an SSD (Solid State Drive).
  • the main memory 106 is composed of a volatile storage device such as a DRAM (Dynamic Random Access Memory) or a SRAM (Static Random Access Memory).
  • the chipset 104 realizes the processing of the standard control unit 100 as a whole by mediating the data exchange between the processor 102 and each device.
  • the standard control program for realizing the standard control created according to the control target such as equipment and machines is stored.
  • the network controller 110 exchanges data with an arbitrary information processing device such as a gateway or a database server via the upper network 20.
  • the USB controller 112 exchanges data with the support device 500 via a USB connection.
  • the memory card interface 114 is configured so that the memory card 116 can be attached and detached, and data can be written to the memory card 116 and various data (standard control program, trace data, etc.) can be read from the memory card 116. ing.
  • the internal bus controller 118 corresponds to a communication interface for electrically connecting the standard control unit 100, the safety control unit 200, and the functional unit 350 via the internal bus 18.
  • the internal bus controller 118 functions as a communication master for performing constant cycle communication via the internal bus 18.
  • the field network controller 120 corresponds to a communication interface for electrically connecting the standard control unit 100 and the remote IO device 4 via the field network 6.
  • the field network controller 120 functions as a communication master for performing constant cycle communication via the field network 6.
  • the process network controller 122 corresponds to a communication interface for electrically connecting the standard control unit 100 and the safety driver 12 via the process network 10.
  • the process network controller 122 is in charge of communication control for exchanging data at a predetermined cycle via the process network 10.
  • the counter 126 is used as a time reference for managing the execution timing of various programs executed by the standard control unit 100.
  • the RTC128 is a kind of counter having a timekeeping function, and provides the current time to the processor 102 or the like.
  • FIG. 3 shows a configuration example in which the necessary functions are provided by the processor 102 executing the program, and some or all of these provided functions are provided by a dedicated hardware circuit (for example, ASIC). , FPGA, etc.) may be used for implementation.
  • the main part of the standard control unit 100 may be realized by using hardware that follows a general-purpose architecture (for example, an industrial personal computer based on a general-purpose personal computer).
  • the virtualization technology may be used to execute a plurality of OSs (Operating Systems) having different uses in parallel, and to execute necessary applications on each OS.
  • OSs Operating Systems
  • FIG. 4 is a schematic diagram showing a hardware configuration example of the safety control unit 200 included in the control system 1 according to the present embodiment.
  • the safety control unit 200 includes an internal bus controller 218 and a main controller 210.
  • the internal bus controller 218 corresponds to a communication interface for electrically connecting the standard control unit 100 and the safety control unit 200 via the internal bus 18.
  • the internal bus controller 218 functions as a communication slave for participating in data communication via the internal bus 18.
  • the main controller 210 includes a processor 202, a main memory 204, and a storage 208.
  • the processor 202 corresponds to an arithmetic processing unit that executes control arithmetic, communication processing, and the like, and is composed of a CPU, an MPU, a GPU, and the like. Specifically, the processor 202 realizes safety control and the like by reading the safety program 220 stored in the storage 208, expanding it in the main memory 204, and executing it.
  • FIG. 4 shows a configuration example in which the necessary functions are provided by the processor 202 executing the program, and some or all of these provided functions are provided by a dedicated hardware circuit (for example, ASIC). , FPGA, etc.) may be used for implementation.
  • ASIC application specific integrated circuit
  • FPGA field-programmable gate array
  • FIG. 5 is a schematic diagram showing a hardware configuration example of the support device 500 included in the control system 1 according to the present embodiment.
  • the support device 500 is realized by using hardware (for example, a general-purpose personal computer) that follows a general-purpose architecture.
  • the support device 500 includes a processor 502, a main memory 504, an input unit 506, an output unit 508, a storage 510, an optical drive 512, and a USB controller 520. These components are connected via the processor bus 518.
  • the processor 502 is composed of a CPU, an MPU, a GPU, and the like, and reads out a program (OS 5102 and a support program 5104 as an example) stored in the storage 510, expands the program into the main memory 504, and executes the program. Various processing is realized.
  • the main memory 504 is composed of a volatile storage device such as DRAM or SRAM.
  • the storage 510 is composed of, for example, a non-volatile storage device such as an HDD or SSD.
  • the support program 5104 for providing the function as the support device 500 is stored.
  • the support program 5104 provides a development environment for constructing the processing contents executed by the standard control unit 100 and performing at least a part of the settings related to the communication processing.
  • the storage 510 stores the project data 5106 created by the user in the development environment provided by executing the support program 5104.
  • the support device 500 provides a development environment in which settings for each device included in the control system 1 and creation of a program executed by each device can be integrated.
  • Project data 5106 includes data generated by such an integrated development environment.
  • the project data 5106 includes standard control source program 5108, standard controller setting information 5110, safety source program 5112, safety controller setting information 5114, and safety driver setting information 5116.
  • the standard control source program 5108 is converted into an object code, transmitted to the standard control unit 100, and stored as the standard control program 1104. Similarly, the standard controller setting information 5110 is also transmitted to the standard control unit 100.
  • the safety source program 5112 is converted into an object code, transmitted to the safety control unit 200, and stored as the safety program 220 (see FIG. 4). Similarly, the safety controller setting information 5114 is also transmitted to the safety control unit 200.
  • the safety driver setting information 5116 is transmitted to the safety driver 12.
  • the input unit 506 is composed of a keyboard, a mouse, and the like, and accepts user operations.
  • the output unit 508 is composed of a display, various indicators, a printer, and the like, and outputs a processing result from the processor 502 and the like.
  • the USB controller 520 exchanges data with the standard control unit 100 and the like via the USB connection.
  • the support device 500 has an optical drive 512, and is stored in a recording medium 514 (for example, an optical recording medium such as a DVD (Digital Versatile Disc)) that non-transiently stores a computer-readable program.
  • a recording medium 514 for example, an optical recording medium such as a DVD (Digital Versatile Disc)
  • the stored program is read and installed in the storage 510 or the like.
  • the support program 5104 or the like executed by the support device 500 may be installed via a computer-readable recording medium 514, or may be installed by downloading from a server device or the like on the network. Further, the function provided by the support device 500 according to the present embodiment may be realized by using a part of the module provided by the OS.
  • FIG. 5 shows a configuration example in which the functions required as the support device 500 are provided by the processor 502 executing the program, and some or all of these provided functions are provided by dedicated hardware. It may be implemented using a circuit (eg, ASIC or FPGA).
  • support device 500 may be removed from the standard control unit 100 while the control system 1 is in operation.
  • FIG. 6 is a schematic diagram for explaining FSoE in the control system 1 according to the present embodiment.
  • the data collected by the safety function unit 360 connected to the coupler unit 300 by bus is transmitted to the safety control unit 200. An example of doing so is shown.
  • Frames according to EtherCAT are periodically transmitted to the field network 6.
  • the standard control unit 100 acquires the input data collected by the functional unit via a frame periodically transmitted through the field network 6.
  • the standard control unit 100 executes a control calculation based on the acquired input data, and transmits a control command (output data) obtained by executing the control calculation to the functional unit via a frame.
  • the standard control unit 100 periodically executes the control task 150 in response to the frame transmission cycle in the field network 6. That is, the standard control unit 100 constituting the control device 2 periodically executes a control operation for controlling the control target.
  • the IO refresh process 152 In each execution cycle (task cycle) of the control task 150, the IO refresh process 152, the user program execution process 154 such as the sequence operation, the motion program execution process 156, and the like are executed.
  • the IO refresh process 152 is a process of updating the data included in the frame transmitted on the field network 6 to a state in which the standard control unit 100 can refer to the data. Normally, the transmission cycle of the frame is set to match the task cycle in the standard control unit 100.
  • the data transmitted by the FSoE is transmitted to the standard control unit 100 by a frame transmitted on the field network 6, and then safety controlled by the standard control unit 100 via the internal bus 18 (see FIGS. 3 and 4). Transferred to unit 200. That is, in order to realize FSoE, the standard control unit 100 mediates data.
  • a process of transferring the data transmitted via the field network 6 to the safety control unit 200, and a process of storing the data transmitted from the safety control unit 200 in a frame and transmitting the data via the field network 6 (in the following, these processes are also referred to as “FSoE data wrapping process”), which is executed as a part of the IO refresh process 152 included in the control task 150.
  • the responsiveness of the FSoE can be ensured. That is, the time required for exchanging data in FSoE is guaranteed to be a time determined according to the task cycle (that is, the transmission cycle).
  • FIG. 7 is a schematic diagram for explaining CIPSsafety in the control system 1 according to the present embodiment.
  • FIG. 7 shows an example in which data is exchanged between the safety control unit 200 and the safety driver 12 in a configuration in which the standard control unit 100 and the safety driver 12, which is an example of a slave device, are connected via the process network 10. Is shown.
  • CIPSsafety a frame (CIPSsafety frame) is exchanged for each predefined connection between the standard control unit 100 and each slave device (safety driver 12 in the example shown in FIG. 7).
  • EPI Exected Packet Interval
  • the EPI may be set for each communication destination device (target device).
  • the standard control unit 100 transfers the frame received from each slave device to the safety control unit 200 via the internal bus 18. That is, the standard control unit 100 functions as a bridge that mediates frame transfer between each slave device and the safety control unit 200. The function as this bridge is executed as a communication process 160 independent of the control task 150.
  • the CIPSafetti communication service 162 that processes the CIPSsafety frame of CIPSsafety is executed.
  • the responsiveness of CIPSafety can be ensured without being affected by the time required for the user program execution process 154 executed in the control task 150. That is, by executing the control task 150 and the communication process 160 independently of each other, it is possible to both shorten the execution cycle of the standard control program (user program) in the standard control unit 100 and improve the responsiveness of CIPSsafety.
  • FIG. 8 is a schematic diagram showing a functional configuration example for realizing CIPSsafety in the control device 2 according to the present embodiment.
  • the control device 2 includes a CIPSsafety communication service 162, a CIPSsafety protocol stack 164, and a safety control execution unit 250 as functions related to CIPSsafety.
  • the CIPSsafety communication service 162 corresponds to a processing module that processes CIPSsafety frames. Specifically, the CIPSsafety communication service 162 receives a CIPSsafety frame from a slave device and outputs the received CIPSsafety frame to the CIPSsafety protocol stack 164. Further, the CIPSafetti communication service 162 transmits a CIPSsafety frame to the destination slave device in accordance with a command from the CIPSsafety protocol stack 164.
  • the CIPSsafety protocol stack 164 manages the exchange of CIPSsafety frames according to CIPSsafety. Specifically, the CIPSsafety protocol stack 164 analyzes the input CIPSsafety frame and outputs the data (input data) contained therein to the safety control execution unit 250. Further, the CIPSsafety protocol stack 164 generates a CIPSsafety frame according to a control command (output data) from the safety control execution unit 250 and outputs the CIPSsafety communication service 162.
  • the safety control execution unit 250 calculates a control command (output data) by performing a control calculation related to safety control based on the input data from the CIPSsafety protocol stack 164.
  • FIG. 9 is a schematic diagram showing an implementation example of the functional configuration shown in FIG. FIG. 9A shows a configuration example including the standard control unit 100 and the safety control unit 200.
  • the CIPSsafety communication service 162 is mounted on the standard control unit 100
  • the CIPSsafety protocol stack 164 and the safety control execution unit 250 are mounted on the safety control unit 200.
  • FIG. 9B shows a configuration example in which all functions are mounted on the safety control unit 200.
  • the CIPSsafety communication service 162, the CIPSsafety protocol stack 164, and the safety control execution unit 250 are mounted on the safety control unit 200.
  • FIGS. 9 (a) and 9 (b) are not limited, and any mounting form may be adopted.
  • the standard control unit 100 or the safety control unit 200 constituting the control device 2 executes communication processing for periodically exchanging data with the slave device.
  • the settable range of the EPI may be determined based on the cycle (task cycle) of the control calculation executed by the standard control unit 100.
  • the setting contents of CIPSsafety include the number of connections and data size of CIPSsafety.
  • the number of CIPSsafety connections may include both the number of connections uniquely supported by the control system 1 (maximum number) and the number of connections arbitrarily set by the user.
  • the data size of CIPSafety may include both the size of the data assigned to each connection and the total of the data assigned to all the connections.
  • FIG. 10 is a schematic diagram for explaining an example of the setting contents of CIPSsafety in the control device 2 according to the present embodiment.
  • FIG. 10A shows an example in which connections C1 to C100 are set
  • FIG. 10B shows an example in which connections C1 to C10 are set.
  • FIG. 10 (a) As can be seen by comparing FIG. 10 (a) and FIG. 10 (b), it can be seen that the larger the number of connections, the longer the EPI. Similarly, the larger the data size, the longer the EPI.
  • the settable range of the EPI may be determined based on at least one of the number of data connections and the data size of the data exchanged with the slave device. ..
  • the EPI settable range may be determined for each device to which the control device 2 exchanges data.
  • the processing capacity (spec) of the unit that provides the CIPSsafety communication service 162 means the hardware performance of the unit (standard control unit 100 or safety control unit 200 as shown in FIG. 9) on which the CIPSsafety communication service 162 is mounted. .. Such processing capacity (specs) depends on the performance, memory capacity, data transmission speed, and the like of the processor mounted on the unit.
  • the settable range of the EPI may be determined based on the processing capacity of the control device 2 (standard control unit 100 and safety control unit 200).
  • FIG. 11 is a schematic diagram for explaining an execution example of the CIPSsafety communication service in the control device 2 according to the present embodiment.
  • FIG. 11 shows an execution example in a unit (standard control unit 100 or safety control unit 200) that provides the CIPSsafety communication service 162.
  • FIGS. 11 (a) and 11 (b) service X166 and service Y167 are executed in addition to the CIPSsafety communication service 162 by using common resources.
  • FIG. 11A shows an example in which the CIPSsafety communication service 162 is executed with a higher priority than other services
  • FIG. 11B shows an example in which the CIPSsafety communication service 162 is compared with other services.
  • execution with low priority is an example of execution with low priority.
  • the CIPSsafety communication service 162 when a higher priority is set for the CIPSafety communication service 162 as compared with other services, the CIPSsafety communication service 162 has priority.
  • the EPI can be shortened in order to be executed.
  • the responsiveness of CIPSafetti (that is, the minimum value of EPI) changes according to the service content executed by the unit that provides the CIPSsafety communication service 162 and the priority set for each service.
  • the EPI settable range may be determined based on the priority set in the control calculation executed in the standard control unit 100.
  • the priority in the unit that provides the CIPSsafety communication service 162 can be arbitrarily set. However, the priority of some services may be fixed to the design value.
  • the control system 1 according to the present embodiment can also provide a function of supporting the setting of the responsiveness (length of EPI) of CIPSsafety while reflecting the above-mentioned limiting factors.
  • the function of supporting the setting of the responsiveness (EPI length) of CIPSsafety will be described. That is, the control system 1 according to the present embodiment can automatically calculate the minimum value of EPI that can be set, which is determined according to the performance of the unit and the current setting.
  • FIG. 12 is a diagram showing an example of a parameter table 170 used for calculating the minimum value of EPI that can be set in the control system 1 according to the present embodiment.
  • the parameter table 170 is, as an example, the parameter values of the first parameter 172, the second parameter 174, and the third parameter group 176 according to the type of the controller (typically, the standard control unit 100). including.
  • the first parameter 172 reflects the limiting factor of "(1) Various settings of the unit that affect the responsiveness of CIPSsafety".
  • the second parameter 174 reflects the limiting factor of "(2) CIPSsafety setting contents".
  • the third parameter group 176 is a limiting factor of "(4-1) other services provided by the unit providing the CIPSsafety communication service 162" and "(4-2) priority in the unit providing the CIPSsafety communication service 162". To reflect.
  • the first parameter 172, the second parameter 174, and the third parameter group 176 all reflect the limiting factor of "(3) processing capacity (spec) of the unit that provides the CIPSsafety communication service 162".
  • the minimum value of EPI that can be set is calculated according to the following equation (1).
  • the set value Ts means each execution cycle (task cycle) of the control task 150. That is, the set value Ts means the IO refresh cycle. Further, the set value Sc means the number of connections of CIPSsafety. The data size of CIPSsafety may be used as the set value Sc.
  • the parameter values (parameter values c, d, e) of the third parameter group 176 reflect the service to be executed, the priority, and the like. Therefore, when the service executed in the target controller or the priority is changed, the minimum value of EPI that can be set may be recalculated according to the changed setting contents.
  • FIG. 13 is a diagram for explaining a process of recalculating the minimum value of EPI that can be set in the control system 1 according to the present embodiment.
  • the parameter to be applied is selected again and the minimum value of EPI that can be set is set. It may be recalculated.
  • the CIPSsafety communication service 162 has the next highest priority after the service X166.
  • the service Y167 and the service Z168 are set to have a lower priority than the CIPSafety communication service 162.
  • the minimum value of EPI that can be set is calculated according to Eq. (2) as shown below.
  • a predetermined value may be used as the maximum value of EPI.
  • any value less than the time determined as a communication error (timeout) may be set as the maximum value of EPI.
  • FIG. 14 is a block diagram showing an example of the functional configuration of the support device 500 included in the control system 1 according to the present embodiment.
  • the main functions shown in FIG. 14 are realized by the processor 502 of the support device 500 executing the support program 5104 (FIG. 5).
  • the support device 500 includes a program development unit 540 and an EPI calculation unit 550.
  • the program development unit 540 provides an interface for developing a program executed by the control device 2 and making necessary settings.
  • the program development unit 540 includes project data 5106 (FIG. 5 and the like) including standard control source program 5108, standard controller setting information 5110, safety source program 5112, safety controller setting information 5114, safety driver setting information 5116, and the like according to user operations. See).
  • the program development unit 540 is for constructing the processing contents executed by the standard control unit 100 and the safety control unit 200 constituting the control device 2 and performing at least a part of the setting related to the communication processing. Provide a development environment.
  • the EPI calculation unit 550 can be set based on the setting information 542 (including the standard controller setting information 5110 and the safety controller setting information 5114) generated by the program development unit 540 and the parameter table 170 (see FIG. 12). EPI is calculated as the minimum value.
  • the minimum value of the settable EPI calculated by the EPI calculation unit 550 may be presented to the user via an output unit 508 (see FIG. 5 or the like) such as a display.
  • the EPI calculation unit 550 determines a settable range of the cycle (EPI) for exchanging data with the slave device based on the contents set in the development environment provided by the program development unit 540. To do.
  • EPI settable range of the cycle
  • FIG. 15 is a diagram showing an example of a user interface screen provided by the control system 1 according to the present embodiment.
  • the user interface screen 570 shown in FIG. 15 may typically be displayed on the support device 500.
  • the user interface screen 570 includes a settable range 572 of the EPI associated with the setting information 574.
  • the setting information 574 includes a task cycle 575 (setting Ts), a number of connections 576 (setting Sc), and type information 577 as setting items.
  • the minimum value of the EPI that can be set is calculated and presented to the user together with the setting information corresponding to the calculation of the EPI.
  • FIG. 16 is a diagram showing another example of the user interface screen provided by the control system 1 according to the present embodiment.
  • the current EPI setting value 582 is displayed for each target device 588.
  • the setting information 584 (task cycle 585 (setting Ts), number of connections 586 (setting Sc), type information 587) is displayed in association with the EPI setting value 582 for each target device 588.
  • the EPI setting value 582 is less than the minimum configurable EPI value calculated based on the corresponding setting information 584 (that is, outside the configurable range), the user is informed that an error has occurred. It may be presented. This error may be presented in any form, and for example, a mode may be adopted in which the character or background color of the corresponding EPI setting value 582 is different from the normal display mode.
  • FIG. 16 shows an example in which an attention display 589 for presenting an error is made for the set value 582 of EPI.
  • the set value 582 of the corresponding EPI may be blinked, or notification may be performed by voice or the like.
  • a message 579 suggesting a change in the setting contents of the setting information 584 is displayed for the setting value 582 of the EPI in which the error has occurred so as to be within the settable range. You may try to do so.
  • the set value 582 of the EPI can be within the settable range by reducing the number of connections 586 (setting Sc).
  • the content suggesting the change of the setting content included in the message 579 is that the support device 500 generates several candidates having different setting information 584 and calculates the minimum value of EPI that can be set for each candidate. It is determined.
  • FIG. 17 is a diagram showing still another example of the user interface screen provided by the control system 1 according to the present embodiment.
  • the user interface screen 590 shown in FIG. 17 provides an interface for setting related to CIPSsafety.
  • the user interface screen 590 includes information on the connection set for the port to be set.
  • the user interface screen 590 displays a flag 592 for selecting valid / invalid connection settings, a data setting 593 assigned to the target connection, and a corresponding minimum EPI value 594.
  • the network response time 596 between the communication destination device (target device) and the like.
  • the network response time 596 may be a value calculated by simulation or a value actually measured (actual measurement value).
  • an error message 595 including the settable range may be displayed.
  • the support device 500 has a notification function for notifying when the set value of the cycle for exchanging data with the slave device is outside the settable range of EPI. You may have.
  • FIG. 18 is a flowchart showing an example of a processing procedure executed by the support device 500 included in the control system 1 according to the present embodiment. Each step shown in FIG. 18 is realized by the processor 502 of the support device 500 executing the support program 5104 (FIG. 5).
  • the support device 500 starts providing the development environment according to the user operation (step S100). That is, the support device 500 executes a process that provides a development environment for constructing the processing content executed by the standard control unit 100 and setting at least a part related to the communication processing.
  • the support device 500 generates a program and determines various setting information according to the user operation (step S102). Then, the support device 500 determines whether or not the information necessary for calculating the minimum value of the EPI that can be set is prepared (step S104). If the information necessary for calculating the minimum value of EPI that can be set is not prepared (NO in step S104), the support device 500 repeats the process of step S102 and the like.
  • the support device 500 selects one device (target device) to be calculated (step S106).
  • the minimum value of EPI that can be set is calculated based on the related setting information (step S108). That is, the support device 500 executes a process of determining a settable range of EPI, which is a cycle for exchanging data with the slave device, based on the contents set in the development environment.
  • the support device 500 determines whether or not the minimum value of EPI that can be set has been calculated for all the devices to be calculated (step S110). If there are still devices for which the minimum value of EPI that can be set has not been calculated (NO in step S110), the support device 500 repeats the processes of step S106 and subsequent steps.
  • the support device 500 corresponds to one or a plurality of EPIs currently set. It is determined whether or not there is something below the minimum value of EPI that can be set (step S112).
  • step S112 If one or more of the currently set EPIs are below the corresponding minimum settable EPI (YES in step S112), the support device 500 sets the minimum settable EPI. Identify the EPI below (step S114). If there is no EPI below the minimum value of EPI that can be set (NO in step S112), the process of step S114 is skipped.
  • the support device 500 presents to the user an error regarding the calculated minimum value of the configurable EPI and the EPI that is less than the minimum value of the configurable EPI (step S116). Then, the process ends.
  • a configuration example for calculating the minimum value of EPI that can be set by the support device 500 has been mainly described, but the calculation can be performed not only by the support device 500 but also by any processing entity. For example, it may be executed by the controller (standard control unit 100 or safety control unit 200), or it may be executed by a computer arranged on the cloud based on the setting information output from the support device 500. Good. That is, the method for calculating the minimum value of EPI that can be set according to the present embodiment may be executed by any processing subject.
  • CIPSsafety has been described in detail, but the present invention is not limited to CIPSsafety, and data of a predetermined data size is periodically exchanged with one or a plurality of communication destinations. It is widely applicable to data communication. For example, it can be applied to normal frame transmission by EtherNet / IP.
  • control device 2 including the standard control unit 100 and the safety control unit 200 that are independent of each other has been illustrated, but the control device 2 is not limited to such a configuration, and the functions of both units are integrated. It may be realized as a controller of. Further, since the essence of the present invention is communication processing, it is not always necessary to use the control device 2 including both the standard control unit 100 and the safety control unit 200, and the configuration of the control device includes only one of the units. You may.
  • a control system (1) including a control device (2) and a device (12) capable of communicating with the control device.
  • a control means (100) that periodically executes a control operation (150) for controlling a control target, and
  • a communication processing means (100; 200) that executes a communication process (160) for periodically exchanging data with the device, and
  • a providing means (500; 540) that provides a development environment for constructing a processing content executed by the control means and setting at least a part of the communication processing by the communication processing means.
  • a control system including a determination means (500; 550) for determining a settable range of a cycle for exchanging data with the device based on the contents set in the development environment provided by the providing means. ..
  • the determining means reflects both the limiting factor determined according to the processing content executed by the control means and the limiting factor determined according to the setting related to the communication processing by the communication processing means.
  • the control system according to configuration 1, which determines the settable range.
  • the control system according to configuration 1 or 2 wherein the determination means determines the settable range based on at least one of the number of data connections and the data size exchanged with the device.
  • FIG. 8 Any of the configurations 1 to 7, further comprising a notification means (500) for notifying when the set value of the cycle for exchanging data with the device is outside the settable range determined by the determination means.
  • the control system according to item 1.
  • FIG. 9 A support device (500) directed to a control system (1) including a control device (2) and a device (12) capable of communicating with the control device.
  • the control device is A control means (100) that periodically executes a control operation (150) for controlling a control target, and A communication processing means (100; 200) that executes a communication process (160) for periodically exchanging data with the device is provided.
  • the support device is A providing means (500; 540) that provides a development environment for constructing a processing content executed by the control means and setting at least a part of the communication processing by the communication processing means.
  • a support device including a determining means (500; 550) for determining a settable range of a cycle for exchanging data with the device based on the contents set in the development environment provided by the providing means. .. [Structure 10]
  • the control device is A control means (100) that periodically executes a control operation (150) for controlling a control target, and A communication processing means (100; 200) that executes a communication process (160) for periodically exchanging data with the device is provided.
  • the program When the program is executed by the computer, the program provides a development environment for constructing the processing content executed by the control means on the computer and setting at least a part of the communication processing by the communication processing means.
  • EPI a cycle for exchanging data between the control device 2 and the slave device based on the processing contents executed by the control device 2 and the settings related to the communication processing.
  • the settable range of the cycle (EPI) for exchanging data can be calculated, tuning for finding an appropriate cycle within the calculated range can be easily realized.
  • the settable range of the cycle (EPI) for exchanging data can be known in advance, so that the device design can be easily realized. it can.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Programmable Controllers (AREA)

Abstract

制御装置および制御装置と通信可能なデバイスとを含む制御システムが提供される。制御システムは、制御対象を制御するための制御演算を周期的に実行する制御手段と、デバイスとの間でデータを周期的に遣り取りするための通信処理を実行する通信処理手段と、制御手段により実行される処理内容の構築、および、通信処理手段による通信処理に係る設定、の少なくとも一部を行うための開発環境を提供する提供手段と、提供手段により提供される開発環境において設定された内容に基づいて、デバイスとの間でデータを遣り取りする周期の設定可能な範囲を決定する決定手段とを含む。

Description

制御システム、サポート装置およびサポート装置用のプログラム
 本発明は、データを周期的に遣り取りする制御システム、サポート装置およびサポート装置用のプログラムに関する。
 設備や機械などを制御するための制御装置として、PLC(プログラマブルロジックコントローラ)が用いられる。さらに、PLCに加えて、セーフティコントローラおよび各種セーフティコンポーネントからなるセーフティシステムが配置されることもある。
 ICT(Information and Communication Technology)の進歩に伴って、このような産業用コントローラについてもネットワーク化が進行しつつある。公知の構成においては、例えば、特許文献1(特開2009-223398号公報)に開示されるように、演算処理を実行するCPUユニットに加えて、通信処理を担当する通信ユニットが装着される。特許文献2(特開2017-027539号公報)に開示されるように、CPUモジュールとは別に、IOモジュールの一例である通信モジュールを装着して、通信処理を行う構成が一般的である。
特開2009-223398号公報 特開2017-027539号公報
 通常、設備や機械などの制御対象を制御するための制御演算においては、IOデータ(入出力データ)を周期的に更新する必要がある。このようなIOデータを周期的に更新するためには、IOデータの収集先であるデバイスとの間でデータを周期的に遣り取りする必要がある。
 しかしながら、ネットワーク上でデータを周期的に遣り取りする場合には、様々な制約要因が存在するため、通信周期をどのような値に設定すべきかを決定するのかは容易ではない。
 本発明は、デバイスとの間でデータを遣り取りする周期の設定可能な範囲を容易に決定できる構成を提供することを目的とする。
 本発明のある実施の形態に従えば、制御装置および制御装置と通信可能なデバイスとを含む制御システムが提供される。制御システムは、制御対象を制御するための制御演算を周期的に実行する制御手段と、デバイスとの間でデータを周期的に遣り取りするための通信処理を実行する通信処理手段と、制御手段により実行される処理内容の構築、および、通信処理手段による通信処理に係る設定、の少なくとも一部を行うための開発環境を提供する提供手段と、提供手段により提供される開発環境において設定された内容に基づいて、デバイスとの間でデータを遣り取りする周期の設定可能な範囲を決定する決定手段とを含む。
 この実施の形態によれば、制御手段により実行される処理内容および通信処理に係る設定に基づいて、デバイスとの間でデータを遣り取りする周期の設定可能な範囲が決定されるので、知識の少ないユーザであっても適切な周期を設定できる。
 決定手段は、制御手段により実行される処理内容に応じて決定される制約要因、および、通信処理手段による通信処理に係る設定に応じて決定される制約要因の両方を反映して、設定可能な範囲を決定するようにしてもよい。この構成によれば、制御手段により実行される処理内容に応じて決定される制約要因、および、通信処理手段による通信処理に係る設定に応じて決定される制約要因の両方が反映された、適切な範囲を決定できる。
 決定手段は、デバイスとの間で遣り取りされるデータのコネクション数およびデータサイズの少なくとも一方に基づいて、設定可能な範囲を決定するようにしてもよい。この構成によれば、デバイスとの間で遣り取りされるデータに応じて適切な範囲を決定できる。
 決定手段は、制御手段において実行される制御演算の周期に基づいて、設定可能な範囲を決定するようにしてもよい。この構成によれば、制御演算の周期に応じて適切な範囲を決定できる。
 決定手段は、制御手段において実行される制御演算に設定されている優先度に基づいて、設定可能な範囲を決定するようにしてもよい。この構成によれば、制御演算に設定されている優先度に応じて適切な範囲を決定できる。
 決定手段は、制御装置の処理能力に基づいて、設定可能な範囲を決定するようにしてもよい。この構成によれば、制御装置の処理能力に応じて適切な範囲を決定できる。
 決定手段は、制御装置がデータを遣り取りするデバイス毎に、設定可能な範囲を決定するようにしてもよい。この構成によれば、複数のデバイスとの間でデータを遣り取りする場合であっても、それぞれのデバイスについて適切な範囲を決定できる。
 デバイスとの間でデータを遣り取りする周期の設定値が決定手段により決定された設定可能な範囲外である場合に、通知を行う通知手段をさらに含んでいてもよい。この構成によれば、現在の設定値が周期の設定可能な範囲外である場合に、適切な変更をユーザに促すことができる。
 本発明の別の実施の形態に従えば、制御装置および制御装置と通信可能なデバイスとを含む制御システムに向けられたサポート装置が提供される。制御装置は、制御対象を制御するための制御演算を周期的に実行する制御手段と、デバイスとの間でデータを周期的に遣り取りするための通信処理を実行する通信処理手段とを含む。サポート装置は、制御手段により実行される処理内容の構築、および、通信処理手段による通信処理に係る設定、の少なくとも一部を行うための開発環境を提供する提供手段と、提供手段により提供される開発環境において設定された内容に基づいて、デバイスとの間でデータを遣り取りする周期の設定可能な範囲を決定する決定手段とを含む。
 本発明のさらに別の実施の形態に従えば、制御装置および制御装置と通信可能なデバイスとを含む制御システムに向けられたサポート装置用のプログラムが提供される。制御装置は、制御対象を制御するための制御演算を周期的に実行する制御手段と、デバイスとの間でデータを周期的に遣り取りするための通信処理を実行する通信処理手段とを含む。プログラムは、コンピュータにより実行されると、コンピュータに、制御手段により実行される処理内容の構築、および、通信処理手段による通信処理に係る設定、の少なくとも一部を行うための開発環境を提供するステップと、開発環境において設定された内容に基づいて、デバイスとの間でデータを遣り取りする周期の設定可能な範囲を決定するステップとを実行させる。
 本発明によれば、デバイスとの間でデータを遣り取りする周期の設定可能な範囲を容易に決定できる。
本実施の形態に従う制御システムにおける処理概要を説明するための図である。 本実施の形態に従う制御システムの構成例を示す模式図である。 本実施の形態に従う制御システムに含まれる標準制御ユニットのハードウェア構成例を示す模式図である。 本実施の形態に従う制御システムに含まれるセーフティ制御ユニットのハードウェア構成例を示す模式図である。 本実施の形態に従う制御システムに含まれるサポート装置のハードウェア構成例を示す模式図である。 本実施の形態に従う制御システムにおけるFSoEを説明するための模式図である。 本実施の形態に従う制御システムにおけるCIPSafetyを説明するための模式図である。 本実施の形態に従う制御装置におけるCIPSafetyを実現するための機能構成例を示す模式図である。 図8に示す機能構成の実装例を示す模式図である。 本実施の形態に従う制御装置におけるCIPSafetyの設定内容の一例を説明するための模式図である。 本実施の形態に従う制御装置におけるCIPSafety通信サービスの実行例を説明するための模式図である。 本実施の形態に従う制御システムにおいて設定可能なEPIの最小値を算出するために用いられるパラメータテーブルの一例を示す図である。 本実施の形態に従う制御システムにおいて設定可能なEPIの最小値を再算出する処理を説明するための図である。 本実施の形態に従う制御システムに含まれるサポート装置の機能構成の一例を示すブロック図である。 本実施の形態に従う制御システムが提供するユーザインターフェイス画面の一例を示す図である。 本実施の形態に従う制御システムが提供するユーザインターフェイス画面の別の一例を示す図である。 本実施の形態に従う制御システムが提供するユーザインターフェイス画面のさらに別の一例を示す図である。 本実施の形態に従う制御システムに含まれるサポート装置において実行される処理手順の一例を示すフローチャートである。
 本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
 <A.適用例>
 まず、図1を参照して、本発明が適用される場面の一例について説明する。
 図1は、本実施の形態に従う制御システム1における処理概要を説明するための図である。図1を参照して、制御装置2は、プロセスネットワーク10を介して、1または複数のデバイスと接続されている。プロセスネットワーク10には、ハブ8が配置されていてもよい。
 制御装置2は、制御対象を制御するための制御演算を周期的に実行する。また、制御装置2は、デバイスとの間でデータを周期的に遣り取りするための通信処理を実行する。すなわち、制御装置2とデバイスとの間では、データが周期的に遣り取りされる。
 このような通信処理を考慮して、制御装置2は、デバイスとの間でデータを遣り取りする周期(通信周期)の設定可能な範囲を決定することができる。具体的には、制御装置2は、制御装置2で実行される処理、および、通信処理に係る設定などに応じて、設定可能な通信周期が算出される。
 この設定可能な通信周期の算出には、以下のような制約要因に基づいてもよい。
 ・制御装置(ユニット)の各種設定
 ・通信の設定内容
 ・制御装置(ユニット)の処理能力(スペック)
 ・制御装置(ユニット)が提供する他のサービス
 ・制御装置(ユニット)における優先度
 このような制約要因については、後述するようなサポート装置が提供する開発環境において設定された内容に基づいて決定されるとともに、当該決定された制約要因から設定可能な通信周期が算出されてもよい。
 ここで、「設定可能な範囲」とは、対象となる値を有効に設定できる範囲を包含する用語であり、上限および下限の両方を規定する場合に加えて、下限のみあるいは上限のみを規定する場合を含み得る。特に、本実施の形態においては、下限(最小値)の決定に着目する。
 本明細書においては、制御装置と各デバイスとの間で送受信される主たるデータを「フレーム」として説明する。但し、「フレーム」との用語に基づいて、送受信されるデータを限定的に解釈すべきではなく、例えば、「パケット」の単位で送受信される場合や、より長いデータ列の単位で送受信されるような場合も含み得る。
 本明細書においては、「標準制御」および「セーフティ制御」の用語を対比的に用いる。「標準制御」は、予め定められた要求仕様に沿って、制御対象を制御するための処理の総称である。一方、「セーフティ制御」は、設備や機械などによって人の安全が脅かされることを防止するための処理を総称する。「セーフティ制御」は、IEC 61508などに規定されたセーフティ機能を実現するための要件を満たすように設計される。
 <B.システム構成例>
 まず、本実施の形態に従う制御システム1の構成例について説明する。図2は、本実施の形態に従う制御システム1の構成例を示す模式図である。
 図2を参照して、制御システム1は、一例として、制御装置2と、1または複数のリモートIO装置4と、1または複数のスレーブデバイスとを含む。
 制御装置2は、制御演算を実行する処理主体であり、標準制御ユニット100と、セーフティ制御ユニット200と、1または複数の機能ユニット350とを含む。標準制御ユニット100は、標準制御および後述するような通信処理に係る制御演算を実行する。セーフティ制御ユニット200は、セーフティ制御に係る制御演算を実行する。機能ユニット350の各々は、各ユニットに実装されている機能(例えば、入出力機能、位置制御機能、PID制御機能など)に応じた処理を実行する。なお、セーフティ制御ユニット200は、機能ユニット350の一類型とみなすこともできる。
 標準制御ユニット100と、セーフティ制御ユニット200および機能ユニット350との間は、内部バス18を介して電気的に接続されている。
 制御装置2(標準制御ユニット100)は、フィールドネットワーク6を介して、リモートIO装置4と電気的に接続されている。制御装置2は、さらに、プロセスネットワーク10およびハブ8を介して、スレーブデバイスの一例であるセーフティドライバ12と通信可能に接続されている。
 フィールドネットワーク6は、FA(Factory Automation)用のデータ伝送を実現するための通信媒体である。フィールドネットワーク6においては、予め定められた周期でフレーム伝送が可能になっており、ネットワーク内の各ノードに対するデータ到着時間が保証される。このようなデータ到着時間が保証されるプロトコルの一例として、本実施の形態に従う制御システム1においては、フィールドネットワーク6にはEtherCAT(登録商標)を採用する。さらに、後述するようなセーフティ制御に用いられるデータは、EtherCATを利用したFSoE(Functional Safety over EtherCAT)により伝送されてもよい。
 プロセスネットワーク10は、フィールドネットワーク6と同様に、FA用のデータ伝送を実現するための通信媒体である。本実施の形態に従う制御システム1においては、プロセスネットワーク10にはEtherNet/IP(登録商標)を採用する。さらに、後述するようなセーフティ制御に用いられるデータは、EtherNet/IPを利用したCIPSafetyにより伝送されてもよい。
 制御装置2(標準制御ユニット100)は、さらに上位ネットワーク20に接続されていてもよい。上位ネットワーク20には、ゲートウェイやデータベースサーバといった任意の情報処理装置が接続されていてもよい。
 リモートIO装置4は、カプラユニット300と、1または複数の機能ユニット350とを含む。リモートIO装置4は、制御対象から各種情報を収集して制御装置2へ送信するとともに、制御装置2からのデータに含まれる指令に従って制御装置に対する信号出力や処理を実行する。
 カプラユニット300は、制御装置2(標準制御ユニット100)と機能ユニット350との間のデータの遣り取りを仲介する。併せて、カプラユニット300は、フレームを介して受信したデータを機能ユニット350へ送信するとともに、機能ユニット350からデータを受信すると、当該受信したデータを次に到着するフレームに格納する準備を行う。
 機能ユニット350は、制御装置2に含まれる機能ユニット350と実質的に同一であり、各ユニットに実装されている機能(例えば、入出力機能、位置制御機能、PID制御機能など)に応じた処理を実行する。
 カプラユニット300は、機能ユニット350の一例として、セーフティ機能ユニット360を含む場合もある。図2には、1つのリモートIO装置4がセーフティ機能ユニット360を含む例を示す。セーフティ機能ユニット360は、セーフティ制御に係る機能を有している。一例として、セーフティ機能ユニット360は、セーフティIOユニットである。セーフティIOユニットは、非常停止ボタン、セーフティドアスイッチ、ライトカーテンなどのセーフティコンポーネント16からの信号を受け付ける入力機能、および/または、セーフティコンポーネント16への信号を出力する出力機能を有する。
 セーフティ制御ユニット200とセーフティ機能ユニット360との間では、フィールドネットワーク6を周期的に伝送されるフレームを利用した一種のピアトゥピア通信であるFSoEを用いて、データが遣り取りされてもよい。
 図2には、スレーブデバイスとして、モータ14を駆動するセーフティドライバ12を示す。セーフティドライバ12は、制御装置2(標準制御ユニット100)からの指令に従って、接続されているモータ14を駆動するとともに、モータ14の駆動に係るセーフティコンポーネントとしての機能も含む。なお、モータ14は、サーボモータ、誘導モータ、同期モータ、リニアモータなどの任意の運動体である。
 セーフティドライバ12は、制御装置2(標準制御ユニット100)との間で確立されるコネクションを利用して、データを遣り取りする。以下では、このデータを遣り取りするプロトコルとして、CIPSafetyを用いる場合について説明する。
 サポート装置500は、制御システム1に向けられたものであり、制御装置2(標準制御ユニット100およびセーフティ制御ユニット200)で実行されるプログラムの作成およびデバッグならびに各種設定の支援するための環境をユーザに提供する。
 <C.ハードウェア構成例>
 次に、制御システム1に含まれる主要な装置のハードウェア構成例について説明する。
 (c1:標準制御ユニット)
 図3は、本実施の形態に従う制御システム1に含まれる標準制御ユニット100のハードウェア構成例を示す模式図である。図3を参照して、標準制御ユニット100は、プロセッサ102と、チップセット104と、主メモリ106と、ストレージ108と、ネットワークコントローラ110と、USB(Universal Serial Bus)コントローラ112と、メモリカードインターフェイス114と、内部バスコントローラ118と、フィールドネットワークコントローラ120と、プロセスネットワークコントローラ122と、カウンタ126と、RTC(Real Time Clock)128とを含む。
 プロセッサ102は、制御演算などを実行する演算処理部に相当し、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)などで構成される。具体的には、プロセッサ102は、ストレージ108に格納されたプログラム(一例として、システムプログラムおよび標準制御プログラム(ユーザプログラム))を読み出して、主メモリ106に展開して実行することで、標準制御および後述するような通信処理に係る演算を実行する。ストレージ108は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)などの不揮発性記憶装置などで構成される。主メモリ106は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される。
 チップセット104は、プロセッサ102と各デバイスとのデータ遣り取りを仲介することで、標準制御ユニット100全体としての処理を実現する。
 ストレージ108には、基本的な機能を実現するためのシステムプログラムに加えて、設備や機械などの制御対象に応じて作成される標準制御を実現するための標準制御プログラムが格納される。
 ネットワークコントローラ110は、上位ネットワーク20を介して、ゲートウェイやデータベースサーバといった任意の情報処理装置との間でデータを遣り取りする。
 USBコントローラ112は、USB接続を介して、サポート装置500との間でデータを遣り取りする。
 メモリカードインターフェイス114は、メモリカード116を着脱可能に構成されており、メモリカード116に対してデータを書き込み、メモリカード116から各種データ(標準制御プログラムやトレースデータなど)を読み出すことが可能になっている。
 内部バスコントローラ118は、内部バス18を介して、標準制御ユニット100と、セーフティ制御ユニット200および機能ユニット350とを電気的に接続するための通信インターフェイスに相当する。内部バスコントローラ118は、内部バス18を介して定周期通信を行うための通信マスタとして機能する。
 フィールドネットワークコントローラ120は、フィールドネットワーク6を介して、標準制御ユニット100とリモートIO装置4とを電気的に接続するための通信インターフェイスに相当する。フィールドネットワークコントローラ120は、フィールドネットワーク6を介して定周期通信を行うための通信マスタとして機能する。
 プロセスネットワークコントローラ122は、プロセスネットワーク10を介して、標準制御ユニット100とセーフティドライバ12とを電気的に接続するための通信インターフェイスに相当する。プロセスネットワークコントローラ122は、プロセスネットワーク10を介して、予め定められた周期でデータを遣り取りするための通信制御を担当する。
 カウンタ126は、標準制御ユニット100で実行される各種プログラムの実行タイミングを管理するための時刻基準として用いられる。RTC128は、計時機能を有する一種のカウンタであり、現在時刻をプロセッサ102などへ提供する。
 図3には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICやFPGAなど)を用いて実装してもよい。あるいは、標準制御ユニット100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。さらに、標準制御ユニット100に表示装置やサポート装置などの機能を統合した構成を採用してもよい。
 (c2:セーフティ制御ユニット)
 図4は、本実施の形態に従う制御システム1に含まれるセーフティ制御ユニット200のハードウェア構成例を示す模式図である。図4を参照して、セーフティ制御ユニット200は、内部バスコントローラ218と、メインコントローラ210とを含む。
 内部バスコントローラ218は、内部バス18を介して標準制御ユニット100とセーフティ制御ユニット200とを電気的に接続するための通信インターフェイスに相当する。内部バスコントローラ218は、内部バス18を介したデータ通信に参加するための通信スレーブとして機能する。
 メインコントローラ210は、プロセッサ202と、主メモリ204と、ストレージ208とを含む。プロセッサ202は、制御演算や通信処理などを実行する演算処理部に相当し、CPU、MPU、GPUなどで構成される。具体的には、プロセッサ202は、ストレージ208に格納されたセーフティプログラム220を読み出して、主メモリ204に展開して実行することで、セーフティ制御などを実現する。
 図4には、プロセッサ202がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICやFPGAなど)を用いて実装してもよい。
 (c3:サポート装置)
 図5は、本実施の形態に従う制御システム1に含まれるサポート装置500のハードウェア構成例を示す模式図である。サポート装置500は、一例として、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコン)を用いて実現される。
 図5を参照して、サポート装置500は、プロセッサ502と、メインメモリ504と、入力部506と、出力部508と、ストレージ510と、光学ドライブ512と、USBコントローラ520とを含む。これらのコンポーネントは、プロセッサバス518を介して接続されている。
 プロセッサ502は、CPU、MPU、GPUなどで構成され、ストレージ510に格納されたプログラム(一例として、OS5102およびサポートプログラム5104)を読み出して、メインメモリ504に展開して実行することで、後述するような各種処理を実現する。
 メインメモリ504は、DRAMやSRAMなどの揮発性記憶装置などで構成される。ストレージ510は、例えば、HDDやSSDなどの不揮発性記憶装置などで構成される。
 ストレージ510には、基本的な機能を実現するためのOS5102に加えて、サポート装置500としての機能を提供するためのサポートプログラム5104が格納される。サポートプログラム5104は、標準制御ユニット100により実行される処理内容の構築、および、通信処理に係る設定、の少なくとも一部を行うための開発環境を提供する。
 さらに、ストレージ510には、サポートプログラム5104が実行されることで提供される開発環境においてユーザにより作成されるプロジェクトデータ5106が格納される。
 サポート装置500は、制御システム1に含まれる各デバイスに対する設定および各デバイスで実行されるプログラムの作成が統合的に可能な開発環境を提供する。プロジェクトデータ5106は、このような統合的な開発環境によって生成されるデータを含む。典型的には、プロジェクトデータ5106は、標準制御ソースプログラム5108と、標準コントローラ設定情報5110と、セーフティソースプログラム5112と、セーフティコントローラ設定情報5114と、セーフティドライバ設定情報5116とを含む。
 標準制御ソースプログラム5108は、オブジェクトコードに変換された上で、標準制御ユニット100へ送信され、標準制御プログラム1104として格納される。同様に、標準コントローラ設定情報5110についても標準制御ユニット100へ送信される。
 セーフティソースプログラム5112は、オブジェクトコードに変換された上で、セーフティ制御ユニット200へ送信され、セーフティプログラム220(図4参照)として格納される。同様に、セーフティコントローラ設定情報5114についてもセーフティ制御ユニット200へ送信される。
 セーフティドライバ設定情報5116は、セーフティドライバ12へ送信される。
 入力部506は、キーボードやマウスなどで構成され、ユーザ操作を受け付ける。出力部508は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ502からの処理結果などを出力する。
 USBコントローラ520は、USB接続を介して、標準制御ユニット100などとの間のデータを遣り取りする。
 サポート装置500は、光学ドライブ512を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体514(例えば、DVD(Digital Versatile Disc)などの光学記録媒体)から、その中に格納されたプログラムが読取られてストレージ510などにインストールされる。
 サポート装置500で実行されるサポートプログラム5104などは、コンピュータ読取可能な記録媒体514を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に係るサポート装置500が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
 図5には、プロセッサ502がプログラムを実行することで、サポート装置500として必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。
 なお、制御システム1が稼動中において、サポート装置500は、標準制御ユニット100から取り外されていてもよい。
 <D.制御装置2における通信処理>
 次に、制御装置2における通信処理について説明する。
 (d1:フィールドネットワーク上のFSoE)
 図6は、本実施の形態に従う制御システム1におけるFSoEを説明するための模式図である。図6には、フィールドネットワーク6を介して標準制御ユニット100とカプラユニット300とが接続された構成において、カプラユニット300にバス接続されるセーフティ機能ユニット360が収集したデータをセーフティ制御ユニット200へ送信する例を示す。
 フィールドネットワーク6にはEtherCATに従うフレームが周期的に伝送されている。標準制御ユニット100は、フィールドネットワーク6を周期的に伝送されるフレームを介して、機能ユニットが収集した入力データを取得する。標準制御ユニット100は、取得した入力データに基づいて制御演算を実行するとともに、フレームを介して、制御演算の実行により得られる制御指令(出力データ)を機能ユニットへ送信する。
 より具体的には、標準制御ユニット100は、フィールドネットワーク6におけるフレームの伝送周期に対応して、制御タスク150を周期的に実行する。すなわち、制御装置2を構成する標準制御ユニット100は、制御対象を制御するための制御演算を周期的に実行する。制御タスク150の各実行周期(タスク周期)において、IOリフレッシュ処理152、シーケンス演算などのユーザプログラム実行処理154、モーションプログラム実行処理156などが実行される。IOリフレッシュ処理152は、フィールドネットワーク6上を伝送されるフレームに含まれるデータを標準制御ユニット100において参照可能な状態に更新する処理である。通常、フレームの伝送周期は、標準制御ユニット100におけるタスク周期と一致するように設定されている。
 FSoEにより送信されるデータは、フィールドネットワーク6上を伝送されるフレームにより標準制御ユニット100に送信された後、標準制御ユニット100により内部バス18(図3および図4など参照)を介してセーフティ制御ユニット200へ転送される。すなわち、FSoEを実現するために、標準制御ユニット100はデータを仲介する。
 このようなフィールドネットワーク6を介して伝送されたデータをセーフティ制御ユニット200へ転送する処理、および、セーフティ制御ユニット200から送信されるデータをフレームに格納してフィールドネットワーク6を介して送出する処理(これらの処理は、以下では「FSoEデータの折り返し処理」とも称す。)は、制御タスク150に含まれるIOリフレッシュ処理152の一部として実行される。
 FSoEデータの折り返し処理がIOリフレッシュ処理152の一部として実行されることで、FSoEの応答性を確保できる。すなわち、FSoEでのデータの遣り取りに要する時間は、タスク周期(すなわち、伝送周期)に応じて定まる時間に保証される。
 (d2:プロセスネットワーク上のCIPSafety)
 図7は、本実施の形態に従う制御システム1におけるCIPSafetyを説明するための模式図である。図7には、プロセスネットワーク10を介して標準制御ユニット100とスレーブデバイスの一例であるセーフティドライバ12とが接続された構成において、セーフティ制御ユニット200とセーフティドライバ12との間でデータを遣り取りする例を示す。
 CIPSafetyにおいては、標準制御ユニット100と各スレーブデバイス(図7に示す例では、セーフティドライバ12)との間に予め定義されたコネクション毎にフレーム(CIPSafetyフレーム)が遣り取りされる。各コネクションのフレームの遣り取りを完了できる周期として、EPI(Expected Packet Interval)が予め設定されている。すなわち、各コネクションに対応するすべてのCIPSafetyフレームは、対応するEPI内で、少なくとも一回は生成および送信されることになる。EPIは、通信先のデバイス(ターゲットデバイス)毎にそれぞれ設定されてもよい。
 標準制御ユニット100は、各スレーブデバイスから受信したフレームを、内部バス18を介してセーフティ制御ユニット200へ転送する。すなわち、標準制御ユニット100は、各スレーブデバイスとセーフティ制御ユニット200との間のフレーム転送を仲介するブリッジとして機能する。このブリッジとして機能は、制御タスク150とは独立した通信処理160として実行される。
 通信処理160において、CIPSafetyのCIPSafetyフレームを処理するCIPSafety通信サービス162が実行される。
 通信処理160を制御タスク150から分離することで、制御タスク150において実行されるユーザプログラム実行処理154が要する時間に影響されることなく、CIPSafetyの応答性を確保できる。すなわち、制御タスク150および通信処理160を互いに独立させて実行することで、標準制御ユニット100における標準制御プログラム(ユーザプログラム)の実行周期の短縮、および、CIPSafetyの応答性向上を両立できる。
 <E.CIPSafetyの実装例>
 次に、制御装置2におけるCIPSafetyの実装例について説明する。
 図8は、本実施の形態に従う制御装置2におけるCIPSafetyを実現するための機能構成例を示す模式図である。図8を参照して、制御装置2は、CIPSafetyに関する機能として、CIPSafety通信サービス162と、CIPSafetyプロトコルスタック164と、セーフティ制御実行部250とを含む。
 CIPSafety通信サービス162は、CIPSafetyフレームを処理する処理モジュールに相当する。具体的には、CIPSafety通信サービス162は、スレーブデバイスからCIPSafetyフレームを受信して、その受信したCIPSafetyフレームをCIPSafetyプロトコルスタック164へ出力する。また、CIPSafety通信サービス162は、CIPSafetyプロトコルスタック164からの指令に従って、CIPSafetyフレームを宛先のスレーブデバイスへ送信する。
 CIPSafetyプロトコルスタック164は、CIPSafetyに従うCIPSafetyフレームの遣り取りを管理する。具体的には、CIPSafetyプロトコルスタック164は、入力されたCIPSafetyフレームを解析し、その中に含まれるデータ(入力データ)をセーフティ制御実行部250へ出力する。また、CIPSafetyプロトコルスタック164は、セーフティ制御実行部250からの制御指令(出力データ)に従って、CIPSafetyフレーム生成して、CIPSafety通信サービス162へ出力する。
 セーフティ制御実行部250は、CIPSafetyプロトコルスタック164からの入力データに基づいてセーフティ制御に係る制御演算することで、制御指令(出力データ)を算出する。
 図9は、図8に示す機能構成の実装例を示す模式図である。図9(a)には、標準制御ユニット100およびセーフティ制御ユニット200からなる構成例を示す。この構成例において、標準制御ユニット100には、CIPSafety通信サービス162が実装され、セーフティ制御ユニット200には、CIPSafetyプロトコルスタック164およびセーフティ制御実行部250が実装される。
 一方、図9(b)には、すべての機能がセーフティ制御ユニット200に実装される構成例を示す。構成例においては、CIPSafety通信サービス162、CIPSafetyプロトコルスタック164およびセーフティ制御実行部250がセーフティ制御ユニット200に実装される。
 なお、図9(a)および図9(b)に示す構成例に限らず、どのような実装形態を採用してもよい。
 このように、制御装置2を構成する標準制御ユニット100またはセーフティ制御ユニット200は、スレーブデバイスとの間でデータを周期的に遣り取りするための通信処理を実行する。
 <F.CIPSafetyの応答性>
 次に、CIPSafetyの応答性(EPIの最小値)について説明する。
 (f1:CIPSafetyの応答性を決定する要素)
 EPIが短いほどデータの更新周期が短いことを意味する。そのため、制御性能などを考慮すると、EPIは可能な限り短く設定することが好ましい。しかしながら、以下に示すような制約により、設定可能なEPIは決定されることになる。
 (1)CIPSafetyの応答性に影響を及ぼすユニットの各種設定
 (2)CIPSafetyの設定内容
 (3)CIPSafety通信サービス162を提供するユニットの処理能力(スペック)
 (4-1)CIPSafety通信サービス162を提供するユニットが提供する他のサービス
 (4-2)CIPSafety通信サービス162を提供するユニットにおける優先度
 このような制約要因の少なくとも一部に基づいてEPIの設定可能な範囲が決定される。以下、各制約要因について説明する。
 (f2:CIPSafetyの応答性に影響を及ぼすユニットの各種設定)
 CIPSafetyの応答性に影響を及ぼすユニットの各種設定としては、制御タスク150の各実行周期(タスク周期)などを含む。そのため、本実施の形態に従う制御システム1においては、標準制御ユニット100において実行される制御演算の周期(タスク周期)に基づいて、EPIの設定可能な範囲を決定するようにしてもよい。
 (f3:CIPSafetyの設定内容)
 CIPSafetyの設定内容としては、CIPSafetyのコネクション数およびデータサイズを含む。CIPSafetyのコネクション数とは、制御システム1が固有にサポートしているコネクション数(最大数)、および、ユーザにより任意に設定されるコネクション数の両方を含み得る。また、CIPSafetyのデータサイズとは、各コネクションに割り当てられているデータの大きさ、および、すべてのコネクションに割り当てられているデータの合計の両方を含み得る。
 図10は、本実施の形態に従う制御装置2におけるCIPSafetyの設定内容の一例を説明するための模式図である。図10(a)には、コネクションC1~C100が設定されている例を示し、図10(b)には、コネクションC1~C10が設定されている例を示す。
 図10(a)と図10(b)とを比較すると分かるように、コネクション数が多いほど、EPIが長くなることが分かる。同様に、データサイズが大きくなるほど、EPIは長くなる。
 このように、CIPSafetyの設定内容に応じて、CIPSafetyの応答性(すなわち、EPIの最小値)は変化することになる。そのため、本実施の形態に従う制御システム1においては、スレーブデバイスとの間で遣り取りされるデータのコネクション数およびデータサイズの少なくとも一方に基づいて、EPIの設定可能な範囲を決定するようにしてもよい。
 なお、通信先のデバイス(ターゲットデバイス)毎に1または複数のコネクションを設定できるので、ターゲットデバイス毎にEPIを設定することも可能である。すなわち、制御装置2がデータを遣り取りするデバイス毎に、EPIの設定可能な範囲を決定するようにしてもよい。
 (f4:CIPSafety通信サービス162を提供するユニットの処理能力)
 CIPSafety通信サービス162を提供するユニットの処理能力(スペック)は、CIPSafety通信サービス162が実装されたユニット(図9に示すように、標準制御ユニット100またはセーフティ制御ユニット200)のハードウェア性能を意味する。このような処理能力(スペック)は、ユニットに実装されたプロセッサの性能、メモリ容量、データ伝送速度などに依存する。
 そのため、本実施の形態に従う制御システム1においては、制御装置2(標準制御ユニット100およびセーフティ制御ユニット200)の処理能力に基づいて、EPIの設定可能な範囲を決定するようにしてもよい。
 (f5:CIPSafety通信サービス162を提供するユニットが提供する他のサービス、および、CIPSafety通信サービス162を提供するユニットにおける優先度)
 図11は、本実施の形態に従う制御装置2におけるCIPSafety通信サービスの実行例を説明するための模式図である。図11には、CIPSafety通信サービス162を提供するユニット(標準制御ユニット100またはセーフティ制御ユニット200)における実行例を示す。
 図11(a)および図11(b)のいずれにおいても、共通のリソースを用いて、CIPSafety通信サービス162に加えて、サービスX166およびサービスY167が実行される。図11(a)には、CIPSafety通信サービス162が他のサービスに比較して高い優先度で実行される例を示し、図11(b)には、CIPSafety通信サービス162が他のサービスに比較して低い優先度で実行される例を示す。
 より具体的には、図11(a)に示すように、他のサービスに比較して、CIPSafety通信サービス162に対してより高い優先度が設定されている場合には、CIPSafety通信サービス162が優先的に実行されるために、EPIを短くすることができる。
 これに対して、図11(b)に示すように、CIPSafety通信サービス162に比較して、他のサービスに対してより高い優先度が設定されている場合には、CIPSafety通信サービス162の実行周期が長くなるので、これに伴って、EPIも長くせざるを得ない。
 このように、CIPSafety通信サービス162を提供するユニットで実行されるサービス内容、および、各サービスに設定される優先度に応じて、CIPSafetyの応答性(すなわち、EPIの最小値)は変化することになる。そのため、本実施の形態に従う制御システム1においては、標準制御ユニット100において実行される制御演算に設定されている優先度に基づいて、EPIの設定可能な範囲を決定するようにしてもよい。
 通常、CIPSafety通信サービス162を提供するユニットが提供する他のサービスの各々については、実行の有効または無効を予め設定することができる。但し、一部のサービスについては、無効とすることができず、実行が固定されていることもある。
 また、CIPSafety通信サービス162を提供するユニットにおける優先度については、任意に設定することができる。但し、一部のサービスの優先度については、設計値に固定されていることもある。
 (f6:小括)
 上述したように、CIPSafetyの応答性を可能な限り高めて(すなわち、EPIをより短く設定して)、制御性能を向上させることが好ましいが、様々な制約により、EPIの長さを短縮することが難しい場合もある。そこで、本実施の形態に従う制御システム1においては、制御装置2を構成する標準制御ユニット100およびセーフティ制御ユニット200により実行される処理内容に応じて決定される制約要因(一例として、上述の(1),(4-1),(4-2))、および、通信処理に係る設定に応じて決定される制約要因(一例として、上述の(2))の両方を反映して、EPIの設定可能な範囲を決定するようにしてもよい。
 <G.CIPSafetyの設定支援>
 本実施の形態に従う制御システム1は、上述したような制約要素を反映した上で、CIPSafetyの応答性(EPIの長さ)の設定を支援する機能を提供することもできる。以下、CIPSafetyの応答性(EPIの長さ)の設定を支援する機能について説明する。すなわち、本実施の形態に従う制御システム1は、ユニットの性能および現在の設定に応じて決定される、設定可能なEPIの最小値を自動的に算出できる。
 (g1:EPIの最小値の算出方法)
 まず、設定可能なEPIの最小値を算出する方法の一例について説明する。
 図12は、本実施の形態に従う制御システム1において設定可能なEPIの最小値を算出するために用いられるパラメータテーブル170の一例を示す図である。図12を参照して、パラメータテーブル170は、一例として、コントローラ(典型的には、標準制御ユニット100)の種別別に、第1パラメータ172、第2パラメータ174および第3パラメータ群176の各パラメータ値を含む。
 第1パラメータ172は、「(1)CIPSafetyの応答性に影響を及ぼすユニットの各種設定」の制約要因を反映する。
 第2パラメータ174は、「(2)CIPSafetyの設定内容」の制約要因を反映する。
 第3パラメータ群176は、「(4-1)CIPSafety通信サービス162を提供するユニットが提供する他のサービス」および「(4-2)CIPSafety通信サービス162を提供するユニットにおける優先度」の制約要因を反映する。
 第1パラメータ172、第2パラメータ174および第3パラメータ群176は、いずれも、「(3)CIPSafety通信サービス162を提供するユニットの処理能力(スペック)」の制約要因を反映する。
 図12に示すように、対象のコントローラの種別が決定されると、パラメータテーブル170から対応する5つのパラメータ値が読み出される。読み出されたパラメータ値および設定内容に基づいて、以下に示すような(1)式に従って、設定可能なEPIの最小値が算出される。
  設定可能なEPIの最小値=a×Ts+b×Sc+c+d+e ・・・(1)
 ここで、設定値Tsは、制御タスク150の各実行周期(タスク周期)を意味する。すなわち、設定値Tsは、IOリフレッシュ周期を意味する。また、設定値Scは、CIPSafetyのコネクション数を意味する。なお、設定値Scとして、CIPSafetyのデータサイズを用いてもよい。
 第3パラメータ群176のパラメータ値(パラメータ値c,d,e)は、実行されるサービスおよび優先度などを反映する。そのため、対象のコントローラにおいて実行されるサービスや優先度が変更された場合には、その変更後の設定内容に応じて、設定可能なEPIの最小値を再算出するようにしてもよい。
 図13は、本実施の形態に従う制御システム1において設定可能なEPIの最小値を再算出する処理を説明するための図である。図13を参照して、対象のコントローラにおいて実行されるサービスの内容あるいはサービスに設定される優先度が変更された場合には、適用するパラメータを再度選択して、設定可能なEPIの最小値を再算出してもよい。
 図13に示す例では、CIPSafety通信サービス162は、サービスX166の次に高い優先度が設定されている。一方、サービスY167およびサービスZ168には、CIPSafety通信サービス162より低い優先度が設定されている。
 このような場合においては、CIPSafety通信サービス162の実行に影響を与えるのは実質的にサービスX166だけである。そのため、設定可能なEPIの最小値を算出するにあたっては、サービスX166に対応するパラメータ値のみを反映してもよい。例えば、第3パラメータ群176に含まれるパラメータ値c,d,eがサービスX166、サービスY167、サービスZ168にそれぞれ対応する場合には、パラメータ値cのみが反映されることになる。すなわち、設定可能なEPIの最小値は、以下に示すような(2)式に従って算出される。
  設定可能なEPIの最小値=a×Ts+b×Sc+c ・・・(2)
 このように、対象のコントローラにおいて実行されるサービスのうち、CIPSafety通信サービス162より高い優先度が設定されているサービスに関連付けられるパラメータのみを反映するようにしてもよい。
 なお、EPIの最大値に対する本質的な制約要因は存在しないので、予め定められた値をEPIの最大値としてもよい。あるいは、通信エラー(タイムアウト)と判断される時間未満の任意の値をEPIの最大値としてもよい。
 (g2:機能構成)
 上述したような設定可能なEPIの最小値を算出する機能は、典型的には、サポート装置500に実装される。以下、サポート装置500に実装される場合の機能構成について説明する。
 図14は、本実施の形態に従う制御システム1に含まれるサポート装置500の機能構成の一例を示すブロック図である。図14に示す主要機能は、サポート装置500のプロセッサ502がサポートプログラム5104を実行することで実現される(図5)。
 図14を参照して、サポート装置500は、プログラム開発部540と、EPI算出部550とを含む。
 プログラム開発部540は、制御装置2で実行されるプログラムの開発、および、必要な設定を行うためのインターフェイスを提供する。プログラム開発部540は、ユーザ操作に従って、標準制御ソースプログラム5108、標準コントローラ設定情報5110、セーフティソースプログラム5112、セーフティコントローラ設定情報5114、および、セーフティドライバ設定情報5116などを含むプロジェクトデータ5106(図5など参照)を生成する。
 このように、プログラム開発部540は、制御装置2を構成する標準制御ユニット100およびセーフティ制御ユニット200により実行される処理内容の構築、および、通信処理に係る設定、の少なくとも一部を行うための開発環境を提供する。
 EPI算出部550は、プログラム開発部540により生成される設定情報542(標準コントローラ設定情報5110およびセーフティコントローラ設定情報5114などを含む)と、パラメータテーブル170(図12参照)とに基づいて、設定可能なEPIの最小値を算出する。EPI算出部550により算出された設定可能なEPIの最小値は、ディスプレイなどの出力部508(図5など参照)を介してユーザに提示されてもよい。
 このように、EPI算出部550は、プログラム開発部540により提供される開発環境において設定された内容に基づいて、スレーブデバイスとの間でデータを遣り取りする周期(EPI)の設定可能な範囲を決定する。
 (g3:ユーザインターフェイス画面例)
 次に、上述したような設定可能なEPIの最小値の算出結果をユーザに提示するためのユーザインターフェイス画面例について説明する。
 図15は、本実施の形態に従う制御システム1が提供するユーザインターフェイス画面の一例を示す図である。図15に示すユーザインターフェイス画面570は、典型的には、サポート装置500上に表示されてもよい。
 図15を参照して、ユーザインターフェイス画面570は、設定情報574に対応付けられたEPIの設定可能範囲572を含む。設定情報574は、設定項目として、タスク周期575(設定Ts)と、コネクション数576(設定Sc)と、種別情報577とを含む。
 このように、サポート装置500上は、設定可能なEPIの最小値を算出し、当該EPIの算出に対応する設定情報とともにユーザに提示する。
 図16は、本実施の形態に従う制御システム1が提供するユーザインターフェイス画面の別の一例を示す図である。図16(a)に示すユーザインターフェイス画面580においては、現在のEPIの設定値582がターゲットデバイス588毎に表示されている。ターゲットデバイス588毎のEPIの設定値582に対応付けて、設定情報584(タスク周期585(設定Ts)、コネクション数586(設定Sc)、種別情報587)が表示されている。
 EPIの設定値582が対応する設定情報584に基づいて算出される設定可能なEPIの最小値を下回っている場合(すなわち、設定可能範囲外である場合)には、エラーであることをユーザに提示するようにしてもよい。このエラーの提示はどのような形態で行ってもよいが、例えば、該当するEPIの設定値582の文字あるいは背景の色を通常の表示態様とは異なるものにする態様を採用してもよい。図16には、EPIの設定値582に対して、エラーを提示するためのアテンション表示589がなされている例を示す。あるいは、該当するEPIの設定値582を点滅させたり、音声などを用いた通知を行ったりしてもよい。
 さらに、図16(b)に示すように、エラーが発生したEPIの設定値582に対しては、設定可能範囲内となるように、設定情報584の設定内容の変更を示唆するメッセージ579を表示するようにしてもよい。図16(b)に示す例では、コネクション数586(設定Sc)を低減することでEPIの設定値582が設定可能範囲内となり得ることが提示されている。メッセージ579に含まれる設定内容の変更を示唆する内容は、サポート装置500が設定情報584を異ならせたいくつかの候補を生成し、各候補について設定可能なEPIの最小値をそれぞれ算出することで決定される。
 なお、コネクション数586に限らず、他の設定内容を変更することを示唆するようにしてもよい。
 図17は、本実施の形態に従う制御システム1が提供するユーザインターフェイス画面のさらに別の一例を示す図である。図17に示すユーザインターフェイス画面590は、CIPSafetyに係る設定用のインターフェイスを提供する。ユーザインターフェイス画面590は、設定対象のポートに設定されているコネクションの情報を含む。
 より具体的には、ユーザインターフェイス画面590は、コネクション設定の有効無効を選択するためのフラグ592と、対象のコネクションに割り当てられているデータの設定593と、対応する設定可能なEPIの最小値594と、通信先のデバイス(ターゲットデバイス)との間のネットワーク応答時間596とを含む。なお、ネットワーク応答時間596については、シミュレーションによって算出された値であってもよいし、実際に測定された値(実測値)であってもよい。
 このような設定インターフェイスにおいて、EPIの設定値が設定可能範囲外である場合には、設定可能範囲を含むエラーメッセージ595を表示するようにしてもよい。
 また、サポート装置500の開発環境において、プロジェクトデータ5106から各ユニットに転送される実行形式のプログラムを生成する際に、設定されているEPIが設定可能範囲内であるか否かを判断し、設定可能範囲外である場合には、エラーメッセージを提示するようにしてもよい。
 上述の図16および図17に示すように、サポート装置500は、スレーブデバイスとの間でデータを遣り取りする周期の設定値がEPIの設定可能な範囲外である場合に、通知を行う通知機能を有していてもよい。
 (g4:フローチャート)
 次に、上述したような設定可能なEPIの最小値を算出する処理を実現するための処理手順について説明する。
 図18は、本実施の形態に従う制御システム1に含まれるサポート装置500において実行される処理手順の一例を示すフローチャートである。図18に示す各ステップは、サポート装置500のプロセッサ502がサポートプログラム5104を実行することで実現される(図5)。
 図18を参照して、サポート装置500は、ユーザ操作に応じて、開発環境の提供を開始する(ステップS100)。すなわち、サポート装置500は、標準制御ユニット100により実行される処理内容の構築、および、通信処理に係る設定、の少なくとも一部を行うための開発環境を提供する処理を実行する。
 サポート装置500は、ユーザ操作に応じて、プログラムを生成および各種の設定情報を決定する(ステップS102)。そして、サポート装置500は、設定可能なEPIの最小値の算出に必要な情報が用意されているか否かを判断する(ステップS104)。設定可能なEPIの最小値の算出に必要な情報が用意されていなければ(ステップS104においてNO)、サポート装置500は、ステップS102以下の処理を繰り返す。
 設定可能なEPIの最小値の算出に必要な情報が用意されていれば(ステップS104においてYES)、サポート装置500は、算出対象となるデバイス(ターゲットデバイス)を一つ選択し(ステップS106)、関連する設定情報に基づいて、設定可能なEPIの最小値を算出する(ステップS108)。すなわち、サポート装置500は、開発環境において設定された内容に基づいて、スレーブデバイスとの間でデータを遣り取りする周期であるEPIの設定可能な範囲を決定する処理を実行する。
 続いて、サポート装置500は、算出対象となるデバイスのすべてについて、設定可能なEPIの最小値を算出したか否かを判断する(ステップS110)。設定可能なEPIの最小値を算出していないデバイスが残っている場合(ステップS110においてNO)、サポート装置500は、ステップS106以下の処理を繰り返す。
 一方、算出対象となるデバイスのすべてについて、設定可能なEPIの最小値を算出していれば(ステップS110においてYES)、サポート装置500は、現在設定されている1または複数のEPIのうち、対応する設定可能なEPIの最小値を下回っているものがあるか否かを判断する(ステップS112)。
 現在設定されている1または複数のEPIのうち、対応する設定可能なEPIの最小値を下回っているものがあれば(ステップS112においてYES)、サポート装置500は、設定可能なEPIの最小値を下回っているEPIを特定する(ステップS114)。なお、設定可能なEPIの最小値を下回っているEPIがなければ(ステップS112においてNO)、ステップS114の処理はスキップされる。
 そして、サポート装置500は、算出した設定可能なEPIの最小値、および、設定可能なEPIの最小値を下回っているEPIについてのエラーをユーザに提示する(ステップS116)。そして、処理は終了する。
 <H.変形例>
 上述の説明においては、主として、サポート装置500が設定可能なEPIの最小値を算出する構成例について説明したが、サポート装置500に限らず、任意の処理主体において算出できる。例えば、コントローラ(標準制御ユニット100またはセーフティ制御ユニット200)で実行するようにしてもよいし、サポート装置500から出力される設定情報に基づいてクラウド上に配置されたコンピュータで実行するようにしてもよい。すなわち、本実施の形態に従う設定可能なEPIの最小値の算出方法は、どのような処理主体で実行されてもよい。
 また、上述の説明においては、主として、CIPSafetyについて詳述したが、本発明は、CIPSafetyに限らず、1または複数の通信先との間で、予め定められたデータサイズのデータを周期的に遣り取りするデータ通信に広く適用可能である。例えば、EtherNet/IPによる通常のフレーム伝送などに適用できる。
 また、上述の説明においては、互いに独立した標準制御ユニット100およびセーフティ制御ユニット200を含む制御装置2を例示したが、このような構成に限定されることなく、両ユニットの機能を統合した単一のコントローラとして実現してもよい。さらに、本発明の本質は通信処理であるので、必ずしも標準制御ユニット100およびセーフティ制御ユニット200の両方を含む制御装置2を用いる必要はなく、いずれか一方のユニットのみからなる制御装置の構成であってもよい。
 <I.付記>
 上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
 制御装置(2)および前記制御装置と通信可能なデバイス(12)とを備える制御システム(1)であって、
 制御対象を制御するための制御演算(150)を周期的に実行する制御手段(100)と、
 前記デバイスとの間でデータを周期的に遣り取りするための通信処理(160)を実行する通信処理手段(100;200)と、
 前記制御手段により実行される処理内容の構築、および、前記通信処理手段による通信処理に係る設定、の少なくとも一部を行うための開発環境を提供する提供手段(500;540)と、
 前記提供手段により提供される開発環境において設定された内容に基づいて、前記デバイスとの間でデータを遣り取りする周期の設定可能な範囲を決定する決定手段(500;550)とを備える、制御システム。
[構成2]
 前記決定手段は、前記制御手段により実行される処理内容に応じて決定される制約要因、および、前記通信処理手段による通信処理に係る設定に応じて決定される制約要因の両方を反映して、前記設定可能な範囲を決定する、構成1に記載の制御システム。
[構成3]
 前記決定手段は、前記デバイスとの間で遣り取りされるデータのコネクション数およびデータサイズの少なくとも一方に基づいて、前記設定可能な範囲を決定する、構成1または2に記載の制御システム。
[構成4]
 前記決定手段は、前記制御手段において実行される前記制御演算の周期に基づいて、前記設定可能な範囲を決定する、構成1~3のいずれか1項に記載の制御システム。
[構成5]
 前記決定手段は、前記制御手段において実行される前記制御演算に設定されている優先度に基づいて、前記設定可能な範囲を決定する、構成1~4のいずれか1項に記載の制御システム。
[構成6]
 前記決定手段は、前記制御装置の処理能力に基づいて、前記設定可能な範囲を決定する、構成1~5のいずれか1項に記載の制御システム。
[構成7]
 前記決定手段は、前記制御装置がデータを遣り取りするデバイス毎に、前記設定可能な範囲を決定する、構成1~6のいずれか1項に記載の制御システム。
[構成8]
 前記デバイスとの間でデータを遣り取りする周期の設定値が前記決定手段により決定された設定可能な範囲外である場合に、通知を行う通知手段(500)をさらに備える、構成1~7のいずれか1項に記載の制御システム。
[構成9]
 制御装置(2)および前記制御装置と通信可能なデバイス(12)とを備える制御システム(1)に向けられたサポート装置(500)であって、
 前記制御装置は、
  制御対象を制御するための制御演算(150)を周期的に実行する制御手段(100)と、
  前記デバイスとの間でデータを周期的に遣り取りするための通信処理(160)を実行する通信処理手段(100;200)とを備え、
 前記サポート装置は、
  前記制御手段により実行される処理内容の構築、および、前記通信処理手段による通信処理に係る設定、の少なくとも一部を行うための開発環境を提供する提供手段(500;540)と、
  前記提供手段により提供される開発環境において設定された内容に基づいて、前記デバイスとの間でデータを遣り取りする周期の設定可能な範囲を決定する決定手段(500;550)とを備える、サポート装置。
[構成10]
 制御装置(2)および前記制御装置と通信可能なデバイス(12)とを備える制御システム(1)に向けられたサポート装置用(500)のプログラム(5104)であって、
 前記制御装置は、
  制御対象を制御するための制御演算(150)を周期的に実行する制御手段(100)と、
  前記デバイスとの間でデータを周期的に遣り取りするための通信処理(160)を実行する通信処理手段(100;200)とを備え、
 前記プログラムは、コンピュータにより実行されると、前記コンピュータに
  前記制御手段により実行される処理内容の構築、および、前記通信処理手段による通信処理に係る設定、の少なくとも一部を行うための開発環境を提供するステップ(S100)と、
  前記開発環境において設定された内容に基づいて、前記デバイスとの間でデータを遣り取りする周期の設定可能な範囲を決定するステップ(S108)とを実行させる、サポート装置用のプログラム。
 <J.まとめ>
 本実施の形態によれば、制御装置2により実行される処理内容および通信処理に係る設定に基づいて、制御装置2とスレーブデバイスとの間でデータを遣り取りする周期(EPI)の設定可能な範囲を決定できる。そのため、知識の少ないユーザであっても適切な周期を設定できる。これによって、様々な種類が存在し、また制御対象に応じて様々な設定がなされる制御装置において、周期超過などによる通信の切断といった不具合の発生を防止できる。
 また、本実施の形態によれば、データを遣り取りする周期(EPI)の設定可能な範囲を算出できるので、その算出された範囲内で適切な周期を見つけるためのチューニングを容易に実現できる。
 また、本実施の形態によれば、現実の制御装置2が存在しなくても、データを遣り取りする周期(EPI)の設定可能な範囲を事前に知ることができるので、装置設計を容易に実現できる。
 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
 1 制御システム、2 制御装置、4 リモートIO装置、6 フィールドネットワーク、8 ハブ、10 プロセスネットワーク、12 セーフティドライバ、14 モータ、16 セーフティコンポーネント、18 内部バス、20 上位ネットワーク、100 標準制御ユニット、102,202,502 プロセッサ、104 チップセット、106,204 主メモリ、108,208,510 ストレージ、110 ネットワークコントローラ、112,520 USBコントローラ、114 メモリカードインターフェイス、116 メモリカード、118,218 内部バスコントローラ、120 フィールドネットワークコントローラ、122 プロセスネットワークコントローラ、126 カウンタ、128 RTC、150 制御タスク、152 リフレッシュ処理、154 ユーザプログラム実行処理、156 モーションプログラム実行処理、160 通信処理、162 通信サービス、164 プロトコルスタック、166 サービスX、167 サービスY、168 サービスZ、170 パラメータテーブル、172 第1パラメータ、174 第2パラメータ、176 第3パラメータ群、200 セーフティ制御ユニット、210 メインコントローラ、220 セーフティプログラム、250 セーフティ制御実行部、300 カプラユニット、350 機能ユニット、360 セーフティ機能ユニット、500 サポート装置、504 メインメモリ、506 入力部、508 出力部、512 光学ドライブ、514 記録媒体、518 プロセッサバス、540 プログラム開発部、542,574,584 設定情報、550 EPI算出部、570,580,590 ユーザインターフェイス画面、572 設定可能範囲、575,585 タスク周期、576,586 コネクション数、577,587 種別情報、579 メッセージ、582 EPIの設定値、588 ターゲットデバイス、589 アテンション表示、592 フラグ、593 データの設定、594 EPIの最小値、595 エラーメッセージ、596 ネットワーク応答時間、1104 標準制御プログラム、5102 OS、5104 サポートプログラム、5106 プロジェクトデータ、5108 標準制御ソースプログラム、5110 標準コントローラ設定情報、5112 セーフティソースプログラム、5114 セーフティコントローラ設定情報、5116 セーフティドライバ設定情報。

Claims (10)

  1.  制御装置および前記制御装置と通信可能なデバイスとを備える制御システムであって、
     制御対象を制御するための制御演算を周期的に実行する制御手段と、
     前記デバイスとの間でデータを周期的に遣り取りするための通信処理を実行する通信処理手段と、
     前記制御手段により実行される処理内容の構築、および、前記通信処理手段による通信処理に係る設定、の少なくとも一部を行うための開発環境を提供する提供手段と、
     前記提供手段により提供される開発環境において設定された内容に基づいて、前記デバイスとの間でデータを遣り取りする周期の設定可能な範囲を決定する決定手段とを備える、制御システム。
  2.  前記決定手段は、前記制御手段により実行される処理内容に応じて決定される制約要因、および、前記通信処理手段による通信処理に係る設定に応じて決定される制約要因の両方を反映して、前記設定可能な範囲を決定する、請求項1に記載の制御システム。
  3.  前記決定手段は、前記デバイスとの間で遣り取りされるデータのコネクション数およびデータサイズの少なくとも一方に基づいて、前記設定可能な範囲を決定する、請求項1または2に記載の制御システム。
  4.  前記決定手段は、前記制御手段において実行される前記制御演算の周期に基づいて、前記設定可能な範囲を決定する、請求項1~3のいずれか1項に記載の制御システム。
  5.  前記決定手段は、前記制御手段において実行される前記制御演算に設定されている優先度に基づいて、前記設定可能な範囲を決定する、請求項1~4のいずれか1項に記載の制御システム。
  6.  前記決定手段は、前記制御装置の処理能力に基づいて、前記設定可能な範囲を決定する、請求項1~5のいずれか1項に記載の制御システム。
  7.  前記決定手段は、前記制御装置がデータを遣り取りするデバイス毎に、前記設定可能な範囲を決定する、請求項1~6のいずれか1項に記載の制御システム。
  8.  前記デバイスとの間でデータを遣り取りする周期の設定値が前記決定手段により決定された設定可能な範囲外である場合に、通知を行う通知手段をさらに備える、請求項1~7のいずれか1項に記載の制御システム。
  9.  制御装置および前記制御装置と通信可能なデバイスとを備える制御システムに向けられたサポート装置であって、
     前記制御装置は、
      制御対象を制御するための制御演算を周期的に実行する制御手段と、
      前記デバイスとの間でデータを周期的に遣り取りするための通信処理を実行する通信処理手段とを備え、
     前記サポート装置は、
      前記制御手段により実行される処理内容の構築、および、前記通信処理手段による通信処理に係る設定、の少なくとも一部を行うための開発環境を提供する提供手段と、
      前記提供手段により提供される開発環境において設定された内容に基づいて、前記デバイスとの間でデータを遣り取りする周期の設定可能な範囲を決定する決定手段とを備える、サポート装置。
  10.  制御装置および前記制御装置と通信可能なデバイスとを備える制御システムに向けられたサポート装置用のプログラムであって、
     前記制御装置は、
      制御対象を制御するための制御演算を周期的に実行する制御手段と、
      前記デバイスとの間でデータを周期的に遣り取りするための通信処理を実行する通信処理手段とを備え、
     前記プログラムは、コンピュータにより実行されると、前記コンピュータに
      前記制御手段により実行される処理内容の構築、および、前記通信処理手段による通信処理に係る設定、の少なくとも一部を行うための開発環境を提供するステップと、
      前記開発環境において設定された内容に基づいて、前記デバイスとの間でデータを遣り取りする周期の設定可能な範囲を決定するステップとを実行させる、サポート装置用のプログラム。
PCT/JP2020/005273 2019-03-14 2020-02-12 制御システム、サポート装置およびサポート装置用のプログラム WO2020184035A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/435,246 US11917024B2 (en) 2019-03-14 2020-02-12 Control system, support apparatus, and program for support apparatus
CN202080017558.4A CN113498495A (zh) 2019-03-14 2020-02-12 控制系统、支持装置以及支持装置用的程序
EP20769324.3A EP3940468A4 (en) 2019-03-14 2020-02-12 CONTROL SYSTEM, ASSISTANT DEVICE AND PROGRAM FOR ASSISTANT DEVICE

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-047166 2019-03-14
JP2019047166A JP7003952B2 (ja) 2019-03-14 2019-03-14 制御システム、サポート装置およびサポート装置用のプログラム

Publications (1)

Publication Number Publication Date
WO2020184035A1 true WO2020184035A1 (ja) 2020-09-17

Family

ID=72426171

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/005273 WO2020184035A1 (ja) 2019-03-14 2020-02-12 制御システム、サポート装置およびサポート装置用のプログラム

Country Status (5)

Country Link
US (1) US11917024B2 (ja)
EP (1) EP3940468A4 (ja)
JP (1) JP7003952B2 (ja)
CN (1) CN113498495A (ja)
WO (1) WO2020184035A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7399349B1 (ja) * 2022-09-21 2023-12-15 三菱電機株式会社 設定支援装置、制御システム、設定支援方法及びプログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023152149A (ja) * 2022-04-01 2023-10-16 オムロン株式会社 開発支援装置、開発支援プログラム、及び開発支援方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10307613A (ja) * 1997-05-07 1998-11-17 Mitsubishi Electric Corp プロセスデータ収集装置の更新方法
JP2002353984A (ja) * 2001-05-30 2002-12-06 Yaskawa Electric Corp I/o伝送システム
JP2004318508A (ja) * 2003-04-16 2004-11-11 Yaskawa Electric Corp I/o伝送システム
JP2009223398A (ja) 2008-03-13 2009-10-01 Omron Corp 産業用コントローラ
JP2017027539A (ja) 2015-07-28 2017-02-02 株式会社日立産機システム プログラマブルコントローラ
JP2018128780A (ja) * 2017-02-07 2018-08-16 オムロン株式会社 演算装置、制御装置および制御方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7831680B2 (en) * 2004-07-16 2010-11-09 National Instruments Corporation Deterministic communication between graphical programs executing on different computer systems
SG162819A1 (en) * 2005-03-21 2010-07-29 Dexterra Inc Modular applications for mobile data system
JP4005614B2 (ja) * 2005-11-04 2007-11-07 株式会社コナミデジタルエンタテインメント ネットワークゲームシステム、ゲーム装置、ゲーム装置の制御方法及びプログラム
JP2010198600A (ja) 2009-02-02 2010-09-09 Omron Corp 産業用コントローラ
JP5136695B2 (ja) * 2011-01-31 2013-02-06 トヨタ自動車株式会社 安全制御装置および安全制御方法
JP5340376B2 (ja) * 2011-12-28 2013-11-13 楽天株式会社 検索装置、検索方法、検索プログラム及び記録媒体
JP6263836B2 (ja) * 2013-01-15 2018-01-24 オムロン株式会社 制御装置および制御方法
JP6390113B2 (ja) * 2014-02-14 2018-09-19 オムロン株式会社 制御システム、開発支援装置、制御装置、および制御方法
CN106227140B (zh) 2016-08-06 2019-04-09 山东华旗新能源科技有限公司 智慧供水管理系统
JP7089842B2 (ja) 2016-10-07 2022-06-23 オムロン株式会社 演算装置および制御装置
JP6769230B2 (ja) * 2016-10-14 2020-10-14 オムロン株式会社 通信装置、制御装置および通信方法
US20190149623A1 (en) * 2017-11-10 2019-05-16 The Toronto-Dominion Bank Automatic generation and provisioning of notification data to dynamically selected network-connected devices
US20210049048A1 (en) * 2018-04-18 2021-02-18 Google Llc Inter device transfer of resources for executing application updates cycles
JP7095634B2 (ja) * 2019-03-13 2022-07-05 トヨタ自動車株式会社 自動更新システム、その更新方法及びプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10307613A (ja) * 1997-05-07 1998-11-17 Mitsubishi Electric Corp プロセスデータ収集装置の更新方法
JP2002353984A (ja) * 2001-05-30 2002-12-06 Yaskawa Electric Corp I/o伝送システム
JP2004318508A (ja) * 2003-04-16 2004-11-11 Yaskawa Electric Corp I/o伝送システム
JP2009223398A (ja) 2008-03-13 2009-10-01 Omron Corp 産業用コントローラ
JP2017027539A (ja) 2015-07-28 2017-02-02 株式会社日立産機システム プログラマブルコントローラ
JP2018128780A (ja) * 2017-02-07 2018-08-16 オムロン株式会社 演算装置、制御装置および制御方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3940468A4

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7399349B1 (ja) * 2022-09-21 2023-12-15 三菱電機株式会社 設定支援装置、制御システム、設定支援方法及びプログラム

Also Published As

Publication number Publication date
US20220210247A1 (en) 2022-06-30
JP2020149439A (ja) 2020-09-17
EP3940468A4 (en) 2022-12-07
US11917024B2 (en) 2024-02-27
JP7003952B2 (ja) 2022-01-21
EP3940468A1 (en) 2022-01-19
CN113498495A (zh) 2021-10-12

Similar Documents

Publication Publication Date Title
JP4807475B1 (ja) 演算ユニット、出力制御方法、およびプログラム
WO2023140299A1 (ja) 検証システムおよび検証方法
JP2021051735A (ja) モジュラープロセス制御システム
US20110224828A1 (en) Development platform for robotic systems
WO2020184035A1 (ja) 制御システム、サポート装置およびサポート装置用のプログラム
US20120239978A1 (en) Controller support apparatus, controller support program executed on the apparatus, storage medium storing the program, and method of estimating execution time of control program
US11061377B2 (en) Control device
EP2533114B1 (en) Controller support device, controller support program to be executed in said device, recording medium storing said program, and method for estimating execution duration of control program
US20190302730A1 (en) Safety control system and safety control unit
US11886170B2 (en) Control system, setting device and setting program
WO2012056537A1 (ja) プログラマブルコントローラ
JP6772748B2 (ja) 演算装置および制御システム
CN103314554A (zh) 用于选项模块的动态主机配置文件
JP7404789B2 (ja) 制御システム、制御システムの通信制御方法、および制御装置
JP2019179475A (ja) サポート装置、サポートプログラム、設定方法
US11835942B2 (en) Real-time high-speed clock signal for industrial network emulation
WO2023248548A1 (ja) 制御システム、中継装置および通信方法
JP2012194955A (ja) 支援装置、表示制御方法、およびプログラム
JP7110911B2 (ja) コントローラおよびコントローラの備える通信制御部の制御方法
EP3999921A1 (en) Aspect-oriented programming based programmable logic controller (plc) simulation

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2020769324

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2020769324

Country of ref document: EP

Effective date: 20211014