JP7379875B2 - 制御装置およびその保守支援装置 - Google Patents
制御装置およびその保守支援装置 Download PDFInfo
- Publication number
- JP7379875B2 JP7379875B2 JP2019111527A JP2019111527A JP7379875B2 JP 7379875 B2 JP7379875 B2 JP 7379875B2 JP 2019111527 A JP2019111527 A JP 2019111527A JP 2019111527 A JP2019111527 A JP 2019111527A JP 7379875 B2 JP7379875 B2 JP 7379875B2
- Authority
- JP
- Japan
- Prior art keywords
- execution
- cycle
- function
- definition table
- control device
- 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
- 238000012423 maintenance Methods 0.000 title claims description 19
- 230000000737 periodic effect Effects 0.000 claims description 62
- 238000012544 monitoring process Methods 0.000 claims description 51
- 238000012545 processing Methods 0.000 claims description 35
- 230000005856 abnormality Effects 0.000 claims description 17
- 230000006870 function Effects 0.000 description 144
- 238000000034 method Methods 0.000 description 76
- 230000002159 abnormal effect Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
(1)実行シーケンスをチェックする対象関数を定義するテーブル(定義テーブル)を用意し、予め当該テーブルに対象関数の情報(関数のシンボル名、先頭アドレス、終了アドレス等)を登録する。
(2)定義テーブルを作成する際は、作業を効率化するために、支援ツールを用意する。例えば、コンパイル・リンク時に出力されるMAPファイルを自動参照して、関数リストを表示し、選択した関数情報を定義テーブルに登録する手段を設ける。
(3)定義テーブルは周期別に作成できるようにする。そして、周期ごとに属性情報(動作周期、優先順位、実行間隔時間の許容値)の設定を行う。
(4)作成した定義テーブルを制御装置のメモリに書き込む手段を設ける。
(5)実行履歴を記録する処理は、コンパイラの機能を利用して制御装置内のプログラム動作時に呼び出される関数のreturn文実行時に呼び出すように置き換える。
(6)実行履歴を記録する処理は、定義テーブルを参照して、登録されている関数であれば実行履歴(関数の識別情報、タイムスタンプ等)をメモリに保存する。
(7)定義テーブルに登録されている関数の順番と実行履歴とを比較して、実行シーケンス通りに実行されていることを監視する実行シーケンス監視手段(監視手段)を設ける。
(8)前記監視手段は、さらに実行関数の周期処理の優先順位を参照して、周期処理間の実行シーケンスが正しいことを監視する。
(9)前記監視手段は、さらに実行履歴のタイムスタンプより、各周期の時間内で処理が終了していることを監視する。
(10)前記監視手段は、実行シーケンス異常と判断した場合は、エラーであることを通知(表示)する手段を設ける。
複数の定周期処理プログラムを実行する制御装置であって、
前記定周期処理プログラムの実行周期ごとに、各実行周期に属する監視対象の定周期処理プログラムの識別情報を実行順序識別可能に登録した定義テーブルと、
前記定周期処理プログラムの実行履歴をメモリに記録する記録手段と、
前記実行履歴に基づいて、複数の前記定周期処理プログラムが前記定義テーブルに定めた実行順序で動作しているか否かを実行周期ごとに監視して異常を検知する監視手段と、
を備え、
前記定義テーブルは、実行周期ごとに、該実行周期で動作する定周期処理プログラムの実行間隔に関する第1の閾値を含み、
前記監視手段は、前記実行履歴に基づいて、所定の実行順位の定周期処理プログラムの前回実行時刻と今回実行時刻との差が前記第1の閾値以上になると異常を検知することを特徴とする。
前記監視手段は、前記実行履歴に基づいて、所定の実行順位の定周期処理プログラムの前回実行時刻と今回実行時刻の差が前記第2の閾値以下になると異常を検知するという構成にするのが良い。
上記の制御装置と通信可能な保守支援装置であって、
前記定周期処理プログラムコンパイル時のMAPファイルと登録画面を通して入力された情報から前記定義テーブルを生成する手段と、
生成した前記定義テーブルを前記制御装置へ転送する手段と、
を備えたことを特徴とする。
次に、保守支援装置5側での定義テーブル21の作成方法について説明する。
図1に示すように、定義テーブル21を作成は、保守支援装置5のディスプレイに表示される実行シーケンス監視登録画面51を通して行われる。ユーザは、この画面を通して、定義テーブル21の作成に必要な情報を登録する。実行シーケンス監視登録画面51は、周期毎に関数を登録する画面領域54を有し、定義テーブル21に対する読出しおよび書込みを行うためのボタン52,53が設けられている。
当該定義テーブル21は周期別のテーブル21a~21cで構成される。図2にはA周期用テーブル21a、B周期用テーブル21b、C周期用テーブル21cの3種類のテーブルが示されている。
1)登録数:当該周期内で実行シーケンスの監視対象として登録した関数の数
2)周期:当該周期の時間
3)優先順位:当該周期処理の動作優先順位(優先レベル)。図2では最小の番号(優先順位:1)の優先順位が最も高いことを示す。
4)前回先頭~今回先頭関数許容最長実行間隔:当該周期テーブル内の最初に登録した関数(最初に実行される関数)の前回の実行時刻と今回の実行時刻の差(実行間隔)の閾値。後述する実行シーケンス監視処理手順により、実行間隔がこの閾値を超えた場合は実行シーケンス異常と判定される。
5)前回最後~今回先頭関数許容最短実行間隔:当該周期テーブル内の最後に登録した関数(最後に実行される関数)の前回周期での実行時刻と、最初に登録した関数(最初に実行される関数)の今回周期での実行時刻の差の閾値。実行履歴に基づいて実際の間隔がこの閾値以下の場合は実行シーケンス異常と判定される。
6)関数シンボル名:当該周期内で実行シーケンスの監視対象とする関数名
7)関数先頭アドレス:当該周期内で実行シーケンスの監視対象とする関数の先頭アドレス
8)関数終端アドレス:当該周期内で実行シーケンスの監視対象とする関数の終端アドレス
9)識別番号(実行番号):当該周期内で実行シーケンスの監視対象とする関数の識別番号。識別番号は実行順の番号とし、登録順に連番とする。保守支援装置5の実行シーケンス監視登録画面を通して、全ての周期テーブルでユニークな番号が付される。
1)関数シンボル名:実行関数のシンボル名
2)識別番号:実行シーケンス監視対象関数定義テーブルに設定されている、当該実行関数の識別番号(実行番号)
3)優先順位:実行シーケンス監視対象関数定義テーブルに設定されている、当該周期処理の動作優先順位
4)タイムスタンプ:定義テーブル21に設定されている、当該関数が実行された時のタイムスタンプ(時間情報)。(ここでは単位は規定しない)
関数実行履歴記録処理プログラム15は、関数が実行されたときに、図3に示す関数実行履歴情報(関数シンボル名、識別番号、優先順位、タイムスタンプ)を実行履歴記録領域31へ記録する。実行履歴記録領域31の構造はリングバッファとするのが好ましい。当該領域31のサイズは各周期処理での実行履歴記録数と実行シーケンス監視を行うタイミングを考慮して、オーバーフローしないサイズを確保する。
ここで、trace_func()は関数実行履歴記録処理プログラム15の関数である。
図4において、関数実行履歴記録処理は起動されると、まず実行履歴記録領域の格納ポインタをセットする(ステップS101)。そして、タイムスタンプと関数復帰アドレスを取得する(ステップS102,S103)。その後、関数復帰アドレスをもとに以下に述べる定義テーブル21の検索処理を実行する(ステップS104)。
図2において、各関数群は、A周期処理(1ms)、B周期処理(2ms)、C周期処理(3ms)の定周期処理で、動作優先順位はA周期処理>B周期処理>C周期処理に設定されている。同時に動作可能状態となった場合は、優先順位の高い処理が動作する。例えば、図5の(a)時点でA周期処理、B周期処理、C周期処理が動作可能な場合、優先順位の最も高いA周期処理が先に動作する。そして、A周期処理の終了後に、次に優先順位の高いB周期処理が遅延して動作を開始する。B周期処理終了後、(b)時点では、C周期処理は待ち状態にあるものの、A周期の実行タイミングも到来しているので、優先順位の高いA周期処理が再び動作状態となるため、A周期処理の終了後にC周期処理が遅延して動作する。なお、実行シーケンスの安定動作のためには、実行周期の短い処理に高い優先順位を割り付けるのが効果的である。
次に、車載機器1で実行される実行シーケンス監視処理プログラム14の手順について説明する。
図7は、実行シーケンス監視処理プログラム14の手順を示すフローチャートである。以下に処理手順の概要を説明する。
実行シーケンス監視処理プログラム14で、異常と判定する実行シーケンスの例を図8A、図8B、図9~図13に示す。
A周期用の前回先頭~今回先頭関数許容最長実行間隔の設定値:1.5ms(600count)
A周期用の前回最後~今回先頭関数許容最短実行間隔の設定値:0.1ms(40count)
B周期用の前回先頭~今回先頭関数許容最長実行間隔の設定値:3ms(1200count)
B周期用の前回最後~今回先頭関数許容最短実行間隔の設定値:0.5ms(200count)
C周期用の前回先頭~今回先頭関数許容最長実行間隔の設定値:4.5ms(1800count)
C周期用の前回最後~今回先頭関数許容最短実行間隔の設定値:0.5ms(200count)
5 保守支援装置
10 プログラム(ROM)領域
11~13 定周期処理プログラム(関数)
14 実行シーケンス監視処理プログラム(監視手段)
15 関数実行履歴記録処理プログラム(記録手段)
20 データ(ROM)領域
21 実行シーケンス監視対象関数定義テーブル(定義テーブル)
21a A周期用テーブル
21b B周期用テーブル
21c C周期用テーブル
30 データ(RAM)領域
31 実行履歴記録領域
51 実行シーケンス監視登録画面
61 MAPファイル
Claims (7)
- 複数の定周期処理プログラムを実行する制御装置であって、
前記定周期処理プログラムの実行周期ごとに、各実行周期に属する監視対象の定周期処理プログラムの識別情報を実行順序識別可能に登録した定義テーブルと、
前記定周期処理プログラムの実行履歴をメモリに記録する記録手段と、
前記実行履歴に基づいて、複数の前記定周期処理プログラムが前記定義テーブルに定めた実行順序で動作しているか否かを実行周期ごとに監視して異常を検知する監視手段と、
を備え、
前記定義テーブルは、実行周期ごとに、該実行周期で動作する定周期処理プログラムの実行間隔に関する第1の閾値を含み、
前記監視手段は、前記実行履歴に基づいて、所定の実行順位の定周期処理プログラムの前回実行時刻と今回実行時刻との差が前記第1の閾値以上になると異常を検知することを特徴とする制御装置。 - 前記定義テーブルは、前記実行周期ごとに定められた優先順位を含み、
前記監視手段は、前記実行履歴に基づいて、複数の前記定周期処理プログラムが前記定義テーブルに定められた優先順位で実行されているか否かを監視して異常を検知することを特徴とする請求項1に記載の制御装置。 - 前記定義テーブルは、実行周期ごとに、該実行周期で動作する定周期処理プログラムのうち、実行順序が最終の定周期処理プログラムが動作してから、実行順序が最先の定周期プログラムが動作するまでの実行間隔に関する第2の閾値を含み、
前記監視手段は、前記実行履歴に基づいて、所定の実行順位の定周期処理プログラムの前回実行時刻と今回実行時刻の差が前記第2の閾値以下になると異常を検知することを特徴とする請求項1又は2に記載の制御装置。 - 前記記録手段は、前記定周期処理プログラムの特定の命令文が実行されることにより起動することを特徴とする請求項1~3のいずれか一項に記載の制御装置。
- 前記特定の命令文はreturn文であることを特徴とする請求項4に記載の制御装置。
- 前記メモリ内の前記実行履歴を記録する領域はリングバッファで構成されていることを特徴とする請求項1~5のいずれか一項に記載の制御装置。
- 請求項1~6のいずれか一項に記載の制御装置と通信可能な保守支援装置であって、
前記定周期処理プログラムコンパイル時のMAPファイルと登録画面を通して入力された情報から前記定義テーブルを生成する手段と、
生成した前記定義テーブルを前記制御装置へ転送する手段と、
を備えたことを特徴とする保守支援装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019111527A JP7379875B2 (ja) | 2019-06-14 | 2019-06-14 | 制御装置およびその保守支援装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019111527A JP7379875B2 (ja) | 2019-06-14 | 2019-06-14 | 制御装置およびその保守支援装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020204844A JP2020204844A (ja) | 2020-12-24 |
JP7379875B2 true JP7379875B2 (ja) | 2023-11-15 |
Family
ID=73838401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019111527A Active JP7379875B2 (ja) | 2019-06-14 | 2019-06-14 | 制御装置およびその保守支援装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7379875B2 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009113618A (ja) | 2007-11-06 | 2009-05-28 | Nsk Ltd | 電動パワーステアリング装置 |
JP2014059846A (ja) | 2012-09-19 | 2014-04-03 | Fuji Electric Co Ltd | プログラム異常検出装置、そのプログラム |
JP2014206821A (ja) | 2013-04-11 | 2014-10-30 | 富士電機株式会社 | 安全関連装置、そのプログラム |
JP2017224304A (ja) | 2014-09-25 | 2017-12-21 | 日本精工株式会社 | 車載用電子機器の制御装置及び制御方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0322040A (ja) * | 1989-06-19 | 1991-01-30 | Fuji Electric Co Ltd | プログラムデバッグ支援方法 |
-
2019
- 2019-06-14 JP JP2019111527A patent/JP7379875B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009113618A (ja) | 2007-11-06 | 2009-05-28 | Nsk Ltd | 電動パワーステアリング装置 |
JP2014059846A (ja) | 2012-09-19 | 2014-04-03 | Fuji Electric Co Ltd | プログラム異常検出装置、そのプログラム |
JP2014206821A (ja) | 2013-04-11 | 2014-10-30 | 富士電機株式会社 | 安全関連装置、そのプログラム |
JP2017224304A (ja) | 2014-09-25 | 2017-12-21 | 日本精工株式会社 | 車載用電子機器の制御装置及び制御方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2020204844A (ja) | 2020-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5093259B2 (ja) | Biosとbmcとの間の通信パス強化方法、その装置及びそのプログラム | |
JP2007157131A (ja) | ガベージ・コレクション対応の仮想マシンにおいて、将来のメモリ不足例外を自動予測する方法、コンピュータ読み取り可能な媒体、及びコンピューティング・デバイス | |
CN111026601A (zh) | Java应用系统的监控方法、装置、电子设备及存储介质 | |
CN110109741B (zh) | 循环任务的管理方法、装置、电子设备及存储介质 | |
CN114328102A (zh) | 设备状态监控方法、装置、设备及计算机可读存储介质 | |
CN107179982B (zh) | 一种跨进程调试方法和装置 | |
US20140136570A1 (en) | Controller and program | |
JP7379875B2 (ja) | 制御装置およびその保守支援装置 | |
JP2010102454A (ja) | 情報処理装置、情報処理プログラム | |
CN116126832A (zh) | 数据库切换方法、切换装置、电子设备及存储介质 | |
CN113342376B (zh) | 一种针对物联网设备的操作系统进行升级的方法及装置 | |
JP2009048358A (ja) | 情報処理装置及びスケジューリング方法 | |
JP5627414B2 (ja) | 動作ログ収集システム及びプログラム | |
JP2022093876A (ja) | 制御装置およびその保守支援装置 | |
CN114168389A (zh) | Cad文件的恢复方法、装置、存储介质及处理器 | |
CN114661432A (zh) | 任务调度方法、装置、设备及存储介质 | |
CN111221701A (zh) | 一种芯片及其电路逻辑重构系统 | |
CN111563000A (zh) | 一种文件生成方法、智能终端及存储介质 | |
JP2004185345A (ja) | デバッグ方法およびシステム | |
JP2008090699A (ja) | トレースロギング方法、装置及びプログラム | |
KR102497257B1 (ko) | 오토사 플랫폼의 메인 기능과 태스크의 매핑 방법 | |
KR102102599B1 (ko) | 사물인터넷 디바이스의 제어 소프트웨어 검증 장치 및 그 방법 | |
JP4941309B2 (ja) | システム管理プログラムおよびシステム管理装置 | |
CN114625601A (zh) | 任务监控方法、记录介质以及计算机装置 | |
JP2009123108A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220516 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230222 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230418 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230615 |
|
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: 20231003 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231016 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7379875 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |