JP2906254B2 - プログラマブル・コントローラ - Google Patents
プログラマブル・コントローラInfo
- Publication number
- JP2906254B2 JP2906254B2 JP23109589A JP23109589A JP2906254B2 JP 2906254 B2 JP2906254 B2 JP 2906254B2 JP 23109589 A JP23109589 A JP 23109589A JP 23109589 A JP23109589 A JP 23109589A JP 2906254 B2 JP2906254 B2 JP 2906254B2
- Authority
- JP
- Japan
- Prior art keywords
- time
- reference clock
- execution
- timer
- user program
- 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.)
- Expired - Lifetime
Links
Landscapes
- Programmable Controllers (AREA)
Description
【発明の詳細な説明】 《産業上の利用分野》 この発明は、内蔵した基準クロックにもとづいて作動
するタイマ命令機能を有するプログラマブル・コントロ
ーラ(以下PCと言う)に関する。
するタイマ命令機能を有するプログラマブル・コントロ
ーラ(以下PCと言う)に関する。
《従来の技術》 タイマ命令機能を有するPCにおいてタイマ要素の現在
値をデクリメント、またはインクリメントする更新処理
は、内蔵する基準クロックにもとづいておこなわれてい
る。基準クロックは一定周期で状態値が反転するように
構成されており、この基準クロックの状態値を、あらか
じめ定められたタイミングでチェックし、基準クロック
の状態値が、前回にチェックしたときと異なっていれ
ば、更新必要と判断しタイマ要素の現在値を更新する。
前回にチェックしたときと同じであれば、更新不要と判
断しタイマ要素の現在値を更新しない。
値をデクリメント、またはインクリメントする更新処理
は、内蔵する基準クロックにもとづいておこなわれてい
る。基準クロックは一定周期で状態値が反転するように
構成されており、この基準クロックの状態値を、あらか
じめ定められたタイミングでチェックし、基準クロック
の状態値が、前回にチェックしたときと異なっていれ
ば、更新必要と判断しタイマ要素の現在値を更新する。
前回にチェックしたときと同じであれば、更新不要と判
断しタイマ要素の現在値を更新しない。
ここでタイマ更新を判断するタイミングには、ユーザ
プログラム実行中のタイマ要素命令実行時である場合
と、ユーザプログラムの実行が一巡した後の共通処理中
である場合とがある。
プログラム実行中のタイマ要素命令実行時である場合
と、ユーザプログラムの実行が一巡した後の共通処理中
である場合とがある。
《発明が解決しようとする課題》 しかしながら、タイマ更新タイミングが前者の場合、
第6図に示すように、タイマ命令の実行間隔が基準クロ
ックの最小計測時間であるカウント単位(図では100m
s)以上に延びてしまうと、前回と今回の基準クロック
の値がともにオンであるため、100ms以上経過したにも
かかわらず、タイマ更新がおこなわれないことがある。
第6図に示すように、タイマ命令の実行間隔が基準クロ
ックの最小計測時間であるカウント単位(図では100m
s)以上に延びてしまうと、前回と今回の基準クロック
の値がともにオンであるため、100ms以上経過したにも
かかわらず、タイマ更新がおこなわれないことがある。
同様に後者の場合も、第7図に示すように、プログラ
ム実行に要するスキャンタイムが基準クロックのカウン
ト単位(図では100ms)以上に延びてしまうと、のタ
イミングに示すように100ms以上経過したにもかかわら
ず、前回と今回の基準クロックの値が同じ値であるた
め、更新値が0、すなわちタイマ更新がおこなわれない
ことがある。
ム実行に要するスキャンタイムが基準クロックのカウン
ト単位(図では100ms)以上に延びてしまうと、のタ
イミングに示すように100ms以上経過したにもかかわら
ず、前回と今回の基準クロックの値が同じ値であるた
め、更新値が0、すなわちタイマ更新がおこなわれない
ことがある。
これらの現象はユーザプログラム処理量が多くなるに
従い発生頻度が多くなり、タイマ命令の実行タイミング
を遅らせてしまうという問題になっていた。
従い発生頻度が多くなり、タイマ命令の実行タイミング
を遅らせてしまうという問題になっていた。
そこでこの発明は上記の問題を解消するためになされ
たもので、その目的とするところは、ユーザプログラム
処理時間が長くなった場合でも、基準クロックにもとづ
く更新処理の遅れを防止してタイマ命令の実行精度を正
確にしたPCを提供することにある。
たもので、その目的とするところは、ユーザプログラム
処理時間が長くなった場合でも、基準クロックにもとづ
く更新処理の遅れを防止してタイマ命令の実行精度を正
確にしたPCを提供することにある。
《課題を解決するための手段》 この発明は上記目的を達成するために、内蔵する基準
クロックにより、タイマ命令に設定されたタイマ要素の
現在値を更新処理するプログラマブル・コントローラに
おいて、サイクルタイムごとにユーザプログラムの実行
時間を計測する手段と、計測されたプログラム実行時間
と基準クロックの最小計測時間とを比較し、プログラム
実行時間が基準クロックの最小計測時間を超えた場合に
割込み信号を発生する手段と、割込み信号が発生したこ
とにより基準クロックを参照してタイマ要素の現在値を
更新処理する手段と、を有し、ユーザプログラムの実行
中においてもタイマ要素の現在値を更新することを特徴
とする。
クロックにより、タイマ命令に設定されたタイマ要素の
現在値を更新処理するプログラマブル・コントローラに
おいて、サイクルタイムごとにユーザプログラムの実行
時間を計測する手段と、計測されたプログラム実行時間
と基準クロックの最小計測時間とを比較し、プログラム
実行時間が基準クロックの最小計測時間を超えた場合に
割込み信号を発生する手段と、割込み信号が発生したこ
とにより基準クロックを参照してタイマ要素の現在値を
更新処理する手段と、を有し、ユーザプログラムの実行
中においてもタイマ要素の現在値を更新することを特徴
とする。
《作 用》 この発明においては、サイクルタイムごとにユーザプ
ログラムの実行時間を計測し、プログラム実行時間が基
準クロックの最小計測時間を越えた場合に割込み信号を
発生する。割込み信号が発生すると、基準クロックを参
照して、タイマ要素の現在値を更新処理し、プログラム
実行時間が長引いた場合にもタイマ要素の更新処理を省
くことがなくなる。
ログラムの実行時間を計測し、プログラム実行時間が基
準クロックの最小計測時間を越えた場合に割込み信号を
発生する。割込み信号が発生すると、基準クロックを参
照して、タイマ要素の現在値を更新処理し、プログラム
実行時間が長引いた場合にもタイマ要素の更新処理を省
くことがなくなる。
《実施例》 次に、この発明の実施例を図面にもとづいて説明す
る。
る。
第1図は、この発明が適用されるPCのハードウェア構
成を示すブロック図である。
成を示すブロック図である。
このPCは周知のように、バス1により接続されたCPU
2、システムメモリ3、ワークメモリ4、ユーザプログ
ラムメモリ5、I/Oメモリ6、クロック発生手段8、イ
ンターフェース回路9と、この発明の特徴であるサイク
ルタイム計測手段7とから構成されている。またインタ
ーフェース回路9には、外部の入出力機器11,12等が接
続されている。
2、システムメモリ3、ワークメモリ4、ユーザプログ
ラムメモリ5、I/Oメモリ6、クロック発生手段8、イ
ンターフェース回路9と、この発明の特徴であるサイク
ルタイム計測手段7とから構成されている。またインタ
ーフェース回路9には、外部の入出力機器11,12等が接
続されている。
このPCはシステムメモリ3に記憶されているシステム
プログラムを、CPU2が実行することでPCとしての各種機
能が実現される。
プログラムを、CPU2が実行することでPCとしての各種機
能が実現される。
第2図は、上述したPCの動作の概略をあらわすゼネラ
ルフローチャートである。
ルフローチャートである。
図に示すように、共通処理、ユーザプログラムの実行
処理、I/Oリフレッシュ処理がサイクリックに実行され
ることを示し、これらの処理が一巡する時間をサイクル
タイムという。
処理、I/Oリフレッシュ処理がサイクリックに実行され
ることを示し、これらの処理が一巡する時間をサイクル
タイムという。
次にこの発明の具体的な動作を、第3図のフローチャ
ートにもとづいて説明する。
ートにもとづいて説明する。
先ず、ユーザプログラム実行開始とともに、実行時間
の計測を開始する(ステップ301)。
の計測を開始する(ステップ301)。
ユーザプログラムを所定量、実行したとことろで(ス
テップ302)、実行時間の計測値がクロック発生手段8
から発生する基準クロックの最小単位時間である100ms
以上であるか否かをチェックする(ステップ304)。実
行時間の計測値が最小単位時間100msをオーバしない場
合は(ステップ304否定)、オーバするまでステップ302
〜304を繰返す。
テップ302)、実行時間の計測値がクロック発生手段8
から発生する基準クロックの最小単位時間である100ms
以上であるか否かをチェックする(ステップ304)。実
行時間の計測値が最小単位時間100msをオーバしない場
合は(ステップ304否定)、オーバするまでステップ302
〜304を繰返す。
実行時間の計測値が最小単位時間100msをオーバーし
た場合は(ステップ304肯定)、割り込み処理によりユ
ーザプログラムに設定されているタイマの現在値を更新
し(ステップ305)、実行時間の計測値をリセットして
(ステップ306)、再度ユーザプログラムの実行処理お
よび実行時間の監視を続ける(ステップ302〜306)。こ
れらの処理をサイクルタイムが終了し共通処理に移行す
るまで繰り返す。
た場合は(ステップ304肯定)、割り込み処理によりユ
ーザプログラムに設定されているタイマの現在値を更新
し(ステップ305)、実行時間の計測値をリセットして
(ステップ306)、再度ユーザプログラムの実行処理お
よび実行時間の監視を続ける(ステップ302〜306)。こ
れらの処理をサイクルタイムが終了し共通処理に移行す
るまで繰り返す。
なお、ステップ302に設定されるユーザプログラムの
実行量は、基準クロックの最小単位時間にくらべて充分
に小さい量である。
実行量は、基準クロックの最小単位時間にくらべて充分
に小さい量である。
また、上記のユーザプログラム実行処理後の共通処理
においても、従来と同様に基準クロックを監視してタイ
マを更新する処理がおこなわれる。
においても、従来と同様に基準クロックを監視してタイ
マを更新する処理がおこなわれる。
第4図は、他の実施例を示すフローチャートである。
この実施例では、ユーザプログラムの実行開始に先立
ち、割り込みタイマをリセットし、(ステップ401)、
さらに割り込みマスクを解除しておく(ステップ40
2)。
ち、割り込みタイマをリセットし、(ステップ401)、
さらに割り込みマスクを解除しておく(ステップ40
2)。
次いで、ユーザプログラムの実行を開始しする(ステ
ップ403)。この間、ユーザプログラムの実行時間を割
り込みタイマにより監視し、所定時間が経過したら割り
込みによりタイマの現在値を更新する(ステップ40
4)。さらに、割り込みタイマをリセットしてから(ス
テップ405)、ユーザプログラム実行にリターンする
(ステップ406)。
ップ403)。この間、ユーザプログラムの実行時間を割
り込みタイマにより監視し、所定時間が経過したら割り
込みによりタイマの現在値を更新する(ステップ40
4)。さらに、割り込みタイマをリセットしてから(ス
テップ405)、ユーザプログラム実行にリターンする
(ステップ406)。
以後これらの処理を繰り返すことにより、ユーザプロ
グラムの実行時間が長くなった場合でもタイマの更新が
省かれなくなる。
グラムの実行時間が長くなった場合でもタイマの更新が
省かれなくなる。
第5図は、上記実施例の処理経過を示したタイミング
チャートである。
チャートである。
図に示すように、命令実行処理の先頭から時間を計測
し、100msを経過した時点の割り込みでクロックの反転
をおこなう前に、記憶していたTIM No.について現在値
の更新処理をおこなう。経過時間の計測はリセットした
うえで継続する。
し、100msを経過した時点の割り込みでクロックの反転
をおこなう前に、記憶していたTIM No.について現在値
の更新処理をおこなう。経過時間の計測はリセットした
うえで継続する。
上記実施例は以上のように構成したことにより、次の
ような利点が得られる。
ような利点が得られる。
(1)タイマ要素の現在値を更新するタイミング間隔の
変動にかかわらず、タイマ要素の現在値が狂わなくな
る。
変動にかかわらず、タイマ要素の現在値が狂わなくな
る。
(2)基準クロックの最小計測時間をタイマ要素の最小
計測単位時間より小さくしなくても、現在値の誤差を少
なくすることができる。
計測単位時間より小さくしなくても、現在値の誤差を少
なくすることができる。
(3)ユーザプログラムの実行処理時間が基準クロック
の最小計測単位時間より大きくなったとき以外は、通常
の実行手順で更新処理されるため、通常時でのオーバヘ
ッド時間はほとんどない。
の最小計測単位時間より大きくなったとき以外は、通常
の実行手順で更新処理されるため、通常時でのオーバヘ
ッド時間はほとんどない。
《発明の効果》 以上のようにこの発明は、サイクルタイムごとにユー
ザプログラムの実行時間を計測し、プログラム実行時間
が基準クロックの最小計測時間を越えた場合に割込み信
号を発生する。割込み信号が発生すると、基準クロック
を参照して、タイマ要素の現在値を更新処理するように
構成したことにより、ユーザプログラム処理時間が長く
なった場合でも、基準クロックにもとづく更新処理の遅
れを防止してタイマ命令の実行精度を正確にすることが
できる。
ザプログラムの実行時間を計測し、プログラム実行時間
が基準クロックの最小計測時間を越えた場合に割込み信
号を発生する。割込み信号が発生すると、基準クロック
を参照して、タイマ要素の現在値を更新処理するように
構成したことにより、ユーザプログラム処理時間が長く
なった場合でも、基準クロックにもとづく更新処理の遅
れを防止してタイマ命令の実行精度を正確にすることが
できる。
第1図はこの発明が適用されるPCのハードウェア構成を
示すブロック図、第2図は動作の概略をあらわすゼネラ
ルフローチャート、第3図は動作を示すフローチャー
ト、第4図は同じく他の実施例を示すフローチャート、
第5図は処理経過を示したタイミングチャート、第6図
および第7図は従来例を示すタイミングチャートであ
る。 1……バス 2……CPU 3……システムメモリ 4……ワークメモリ 5……ユーザプログラムメモリ 6……I/Oメモリ 7……サイクルタイム計測手段 8……クロック発生手段 9……インターフェース回路 11……入出力機器 12……入出力機器
示すブロック図、第2図は動作の概略をあらわすゼネラ
ルフローチャート、第3図は動作を示すフローチャー
ト、第4図は同じく他の実施例を示すフローチャート、
第5図は処理経過を示したタイミングチャート、第6図
および第7図は従来例を示すタイミングチャートであ
る。 1……バス 2……CPU 3……システムメモリ 4……ワークメモリ 5……ユーザプログラムメモリ 6……I/Oメモリ 7……サイクルタイム計測手段 8……クロック発生手段 9……インターフェース回路 11……入出力機器 12……入出力機器
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G05B 19/05
Claims (1)
- 【請求項1】内蔵する基準クロックにより、タイマ命令
に設定されたタイマ要素の現在値を更新処理するプログ
ラマブル・コントローラにおいて、 サイクルタイムごとにユーザプログラムの実行時間を計
測する手段と、 計測されたプログラム実行時間と基準クロックの最小計
測時間とを比較し、プログラム実行時間が基準クロック
の最小計測時間を超えた場合に割込み信号を発生する手
段と、 割込み信号が発生したことにより基準クロックを参照し
てタイマ要素の現在値を更新処理する手段と、 を有し、ユーザプログラムの実行中においてもタイマ要
素の現在値を更新することを特徴とするプログラマブル
・コントローラ。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23109589A JP2906254B2 (ja) | 1989-09-06 | 1989-09-06 | プログラマブル・コントローラ |
AT90115524T ATE118283T1 (de) | 1989-09-06 | 1990-08-13 | Programmierbares steuerungsgerät. |
EP90115524A EP0416330B1 (en) | 1989-09-06 | 1990-08-13 | Programmable controller |
DE69016718T DE69016718T2 (de) | 1989-09-06 | 1990-08-13 | Programmierbares Steuerungsgerät. |
ES90115524T ES2067605T3 (es) | 1989-09-06 | 1990-08-13 | Controlador programable. |
US07/566,096 US5325514A (en) | 1989-09-06 | 1990-08-13 | Program executive timing apparatus for ensuring that state changes of a reference clock signal used to time the execution of the program are not missed |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23109589A JP2906254B2 (ja) | 1989-09-06 | 1989-09-06 | プログラマブル・コントローラ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0392904A JPH0392904A (ja) | 1991-04-18 |
JP2906254B2 true JP2906254B2 (ja) | 1999-06-14 |
Family
ID=16918216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23109589A Expired - Lifetime JP2906254B2 (ja) | 1989-09-06 | 1989-09-06 | プログラマブル・コントローラ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2906254B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5765000A (en) * | 1994-12-29 | 1998-06-09 | Siemens Energy & Automation, Inc. | Dynamic user interrupt scheme in a programmable logic controller |
-
1989
- 1989-09-06 JP JP23109589A patent/JP2906254B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH0392904A (ja) | 1991-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5367550A (en) | Break address detecting circuit | |
JP2004206693A (ja) | 遅延管理システムおよび管理方法 | |
JP2906254B2 (ja) | プログラマブル・コントローラ | |
JP2773546B2 (ja) | パルス発生回路 | |
JPH0366847B2 (ja) | ||
JP2924154B2 (ja) | 時間計測方式 | |
US5325514A (en) | Program executive timing apparatus for ensuring that state changes of a reference clock signal used to time the execution of the program are not missed | |
JP2000074962A (ja) | 周期計測装置および周期計測方法、並びに記録媒体 | |
JP2604562B2 (ja) | パルス間隔計測装置 | |
JP2631541B2 (ja) | プログラマブルコントローラ | |
JPH05233277A (ja) | マイクロプロセッサ | |
KR950013602B1 (ko) | 주파수 측정장치 | |
JP2557785Y2 (ja) | シングルチップマイクロコンピュータ | |
JPH02306306A (ja) | プログラマブルコントローラおよびその計時処理方法 | |
JP2731386B2 (ja) | 制御装置 | |
JP2001092692A (ja) | 時間測定回路及び時間測定方法 | |
JP3224554B2 (ja) | スケジュール制御装置 | |
JPH0392905A (ja) | プログラマブル・コントローラ | |
JP2718402B2 (ja) | インサーキット・エミュレータ内蔵用の時間測定回路 | |
JPH0619752A (ja) | マイクロコンピュータ | |
JPH01263740A (ja) | マイクロコンピュータ | |
JP3001526B1 (ja) | 割り込み処理回路及び割り込みデバッグ方法 | |
JPH0362236A (ja) | ウォッチドックタイマ装置 | |
JPH0450616B2 (ja) | ||
JPH02267642A (ja) | Cpu専有時間測定装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090402 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 11 Free format text: PAYMENT UNTIL: 20100402 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 11 Free format text: PAYMENT UNTIL: 20100402 |