JPH0380304A - シーケンス処理におけるタイマ,カウンタの処理方法 - Google Patents

シーケンス処理におけるタイマ,カウンタの処理方法

Info

Publication number
JPH0380304A
JPH0380304A JP21776889A JP21776889A JPH0380304A JP H0380304 A JPH0380304 A JP H0380304A JP 21776889 A JP21776889 A JP 21776889A JP 21776889 A JP21776889 A JP 21776889A JP H0380304 A JPH0380304 A JP H0380304A
Authority
JP
Japan
Prior art keywords
timer
counter
processing
processor
general
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
Application number
JP21776889A
Other languages
English (en)
Other versions
JP2671517B2 (ja
Inventor
Satoru Ozaki
覚 尾崎
Hidetaka Shibata
柴田 秀隆
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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co Ltd
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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP21776889A priority Critical patent/JP2671517B2/ja
Publication of JPH0380304A publication Critical patent/JPH0380304A/ja
Application granted granted Critical
Publication of JP2671517B2 publication Critical patent/JP2671517B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Programmable Controllers (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【産業上の利用分野】
本発明はシーケンス制御プログラムとしてのラダー演算
を実行するプロセッサであって、タイマ。 カウンタの処理に必要な計時、計数機能を持たぬ専用プ
ロセッサ、 外部の被制御機器と交信しつつ、前記専用プロセッサの
ためのタイマ、カウンタ処理等を行って、この専用プロ
セッサに前記ラダー演算を行わせる汎用プロセッサ、 を備えたシーケンス制御装置としてのいわゆるプログラ
マブル・コントローラのシーケンス処理におけるタイマ
、カウンタの処理方法に関するもので、 特に汎用プロセッサのタイマ1.カウンタ処理のための
無駄時間を極力削減し得るようにしたシーケンス処理に
けおるタイマ、カウンタの処理方法に関する。 なお以下各図において同一の符号は同一もしくは相当部
分を示す。
【従来の嫁術】
いわゆるプログラマブル・コントローラは太きく分けて
、 ■コントローラの外界とのデータ・インタフェイス(通
信、マン−マシーン等)、 ■各種制御のための数値演算、 ■シーケンス制御のための論理演算、 の機能を有しており、これらの機能を実現するためにマ
イクロコンピュータが使用されている。 このうち、シーケンス制御のための論理演算は演算の単
位がビットであるために8ビツト、16ビツト、32ビ
ツトと高級化しつつあるマイクロプロセッサにとっては
、極めて煩雑で処理速度の点からも効率の悪い演算であ
る。しかるに、この種のシーケンス処理演算そのものは
簡単な論理演算の組合わせで実現できることから、近年
はゲートアレイに代表されるA S I C(Appl
ication 5pecificIC)の普及とあい
まって、プログラマブル・コントローラのメーカが独自
に開発した専用のプロセッサ(例えば後述の第25図の
2)に第26図に示すようなラダー図表現されたシーケ
ンス処理を直接行わせる方式が採用されている。なおこ
のラダー図における記号の意味はつぎの通りである。 −I)−:A接点 →トー :B接点 一7二  二輪理反転 −(>−一:  (リレーの)コイル −ETON)−:オンデイレイ・タイマ第25図はこの
ようなプログラマブル・コントローラのシステム構成例
を示すブロック図である。 同図で汎用マイクロコンピュータ(汎用プロセッサとも
いう)1は数値演算処理に関しては入力インクフェイス
4を介して入力したデータに対してアプリケーション・
プログラムに従って各種数値演算を施して出力インタフ
ェース5を介して出力する。またシーケンス処理に関し
ては同じく入力インタフェース4を介して入力したデー
タ及び数値演算結果に基づいた論理データをコモンメモ
リ3にセットし、起動信号Strにて論理演算用の専用
プロセッサ2を起動する。専用プロセッサ2は汎用プロ
セッサ1によって起動されると汎用プロセッサlがコモ
ンメモリ3にセットしたビット・データを参照・更新し
ながら、予めコモンメモリ3に格納されているシーケン
ス処理のためのアプリケーション・プログラムを実行す
る。専用プロセッサ2は一連のシーケンス処理が終了す
ると、汎用プロセッサ1に対して、例えば割り込み要求
信号Reqを使って、処理が終了したことを通知する。 汎用プロセッサ1は専用プロセッサ2によるシーケンス
処理の終了したことで、コモンメモリ3からシーケンス
処理の結果であるビット情報を読出して出力インタフェ
ース5を介して外部に出力したり、数値演算に使用する
。 一般にシーケンス処理では純粋なプール代数演算ともい
うべきビット単位の論理演算例えば論理演算、論理和演
算、論理の反転等と、これに伴うビットデータの参照・
更新とともに、論理演算結果による時限(タイマ)処理
及び計数(カウンタ)処理が要求される。このようなタ
イマの種別としては次のようなものがある。 ■遅延要素としてオンリオフの変化のみを遅延させるオ
ンデイレイ・タイマ、 ■オンデイレイ・タイマとは逆にオンリオフの変化のみ
を遅延させるオフデイレイ・タイマ、■入力のオフ−オ
ンの変化に対して出力を一定期間保持するワンショット
・タイマ(モノステーブル・タイマともいう)、 ■ワンショット・タイマの一種で連続的な入力のオフ−
オン変化に対しても出力を保持し続けるリトリガブル・
ワンショット・タイマ(以下、簡単のためのリトリガブ
ル・タイマと記す)。 これらのタイマの処理はいずれの場合も入力の論理値或
いはその変化に対し、周期的に起動されるプログラムの
実行回数を計数してタイムベース(=実行周期)×実行
回数の形で時間管理を行う。 一方、カウンタの種別としては、次のようなものがある
。 ■入力のオフ−オン変化の回数を0から増加方向に計数
してあらかじめ設定しである設定値と大小比較し、その
比較結果の論理値をカウンタ出力とするアップ・カウン
タ、 ■アップ・カウンタとは逆に設定値から順次減算してそ
の値が0か否かをカウンタ出力とするダウン・カウンタ
。 以上のような各種のタイマ処理、カウンタ処理いずれの
場合も論理演算的な要素とともに数値演算の要素も含ま
れるために前記のような論理演算専用のプロセッサ2の
みでその機能を実現することは困難である。そこで従来
は前記のような論理演算専用プロセッサ2を使用する場
合でも、タイマ、カウンタ処理は汎用のプロセッサlが
行う方式を採用している。この場合、タイマ、カウンタ
に相当する命令は他の論理演算命令と混在した形になっ
ているために、タイマ、カウンタの起動・計数にかかわ
る論理演算結果に応じて直ちにタイマ、カウンタの演算
処理を行う必要があるばかりでなく、タイマ、カウンタ
処理の結果をその後の論理演算に直ちに反映される必要
がある。このため、シーケンス処理に含まれる一般の論
理演算(専用のプロセッサ2で処理する)とタイマ、カ
ウンタ処理(通常の汎用プロセッサ1が処理する)を分
離することができずに、この2種類の処理が入り乱れて
実行されることになる。具体的な動作例を第27図のタ
イ名ング・チャートに示す。同図(3)、 (1)のよ
うにシーケンス処理を実行させるべく汎用プロセッサ1
により時点τ1において、起動された論理演算専用のプ
ロセッサ2がその実行過程の時点τ2でタイマ、カウン
タ処理に相当する命令を見つけると論理演算を中断して
汎用プロセッサ1に対して割込みを発生してその旨(処
理要求)を通知し、汎用プロセッサ1は同図(2)の割
込処理の中で専用プロセッサ2が演算を中断したプログ
ラム位置から具体的なタイマ、カウンタの種別及びタイ
マ、カウンタの計数値及び出力のビットメモリ・アドレ
スを識別するための番号を解析するとともにタイマ、カ
ウンタの入力に相当するビット情報に応じてタイマ、カ
ウンタ処理を行い、その結果に基づいてタイマ、カウン
タの論理出力に対応するコモンメモリ3のビットデータ
を更新する。その後、時点τ3において、汎用プロセツ
サ1はタイマ、カウンタ命令の直後の命令から再度、専
用プロセッサ2を起動して専用プロセッサ2がラダー図
のシーケンス処理をすべて終了するまで上記の手順を繰
返す。そして専用プロセッサ2によるラダー図の−通り
のシーケンス処理(第27図(1))は汎用プロセッサ
lによって所定の(例えば10m5の)起動周期(タイ
ムベースともいう)Δtごとに繰返される。
【発明が解決しようとする課題】
このように割込みを介して専用プロセッサ2と汎用プロ
セッサ1が入り乱れて処理を行う方式では第28図の汎
用マイクロプロセッサ1の動作フローチャートで示すよ
うにタイマ、カウンタ1命令ごとに、 ■割込み処理プログラムの起動に伴う汎用プロセッサの
内部レジスタ群の退避(ステップ101)、■割込み処
理発生要因の解析(タイマ、カウンタの区別1個別番号
の解析)(ステップ102〜107)、■前項■の解析
結果及び専用プロセッサの途中演算結果(タイマ・カウ
ンタの入力〉に基づいたタイマ処理或いはカウンタの処
理演算(ステップ102A〜107A)、 ■専用プロセッサ再起動のためのデータ設定処理(ステ
ップ108)、 ■割込み発生時点のプログラムに復帰するための処理(
レジスタ群の復帰、割込み制御回路のリセット等)(ス
テップ110)、 が発生するが、このうち実質的なタイマ、カウンタ処理
は■項の処理のみで他はこの処理の起動要因に割込みを
使用したために生じたいわゆるオーバヘッドであり、そ
れが汎用プロセッサの負担となり他の数値演算処理の演
算時間を圧迫して処理全体のスループットを低下させる
という問題点を有していた。 そこで本発明は前記のオーバヘッドを極力減じ得るよう
なシーケンス処理におけるタイマ、カウンタの処理方法
を提供し、前記の問題を解消することを課題とする。
【課題を解決するための手段】
前記の課題を解決するために本発明の方法は、rコモン
メモリ(3など)を読み書きしつつ、シーケンス制御プ
ログラムとしてのラダー演算を実行するプロセッサであ
って、タイマ、カウンタの処理に必要な計時、計数機能
を持たぬ専用プロセッサ(2など)、 (人、出力インタフェース4,5などを介し)外部の被
制御機器と交信しつつ、前記コモンメモリを介し前記専
用プロセッサとデータを授受して該専用プロセッサに前
記ラダー演算を行わせる汎用プロセッサ(1など)、 を備えたシーケンス制御装置であって、前記汎用プロセ
ッサは当該時点に必要なデータを前記コモンメモリに書
込んで(起動信号Strなどを介し)前記専用プロセッ
サを起動し、該専用プロセッサに該データを用いた前記
ラダー演算を開始させ、 前記専用プロセッサは前記ラダー演算の実行途上におい
て、各種のタイマまたはカウンタの処理命令に遭遇する
つど、前記汎用プロセッサに当該処理命令に対応する割
込処理を行わせて、その処理データを受取り、再び前記
ラダー演算を統行し、前記ラダー演算の実行を終了する
と、前記汎用プロセッサにこの終了を告げる割込信号を
発し、前記汎用プロセッサは該割込信号に基づいて前記
コモンメモリから前記専用プロセッサの処理データを読
取って必要な処理を行い、この処理等に基づき再び前記
のように前記コモンメモリに必要なデータを書込んで前
記専用プロセッサを起動する動作を所定の周期で繰返す
シーケンス制御装置において、 前記専用プロセッサが実行する前記ラダー演算中におけ
る各種のタイマまたはカウンタの処理命令を、それぞれ
この処理命令に対応した所定の論理変数(Txn=Tz
n、 TQn、 Tn、 Cxn、 Cyn、 CQn
。 Cnなど)を含んだ、所定の(部分ラダー11〜16な
どで示される)部分的なラダー演算に置換え、前記専用
プロセッサが、この論理変数を読み書きしつつ、前記汎
用プロセッサに対し少なくとも前記タイマまたはカウン
タの処理命令に関わる割込処理を要求することなく、前
記汎用プロセッサの起動に基づくラダー演算をその終了
まで実行するようし、 前記汎用プロセッサは少なくとも前記専用プロセッサの
ラダー演算の終了後から次回の専用プロセッサの起動ま
での間に、前記タイマまたはカウンタの処理命令に対応
し、それぞれ当該の前記論理変数を用い、計時または計
数を含む所定の処理(以下タイマ・カウンタ処理という
)を行うようにすることにより、 前記汎用プロセッサは当該の前記論理変数が計時または
計数条件を満たす前記タイマ・カウンタ処理ごとに1つ
づつ計時まは計数動作を行い、この計時値または計数値
が当該タイマ・カウンタ処理に対して予め設定された所
定の計時値または計数値に到達すると、その直後におけ
る前記専用プロセッサの起動時に、当該の所定の論理変
数(TQn、 CQnなど)を介して計時満了または計
数満了の旨を前記専用プロセッサに伝えるように1する
ものとする。
【作用】
従来のタイマ、カウンタ処理では専用のプロセッサ2が
シーケンスの論理演算処理を行う過程でタイマ、カウン
タ命令を見つけるごとに汎用プロセッサ1のタイマ、カ
ウンタ処理を起動し、専用プロセッサ2の処理と汎用プ
ロセッサ1の処理が第27図のタイミングチャートのよ
うに入り混じった形で処理されていたのに対して、本発
明では第1図のタイミングチャートに示すように専用プ
ロセッサ2の実行するシーケンス処理とは独立に、かつ
専用プロセッサ2からの割込み要求によらずに、汎用プ
ロセッサ1がタイマ、カウンタ処理をまとめて実行し、
その結果を反映したビットデータに基づいて専用プロセ
ッサ2の論理演算を実行させる。 これにともなって、論理演算とタイマ、カウンタ演算相
互の情報伝達及び本来連続して処理すべき論理演算とタ
イマ、カウンタ演算を分離して実行することによって発
生する無駄時間を補償するための補助的な論理変数(ラ
ダー図上の補助接点)を設け、従来のタイマ、カウンタ
命令に代えて専用プロセッサだけで処理できる論理演算
にこの論理変数を組合わせるようにする。
【実施例】
以下第1図ないし第26図に基づいて本発明の詳細な説
明する。本発明のハードウェア上の構成は第25図に示
した従来技術における構成例と同じである。汎用プロセ
ッサ1は制御動作に先立つ前処理として、制御電源投入
直後の初期化処理時、或いはストアード・プログラム方
式のシーケンス処理に対するプログラムのローディング
時に、第26図のようなラダー図で表現されたシーケン
ス処理を個々の論理演算命令に対応した専用プロセッサ
2のマシン・コードに翻訳しながらコモンメモリ3へ格
納する。このとき第3図ないし第8図の(A)にそれぞ
れ示したオンデイレイ・タイマ、オフデイレイ・タイマ
、ワンシゴット・タイマ、リトリガブル・タイマ、アッ
プ・カウンタおよびダウン・カウンタ(の処理命令)を
みつけると、この命令部分をそれぞれこの第3図〜第8
図の(B)に点線ブロックで囲んで示した部分ラダー1
1〜16に示したような単純な論理演算の組合わせに置
換えてそのマシン・コードをコモンメモリ3へ格納する
とともに、後で汎用プロセッサ1がタイマ、カウンタ処
理を専用プロセッサ2からの割込要求なしでも実行でき
るように前記部分ラダー11〜16にそれぞれ対応する
タイマ命令或いはカウンタ命令が使用されていることを
メモリ等に登録する。 次に具体的なカイマ、カウンタの種別ごとにその部分ラ
ダーの構成とこれに対応する汎用プロセッサの処理を説
明する。 (1)オンデイレイ・タイマ: 単一のオンデイレイ・タイマ命令に代わって実際に専用
プロセッサ2が実行する論理演算を第3図の部分ラダー
11のような論理演算の組合せに置換えるとともに汎用
プロセッサ1が実行するオンデイレイ・タイマ処理を第
9図のフローチャートのように変更する。なお、第3図
および第9図中の符号の意味は次の通りである。 tsn:当該のタイマ(この場合オンデイレイ・タイマ
)の設定時限で、当該の部分ラダー(この場合11)の
命令コードに対応して予めコモンメモリ3に設定される
値である。 tn :汎用プロセッサ1のタイマ演算中、タイマ演算
周期(タイマベースともいう)Δtごとに更新(この場
合インクリメント)される変数としての計時値である。 Δt:前記のタイマ演算用タイムベースである。 Txn:第3図ではリレーコイルの記号が用いられてい
るが、ここでは慣習上補助接点と呼ばれる論理変数の1
つである。この接点データ(論理値)Txnは専用プロ
セッサ2によってコモンメモリ3に書込まれるもので、
第9図の処理では、この論理値Txnが汎用プロセッサ
1によって参照される。 この例ではTxnが1” (オン)かO″(オフ)かに
応じて汎用プロセッサ1がタイマ演算を行うか否かの条
件が定められる。 TQn:補助接点と呼ばれる論理変数である。この接点
データ(論理値)は汎用プロセッサ1により、当該のタ
イマ処理(この例では第9図の処理)の結果としてコモ
ンメモリ3に書込まれ、専用プロセッサ2によって参照
される。なおこの例ではTQnが“0” (オフ)であ
れば、非計時または計時未了状態を意味し、TQnが°
“1″ (オン)であれは計時満了状態を意味する。 Tn :タイマ出力(接点)と呼ばれる論理変数である
。この接点データ(論理値)は専用プロセッサ2により
当該タイマの部分ラダーの演算結果としてコモンメモリ
3に書込まれる。 なお上記の各符号中の添字内のnは当該タイマの番号を
示す。 さて第9図の処理は第1図で示すように周期Δtごとに
起動される専用プロセッサ2のラダー論理演算(第1図
(1))の1回毎に、該ラダー論理演算の起動タイもン
グτ11とは独立に時点τlOから開始される第1図(
2)の処理内で起動される。第9図においてこのオンデ
イレイタイマへの入力に相当する補助接点Txnのオフ
→オンの変化に対応して指定された遅延時間tsn後に
補助接点TQnをオンし、補助接点Txnがオフの場合
は直ちに補助接点TQnをオフする。 第15図はこの部分ラダー11の処理を実行させるため
の簡単なラダー図を示し、第20図は第15図の動作の
タイミングを示す、第20図に示すように、第15図の
ラダー図ではオンデイレイ・タイマの入力接点Aがオン
しても補助接点TQnがオンするまではタイマ出力接点
Tnはオフのままであって、補助接点TQnのオンで始
めてタイマ出力接点Tnがオンする。逆に、タイマ入力
接点Aがオフすると補助接点TQnの状態に関係なくタ
イマ出力接点Tnはオフする。このように汎用プロセッ
サlのオンデイレイ・タイマ処理でオン/オフする補助
接点TQnを介在させることによりオンデイレイ・タイ
マの動作を実現することができる。 オンデイレイ・タイマのタイマ時限設定値tsnが0の
ときは補助接点TQnを常にオンさせておくことでタイ
マ入力のオン/オフに対して汎用プロセッサ1のソフト
ウェア処理の介在なしで直ちに追従する。 (2)オフデイレイ・タイマ: 単一のオフデイレイ・タイマ命令に代わって実際に専用
プロセッサ2が実行する論理演算を第4図の部分ラダー
12のような論理演算の組合せに置換えるとともに汎用
プロセッサ1が実行するオフデイレイ・タイマ処理を第
10図のフローチャートのように変更する。なお第4図
および第10図中の符号の意味は第3図および第9図と
同様である。 この第1O図の処理は第9図と同様に専用プロセッサ2
のラダー論理演算の1回毎に、ラダー論理演算の起動タ
イミングとは独立に第1図(2)の処理内で起動される
。この第10図において、このオフデイレイ・タイマ入
力の反転に相当する補助接点Txnのオフ→オンの変化
に対して指定された遅延時間tsn後に補助接点TQn
をオンし、補助接点Txnがオフの場合は直ちに補助接
点TQnをオフする。 第16図はこの部分ラダー12の処理を実行させるため
の簡単なラダー図を示し、第21図は第16図の動作の
タイミングを示す。第21図に示すように第16図のラ
ダー図ではオフデイレイ・タイマの人力接点Aがオンす
ると補助接点TQr+の状態に関係なくタイマ出力接点
Tnはオンする。逆に、人力接点Aがオフしても補助接
点TQnがオンするまではタイマ出力接点Tnはオンの
ままであって、補助接点TQnのオンではじめてタイマ
出力接点Tnがオフする。このように汎用プロセッサ1
のオフデイレイ・タイマ処理でオン/オフする補助接点
TQnを介在させることによりオフデイレイ・タイマの
動作を実現することができる。 オフデイレイ・タイマの時限設定値tsnが0のときは
補助接点TQnを常にオンさせておくことでタイマ人力
のオン/オフに対して汎用プロセッサlのソフトウェア
処理の介在なしで直ちに追従する。 (3)ワンショット・タイマ(モノステーブル・タイマ
): 単一のワンショット・タイマ命令に代わって実際に専用
プロセッサ2が実行する論理演算を第5図の部分ラダー
13のような論理演算の組合せに置換えるとともに汎用
プロセッサlが実行するワンショット・タイマ処理を第
11図のフローチャートのように変更する。なお第5図
および第11図中の新たな符号の意味は次の通りである
。 Tyn:補助接点と呼ばれる論理変数である。この接点
データ(論理(IF)は、この場合、汎用プロセッサl
によってコモンメモリ3に書込まれるデータであり、こ
のワンショット・タイマを有効化するか否かの初期条件
の設定に用いられている。 この第11図の処理も、第9図、第10図と同様に第1
図(2)の処理内で起動される。第11図において、こ
のワンショットタイマ出力Tnがオン状態の場合、設定
時間tsnの間補助接点TQnをオンする。 第17図はこの部分ラダー13の処理を実行させるため
の簡単なラダー図を示し、第22図は第17図の動作の
タイ逅ングを示す。第22図に示すように、第17図の
ラダー図ではワンショット・タイマの人力接点Aがワン
ショト・タイマの起動条件であるオフ→オンの変化を生
ずると、その時の入力Aのオンとその前回値を表す補助
接点Txn(前回値はオフ)の反転Txnとの論理積が
成立して補助接点TQnのオン/オフに無関係にタイマ
出力接点Tnはオンする。その後は、入力のオフ→オン
の変化がない限り前記の論理積は成立しないが、その反
転(オフの反転すなわちオン)と汎用プロセッサ1のソ
フトウェアで更新する補助接点TQnとの論理積により
ワンショット・タイマの出力接点Tnのオン/オフが決
定される。従って、この状態では補助接点TQnがオン
であり続ける限り出力接点Tn もオンし続ける。 ワンショット・タイマのタイマ時限設定値tsn=0の
場合は補助接点Tynを常にオフとすることで入力のオ
ン/オフに関係なく出力をオフに保つ。 設定時限tsn≠Oの場合は逆に補助接点Tynを常に
オンとすることでラダー図後段の論理演算及びソフトウ
ェアによる処理が有効になるようにする。 (4)リトリガブル・ワンショット・タイマ:単一のリ
トリガブル・ワンショット・タイマ命令に代わって実際
に専用プロセッサ2が実行する論理演算を第6図の部分
ラダー14のような論理演算の組合せに置換えるととも
に、汎用プロセッサlが実行するリトリガブル・ワンシ
ョット・タイマ処理を第12図のフローチャートのよう
に変更する。なお第6図、第12図中の新たな符号の意
味は次の通りである。 Tyn:補助接点と呼ばれる論理変数である。この接点
データ(論理値)は、この場合、専用プロセッサ2によ
って書込まれる。 Tzn:補助接点と呼ばれる論理変数であるこの接点デ
ータ(論理値)はこの場合、汎用プロセッサ1によって
書込まれ、このタイマを有効化するか否かの初期条件の
設定に用いられている。 第12図の処理も第1図(2)の処理内で起動される。 この第12図においてタイマ出力Tn及び補助接点Tx
nのオン/オフに応じて補助接点TQnをオン/オフす
る。 第18図はこの部分ラダー14の処理を実行させるため
の簡単なラダー図を示し、第23図は第18図の動作の
タイミングを示す。第23図に示すように、第18図の
ラダー図ではリトリガブル・タイマの入力接点Aがリト
リガブル・タイマの起動条件であるオフ−オンの変化を
生ずると、そのときの入力Aのオンとその前回値を表す
補助接点Tyn(前回値はオフ)の反転Tynとの論理
積が成立して補助接点Txnがオンするとともに補助接
点TQnのオン/オフに無関係に出力接点Tnはオンす
る。その後、入力のオフ−オンの変化がない限り前記の
論理積は成立しないが汎用プロセッサ1のプログラムで
制御する補助接点TQnがオンし続ける限り、補助接点
Yynに相当する論理値の反転(オフの反転すなわちオ
ン)と補助接点TQnとの 論理積により出力接点Tn
もオンし続ける。 第12図のフローチャートで示される汎用プロセッサ1
のプログラムではタイマ入力のオフ−オンの変化時のみ
オンとなる補助接点TxnO値に基づいてタイマ入力の
オフ−オンの変化時にソフトウェアによるタイマ値tn
を0から起算しなおすことでリトリガブル動作を実現す
る。 リトリガブル・タイマのタイマ時限設定値tsn−0の
場合は補助接点Tznを常にオフとすることで入力のオ
ン/オフに関係なく出力をオフに保つ。 設定時限tsn≠0の場合は逆に補助接点Tznを常に
オンとすることでラダー図後段の論理演算およびソフト
ウェアによる処理が有効になるようにする。 (5)アップ・カウンタ: 単一のアップカウンタ命令に代わって実際に専用プログ
ラム2が実行する論理演算を第7図の部分ラダー15の
ような論理演算の組合せに置換えるとともに、汎用プロ
セッサlが実行するアップ・カウンタ処理を第13図の
フローチャートのように変更する。 なお第13図中の符号の意味は次の通りである。 CNTsn:カウンタ設定値で、当該の部分ラダー(こ
の場合15)の命令コードに対応して予め、コモンメモ
リ3内に設定される値である。 CNTn  :汎用プロセッサ1によるカウンタ計数値
(変数)である。 CXn、 Cyn :補助接点と呼ばれる論理変数で、
このデータ(論理値)は専用プロセッサ2によってコモ
ンメモリ3に書込まれる。 C(In:補助接点と呼ばれる論理変数で、このデータ
(論理値)は汎用プロセッサ1によってコモンメモリ3
に書込まれる。 Cn :カウンタ出力(接点)と呼ばれる論理変数で、
この接点データ(論理値)は専用プロセッサ2により当
該カウンタのラダー論理演算の結果としてコモンメモリ
3に書込まれる。 なおこれらの符号の添字中のnは当該カウンタの番号を
示す。 第13図の処理も第1図(2)の処理内で起動される。 この第13図において、カウンタ入力に相当する補助C
xn及びリセット入力に相当する補助接点Cynのオン
/オフに応じて、補助接点CQnをオン/オフする。 第19図はこの部分ラダー15、および次に述べるダウ
ンカウンタの部分ラダー16の処理を実行させるための
簡単なラダー図を示し、第24図は第19図の動作のタ
イミングを示す。 第24図に示すように、第19図のラダー図ではアップ
・カウンタの入力接点Aがオンで、かつリセット入力接
点Bがオフであれば、補助接点CQnがオンのときカウ
ンタ出力接点Cnはオンとなり、−度Cnがオンになる
と、リセット入力接点Bがオンにならない限りカウンタ
入力接点Aの状態に関係なくカウンタ出力接点Cnはオ
ン状態を保持し続ける。カウンタのリセット入力接点B
がオンになると、入力接点A及び他の補助接点の状態に
関係なくカウンタ出力接点Cnはオフとなる。 第13図のフローチャートで示されるプログラムはカウ
ンタ入力に相当する補助接点Cxnの前回値と今回値と
を比較してカウンタの動作条件であるオフ−オンの変化
が生ずると、その計数値CNTnを1だけ増加させる。 カウンタの計数値CNTnと設定値CNTsnとの比較
演算はカウンタ入力A。 従って補助接点Cxnがオフの状態で実施し、カウンタ
計数値CNTnが(設定値CNTsn−1)以上の値に
なっていれば補助接点CQnをオンする。その結果、次
にカウンタ入力A、従って補助接点Cxnがオンになっ
たとき(従って、その直前にカウンタの動作条件である
次のオフ−オンの変化が生じている)カウンタのリセッ
ト人力B、従って補助接点Cynがオフである限り、カ
ウンタ入力Aと補助接点CQnとの論理積が成立してカ
ウンタ出力Cnがオンする。 またカウンタのリセット入力接点Bがオンし、補助接点
Cynがオンすると、第13図のフローチャートで示さ
れるプログラムはそれまでのカウンタの計数値CNTn
をOにリセットするとともに、補助接点出力CQnをオ
フする。このソフトウェア処理は専用プロセッサ2によ
る実際の論理演算より遅れて実行されるために、このま
まではシーケンス演算上のリセット条件が成立してから
、それが汎用プロセッサ1のソフトウェアで処理されて
補助接点CQnがオフされ、さらに専用プロセッサ2の
論理演算が行われるまでの無駄時間が生ずるが、第19
図のラダー図においてカウンタ出力接点Cnの論理にリ
セット人力Bが含まれていることでソフトウェア処理を
待つまでもなくカウンタ出力Cnは直ちにオフする。 (6)ダウン・カウンタ: 単一のダウン・カウンタ命令に代わって実際に専用プロ
セッサ2が実行する論理演算を第8図の部分ラダー16
のような論理演算の組合せに置換えるとともに、汎用プ
ロセッサlが実行するダウン・カウンタ処理を第14図
のフローチャートのように変更する。なお第14図中の
符号の意味は第13図と同様である。タイマ及びカウン
タ要素にかかわる処理を以上のように変更した上で第1
図(2)および(1)に示すようなタイ藁ングでそれぞ
れ汎用プロセッサlによるタイマ・カウンタ処理及び専
用プロセッサ2によるシーケンス論理演算を行う。即ち
第1図(2)の処理内で起動される第14図のプログラ
ムにおいてカウンタ入力に相当する補助接点Cにn及び
リッセト入力に相当する補助接点Cynのオン/オフに
応じて、補助接点CQnをオン/オフする。 前述のように第8図の部分ラダー16の処理を第19図
のようなラダー図に組込んで実行させた時の動作タイミ
ングも第24図で示される。即ち第24図に示すように
第19図のラダー図ではダウン・カウンタの入力接点A
がオンでかつリセット入力接点Bがオフであれば、補助
接点CQnがオンのときカウンタ出力接点Cnはオンと
なり、−度Cnがオンになると、リセット入力接点Bが
オンにならない限すカウンタ入力接点Aの状態に関係な
く、カウンタ出力接点Cnはオン状態を保持し続ける。 カウンタのリセット入力接点Bがオンになると、人力接
点A及び他の補助接点の状態に関係なくカウンタ出力接
点Cnはオフとなる。 第14図のフローチャートで示されるプログラムはカウ
ンタ入力に相当する補助接点Cxnの前回値と今回値と
を比較してカウンタの動作条件であるオフ−オンの変化
を生ずると、その計数値を1だけ減少させる。カウンタ
の計数値CNTnと設定値CNTsnとの比較演算はカ
ウンタ入力A、従って補助接点Cxnがオフの状態で実
施し、カウンタ計数値CNTnが1以下になっていれば
補助接点出力CQnをオンする。その結果、次にカウン
タ入力A。 従って補助接点Cxnがオンになったとき(従って、そ
の間にカウンタの動作条件である次のオフ−オンの変化
が生じている)カウンタのリセット人力B、従って補助
接点Cynがオフである限り、カウンタ人力Aと補助接
点CQnとの論理積が成立してカウンタ出力Cnがオン
する。 またカウンタのリセット入力接点Bがオンし、補助接点
Cynがオンすると、第14図のフローチャートで示さ
れるプログラムはカウンタの計数値CNTnに初期設定
値CNTsnをセットするとともに、補助接点CQnを
オフする。このソフトウェア処理は専用プロセッサ2に
よる実際の論理演算より遅れて実行されるために、この
ままではシーケンス演算上のリセット条件が成立してか
ら、それが汎用プロセッサlのソフトウェアで処理され
て補助接点CQnがオフされ、さらに専用プロセッサ2
の論理演算が行われるまでの無駄時間が生れるが、第1
9図のラダー図においてカウンタ出力接点Cnの論理に
リセット人力Bが含まれていることで、ソフトウェア処
理を待つまでもなくカウンタ出力Cnは直ちにオフする
。 ところで第1図は第25図のシステムの本発明に基づく
シーケンス処理のタイ逅ングを示している。 即ち汎用プロセッサ1はここではタイマ機能を実現する
ために定周期Δtで第1図の時点τ10において起動さ
れる第1図(2)のプログラムにおいて、前述の前処理
で登録されているソフトウェアのタイマ、カウンタ処理
、即ち第9図〜第14図のフローチャートで示した処理
を、第2図のフローチャートに基づいて実施する。 即ち第2図において汎用プロセッサ1は、専用プロセッ
サ2のラダー演算内に表われる第3図〜第8図の命令(
従って部分ラダー11〜16)の処理に対応して、コモ
ンメモリ3内の所定領域から第9図〜第14図のプログ
ラムの実行に必要な設定値としてのタイマ設定値tsn
、カウンタ設定値CNTsnを読取ると共に、同じくコ
モンメモリ3内における専用プロセッサ2の使用するデ
ータ領域から、第9図〜第14図のプログラムの実行に
必要な接点Txn、 Tn、 Cxn、  Cynの(
入力)データ(論理値)を読取ると(ステップ201)
、この読取られた接点データに関わる命令に対応して(
ステップ202〜207)、この接点データを用い、そ
れぞれ第9図〜第14図の演算処理を行い(ステップ2
02A〜207A) 、この演算処理の結果としての接
点TQn。 Tyn+ Tzn、 CQnの(出力)データ(論理値
)をコモンメモリ3における専用プロセッサ2の使用デ
ータ領域に書込み(ステップ208) 、前記のように
第1図時点τ11に専用プロセッサ2に起動信号Str
を与えることにより、この専用プロセッサ2を起動して
、専用プロセッサ2に第1図(1)のラダー演算を行わ
せる(ステップ209)。 専用プロセッサ2はコモンメモリ3内のマシン・コード
に基づいて論理演算を実行するが、このマシン・コード
にはタイマ、カウンタ処理に相当する命令が含まれてい
ない(つまり該命令コードの代りに部分ラダー11〜1
6を表わすマシンコードに置換えられている)ために従
来のような汎用プロセッサ1へのタイマ、カウンタ処理
要求割込みは発生しない。専用プロセッサ2はコモンメ
モリ3内のマシン・コードを全て実行すると第1図時点
τ工2において終了割込みを発生して処理が終了した旨
を汎用プロセッサ1へ通知する。 汎用プロセッサ1は前記終了割込みにより第1図(3)
の処理でラダー演算結果に基づいた他の制御演算、或い
は外部への信号出力等を行う。
【発明の効果】
本発明によれば、 専用プロセッサ2が実行するラダー演算中における各種
のタイマまたはカウンタの処理命令を、それぞれこの処
理命令に対応した所定の論理変数Txn〜Tzn、  
TQn+  Tn、Cxn、  Cyn、  CQn、
  Cnを含んだ部分ラダー11〜16に基づく部分的
なラダー演算に置換え、専用プロセッサ2が、この論理
変数を読み書きしつつ、汎用プロセッサ1に対し少なく
とも前記タイマまたはカウンタの処理命令に関わる割込
処理を要求することなく、汎用プロセッサ1の起動に基
づくラダー演算をその終了まで実行するようにし、 汎用プロセッサ1は少なくとも専用プロセッサ2のラダ
ー演算の終了後から次回の専用プロセッサ2の起動まで
の間に、前記タイマまたはカウンタの処理命令に対応し
、それぞれ当該の前記論理変数を用い、計時または計数
を含む所定のタイマ・カウンタ処理を行うようにしたの
で、従来、タイマ、カウンタ命令の1命令実行毎に専用
プロセッサから汎用プロセッサへ処理を移動するための
割込処理にともなって発生していたオーバヘッドがなく
なる。 ただし単一のタイマ、カウンタ命令を複数の論理演算の
組合わせとすることで専用プロセッサの演算処理は増加
するが、専用プロセッサの稼動中も汎用プロセッサは他
のプログラム処理を行えることや、専用プロセッサと汎
用プロセッサとの間の処理の移動による無駄時間が無く
なることを考えれば無視できる増加である。加えて、実
際に汎用プロセッサがソフトウェアで実行するタイマ。 カウンタ処理は従来のものと殆んど変わらないから、全
体として汎用プロセッサの負荷は大きく軽減され、処理
のスルーブツトも大幅に向上する。 さらに従来のシステムに対して本発明を実施する場合は
汎用プロセッサのソフトウェア処理を変更するだけでよ
く専用プロセッサ機能をはじめとしてハードウェア上の
変更は一切生じないことから容易かつ安価に実現できる
【図面の簡単な説明】
第1図は本発明の一実施例としての、専用プロセッサの
ラダー演算と、汎用プロセッサのタイマ。 カウンタ処理との相互のタイくング関係を示すタイムチ
ャート、 第2図は同じく汎用プロセッサのタイマ、カウンタ処理
の手順を示すフローチャート、第3図ないし第8図は同
じく各種のタイマ、カウンタ命令に置換わる部分ラダー
を示す図、第9図ないし第14図は同じくそれぞれ第3
図ないし第8図の部分ラダーに対応して汎用プロセッサ
が実行するタイマ、カウンタ処理の手順を示すフローチ
ャート、 第15図ないし第19図は第3図ないし第8図の部分ラ
ダーの処理を行わせるためのラダー図、第20図ないし
第24図はそれぞれ第15図ないし第19図の動作を示
すタイムチャート、 第25図は本発明および従来のシステム構成例を示す図
、 第26図はラダー図の一例を示す図、 第27図は第1図に対応する従来のタイムチャート、 第28図は第2図に対応する従来のフローチャートであ
る。 1:汎用プロセッサ、2:専用プロセッサ、3:コモン
メモリ、4:人力インタフェイス、5:出力インタフェ
ース、6:データ・アドレスバス、S tr :起動記
号、11〜16:部分ラダー、Txn〜Tzn+ TQ
n、 Tr+、Cxn+ Cyn、 CQn、 Cn 
 :接点(論理変数)。 咲旺トロ+、lΣト( 第3図 矛4閃 第 5図 第11 図 15:部修うター オ7図 オ8I! 第13vA 、−・専月プロセッサの起動周期Δt ゝ−1゛ソフトウェア・タイマによる遅延第20図 /・算用プロセッサの起動周期 Δt ソフトウェア・タイマによる道延°−一一一′第21図 /゛専用プロセッサの起動周期:Δt :4−4@ I−・専用プロセッサの起動周期Δt 、 マ 。 、Q /・専用プロセッサの起動周期 第24図 3・25図 第26図 求任’t’ OP Th)ぞ

Claims (1)

  1. 【特許請求の範囲】 1)コモンメモリを読み書きしつつ、シーケンス制御プ
    ログラムとしてのラダー演算を実行するプロセッサであ
    って、タイマ、カウンタの処理に必要な計時、計数機能
    を持たぬ専用プロセッサ、外部の被制御機器と交信しつ
    つ、前記コモンメモリを介し前記専用プロセッサとデー
    タを授受して該専用プロセッサに前記ラダー演算を行わ
    せる汎用プロセッサ、を備えたシーケンス制御装置であ
    って、 前記汎用プロセッサは当該時点に必要なデータを前記コ
    モンメモリに書込んで前記専用プロセッサを起動し、該
    専用プロセッサに該データを用いた前記ラダー演算を開
    始させ、 前記専用プロセッサは前記ラダー演算の実行途上におい
    て、各種のタイマまたはカウンタの処理命令に遭遇する
    つど、前記汎用プロセッサに当該処理命令に対応する割
    込処理を行わせて、その処理データを受取り、再び前記
    ラダー演算を統行し、前記ラダー演算の実行を終了する
    と、前記汎用プロセッサにこの終了を告げる割込信号を
    発し、前記汎用プロセッサは該割込信号に基づいて前記
    コモンメモリから前記専用プロセッサの処理データを読
    取って必要な処理を行い、この処理等に基づき再び前記
    のように前記コモンメモリに必要なデータを書込んで前
    記専用プロセッサを起動する動作を所定の周期で繰返す
    シーケンス制御装置において、 前記専用プロセッサが実行する前記ラダー演算中におけ
    る各種のタイマまたはカウンタの処理命令を、それぞれ
    この処理命令に対応した所定の論理変数を含んだ、所定
    の部分的なラダー演算に置換え、前記専用プロセッサが
    、この論理変数を読み書きしつつ、前記汎用プロセッサ
    に対し少なくとも前記タイマまたはカウンタの処理命令
    に関わる割込処理を要求することなく、前記汎用プロセ
    ッサの起動に基づくラダー演算をその終了まで実行する
    ようし、 前記汎用プロセッサは少なくとも前記専用プロセッサの
    ラダー演算の終了後から次回の専用プロセッサの起動ま
    での間に、前記タイマまたはカウンタの処理命令に対応
    し、それぞれ当該の前記論理変数を用い、計時または計
    数を含む所定の処理(以下タイマ・カウンタ処理という
    )を行うようにすることにより、 前記汎用プロセッサは当該の前記論理変数が計時または
    計数条件を満たす前記タイマ・カウンタ処理ごとに1つ
    づつ計時まは計数動作を行い、この計時値または計数値
    が当該タイマ・カウンタ処理に対して予め設定された所
    定の計時値または計数値に到達すると、その直後におけ
    る前記専用プロセッサの起動時に、当該の所定の論理変
    数を介して計時満了または計数満了の旨を前記専用プロ
    セッサに伝えるようにしたことを特徴とするシーケンス
    処理におけるタイマ、カウンタの処理方法。
JP21776889A 1989-08-24 1989-08-24 シーケンス処理におけるタイマ,カウンタの処理方法 Expired - Lifetime JP2671517B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21776889A JP2671517B2 (ja) 1989-08-24 1989-08-24 シーケンス処理におけるタイマ,カウンタの処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21776889A JP2671517B2 (ja) 1989-08-24 1989-08-24 シーケンス処理におけるタイマ,カウンタの処理方法

Publications (2)

Publication Number Publication Date
JPH0380304A true JPH0380304A (ja) 1991-04-05
JP2671517B2 JP2671517B2 (ja) 1997-10-29

Family

ID=16709430

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21776889A Expired - Lifetime JP2671517B2 (ja) 1989-08-24 1989-08-24 シーケンス処理におけるタイマ,カウンタの処理方法

Country Status (1)

Country Link
JP (1) JP2671517B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7024495B2 (en) 2001-03-30 2006-04-04 Omron Corporation Programmable controller

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7024495B2 (en) 2001-03-30 2006-04-04 Omron Corporation Programmable controller

Also Published As

Publication number Publication date
JP2671517B2 (ja) 1997-10-29

Similar Documents

Publication Publication Date Title
JPH05250305A (ja) データ転送制御方式
JPH0380304A (ja) シーケンス処理におけるタイマ,カウンタの処理方法
JPH0319974B2 (ja)
JP3015793B1 (ja) プログラマブルコントロ―ラ
JP3715328B2 (ja) データ処理装置
JP3614714B2 (ja) Dma制御装置
JPH04288625A (ja) マイクロコンピュータ
JP2522401B2 (ja) プログラマブルコントロ―ラ
JPS6128144A (ja) トレ−ス動作実行装置
JP2720427B2 (ja) ベクトル処理装置
JPH0462093B2 (ja)
JP2508026B2 (ja) タイマ制御方式
JPH10326199A (ja) デュアルシステムにおける割込同期装置
JPS63104145A (ja) タイマ割込処理方法
JPS59144955A (ja) 情報処理装置
JPH0640283B2 (ja) プログラマブル・コントロ−ラ
JPS62117003A (ja) マルチcpu構成プログラマブルコントロ−ラ
JPS6349941A (ja) 演算処理装置
JP2844624B2 (ja) データ処理装置
JPS6120139A (ja) 割込み制御方式
JPH03188514A (ja) 計数回路
JPS616704A (ja) プログラマブル・コントロ−ラ
JPS62296236A (ja) マイクロプロセツサの割り込み処理装置
JPH01234957A (ja) Dma制御方法及び装置
JPH02186463A (ja) 割込み要求発生方法および装置