JP5636943B2 - スタックオーバーフローの検出方法、プログラム、モータシステムおよび搬送装置 - Google Patents
スタックオーバーフローの検出方法、プログラム、モータシステムおよび搬送装置 Download PDFInfo
- Publication number
- JP5636943B2 JP5636943B2 JP2010280986A JP2010280986A JP5636943B2 JP 5636943 B2 JP5636943 B2 JP 5636943B2 JP 2010280986 A JP2010280986 A JP 2010280986A JP 2010280986 A JP2010280986 A JP 2010280986A JP 5636943 B2 JP5636943 B2 JP 5636943B2
- Authority
- JP
- Japan
- Prior art keywords
- area
- key
- watchdog
- stack
- watchdog timer
- 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
Description
そこで、この発明は、上記従来の未解決の問題点に着目してなされたものであり、スタックオーバーフローの検出の確実性をより向上させることの可能なスタックオーバーフローの検出方法、プログラム、モータシステムおよび搬送装置を提供することを目的としている。
また、請求項3にかかるスタックオーバーフローの検出方法は、前記境界領域と前記ワーク領域の1または複数の領域との全てに、同一のウォッチドッグタイマキーを格納することを特徴としている。
また、請求項4にかかるスタックオーバーフローの検出方法は、前記境界領域と前記ワーク領域の1または複数の領域とに、それぞれ異なるウォッチドッグタイマキーを格納することを特徴としている。
さらに、請求項5にかかるスタックオーバーフローの検出方法は、前記マイクロコンピュータは、アクチュエータ駆動制御用のマイクロコンピュータであることを特徴としている。
さらにまた、請求項6にかかるスタックオーバーフローの検出方法は、前記マイクロコンピュータは、モータ駆動制御用のマイクロコンピュータであることを特徴としている。
また、請求項7にかかるプログラムは、スタック領域と当該スタック領域に隣接したワーク領域とを備えた記憶手段を有し、前記スタック領域へのデータの書き込みを行い所定の処理を実行するマイクロコンピュータに実行させる、スタックオーバーフローを検出するためのプログラムであって、前記マイクロコンピュータは、予め設定されたウォッチドッグタイマキーを用いてリセット操作が行われるとともにタイムアウトしたときまたは前記ウォッチドッグタイマキーを用いた所定のリセット操作が行われないときに前記マイクロコンピュータに対して所定の異常時の処理を実行するウォッチドッグタイマを有し、起動時に、前記スタック領域の前記ワーク領域との境界領域と、前記ワーク領域の1または複数の領域とに、前記ウォッチドッグタイマキーを格納するステップと、前記リセット操作を行うときにはその都度、前記境界領域と前記1または複数の領域とのうち前記ウォッチドッグタイマキーを読み出す領域を順次切り替え、当該領域から前記ウォッチドッグタイマキーを読み出して前記リセット操作を行うステップと、を有する処理を前記マイクロコンピュータに実行させることを特徴としている。
さらに、請求項8にかかるモータシステムは、請求項7記載のプログラムを備えることを特徴としている。
さらにまた、請求項9にかかる搬送装置は、請求項8記載のモータシステムを備えることを特徴としている。
図1は、本発明によるスタックオーバーフローの検出方法をメガトルクモータなどのダイレクトドライブモータを用いて、例えば搬送装置などを駆動するモータシステムに適用したものである。
図1において、1はモータコアにレゾルバが組み込まれたメガトルクモータなどのモータ、2はモータ1を駆動制御するドライブユニット、3はドライブユニット2へモータ回転指令などの指令信号を出力するプログラマブルコントローラ等の上位装置である。
ここで、前記モータ1としてのメガトルクモータは、高分解能の検出器を内蔵し高速高精度の位置決めが可能なダイレクトドライブモータであって、例えば日本精工株式会社製のメガトルクモータ PSシリーズ/PNシリーズ等を適用することができる。
ウォッチドッグタイマ105は図示しないウォッチドッグカウンタを有し、リセット操作が行われたときにはウォッチドッグカウンタをリセットし、ウォッチドッグカウンタがその最大値を超えてタイムアウトしたときには、CPU本体101をリセットするためのリセット信号をCPU本体101に出力し、CPU本体101の動作を停止させる。
DSP21aは、起動されると、まず初期処理を実行し、ROM104からモータ1の駆動制御処理プログラムやこの駆動制御処理プログラムで必要な各種制御定数などを読み出しRAM103のワーク領域a2に書き込む。また、ROM104に格納されている第1のウォッチドッグキーKY1および第2のウォッチドッグキーKY2をRAM103のウォッチドッグキー領域a11に書き込む。
これによって、モータ1の駆動制御が定周期で実行されるとともに、この定周期と同期して、第1のウォッチドッグキーKY1および第2のウォッチドッグキーKY2がウォッチドッグタイマ105のウォッチドッグキー書き込み領域105aにこの順に書き込まれる。これら第1のウォッチドッグキーKY1および第2のウォッチドッグキーKY2の書き込みは、ウォッチドッグタイマ105のカウンタがタイムアウトしないタイミングである。このため、ウォッチドッグタイマ105は、モータ1の駆動制御処理が実行される定周期のタイミングでリセット操作が行われることになる。
このため、スタック領域1aがオーバーフローすることによってデータの書き換えが行われたワーク領域2aの、誤ったデータに基づいてモータ1の駆動制御処理が実行されることが回避される。
ウォッチドッグタイマ105がタイムアウトするまでの所要時間に応じて、第1ウォッチドッグキーKY1の書き込み処理および第2ウォッチドッグキーKY2の書き込み処理を、モータ1の駆動制御処理とは独立に実行するように構成してもよい。
また、上記実施の形態においては、図3に示すように、スタック領域a1の、ワーク領域a2との境界部分に1つのウォッチドッグキー領域a11を設けた場合について説明したがこれに限るものではない。
このように、複数のウォッチドッグキー領域を設けることにより、以下の効果を得ることができる。
なお、ワーク領域a2にウォッチドッグキー領域を設けた場合には、このウォッチドッグキー領域は、ワーク領域として利用しないように構成する必要がある。
全てのウォッチドッグキー領域に同一のウォッチドッグキーを格納した場合には、上記と同様に、ウォッチドッグタイマ105において、第1ウォッチドッグキーKY1、第2ウォッチドッグキーKY2の順に、所定のウォッチドッグキー書き込み領域105aに書き込まれたときにリセット操作が行われたと判断すればよい。
なお、この監視キー領域も、スタック領域に複数設けてもよい。
2 ドライブユニット
101 CPU本体
103 RAM(記憶手段)
104 ROM
105 ウォッチドッグタイマ
105a ウォッチドッグキー書き込み領域
KY1 第1ウォッチドッグキー(ウォッチドッグタイマキー)
KY2 第2ウォッチドッグキー(ウォッチドッグタイマキー)
Claims (9)
- スタック領域と当該スタック領域に隣接したワーク領域とを備えた記憶手段を有し、前記スタック領域へのデータの書き込みを行い所定の処理を実行するマイクロコンピュータにおける、スタックオーバーフローの検出方法であって、
前記マイクロコンピュータは、予め設定されたウォッチドッグタイマキーを用いてリセット操作が行われるとともにタイムアウトしたときまたは前記ウォッチドッグタイマキーを用いた所定のリセット操作が行われないときに前記マイクロコンピュータに対して所定の異常時の処理を実行するウォッチドッグタイマを有し、
起動時に、前記スタック領域の前記ワーク領域との境界領域と、前記ワーク領域の1または複数の領域とに、前記ウォッチドッグタイマキーを格納し、
前記リセット操作を行うときにはその都度、前記境界領域と前記1または複数の領域とのうち前記ウォッチドッグタイマキーを読み出す領域を順次切り替え、当該領域から前記ウォッチドッグタイマキーを読み出して前記リセット操作を行うことを特徴とするスタックオーバーフローの検出方法。 - 前記ウォッチドッグタイマキーとして第1および第2のウォッチドッグタイマキーが設定され、
前記リセット操作は、前記第1のウォッチドッグタイマキーを所定の書き込み領域に書き込んだ後、前記第2のウォッチドッグタイマキーを前記書き込み領域に書き込む操作であることを特徴とする請求項1に記載のスタックオーバーフローの検出方法。 - 前記境界領域と前記ワーク領域の1または複数の領域との全てに、同一のウォッチドッグタイマキーを格納することを特徴とする請求項1または請求項2記載のスタックオーバーフローの検出方法。
- 前記境界領域と前記ワーク領域の1または複数の領域とに、それぞれ異なるウォッチドッグタイマキーを格納することを特徴とする請求項1または請求項2記載のスタックオーバーフローの検出方法。
- 前記マイクロコンピュータは、アクチュエータ駆動制御用のマイクロコンピュータであることを特徴とする請求項1から請求項4のいずれか1項に記載のスタックオーバーフローの検出方法。
- 前記マイクロコンピュータは、モータ駆動制御用のマイクロコンピュータであることを特徴とする請求項1から請求項4のいずれか1項に記載のスタックオーバーフローの検出方法。
- スタック領域と当該スタック領域に隣接したワーク領域とを備えた記憶手段を有し、前記スタック領域へのデータの書き込みを行い所定の処理を実行するマイクロコンピュータに実行させる、スタックオーバーフローを検出するためのプログラムであって、
前記マイクロコンピュータは、予め設定されたウォッチドッグタイマキーを用いてリセット操作が行われるとともにタイムアウトしたときまたは前記ウォッチドッグタイマキーを用いた所定のリセット操作が行われないときに前記マイクロコンピュータに対して所定の異常時の処理を実行するウォッチドッグタイマを有し、
起動時に、前記スタック領域の前記ワーク領域との境界領域と、前記ワーク領域の1または複数の領域とに、前記ウォッチドッグタイマキーを格納するステップと、
前記リセット操作を行うときにはその都度、前記境界領域と前記1または複数の領域とのうち前記ウォッチドッグタイマキーを読み出す領域を順次切り替え、当該領域から前記ウォッチドッグタイマキーを読み出して前記リセット操作を行うステップと、を有する処理を前記マイクロコンピュータに実行させることを特徴とするプログラム。 - 請求項7記載のプログラムを備えることを特徴とするモータシステム。
- 請求項8記載のモータシステムを備えることを特徴とする搬送装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010280986A JP5636943B2 (ja) | 2010-12-16 | 2010-12-16 | スタックオーバーフローの検出方法、プログラム、モータシステムおよび搬送装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010280986A JP5636943B2 (ja) | 2010-12-16 | 2010-12-16 | スタックオーバーフローの検出方法、プログラム、モータシステムおよび搬送装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012128743A JP2012128743A (ja) | 2012-07-05 |
JP5636943B2 true JP5636943B2 (ja) | 2014-12-10 |
Family
ID=46645666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010280986A Active JP5636943B2 (ja) | 2010-12-16 | 2010-12-16 | スタックオーバーフローの検出方法、プログラム、モータシステムおよび搬送装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5636943B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107729240B (zh) * | 2017-09-30 | 2020-10-30 | 山东省科学院自动化研究所 | 嵌入式软件堆栈溢出检测方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06195476A (ja) * | 1992-07-21 | 1994-07-15 | Advanced Micro Devicds Inc | マイクロコントローラを組入れる集積回路およびそれによる電力消費を減じるための方法 |
US5454767A (en) * | 1993-12-30 | 1995-10-03 | Agco Corporation | Powershift transmission control system with turbo boost monitor |
JPH07281912A (ja) * | 1994-04-07 | 1995-10-27 | Nippondenso Co Ltd | スタック異常検出装置 |
JP2008172896A (ja) * | 2007-01-10 | 2008-07-24 | Nsk Ltd | 車両用電動機の制御装置 |
-
2010
- 2010-12-16 JP JP2010280986A patent/JP5636943B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012128743A (ja) | 2012-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5911922B2 (ja) | 安全関連制御ユニットおよび自動化設備の制御方法 | |
CN100549986C (zh) | 信息处理装置 | |
JP6816345B2 (ja) | 駆動制御装置 | |
RU2520399C2 (ru) | Микрокомпьютер и способ его работы | |
US20150234661A1 (en) | Semiconductor integrated circuit device and system using the same | |
US20120266022A1 (en) | Method for Verifying an Application Program in a Failsafe Programmable Logic Controller, and Programmable Logic Controller for Performing the Method | |
JP4917604B2 (ja) | 記憶装置構成およびその駆動方法 | |
US20090259899A1 (en) | Method and apparatus for automatic scan completion in the event of a system checkstop | |
US20210124655A1 (en) | Dynamic Configurable Microcontroller Recovery | |
JP5041290B2 (ja) | プログラマブルコントローラおよびその異常時復旧方法 | |
CN1173264C (zh) | 保护计算机的核心免受外部窜改的方法 | |
JP5636943B2 (ja) | スタックオーバーフローの検出方法、プログラム、モータシステムおよび搬送装置 | |
JP2009129463A (ja) | 車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法 | |
JP6007677B2 (ja) | 安全制御システム、及び安全制御システムのプロセッサ | |
KR20100010390A (ko) | 마이크로컴퓨터와 마이크로컴퓨터의 제어방법 | |
JP2016066139A (ja) | 車両制御装置 | |
JP6502211B2 (ja) | 車両制御装置 | |
JP5627414B2 (ja) | 動作ログ収集システム及びプログラム | |
JP2020016511A (ja) | 半導体集積回路および回転検出装置 | |
JP2019168835A (ja) | 電子制御装置 | |
JP2011039667A (ja) | 数値制御装置 | |
JP2009520290A (ja) | 耐故障性があるプロセッサシステム | |
EP2615423B1 (en) | Method for checking the operability of a digital signal processing unit of a position sensor and position encoder | |
JP5057911B2 (ja) | マルチプロセッサシステム | |
JP2014225110A (ja) | 安全コントローラ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20131003 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140520 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140603 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140716 |
|
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: 20140924 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141007 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5636943 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |