WO2015151277A1 - データ処理装置 - Google Patents

データ処理装置 Download PDF

Info

Publication number
WO2015151277A1
WO2015151277A1 PCT/JP2014/059981 JP2014059981W WO2015151277A1 WO 2015151277 A1 WO2015151277 A1 WO 2015151277A1 JP 2014059981 W JP2014059981 W JP 2014059981W WO 2015151277 A1 WO2015151277 A1 WO 2015151277A1
Authority
WO
WIPO (PCT)
Prior art keywords
time
data processing
unit
processing unit
processing
Prior art date
Application number
PCT/JP2014/059981
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 PCT/JP2014/059981 priority Critical patent/WO2015151277A1/ja
Priority to TW103116946A priority patent/TW201539161A/zh
Publication of WO2015151277A1 publication Critical patent/WO2015151277A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors

Definitions

  • the present invention relates to a technique for adjusting the timing of data processing.
  • a controller that is a control device and a device that is a controlled device such as a sensor or an actuator are connected via a network.
  • a controller that is a control device and a device that is a controlled device such as a sensor or an actuator are connected via a network.
  • a network For example, such an embedded system generally operates as follows (FIG. 13).
  • the controller creates a command message (hereinafter also simply referred to as a command) to be transmitted to the device by program processing. 2.
  • the controller transmits the created command message to the network (data update process).
  • the device operates based on a command message received from the controller, and feeds back (responds) the operation result and its own state to the controller. 4).
  • the controller receives a response message (hereinafter also simply referred to as a response) from the device, and reflects the result (data update process). 5.
  • the controller performs program processing with reference to the response message of the device, and creates a new command message. 6.2. Return to.
  • the controller does not consider the time until the device transmits a response message, and sequentially executes program processing and data update processing. That is, the device response, the controller program processing, and the data update processing are executed asynchronously.
  • the system may be migrated (transferred) for the purpose of diverting existing devices, such as replacing the controller hardware with a new one (updating) without changing the program ( FIG. 12).
  • existing devices such as replacing the controller hardware with a new one (updating) without changing the program ( FIG. 12).
  • the performance of the controller is improved, for example, the program processing time is shortened.
  • the response time of the device does not change.
  • the program processing time is shortened, but the device response time is changed. Absent.
  • Patent Document 1 In order to solve such a problem that the performance is deteriorated at the time of system migration or compatibility is lost, it is conceivable to use the technology disclosed in Patent Document 1 and Patent Document 2.
  • Patent Document 1 discloses that when a program processing time executed by a controller is shorter than a certain time, the program is executed after waiting for a certain time. In addition, it is disclosed that a first mode in which the next program is started immediately after the end of the program and a second mode in which the processing time of the program is set to a fixed time are made selectable. However, since the technique disclosed in Patent Document 1 is not a technique for the purpose of ensuring performance degradation or compatibility at the time of system migration, these are not considered.
  • Patent Document 2 the time required for each step of the program or the cumulative time required from the first step is specified, and when the actual operation ends before the specified time, the transition to the next step is stopped until the specified time. Is disclosed. Further, it is disclosed that the next step is executed immediately when no time is specified. However, since the technique disclosed in Patent Document 2 is not a technique for the purpose of ensuring performance degradation or compatibility at the time of system migration, these are not considered.
  • the present invention has been made in view of the above circumstances, and has as its main purpose to solve the problem of system performance deterioration due to shortening of data processing time or compatibility loss.
  • the data processing apparatus A data processing unit that alternately and repeatedly executes the first data processing and the second data processing;
  • the first processing time which is the time required for the first data processing, is reduced, and the data processing unit completes the first data processing earlier than before the reduction of the first processing time.
  • the second data processing by the data processing unit is suspended by deferring the start of the second data processing by the data processing unit.
  • a start timing adjusting unit that adjusts the start timing of the above.
  • the start of the second data processing is suspended and the start timing of the second data processing is adjusted. For this reason, even if the first processing time is shortened, it is possible to avoid a situation in which the performance of the system deteriorates or a situation in which compatibility is lost.
  • FIG. 3 is a diagram illustrating a configuration example of a controller according to Embodiment 1.
  • FIG. 3 is a diagram illustrating a comparison process of a controller according to the first embodiment.
  • FIG. 3 is a diagram illustrating an operation example of a controller and a device according to the first embodiment.
  • FIG. 10 is a diagram illustrating a comparison process of a controller according to the second embodiment.
  • FIG. 10 is a diagram illustrating an operation example of a controller and a device according to the second embodiment.
  • FIG. 10 is a diagram illustrating an operation example of a controller and a device according to the second embodiment.
  • FIG. 10 is a diagram illustrating an operation example of a controller and a device according to the second embodiment.
  • FIG. 10 is a diagram illustrating an operation example of a controller and a device according to the second embodiment.
  • FIG. 6 is a diagram showing a variation example of program processing time according to the first embodiment.
  • FIG. FIG. 3 is a diagram showing an example of a compatibility table according to the first embodiment.
  • FIG. 3 is a diagram illustrating a hardware configuration example of a controller according to the first and second embodiments.
  • Embodiment 1 FIG. (Description of configuration) An example of the internal configuration of the controller 100 according to the present embodiment is shown in FIG.
  • the controller 100 is connected to the device 500 via the network 200 as shown in FIG. 12, transmits a command message to the device 500, and receives a response message from the device 500.
  • the controller 100 corresponds to an example of a data processing device.
  • the program processing unit 101 repeatedly executes the recorded program. That is, the program processing unit 101 repeatedly executes the program processing and data update processing shown in FIG.
  • the program process corresponds to an example of the first data process
  • the data update process corresponds to an example of the second data process.
  • the time required for the program processing corresponds to an example of the first processing time
  • the time required for the data update processing corresponds to an example of the second processing time.
  • the program processing unit 101 corresponds to an example of a data processing unit.
  • the transmission / reception unit 102 records a command to be transmitted to the device, and transmits the command to the network 200. In addition, the transmission / reception unit 102 records the response received from the device, and transfers the response received from the device to the program processing unit 101.
  • the measurement unit 103 records the program processing time of the controller 100 before the system transition, the program processing time after the system transition, and the device response time.
  • the program processing time before system transition, the program processing time after system transition, and the device response time may be input to the controller 100 from the outside, or the program processing time after system transition and the device response time are actually
  • the measurement unit 103 may perform measurement during operation.
  • the comparison unit 104 determines a delay time to be inserted after the program processing.
  • the delay insertion unit 105 stores the delay time determined by the comparison unit 104, and inserts the delay time between the program process and the data update process. That is, the delay insertion unit 105 reduces the program processing time, which is the time required for the program processing, and when the program processing unit 101 completes the program processing earlier than before the reduction of the program processing time, Each time the program processing unit 101 completes the program processing, the start of the data update processing is suspended during the delay time, and the start timing of the data update processing by the program processing unit 101 is adjusted.
  • the delay insertion unit 105 corresponds to an example of a start timing adjustment unit.
  • the comparison unit 104 determines a delay time to be inserted (S102).
  • the comparison unit 104 determines a difference time between the program processing time of the new controller and the program processing time of the old controller as a delay time.
  • the delay insertion unit 105 stores the delay time determined by the comparison unit 104.
  • the delay insertion unit 105 inserts a delay time every time the program processing unit 101 completes the program processing.
  • the program processing unit 101 performs data update processing after the delay time has elapsed.
  • the delay insertion unit 105 causes the program processing unit 101 to start data update processing by outputting a signal for notifying the program processing unit 101 of the start of data update processing after the delay time has elapsed.
  • the program processing unit 101 executes a program having a conditional branch as shown in FIG. In the example of FIG. 9, any of execution pattern 1, execution pattern 2, and execution pattern 3 is executed by conditional branching.
  • the controller 100 has a compatibility table for managing the program execution time and the delay time for each execution pattern.
  • the compatibility table manages the following: 1) Program execution pattern 2) Program processing time in each execution pattern of old controller 3) Program processing time in each execution pattern of new controller 4) Delay time inserted in each execution pattern Program processing time in each execution pattern of new controller May be input from the outside, or may be measured by the measurement unit 103. Further, the comparison unit 104 determines the delay time to be inserted into each execution pattern as follows. (A) When it is desired to ensure performance compatibility with the old controller: Determine by the procedure of FIG. (B) When it is desired to shorten the effective command interval: Determined by the procedure of FIG. 4 of the second embodiment.
  • the comparison unit 104 determines the difference time between the program execution time of the old controller and the program execution time of the new controller as the delay time for each execution pattern. Then, every time the program processing unit 101 completes the program processing, the delay insertion unit 105 determines which of the execution patterns 1 to 3 is the completed program processing, and the execution executed by the program processing unit 101 A delay time corresponding to the pattern is selected, and the selected delay time is inserted before the data update processing.
  • the delay insertion unit 105 determines which of the execution patterns 1 to 3 is the completed program processing, and the execution executed by the program processing unit 101 A delay time corresponding to the pattern is selected, and the selected delay time is inserted before the data update processing.
  • Embodiment 2 A configuration example of the controller 100 in the present embodiment is the same as that in FIG.
  • the basic operation of the controller 100 according to the present embodiment will be described with reference to FIGS. As shown in FIG. 4, the following values are input to the measurement unit 103 of the controller 100, or the measurement unit 103 performs measurement to clarify the following values.
  • Program processing time of the new controller 2) Data update time of the new controller 3) Device response time
  • the program executed in the program processing according to the present embodiment may be different in each execution time.
  • the comparison unit 104 may determine the delay time for the program processing time of the longest execution pattern.
  • the comparison unit 104 determines a delay to be inserted.
  • the comparison unit 104 compares the sum of the program processing time and data update time of the new controller with the response time of the device (S202).
  • the comparison unit 104 uses the device response time and the new controller program processing as the delay time.
  • a time difference is set (S203).
  • the comparison unit 104 determines the delay time to be 0 (zero). Even when the program processing time of the new controller is longer than the response time of the device, the comparison unit 104 determines that the delay time is zero.
  • FIG. 5 shows an operation example when a delay time is inserted.
  • FIG. 6 shows an operation example when no delay time is inserted (when the delay time is 0).
  • the hatched portion is the delay time.
  • P indicates program processing
  • D indicates data update processing.
  • the comparison unit 104 calculates the delay time every time. That is, the delay insertion unit 105 measures the program processing time each time the program processing unit 101 executes the program processing, and calculates the delay time (holding time) by performing the determination of S202 of FIG. 4 using the measurement result. Then, the start of the subsequent data update process by the program processing unit 101 is suspended during the calculated delay time.
  • the controller 100 transmits a command to a plurality of devices at a data update timing.
  • the command transmission to a plurality of devices may be broadcast simultaneously like multicast or broadcast, or may be unicast for each device.
  • the procedure of the second embodiment may be applied based on the longest response time.
  • all the devices transmit a response to the command transmission of the controller 100 all at once or sequentially in response to the transmission of one command of the controller 100 as the transmission control method of the communication system is the token passing method
  • the procedure of the second embodiment may be applied based on the time until the response is transmitted.
  • the procedure of the second embodiment may be applied based on the response time of the device. .
  • the controller 100 is a computer, and each element of the controller 100 can be realized by a program.
  • an arithmetic device 901, an external storage device 902, a main storage device 903, a communication device 904, and an input / output device 905 are connected to the bus.
  • the arithmetic device 901 is a CPU (Central Processing Unit) that executes a program.
  • the external storage device 902 is, for example, a ROM (Read Only Memory), a flash memory, or a hard disk device.
  • the main storage device 903 is a RAM (Random Access Memory).
  • the communication device 904 corresponds to the physical layer of the transmission / reception unit 102.
  • the input / output device 905 is, for example, a mouse, a keyboard, a display device, or the like.
  • the program is normally stored in the external storage device 902, and is loaded into the main storage device 903 and sequentially read into the arithmetic device 901 and executed.
  • the program is a program that realizes the function described as “unit” shown in FIG.
  • an operating system (OS) is also stored in the external storage device 902. At least a part of the OS is loaded into the main storage device 903, and the arithmetic device 901 executes “OS” shown in FIG. ”Is executed.
  • determining”, “determining”, “measuring”, “adjusting”, “executing”, “determining”, “ Information, data, signal values, and variable values indicating the results of the processing described as “setting”, “comparison of”, and the like are stored in the main storage device 903 as files.
  • FIG. 11 is merely an example of the hardware configuration of the controller 100, and the hardware configuration of the controller 100 is not limited to the configuration illustrated in FIG. 11, and may be other configurations.
  • controller 101 program processing unit, 102 transmission / reception unit, 103 measurement unit, 104 comparison unit, 105 delay insertion unit, 200 network, 500 device.

Landscapes

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

Abstract

 プログラム処理部(101)は、プログラム処理とデータ更新処理とを交互に繰り返し実行する。遅延挿入部(105)は、プログラム処理に要する時間であるプログラム処理時間が短縮され、プログラム処理時間の短縮前に比べてプログラム処理部(101)がプログラム処理を早くに完了することになった場合に、プログラム処理部(101)がプログラム処理を完了する度に、データ更新処理の開始を保留させてプログラム処理部(101)によるデータ更新処理の開始タイミングを調整する。

Description

データ処理装置
 本発明は、データ処理のタイミングを調整する技術に関する。
 列車や発電所、あるいは工場等で使用される組み込みシステムは、制御装置であるコントローラと、センサやアクチュエータ等の被制御装置であるデバイスがネットワークで接続されている。
 このような組み込みシステムは、例えば、一般的には以下のように動作する(図13)。
1.コントローラは、プログラム処理によりデバイスに対して送信する指令メッセージ(以下、単に、指令ともいう)を作成する。
2.コントローラは、作成した指令メッセージをネットワークに送信する(データ更新処理)。
3.デバイスは、コントローラから受信した指令メッセージに基づいて動作し、動作した結果や自身の状態についてコントローラにフィードバック(応答)する。
4.コントローラは、デバイスからの応答メッセージ(以下、単に応答ともいう)を受信し、その結果を反映する(データ更新処理)。
5.コントローラは、デバイスの応答メッセージを参考に、プログラム処理を行い、新たな指令メッセージを作成する。
6.2.に戻る。
 なお、上記の例では、コントローラはデバイスが応答メッセージを送信するまでの時間を考慮しておらず、プログラム処理とデータ更新処理を逐次実行している。
 すなわち、デバイスの応答とコントローラのプログラム処理、データ更新処理は非同期に実行されている。
 以上のような組み込みシステムにおいて、プログラムは変更せずにコントローラのハードウェアを新しいものに取り換える(更新)等、既存のデバイスの流用を目的としたシステムのマイグレーション(移行)が行われることがある(図12)。
 このような場合、たとえばプログラム処理時間が短くなる等、コントローラの性能は向上するが、既存のデバイスを流用するため、デバイスの応答時間は変わらない。
 あるいは、ハードウェアの更新は行わなくとも、プログラムの改良(論理は変えずに、より高速な命令に置き換える等)を行った場合も、プログラムの処理時間は短くなるが、デバイスの応答時間は変わらない。
 コントローラのハードウェア更新や、プログラムの改良によるシステム移行を行った場合、一般的にはシステム全体として性能が向上することが期待される。
 しかしながら、デバイスの応答時間を考慮せずにシステム移行を行った場合、コントローラからデバイスに対して送信する、有効な指令の間隔(コントローラがプログラム処理した結果が反映された指令送信間隔)が延び、システムの性能が低下する、あるいはシステム移行後に互換性が損なわれるといった課題がある(図14)。
 このようなシステム移行時の性能劣化、あるいは互換性が損なわれるといった課題を解決するために、特許文献1や特許文献2で開示されている技術を活用することが考えられる。
 特許文献1では、コントローラが実行するプログラム処理時間が一定時間より短い場合、一定時間まで待ってからプログラムを実行することが開示されている。
 また、プログラムの終了後、ただちに次回のプログラムを開始する第1モードと、プログラムの処理時間を一定時間とする第2モードを持ち、選択できるようにすることが開示されている。
 ただし、特許文献1に開示の技術は、システム移行時の性能劣化や、互換性を確保することを目的とした技術ではないため、これらについては考慮されていない。
 特許文献2では、プログラムの各ステップの所要時間、または先頭ステップからの累積所要時間を指定し、実際の動作が指定時間以前に終了した場合は指定時間まで次のステップへの移行を停止することが開示されている。
 また、時間を指定しない場合はただちに次のステップを実行することが開示されている。
 ただし、特許文献2に開示の技術は、システム移行時の性能劣化や、互換性を確保することを目的とした技術ではないため、これらについては考慮されていない。
特開平3-77104号公報 特開平5-216519号公報
 本発明は、上記の事情に鑑みたものであり、データ処理時間の短縮によるシステムの性能劣化、または互換性が損なわれるといった課題を解決することを主な目的としている。
 本発明に係るデータ処理装置は、
 第1のデータ処理と第2のデータ処理とを交互に繰り返し実行するデータ処理部と、
 前記第1のデータ処理に要する時間である第1の処理時間が短縮され、前記第1の処理時間の短縮前に比べて前記データ処理部が前記第1のデータ処理を早くに完了することになった場合に、前記データ処理部が前記第1のデータ処理を完了する度に、前記データ処理部による前記第2のデータ処理の開始を保留させて前記データ処理部による前記第2のデータ処理の開始タイミングを調整する開始タイミング調整部とを有することを特徴とする。
 本発明では、第1の処理時間が短縮された場合に、第2のデータ処理の開始を保留させて第2のデータ処理の開始タイミングを調整する。
 このため、第1の処理時間が短縮されても、システムの性能が劣化する事態や互換性が損なわれる事態を回避することができる。
実施の形態1に係るコントローラの構成例を示す図。 実施の形態1に係るコントローラの比較処理を示す図。 実施の形態1に係るコントローラとデバイスの動作例を示す図。 実施の形態2に係るコントローラの比較処理を示す図。 実施の形態2に係るコントローラとデバイスの動作例を示す図。 実施の形態2に係るコントローラとデバイスの動作例を示す図。 実施の形態2に係るコントローラとデバイスの動作例を示す図。 実施の形態1に係るプログラム処理時間の変動例を示す図。 実施の形態1に係る条件分岐のあるプログラムの例を示す図。 実施の形態1に係る互換テーブルの例を示す図。 実施の形態1及び2に係るコントローラのハードウェア構成例を示す図。 システム移行の一例を示す図。 システムの基本動作例を示す図。 システム移行により性能が劣化する例を示す図。
 実施の形態1.
(構成の説明)
 本実施の形態に係るコントローラ100の内部構成例を図1に示す。
 コントローラ100は、図12に示すようにネットワーク200を介してデバイス500と接続され、デバイス500に対して指令メッセージを送信し、また、デバイス500から応答メッセージを受信する。
 なお、コントローラ100は、データ処理装置の例に相当する。
 コントローラ100において、プログラム処理部101は、記録したプログラムを繰り返し実行する。
 つまり、プログラム処理部101は、図13に示したプログラム処理とデータ更新処理を繰り返し実行する。
 なお、プログラム処理は第1のデータ処理の例に相当し、データ更新処理は第2のデータ処理の例に相当する。
 プログラム処理に要する時間は第1の処理時間の例に相当し、データ更新処理に要する時間は第2の処理時間の例に相当する。
 また、プログラム処理部101は、データ処理部の例に相当する。
 送受信部102は、デバイスに送信する指令を記録し、指令をネットワーク200に送信する。
 また、送受信部102は、デバイスから受信した応答を記録し、デバイスから受信した応答をプログラム処理部101に転送する。
 計測部103は、システム移行前のコントローラ100のプログラム処理時間、システム移行後のプログラム処理時間、デバイスの応答時間を記録する。
 システム移行前のプログラム処理時間、システム移行後のプログラム処理時間、デバイスの応答時間は、外部からコントローラ100に入力してもよいし、システム移行後のプログラム処理時間とデバイスの応答時間に関しては実際に動作する中で計測部103が測定してもよい。
 比較部104は、プログラム処理の後に挿入する遅延時間を決定する。
 遅延挿入部105は、比較部104により決定された遅延時間を記憶し、プログラム処理とデータ更新処理の間に遅延時間を挿入する。
 つまり、遅延挿入部105は、プログラム処理に要する時間であるプログラム処理時間が短縮され、プログラム処理時間の短縮前に比べてプログラム処理部101がプログラム処理を早くに完了することになった場合に、プログラム処理部101がプログラム処理を完了する度に、遅延時間の間、データ更新処理の開始を保留させてプログラム処理部101によるデータ更新処理の開始タイミングを調整する。
 遅延挿入部105は、開始タイミング調整部の例に相当する。
(動作の説明)
 図2、図3を参照しながら本実施の形態に係る基本動作を説明する。
 図2に示す通り、コントローラの計測部103に以下の値を入力する、あるいは計測部103が測定を行って以下の値を明らかにする(S101)。
 1)旧コントローラのプログラム処理時間
 2)新コントローラのプログラム処理時間
 なお、本実施の形態に係るプログラム処理で実行されるプログラムは、毎回の実行時間がほぼ同じであるようなプログラムであるとする。
 次に、比較部104が、挿入する遅延時間を決定する(S102)。
 本実施の形態では、比較部104は、新コントローラのプログラム処理時間と、旧コントローラのプログラム処理時間の差の時間を遅延時間として決定する。
 遅延挿入部105は、比較部104により決定された遅延時間を記憶する。
 そして、遅延挿入部105は、図3に示す通り、プログラム処理部101がプログラム処理を完了する度に、遅延時間を挿入する。
 これにより、プログラム処理部101は、遅延時間の経過後にデータ更新処理を行うことになる。
 遅延挿入部105は、例えば、遅延時間の経過後に、プログラム処理部101に対してデータ更新処理の開始を通知する信号を出力することにより、プログラム処理部101にデータ更新処理を開始させる。
(実施の形態1における効果)
 本実施の形態によれば、システム移行によりプログラム処理時間が短くなった場合でも、旧コントローラと同じタイミングでシステムを動作させることができるため、性能の劣化無く、互換性を確保してシステム移行が可能である。
(変形例)
 図8に示すように、プログラム処理時間が変動する場合の動作について説明する。
 図8では、プログラム処理時間が一定ではない。
 プログラムには一般に条件分岐があり、条件によってはプログラムが短時間で終了することもあるし、長時間かかる場合もある。
 前提として、本実施の形態ではシステム移行前後で同じプログラムが使用されているものとする。
 本実施の形態に係るプログラム処理部101は、図9に示すような条件分岐があるプログラムを実行するものとする。
 図9に例では、条件分岐により実行パターン1、実行パターン2、実行パターン3のいずれが実行される。
 コントローラ100は、図10に示すように、実行パターンごとに、プログラム実行時間と遅延時間を管理する互換テーブルを持つ。
 互換テーブルでは、以下が管理される。
 1)プログラムの実行パターン
 2)旧コントローラの各実行パターンにおけるプログラム処理時間
 3)新コントローラの各実行パターンにおけるプログラム処理時間
 4)各実行パターンで挿入する遅延時間
 新コントローラの各実行パターンにおけるプログラム処理時間は、外部から入力してもよいし、計測部103が測定してもよい。
 また、比較部104は、各実行パターンに挿入する遅延時間を、以下の通り決定する。
 (a)旧コントローラと性能的な互換性を確保したい場合:図2の手順により決定する。
 (b)有効な指令の間隔を短くしたい場合:実施の形態2の図4の手順により決定する。
 つまり、上記(a)では、比較部104は、実行パターンごとに、旧コントローラのプログラム実行時間と新コントローラのプログラム実行時間との差の時間を、遅延時間として決定する。
 そして、遅延挿入部105は、プログラム処理部101がプログラム処理を完了する度に、完了したプログラム処理が実行パターン1~3のうちのいずれであるかを判定し、プログラム処理部101が実行した実行パターンに対応する遅延時間を選択し、選択した遅延時間をデータ更新処理の前に挿入する。
 なお、上記(b)については、実施の形態2で説明する。
 以上のようにすることで、プログラム処理時間が変動するシステムにおいても、システム移行時に、性能が劣化せず、また、互換性を損なうことがない。
 実施の形態2.
(構成の説明)
 本実施の形態におけるコントローラ100の構成例は、図1と同じである。
(動作の説明)
 図4~図6を参照しながら本実施の形態に係るコントローラ100の基本動作を説明する。
 図4に示す通り、コントローラ100の計測部103に以下の値を入力する、あるいは計測部103が測定を行って以下の値を明らかにする。
 1)新コントローラのプログラム処理時間
 2)新コントローラのデータ更新時間
 3)デバイスの応答時間
 なお、本実施の形態に係るプログラム処理で実行されるプログラムは、毎回の実行時間が異なってもよい。
 条件分岐等によりプログラム処理時間が変動する場合、最も長い実行パターンのプログラム処理時間に対して比較部104が遅延時間を決定するようにするとよい。
 次に、比較部104が、挿入する遅延を決定する。
 本実施の形態では、比較部104は、新コントローラのプログラム処理時間とデータ更新時間の和と、デバイスの応答時間を比較する(S202)。
 比較した結果、新コントローラのプログラム処理時間とデータ更新時間の和がデバイスの応答時間よりも大きい場合(S202でYES)は、比較部104は、遅延時間としてデバイスの応答時間と新コントローラのプログラム処理時間の差の時間を設定する(S203)。
 新コントローラのプログラム処理時間とデータ更新時間の和がデバイスの応答時間よりも大きくない場合(S202でNO)は、比較部104は、遅延時間を0(ゼロ)と決定する。
 なお、デバイスの応答時間よりも、新コントローラのプログラム処理時間が大きい場合にも、比較部104は、遅延時間を0と決定する。
 図5は、遅延時間を挿入した場合の動作例を示す。
 図6は、遅延時間を挿入しない場合(遅延時間が0の場合)の動作例を示す。
 図5においてハッチング表示している部分が遅延時間である。
 また、図6では、「P」がプログラム処理を示し、「D」がデータ更新処理を示している。
 なお、プログラム処理時間が変動する場合は、挿入する遅延時間はプログラム処理時間ごとに異なるため、比較部104は、毎回遅延時間を計算する。
 つまり、遅延挿入部105は、プログラム処理部101がプログラム処理を実行する度に、プログラム処理時間を計測し、計測結果を用いて図4のS202の判定を行って遅延時間(保留時間)を算出し、算出した遅延時間の間、プログラム処理部101による後続のデータ更新処理の開始を保留させる。
(実施の形態2における効果)
 本実施の形態により、システム移行によりプログラム処理時間が短くなった場合でも、システムの性能が劣化することなく、確実にシステム全体の性能向上(ここでは、デバイスに対する有効な指令の間隔が短くなることを意図する)させることができる。
 (変形例)
 ここでは、図7に示すようにデバイスが複数接続されている場合の、デバイスの応答時間の決定方法に関して説明する。
 図7の例では、コントローラ100はデータ更新のタイミングで複数のデバイスに対して指令を送信する。
 これは、複数のデバイスへの指令の送信は、マルチキャストやブロードキャストのように一斉同報でもよいし、デバイスごとのユニキャストでもよい。
 デバイスからの応答が個々のデバイスのタイミングで送信される場合、最も大きい応答時間を基準に実施の形態2の手順を適用すればよい。
 また、通信システムの伝送制御方式がトークンパッシング方式のように、コントローラ100の1回の指令の送信に対して、すべてのデバイスが一斉に、あるいは順番に応答を送信する場合は、すべてのデバイスから応答が送信されるまでの時間を基準に実施の形態2の手順を適用すればよい。
 また、システムとして、性能に与える影響が大きいデバイス、すなわち有効な指令の間隔を特に短くしたいデバイスが存在する場合は、そのデバイスの応答時間を基準として実施の形態2の手順を適用してもよい。
 以上、本発明の実施の形態について説明したが、これらの実施の形態のうち、2つ以上を組み合わせて実施しても構わない。
 あるいは、これらの実施の形態のうち、1つを部分的に実施しても構わない。
 あるいは、これらの実施の形態のうち、2つ以上を部分的に組み合わせて実施しても構わない。
 なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
 最後に、実施の形態1及び2に示したコントローラ100のハードウェア構成例を図11を参照して説明する。
 コントローラ100はコンピュータであり、コントローラ100の各要素をプログラムで実現することができる。
 コントローラ100のハードウェア構成としては、バスに、演算装置901、外部記憶装置902、主記憶装置903、通信装置904、入出力装置905が接続されている。
 演算装置901は、プログラムを実行するCPU(Central Processing Unit)である。
 外部記憶装置902は、例えばROM(Read Only Memory)やフラッシュメモリ、ハードディスク装置である。
 主記憶装置903は、RAM(Random Access Memory)である。
 通信装置904は、送受信部102の物理層に対応する。
 入出力装置905は、例えばマウス、キーボード、ディスプレイ装置等である。
 プログラムは、通常は外部記憶装置902に記憶されており、主記憶装置903にロードされた状態で、順次演算装置901に読み込まれ、実行される。
 プログラムは、図1に示す「~部」として説明している機能を実現するプログラムである。
 更に、外部記憶装置902にはオペレーティングシステム(OS)も記憶されており、OSの少なくとも一部が主記憶装置903にロードされ、演算装置901はOSを実行しながら、図1に示す「~部」の機能を実現するプログラムを実行する。
 また、実施の形態1及び2の説明において、「~の判断」、「~の判定」、「~の計測」、「~の調整」、「~の実行」、「~の決定」、「~の設定」、「~の比較」等として説明している処理の結果を示す情報やデータや信号値や変数値が主記憶装置903にファイルとして記憶されている。
 なお、図11の構成は、あくまでもコントローラ100のハードウェア構成の一例を示すものであり、コントローラ100のハードウェア構成は図11に記載の構成に限らず、他の構成であってもよい。
 100 コントローラ、101 プログラム処理部、102 送受信部、103 計測部、104 比較部、105 遅延挿入部、200 ネットワーク、500 デバイス。

Claims (8)

  1.  第1のデータ処理と第2のデータ処理とを交互に繰り返し実行するデータ処理部と、
     前記第1のデータ処理に要する時間である第1の処理時間が短縮され、前記第1の処理時間の短縮前に比べて前記データ処理部が前記第1のデータ処理を早くに完了することになった場合に、前記データ処理部が前記第1のデータ処理を完了する度に、前記データ処理部による前記第2のデータ処理の開始を保留させて前記データ処理部による前記第2のデータ処理の開始タイミングを調整する開始タイミング調整部とを有することを特徴とするデータ処理装置。
  2.  前記開始タイミング調整部は、
     短縮前の第1の処理時間から短縮後の第1の処理時間を減算して得られる時間の間、前記データ処理部による前記第2のデータ処理の開始を保留させることを特徴とする請求項1に記載のデータ処理装置。
  3.  前記データ処理部は、
     前記第2のデータ処理としてデバイスに指令メッセージを送信する処理を実行し、
     前記開始タイミング調整部は、
     前記指令メッセージの送信から前記指令メッセージに応答する応答メッセージの前記デバイスからの受信までの時間である応答時間から短縮後の第1の処理時間を減算して得られる時間の間、前記データ処理部による前記第2のデータ処理の開始を保留させることを特徴とする請求項1に記載のデータ処理装置。
  4.  前記開始タイミング調整部は、
     前記第1の処理時間と前記第2のデータ処理に要する時間である第2の処理時間とが短縮された場合に、短縮後の第1の処理時間と短縮後の第2の処理時間との和が前記応答時間を超えるか否かを判断し、
     前記短縮後の第1の処理時間と前記短縮後の第2の処理時間との和が前記応答時間を超える場合に、前記応答時間から前記短縮後の第1の処理時間を減算して得られる時間の間、前記データ処理部による前記第2のデータ処理の開始を保留させることを特徴とする請求項3に記載のデータ処理装置。
  5.  前記データ処理部は、
     前記第2のデータ処理として複数のデバイスに前記指令メッセージを送信する処理を実行し、
     前記開始タイミング調整部は、
     前記複数のデバイスのうちのいずれかのデバイスの応答時間から前記短縮後の第1の処理時間を減算して得られる時間の間、前記データ処理部による前記第2のデータ処理の開始を保留させることを特徴とする請求項3に記載のデータ処理装置。
  6.  前記データ処理部は、
     前記第2のデータ処理として複数のデバイスに指令メッセージを送信する処理を実行し、
     前記開始タイミング調整部は、
     前記指令メッセージの送信から前記指令メッセージに応答する応答メッセージの前記複数の全てのデバイスからの受信までの時間である応答時間から短縮後の第1の処理時間を減算して得られる時間の間、前記データ処理部による前記第2のデータ処理の開始を保留させることを特徴とする請求項1に記載のデータ処理装置。
  7.  前記データ処理部は、
     前記第1のデータ処理として、複数パターンのデータ処理を実行し、
     前記開始タイミング調整部は、
     前記第1のデータ処理のパターンごとに、前記第2のデータ処理の開始を保留させる時間を保留時間として記憶しており、
     前記データ処理部が前記第1のデータ処理を実行する度に、前記データ処理部が実行した前記第1のデータ処理のパターンに対応する保留時間を選択し、選択した保留時間の間、前記データ処理部による後続の第2のデータ処理の開始を保留させることを特徴とする請求項1に記載のデータ処理装置。
  8.  前記開始タイミング調整部は、
     前記第1の処理時間が可変である場合に、前記データ処理部が前記第1のデータ処理を実行する度に、前記第1の処理時間を計測し、計測結果に基づき、後続の第2のデータ処理の開始を保留させる時間を保留時間として算出し、算出した保留時間の間、前記データ処理部による後続の第2のデータ処理の開始を保留させることを特徴とする請求項1に記載のデータ処理装置。
PCT/JP2014/059981 2014-04-04 2014-04-04 データ処理装置 WO2015151277A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2014/059981 WO2015151277A1 (ja) 2014-04-04 2014-04-04 データ処理装置
TW103116946A TW201539161A (zh) 2014-04-04 2014-05-14 資料處理裝置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/059981 WO2015151277A1 (ja) 2014-04-04 2014-04-04 データ処理装置

Publications (1)

Publication Number Publication Date
WO2015151277A1 true WO2015151277A1 (ja) 2015-10-08

Family

ID=54239637

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/059981 WO2015151277A1 (ja) 2014-04-04 2014-04-04 データ処理装置

Country Status (2)

Country Link
TW (1) TW201539161A (ja)
WO (1) WO2015151277A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233645A (ja) * 1992-02-18 1993-09-10 Nippon Telegr & Teleph Corp <Ntt> 構造化システム処理時間見積り装置
JP2011145732A (ja) * 2010-01-12 2011-07-28 Yokogawa Electric Corp タイミング制御装置、タイミング制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233645A (ja) * 1992-02-18 1993-09-10 Nippon Telegr & Teleph Corp <Ntt> 構造化システム処理時間見積り装置
JP2011145732A (ja) * 2010-01-12 2011-07-28 Yokogawa Electric Corp タイミング制御装置、タイミング制御方法

Also Published As

Publication number Publication date
TW201539161A (zh) 2015-10-16

Similar Documents

Publication Publication Date Title
JP4707603B2 (ja) リアルタイムosにおける処理時間配分方法
JP6600518B2 (ja) バスシステム
JP4606493B2 (ja) コンピュータシステムの時刻管理制御方法及びコンピュータシステム
JP6297232B2 (ja) データ処理装置、データ処理方法及びデータ処理プログラム
KR102685982B1 (ko) 제어기를 작동시키기 위한 방법 및 장치
CN103595653A (zh) 一种缓存分配方法、装置及设备
JP2006338538A (ja) ストリームプロセッサ
CN104317716B (zh) 分布式节点间的数据传输方法及分布式节点设备
JP2014165748A (ja) 処理装置、及び処理装置の制御方法
US9448845B2 (en) Extendible input/output data mechanism for accelerators
EP2693343B1 (en) Parallel processing system and parallel processing system operation method
US9477458B2 (en) Dynamic timeout determination for microcontroller management of firmware updates
WO2015151277A1 (ja) データ処理装置
JP6717184B2 (ja) 車載制御装置
US10324777B2 (en) Register-based communications interface
US10068639B2 (en) Out-of-place presetting based on indirection table
JP2015156196A (ja) マイクロコンピュータ
JP5838865B2 (ja) 2つのプロセッサ間においてメッセージの通行を制御するためのシステム及び方法
KR20140042420A (ko) 반도체 장치 및 그 동작 방법
JP2011170669A (ja) メモリ書き込みシステム及び方法
US8639860B2 (en) Data transfer system and data transfer method
JP2014160367A (ja) 演算処理装置
JP2023019192A (ja) ソフトウェア更新制御システム
CN116610259A (zh) 一种基于固态硬盘的写数据方法、系统、存储介质及设备
JP5334173B2 (ja) データ転送システム及びリトライ制御方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14888511

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP