WO2020183888A1 - リアルタイムコントローラおよびそれを用いた分散制御システム、産業機械 - Google Patents

リアルタイムコントローラおよびそれを用いた分散制御システム、産業機械 Download PDF

Info

Publication number
WO2020183888A1
WO2020183888A1 PCT/JP2020/000848 JP2020000848W WO2020183888A1 WO 2020183888 A1 WO2020183888 A1 WO 2020183888A1 JP 2020000848 W JP2020000848 W JP 2020000848W WO 2020183888 A1 WO2020183888 A1 WO 2020183888A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
time
unit
real
calculation
Prior art date
Application number
PCT/JP2020/000848
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 CN202080012335.9A priority Critical patent/CN113366394B/zh
Publication of WO2020183888A1 publication Critical patent/WO2020183888A1/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
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • the present invention relates to a controller that executes real-time control, a real-time controller that uses real-time control using inference operations by deep learning, a distributed control system that uses the controller, and an industrial machine.
  • Japanese Patent Application Laid-Open No. 1 is a machine learning system provided with a learning unit, an inference unit, and a sensor, which is important for learning a machine learning system. It is characterized by the fact that the machine learning system performs high-precision inference operations by selecting and utilizing only various data.
  • Machine control of industrial equipment and robots requires a high-speed control cycle from milliseconds to microseconds.
  • the learning operation and the inference operation the data input / output path and the input / output method are often different depending on the calculation performance and the implementation form required for each operation, and the delay time at the time of input becomes large. Therefore, when the configuration of Patent Document 1 is applied to high-speed machine control, there is no consideration for the error between the data input delay time during the learning calculation and the inference calculation, which affects the high-speed control, and the learning calculation and the inference.
  • the control operation at the time of calculation may not be the same.
  • the present invention there are a plurality of real-time controllers that are connected to a network that performs deep learning learning operations in a part of them, take in measurement data measured externally, and execute deep learning inference operations.
  • the setting holding unit that stores the setting information including the input delay time of the reference data obtained by the learning calculation of deep learning
  • the setting holding unit that stores the measurement data and the input delay time from the input time of the reference data.
  • Is used as the input time of the reference data, and the time correction unit that selects the data other than the reference data at the latest timing to the time when the input delay time has elapsed for the data other than the reference data, and the reference data are selected.
  • a real-time controller characterized by having an arithmetic unit that executes inference operations for deep learning using data other than the reference data as a set of data.
  • the present invention is a "distributed control system configured by connecting a real-time controller to an upstream computer that executes deep learning via a network and a downstream computer that acquires the measurement data".
  • control operation during the learning operation and the inference operation can be made the same by correcting the data input / output delays during the learning operation and the inference operation under the same conditions. can do.
  • the figure which shows the structural example of the real-time controller which concerns on embodiment of this invention The figure which shows the data structure which a real-time controller uses for communication.
  • the figure which shows the setting terminal screen which inputs the setting information necessary for the time correction part which a real-time controller has.
  • FIG. 1 is a diagram showing a configuration example of a real-time controller according to an embodiment of the present invention.
  • the real-time controller 1 composed of computers communicates with the computers on the upstream side and the downstream side through a wired or wireless network. Further, for example, the upstream computer of the network executes the learning calculation of deep learning in advance such as during a trial run, and the real-time controller 1 executes an inference calculation reflecting the result of deep learning during normal operation.
  • the real-time controller 1 of FIG. 1 includes a communication control unit 12 that controls communication between the calculation unit 18, upstream and downstream computers, a time correction unit 16 that corrects the communication time, and upstream and upstream that control data transmission / reception. It includes at least downstream data control units 13 and 14.
  • the communication control unit 12 includes an upstream communication port 10 for receiving or transmitting a transmission signal for upstream communication, and a downstream communication port 11 for receiving or transmitting a transmission signal for downstream communication. , Converts to transmission signal data of transmission / reception communication, or relays transmission signal. The data to be transmitted and received is controlled by the upstream and downstream data control units 13 and 14.
  • the time correction unit 16 obtains setting information necessary for processing of the time correction unit from the setting holding unit 15, determines reference data based on the preset setting, corrects the input delay time, and corrects the input delay time of the preset setting and the reference data. Based on the input delay time, data other than the reference data is selected to create a data set consisting of the reference data and data other than the reference data.
  • the calculation unit 18 executes a calculation process using the data from the time correction unit 16, and at this time, the calculation measurement unit 17 measures the elapsed time of the start and end of the calculation time.
  • the upstream communication port 10 and the downstream communication port 11 are connected to the communication control unit 12, the communication control unit 12 is connected to the upstream data control unit 13 and the downstream data control unit 14, and the upstream data control unit 13 is the setting maintenance unit 15.
  • the downstream data control unit 14 is connected to the time correction unit 16 and the calculation unit 18, the setting holding unit 15 is connected to the time correction unit 16, and the time correction unit 16 is connected to the calculation unit 18.
  • the calculation unit 18 is connected to the communication control unit 12, the upstream data control unit 13, and the calculation measurement unit 17.
  • the real-time controller 1 uses the structure shown in packet 2 of FIG. 2 in order to send and receive data by communication.
  • the packet 2 includes an address unit 20 indicating a destination when the real-time controller 1 communicates, and a data unit 21 for storing parameters used for calculation and setting information used by the time correction unit 16.
  • FIG. 3 is a configuration diagram showing details of the time correction unit 16 included in the real-time controller 1.
  • the time correction unit 16 accumulates the data interpretation unit 30 that interprets the data content of the packet received by the upstream data control unit 13 or the downstream data control unit 14, the time counting unit 31 that measures the time, and the received data.
  • the input delay time of the reference data is corrected based on the settings stored in the data buffer unit 32, the reference selection unit 161 that selects the reference data based on the settings stored in the setting holding unit 15, and the settings stored in the setting holding unit 15.
  • the delay correction unit 162 and the timing adjustment unit 163 that selects the input data and creates a data set based on the setting and the input delay time of the reference data stored in the setting holding unit 15 are provided, and the timing adjustment unit 163 provides the time. Pass the adjusted data to the calculation unit.
  • the data interpretation unit 30 is connected to the upstream data control unit 13, the downstream data control unit 14, and the data buffer unit, the time count unit 31 is connected to the data buffer unit 32, and the data buffer unit is the reference selection unit.
  • the 161 and the timing adjustment unit 163 are connected, the reference selection unit 161 is connected to the delay correction unit 162, the delay correction unit 162 is connected to the timing adjustment unit 163, and the timing adjustment unit 163 is connected to the calculation unit 18. There is.
  • the real-time controller 1 receives the settings required for processing of the time correction unit 16 through the upstream communication port 10 in the upstream data control unit 13.
  • the upstream data control unit 13 transfers the received setting information to the setting holding unit 15, and the setting holding unit 15 stores the transferred setting information.
  • the settings required for the processing of the time correction unit 16 are the reference data setting information for selecting the reference data to be the target of the delay compensation, and the delay time correction setting information for correcting the input delay time of the reference data. Information including.
  • both the upstream data control unit 10 and the downstream data control unit 11 can receive or transmit. Therefore, the real-time controller 1 constantly transmits and receives data having the structure of the packet 2 in the upstream direction and the downstream direction. In particular, the received data is accumulated in the data buffer unit 32 of the time correction unit 16, and the timing adjustment unit 163 selects only the data used in the calculation of the calculation unit 18. Further, the real-time controller 1 periodically executes a calculation in the calculation unit 18 based on the received data. At that time, the calculation unit 18 transfers the calculation result to the upstream data control unit 13 or the downstream data control unit 14. When the calculation result is transferred, the upstream data control unit 13 or the downstream data control unit 14 transfers the calculation result to the communication control unit 12 and converts it into a communication transmission signal.
  • the real-time controller 1 includes a test run mode for setting the delay time correction process and a normal mode for executing the control calculation.
  • a test run mode for example, a learning calculation for deep learning is executed by an upstream computer, and as a result of this test run, various setting information necessary for processing of the time correction unit 16 is obtained by the real-time controller 1 and the setting process is executed.
  • the normal mode the real-time controller 1 executes an inference calculation using the learning model obtained as a result of the deep learning learning calculation, which is obtained in the test run mode and is required for the processing of the predetermined time correction unit 16. Delay time correction processing using various setting information is executed.
  • the real-time controller 1 is set to the test run mode in the processing step S40 in order to estimate the input delay and the calculation time of the data to be set.
  • the learning calculation of deep learning is executed by the upstream computer.
  • the operation information that is the result of the trial run in the processing step S41 is confirmed.
  • the first is internal delay information, which is the time from when the data (reference data) to be input is acquired as a digital value to when it is transmitted to the real-time controller 1 and the data arrives.
  • the second is external delay information, which is the time until the data to be input is converted from an analog value to a digital value.
  • the internal delay information and the external delay information will be described in more detail.
  • the upstream computer is the control device for the entire plant and the downstream computer is the individual control device for each part of the plant
  • the process is performed by the downstream computer.
  • the time from measuring the amount to converting the analog value to the digital value is the external delay information
  • the time from the generation of the digital value to the recognition by the real-time controller 1 is the internal delay time in the downstream.
  • Processing step S43 and processing step S44 for these two types of information (reference data setting information for selecting reference data to be subject to delay compensation and delay time correction setting information for correcting the input delay time of reference data).
  • the setting is completed as soon as the input for each data is completed.
  • the real-time controller 1 starts the operation in the normal mode.
  • FIG. 5 is a flowchart showing the procedure of the delay time correction process executed by the time correction unit 16 in the normal mode.
  • the data required for processing has already been stored in the setting holding unit 15.
  • an inference operation using a learning model obtained as a result of the learning operation of deep learning is executed.
  • the time correction unit 16 receives the data in the data interpretation unit 30.
  • the data interpretation unit 30 reads out the time at the time of data reception from the arithmetic and measurement unit 17, and transitions to the processing step S51.
  • the data buffer unit 32 accumulates the data received by the data interpretation unit 30 together with the data reception time, and transitions to the processing step S52.
  • the reference selection unit 161 sequentially confirms the data stored in the data buffer unit 32, and determines whether or not the data is a preset reference data. If it is determined in the determination of the processing step S52 that the data is not the reference data set in advance, the process returns to the processing step S50 and the reception of the data is continued.
  • the reference selection unit 161 notifies the delay correction unit 162 and transitions to the processing step S53.
  • the reference data can be determined by designating the address unit 20 provided in the packet 2.
  • the delay correction unit 162 starts the time measurement from the time when the reference data is received, and transitions to the processing step S54.
  • the delay correction unit 162 When the time measured by the delay correction unit 162 in the determination of the processing step S54 reaches the preset input delay time, the delay correction unit 162 notifies the timing adjustment unit 163 and transitions to the processing step S55.
  • the preset input delay time is a total value of the internal delay information and the external delay information.
  • the time measurement from the processing step S53 to the processing step S54 is a procedure executed to correct the input delay time of the reference data set in advance. That is, the input delay time is corrected to an arbitrary input delay time by intentionally adjusting the time by the preset input delay time from the time when the reference data arrives.
  • the timing adjusting unit 163 selects data other than the reference data from the data stored in the data buffer unit 32 based on the input delay time measured in the processing step S54 and the preset setting.
  • the timing adjustment unit 163 selects data from the data buffer unit 32, first, the data outside the range of the input delay time measured in the processing step S54 is ignored. At this time, as described above, since the data buffer unit 32 stores the received data and the data reception time together, it is possible to refer to the reception time of the data associated with this data. After that, the timing adjustment unit 163 calculates relative to the input delay time of the reference data by referring to the input delay time and the data reception time set for the data other than the reference data, and the data of the specific reception time. Select.
  • the data other than the reference data obtained at the latest time at the time determined by the input delay time set in advance for the reference data is selected.
  • the process transitions to the processing step S56, and the timing adjustment unit 163 creates a set of input data by combining the reference data and data other than the selected reference data, and transitions to the processing step S57.
  • process step S57 the timing adjustment unit 163 determines whether all the preset data has been selected. If it is determined in the determination of the processing step S57 that all the preset data has not been selected, the process transitions to the processing step S56, and the timing adjustment unit 163 selects the data again.
  • the process transitions to the processing step S58.
  • the timing adjustment unit 163 outputs the set of input data to the calculation unit 18.
  • FIG. 6 is a diagram showing a timing chart when the time correction unit 16 included in the real-time controller 1 does not perform delay time correction processing on the input data.
  • data A and data B are used as input data, and the learning calculation of deep learning is executed by an arbitrary computer (in many cases, the upstream computer is used) in the test run mode, and the normal operation.
  • the case where the inference calculation as the learning result is executed by the real-time controller 1 in the mode is shown in comparison.
  • the inference performed by the real-time controller 1 is the overhead time T60 during the learning calculation performed by the upstream computer during the learning calculation (test run) and the inference calculation (actual operation). It shall be longer than the overhead T62 at the time of calculation.
  • the data B it is assumed that almost no overhead is applied during the learning operation and the inference operation. Note that T61 and T63 represent data A input time points during learning calculation and inference calculation, and T64 represents data B input time point.
  • data A is sampled in period T67 and data B is sampled in period T66.
  • the latest sampling data B is selected and used in the calculation as a set of input data.
  • the data A is input to the real-time controller 1 at the time point T61 from the data measurement by the downstream computer through the overhead T60.
  • the data B is closest to the input time point T61 of the data A, and the data at the time point of T65, which is the latest sampling, is selected and used as a set of input data.
  • the data A is input to the real-time controller 1 at the time point T63 via the overhead T62 from the data measurement by the downstream computer.
  • the data at the time of T64 which is the latest sampling closest to the input time point T63 of the data A, is selected and used as a set of input data.
  • the timing at which the data B is selected is different, and the acquisition time of the data B in the set of input data between the learning operation and the inference operation is different. Will be different.
  • data A is treated as reference data and data B is treated as data other than reference data. Since the overhead of the reference data A is different between the learning operation and the inference operation, the delay time is adjusted in the inference operation with a short overhead and in the learning operation with a long overhead, so that the learning operation and the inference operation can be performed. , Achieve the reference data input time at the same timing. Further, data B other than the reference data is selected at the timing closest to the input time of the reference data A.
  • the data A is input at the time point T61 from the data measurement by the downstream computer through the overhead T60 as in the case of FIG.
  • the data B selects the data at the time point T611, which is the latest sampling closest to the time point T61, and uses it as a set of input data.
  • the overhead of data A is corrected to be the same at the time of learning calculation and at the time of inference calculation, and the timing at which data B is selected is also the same, so that at the time of learning calculation and inference calculation. It is possible to solve the problem that the acquisition timing of the data B is different among the sets of input data of.
  • the input data is input under the same conditions such as the input delay time even if the data input path and the calculation environment for execution are different. It is possible to create a set of.
  • FIG. 8 is a diagram showing a configuration example of a distributed control system 6 as an example of a system for actually operating the real-time controller 1 according to the second embodiment of the present invention.
  • the distributed control system 7 manages the entire distributed control system 7, a system management device 70, at least one real-time controller 1, at least one input / output relay device 71, at least one sensor 72, or at least one sensor 72. It is configured to include one actuator 73, or both at least one sensor 72 and at least one actuator 73, and a setting terminal device 74.
  • the system management device 70 constitutes a computer system on the upstream side
  • the input / output relay device 71 constitutes a computer system on the downstream side.
  • the system management device 70 which is an upstream computer of the network, executes the deep learning learning calculation during the trial run, and the real-time controller 1 executes the deep learning inference calculation during the actual operation.
  • the system management device 70 is connected to the real-time controller 1 or the input / output relay device 71, the real-time controller 1 is connected to another real-time controller 1 or the input / output relay device 71, and the input / output relay device 71 is connected to the input / output relay device 71. It is connected to the sensor 72 or the actuator 73, and the setting terminal device 74 is connected to the system management device 70.
  • the system management device 70 includes at least one downstream communication port 11, a system management unit 701, a communication control unit 702, and a terminal connection port 703, and the system management unit 701 includes a communication control unit 702 and a terminal connection port. Connected to 703, the communication control unit 702 is connected to at least one downstream communication port 11.
  • the system management device 70 manages the settings input by the setting terminal device 74 by the system management unit 701 and transfers them to the communication control unit 702, so that the time correction unit of the real-time controller 1 passes through the downstream communication port 11.
  • the setting information required for 16 is transmitted.
  • the system management device 70 is assumed to be a server connected to a network, a general-purpose computer, a small computer board, or the like. Since the real-time controller 1 has been described in the first embodiment, the description thereof is omitted here.
  • the input / output relay device 71 includes at least one upstream communication port 10, at least one downstream communication port 11, communication control unit 710, input / output unit 711, and device connection port 712, and includes communication control unit 710. Is connected to at least one upstream communication port 10 and at least one downstream communication port 11, the input / output unit 711 is connected to the communication control unit 710 and the device connection port 712, and the device connection port 712 is the sensor 72 or the actuator 73. Is connected with.
  • the input / output relay device 71 is connected to the device connection port 712 and inputs / outputs to the sensor or actuator via the input / output unit 711.
  • the input data is data obtained by transmitting the data obtained by the input / output unit 711 to the real-time controller 1 or the system management device 70 via the communication control unit 710 and the upstream communication port 10 or the downstream communication port 11.
  • the output data is data received from the real-time controller 1 or the system management device 70 via the upstream communication port 10 or the downstream communication port 11 and the communication control unit 710, and is output via the input / output unit 711. To do.
  • the real-time controller 1 executes an operation for obtaining a control command of the actuator 73 based on the input data of the plurality of sensors 72.
  • the real-time controller 1 When using the distributed control system 6, first, in the setting terminal device 74, the real-time controller 1 inputs the setting information for executing the input delay correction.
  • FIG. 9 is a diagram showing a setting terminal screen for inputting necessary setting information to the time correction unit 16 included in the real-time controller 1.
  • the setting terminal device 74 has a configuration as shown in FIG.
  • the setting terminal device 74 includes a setting area 80 and a system log area 81.
  • the setting area 80 specifies reference data and sets the delay time for each data in order to execute the input delay correction process. Further, in the system log area 81, the input setting information is transferred to the communication control unit 702 via the system management unit 701 and transmitted to the real-time controller 1.
  • the setting procedure at this time is as described in the first embodiment, after the trial run mode is first executed, the operation information is confirmed in the system log area 81. Next, in the setting area, the internal delay information and the external delay information are input for each data to be corrected for the delay time. After that, the setting information input by the setting terminal device 74 is transferred to the real-time controller 1 via the system management device 70, and the real-time controller 1 further stores the received setting information in the setting holding unit 15.
  • the input / output relay devices 71A and 71B to which the sensors 72A and 72B are connected continuously sample the data of the sensors 72A and 72B and transfer the data to the real-time controller 1.
  • the sensor 72A of the data A and the sensor 72B of the data B are used.
  • data A is used as reference data for input delay correction
  • data B is used as data other than the reference data.
  • the data B other than the reference data of the sensor 72B selected at this time and the data of the sensor 72 of the reference data A are transferred to the calculation unit 18 as a set of input data.
  • the calculation unit 18 performs a calculation based on the input data, and then transfers the calculation result to the input / output relay device 71C to which the actuator 73 is connected by communication.
  • the input / output relay device 71C to which the actuator 73 is connected converts the received calculation result into a control signal to the actuator 73 by the input / output unit 711 and feeds it back.
  • the distributed control system 6 provided with the real-time controller 1 by applying the distributed control system 6 provided with the real-time controller 1 to an industrial machine such as an industrial device or a robot, the delay time of each data such as a sensor or an actuator input to a control calculation can be obtained. It is possible to specify the combination exactly. Since the effects when the others are applied to the real-time controller 1 are the same as those in the first embodiment, the description thereof will be omitted.
  • FIG. 10 is an operational application example of the real-time controller 1 according to the third embodiment of the present invention.
  • the calculation unit 18 included in the real-time controller 1 includes a calculation execution unit 91, a calculation parameter storage unit 92, and a calculation management unit 93.
  • the calculation execution unit 91 is connected to the time correction unit 16, the upstream data control unit 10, and the downstream data control unit 11, and the calculation parameter storage unit 92 is connected to the calculation execution unit 91 and the communication control unit 12, and the calculation management unit 93. Is connected to the calculation execution unit 91 and the communication control unit 12.
  • the calculation execution unit 91 executes an arbitrary calculation. Further, the calculation parameter storage unit 92 stores the coefficients and parameters required for the calculation executed by the calculation execution unit 91, and changes and updates the contents via communication.
  • the real-time controller 1 is operated by being connected to another real-time controller 1.
  • the real-time controller 1 when the real-time controller 1 is used alone, if the arithmetic performance for the target arithmetic processing is insufficient, a plurality of real-time controllers 1 are connected as shown in FIG. 10 and the arithmetic processing is distributed and implemented. So, we will reinforce the calculation performance.
  • the arithmetic management unit 93 included in the real-time controller 1 shares the progress status of the arithmetic processing and the arithmetic result with the arithmetic management unit 93 of the other real-time controller 1 via communication. That is, one type or a plurality of types of arithmetic processing having high required performance is executed in cooperation with the plurality of real-time controllers 1.
  • the cloud server 90 transfers the arithmetic parameters related to the arithmetic processing to the arithmetic parameter storage unit 92 at an arbitrary timing via communication. Further, the real-time controller 1 continuously transmits the calculation result and the operation status to the cloud server 90, and the cloud server 90 reconsiders and updates the calculation parameters.
  • the real-time controller 1 can update the calculation contents and expand the calculation performance according to the purpose of the calculation.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Programmable Controllers (AREA)
  • Feedback Control In General (AREA)

Abstract

学習演算時と推論演算時の制御動作が同一になるようなリアルタイムコントローラおよびそれを用いた分散制御システム、産業機械を提供する。その一部において深層学習の学習演算を行うネットワークに接続され、外部で計測された計測データを取り込んで深層学習の推論演算を実行するリアルタイムコントローラであって、複数の計測データのうち基準データについて、深層学習の学習演算により求めた基準データの入力遅延時間を含む設定情報を記憶する設定保持部と、計測データを記憶し、基準データの入力時刻から入力遅延時間が経過した時刻を基準データの入力時刻とするとともに、基準データ以外のデータについて入力遅延時間が経過した時刻に直近のタイミングにおける基準データ以外のデータを選択する時間補正部と、基準データと選択した基準データ以外のデータを組のデータとして深層学習の推論演算を実行する演算部を備えることを特徴とするリアルタイムコントローラ。

Description

リアルタイムコントローラおよびそれを用いた分散制御システム、産業機械
 本発明は実時間制御を実行するコントローラと深層学習による推論演算を用いた実時間制御によるリアルタイムコントローラおよびそれを用いた分散制御システム、産業機械に関する。
 近年、画像認識の精度向上や産業装置の故障予知などを目的として、深層学習技術が用いられる。特に教師ありの深層学習では、入力データとそれに対応する任意の教師(正解)データをパラメータとして、学習演算を実行することで、数理的な設計をしなくとも任意の演算モデルを得ることができる。また、入力データや正解の誤差に応じて再学習演算をすることで、演算モデルを更新することができる。そこで、深層学習を用いることで、制御対象の運用環境の差や複雑な物理現象を考慮せずに制御演算モデル(学習結果)を作成し、これに基づき演算する(以下、推論演算)ことができ、システム設計工数の削減が期待されている。
 一般的に、産業装置やロボットなどの産業機械における機械制御は、任意のセンサあるいはアクチュエータの情報に基づき制御演算を実行する。これは、深層学習技術を用いた機械制御でも同様であり、たとえば特開特許文献1は、学習部と、推論部と、センサを備えた機械学習システムであって、機械学習システムの学習に重要なデータのみを選択し、活用することで、機械学習システムが高精度の推論演算を行うことを特徴としている。
特開2010-55303号公報
 産業装置やロボットの機械制御は、ミリ秒からマイクロ秒周期での高速な制御周期が求められる。一方で、学習演算時と推論演算時は、各演算に必要な計算性能や実装形態によって、データの入出力経路や入出力方法が異なる場合が多く、入力の際の遅延時間が大きくなる。したがって、特許文献1の構成を高速な機械制御に適用すると、学習演算時と、推論演算時のデータの入力遅延時間の誤差について配慮が無いため、これが高速制御に影響し、学習演算時と推論演算時の制御動作が同一にならない場合がある。
 以上のことから本発明においては、学習演算時と推論演算時の制御動作が同一になるようなリアルタイムコントローラおよびそれを用いた分散制御システム、産業機械を提供することを目的とする。
 以上のことから本発明においては「その一部において深層学習の学習演算を行うネットワークに接続され、外部で計測された計測データを取り込んで深層学習の推論演算を実行するリアルタイムコントローラであって、複数の計測データのうち基準データについて、深層学習の学習演算により求めた基準データの入力遅延時間を含む設定情報を記憶する設定保持部と、計測データを記憶し、基準データの入力時刻から入力遅延時間が経過した時刻を基準データの入力時刻とするとともに、基準データ以外のデータについて入力遅延時間が経過した時刻に直近のタイミングにおける基準データ以外のデータを選択する時間補正部と、基準データと選択した基準データ以外のデータを組のデータとして深層学習の推論演算を実行する演算部を備えることを特徴とするリアルタイムコントローラ。」としたものである。
 また本発明においては「リアルタイムコントローラが、ネットワークを介して深層学習を実行する上流側計算機、及び前記計測データを取得する下流側計算機に接続されて構成された分散制御システム」としたものである。
 また本発明においては「分散制御システムにより構成された産業機械」としたものである。
 本発明によれば、深層学習を用いた機械制御において、学習演算時と推論演算時のデータの入出力遅延を同一条件に補正することで、学習演算時と推論演算時の制御動作を同一にすることができる。
本発明の実施例に係るリアルタイムコントローラの構成例を示す図。 リアルタイムコントローラが通信で用いるデータ構造を示す図。 リアルタイムコントローラが備える時間補正部16の詳細構成例を示す図。 試運転モードにおける遅延時間補正をするための設定手順を示すフローチャート。 時間補正部16が実行する遅延時間補正処理の手順を示すフローチャート。 入力データに対して、遅延時間補正処理を行わない場合のタイミングチャートを示す図。 入力データに対して、遅延時間補正処理を行う場合のタイミングチャートを示す図。 リアルタイムコントローラ1を適用した分散制御システム6の構成例を示す図。 リアルタイムコントローラが備える時間補正部に必要な設定情報を入力する設定端末画面を示す図。 本発明の実施例3に係るリアルタイムコントローラ1の運用応用例を示す図。
 以下、本発明の実施例について図面を用いて詳細に説明する。
 図1は本発明の実施例に係るリアルタイムコントローラの構成例を示す図である。
 計算機で構成されたリアルタイムコントローラ1は、有線あるいは無線のネットワークを通じて、上流側及び下流側の計算機との間で通信を行っている。またネットワークの例えば上流側計算機は深層学習の学習演算を試運転時などの事前に実行し、リアルタイムコントローラ1は深層学習の結果を反映した推論演算を通常運転時に実行する。
 図1のリアルタイムコントローラ1は、演算部18と、上下流側計算機との間の通信を制御する通信制御部12と、通信時間を補正する時間補正部16と、データの送受信を制御する上流及び下流のデータ制御部13、14を少なくとも備えている。
 さらに詳細に述べると、通信制御部12は、上流方向の通信の伝送信号を受信あるいは送信する上流通信ポート10と、下流方向の通信の伝送信号を受信あるいは送信する下流通信ポート11とを備えて、送受信する通信の伝送信号データに変換、あるいは伝送信号の中継をおこなう。送受信するデータは、上流及び下流のデータ制御部13、14により制御される。
 時間補正部16は、時間補正部の処理に必要な設定情報を設定保持部15から得、事前の設定に基づいて基準データを定め、その入力遅延時間を補正し、事前の設定と基準データの入力遅延時間に基づき、基準データ以外のデータを選択して基準データと基準データ以外のデータによるデータの組を作成する。
 演算部18は、時間補正部16からのデータを用いた演算処理を実行するとともに、この際に演算計測部17において演算時間の開始と終了の経過時間を計測する。
 なお、上流通信ポート10と下流通信ポート11は通信制御部12に接続され、通信制御部12は上流データ制御部13と下流データ制御部14に接続され、上流データ制御部13は設定保部15と時間補正部16に接続され、下流データ制御部14は時間補正部16と演算部18に接続され、設定保持部15は時間補正部16に接続され、時間補正部16は演算部18に接続され、演算部18は通信制御部12と上流データ制御部13と演算計測部17に接続されている。
 ここで、リアルタイムコントローラ1は、通信でデータを送受信するために、図2のパケット2に示す構造を用いる。パケット2は、リアルタイムコントローラ1が通信をする際の宛先を示すアドレス部20と、演算に使用するパラメータや時間補正部16で使用する設定情報などを格納するデータ部21と、を備える。
 図3は、リアルタイムコントローラ1が備える時間補正部16の詳細を示した構成図である。
 時間補正部16は、上流データ制御部13あるいは下流データ制御部14で受信したパケットのデータ内容を解釈するデータ解釈部30と、時間の計測をする時間カウント部31と、受信したデータを蓄積するデータバッファ部32と、設定保持部15に格納された設定に基づき、基準のデータを選定する基準選択部161と、設定保持部15に格納された設定に基づき、基準データの入力遅延時間を補正する遅延補正部162と、設定保持部15に格納された設定と基準データの入力遅延時間に基づき、入力データを選定し、データの組を作るタイミング調整部163を備え、タイミング調整部163で時間調整したデータを演算部に引き渡す。
 このようにデータ解釈部30は、上流データ制御部13と下流データ制御部14とデータバッファ部と接続され、時間カウント部31は、データバッファ部32と接続され、データバッファ部は、基準選択部161とタイミング調整部163と接続され、基準選択部161は、遅延補正部162と接続され、遅延補正部162は、タイミング調整部163と接続され、タイミング調整部163は演算部18と接続されている。
 ここで、リアルタイムコントローラ1の基本動作を説明する。
 まずリアルタイムコントローラ1は、上流通信ポート10を介して時間補正部16の処理に必要な設定を、上流データ制御部13で受信する。上流データ制御部13は受信した設定情報を設定保持部15へ転送し、設定保持部15は転送された設定情報を格納する。
ここで、時間補正部16の処理に必要な設定とは、遅延補償の対象とする基準データを選択するための基準データ設定情報、基準データの入力遅延時間を補正するための遅延時間補正設定情報を含む情報である。
 この際、上流データ制御部10と下流データ制御部11は、どちらも受信あるいは送信が可能である。そのため、リアルタイムコントローラ1は常時、上流方向、下流方向でパケット2の構造のデータを送受信し続ける。特に、受信したデータは、時間補正部16のデータバッファ部32で蓄積し、タイミング調整部163が演算部18の演算で使用するデータのみを選定する。また、リアルタイムコントローラ1は、受信したデータを基に定期的に演算部18で演算を実行する。その際、演算部18は演算結果を上流データ制御部13あるいは下流データ制御部14に転送する。上流データ制御部13あるいは下流データ制御部14は演算結果を転送されると、通信制御部12へ転送し通信の伝送信号へと変換する。
 またリアルタイムコントローラ1は、遅延時間補正処理の設定をするための試運転モードと、制御演算を実行する通常モードを備える。試運転モードにおいては、例えば上流側計算機により深層学習の学習演算を実行し、この試運転結果として時間補正部16の処理に必要な各種設定情報がリアルタイムコントローラ1に入手されて設定処理が実施される。通常モードでは、リアルタイムコントローラ1において深層学習の学習演算の結果得られた学習モデルを用いた推論演算が実行され、この中で試運転モードにおいて求められ、予め定められた時間補正部16の処理に必要な各種設定情報を用いた遅延時間補整処理が実行される。
 次にリアルタイムコントローラ1が備える時間補正部16で実行されるデータの遅延時間補正の処理について説明する。試運転モードにおける遅延時間補正をするための設定手順を、図4を用いて説明する。
 図4ではまず、設定対象のデータの入力遅延や演算時間を見積もるために処理ステップS40にてリアルタイムコントローラ1を試運転モードにする。試運転モードの中では、上流側計算機により深層学習の学習演算を実行している。その次に、処理ステップS41にて試運転をした結果である動作情報を確認する。
 動作情報の確認が完了すると、次に、処理ステップS42にて、遅延時間を補正する際の基準となる基準データを選択する。
 図4の設定手順(処理ステップS43と処理ステップS44)では、基準データごとに2種類の遅延情報を入力する。1つ目が内部遅延情報であり、これは入力対象のデータ(基準データ)がデジタル値として取得できてから、リアルタイムコントローラ1に送信され、データが到着するまでの時間のことである。2つ目が外部遅延情報であり、これは、入力対象のデータがアナログ値からデジタル値に変換されるまでの時間である。
 ここで、内部遅延情報と外部遅延情報についてさらに詳述すると、例えば上流側計算機がプラント全体の制御装置、下流側計算機がプラント各部の個別制御装置という位置づけを想定した場合に、下流側計算機でプロセス量を計測してアナログ値をデジタル値に変換するまでの時間が外部遅延情報であり、さらにデジタル値が生成されてからリアルタイムコントローラ1に認知されるまでの時間が下流における内部遅延時間ということになる。
 これら2種類の情報(遅延補償の対象とする基準データを選択するための基準データ設定情報と、基準データの入力遅延時間を補正するための遅延時間補正設定情報)を処理ステップS43と処理ステップS44にて、各データについて入力が完了次第、設定を完了とする。最後に処理ステップS45にて、リアルタイムコントローラ1は通常モードの動作を開始する。
 図5は時間補正部16が通常モードにおいて実行する遅延時間補正処理の手順を示したフローチャートである。なお、ここでは、すでに処理に必要なデータは設定保持部15に格納されていることを前提とする。図5には図示していないが、図5におけるリアルタイムコントローラ1の処理では、深層学習の学習演算の結果得られた学習モデルを用いた推論演算が実行されている。
 時間補正部16は、処理ステップS50にて、データ解釈部30でデータを受信する。
この際、データ解釈部30はデータ内容を確認後、データ受信時の時間を演算計測部17から読み出し、処理ステップS51に遷移する。次に処理ステップS51にて、データバッファ部32は、データ解釈部30で受信したデータとデータ受信時刻を合わせて蓄積し、処理ステップS52に遷移する。
 処理ステップS52にて、基準選択部161は、データバッファ部32に蓄積されたデータを順次確認し、事前に設定した基準となるデータであるかを判定する。処理ステップS52の判定で、事前に設定した基準のデータではないと判断した場合、処理ステップS50に戻りデータの受信を続ける。
 処理ステップS52の判定で、事前に設定した基準のデータであると判断した場合、基準選択部161は遅延補正部162に通知し、処理ステップS53へ遷移する。この際、基準データはパケット2に備える、アドレス部20を指定することによって判別可能である。
 次に、処理ステップS53にて、遅延補正部162は、基準データが受信された時点から、時間計測を開始し、処理ステップS54へ遷移する。処理ステップS54にて、遅延補正部162で計測中の時間が、事前に設定した時間に到達したかを判定する。この際、処理ステップS54の判定で、遅延補正部162が計測した時間が、事前に設定した入力遅延時間に達していない場合、処理ステップS54にとどまる。
 処理ステップS54の判定で、遅延補正部162が計測した時間が、事前に設定した入力遅延時間に達した場合、遅延補正部162はタイミング調整部163へ通知し、処理ステップS55へ遷移する。この際、事前に設定した入力遅延時間とは、前記内部遅延情報と前記外部遅延情報の合算した値である。
 処理ステップS53から処理ステップS54までの時間計測は、事前に設定した基準データの入力遅延時間を補正するために実行する手順である。すなわち、基準データが到着した時点より、事前に設定した入力遅延時間分だけ、意図的に時間を調整することで、任意の入力遅延時間へ補正するものである。
 処理ステップS55では、タイミング調整部163が処理ステップS54で計測した入力遅延時間と事前の設定に基づいて、データバッファ部32に蓄積しているデータの中から、基準データ以外のデータを選択する。
 ここで、タイミング調整部163がデータを選定する仕組みについて説明する。前提として、基準データ以外のデータに関しても、任意の入力遅延時間を設定することが可能である。タイミング調整部163がデータバッファ部32からデータを選定するとき、まず処理ステップS54で計測した入力遅延時間の範囲外のデータは無視する。この際、前述したとおり、データバッファ部32は、受信したデータとデータ受信時刻を合わせて蓄積しているため、このデータに紐づくデータの受信時刻を参照することが可能である。そのあと、タイミング調整部163は、基準データ以外のデータに設定された入力遅延時間とデータ受信時刻を参照することで、基準データの入力遅延時間から相対的に計算し、特定の受信時刻のデータを選択する。
 上記処理により、基準データ以外のデータの時系列的なデータ群のうち、基準データについて事前に設定した入力遅延時間で定まる時刻に直近の時刻で得られた基準データ以外のデータを選択することになる。
 その後、処理ステップS56へ遷移し、タイミング調整部163は基準データと選択された基準データ以外のデータを合わせて入力データの組を作成し、処理ステップS57へ遷移する。
 処理ステップS57にて、タイミング調整部163は、事前に設定したすべてのデータを選択したかを判断する。処理ステップS57の判定にて、事前に設定したすべてのデータを選択していないと判断した場合、処理ステップS56へ遷移し、タイミング調整部163が再度データを選択する。
 また、処理ステップS57の判定にて、事前に設定したすべてのデータを選択したと判断した場合、処理ステップS58へ遷移する。最後に処理ステップS58にて、タイミング調整部163が演算部18に入力データの組を出力する。
 図6は、リアルタイムコントローラ1が備える時間補正部16が、入力データに対して、遅延時間補正処理を行わない場合のタイミングチャートを示した図である。
 ここで、図6に示す例はデータAとデータBを入力データとして、試運転モードで深層学習の学習演算を任意のコンピュータ(多くの場合に上流側計算機で実施)で実行する場合と、通常運転モードで学習結果としての推論演算をリアルタイムコントローラ1で実行する場合を対比して示している。なおここでは、試運転の時と通常運転の時で、異なる遅延時間の結果になってしまうことを説明しようとしている。
 図6では、データAに関して、学習演算時(試運転時)と推論演算時(実運転時)では、上流側計算機で実施する学習演算時のオーバヘッド時間T60の方が、リアルタイムコントローラ1で実施する推論演算時のオーバヘッドT62よりも長いものとする。また、データBに関しては、学習演算時と推論演算時でオーバヘッドはほとんどかからないものとする。なおT61、T63は、学習演算時と推論演算時のデータAの入力時点、T64はデータBの入力時点を表している。
 上記の前提で、データAは周期T67で、データBは周期T66でデータをサンプリングしている。この場合、データAが入力され次第、最新のサンプリングのデータBを選択し、入力データの組として演算に使用する。
 具体的には、学習演算時について、データAは、下流側計算機でのデータ計測からオーバヘッドT60を経て時点T61でリアルタイムコントローラ1にデータ入力される。これに対し、データBはデータAの入力時点T61に最も近く、最新のサンプリングであるT65の時点のデータを選択し、入力データの組とする。
 一方、推論演算時について、データAは下流側計算機でのデータ計測からオーバヘッドT62を経て時点T63でリアルタイムコントローラ1にデータ入力される。これに対し、データBはデータAの入力時点T63に最も近く最新のサンプリングであるT64の時点のデータを選択し、入力データの組とする。
 すなわち、データAのオーバヘッドが学習演算時と推論演算時で異なることから、データBが選択されるタイミングが異なり、学習演算時と推論演算時での入力データの組のうち、データBの取得時刻が異なってしまう。
 次に、図7により時間補正部16が、入力データに対して、遅延時間補正処理を行う場合のタイミングチャートを説明する。なお、ここで説明する場合でも、図6で説明した際と同様の前提とする。
 図7では、データAを基準データ、データBを基準データ以外のデータとして取り扱う。基準データAは、学習演算時と推論演算時とでオーバヘッドが相違することから、オーバヘッドが短い推論演算時には、オーバヘッドが長い学習演算時に遅延時間を調整することで、学習演算時と推論演算時で、同じタイミングでの基準データ入力時刻を実現する。
また基準データAの入力時刻に直近のタイミングで、基準データ以外のデータBを選択する。
 まず、学習演算時、データAは図6の場合と同様に下流側計算機でのデータ計測からオーバヘッドT60を経て、時点T61で入力される。この際、データBは時点T61に最も近く最新のサンプリングである時点T611のデータを選択し、入力データの組とする。
 他方、リアルタイムコントローラ1で推論演算時には、時間補正部6で入力データの遅延時間を補正するために、データAを基準データとして定め、さらにT610の遅延時間を設定する。ゆえに、推論演算時、データ到着時は下流側計算機でのデータ計測からオーバヘッドT68を経て、実際にはタイミングT69で入力されるが、時間T610だけ、入力遅延時間を加算する。そのあと、時点T612で入力されたものとし、その際、データBに対して、時点T612に最も近く最新のサンプリングである時点T611のデータを選択し、入力データの組とする。
 こうした入力遅延補正を行うことで、学習演算時と推論演算時で、データAのオーバヘッドを同一に補正し、データBが選択されるタイミングも同一にすることで、学習演算時と推論演算時での入力データの組のうち、データBの取得タイミングが異なってしまう問題を解決可能である。
 本実施例の態様に依れば、深層学習の学習演算と推論演算の実行時、データの入力経路や実行するための演算環境が異なっても、入力遅延時間などが同一条件での、入力データの組を作成することが可能である。
 図8は、本発明の実施例2に係るリアルタイムコントローラ1を実運用するためのシステムの一例としての分散制御システム6の構成例を示した図である。
 分散制御システム7は、分散制御システム7全体のシステム管理をする、システム管理装置70と、少なくとも1つのリアルタイムコントローラ1と、少なくとも1つの入出力中継装置71と、少なくとも1つのセンサ72、あるいは、少なくとも1つのアクチュエータ73、あるいは少なくとも1つのセンサ72と少なくとも1つのアクチュエータ73の両方と、設定端末装置74を備えて構成される。
 ここではシステム管理装置70が上流側計算機、入出力中継装置71が下流側計算機とされる計算機システムを構成したものである。この場合にもまたネットワークの上流側計算機であるシステム管理装置70が試運転時に深層学習の学習演算を実行し、リアルタイムコントローラ1が実運転時に深層学習の推論演算を実行している。
 このようにシステム管理装置70は、リアルタイムコントローラ1あるいは、入出力中継装置71と接続され、リアルタイムコントローラ1は、他のリアルタイムコントローラ1あるいは入出力中継装置71と接続され、入出力中継装置71は、センサ72あるいはアクチュエータ73と接続され、設定端末装置74は、システム管理装置70と接続される。
 次に各装置の詳細を説明する。
 システム管理装置70は、少なくとも1つの下流通信ポート11と、システム管理部701と、通信制御部702と、端末接続ポート703と、を備え、システム管理部701は、通信制御部702と端末接続ポート703と接続され、通信制御部702は、少なくとも1つの下流通信ポート11と接続される。
 システム管理装置70の基本動作を説明する。システム管理装置70は、設定端末装置74にて入力される設定をシステム管理部701で管理し、通信制御部702へ転送することで、下流通信ポート11を介して、リアルタイムコントローラ1の時間補正部16に必要な設定情報を伝送する。ここで、システム管理装置70は、ネットワークに接続されるサーバーや、汎用コンピュータ、小型のコンピュータ基板などが想定される。リアルタイムコントローラ1は実施例1に記載したので、ここでは説明を割愛する。
 入出力中継装置71は、少なくとも1つの上流通信ポート10と、少なくとも1つの下流通信ポート11と、通信制御部710と、入出力部711と、デバイス接続ポート712と、を備え、通信制御部710は少なくとも1つの上流通信ポート10と少なくとも1つの下流通信ポート11と接続され、入出力部711は通信制御部710とデバイス接続ポート712と接続され、デバイス接続ポート712は、センサ72あるいは、アクチュエータ73と接続される。
 入出力中継装置71の基本動作を説明する。入出力中継装置71は、デバイス接続ポート712と接続されセンサあるいはアクチュエータに対して入出力部711を介して入出力する。この際、入力データは、入出力部711で得たデータを通信制御部710と上流通信ポート10あるいは下流通信ポート11を介して、リアルタイムコントローラ1あるいはシステム管理装置70へ送信するデータのことである。また、出力データとは、上流通信ポート10あるいは下流通信ポート11と通信制御部710を介して、リアルタイムコントローラ1あるいはシステム管理装置70から受信したデータのことであり、入出力部711を介して出力する。
 次に分散制御システム6の基本動作について説明する。
 本実施例では、複数のセンサ72の入力データに基づいて、アクチュエータ73の制御指令を求めるための演算をリアルタイムコントローラ1で実行することとする。
 分散制御システム6の使用時、まず設定端末装置74において、リアルタイムコントローラ1が入力遅延補正を実行するための設定情報を入力する。
 図9は、リアルタイムコントローラ1が備える時間補正部16に必要な設定情報を入力する設定端末画面を示した図である。この際、設定端末装置74は、図9に示すような構成である。設定端末装置74は、設定領域80と、システムログ領域81と、を備える。
設定領域80は、入力遅延補正の処理を実行するために、基準データの指定、各データへの遅延時間設定を行う。また、システムログ領域81は、入力された設定情報は、システム管理部701を介して通信制御部702へ転送し、リアルタイムコントローラ1へ伝送する。
 この際の設定手順は、実施例1に記載したとおり、はじめに試運転モードを実行した後、システムログ領域81にて、動作情報を確認する。その次に、設定領域にて、遅延時間補正対象の各データに対して、内部遅延情報と外部遅延情報を入力する。その後、設定端末装置74で入力された設定情報は、システム管理装置70を介してリアルタイムコントローラ1へ転送し、さらにリアルタイムコントローラ1は受信した設定情報を設定保持部15へ格納する。
 ここで、センサ72A、72Bが接続された入出力中継装置71A、71Bは、継続的にセンサ72A、72Bのデータをサンプリングし、リアルタイムコントローラ1へ転送する。この際、図8に記載の通り、説明の便宜上、データAのセンサ72AとデータBのセンサ72Bとする。また、データAを入力遅延補正の基準データ、データBを基準データ以外のデータとする。リアルタイムコントローラ1は、基準データAを受信すると、実施例1で記載した方法で基準データAのセンサ72Aの入力遅延時間を補正する。そのあと、事前の設定と基準データAのセンサ72Aの入力遅延時間に基づいて、リアルタイムコントローラ1に備えるデータバッファ部30で蓄積した、複数の基準データ以外のデータBのセンサ72Bのデータのうち、1つのデータを選択する。
 この際選択したセンサ72Bの基準データ以外のデータBと、基準データAのセンサ72のデータを入力データの組として、演算部18へ転送する。演算部18ではこの入力データに基づき、演算を行った後、演算結果をアクチュエータ73が接続された入出力中継装置71Cへ通信で転送する。アクチュエータ73が接続された入出力中継装置71Cは、受信した演算結果を入出力部711にてアクチュエータ73への制御信号へと変換し、フィードバックする。
 本実施例の態様に依れば、産業装置やロボットなどの産業機械にリアルタイムコントローラ1を備える分散制御システム6を適用することで、制御演算に入力するセンサあるいはアクチュエータなどの各データの遅延時間とその組み合わせを厳密に指定することが可能である。
その他をリアルタイムコントローラ1適用した場合の効果は実施例1と同一であるため、説明は割愛する。
 図10は、本発明の実施例3に係るリアルタイムコントローラ1の運用応用例である。
 リアルタイムコントローラ1が備える演算部18は、演算実行部91と、演算パラメータ記憶部92と、演算管理部93を備える。
 また演算実行部91は、時間補正部16と上流データ制御部10と下流データ制御部11と接続され、演算パラメータ記憶部92は演算実行部91と通信制御部12と接続され、演算管理部93は、演算実行部91と通信制御部12と接続される。
 この際、演算実行部91は、任意の演算を実行する。また、演算パラメータ記憶部92は、演算実行部91で実行する演算に必要な係数やパラメータなどを格納し、通信を介してその内容を変更、更新をする。
 図10に示すようにリアルタイムコントローラ1は他のリアルタイムコントローラ1と接続して運用する。この際、リアルタイムコントローラ1を単体で使用したとき、目的とした演算処理に対する演算性能が不足した場合、図10に示すように複数のリアルタイムコントローラ1を接続し、演算処理を分散して実装することで、演算性能の補強をする。
具体的には、リアルタイムコントローラ1が備える演算管理部93は、他のリアルタイムコントローラ1の演算管理部93と通信を介して、演算処理の進捗状況や演算結果を共有する。すなわち、複数のリアルタイムコントローラ1で要求性能が高い1種類、あるいは複数種類の演算処理を連携して実行する。
 また、クラウドサーバ90から、演算パラメータ記憶部92に対して、通信を介して任意のタイミングで演算処理に関する演算パラメータを転送する。さらに、リアルタイムコントローラ1は演算結果や動作状況を継続的にクラウドサーバ90へ送信し、クラウドサーバ90において演算パラメータの再考、更新をする。
 実施例3に依れば、リアルタイムコントローラ1は、演算の目的に応じて演算内容の更新や演算性能の拡張が可能である。
1:リアルタイムコントローラ、10:上流通信ポート、11:下流通信ポート、12:通信制御部、13:上流データ制御部、14:下流データ制御部、15:設定保持部、16:時間補正部、161:基準選択部、162:遅延補正部、163:タイミング調整部、17:演算計測部、18:演算部、2:パケット、20:アドレス部、21:データ部、30:データ解釈部、31:時間カウント部、32:データバッファ部、70:システム管理装置、701:システム管理部、702:通信制御部、703:端末接続ポート、71:入出力中継装置、710:通信制御部、711:入出力部、712:デバイス接続ポート、72:センサ、73:アクチュエータ、74:設定端末装置、80:設定領域、81:システムログ領域、90:クラウドサーバ、91:演算実行部、92:演算パラメータ記憶部、93:演算管理部

Claims (12)

  1.  その一部において深層学習の学習演算を行うネットワークに接続され、外部で計測された計測データを取り込んで深層学習の推論演算を実行するリアルタイムコントローラであって、
     複数の前記計測データのうち基準データについて、前記深層学習の学習演算により求めた基準データの入力遅延時間を含む設定情報を記憶する設定保持部と、前記計測データを記憶し、前記基準データの入力時刻から前記入力遅延時間が経過した時刻を前記基準データの入力時刻とするとともに、前記基準データ以外のデータについて前記入力遅延時間が経過した時刻に直近のタイミングにおける前記基準データ以外のデータを選択する時間補正部と、前記基準データと選択した前記基準データ以外のデータを組のデータとして前記深層学習の推論演算を実行する演算部を備えることを特徴とするリアルタイムコントローラ。
  2.  請求項1に記載のリアルタイムコントローラであって、
     前記ネットワークの試運転時に深層学習の学習演算が実行され、その結果得られた学習モデルによる推論演算を実運転時の前記演算部において実行することを特徴とするリアルタイムコントローラ。
  3.  請求項1または請求項2に記載のリアルタイムコントローラであって、
     一つあるいは複数の上流通信ポートと、一つあるいは複数の下流通信ポートと、前記上流通信ポートに対しデータの送受信を行うための上流データ制御部と、前記下流通信ポートに対しデータの送受信を行うための下流データ制御部と、前記上流通信ポートと前記下流通信ポートと前記上流データ制御部と下流データ制御部と接続される通信制御部と、前記上流データ制御部と前記下流データ制御部と接続される前記時間補正部と、前記時間補正部と前記通信制御部と前記上流データ制御部と下流データ制御部と接続される前記演算部を備えるとともに、
     前記上流データ制御部あるいは前記下流データ制御部で取得したデータに対して、事前の設定に基づいて前記時間補正部で基準データを定め、前記事前の設定に基づき、前記時間補正部で前記基準データの入力遅延時間を補正し、前記事前の設定と前記基準データの前記入力遅延時間に基づき、前記時間補正部で前記基準データ以外の前記データを選択し、前記基準データと前記基準データ以外のデータの組を作成することを特徴とするリアルタイムコントローラ。
  4.  請求項3に記載のリアルタイムコントローラであって、
     前記設定保持部は、前記時間補正部の処理に要する設定情報を任意の手段で転送し、あるいは、前記リアルタイムコントローラが備える前期時間補正部が前記演算部の結果に基づいて処理することを特徴とするリアルタイムコントローラ。
  5.  請求項4に記載のリアルタイムコントローラであって、
     前記時間補正部の処理に要する前記設定情報は、前記演算部の演算に必要な複数の入力データをサンプリングする際の基準とするデータの指定情報と、前記演算部の演算に必要な複数の入力データの遅延補正情報であることを特徴とするリアルタイムコントローラ。
  6.  請求項3から請求項5のいずれか1項に記載のリアルタイムコントローラであって、
     前記時間補正部は、前記上流データ制御部と前記下流データ制御部と接続され、前記上流データ制御部あるいは前記下流データ制御部で取得したデータを解釈するデータ解釈部と前記データ解釈部と接続され、前記取得したデータを蓄積するデータバッファ部と、前記データバッファ部と接続され、時間を計測する時間カウント部と、前記データバッファ部と接続され、前記取得したデータから基準データを選定する基準選択部と、前記基準選択部と接続され、前記基準データを取得した際の入力遅延時間を補正する遅延補正部と、前記遅延補正部と接続され、前記データバッファ部から特定のデータを選定するタイミング調整部を備えることを特徴とするリアルタイムコントローラ。
  7.  請求項6に記載のリアルタイムコントローラであって、
     前記データ解釈部は受信したデータ内容を解釈し、前記データバッファ部は前記データを蓄積し、前記基準選択部は、事前の設定に基づき選定した基準データを受信したら前記遅延補正部に通知し、前記遅延補正部は、前記基準選択部からの通知に基づき入力遅延時間の時間計測を開始し、前記遅延補正部は、事前の設定に基づき特定の入力遅延時間となると前記タイミング調整部に通知し、前記タイミング調整部は、前記遅延補正部からの通知に基づき、前記データバッファ部から事前の設定に基づき前記データを選定し、データの組を作成することを特徴とするリアルタイムコントローラ。
  8.  請求項1から請求項7のいずれか1項に記載のリアルタイムコントローラが、ネットワークを介して前記深層学習を実行する上流側計算機、及び前記計測データを取得する下流側計算機に接続されて構成された分散制御システム。
  9.  請求項8に記載の分散制御システムであって、
     前記リアルタイムコントローラをネットワーク上に複数接続し、複数の前記リアルタイムコントローラが備える前記演算部で、1種類あるいは複数種類の演算を実行することを特徴とする分散制御システム。
  10.  請求項8または請求項9に記載の分散制御システムであって、
     前記上流側計算機はシステム管理をするシステム管理装置であって、前記下流側計算機は少なくともセ1つのンサ、あるいは少なくとも1つのアクチュエータ、あるいは少なくとも1つのセンサと少なくとも1つのアクチュエータの両方と接続され、前記接続されたセンサあるいはアクチュエータに入出力制御をする入出力中継装置であって、ネットワーク上にシステムログや設定情報を入力する設定端末装置を備えることを特徴とする分散制御システム。
  11.  請求項9に記載の分散制御システムであって、
     システム管理装置は、ネットワークに接続されたサーバーを介して、深層学習の学習演算結果を受信し、さらに前記リアルタイムコントローラへ送信し、前記リアルタイムコントローラは、学習結果と入出力中継装置から転送される情報に基づいて演算することを特徴とする分散制御システム。
  12.  請求項8から請求項10のいずれか1項に記載の分散制御システムにより構成された産業機械。
PCT/JP2020/000848 2019-03-11 2020-01-14 リアルタイムコントローラおよびそれを用いた分散制御システム、産業機械 WO2020183888A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202080012335.9A CN113366394B (zh) 2019-03-11 2020-01-14 实时控制器及使用该实时控制器的分散控制系统、工业机械

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-043616 2019-03-11
JP2019043616A JP7156982B2 (ja) 2019-03-11 2019-03-11 リアルタイムコントローラおよびそれを用いた分散制御システム、産業機械

Publications (1)

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

Family

ID=72427229

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/000848 WO2020183888A1 (ja) 2019-03-11 2020-01-14 リアルタイムコントローラおよびそれを用いた分散制御システム、産業機械

Country Status (3)

Country Link
JP (1) JP7156982B2 (ja)
CN (1) CN113366394B (ja)
WO (1) WO2020183888A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61131122A (ja) * 1984-11-30 1986-06-18 Fujitsu Ltd 並列パイプライン処理装置
JPH09114503A (ja) * 1995-10-13 1997-05-02 Toshiba Corp 制御装置
JPH10301617A (ja) * 1997-04-24 1998-11-13 Hitachi Ltd 制御モデル構築支援装置およびその方法
JP2018073136A (ja) * 2016-10-28 2018-05-10 ファナック株式会社 機械学習装置及び加工時間予測装置
JP2019021186A (ja) * 2017-07-20 2019-02-07 横河電機株式会社 データ処理装置、制御システム、データ処理方法及びプログラム
JP2019028824A (ja) * 2017-08-01 2019-02-21 株式会社日立製作所 プラント制御装置およびその制御方法、圧延機制御装置およびその制御方法並びにプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5852817A (en) * 1991-08-14 1998-12-22 Kabushiki Kaisha Toshiba Intelligent control apparatus
JP5035383B2 (ja) * 1999-05-28 2012-09-26 富士電機株式会社 分散制御システム
JP2010191633A (ja) * 2009-02-17 2010-09-02 Nec Corp 学習ベクトル量子化学習システム、並列学習方法及びそのプログラム
US9576244B2 (en) * 2013-09-03 2017-02-21 Roger Midmore Methods and systems of four-valued simulation
JP6544219B2 (ja) * 2015-11-30 2019-07-17 オムロン株式会社 制御装置
JP6718834B2 (ja) * 2017-02-28 2020-07-08 株式会社日立製作所 学習システムおよび学習方法
JP6464220B2 (ja) * 2017-03-21 2019-02-06 ファナック株式会社 機械学習装置及び熱変位補正装置
JP6564412B2 (ja) * 2017-03-21 2019-08-21 ファナック株式会社 機械学習装置及び熱変位補正装置
JP6399136B1 (ja) * 2017-03-31 2018-10-03 オムロン株式会社 制御装置、制御プログラム、および制御システム
JP6897360B2 (ja) * 2017-06-21 2021-06-30 オムロン株式会社 制御装置、制御プログラムおよび制御システム
US10885026B2 (en) * 2017-07-29 2021-01-05 Splunk Inc. Translating a natural language request to a domain-specific language request using templates

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61131122A (ja) * 1984-11-30 1986-06-18 Fujitsu Ltd 並列パイプライン処理装置
JPH09114503A (ja) * 1995-10-13 1997-05-02 Toshiba Corp 制御装置
JPH10301617A (ja) * 1997-04-24 1998-11-13 Hitachi Ltd 制御モデル構築支援装置およびその方法
JP2018073136A (ja) * 2016-10-28 2018-05-10 ファナック株式会社 機械学習装置及び加工時間予測装置
JP2019021186A (ja) * 2017-07-20 2019-02-07 横河電機株式会社 データ処理装置、制御システム、データ処理方法及びプログラム
JP2019028824A (ja) * 2017-08-01 2019-02-21 株式会社日立製作所 プラント制御装置およびその制御方法、圧延機制御装置およびその制御方法並びにプログラム

Also Published As

Publication number Publication date
JP7156982B2 (ja) 2022-10-19
CN113366394A (zh) 2021-09-07
JP2020149100A (ja) 2020-09-17
CN113366394B (zh) 2023-10-10

Similar Documents

Publication Publication Date Title
CN104020728B (zh) 预测器在具有无线或间歇性过程测量的过程控制系统中的使用
CN103538065B (zh) 减振控制机器人系统
Hu et al. Event-driven networked predictive control
JP2020013622A (ja) プロセス制御システムにおける改善されたカルマンフィルタ
US8340790B2 (en) Methods and apparatus to adjust control loop timing in a process control system
US7904205B2 (en) Network opening method in manufacturing robots to a second network from a first network
CN101947789B (zh) 用于操作机械手的方法及装置
EP2820390A2 (en) Time-stamped emissions data collection for process control devices
KR20160125942A (ko) 프로그래머블 컨트롤러 시스템, 그 컨트롤러
CN103415817B (zh) 网络控制系统
JP2013149253A (ja) 非周期的に更新されるコントローラにおける設定点変更の補正方法
US20220147022A1 (en) Control system
JP7268940B2 (ja) 非周期的に更新されるコントローラにおける速度に基づく制御、プロセスを制御する方法、プロセスコントローラ
CN109421049A (zh) 机器人系统
KR20100085685A (ko) 다축 로봇 제어장치 및 그 방법
WO2020183888A1 (ja) リアルタイムコントローラおよびそれを用いた分散制御システム、産業機械
CN106133624B (zh) 减少控制回路中的控制器更新
US20220247632A1 (en) Control system, control device, and non-transitory computer-readable recording medium recording program
KR100267362B1 (ko) 예견제어장치
JP2014117787A (ja) 制御装置
JP5319167B2 (ja) 制御装置
JP6431492B2 (ja) 連携指示装置、連携指示プログラム及び連携指示方法
TW202228956A (zh) 用於表徵伺服控制機構的頻率響應診斷
CN110832411B (zh) 计算机更新试验辅助装置
CN114207534B (zh) 控制装置

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20770983

Country of ref document: EP

Kind code of ref document: A1