JP2527809B2 - プログラマブルコントロ―ラおよびその計時処理方法 - Google Patents

プログラマブルコントロ―ラおよびその計時処理方法

Info

Publication number
JP2527809B2
JP2527809B2 JP1126411A JP12641189A JP2527809B2 JP 2527809 B2 JP2527809 B2 JP 2527809B2 JP 1126411 A JP1126411 A JP 1126411A JP 12641189 A JP12641189 A JP 12641189A JP 2527809 B2 JP2527809 B2 JP 2527809B2
Authority
JP
Japan
Prior art keywords
interrupt
time
timer
processing
stored
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
Application number
JP1126411A
Other languages
English (en)
Other versions
JPH02306306A (ja
Inventor
新一 尼崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP1126411A priority Critical patent/JP2527809B2/ja
Publication of JPH02306306A publication Critical patent/JPH02306306A/ja
Application granted granted Critical
Publication of JP2527809B2 publication Critical patent/JP2527809B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Programmable Controllers (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] この発明は、プログラマブルコントローラに係り、特
に割込みに対するシーケンスプログラム中でのタイマ処
理に関するものである。
[従来の技術] 第8図は、従来プログラマブルコントローラの構成を
示し、図中、(1)はプログラマブルコントローラ(以
下PCと略記する)のCPUユニット、(1−1)はマイク
ロプロセッサ、(1−2)はユーザーにより作成される
シーケンスプログラムが格納されるシーケンスプログラ
ムメモリ、(1−3)は前記シーケンスプログラムによ
り演算アクセスされるデバイスメモリ、(1−4)は制
御プログラムが格納される制御プログラムメモリ、(1
−5)は前記制御プログラムにより使用されるワークメ
モリ、(1−7)は時間回路、(2)は入出力ユニット
である。なお、マイクロプロセッサ(1−1)はシーケ
ンスプログラムにもとづき制御プログラムを実行する。
第9図は前記シーケンスプログラムメモリ(1−2)
に格納されている一例のシーケンスプログラムを示す図
であり、図において、(3)は所定時間毎に繰返しスキ
ャンされる常時スキャンプログラム、(3−1)はシー
ケンスプログラム中のタイマT0の処理命令、例えばタイ
マT0のタイマ命令である。第10図は、前記ワークメモリ
(1−5)の構成の一部を示す図であり、(1−5−
1)は前回のプログラム実行終了時刻から今回のプログ
ラム実行終了時刻までの経過時間を格納する経過時間エ
リア、(1−5−2)は今回のプログラム実行終了時刻
を格納する時刻エリアである。さらに第11図は、タイマ
処理の手順を示すフローチャート、第12図はEND時の処
理の手順を示すフローチャート、第13図および第14図タ
イマの動作例を示すタイムチャート、第13図および第14
図はタイマの動作例を示すタイムチャートである。
次に、動作について説明する。PCは、常時スキャンプ
ログラム3を実行し、実行終了時にEND処理を行う。こ
れを常時繰り返している。ところで、END処理時には第1
2図に示すように時間回路(1−7)から現在の時刻を
読み込み(ステップ5−1)、前回読み込んだ時刻との
時間差を経過時間エリア(1−5−1)にセットする
(ステップ5−2)、そして次回での処理のために、ス
テップ5−1で読み込んだ現在の時刻を時刻エリア(1
−5−2)にセットする(ステップ5−3)。次に、常
時スキャンプログラム(3)でのタイマ命令処理では第
11図に示すようにタイマ命令の入力条件(第9図の例で
はX0)を判別し(ステップ4−1)、それがOFFなら
ば、タイマリセットであるので、タイマの現在値を0と
し(ステップ4−6)、タイマの接点(第9図の例では
タイマT0の接点)をOFFにする(ステップ4−7)。
又、入力条件がONであるならば、タイマの接点を判別し
(ステップ4−2)、ONならばすでにタイマアップして
いるので何もせず、OFFならばタイマ計時中であるの
で、タイマの計時開始時からの経過時間を示すタイマの
現在値に経過時間エリア(1−5−1)の値を加算する
(ステップ4−3)。加算した結果のタイマの現在値が
プログラム中に書かれた設定値よりも小さければ未タイ
ムアップであり、何もせず、大きければタイマアップし
たので、タイマの接点をONする(ステップ4−5)。な
お、各タイマの現在値およびその接点の状態はデバイス
メモリ(1−3)の中に割り付けられた所定のアドレス
に格納されている。
又、第9図のタイマT0のタイマ命令(3−1)はX0が
ON後、200msでタイアップするタイマ命令であり、この
動作例を第13図に示す。なお、第13図におけるがタイ
マT0に対するタイマ命令処理を実行しているところであ
り、最終的には最初の実行終了より150ms経過した後の
さらに50ms経過後、すなわち、200ms経過してタイムア
ップする。
[発明が解決しようとする課題] ところで、PCは、その適用範囲の広がりとともに、よ
り一層のリアルタイム処理が要求され、外部入力割込み
や、定周期割込み毎に、所定の割込みシーケンスプログ
ラムを実行するという割込み処理機能がほぼ必須となっ
てきている。外部割込みとしては、ランダムなタイミン
グでのものや、高速に変化する入力信号によるある程度
定期的なものがある。従来の割込み処理機能としては、
割込み発生時に、該当割込みに対する割込みシーケンス
プログラムを実行するだけであるため、割込みシーケン
ス中にタイマ命令を記述した場合、正常にタイマが動作
しないという問題点があった。即ち、タイマ命令では、
常時スキャンプログラムの実行時間間隔に基づき、タイ
マ処理するため、例えば常時スキャンプログラムの実行
中に2回の頻度で割込みが発生した場合、例えば第14図
に示すよう50ms経過後の1常時スキャン中に、2回の割
込み処理が発生すると各割込み処理では経過時間50msを
加算し、実際は経過時間が0+50msであるが、0+50ms
+50msと加算し、100msとして経過時間エリアに格納し
てしまう。その後、60ms経過後の1常時スキャンでも2
回の割込みが発生するので、前記経過時間100ms+60ms
+60msを加算し、220msの経過時間を演算してしまう。
従って、この加算値(220ms)をもとに、タイムアップ
を判定すると、実際の経過時間より2倍早い経過時間を
演算し、正確なタイマ処理は不可能となる。
なお、上記の問題点は特開昭63−136201号公報の発明
で解決できるが、この発明はタイマ点数分のタイムベー
スレジスタ前回値テーブルが必要となり、メモリ効率が
悪い。つまり、1000点のタイマを処理する場合、従来の
PCに比べて、1000点分のタイムベースレジスタ前回値が
余分に必要になり、従って、同じメモリ容量だとする
と、タイマの処理できる点数が減ってしまう。PCの処理
点数も増大の一途であり、今後ますますタイマ処理点数
も増えていく。
この発明は、上記のような問題点を解消するためにな
されたものであり、割込み処理機能を有するPCにおい
て、所定の割込みシーケンスプログラム中のタイマ命令
も正常に動作することができるとともにメモリ容量の増
大化によるコストアップが防止されたPCを得ることを目
的とする。
[課題を解決するための手段] この発明によるプログラマブルコントローラの計時処
理方法は、所定数の割込信号のいずれかの割込信号が発
生した時に、割込信号別に割込発生時刻が記憶されてい
る記憶手段の所定数の割込時刻エリアのうち当該する割
込時刻エリアの記憶内容を今回割込発生時刻から減算す
ることによりこの割込信号についての前回割込発生時か
ら今回割込発生時までの経過時間を求め記憶手段の経過
時間エリアに記憶するとともに、この割込時刻エリアに
今回割込発生時刻を格納する動作を演算処理手段が実行
する段階と、この割込信号にもとづき実行される割込処
理プログラム中に記述されているタイマの処理命令が実
行された時に経過時間エリアの記憶内容をタイマの現在
値に加算してタイマの現在値を更新するとともに、タイ
マの現在値と予め設定されているタイマのタイムアップ
設定値とを比較し、この比較結果によりタイマのタイム
アップ判定を行う動作を演算処理手段が実行する段階
と、を有するようにしたものである。
また、この発明に係るプログラマブルコントローラ
は、割込発生時刻を割込信号別に記憶する所定数の割込
時刻エリアおよび前回割込発生時から今回割込発生時ま
での経過時間を記憶する経過時間エリアを有する記憶手
段と、いずれかの割込信号が発生した時に割込発生時刻
から当該する割込時刻エリアの記憶内容を減算すること
によりこの割込信号についての経過時間を求め経過時間
エリアに記憶するとともに、この割込時刻エリアに今回
の割込発生時刻を格納し、この割込信号にもとづき実行
される割込処理プログラム中に記述されているタイマの
処理命令が実行された時に経過時間エリアの記憶内容を
タイマの現在値に加算してタイマの現在値を更新すると
ともに、タイマの現在値と予め設定されているタイマの
タイムアップ設定値とを比較し、この比較結果によりタ
イマのタイムアップ判定を行う演算処理手段と、を備え
るようにしたものである。
[作用] この発明におけるプログラマブルコントローラの計時
処理方法は、所定数の割込信号のいずれかの割込信号が
発生した時に、割込信号別に割込発生時刻が記憶されて
いる記憶手段の所定数の割込時刻エリアのうち当該する
割込時刻エリアの記憶内容を今回割込発生時刻から減算
することによりこの割込信号についての前回割込発生時
から今回割込発生時までの経過時間を求め記憶手段の経
過時間エリアに記憶するとともに、この割込時刻エリア
に今回割込発生時刻を格納する動作を演算処理手段が実
行する段階と、この割込信号にもとづき実行される割込
処理プログラム中に記述されているタイマの処理命令が
実行された時に経過時間エリアの記憶内容をタイマの現
在値に加算してタイマの現在値を更新するとともに、タ
イマの現在値と予め設定されているタイマのタイムアッ
プ設定値とを比較し、この比較結果によりタイマのタイ
ムアップ判定を行う動作を演算処理手段が実行する。
[実施例] 以下、この発明の一実施例を図について説明する。
第1図はPCの構成を示した図であり、図中、(1)は
PCのCPUユニット、(1−1)は演算処理手段、例え
ば、マイクロプロセッサである。(1−2)はユーザー
により作成されるシーケンスプログラムが格納されるシ
ーケンスプログラムメモリ、(1−3)は前記シーケン
スプログラムにより演算アクセスされるデバイスメモ
リ、(1−4)は制御プログラムが格納される制御プロ
グラムメモリ、(1−5)は前記制御プログラムにより
使用されるワークメモリ、(1−6)は一定周期の割込
信号を発生する定周期割込み発生回路、(1−7)は時
間回路、(2)は入出力ユニット、(2−1)は外部入
力割込み時のCPUへの割込み信号である。
第2図は前記シーケンスプログラムメモリ(1−2)
に格納されているシーケンスプログラムを示す図であ
り、図において、(3)は常時スキャンプログラム、
(3−1)はタイマT0のタイマ命令、(4)は割込みシ
ーケンスプログラム、(4−1)はタイマT1のタイマ命
令である。
第3図は、前記ワークメモリ(1−5)の構成の一部
であり、(1−5−1)は、タイマ命令処理で用いるた
めの経過時間エリア、(1−5−2)は常時スキャンプ
ログラム用の時刻エリア、(1−5−3)は各割込み対
応の割込時刻エリア、例えば、時刻エリアである。
第4図は、タイマ処理の手順を示すフローチャート、
第5図はEND時の処理の手順を示すフローチャート、第
6図は割込み発生時の処理を示すフローチャート、第7
図はタイマの動作例を示すタイムチャートである。
次に、動作について説明する。PCは、常時スキャンプ
ログラム(3)を実行し、実行終了時には、END処理を
行う。これを常時繰り返している。但し、内部割込み
(定周期割込み)や、外部入力割込みが生じた時は、直
ちに常時スキャンプログラム又はEND処理を中断し、所
定の割込みシーケンスプログラムを実行する。尚、END
処理時のタイマのための処理も従来と同一であるので詳
細な説明は省略する。
以下、割込み処理について第6図のフローチャートに
従って説明する。今、割込みが発生した場合は、タイマ
命令処理のための経過時間エリア(1−5−1)をワー
クメモリ(1−5)の所定のエリアに退避する(ステッ
プ6−1)。次に、現在の時刻を時間回路(1−7)か
ら読み込む(ステップ6−2)、次に該当割込みに対応
する割込み用時刻エリア(1−5−3)との時間差を算
出し、タイマ命令処理のために経過時間エリア(1−5
−1)に、この時間差を経過時間としてセットする(ス
テップ6−3)。そして、次回の処理のためにステップ
6−2で読み込んだ時刻を該当割込みに対応する割込み
用時刻エリア(1−5−3)にセットする(ステップ6
−4)。次に、該当割込みに対応する所定の割込みシー
ケンスプログラムを実行する(ステップ6−5)。この
割込みプログラム中にタイマ命令があれば第4図のフロ
ーチャートに示すタイマ処理を行う。即ち、ステップ4
−1,4−2を通し、入力条件がON、タイマの接点状態がO
FFであれば、経過時間エリア(1−5−1)より経過時
間を読み出し、該経過時間にタイマの現在値を加算し、
タイマの現在値とする(ステップ4−3)。
次に、この現在値とタイムアップ設定値とを比較し
(ステップ4−4)、現在値がタイムアップ設定値以下
であれば、今回の割込みにおけるこのタイマの処理を終
了する。また、現在値≧タイムアップ設定値であればこ
のタイマの接点をONにして今回の割込みにおけるこのタ
イマの処理を終了する。タイマ動作の一例について第7
図のタイムチャートに従って説明すると、図において先
ず、割込み経過時間を0msとし、次に20msの時間をおい
て割込みが発生するので、割込み経過時間は0ms+20ms
で20msとなり、この加算値がタイマの現在値となる。そ
して次に30msの時間をおいて割込みが発生するので割込
み経過時間は、20ms(現在値)+30ms=50msとなり、現
在値を50msに更新する。以上の動作を繰り返し、現在値
が180msとなり、さらに、20ms経過した時間で割込みが
発生すると現在値は200msとなりタイムアップ設定値と
同等になる。
なお、第7図においてが常時スキャン動作中のT0に
対するタイマ命令処理を実行するところ、が割込み処
理中のT1に対するタイマ命令処理をするところである。
なお、1つの割込みプログラム中に複数のタイマ命令
がある場合には、それぞれのタイマ別に時刻エリアを設
けないでよいので、すなわち、1つの割込みプログラム
中の複数のタイマ命令は、いずれも同一の時刻エリアの
内容を前回の割込発生時刻として共用できるので、例え
ば特開昭63−136201号公報におけるようにタイマ点数分
のタイマベースレジスタ前回値を記憶しておかなくても
よく、メモリ容量の節約ができる。一例のプログラマブ
ルコントローラを例にとれば2048点のタイマ点数に対
し、時刻エリアは合計20程度設ければ十分である。
なお、上記実施例では、加算型のタイマ処理を示した
が、減算型のタイマなどでも良い。また、オンディレー
タイマ処理を示したが、オフディレー、ワンショットタ
イマなどでも良い。経過時間算出のために、時間回路を
示したが、時計(カレンダー)素子を使っても良いし、
リアルタイム割込みをカウントする方法でも良い。
なお、時限単位の異なる場合(例えば時限単位が10ms
タイマと100msタイマ)は、時限単位別に別々の経過時
間エリア、時刻エリアを設けるようにすることにより、
個々の経過時間エリア、時刻エリアのメモリ容量の長大
化を防止でき全体としてメモリの使用効率を向上できる
場合が多い。
[発明の効果] 以上説明したように本発明によれば、所定数の割込信
号のいずれかの割込信号が発生した時に、割込信号別に
割込発生時刻が記憶されている記憶手段の所定数の割込
時刻エリアのうち当該する割込時刻エリアの記憶内容を
今回割込発生時刻から減算することによりこの割込信号
についての前回割込発生時から今回割込発生時までの経
過時間を求め記憶手段の経過時間エリアに記憶するとと
もに、この割込時刻エリアに今回割込発生時刻を格納す
る動作を演算処理手段が実行し、この割込信号にもとづ
き実行される割込処理プログラム中に記述されているタ
イマの処理命令が実行された時に経過時間エリアの記憶
内容をタイマの現在値に加算してタイマの現在値を更新
するとともに、タイマの現在値と予め設定されているタ
イマのタイムアップ設定値とを比較し、この比較結果に
よりタイマのタイマアップ判定を行う動作を演算処理手
段が実行するので、割込みプログラム中にタイマの処理
命令を記述した場合に正常にタイマ処理ができるととも
に、同一の割込みプログラム中に複数のタイマの処理命
令が記述されている場合において所要メモリ容量の増大
化を防止できる効果がある。
【図面の簡単な説明】
第1図は、本発明の一実施例によるPCの構成図、第2図
はシーケンスプログラムメモリ例を示す図、第3図はワ
ークメモリ例を示す図、第4図はタイマ処理手順を示す
フローチャート、第5図はEND処理手順を示すフローチ
ャート、第6図は割込み時の処理を示すフローチャー
ト、第7図はタイマ動作例を示すタイムチャート、第8
図は従来のPCの構成図、第9図は従来のシーケンスプロ
グラムメモリに格納されている一例のシーケンスプログ
ラムを示す図、第10図は従来のワークメモリの記憶内容
例を示す図、第11図は従来のタイマ処理手順を示すフロ
ーチャート、第12図はEND時の処理手順を示すフローチ
ャート、第13図及び第14図は従来におけるタイマ動作例
を示すタイムチャートである。 図において、(1−1)はマイクロプロセッサ、(1−
2)はシーケンスプログラムメモリ、(1−3)はデバ
イスメモリ、(1−5)はワークメモリ、(1−6)は
定周期割込み発生回路、(1−7)は時間回路、(3)
は常時スキャンプログラム、(3−1)は割込み処理中
のタイマT1のタイマ命令、(4)は割込みプログラムで
ある。 尚、図中、同一符号は同一、又は相当部分を示す。

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】所定数の割込信号のいずれかの割込信号が
    発生した時に、割込信号別に割込発生時刻が記憶されて
    いる記憶手段の所定数の割込時刻エリアのうち当該する
    上記割込時刻エリアの記憶内容を今回割込発生時刻から
    減算することによりこの割込信号についての前回割込発
    生時から今回割込発生時までの経過時間を求め上記記憶
    手段の経過時間エリアに記憶するとともに、この割込時
    刻エリアに今回割込発生時刻を格納する動作を演算処理
    手段が実行する段階と、この割込信号にもとづき実行さ
    れる割込処理プログラム中に記述されているタイマの処
    理命令が実行された時に上記経過時間エリアの記憶内容
    を上記タイマの現在値に加算して上記タイマの現在値を
    更新するとともに、上記タイマの現在値と予め設定され
    ている上記タイマのタイムアップ設定値とを比較し、こ
    の比較結果により上記タイマのタイムアップ判定を行う
    動作を上記演算処理手段が実行する段階と、を有するこ
    とを特徴とするプログラマブルコントローラの計時処理
    方法。
  2. 【請求項2】割込発生時刻を割込信号別に記憶する所定
    数の割込時刻エリアおよび前回割込発生時から今回割込
    発生時までの経過時間を記憶する経過時間エリアを有す
    る記憶手段と、いずれかの上記割込信号が発生した時に
    割込発生時刻から当該する上記割込時刻エリアの記憶内
    容を減算することによりこの割込信号についての上記経
    過時間を求め上記経過時間エリアに記憶するとともに、
    この割込時刻エリアに今回の割込発生時刻を格納し、こ
    の割込信号にもとづき実行される割込処理プログラム中
    に記述されているタイマの処理命令が実行された時に上
    記経過時間エリアの記憶内容を上記タイマの現在値に加
    算して上記タイマの現在値を更新するとともに、上記タ
    イマの現在値と予め設定されている上記タイマのタイム
    アップ設定値とを比較し、この比較結果により上記タイ
    マのタイムアップ判定を行う演算処理手段と、を備えた
    プログラマブルコントローラ。
JP1126411A 1989-05-19 1989-05-19 プログラマブルコントロ―ラおよびその計時処理方法 Expired - Lifetime JP2527809B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1126411A JP2527809B2 (ja) 1989-05-19 1989-05-19 プログラマブルコントロ―ラおよびその計時処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1126411A JP2527809B2 (ja) 1989-05-19 1989-05-19 プログラマブルコントロ―ラおよびその計時処理方法

Publications (2)

Publication Number Publication Date
JPH02306306A JPH02306306A (ja) 1990-12-19
JP2527809B2 true JP2527809B2 (ja) 1996-08-28

Family

ID=14934497

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1126411A Expired - Lifetime JP2527809B2 (ja) 1989-05-19 1989-05-19 プログラマブルコントロ―ラおよびその計時処理方法

Country Status (1)

Country Link
JP (1) JP2527809B2 (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS629418A (ja) * 1985-07-05 1987-01-17 Fujitsu Ltd タイマ制御方式

Also Published As

Publication number Publication date
JPH02306306A (ja) 1990-12-19

Similar Documents

Publication Publication Date Title
KR940704020A (ko) 가공 종료시각을 예측하는 수치 제어장치
US4722043A (en) Control system with changable time-shared execution of ladder and non-ladder programs
JPH11514120A (ja) デジタルコンピュータにおけるアプリケーションプログラムの性能を規制するための方法
JP2527809B2 (ja) プログラマブルコントロ―ラおよびその計時処理方法
JP2752514B2 (ja) Cnc装置のプロブラム実行方式
JPH11232148A (ja) 計算機の負荷率計測方法及び計測システム
US5124620A (en) Control method for robots
JP2663540B2 (ja) プログラマブル制御装置
JP3538358B2 (ja) プログラマブル・コントローラ
JP2906254B2 (ja) プログラマブル・コントローラ
KR950013602B1 (ko) 주파수 측정장치
JPH06259115A (ja) プログラマブルコントローラ
JPS616704A (ja) プログラマブル・コントロ−ラ
KR20010005909A (ko) 프로그램 가능 제어 시스템
JP2000207003A (ja) プログラマブルコントロ―ラ
JPH03105503A (ja) プログラマブルコントローラ
JPH04205152A (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
JP2522401B2 (ja) プログラマブルコントロ―ラ
JPH0380304A (ja) シーケンス処理におけるタイマ,カウンタの処理方法
JPH0630055B2 (ja) 情報処理装置
JPS6254345A (ja) ウオツチドツグタイマ制御装置
JPH0769728B2 (ja) プログラマブルコントローラ
JPH1055204A (ja) プログラマブルコントローラ
JPS63104145A (ja) タイマ割込処理方法