JP6797588B2 - Verification system - Google Patents
Verification system Download PDFInfo
- Publication number
- JP6797588B2 JP6797588B2 JP2016144664A JP2016144664A JP6797588B2 JP 6797588 B2 JP6797588 B2 JP 6797588B2 JP 2016144664 A JP2016144664 A JP 2016144664A JP 2016144664 A JP2016144664 A JP 2016144664A JP 6797588 B2 JP6797588 B2 JP 6797588B2
- Authority
- JP
- Japan
- Prior art keywords
- verification
- unit
- program
- calculation
- mode
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Landscapes
- Programmable Controllers (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Description
本発明の実施形態は、検証システムに関する。 Embodiments of the present invention relates to a verification system.
従来から、プラント、フィールド機器等を監視・制御する制御装置(制御システム)は、生産性やアベイラビリティの観点から、連続運転が求められている。しかし、制御装置のプログラムにバグや脆弱性が発見された場合にはプログラムを更新する必要があり、一般的に、プログラムを更新している間は、制御装置を停止する必要がある。また、プログラムを更新した後、そのプログラムが適正に動作することを検証する必要もある。 Conventionally, control devices (control systems) that monitor and control plants, field equipment, etc. have been required to operate continuously from the viewpoint of productivity and availability. However, if a bug or vulnerability is found in the controller program, the program needs to be updated, and in general, the controller needs to be stopped while the program is being updated. It is also necessary to verify that the program works properly after updating the program.
しかしながら、従来技術において、制御装置を停止することなくプログラムの更新と検証を行うことができるものはない。 However, in the prior art, there is nothing that can update and verify a program without stopping the control device.
そこで、本発明は、このような状況に鑑みてなされたものであり、制御装置を停止させることなくプログラムの更新と検証を行うことを課題とする。 Therefore, the present invention has been made in view of such a situation, and an object of the present invention is to update and verify a program without stopping the control device.
実施形態の検証システムは、複数の演算部を有する制御装置と、前記制御装置のプログラムを更新する際に、前記複数の演算部のうち1つの演算部の前記プログラムの更新および動作の検証を実施した後、検証結果が適正であれば、残りの前記演算部についても順次、前記プログラムの更新および動作の検証を実施する検証装置と、を備える。前記制御装置は、現在の動作モードが通常モードと検証モードのいずれであるのかを格納するモード格納部と、前記動作モードに応じて、外部からの入力データの入力先を前記複数の演算部の少なくともいずれかに切り替える入力動作切替部と前記動作モードに応じて、前記複数の演算部それぞれの演算結果の出力先を制御信号出力部と検証結果出力部のいずれかに切り替える出力動作切替部と前記出力動作切替部から受け取った前記演算結果である制御信号を被制御装置に出力する前記制御信号出力部と、前記出力動作切替部から受け取った前記演算結果である検証結果を前記検証装置に出力する前記検証結果出力部と、を備え、前記検証装置は、前記制御装置が使用する前記プログラム、更新プログラムを格納するとともに、検証用データと、前記制御装置から受信した検証結果と、を格納する記憶部と、前記制御装置のプログラムを更新する際に前記モード格納部が前記検証モードに遷移した場合、前記複数の演算部のうち1つの演算部に対して、前記更新プログラムを送信するとともに、前記検証用データによる動作の検証を実施した後、検証結果が適正であれば、残りの前記演算部についても順次、前記更新プログラムを送信するとともに、前記検証用データによる動作の検証を実施する検証部と、を備える。 The verification system of the embodiment implements a control device having a plurality of calculation units, and when updating a program of the control device, updates the program of one of the plurality of calculation units and verifies the operation. After that, if the verification result is appropriate, the remaining arithmetic units are also provided with a verification device that sequentially updates the program and verifies the operation. The control device has a mode storage unit that stores whether the current operation mode is a normal mode or a verification mode, and the plurality of arithmetic units that input data from the outside according to the operation mode. An input operation switching unit that switches to at least one of them, and an output operation switching unit that switches the output destination of the calculation result of each of the plurality of arithmetic units to either a control signal output unit or a verification result output unit according to the operation mode. The control signal output unit that outputs the control signal that is the calculation result received from the output operation switching unit to the controlled device and the verification result that is the calculation result received from the output operation switching unit are output to the verification device. A storage including the verification result output unit, the verification device stores the program and the update program used by the control device, and stores the verification data and the verification result received from the control device. When the mode storage unit transitions to the verification mode when updating the program of the control device and the unit, the update program is transmitted to one of the plurality of arithmetic units and the update program is transmitted. After verifying the operation with the verification data, if the verification result is appropriate, the verification unit that sequentially sends the update program to the remaining arithmetic units and verifies the operation with the verification data. And.
以下、実施形態の検証システムおよび検証方法について、図面を参照して説明する。まず、図1〜図8を参照して第1実施形態について説明し、次に、図9〜図16を参照して第2実施形態について説明する。 Hereinafter, the verification system and the verification method of the embodiment will be described with reference to the drawings. First, the first embodiment will be described with reference to FIGS. 1 to 8, and then the second embodiment will be described with reference to FIGS. 9 to 16.
(第1実施形態)
図1は、第1実施形態の検証システムSの構成例を示すブロック図である。検証システムSは、制御装置1、検証装置2、被制御装置3、および、検出装置4を備えている。
(First Embodiment)
FIG. 1 is a block diagram showing a configuration example of the verification system S of the first embodiment. The verification system S includes a
制御装置1は、プラント、フィールド機器等を監視・制御するコンピュータ装置であって、通信部101、入力動作切替部102、第1演算部103、第2演算部104、第1記憶部105、第2記憶部106、出力動作切替部107、制御信号出力部108、検証結果出力部109、モード格納部110、および、検出信号入力部111を備える。
The
通信部101は、検証装置2との間でデータの送受信を行うためのインタフェースである。入力動作切替部102は、通信部101、第1演算部103、第2演算部104と接続され、モード格納部110を参照して動作モード(通常モード、検証モードのいずれか)に応じてデータの経路を第1演算部103、第2演算部104の間で切り替える。なお、検証モードとは、制御装置1が被制御装置3の制御を行いながら、検証装置2が制御装置1の更新プログラムの検証を行うモードである。また、通常モードとは、検証モード以外で制御装置1が被制御装置3の制御を行うモードである。
The
第1演算部103は、第1記憶部105に格納された制御プログラム等に基づき、入力情報に対する演算結果を出力する。第1記憶部105は、制御プログラム等を記憶する記憶手段である。
The
第2演算部104は、第2記憶部106に格納された制御プログラム等に基づき、入力情報に対する演算結果を出力する。第2記憶部106は、制御プログラム等を記憶する記憶手段である。なお、以下において、第1演算部103と第2演算部104を特に区別しないときは、符号無しで単に「演算部」と記載する場合もある。
The
出力動作切替部107は、第1演算部103、第2演算部104と接続され、モード格納部110を参照して動作モードに応じてそれらの演算結果の出力先を制御信号出力部108と検証結果出力部109のいずれかに切り替える。
The output
制御信号出力部108は、出力動作切替部107から受け取った演算結果である制御信号を被制御装置3に出力する。検証結果出力部109は、出力動作切替部107から受け取った演算結果である検証結果を検証装置2に出力(送信)する。
The control
モード格納部110は、現在の動作モードが通常モードと検証モードのいずれであるのかを格納する。制御装置1は、モード格納部110の状態により、通常モードと検証モードの大きく2種類の異なる動作を行う。例えば、モード格納部110が通常モードから検証モードへ遷移すると、入力動作切替部102は、モード格納部110を参照して、検証装置2から受信した検証用データを更新対象の演算部にのみ入力するようにデータの経路を切り替える。また、出力動作切替部107は、モード格納部110を参照して、更新対象の演算部の検証結果を検証結果出力部109へ出力するようデータの経路を切り替える。
The
なお、モード格納部110に保持される動作モードは、ユーザ端末(不図示)や検証装置2からの伝送情報によって変化してもよいし、また、DIPスイッチなどの物理的切り替えによって変化してもよい。検出信号入力部111は、検出装置4からの入力情報を受信する。
The operation mode held in the
検証装置2は、制御装置1のプログラムを更新する際に、第1演算部103と第2演算部104のうち一方のプログラムの更新および動作の検証を実施した後、検証結果が適正であれば、他方についてもプログラムの更新および動作の検証を実施するコンピュータ装置である。検証装置2は、通信部21、検証信号入力部22、検証部23、および、記憶部24を備える。
When the
通信部21は、制御装置1との間でデータの送受信を行うためのインタフェースである。検証信号入力部22は、制御装置1から出力された検証信号を入力する。
The
検証部23は、制御装置1のプログラムを更新する際にモード格納部110が検証モードに遷移した場合、第1演算部103と第2演算部104の一方に対して、更新プログラムを送信するとともに、検証用データによる動作の検証を実施した後、検証結果が適正であれば、他方についても、更新プログラムを送信するとともに、検証用データによる動作の検証を実施する。また、例えば、検証部23は、演算部の検証結果について、出力値とタイミングのそれぞれが適正であるか否かを判定する。
When the
また、例えば、検証部23は、更新対象の演算部に対して、検証用データとして異常系テストのデータを送信し、当該演算部が異常系テストの出力値に対応して送信したエラーコードに基づいて、当該演算部の動作が適正か否かを判定する。また、例えば、検証部23は、更新対象の演算部に対して、更新後の動作が不適正だと判定した場合には、更新前プログラムを再度配信する。
Further, for example, the
記憶部24は、プログラム、更新プログラム、検証用データ、正常系適正値データ、異常系適正値データ、検証結果等を格納する。
The
プログラム(更新前プログラム)と更新プログラムは、制御装置1によって使用される。検証用データは、正常系検証用データと異常系検証用データとから構成される。正常系検証用データとは、正常系テストで検証用に用いられるデータである。正常系テストとは、正常な入力に対して適正な出力がされるかを調べるテストである。
The program (pre-update program) and the update program are used by the
一方、異常系検証用データとは、異常系テストで検証用に用いられるデータである。異常系テストとは、異常な入力に対して適正な出力(例えば適正なエラーコードの出力)がされるかを調べるテストである。 On the other hand, the abnormal system verification data is data used for verification in the abnormal system test. The abnormal system test is a test for checking whether an appropriate output (for example, an output of an appropriate error code) is output for an abnormal input.
正常系適正値データは、正常系テストの正解データであり、つまり、正常系テストに関して適正か否かを判定するためのデータである。異常系適正値データは、異常系テストの正解データであり、つまり、異常系テストに関して適正か否かを判定するためのデータである。検証結果は、正常系テストの結果、および、異常系テストの結果である。 The normal system appropriate value data is the correct answer data of the normal system test, that is, the data for determining whether or not the normal system test is appropriate. The abnormal system appropriate value data is the correct answer data of the abnormal system test, that is, the data for determining whether or not the abnormal system test is appropriate. The verification results are the results of the normal system test and the results of the abnormal system test.
被制御装置3は、制御装置1によって制御される装置である。検出装置4は、検出信号を出力する各種のセンサである。
The controlled
次に、検証システムSの通常モード時の動作について説明する。図2は、第1実施形態の検証システムSの通常モード時の動作の説明図である。通常モードでは、入力動作切替部102は、検出装置4からのDI(Digital Input)やAI(Analog Input)といったデータ入力情報を検出信号入力部111経由で受け取ると(S1、S2)、第1演算部103と第2演算部104の両方へ転送する(S3,S4)。
Next, the operation of the verification system S in the normal mode will be described. FIG. 2 is an explanatory diagram of the operation of the verification system S of the first embodiment in the normal mode. In the normal mode, when the input
第1演算部103は、この入力値(データ入力情報)を用いて、第1記憶部105に格納された制御プログラムに基づき演算し、演算結果を出力動作切替部107に送る(S5)。また、第2演算部104は、この入力値(データ入力情報)を用いて、第2記憶部106に格納された制御プログラム(第1記憶部105に格納された制御プログラムと同じ)に基づき演算し、演算結果を出力動作切替部107に送る(S6)。
The
出力動作切替部107は、受け取った演算結果を制御信号出力部108に送る(S7)。このとき、出力動作切替部107は、受け取った演算結果の二重化比較照合や、先着優先処理などのデータ選択処理を実施してもよい。次に、制御信号出力部108は、演算結果(制御信号)を被制御装置3に送信する(S8)。被制御装置3(アクチュエータなど)は、受信した演算結果(制御信号)によって制御される。なお、通常モードでは、検証装置2は、使用されないため、除外してもよい。
The output
次に、検証システムSの検証モード時の動作について説明する。図3は、第1実施形態の検証システムSの検証モード時の動作の説明図である。ユーザは、制御装置1のプログラムを更新する場合、モード格納部110の動作モードを通常モードから検証モードに切り替える。これによって、入力動作切替部102と出力動作切替部107がデータの経路を切り替える。
Next, the operation of the verification system S in the verification mode will be described. FIG. 3 is an explanatory diagram of the operation of the verification system S of the first embodiment in the verification mode. When updating the program of the
まず、通常モードと同様の動作は、第1演算部103が実行する(S1→S2→S3→S5→S7→S8)。
First, the
一方、プログラムの更新、検証の動作時のデータの流れは、図3の破線で示す通りである。以下、図4を参照して具体的に説明する。図4は、第1実施形態の検証システムSの動作例を示すフローチャートである。 On the other hand, the data flow during program update and verification operations is as shown by the broken line in FIG. Hereinafter, a specific description will be given with reference to FIG. FIG. 4 is a flowchart showing an operation example of the verification system S of the first embodiment.
まず、検証装置2の検証部23は、記憶部24に格納された更新プログラムを制御装置1の第2演算部104に送信する(S101)。第2演算部104は、その更新プログラムを受信(ダウンロード)する(S102)。
First, the
次に、検証部23は、S103〜S108で正常系テストを実行する。具体的には、検証部23は、記憶部24に格納された正常系検証用データ(検出装置4からの検出信号を模したデータ)を第2演算部104に送信する(S103)。第2演算部104はその正常系検証用データを受信する(S104)。次に、第2演算部104は、更新プログラムと正常系検証用データを用いて制御演算を実行し(S105)、演算結果を検証装置2に出力する(S106)。検証装置2はその演算結果を受信する(S107)。
Next, the
次に、検証部23は、受信した演算結果を用いて正常系比較検証して(S108)、図5に示す検証結果(正常系テストの検証結果)を記憶部24に格納する。ここで、図5は、第1実施形態における検証結果の例を示す図である。図5の検証結果について、左から順に、検証入力値は、正常系検証用データである。なお、この検証入力値は、制御装置1のとり得る最小から最大までのすべてでもよいし、間引いたものであってもよい。想定値は、正解データ(正常系適正値データ)である。読み込み値は、第2演算部104による演算結果である。前回出力との時間差は、実測値であり、許容範囲として「8〜12ms」が設定されている。なお、この許容範囲は、ユーザごとに設定可能でもよいし、ベンダーが仕様として予め定義してもよい。判定は、OK(適正)とNG(不適正)の2択である。
Next, the
次に、正常系比較検証(S108)の動作例について説明する。図6は、第1実施形態における正常系比較検証の動作例を示すフローチャートである。検証部23は、すべての検証入力値について、S1082〜S1084を実行する(S1081〜S1085)。ただし、S1082とS1083のいずれかでNoとなった場合は、その時点で処理を終了する。
Next, an operation example of the normal system comparison verification (S108) will be described. FIG. 6 is a flowchart showing an operation example of normal system comparison verification in the first embodiment. The
S1082において、検証部23は、読み込み値が想定値と同じであるか否かを判定し、Yesの場合はS1083に進み、Noの場合はS1086に進む。S1083において、検証部23は、前回出力との時間差が許容範囲内か否かを判定し、Yesの場合はS1084に進み、Noの場合はS1086に進む。S1084において、検証部23は、検証結果における判定結果としてOKを保存する(図5)。
In S1082, the
S1086において、検証部23は、検証結果における判定結果としてNGを保存する(図5)。その後、検証部23は、記憶部24に格納されている更新前プログラムを第2演算部104に配信する(S1087)。これは、更新プログラムが適正に動作しなかったためである。その後、検証部23は、検証を終了し(S1088)、処理を終了する。なお、このS1088を経由した後は、図4の処理も中止する。また、動作モードを検証モードから通常モードに戻す。S1085を経由してS108を終了した場合は、図4の処理に戻る。
In S1086, the
図4に戻って、S108の後、検証部23は、S109〜S114で異常系テストを実行する。具体的には、検証部23は、記憶部24に格納された異常系検証用データを第2演算部104に送信する(S109)。第2演算部104はその異常系検証用データを受信する(S110)。次に、第2演算部104は、更新プログラムと異常系検証用データを用いてエラー検出を実行し(S111)、エラーコードを検証装置2に送信する(S112)。検証装置2はそのエラーコードを受信する(S113)。
Returning to FIG. 4, after S108, the
前記したように、異常系テストとは、異常な入力に対して適正な出力がされるかを調べるテストである。また、異常系適正値データは、異常系テストの正解データであり、つまり、異常系テストに関して適正か否かを判定するためのデータである。図7は、第1実施形態における異常系適正値データの例を示す図である。図7に示すように、異常系適正値データでは、エラーの種類とエラーコードとが対応付けられている。 As described above, the abnormal system test is a test for checking whether an appropriate output is obtained for an abnormal input. Further, the abnormal system appropriate value data is the correct answer data of the abnormal system test, that is, the data for determining whether or not the abnormal system test is appropriate. FIG. 7 is a diagram showing an example of abnormal system appropriate value data in the first embodiment. As shown in FIG. 7, in the abnormal system appropriate value data, an error type and an error code are associated with each other.
数値が許容範囲外のエラーには、エラーコード「0000」が対応付けられている。数値が許容範囲外のエラーとは、例えば、許容範囲が「0」〜「20」のときに、「21」という数値を受けた場合である。 An error code "0000" is associated with an error whose numerical value is out of the permissible range. An error in which the numerical value is out of the allowable range is, for example, a case where a numerical value of "21" is received when the allowable range is "0" to "20".
また、データ内容が異常のエラーには、エラーコード「0001」が対応付けられている。データ内容が異常のエラーとは、例えば、データサイズが不適正である場合である。 Further, an error code "0001" is associated with an error whose data content is abnormal. An error in which the data content is abnormal is, for example, a case where the data size is inappropriate.
また、暗復号異常のエラーには、エラーコード「0010」が対応付けられている。暗復号異常のエラーとは、例えば、暗号化データを復号化したら必ず先頭データが「0123」であるべきなのに別のデータになっている場合である。 Further, an error code "0010" is associated with the error of the dark decoding abnormality. The error of the dark decoding abnormality is, for example, a case where the first data should always be "0123" when the encrypted data is decrypted, but it is different data.
図4に戻って、S113の後、検証部23は、受信したエラーコードを用いて異常系比較検証して(S114)、検証結果(不図示)を記憶部24に格納する。次に、異常系比較検証(S114)の動作例について説明する。図8は、第1実施形態における異常系比較検証の動作例を示すフローチャートである。検証部23は、すべての検証入力データ(異常系検証用データ)について、S1142、S1143を実行する(S1141〜S1144)。ただし、S1142でNoとなった場合は、その時点で処理を終了する。
Returning to FIG. 4, after S113, the
S1142において、検証部23は、受信したエラーコードが適正であるか否かを判定し、Yesの場合はS1143に進み、Noの場合はS1145に進む。S1142では、例えば、数値の許容範囲が「0」〜「20」の場合に「21」という数値が検証入力データであった場合に、エラーコード「0000」を受信すれば適正であり(Yes)、他のデータ(「0000」以外のエラーコード等)を受信すれば不適正である(No)。S1143において、検証部23は、検証結果における判定結果としてOKを保存する。
In S1142, the
S1145において、検証部23は、検証結果における判定結果としてNGを保存する。その後、検証部23は、記憶部24に格納されている更新前プログラムを第2演算部104に配信する(S1146)。これは、更新プログラムが適正に動作しなかったためである。その後、検証部23は、検証を終了し(S1147)、処理を終了する。なお、このS1147を経由した後は、図4の処理も中止する。また、動作モードを検証モードから通常モードに戻す。S1144を経由してS114を終了した場合は、図4の処理に戻る。
In S1145, the
図4に戻って、S114の後、検証部23は、記憶部24に格納されている更新前プログラムを第2演算部104に送信する(S115)。第2演算部104は、その更新前プログラムを受信(ダウンロード)する(S116)。ここで、第2演算部104を更新前プログラムに戻すのは、これから第1演算部103のプログラムの更新、検証を行うにあたり、その間、通常モードと同様の処理を第2演算部104に実行させるためである。
Returning to FIG. 4, after S114, the
次に、検証部23は、S117〜S130において、第1演算部103のプログラムの更新、検証の処理を行うが、S101〜S114と同様であるため、説明を省略する。
Next, in S117 to S130, the
S130の後、つまり、第2演算部104、第1演算部103ともにプログラムの更新、検証で問題がなかった場合、検証部23は、記憶部24に格納された更新プログラムを制御装置1の第2演算部104に送信する(S131)。第2演算部104は、その更新プログラムを受信(ダウンロード)する(S132)。これにより、第2演算部104、第1演算部103ともに更新プログラムに更新された。その後、モード格納部110は検証モードから通常モードに遷移する。
After S130, that is, when there is no problem in updating and verifying the programs in both the
このように、第1実施形態の検証システムSによれば、制御装置1を停止させることなくプログラムの更新と検証を行うことができる。具体的には、検証装置2の検証部23は、制御装置1のプログラムを更新する際にモード格納部110が検証モードに遷移した場合、第1演算部103と第2演算部104の一方に対して、更新プログラムを送信するとともに、検証用データによる動作の検証を正常系テストと異常系テストの両方について実施した後、検証結果が適正であれば、他方についても同様の動作を実行する。これにより、制御装置1のプログラムを更新するだけでなく、更新後の動作も保障することができる。
As described above, according to the verification system S of the first embodiment, the program can be updated and verified without stopping the
(第2実施形態)
次に、第2実施形態の検証システムSについて説明する。なお、第1実施形態と同様の構成には同様の符号を付し、重複する説明を適宜省略する。図9は、第2実施形態の検証システムSの構成例を示すブロック図である。
(Second Embodiment)
Next, the verification system S of the second embodiment will be described. The same components as those in the first embodiment are designated by the same reference numerals, and duplicate description will be omitted as appropriate. FIG. 9 is a block diagram showing a configuration example of the verification system S of the second embodiment.
図9の制御装置1は、図1の制御装置1と比較して、検証結果出力部109が無い点で異なっている。
The
また、図9の検証装置2は、図1の検証装置2と比較して、次の点で異なっている。まず、検証信号入力部22が無い。また、記憶部24が正常系検証プログラムと異常系検証プログラムからなる検証プログラムをさらに記憶している。つまり、第2実施形態では、更新プログラムではなく、更新プログラムと演算内容が同一で検証結果送信機能を有する
検証プログラムを用いて検証を行う。検証プログラムの場合、更新プログラムとは異なり、図11に示すように、制御装置1において演算の結果を出力動作切替部107に伝送しない。また、検証プログラムは、演算結果を保持し、検証入力値と、その検証入力値に基づいた演算結果(出力値)と演算周期を検証装置2へ伝送する機能を有している(図13)。
Further, the
また、検証装置2は、制御装置1と同一の場所に設置されるローカル機器でもよいし、クラウドサーバなど、遠隔地に設置されるものでもよい。
Further, the
また、例えば、検証部23は、制御装置1のプログラムを更新する際にモード格納部110が検証モードに遷移した場合、第1演算部103と第2演算部104の一方に対して、検証プログラムを送信するとともに、検証プログラムを実行したその一方から受信した検証結果が適正であれば、他方についても、検証プログラムを送信する。
Further, for example, when the
また、例えば、検証部23は、第1演算部103と第2演算部104の一方に対して、検証プログラムを送信するとともに、検証プログラムを実行したその一方から受信した検証結果が適正であれば、その一方に更新プログラムを配信する。
Further, for example, if the
また、例えば、検証部23は、第1演算部103と第2演算部104の一方に対して、検証プログラムを送信するとともに、検証プログラムを実行したその一方から受信した検証結果が不適正であれば、その一方に更新前プログラムを再度配信する。
Further, for example, the
また、例えば、検証部23は、更新対象の演算部に対して、正常系検証プログラムを送信し、それを実行した当該演算部から受信した計算結果と、記憶部24の正常系適正値データとに基づいて、当該演算部の動作が適正か否かを判定する。
Further, for example, the
また、例えば、検証部23は、更新対象の演算部に対して、異常系検証プログラムを送信し、それを実行した当該演算部から受信した計算結果と、記憶部24の異常系適正値データとに基づいて、当該演算部の動作が適正か否かを判定する。
Further, for example, the
次に、検証システムSの通常モード時の動作について説明する。図10は、第2実施形態の検証システムSの通常モード時の動作の説明図である。図10のS21〜S28は、図2のS1〜S8と同様であるので、説明を省略する。 Next, the operation of the verification system S in the normal mode will be described. FIG. 10 is an explanatory diagram of the operation of the verification system S of the second embodiment in the normal mode. Since S21 to S28 in FIG. 10 are the same as S1 to S8 in FIG. 2, description thereof will be omitted.
次に、検証システムSの検証モード時の動作について説明する。図11は、第2実施形態の検証システムSの検証モード時の動作の説明図である。ユーザは、制御装置1のプログラムを更新する場合、モード格納部110の動作モードを通常モードから検証モードに切り替える。これによって、入力動作切替部102と出力動作切替部107がデータの経路を切り替える。
Next, the operation of the verification system S in the verification mode will be described. FIG. 11 is an explanatory diagram of the operation of the verification system S of the second embodiment in the verification mode. When updating the program of the
まず、通常モードと同様の動作は、第1演算部103が実行する(S21→S22→S23→S25→S27→S28)。
First, the
一方、プログラムの更新、検証の動作時のデータの流れは、図11の破線で示す通りである。以下、図12を参照して具体的に説明する。図12は、第2実施形態の検証システムSの動作例を示すフローチャートである。 On the other hand, the flow of data during the operation of program update and verification is as shown by the broken line in FIG. Hereinafter, a specific description will be given with reference to FIG. FIG. 12 is a flowchart showing an operation example of the verification system S of the second embodiment.
まず、検証装置2の検証部23は、記憶部24に格納された検証プログラム(正常系検証プログラム、異常系検証プログラムの両方)を制御装置1の第2演算部104に送信する(S201)。第2演算部104は、その検証プログラムを受信(ダウンロード)する(S202)。
First, the
次に、検証部23は、S203〜S208で正常系テストを実行する。具体的には、検証部23は、記憶部24に格納された正常系検証用データを第2演算部104に送信する(S203)。第2演算部104はその正常系検証用データを受信する(S204)。次に、第2演算部104は、正常系検証プログラムと正常系検証用データを用いて制御演算を実行し(S205)、演算結果(出力値)を保存(蓄積)してから、ひとまとまりの演算結果として検証装置2に送信する(S206)。検証装置2はその演算結果を受信する(S207)。
Next, the
ここで、図13は、第2実施形態における正常系保存データ(ひとまとまりの演算結果)の例を示す図である。図13の正常系保存データについて、左から順に、検証入力値は、正常系検証用データである。演算結果は、検証入力値に基づいて演算した結果である。演算周期は、演算の時間長である。 Here, FIG. 13 is a diagram showing an example of normal system storage data (a set of calculation results) in the second embodiment. Regarding the normal system storage data of FIG. 13, the verification input values are the normal system verification data in order from the left. The calculation result is the result of calculation based on the verification input value. The calculation cycle is the time length of the calculation.
図12に戻って、S207の後、検証部23は、受信した演算結果を用いて正常系比較検証して(S208)、検証結果(図5と同様)を記憶部24に格納する。この正常系比較検証(S208)の動作例について説明する。図14は、第2実施形態における正常系比較検証の動作例を示すフローチャートである。
Returning to FIG. 12, after S207, the
検証部23は、すべての検証入力値について、S2082〜S2084を実行する(S2081〜S2085)。ただし、S2082とS2083のいずれかでNoとなった場合は、その時点で処理を終了する。
The
S2082において、検証部23は、演算結果(図13)が想定値(図5)と同じであるか否かを判定し、Yesの場合はS2083に進み、Noの場合はS2086に進む。S2083において、検証部23は、演算周期(図13)が許容範囲(図5)内か否かを判定し、Yesの場合はS2084に進み、Noの場合はS2086に進む。S2084において、検証部23は、検証結果における判定結果としてOKを保存する。
In S2082, the
S2086において、検証部23は、検証結果における判定結果としてNGを保存する。その後、検証部23は、記憶部24に格納されている更新前プログラムを第2演算部104に配信する(S2087)。これは、検証プログラムが適正に動作しなかったためである。その後、検証部23は、検証を終了し(S2088)、処理を終了する。なお、このS2088を経由した後は、図12の処理も中止する。また、動作モードを検証モードから通常モードに戻す。S2085を経由してS208を終了した場合は、図12の処理に戻る。
In S2086, the
図12に戻って、S208の後、検証部23は、S209〜S214で異常系テストを実行する。具体的には、検証部23は、記憶部24に格納された異常系検証用データ(異常系テスト番号)を第2演算部104に送信する(S209)。第2演算部104はその異常系検証用データを受信する(S210)。次に、第2演算部104は、異常系検証プログラムと異常系検証用データを用いてエラー検出を実行し(S211)、エラーコードを保存(蓄積)してから、ひとまとまりの演算結果として検証装置2に送信する(S212)。検証装置2はその演算結果を受信する(S213)。
Returning to FIG. 12, after S208, the
なお、S206やS212での第2演算部104から検証装置2へのデータの送信タイミングは、処理の所定単位ごとでもよいし、一定数のデータサイズが保存された場合でもよいし、また、すべての処理が終わった場合でもよい。
The data transmission timing from the
ここで、図15(a)は、第2実施形態における検証プログラムの一部の例を示す図である。図15(b)は、第2実施形態における異常系保存データ(ひとまとまりの演算結果)の例を示す図である。この検証プログラムにおいて、正常な処理では、bとcの加算によりaを算出し(図15(a)のL1)、aとdが一致する(図15(a)のL5、L6)。そして、異常系テスト番号「1」のテスト(TEST1)では、aに1を加算することで(図15(a)のL3)、a≠dという環境を創作可能になる(図15(a)のL7〜L9)。なお、図15(a)のL8の「ERROR」はエラーコード(例えば「0000」)を意味する。このような異常系テストを複数用意することで、図15(b)に示すような異常系保存データ(ひとまとまりの演算結果)を作成可能となる。また、検証装置2の記憶部24の異常系適正値データには、この図15(b)に示す情報が正解テーブルとして保存されている。なお、このような検証プログラムを用いれば、図12におけるS209、S210の処理を省略できる。
Here, FIG. 15A is a diagram showing a part of an example of the verification program in the second embodiment. FIG. 15B is a diagram showing an example of abnormal system storage data (a set of calculation results) in the second embodiment. In this verification program, in normal processing, a is calculated by adding b and c (L1 in FIG. 15 (a)), and a and d match (L5 and L6 in FIG. 15 (a)). Then, in the test (TEST1) of the abnormal system test number "1", by adding 1 to a (L3 in FIG. 15A), it becomes possible to create an environment in which a ≠ d (FIG. 15A). L7 to L9). The "ERROR" in L8 in FIG. 15A means an error code (for example, "0000"). By preparing a plurality of such abnormal system tests, it is possible to create abnormal system stored data (a set of calculation results) as shown in FIG. 15B. Further, the information shown in FIG. 15B is stored as a correct answer table in the abnormal system appropriate value data of the
図12に戻って、S213の後、検証部23は、受信した演算結果(エラーコード)を用いて異常系比較検証して(S214)、検証結果(不図示)を記憶部24に格納する。次に、異常系比較検証(S214)の動作例について説明する。図16は、第2実施形態における異常系比較検証の動作例を示すフローチャートである。検証部23は、すべての異常系テスト番号のテストについて、S2142、S2143を実行する(S2141〜S2144)。ただし、S2142でNoとなった場合は、その時点で処理を終了する。
Returning to FIG. 12, after S213, the
S2142において、検証部23は、エラーコードが適正であるか否かを判定し、Yesの場合はS2143に進み、Noの場合はS2145に進む。S2143において、検証部23は、検証結果における判定結果としてOKを保存する。
In S2142, the
S2145において、検証部23は、検証結果における判定結果としてNGを保存する。その後、検証部23は、記憶部24に格納されている更新前プログラムを第2演算部104に配信する(S2146)。これは、検証プログラムが適正に動作しなかったためである。その後、検証部23は、検証を終了し(S2147)、処理を終了する。なお、このS2147を経由した後は、図12の処理も中止する。また、動作モードを検証モードから通常モードに戻す。S2144を経由してS214を終了した場合は、図12の処理に戻る。
In S2145, the
図12に戻って、S214の後、検証部23は、記憶部24に格納されている更新前プログラムを第2演算部104に送信する(S215)。第2演算部104は、その更新前プログラムを受信(ダウンロード)する(S216)。ここで、第2演算部104を更新前プログラムに戻すのは、これから第1演算部103のプログラムの更新、検証を行うにあたり、その間、通常モードと同様の処理を第2演算部104に実行させるためである。
Returning to FIG. 12, after S214, the
次に、検証部23は、S217〜S230において、第1演算部103のプログラムの更新、検証の処理を行うが、S201〜S214と同様であるため、説明を省略する。
Next, the
S230の後、つまり、第2演算部104、第1演算部103ともにプログラムの更新、検証で問題がなかった場合、検証部23は、記憶部24に格納された更新プログラムを制御装置1の第2演算部104と第1演算部103に送信する(S231)。第2演算部104、第1演算部103は、その更新プログラムを受信(ダウンロード)する(S232、S233)。これにより、第2演算部104、第1演算部103ともに更新プログラムに更新された。その後、モード格納部110は検証モードから通常モードに遷移する。
After S230, that is, when there is no problem in updating and verifying the programs in both the
このように、第2実施形態の検証システムSによれば、制御装置1を停止させることなくプログラムの更新と検証を行うことができる。具体的には、検証装置2の検証部23は、制御装置1のプログラムを更新する際にモード格納部110が検証モードに遷移した場合、第1演算部103と第2演算部104の一方に対して、検証プログラムを送信するとともに、正常系テストと異常系テストの両方について実施した後、検証結果が適正であれば、他方についても同様の動作を実行する。これにより、制御装置1のプログラムを更新するだけでなく、更新後の動作も保障することができる。また、制御装置1の検証の際に制御装置1からの実際の出力値を使用しないため、離れた場所に検証装置2を設置でき、利便性が向上する。
As described above, according to the verification system S of the second embodiment, the program can be updated and verified without stopping the
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 Although some embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other embodiments, and various omissions, replacements, and changes can be made without departing from the gist of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are also included in the scope of the invention described in the claims and the equivalent scope thereof.
例えば、制御装置1の演算部が3つ以上の場合であっても、同様に、それぞれの演算部について順番にプログラムの更新および動作の検証を実施することで、制御装置1を停止させることなくプログラムの更新と検証を行うことができる。
For example, even when there are three or more arithmetic units in the
1 制御装置
101 通信部
102 入力動作切替部
103 第1演算部
104 第2演算部
105 第1記憶部
106 第2記憶部
107 出力動作切替部
108 制御信号出力部
109 検証結果出力部
110 モード格納部
111 検出信号入力部
2 検証装置
21 通信部
22 検証信号入力部
23 検証部
24 記憶部
3 被制御装置
4 検出装置
S 検証システム
1
Claims (10)
前記制御装置のプログラムを更新する際に、前記複数の演算部のうち1つの演算部の前記プログラムの更新および動作の検証を実施した後、検証結果が適正であれば、残りの前記演算部についても順次、前記プログラムの更新および動作の検証を実施する検証装置と、を備え、
前記制御装置は、
現在の動作モードが通常モードと検証モードのいずれであるのかを格納するモード格納部と、
前記動作モードに応じて、外部からの入力データの入力先を前記複数の演算部の少なくともいずれかに切り替える入力動作切替部と、
前記動作モードに応じて、前記複数の演算部それぞれの演算結果の出力先を制御信号出力部と検証結果出力部のいずれかに切り替える出力動作切替部と、
前記出力動作切替部から受け取った前記演算結果である制御信号を被制御装置に出力する前記制御信号出力部と、
前記出力動作切替部から受け取った前記演算結果である検証結果を前記検証装置に出力する前記検証結果出力部と、を備え、
前記検証装置は、
前記制御装置が使用する前記プログラム、更新プログラムを格納するとともに、検証用データと、前記制御装置から受信した検証結果と、を格納する記憶部と、
前記制御装置のプログラムを更新する際に前記モード格納部が前記検証モードに遷移した場合、前記複数の演算部のうち1つの演算部に対して、前記更新プログラムを送信するとともに、前記検証用データによる動作の検証を実施した後、検証結果が適正であれば、残りの前記演算部についても順次、前記更新プログラムを送信するとともに、前記検証用データによる動作の検証を実施する検証部と、を備える、検証システム。 A control device with multiple arithmetic units and
When updating the program of the control device, after updating the program of one of the plurality of arithmetic units and verifying the operation, if the verification result is appropriate, the remaining arithmetic units Also equipped with a verification device that sequentially updates the program and verifies its operation .
The control device
A mode storage unit that stores whether the current operation mode is normal mode or verification mode,
An input operation switching unit that switches the input destination of input data from the outside to at least one of the plurality of arithmetic units according to the operation mode.
An output operation switching unit that switches the output destination of the calculation result of each of the plurality of calculation units to either the control signal output unit or the verification result output unit according to the operation mode.
The control signal output unit that outputs the control signal that is the calculation result received from the output operation switching unit to the controlled device, and the control signal output unit.
A verification result output unit that outputs a verification result, which is a calculation result received from the output operation switching unit, to the verification device is provided.
The verification device is
A storage unit that stores the program and the update program used by the control device, and also stores the verification data and the verification result received from the control device.
When the mode storage unit transitions to the verification mode when updating the program of the control device, the update program is transmitted to one of the plurality of arithmetic units, and the verification data is transmitted. If the verification result is appropriate, the update program is sequentially transmitted to the remaining arithmetic units, and the verification unit that verifies the operation using the verification data is performed. A verification system to prepare .
前記入力動作切替部は、前記モード格納部を参照して、前記検証装置から受信した前記検証用データを更新対象の前記演算部にのみ入力するようにデータの経路を切り替え、
前記出力動作切替部は、前記モード格納部を参照して、更新対象の前記演算部の検証結果を前記検証結果出力部へ出力するようデータの経路を切り替える、請求項1に記載の検証システム。 When the mode storage unit transitions from the normal mode to the verification mode,
With reference to the mode storage unit, the input operation switching unit switches the data path so that the verification data received from the verification device is input only to the calculation unit to be updated.
The verification system according to claim 1 , wherein the output operation switching unit switches a data path so as to output the verification result of the calculation unit to be updated to the verification result output unit with reference to the mode storage unit.
前記制御装置のプログラムを更新する際に、前記複数の演算部のうち1つの演算部の前記プログラムの更新および動作の検証を実施した後、検証結果が適正であれば、残りの前記演算部についても順次、前記プログラムの更新および動作の検証を実施する検証装置と、を備え、
前記制御装置は、
現在の動作モードが通常モードと検証モードのいずれであるのかを格納するモード格納部と、
前記動作モードに応じて、外部からの入力データの入力先を前記複数の演算部の少なくともいずれかに切り替える入力動作切替部と、を備え、
前記検証装置は、
前記制御装置が使用する前記プログラム、更新プログラム、前記更新プログラムと演算内容が同一で検証結果送信機能を有する検証プログラムを格納するとともに、前記制御装置から受信した検証結果を格納する記憶部と、
前記制御装置のプログラムを更新する際に前記モード格納部が前記検証モードに遷移した場合、前記複数の演算部のうち1つの演算部に対して、前記検証プログラムを送信するとともに、前記検証プログラムを実行した当該演算部から受信した検証結果が適正であれば、残りの前記演算部についても順次、前記検証プログラムを送信するとともに前記検証プログラムによる検証結果に基づく検証を実施する検証部と、を備える、検証システム。 A control device with multiple arithmetic units and
When updating the program of the control device, after updating the program of one of the plurality of arithmetic units and verifying the operation, if the verification result is appropriate, the remaining arithmetic units Also equipped with a verification device that sequentially updates the program and verifies its operation .
The control device is
A mode storage unit that stores whether the current operation mode is normal mode or verification mode,
An input operation switching unit for switching an input destination of input data from the outside to at least one of the plurality of arithmetic units according to the operation mode is provided.
The verification device is
A storage unit that stores the program, the update program, the verification program that has the same calculation content as the update program and has the verification result transmission function, and stores the verification result received from the control device.
When the mode storage unit transitions to the verification mode when updating the program of the control device, the verification program is transmitted to one of the plurality of arithmetic units, and the verification program is transmitted. If the verification result received from the executed calculation unit is appropriate, the remaining calculation units are also provided with a verification unit that sequentially transmits the verification program and performs verification based on the verification result by the verification program. , Verification system.
前記検証装置の検証部は、更新対象の前記演算部に対して、正常系テスト用の前記検証プログラムを送信し、前記検証プログラムを実行した当該演算部から受信した計算結果と、前記記憶部の正常系適正値データとに基づいて、当該演算部の動作が適正か否かを判定する、請求項6から請求項8のいずれか一項に記載の検証システム。 The storage unit of the verification device stores normal system appropriate value data which is correct answer data of the verification result by the verification program for normal system test.
The verification unit of the verification device transmits the verification program for normal system test to the calculation unit to be updated, and the calculation result received from the calculation unit that executes the verification program and the storage unit The verification system according to any one of claims 6 to 8 , which determines whether or not the operation of the calculation unit is appropriate based on the normal system appropriate value data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016144664A JP6797588B2 (en) | 2016-07-22 | 2016-07-22 | Verification system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016144664A JP6797588B2 (en) | 2016-07-22 | 2016-07-22 | Verification system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018014046A JP2018014046A (en) | 2018-01-25 |
JP6797588B2 true JP6797588B2 (en) | 2020-12-09 |
Family
ID=61019445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016144664A Active JP6797588B2 (en) | 2016-07-22 | 2016-07-22 | Verification system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6797588B2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6819660B2 (en) | 2018-09-26 | 2021-01-27 | 横河電機株式会社 | Process control system, process control device, and program update method |
JP7206122B2 (en) * | 2019-01-31 | 2023-01-17 | 三菱重工業株式会社 | DATASET VERIFICATION DEVICE AND PROGRAM, METHOD AND DATASET VERIFICATION SYSTEM |
JP7065800B2 (en) * | 2019-02-28 | 2022-05-12 | 株式会社日立製作所 | Particle beam therapy system, particle beam irradiation method and computer program |
JP7373384B2 (en) * | 2019-12-18 | 2023-11-02 | 株式会社日立製作所 | Verification method for computer systems and scheduling systems |
JP7436129B2 (en) * | 2021-02-08 | 2024-02-21 | 東芝三菱電機産業システム株式会社 | power converter |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001202101A (en) * | 2000-01-18 | 2001-07-27 | Toshiba Corp | Duplex control system and program maintenance method for the system |
JP2001256201A (en) * | 2000-03-13 | 2001-09-21 | Sony Corp | Method and system for verifying program |
US7216343B2 (en) * | 2002-09-20 | 2007-05-08 | International Business Machines Corporation | Method and apparatus for automatic updating and testing of software |
JP4834970B2 (en) * | 2004-09-13 | 2011-12-14 | 富士ゼロックス株式会社 | Information processing apparatus and information processing system using the same |
JP2006119848A (en) * | 2004-10-20 | 2006-05-11 | Fujitsu Ltd | Software update program, software update apparatus, and software update method |
JP2007219571A (en) * | 2006-02-14 | 2007-08-30 | Hitachi Ltd | Storage control device and storage system |
JP2009181180A (en) * | 2008-01-29 | 2009-08-13 | Advantest Corp | Inspection program, inspection method, and inspection device of program creating tool |
US8924950B2 (en) * | 2012-12-17 | 2014-12-30 | Itron, Inc. | Utility node software/firmware update through a multi-type package |
JP5713056B2 (en) * | 2013-06-24 | 2015-05-07 | 横河電機株式会社 | Process control apparatus and system and update method thereof |
-
2016
- 2016-07-22 JP JP2016144664A patent/JP6797588B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018014046A (en) | 2018-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6797588B2 (en) | Verification system | |
CN107924443B (en) | Firmware upgrading method and system for process control device | |
EP2840494B1 (en) | System and method for updating firmware across devices in a process facility | |
US11568088B2 (en) | Method, processor and device for checking the integrity of user data | |
CN110062918B (en) | A method for software update in a cloud gateway, a computer program for executing the method, and a processing unit for implementing the method | |
US20160238659A1 (en) | Trace data recording system, trace data recording server, trace data recording method, and information storage medium | |
US9389990B2 (en) | Self verifying device driver for multi-version compatible data manipulation devices | |
US20230244765A1 (en) | Embedded processing system with multi-stage authentication | |
CN109656633A (en) | Instrument calibration method, device, system, terminal device and readable storage medium storing program for executing | |
CN110968841B (en) | Activation method, device and system of programmable logic controller | |
JP5951162B1 (en) | Control device, composite unit device, update determination program, and program update method | |
EP3403147B1 (en) | Industrial control system management | |
US11290881B2 (en) | Method for functionally secure connection identification | |
KR101815824B1 (en) | Programmable logic controller setting file generation assistance device | |
JP6196505B2 (en) | Cloud control system and method for executing the control program | |
CN112567708A (en) | Secure remote access to refrigeration control system | |
CN110865838A (en) | Robot upgrading method and device, electronic equipment and computer readable storage medium | |
JP6870234B2 (en) | Control device, control system and control method | |
US12007740B2 (en) | Secure network of safety PLCs for industrial plants | |
KR101675634B1 (en) | Apparatus and method for monitoring remote | |
KR102002545B1 (en) | Code test automatic proceeding method through virtualixation and appratus for the same | |
CN108021407B (en) | Service processing method and device based on network equipment | |
US20220046339A1 (en) | Data collection device, data collection method, and program | |
CN114244828B (en) | Data transmission method and vehicle-mounted dynamic data management system | |
JP2015162179A (en) | Sequence program replacement method of programmable controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20170911 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20170912 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190607 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200709 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200714 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200911 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20201020 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201118 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6797588 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |