JPH0926806A - プログラマブルコントローラ - Google Patents
プログラマブルコントローラInfo
- Publication number
- JPH0926806A JPH0926806A JP17474395A JP17474395A JPH0926806A JP H0926806 A JPH0926806 A JP H0926806A JP 17474395 A JP17474395 A JP 17474395A JP 17474395 A JP17474395 A JP 17474395A JP H0926806 A JPH0926806 A JP H0926806A
- Authority
- JP
- Japan
- Prior art keywords
- cycle
- start time
- read
- data
- programmable controller
- 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.)
- Granted
Links
Landscapes
- Programmable Controllers (AREA)
Abstract
の読出しを確実に実行させて、演算誤差を低減させるこ
とができるプログラマブルコントローラを提供する。 【構成】プログラマブルコントローラの起動時には、ス
テップS16でリングダウンカウンタ値TR を読込み、
TR に10を加算して、ステップS18でこの加算値に
基づいて伝送周期の開始時点を変更し、伝送周期と読出
周期の各開始時点の同期化を行う。運転中には、数10
秒毎にステップS23でリングダウンカウンタ値TR を
読込み、TR の値に応じて伝送周期の開始時点を変更し
て同様に同期化を図る。写しメモリのデータ書込みは、
伝送周期の開始時点から所定時間経過後であるので、同
期化によって写しメモリの書込み及び読出しの各タイミ
ングが一致することを回避できる。
Description
その収集データをもとに演算を行う演算処理手段とが、
個別に設けられた発振器からのクロック信号でそれぞれ
作動するプログラマブルコントローラに関する。
は、データの演算及び制御を行う演算処理部と、演算制
御部及び制御対象装置間に配設されデータの授受を行う
伝送制御部とを、各種用途向けに容易に対応できるよう
に、また、装置の保守管理を容易に行うことができるよ
うに、それぞれ独立させてモジュール化するようにして
いる。そして、この場合には、各モジュールを、それぞ
れ独立した水晶発振器による基準クロック信号で作動さ
せている。
1に示すように、水晶発振器101a、写しメモリ10
1b、及び伝送インタフェース101cを有するシリア
ル伝送制御モジュール101と、水晶発振器102a、
演算プロセッサ102b、及び入出力データメモリ10
2cを有する演算処理モジュール102とを有し、この
プログラマブルコントローラから遠隔に離れた所には、
プログラマブルコントローラの入出力部となり複数のI
/Oカプセル103aから成るリモートI/O部103
が設置されている。
12の動作説明図に示すように、分散設置されたI/O
カプセル103aとのデータ交換を、水晶発振器101
aからのクロック信号の計数によって設定される一定の
伝送周期、例えば10msec周期で行う。データ交換の例
えばデータ入力時には、順次I/Oカプセル103aが
選択され、各I/Oカプセル103aで取り込んだ入力
データは伝送インタフェース101c内のバッファに一
旦保持される。全てのI/Oカプセル103aが選択さ
れて収集データが保持されるまでの伝送所要時間は約5
msecであり、保持された入力データは伝送所要時間の最
後の時点で、写しメモリ101bに転送され、所定の記
憶領域に格納される。
晶発振器102aからのクロック信号の計数によって設
定される一定の演算周期、例えば50msec周期で、写し
メモリ101bのデータを読出して入出力データメモリ
102cに転送後、入出力データメモリ102cのデー
タを取出して演算処理を実行する。
は、各水晶発振器101a及び102aが、同一の発振
周波数を有した水晶振動子で設計されていても、部品間
のばらつきにより水晶発振器101a,102aの発振
周波数にはズレが生じる。このため、写しメモリ101
bに入力データを書込むタイミングと、写しメモリ10
1bからデータを読出して入出力データメモリ102c
にデータを転送するタイミングとが一致したときに、写
しメモリ101bの読出しが優先される場合には、入出
力データメモリ102cに50msec周期でデータを取り
込むことができなくなる。
力パルス値が90のところで写しメモリ101bの書込
みタイミングと読出しタイミングが一致した場合に、写
しメモリ101bの読出しが優先されると、入出力デー
タメモリ102cには80のデータ値が読出されて格納
され、90のデータ値が入出力データメモリ102cに
取り込むことができない。このため、例えば、電動モー
タの回転数を検出するためにモータから出力されるパル
ス数を50msec周期で演算プロセッサ102bに読込
み、パルス数の差分を演算する場合に、90のデータ値
が読込めないときには、差分値は80−40=40とな
り、次の差分値は140−80=60となり、本来の差
分値は50であるので演算結果に大きな誤差が生じてし
まう。このように、繰り返し精度の要求される制御で
は、各データが一定の周期で取り込めないと、演算結果
に大きな誤差が発生してしまうという問題があった。
解消し、演算処理モジュールによる写しメモリのデータ
の読出しを確実に実行することができ、且つ、演算の誤
差を低減させることができるプログラマブルコントロー
ラを提供することを目的とする。
に、請求項1に係るプログラマブルコントローラは、制
御対象装置の計測データを、発振器からのクロックに基
づく設定収集周期で収集して格納するデータ収集手段
と、前記発振器とは別個の発振器からのクロックに基づ
いて前記収集周期の正の整数倍に設定された読出周期
で、前記データ収集手段に格納されたデータを読出して
演算を行う演算処理手段とを有するプログラマブルコン
トローラにおいて、前記データ収集手段及び前記演算処
理手段の何れか一方に設けられた発振器からのクロック
を、当該発振器で設定された周期の開始時点に同期して
計数する計数手段と、前記データ収集手段及び前記演算
処理手段の他方に設けられ、所定タイミングで前記計数
手段から出力された計数値に基づいて、前記収集周期の
開始時点及び前記読出周期の開始時点の位相差を検出す
る位相差検出手段と、該位相差検出手段の検出値に基づ
いて、前記データ収集手段によるデータ格納が終了して
から所定時間経過後に前記読出周期を開始するように、
前記データ収集手段及び前記演算処理手段の他方の周期
の開始時点を調整する開始時点調整手段とを備えたこと
を特徴とする。
トローラは、前記計数手段が、前記収集周期の開始時点
から所定時間経過後に収集データを格納し、前記計数手
段は、前記データ収集手段及び前記演算処理手段の何れ
か一方の周期に同期した循環周期で所定の数値間を循環
して計数し、前記開始時点調整手段は、前記位相差検出
手段の検出値に基づいて、前記データ収集手段及び前記
演算処理手段の他方の周期の開始時点を前記一方の周期
の開始時点に同期化させるように調整することを特徴と
する。
ントローラは、前記計数手段が、前記演算処理手段の読
出周期に同期した循環周期で所定の数値間を循環して計
数し、プログラマブルコントローラの起動時に、前記開
始時点調整手段は、前記位相差検出手段で読込んだ前記
計数手段の計数値に前記収集周期を加算し、この加算値
に基づいて、前記収集周期の開始時点を前記読出周期の
開始時点に同期化させることを特徴とする。
ントローラは、前記計数手段が、前記演算処理手段の読
出周期に同期した循環周期で所定の数値間を循環して計
数し、プログラマブルコントローラの運転中に、同期化
処理の実行周期が前記計数手段の循環周期に設定され、
前記位相差検出手段は、読込んだ前記計数手段の計数値
に基づいて前記収集周期の開始時点と前記循環周期の開
始時点との位相の進み遅れを判別し、前記開始時点調整
手段は、前記位相差検出手段の判定により前記収集周期
が進んでいるときには、前記計数値と前記収集周期を加
算した値に基づいて、一方、前記収集周期が遅れている
ときには、前記計数値に基づいて、前記収集周期の開始
時点を前記読出周期の開始時点に同期化させることを特
徴とする。
トローラは、前記計数手段が、前記演算処理手段の読出
周期に同期した循環周期で所定の数値間を循環して計数
し、プログラマブルコントローラの運転中に、同期化処
理の実行周期が前記計数手段の1カウントの周期に設定
され、前記開始時点調整手段は、前記位相差検出手段で
読込んだ前記計数手段の計数値に基づいて、前記収集周
期の開始時点を前記読出周期の開始時点に同期化させる
ことを特徴とする。
ログラマブルコントローラによれば、計数手段では、デ
ータ収集手段と演算処理手段の何れか一方に設けられた
発振器からのクロックを計数し、この一方の発振器で設
定される周期が例えば読出周期であるとすると、読出周
期の開始時点に同期してカウントしている。この読出周
期にカウント値は対応しているので、収集周期の所定の
位置例えば開始時点でカウント値を読むことにより読出
周期の開始時点と収集周期の開始時点との時間差を検出
することができる。また、読出周期は収集周期の正の整
数倍に設定されているので、時間差は即ち位相差とな
る。開始時点調整手段では、この位相差に基づいて、デ
ータ収集手段及び演算処理手段の他方の周期の開始時点
を調整して、データ収集手段によるデータ格納の後に読
出周期の開始時点を開始させている。
トローラによれば、計数手段では、例えば読出周期に同
期化させた循環周期の所定の数値間で循環させてカウン
トを行っている。循環周期のカウント値は読出周期に対
応しているので、収集周期の例えば開始時点でカウント
値を読むことにより、読出周期の開始時点と収集周期の
開始時点との位相差を検出できる。そして、開始時点調
整手段では、検出された位相差に基づいて、収集周期の
開始時点を調整して読出周期及び収集周期の各開始時点
を同期化させている。データ収集手段では前記収集周期
の開始時点から所定時間経過後に収集データを格納して
いるので、データ格納のタイミングと読出しのタイミン
グが一致することは回避される。
ントローラによれば、プログラマブルコントローラの起
動時に、読込んだ計数値を収集周期に加算し、加算値に
基づいて収集周期の開始時点を調整して、データ格納の
タイミングと読出しのタイミングが一致することを回避
している。さらに、請求項4に係るプログラマブルコン
トローラによれば、プログラマブルコントローラの運転
中では、例えば、計数手段の循環周期が10msec周期に
設定されているときに、位相差検出手段及び開始時点調
整手段の処理周期も同じ10msec周期に設定されている
ときには、位相差検出手段で収集周期と循環周期との位
相の進み遅れの判別を行っている。収集周期の位相の方
が進んでいると判定したときには、収集所要時間を確保
できるように計数値と収集周期を加算した値を用いて収
集周期の開始時点を調整し、一方、収集周期の位相の方
が遅れていると判定したときには、計数値のみを用いて
収集周期の開始時点を調整する。
トローラによれば、プログラマブルコントローラの運転
中に、例えば、計数手段が1msecでカウントを行ってい
るときに、位相差検出手段及び開始時点調整手段の処理
周期が同じ1msec周期に設定されているときには、読込
んだ計数値を用いて収集周期の開始時点を調整してい
る。
に基づいて説明する。図1に、本発明に係るプログラマ
ブルコントローラのブロック図を示す。図中1は、プロ
グラマブルコントローラの本体であり、本体1には、計
測されたデータの演算処理を行う演算処理手段としての
演算処理モジュール2と、演算処理モジュール2に接続
されたデータ収集手段としての伝送制御モジュール3と
が設けられ、本体1から遠隔に離れた所には、伝送制御
モジュール3に接続されプログラマブルコントローラの
入出力部となり複数の例えば3個からなるI/Oカプセ
ル4a〜4cを有したリモートI/O部4が設置されて
いる。
基づいてクロック信号を生成する水晶発振器2aと、水
晶発振器2aのクロック信号に基づいて作動しデータの
演算処理を行う演算プロセッサ2bと、演算プロセッサ
2bによって制御される入出力データメモリ2cと、制
御プログラムや制御データが記憶されるメモリ2dとが
設けられている。
基づいてクロック信号を生成する水晶発振器3aと、水
晶発振器3aのクロック信号によって作動し、リモート
I/O部4及び演算処理モジュール2間のデータ伝送の
制御処理を行う伝送制御プロセッサ3bと、I/Oカプ
セル4a〜4cに接続され、データの一時保持を行うバ
ッファ3cを有する伝送インタフェース3dと、伝送イ
ンタフェース3d及び入出力データメモリ2c間に接続
され、伝送制御インタフェース3dとのデータの授受が
伝送制御プロセッサ3bによって制御され、且つ、入出
力データメモリ2cとのデータの授受が演算プロセッサ
2bによって制御される写しメモリ3eと、制御プログ
ラムや制御データが記憶されると共に、演算処理モジュ
ール2のメモリ2dとデータの授受が可能なメモリ3f
と、水晶発振器3aの出力信号が入力され、プリセット
値に応じた間隔で割込パルスを出力して、写しメモリ3
cのデータ伝送周期を規定する開始時点調整手段の構成
要素としての可変カウンタ3gとが設けられている。
値が可変できるカウンタであり、プリセット値が入力パ
ルスによってカウントダウンされ、カウント値が0にな
ったときに、出力パルスを出力すると共に次のプリセッ
ト値が有効となる構造を有している。そして、プリセッ
ト値が変更されなければ一定の数値間を循環する。ま
た、可変カウンタ3gには、入力パルスが1msec周期で
入力されており、プリセット値が例えば10に設定され
ているときには、10msec毎に割込みパルスを伝送制御
プロセッサ3bに出力する。
モジュール3のそれぞれの制御処理の概略構成及びメモ
リ2fに格納されるデータを、図2に基づいて説明す
る。演算処理モジュール2では、1msecのタイマ割込み
によって作動するリングダウンカウンタ処理11と、リ
ングダウンカウンタに同期し、50msecの読出演算周期
を計数する50msec読出演算周期処理12と、起動及び
停止時に、状態変化時のフラグ制御と運転指令コードの
制御等とを行うコマンド処理13とが行われる。また、
演算処理モジュール2のメモリ2dには、リングダウン
カウンタ処理中のタイマ値、状態変化時のフラグの状態
及び運転指令コード値等が格納される。
送周期を基準とし必要に応じて伝送周期を可変してリモ
ートI/O部4とのデータ伝送処理を行い、且つ、伝送
周期と読出演算周期との同期化処理を行う同期化伝送処
理14が、設定した伝送周期に基づいた割込み処理によ
って実行される。次に、演算プロセッサ2bによる、計
数手段としてのリングダウンカウンタ処理手順を、図3
のフローチャートに基づいて説明する。この処理は、1
msec毎のタイマ割込みによるサブルーチン処理として実
行される。また、この処理手順の中で、50msec読出演
算周期の設定処理が行われる。
R は10に設定され、読出演算周期の設定値TE は零に
設定されており、先ず、ステップS1で、リングダウン
カウンタ値TR を同期化処理のためにメモリ2dに格納
する。そして、ステップS2で、リングダウンカウンタ
値TR を1デクリメントする。次に、ステップS3で、
リングダウンカウンタ値TR が零であるか否か判定す
る。TR ≠0であれば、上位のメインプログラムに戻り
再度サブルーチン処理を実行する。一方、TR =0であ
れば、リングダウンカウンタ値TR は10カウントされ
たことになるので、ステップS4に移行する。
値TR を初期状態の10にプリセットする。次に、ステ
ップS5に移行し、読出演算周期の設定値TE を10イ
ンクリメントする。そして、ステップS6で、読出演算
周期の設定値TE が50であるか否か判定する。TE ≠
50であれば、上位のメインプログラムに戻り、一方、
TE =50であれば、50msecが経過したことになり、
ステップS7に移行する。ステップS7では、50msec
読出演算周期に基づいた演算処理の指令信号を出力す
る。次のステップS8では、読出演算周期の設定値TE
を初期状態の零に設定して、上位のメインプログラムに
戻る。
ンタ値TR は10から1の間で循環される。そして、リ
ングダウンカウンタ周期及び読出演算周期のそれぞれの
周期は同期がとられ、更に、読出演算周期の開始時点
は、リングダウンカウンタ値T R が10のところに設定
される。上記のフローチャートでは、ステップS1〜S
4が計数手段に相当する。
処理で、プログラマブルコントローラの起動時に、リン
グダウンカウンタ値TR を10に、読出演算周期の設定
値T E の値を零にそれぞれプリセットされ、これらの値
は前述のリングダウンカウンタ処理手順の中で使用され
る。そして、コマンド処理によって、図4(A)に示す
ように、2バイトからなるファイルの上位バイトに、運
転指令コードCU として、プログラマブルコントローラ
の停止又は中断中における同期化処理の不要を表す“0
0h”のコードと、作動中の同期化処理の必要を表す
“95h”のコードとの何れかのコードが記述され、下
位バイトの最下位ビットに、状態変化フラグFJ とし
て、状態変化の無いことを表す“0”と、起動又は中断
再開に起因する状態変化を表す“1”の何れかの数値が
記述される。また、同図(B)に示すように、1バイト
からなるファイルの最下位ビットに、同期化処理の管理
フラグFK として、同期化処理の終了を表す“0”と、
同期化処理の実行中を表す“1”の何れかの数値が記述
される。
出手段及び開始時点調整手段としての同期化伝送処理手
順を、図5のフローチャートに基づいて説明する。この
処理は、可変カウンタ3gのプリセット値に応じた周期
で実行され、通常は10msec毎のタイマ割込みによるサ
ブルーチン処理として実行される。このサブルーチンで
は、先ず、ステップS11で、運転中に所定の間隔で同
期化処理を実行するための計時として、同期化処理タイ
マTD を1インクリメントする。なお、TD は初期状態
で零に設定されている。
が0か否かを判定する。0であれば同期化処理の実行が
可能であると判断し、ステップS13に移行する。ステ
ップS13では、同期化処理が必要か否かを運転指令コ
ードCU を読んで判定する。運転指令コードCU が“9
5h”のときには、プログラマブルコントローラは作動
中であると判断してステップS14に移行する。
が1か否かを判定する。1であれば起動又は中断再開で
あると判断し、起動時等の同期化処理のためにステップ
S15に移行する。ステップS15では、起動後の運転
中における制御処理のために状態変化フラグFJ を0に
設定する。次に、ステップS16に移行し、メモリ2d
に格納されているリングダウンカウンタ値TR を読込
む。次いで、ステップS17に移行し、読込んだリング
ダウンカウンタ値TR に10を加算した値をプリセット
値Pとして設定する。
リセット値Pを可変カウンタ3gのプリセット設定端子
に入力する。これによって、リングダウンカウンタ値T
R に応じた調整用の伝送周期が設定される。ステップS
19では、次のこのサブルーチンの割込み時に同期化処
理を行わないようにするために、管理フラグFK を1に
設定する。そして、ステップS20に移行し、データの
伝送処理を実行する。なお、既に設定された伝送周期に
基づいて伝送処理を行うための割込み処理が実行されて
いるために、ステップS18で設定された伝送周期は、
次のこのサブルーチンの割込み処理のときに有効とな
る。
FJ が0のときには、運転中であると判断してステップ
S21に移行する。ステップS21では、運転中に同期
化処理タイマTD が所定値例えば40.96秒経過した
か否かを判定する。TD が4096のときには、運転中
の同期化処理を開始するためにステップS22に移行す
る。なお、4096という値は各々の水晶発振子の発振
周波数のずれを考慮して設定され、写しメモリ3eにお
ける書込タイミングと読出タイミングが一致するまえに
運転中の同期化処理を実行するようにしている。したが
って、この4096という値に限定されるものでなく、
数10秒の時間が経過したことが判別できればよい。
D を1にプリセットして、次の運転中の同期化処理の準
備をしておく。そして、ステップS23で、メモリ2d
に格納されているリングダウンカウンタ値TR を読込
む。次に、ステップS24に移行し、読込んだリングダ
ウンカウンタ値TR が5未満であるか否かを判定する。
TR <5であれば、伝送周期の位相が読出演算周期の位
相より進んでいると判断してステップS17に移行す
る。一方、TR ≧5であれば、伝送周期の位相の方が読
出演算周期の位相より遅れていると判断してステップS
25に移行する。ステップS25では、プリセット値P
をリングダウンカウンタ値TR に設定する。そして、ス
テップS18に移行する。
CU が“00h”のときには、プログラマブルコントロ
ーラは停止中であるとしてステップS26に移行する。
ステップS26では、同期化処理タイマTD を1にプリ
セットする。そして、プログラマブルコントローラが停
止中であるので、上位のメインプログラムに戻る。
が1のときには、前回のサブルーチン処理で同期化処理
が実行されたと判断し、連続して同期化処理を行わない
ようにステップS27に移行する。ステップS27で
は、次回のサブルーチン処理で同期化処理を実行するた
めに、管理フラグFK を0に設定する。そして、ステッ
プS28に移行し、可変カウンタ3gのプリセット値P
を10に設定して、伝送周期を変更した次のタイマ割込
みによるサブルーチン処理で、通常の10msec周期の伝
送処理を実行できるように準備する。そして、ステップ
S20に移行して伝送処理を実行した後に、上位のメイ
ンプログラムに戻る。上記のフローチャートのなかで、
ステップS16,S23及びS24が位相差検出手段に
対応し、ステップS17,S18及びS25が開始時点
調整手段に対応する。
る。ここでは、I/Oカプセル4a〜4cのうち、例え
ば、I/Oカプセル4aから伝送されたデータの演算処
理を行うものとする。演算処理モジュール2の演算プロ
セッサ2bでは、図6の波形図に示す、リングダウンカ
ウンタの制御と、写しメモリ3eから入出力データメモ
リ2cにデータを転送して演算を行う読出演算処理とを
行っている。
に、10msecを1周期として循環しており、1msec毎に
10から順次カウント値が降下する。また、読出演算処
理の読出しタイミングは、リングダウンカウンタ値TR
の10のところに同期されている。読出演算処理によっ
て、写しメモリ3eから読出されたデータは入出力デー
タメモリ2cの例えば奇数番地に格納される。そして、
読出しの後に続けて演算が実行される。入出力データメ
モリ2cから取り出されたデータはメモリ2dの所定の
記憶領域に格納され、演算プロセッサ2bは、前回にメ
モリ2dに格納したデータと今回読出したデータの差分
の読出演算処理を50msec周期で実行する。なお、演算
結果の入出力データメモリ2cへの書き込みは、演算処
理の後に続けて実行され、出力データは、入出力データ
メモリ2cの例えば偶数番地に格納される。そして、出
力データは更に写しメモリ3eに転送される。
ロセッサ3bでは、図6に示すように、リモートI/O
部4で計測されたデータをバッファ3cに伝送する伝送
処理と、バッファ3cに格納さた入力データを写しメモ
リ3eに一括して書込む書込処理とを行っている。伝送
処理は通常10msec周期で実行され、伝送制御プロセッ
サ3bよる伝送指令によって、約5msecの伝送所要時間
の間に、I/Oカプセル4a〜4cが順次選択されて、
I/Oカプセル4a〜4c及びバッファ3c間でデータ
の授受が行われる。そして、書込処理は、バッファ3c
へのデータ伝送処理の終了した後に続けて実行される。
I/Oカプセル4aのデータは50msec周期で演算処理
を行っているが、他のI/Oカプセル4b,4cでは、
10msec周期で演算処理を実行する場合もあるので、伝
送処理を10msec周期に設定している。なお、書込処理
が終了した後に、演算処理された出力データが、写しメ
モリ3eからバッファ3cに転送される。
に行われており、演算処理モジュール2及び伝送制御モ
ジュール3にそれぞれ設けられた水晶発振子の発振周波
数が同一であれば同期ずれは発生しないのであるが、発
振周波数は微小な差を有しているため同期ずれは避けら
れない。この同期ずれを補正するために、次のように起
動時と運転中に分けて同期化処理を行っている。
について説明する。プログラマブルコントローラの起動
により、演算プロセッサ2bから、“95h”の運転指
令コードCU 及びフラグの状態が“1”の状態変化フラ
グFJ が伝送制御モジュール3のメモリ2dを経由して
メモリ3fに格納され、伝送制御プロセッサ3bは、こ
れらのデータを読込む。
には1msecのクロック信号が入力されており、カウント
値が設定値になると可変カウンタ3gから割込パルスが
出力される。この割込みパルスによって図5に示す起動
時のサブルーチン処理が実行され、ステップS13〜S
15を経てステップS16の処理が実行され、リングダ
ウンカウンタ値TR が伝送制御プロセッサ3bによって
読み込まれる。そして、読み込まれたリングダウンカウ
ンタ値TR に10が加算されて、可変カウンタ3gの設
定値が加算値に変更される。伝送周期は可変カウンタ3
gによって規定されるので、設定された加算値が調整用
伝送周期となる。
種周期の説明図を示すように、時刻t1で、読込んだリ
ングダウンカウンタ値TR が7の場合には、可変カウン
タ3gはステップS18で17に設定され、伝送周期は
17msecとなる。このとき、可変カウンタ3gは既にカ
ウントが開始しているので直ぐには設定値を変更でき
ず、10msecの伝送周期が終了した時刻t2で、可変カ
ウンタ3gの設定が有効となり、図7に示すように、伝
送周期は17msecとなる。時刻t2でのサブルーチン処
理では、前回の割込み処理におけるステップS19で管
理フラグFK が1に設定されているので、ステップS1
2の管理フラグFK の判定によってステップS27を介
してステップS28に移行し、可変カウンタ3gは10
msecに設定される。そして、時刻t3で、伝送周期の開
始時点は、リングダウンカウンタの10のところにな
り、読出演算周期の開始時点に一致し同期化する。これ
以降は、割込み周期は10msecとなり、伝送周期も10
msecとなる。
みは、伝送周期の開始時点から伝送所要時間の5msec経
過したところで開始するので、伝送周期と読出演算周期
の各開始時点を同期化することにより、写しメモリ3e
におけるデータの書込みタイミングと読出しタイミング
が同時となることを回避することができる。なお、起動
時の同期化処理のときにリングダウンカウンタ値TR に
10を加算すると、1回分の書込処理が省略される場合
があるが、起動時であるのでシーケンス制御に与える影
響は少ないと考えられる。
て説明する。プログラマブルコントローラの運転中で
は、同期化処理は例えば40.96秒毎に実行してい
る。図8(A)は、リングダウンカウンタの値の10の
ところに伝送周期の開始時点が一致しており、伝送周期
と読出演算周期との開始時点は同期がとれている状態を
表している。同図(B)のように、伝送周期の位相が1
msec進んだ状態で、40.96秒経過すると、ステップ
S23でリングダウンカウンタ値TR として1の値が読
込まれる。このときは、TR <5であるので、ステップ
S17でTR の値に10加算され、11の値が可変カウ
ンタ3gの設定値となる。そして、上述の起動時と同様
に、伝送処理を実行した後の次の割込み処理で、伝送周
期が11msecになり、伝送周期と読出演算周期との開始
時点が同期する。この11msec周期の割込み処理の後
に、ステップS28で可変カウンタ3gは10msecに再
設定されるため、次の40.96秒が経過するまで割込
み周期は10msecとなる。
相が1msec遅れている状態で、40.96秒経過する
と、ステップS23でリングダウンカウンタ値TR とし
て9の値が読込まれる。このときには、TR ≧5である
ので、ステップS18に移行して、読込まれた9の値が
そのまま可変カウンタ3gの設定値となる。そして、上
述と同様に、伝送処理を実行した後の次の割込み処理
で、伝送周期が9msecになり、伝送周期と読出演算周期
との開始時点が同期する。
リングダウンカウンタを備え、同期化処理を行うとき
に、リングダウンカウンタ値TR を読込み、このリング
ダウンカウンタ値TR に基づいて伝送周期の開始時点を
変更している。このため、伝送周期と読出演算周期の各
開始時点を同期化させることができ、伝送周期の開始時
点から伝送所要時間経過後に、写しメモリ3eへのデー
タの書込処理を行っているので、写しメモリ3eにおけ
る書込みタイミングと読出しタイミングが一致すること
を回避させることが可能となる。この結果、計測された
データは入出力データメモリ2cに確実に格納され、演
算誤差の低減化を達成することができる。
時には、設定した伝送周期にリングダウンカウンタ値T
R を1回加算して伝送周期の開始時点を変更しているの
で、伝送周期と読出演算周期の各開始時点の同期化を、
速やか且つ容易に行うことができる。そして、プログラ
マブルコントローラの運転中では、伝送周期と読出演算
周期の位相差が大きくならない程度の周期でリングダウ
ンカウンタ値TR を読込み、読込んだリングダウンカウ
ンタ値TR に応じて伝送周期の開始時点を変更している
ので、運転中においても伝送周期と読出演算周期の各開
始時点の同期化を達成することができる。
て説明する。この実施形態では、可変カウンタ3gの代
わりに1msecで作動するソフトタイマを用いて伝送周期
を設定し、同期化処理を行っている。リングダウンカウ
ンタの循環周期の開始時点と写しメモリ3eからデータ
を読出す読出周期の開始時点とが、それぞれ同期するよ
うに設定されている点は第1の実施形態と同じである。
に示したフローチャートに基づいて説明する。初期状態
では、ソフトタイマの値TS は10に設定されている。
そして、このサブルーチンは、伝送制御モジュール3の
水晶発振器3aで生成された1msecクロックによるタイ
マ割込みによって実行され、先ず、ステップS31で、
同期化処理が必要か否かを運転指令コードCU を読んで
判定する。運転指令コードCUが“95h”のときに
は、ステップS32に移行する。
が1か否かを判定する。1であれば起動又は中断再開で
あると判断し、ステップS33に移行する。ステップS
33では、状態変化フラグFJ を0に設定して次の起動
時に備える。次に、ステップS34に移行し、メモリ2
dに格納されているリングダウンカウンタ値TR を読込
んで10を加算し、更に、ソフトタイマ値TS をTR +
10の値に書き換えて、起動時の同期化処理を開始す
る。
マ値TS を1デクリメントする。次に、ステップS36
に移行し、ソフトタイマ値TS が零であるか否かを判定
する。TS ≠0のときには、上位のメインプログラムに
戻る。一方、TS =0のときには、通常は10秒経過し
たことになり、また、同期化処理の実行中は、リングダ
ウンカウンタ値TR に対応した時間が経過したことにな
るので、ステップS37に移行し、ソフトタイマ値TS
を初期状態の10にプリセットする。次に、ステップS
38で、同期化処理タイマTD を1インクリメントす
る。そして、ステップS39に移行し、伝送処理を開始
させて上位のメインプログラムに戻る。
FJ が0と判断されたときには、運転中であるとして、
ステップS40に移行する。ステップS40では、運転
中に同期化処理タイマTD が所定値例えば40.96秒
経過したか否かを判定する。TD が4096のときに
は、ステップS41に移行し、4096でないときに
は、ステップS35に移行し、デクリメント処理を行
う。
ソフトタイマ値TS が5であるか否かを判定する。TS
=5であれば、ステップS42に移行し、一方、TS ≠
5であれば、ステップS35に移行する。ステップS4
2では、同期化処理タイマT D を1にプリセットする。
そして、ステップS43に移行し、リングダウンカウン
タ値TR を読込み、ソフトタイマ値TS をTR の値に書
き換えて、運転中の同期化処理を開始する。
CU が“00h”のときには、停止中であるとしてステ
ップS44に移行する。ステップS44では、同期化処
理間隔を計測するための同期化処理タイマTDを1にプ
リセットする。そして、ステップS35に移行する。次
に、第2の実施形態の動作を説明する。この実施形態の
起動時においては、ステップS34で、読込んだリング
ダウンカウンタ値TR に10を加算し、この加算値をス
テップS35で1つ減算する。そして、1msecの割込み
処理ルーチンを繰り返し、減算した結果が0になったと
きに、ステップS37でソフトタイマ値TS を10にプ
リセットしている。したがって、図10(A)のタイム
チャートに示すように、例えば、起動時にリングダウン
カウンタ値TR の7が読込まれると、17回割込み処理
が繰り返され後に、リングダウンカウンタ値TR の10
のところに、ソフトタイマ値TS の10が設定され、読
出演算周期の開始時点と伝送周期の開始時点が同期する
ようなる。
6秒経過後に、ステップS41で、ソフトタイマ値TS
が5即ち伝送所要時間が過ぎた後に、リングダウンカウ
ンタ値TR を読込み、例えば、図10(B)に示すよう
に、TR が3のときには、3msec後に、読出演算周期及
び伝送周期の各開始時点が同期するようなる。このよう
に、第2の実施形態においては、1msecの割込み処理に
よって同期化処理を行っているので、伝送周期の開始時
点の位相の進み遅れを判断せずに、読込んだリングダウ
ンカウンタ値TR のみに基づいて、読出演算周期の開始
時点と伝送周期の開始時点を同期化することができる。
このため、特に、運転中において、リングダウンカウン
タ値TR を読込んだ後の次のリングダウンカウンタ値T
R の10のところで、同期化が達成され、同期化させる
までの時間が短時間になるという効果がある。
算周期に対して伝送周期を変更して同期化を行っている
が、この逆に、伝送周期を固定し、伝送周期に対して読
出演算周期を変更して同期化を達成するようにしてもよ
い。なお、この場合には、リングダウンカウンタと伝送
周期を同期させる必要がある。また、上記各実施形態に
おいては、リングダウンカウンタは、10から1へと降
下させているが、逆に、1から10へと上昇させながら
計数し循環してもよい。また、リングダウンカウンタの
作動開始は、同期化処理を行うときの伝送周期の1周期
前からでもよい。このときには、読出演算周期の開始時
点に同期させて計数すればよいので、タイマは循環させ
なくてもよい。
期と伝送周期は共に10msecに設定されているが、これ
に限定されるものではなく、伝送周期の所定の時期でリ
ングダウンカウンタ値TR を読込んだときに、循環周期
の中のどの地点を読込んだか判別でき、リングダウンカ
ウンタの例えば10の値までどのくらい時間差があるか
分かればよいので、循環周期は伝送周期に対して正の整
数倍に設定されていればよい。
マブルコントローラの起動時に作動させてもよいし、
又、同期化処理を実行するときに作動させてもよい。ま
た、上記各実施形態においては、写しメモリと入出力デ
ータメモリの2つのメモリを入出力時に用いているが、
例えば、一のメモリを入力側用に使用し、他のメモリを
出力側用に使用して、入出力でそれぞれ1つのメモリを
備えるようにしてもよい。
係るプログラマブルコントローラにおいては、計数手段
と、計数手段の計数値に基づいて収集周期と読出周期の
各開始時点の位相差を検出する位相差検出手段と、位相
差検出手段の検出値に基づいて、データ収集手段による
データ格納が終了してから所定時間経過後に読出周期の
開始時点を開始させる開始時点調整手段とを有してい
る。このため、データ収集手段に格納したデータの書込
みタイミングと読出しタイミングが一致することを回避
させることができる。この結果、データ収集手段から確
実にデータを読出すことができ、演算処理時の演算誤差
を低減することができる。
ルコントローラにおいては、収集周期の開始時点から所
定時間経過後に収集データを格納するデータ収集手段
と、所定の循環周期で計数を行う計数手段と、位相差検
出手段の検出値に基づいて、収集周期及び読出周期の各
開始時点を同期化させる開始時点調整手段とを有してい
る。収集周期の開始時点から所定時間経過後に収集デー
タを格納しているので、収集周期及び読出周期の各開始
時点を同期化させることにより、データ収集手段の書込
みタイミングと読出しタイミングが一致することを回避
できる。このため、データ収集手段から確実にデータを
読出すことが可能となる。
ブルコントローラにおいては、プログラマブルコントロ
ーラの起動時に、読込んだ計数値に収集周期を加算し
て、収集周期の開始時点を調整している。このため、起
動時に、収集周期と読出周期の各開始時点の同期化を、
速やか且つ容易に行うことができる。さらに、請求項4
の発明に係るプログラマブルコントローラにおいては、
プログラマブルコントローラの運転中に、読込んだ計数
値に基づいて収集周期と循環周期との位相の進み遅れを
判別し、位相の進み遅れに応じて収集周期の開始時点の
調整を行っている。これにより、例えば、計数手段の循
環周期が10msec周期に設定され、同期化処理を例えば
10msecの割込み処理で行う場合の同期化処理の実行
を、確実に実現することができる。
ルコントローラにおいては、プログラマブルコントロー
ラの運転中に、読込んだ計数値に基づいて収集周期の開
始時点の調整を行っている。これにより、例えば、計数
手段が1msecで計数を行い、且つ、同期化処理を例えば
1msecの割込み処理で行う場合の同期化処理の実行を、
確実に実現することができる。
明図である。
の処理手順を示すフローチャートである。
明図である。
チャートである。
トである。
トである。
チャートである。
チャートである。
Claims (5)
- 【請求項1】 制御対象装置の計測データを、発振器か
らのクロックに基づく設定収集周期で収集して格納する
データ収集手段と、前記発振器とは別個の発振器からの
クロックに基づいて前記収集周期の正の整数倍に設定さ
れた読出周期で、前記データ収集手段に格納されたデー
タを読出して演算を行う演算処理手段とを有するプログ
ラマブルコントローラにおいて、 前記データ収集手段及び前記演算処理手段の何れか一方
に設けられた発振器からのクロックを、当該発振器で設
定された周期の開始時点に同期して計数する計数手段
と、前記データ収集手段及び前記演算処理手段の他方に
設けられ、所定タイミングで前記計数手段から出力され
た計数値に基づいて、前記収集周期の開始時点及び前記
読出周期の開始時点の位相差を検出する位相差検出手段
と、該位相差検出手段の検出値に基づいて、前記データ
収集手段によるデータ格納が終了してから所定時間経過
後に前記読出周期を開始するように、前記データ収集手
段及び前記演算処理手段の他方の周期の開始時点を調整
する開始時点調整手段とを備えたことを特徴とするプロ
グラマブルコントローラ。 - 【請求項2】 前記データ収集手段は、前記収集周期の
開始時点から所定時間経過後に収集データを格納し、前
記計数手段は、前記データ収集手段及び前記演算処理手
段の何れか一方の周期に同期した循環周期で所定の数値
間を循環して計数し、前記開始時点調整手段は、前記位
相差検出手段の検出値に基づいて、前記データ収集手段
及び前記演算処理手段の他方の周期の開始時点を前記一
方の周期の開始時点に同期化させるように調整すること
を特徴とする請求項1に記載のプログラマブルコントロ
ーラ。 - 【請求項3】 前記計数手段は、前記演算処理手段の読
出周期に同期した循環周期で所定の数値間を循環して計
数し、プログラマブルコントローラの起動時に、前記開
始時点調整手段は、前記位相差検出手段で読込んだ前記
計数手段の計数値に前記収集周期を加算し、この加算値
に基づいて、前記収集周期の開始時点を前記読出周期の
開始時点に同期化させることを特徴とする請求項2に記
載のプログラマブルコントローラ。 - 【請求項4】 前記計数手段は、前記演算処理手段の読
出周期に同期した循環周期で所定の数値間を循環して計
数し、プログラマブルコントローラの運転中に、同期化
処理の実行周期が前記計数手段の循環周期に設定され、
前記位相差検出手段は、読込んだ前記計数手段の計数値
に基づいて前記収集周期の開始時点と前記循環周期の開
始時点との位相の進み遅れを判別し、前記開始時点調整
手段は、前記位相差検出手段の判定により前記収集周期
が進んでいるときには、前記計数値と前記収集周期を加
算した値に基づいて、一方、前記収集周期が遅れている
ときには、前記計数値に基づいて、前記収集周期の開始
時点を前記読出周期の開始時点に同期化させることを特
徴とする請求項2又は3に記載のプログラマブルコント
ローラ。 - 【請求項5】 前記計数手段は、前記演算処理手段の読
出周期に同期した循環周期で所定の数値間を循環して計
数し、プログラマブルコントローラの運転中に、同期化
処理の実行周期が前記計数手段の1カウントの周期に設
定され、前記開始時点調整手段は、前記位相差検出手段
で読込んだ前記計数手段の計数値に基づいて、前記収集
周期の開始時点を前記読出周期の開始時点に同期化させ
ることを特徴とする請求項2又は3に記載のプログラマ
ブルコントローラ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP17474395A JP3381463B2 (ja) | 1995-07-11 | 1995-07-11 | プログラマブルコントローラ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP17474395A JP3381463B2 (ja) | 1995-07-11 | 1995-07-11 | プログラマブルコントローラ |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0926806A true JPH0926806A (ja) | 1997-01-28 |
| JP3381463B2 JP3381463B2 (ja) | 2003-02-24 |
Family
ID=15983909
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP17474395A Expired - Fee Related JP3381463B2 (ja) | 1995-07-11 | 1995-07-11 | プログラマブルコントローラ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3381463B2 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017021417A (ja) * | 2015-07-07 | 2017-01-26 | 東芝三菱電機産業システム株式会社 | データ収集装置、データ収集方法およびデータ収集プログラム |
| CN112398374A (zh) * | 2020-10-16 | 2021-02-23 | 北京国科环宇科技股份有限公司 | 一种三相无刷直流电机的控制系统及其控制方法 |
-
1995
- 1995-07-11 JP JP17474395A patent/JP3381463B2/ja not_active Expired - Fee Related
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017021417A (ja) * | 2015-07-07 | 2017-01-26 | 東芝三菱電機産業システム株式会社 | データ収集装置、データ収集方法およびデータ収集プログラム |
| CN112398374A (zh) * | 2020-10-16 | 2021-02-23 | 北京国科环宇科技股份有限公司 | 一种三相无刷直流电机的控制系统及其控制方法 |
| CN112398374B (zh) * | 2020-10-16 | 2022-11-15 | 北京国科环宇科技股份有限公司 | 一种三相无刷直流电机的控制系统及其控制方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3381463B2 (ja) | 2003-02-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN1068741C (zh) | 数字锁相环中计算分频比的方法和装置 | |
| JP3381463B2 (ja) | プログラマブルコントローラ | |
| JP2605044B2 (ja) | 燃料噴射制御装置用のデータ通信制御装置 | |
| JPS63184125A (ja) | 時刻一致システム | |
| US6057722A (en) | Pulse signal generation device for generating and outputting pulse signal without error synchronized with signal of fixed cycle | |
| JP3987819B2 (ja) | 数値制御システム | |
| US4933985A (en) | Rotation drive device | |
| JPH11305812A (ja) | 分散型cpuシステムの同期方法 | |
| US6425102B1 (en) | Digital signal processor with halt state checking during self-test | |
| JPH1055224A (ja) | 計算機時刻の補正方法およびその補正方法を用いた計算機のソフトウェア | |
| US20060153008A1 (en) | Control device and control method capable of external synchronization | |
| JP2850637B2 (ja) | 監視制御システムの時刻同期装置 | |
| JPH11259105A (ja) | 外部同期可能なプログラマブルコントローラ装置 | |
| JPH0348522B2 (ja) | ||
| JP3173090B2 (ja) | ストップウォッチ装置 | |
| JP3977694B2 (ja) | リセット装置 | |
| JP3050179B2 (ja) | 垂直タイミング信号生成回路 | |
| JP3224554B2 (ja) | スケジュール制御装置 | |
| JPH10255489A (ja) | マイクロコンピュータ | |
| JPS62191940A (ja) | デ−タ処理装置の動作マ−ジン試験方式 | |
| JP2000056379A (ja) | カメラシステムのアクチュエータ制御装置 | |
| JP2002183110A (ja) | マイクロコンピュータ及びカウント処理方法 | |
| JPH03295495A (ja) | タイマー装置 | |
| JPH05172963A (ja) | 残日数表示装置 | |
| JP2677788B2 (ja) | 電子選局装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 5 Free format text: PAYMENT UNTIL: 20071220 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081220 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 6 Free format text: PAYMENT UNTIL: 20081220 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 7 Free format text: PAYMENT UNTIL: 20091220 |
|
| LAPS | Cancellation because of no payment of annual fees |