JPH04303209A - プログラマブルコントローラ - Google Patents
プログラマブルコントローラInfo
- Publication number
- JPH04303209A JPH04303209A JP34359191A JP34359191A JPH04303209A JP H04303209 A JPH04303209 A JP H04303209A JP 34359191 A JP34359191 A JP 34359191A JP 34359191 A JP34359191 A JP 34359191A JP H04303209 A JPH04303209 A JP H04303209A
- Authority
- JP
- Japan
- Prior art keywords
- control program
- programmable controller
- program
- execution
- control
- 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.)
- Pending
Links
- 230000007704 transition Effects 0.000 claims abstract description 15
- 238000005259 measurement Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 5
- 230000006870 function Effects 0.000 abstract description 16
- 230000015654 memory Effects 0.000 abstract description 13
- 238000004891 communication Methods 0.000 abstract description 10
- 238000013497 data interchange Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 55
- 238000004519 manufacturing process Methods 0.000 description 9
- 238000000034 method Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000004913 activation Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 239000013256 coordination polymer Substances 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000004886 process control Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/052—Linking several PLC's
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は産業装置を作動させるプ
ログラマブルコントローラに関し、より詳細にはユーザ
定義コントロールプログラムを実行するこのようなプロ
グラマブルコントローラ用プロセッサに関する。
ログラマブルコントローラに関し、より詳細にはユーザ
定義コントロールプログラムを実行するこのようなプロ
グラマブルコントローラ用プロセッサに関する。
【0002】
【従来の技術】プログラマブルコントローラは、記憶さ
れたコントローラプログラムに従って、組立ライン及び
工作機械等のさまざまな製造装置を作動させる一般的な
産業コンピュータである。プログラムは一連のプロセス
コントロール命令からなり、それを読み出して実行する
ことにより被制御装置の選定感知装置の状態を調べたり
、1個以上の被調査感知装置の状態に従って選定される
作動装置が起動もしくは停止される。
れたコントローラプログラムに従って、組立ライン及び
工作機械等のさまざまな製造装置を作動させる一般的な
産業コンピュータである。プログラムは一連のプロセス
コントロール命令からなり、それを読み出して実行する
ことにより被制御装置の選定感知装置の状態を調べたり
、1個以上の被調査感知装置の状態に従って選定される
作動装置が起動もしくは停止される。
【0003】多くの感知及び作動装置の状態はコントロ
ールプログラム命令により処理される1ビットデータに
より表わすことができる。位置センサ等の他の装置によ
り、被制御装置の状態を表わす多ビットデータが与えら
れる。後者の装置に対して、感知及び作動装置の状態を
表わすデータのバイト及びワードを処理する命令が与え
られる。付加プログラム命令により算術演算、タイミン
グ及びカウント機能、及び複雑な統計報告動作が行われ
る。このような命令は産業において極めて標準化されて
おり、プロセス制御技師が容易に理解できるラダー論理
図エレメントを直接付随している。ユーザがこのような
プログラマブルコントローラ命令からなるラダー論理コ
ントロールプログラムを開発し編集するのを支援するた
めに米国特許第3,808,612号、第3,813,
649号及び第4,070,702号に記載されている
ようなプログラムパネルが開発されている。
ールプログラム命令により処理される1ビットデータに
より表わすことができる。位置センサ等の他の装置によ
り、被制御装置の状態を表わす多ビットデータが与えら
れる。後者の装置に対して、感知及び作動装置の状態を
表わすデータのバイト及びワードを処理する命令が与え
られる。付加プログラム命令により算術演算、タイミン
グ及びカウント機能、及び複雑な統計報告動作が行われ
る。このような命令は産業において極めて標準化されて
おり、プロセス制御技師が容易に理解できるラダー論理
図エレメントを直接付随している。ユーザがこのような
プログラマブルコントローラ命令からなるラダー論理コ
ントロールプログラムを開発し編集するのを支援するた
めに米国特許第3,808,612号、第3,813,
649号及び第4,070,702号に記載されている
ようなプログラムパネルが開発されている。
【0004】精巧な製造工程はしばしば各々が別々のラ
ダー論理コントロールプログラムにより定義される一連
のより小さなタスクへ分解される。全体工程はこれらの
タスクを実施する順序従って対応するラダー論理コント
ロールプログラムの実行シーケンスを指定する機能図に
より定義される。プログラマブルコントローラにおける
機能図の使用については、ここに参照として組み入れた
、米国特許第4,742,443号 ”機能図インタプ
リタを有するプログラマブルコントローラ”に記載され
ている。
ダー論理コントロールプログラムにより定義される一連
のより小さなタスクへ分解される。全体工程はこれらの
タスクを実施する順序従って対応するラダー論理コント
ロールプログラムの実行シーケンスを指定する機能図に
より定義される。プログラマブルコントローラにおける
機能図の使用については、ここに参照として組み入れた
、米国特許第4,742,443号 ”機能図インタプ
リタを有するプログラマブルコントローラ”に記載され
ている。
【0005】プログラマブルコントローラがより複雑な
製造工程に応用されるようになると、さまざまなコント
ローラを使用してシステムの異なる部分の動作を支配し
各々が別々のコントロールプログラムを実行するように
なった。このような応用では、1個のプログラマブルコ
ントローラが製造工程に関するデータを他のプログラマ
ブルコントローラと交換することが必要となる。プログ
ラマブルコントローラ間でデータを通信する技術が開発
されてはいるが、これら数台の装置を協調させることが
複雑化することがある。さらに製造システムの各セクシ
ョンに対してハードウェアを重複させるのは高くつき、
プログラマブルコントローラの速度が増大し且つ所与の
セクションに対するコントロールプログラムを実行しな
がら他のタスクを処理することができるため特に高くつ
く。
製造工程に応用されるようになると、さまざまなコント
ローラを使用してシステムの異なる部分の動作を支配し
各々が別々のコントロールプログラムを実行するように
なった。このような応用では、1個のプログラマブルコ
ントローラが製造工程に関するデータを他のプログラマ
ブルコントローラと交換することが必要となる。プログ
ラマブルコントローラ間でデータを通信する技術が開発
されてはいるが、これら数台の装置を協調させることが
複雑化することがある。さらに製造システムの各セクシ
ョンに対してハードウェアを重複させるのは高くつき、
プログラマブルコントローラの速度が増大し且つ所与の
セクションに対するコントロールプログラムを実行しな
がら他のタスクを処理することができるため特に高くつ
く。
【0006】高速コントローラにより製造報告等の背景
タスクはユーザ定義マシンコントロールプログラムの実
行と調子を合せてインターリーブして実施することがで
きるが、一時にアクティブとされて実行できるのは一つ
のマシンコントロールプログラムだけである。従って、
数台のマシンがいくつかの異なる装置に対して同じプロ
グラマブルコントローラにより高い信頼度で同時に実行
できるようにする機構は存在しない。
タスクはユーザ定義マシンコントロールプログラムの実
行と調子を合せてインターリーブして実施することがで
きるが、一時にアクティブとされて実行できるのは一つ
のマシンコントロールプログラムだけである。従って、
数台のマシンがいくつかの異なる装置に対して同じプロ
グラマブルコントローラにより高い信頼度で同時に実行
できるようにする機構は存在しない。
【0007】プログラマブルコントローラは記憶された
コントロールプログラムの命令を実行するプロセッサ部
を含んでいる。被制御装置の感知及び作動装置は一般的
にプロセッサ部へ電気的に接続された複数の入出力モジ
ュールへ接続されている。プロセッサモジュールは選定
された感知装置の状態を調べる一連のユーザ定義コント
ロールプログラムを実行し、コントロールプログラムに
より定義される論理動作に基づき調べられた状態に従っ
て起動装置の状態を設定する。
コントロールプログラムの命令を実行するプロセッサ部
を含んでいる。被制御装置の感知及び作動装置は一般的
にプロセッサ部へ電気的に接続された複数の入出力モジ
ュールへ接続されている。プロセッサモジュールは選定
された感知装置の状態を調べる一連のユーザ定義コント
ロールプログラムを実行し、コントロールプログラムに
より定義される論理動作に基づき調べられた状態に従っ
て起動装置の状態を設定する。
【0008】本発明に従って、プログラマブルコントロ
ーラのプロセッサ部はプログラムの実行順序に従ってコ
ントロールプログラム識別子リストを記憶するメモリを
含んでいる。コントロールプログラムは遂次選定され、
リスト内のプログラム識別子の順序に基いてラウンドロ
ビン式に実行される。プロセッサ部はプログラム内の所
定点に達するまで選定されたコントロールプログラムを
実行する。実施例において、シーケンシャル機能図プロ
グラムが選定されると、プログラムの一部が実行されそ
の部分に対する遷移状態が評価される。その後、シーケ
ンシャル機能図の実行は保留され別のコントロールプロ
グラムが選定される。
ーラのプロセッサ部はプログラムの実行順序に従ってコ
ントロールプログラム識別子リストを記憶するメモリを
含んでいる。コントロールプログラムは遂次選定され、
リスト内のプログラム識別子の順序に基いてラウンドロ
ビン式に実行される。プロセッサ部はプログラム内の所
定点に達するまで選定されたコントロールプログラムを
実行する。実施例において、シーケンシャル機能図プロ
グラムが選定されると、プログラムの一部が実行されそ
の部分に対する遷移状態が評価される。その後、シーケ
ンシャル機能図の実行は保留され別のコントロールプロ
グラムが選定される。
【0009】コントロールプログラム実行の保留に続い
て、感知装置の状態が読み出されコントロールデータが
起動装置へ送られる。リスト内で識別された最終コント
ロールプログラムが実行されていると、リストの頂部で
選定工程が再開される。本発明はいくつかの独立したコ
ントロールプログラムを1台のプロセッサにより同時に
実行可能なプログラマブルコントローラを提供するもの
である。
て、感知装置の状態が読み出されコントロールデータが
起動装置へ送られる。リスト内で識別された最終コント
ロールプログラムが実行されていると、リストの頂部で
選定工程が再開される。本発明はいくつかの独立したコ
ントロールプログラムを1台のプロセッサにより同時に
実行可能なプログラマブルコントローラを提供するもの
である。
【0010】本発明のもう一つの目的はシーケンシャル
機能図型コントロールプログラム及び独立ラダー図型コ
ントロールプログラムを同時に実行可能とすることであ
る。
機能図型コントロールプログラム及び独立ラダー図型コ
ントロールプログラムを同時に実行可能とすることであ
る。
【0011】もう一つの目的はコントロールプログラム
がリスト内で識別される他のコントロールプログラムの
実行を起動及び停止できるようにすることである。これ
はコントロールプログラム識別子のリストにより指定さ
れる所与のコントロールプログラムをプロセッサ部で実
行すべきかどうかを示すフラグをセット及びリセットす
るコントロールプログラムにより達成される。この目的
はリスト上の識別子を付加、削除もしくは置換すること
によりコントロールプログラム識別子のリストを変える
コントロールプログラムにより達成することもできる。 さらにもう一つの目的は同時に実行されるコントロール
プログラム及び各プログラムの一部を同時に実行する頻
度をユーザが識別できるようにする機構を提供すること
である。
がリスト内で識別される他のコントロールプログラムの
実行を起動及び停止できるようにすることである。これ
はコントロールプログラム識別子のリストにより指定さ
れる所与のコントロールプログラムをプロセッサ部で実
行すべきかどうかを示すフラグをセット及びリセットす
るコントロールプログラムにより達成される。この目的
はリスト上の識別子を付加、削除もしくは置換すること
によりコントロールプログラム識別子のリストを変える
コントロールプログラムにより達成することもできる。 さらにもう一つの目的は同時に実行されるコントロール
プログラム及び各プログラムの一部を同時に実行する頻
度をユーザが識別できるようにする機構を提供すること
である。
【0012】
【実施例】図1を参照として、一般的に符号10に示す
プログラマブルコントローラシステムは、シリアルI/
Oネットワーク15により相互接続された、主装置架1
2及び一連のリモート入出力(I/O)架14を具備し
ている。
プログラマブルコントローラシステムは、シリアルI/
Oネットワーク15により相互接続された、主装置架1
2及び一連のリモート入出力(I/O)架14を具備し
ている。
【0013】主架12には電源16、プロセッサモジュ
ール20及び複数個のI/Oインターフェイスモジュー
ル18が収容されている。主架12内のさまざまなモジ
ュール18及び20が架のバックプレーン上の導体によ
り電気的に相互接続され、モジュール間でデータ及びコ
ントローラ信号を交換できるようにされている。プロセ
ッサモジュール20は同じ装置上の感知装置を起動させ
る信号を発することにより被制御装置上の感知装置から
の信号に応答するユーザ定義主コントロールプログラム
を実行する。感知及び起動装置信号は入出力インターフ
ェイスモジュール18を介して架12と被制御装置間で
転送される。
ール20及び複数個のI/Oインターフェイスモジュー
ル18が収容されている。主架12内のさまざまなモジ
ュール18及び20が架のバックプレーン上の導体によ
り電気的に相互接続され、モジュール間でデータ及びコ
ントローラ信号を交換できるようにされている。プロセ
ッサモジュール20は同じ装置上の感知装置を起動させ
る信号を発することにより被制御装置上の感知装置から
の信号に応答するユーザ定義主コントロールプログラム
を実行する。感知及び起動装置信号は入出力インターフ
ェイスモジュール18を介して架12と被制御装置間で
転送される。
【0014】プロセッサモジュール20はケーブル13
によりモジュールのフロントパネル上のシリアルポート
コネクタに接続された端末11を介してプログラミング
命令を受信するI/Oネットワーク15はプロセッサモ
ジュール20のフロントパネル上のもう一つのコネクタ
及びリモートI/O架14内のアダプタモジュール19
へ接続され、プロセッサモジュール20はリモートI/
O架内のもう一群のI/Oモジュール18′群とデータ
を交換することができる。プロセッサモジュール上に他
のポートを設けて付加I/Oネットワークもしくはロー
カルエリアネットワークと接続しホストコンピュータと
データを交換することができる。
によりモジュールのフロントパネル上のシリアルポート
コネクタに接続された端末11を介してプログラミング
命令を受信するI/Oネットワーク15はプロセッサモ
ジュール20のフロントパネル上のもう一つのコネクタ
及びリモートI/O架14内のアダプタモジュール19
へ接続され、プロセッサモジュール20はリモートI/
O架内のもう一群のI/Oモジュール18′群とデータ
を交換することができる。プロセッサモジュール上に他
のポートを設けて付加I/Oネットワークもしくはロー
カルエリアネットワークと接続しホストコンピュータと
データを交換することができる。
【0015】図2を参照として、プロセッサモジュール
20はユーザコントロールプログラムを実行するための
汎用プロセッサ60及びケーブル13及びI/Oネット
ワーク15を介したデータ交換を処理する通信プロセッ
サ21を含んでいる。しかしながら、通信プロセッサ2
1はローカルエリアネットワークもしくはI/Oネット
ワークとインターフェイスするように構成することがで
きる。詳説するように、プロセッサモジュールのこれら
の各部21,60は1組の分離可能なアドレス、データ
及びコントロールバスにより接続されたそれ自体のマイ
クロプロセッサ及びメモリを有している。プロセッサモ
ジュール20はまた部21,60を他のデータ処理及び
記憶要素へ接続する1組の共有バス33〜35も有して
いる。
20はユーザコントロールプログラムを実行するための
汎用プロセッサ60及びケーブル13及びI/Oネット
ワーク15を介したデータ交換を処理する通信プロセッ
サ21を含んでいる。しかしながら、通信プロセッサ2
1はローカルエリアネットワークもしくはI/Oネット
ワークとインターフェイスするように構成することがで
きる。詳説するように、プロセッサモジュールのこれら
の各部21,60は1組の分離可能なアドレス、データ
及びコントロールバスにより接続されたそれ自体のマイ
クロプロセッサ及びメモリを有している。プロセッサモ
ジュール20はまた部21,60を他のデータ処理及び
記憶要素へ接続する1組の共有バス33〜35も有して
いる。
【0016】通信プロセッサ21はローカルアドレスバ
ス23及びローカルデータバス24周りに形成されてい
る。これらのバスには読取専用メモリ(ROM)26内
に記憶されたプログラムを実行しランダムアクセスメモ
リ(RAM)27を一時データ記憶のためのスクラッチ
パッドとして利用する第1のマイクロプロセッサ22が
接続されている。マスタークロック回路30はコントロ
ール線25を介して通信プロセッサ21の要素へ特定タ
イミング信号を与えるだけでなく、プロセッサモジュー
ル20内の他の要素へシステムクロック信号を与える。
ス23及びローカルデータバス24周りに形成されてい
る。これらのバスには読取専用メモリ(ROM)26内
に記憶されたプログラムを実行しランダムアクセスメモ
リ(RAM)27を一時データ記憶のためのスクラッチ
パッドとして利用する第1のマイクロプロセッサ22が
接続されている。マスタークロック回路30はコントロ
ール線25を介して通信プロセッサ21の要素へ特定タ
イミング信号を与えるだけでなく、プロセッサモジュー
ル20内の他の要素へシステムクロック信号を与える。
【0017】第1のマイクロプロセッサ22へ割当てら
れている主機能はプログラミング端末11及びI/Oネ
ットワーク15との通信制御を行うことである。ユニバ
ーサル非同期送受信機(UART)28により、ローカ
ルアドレス及びデータバス23,24がケーブル13を
介して端末へ接続される。UART28はプロセッサモ
ジュール内のパラレルデータフォーマットをシリアル通
信フォーマットへインターフェイスさせて端末11と通
信を行ういくつかの市販装置のいずれかとすることがで
きる。UART28からのモジュールポートはプログラ
ミング端末11へ接続して示されているが、多くの他種
のシリアル装置へ接続してプロセッサモジュール20と
データ交換を行うことができる。ローカルアドレス及び
データバス23,24はネットワークインターフェイス
29へ接続されて、第1のマイクロプロセッサ22がネ
ットワーク15を介してリモートI/O架14とデータ
を送受信できるようにされる。第1のネットワークイン
ターフェイスによりプロセッサモジュール20内のパラ
レルデータはリモートI/O架14と通信するために使
用されるプロトコルとコンパチブルなシリアルフォーマ
ット化メッセージパックへ変換される。
れている主機能はプログラミング端末11及びI/Oネ
ットワーク15との通信制御を行うことである。ユニバ
ーサル非同期送受信機(UART)28により、ローカ
ルアドレス及びデータバス23,24がケーブル13を
介して端末へ接続される。UART28はプロセッサモ
ジュール内のパラレルデータフォーマットをシリアル通
信フォーマットへインターフェイスさせて端末11と通
信を行ういくつかの市販装置のいずれかとすることがで
きる。UART28からのモジュールポートはプログラ
ミング端末11へ接続して示されているが、多くの他種
のシリアル装置へ接続してプロセッサモジュール20と
データ交換を行うことができる。ローカルアドレス及び
データバス23,24はネットワークインターフェイス
29へ接続されて、第1のマイクロプロセッサ22がネ
ットワーク15を介してリモートI/O架14とデータ
を送受信できるようにされる。第1のネットワークイン
ターフェイスによりプロセッサモジュール20内のパラ
レルデータはリモートI/O架14と通信するために使
用されるプロトコルとコンパチブルなシリアルフォーマ
ット化メッセージパックへ変換される。
【0018】通信プロセッサ21は1組の3状態アドレ
スゲート31及び1組の双方向3状態データゲート32
を介して他のプロセッサモジュール部へ接続されている
。特に、1組のゲート31によりローカルアドレスバス
23はモジュールの共有アドレスバス33へ接続され、
1組のデータゲート32によりローカルデータバス24
は共有データバス34へ接続される。1組のコントロー
ル線35がプロセッサモジュール要素間を延在しており
、以後コントロールバスと呼ぶ。
スゲート31及び1組の双方向3状態データゲート32
を介して他のプロセッサモジュール部へ接続されている
。特に、1組のゲート31によりローカルアドレスバス
23はモジュールの共有アドレスバス33へ接続され、
1組のデータゲート32によりローカルデータバス24
は共有データバス34へ接続される。1組のコントロー
ル線35がプロセッサモジュール要素間を延在しており
、以後コントロールバスと呼ぶ。
【0019】このバス接続により、第1のマイクロプロ
セッサ22は共有アドレス及びデータバス33,34に
接続された共有システムRAM36に対してデータを読
書きすることができる。共有システムRAM36内のデ
ータ構成を図3に示す。第1群の記憶位置40にはプロ
グラムファイルポインタを保持しnのプログラムファイ
ルを含むブロック50内の記憶位置アドレスが含まれる
。共有システムRAM記憶位置の1ブロックにはプログ
ラムモジュール20用の従来の1組のデータテーブルフ
ァイル41〜44が含まれる。第1のデータテーブル4
1には被制御装置に接続される感知装置の状態を表わす
入力データが記憶される。主及びリモート架12,14
内の入力型I/Oモジュール18からのデータは構成さ
れた形でこのテーブル41内に記憶される。第2のデー
タテーブルファイル42にはプログラマブルコントロー
ラシステム10により作動される装置上の起動装置の状
態を表わす出力データが記憶される。同様の構成を使用
して、出力テーブル42には架12,14内の出力型I
/Oモジュール18に接続された起動装置を制御するの
に使用されるデータが記憶される。もう一つのデータフ
ァイル43にはプログラマブルコントロール20及びそ
の要素の状態に関する情報が含まれる。前記したように
、このファイル43にはプロセッサモジュールにより実
行されるように指定されたコントロールプログラムテー
ブルも含まれている。所望により、共有システムRAM
36には付加データファイルを記憶することができる。
セッサ22は共有アドレス及びデータバス33,34に
接続された共有システムRAM36に対してデータを読
書きすることができる。共有システムRAM36内のデ
ータ構成を図3に示す。第1群の記憶位置40にはプロ
グラムファイルポインタを保持しnのプログラムファイ
ルを含むブロック50内の記憶位置アドレスが含まれる
。共有システムRAM記憶位置の1ブロックにはプログ
ラムモジュール20用の従来の1組のデータテーブルフ
ァイル41〜44が含まれる。第1のデータテーブル4
1には被制御装置に接続される感知装置の状態を表わす
入力データが記憶される。主及びリモート架12,14
内の入力型I/Oモジュール18からのデータは構成さ
れた形でこのテーブル41内に記憶される。第2のデー
タテーブルファイル42にはプログラマブルコントロー
ラシステム10により作動される装置上の起動装置の状
態を表わす出力データが記憶される。同様の構成を使用
して、出力テーブル42には架12,14内の出力型I
/Oモジュール18に接続された起動装置を制御するの
に使用されるデータが記憶される。もう一つのデータフ
ァイル43にはプログラマブルコントロール20及びそ
の要素の状態に関する情報が含まれる。前記したように
、このファイル43にはプロセッサモジュールにより実
行されるように指定されたコントロールプログラムテー
ブルも含まれている。所望により、共有システムRAM
36には付加データファイルを記憶することができる。
【0020】共有システムRAM36の他部には被制御
装置の動作を支配するユーザ定義主コントロールプログ
ラムファイル45〜48が記憶される。ユーザが提供す
る特定プログラムに従って、いくつかの異種のコントロ
ールプログラムをプログラムファイルに記憶することが
できる。例えば、いくつかの独立して実行可能なラダー
論理型コントロールプログラムを共有システムRAM3
6のこの部分に記憶することができる。同様に、これら
のプログラムファイル45〜48はシーケンシャル機能
図を記憶して機能図の各ステップに対してコントロール
プログラムを分離することができる。RAM36内のプ
ログラムファイルエリアの後には、各データファイル4
1〜44へのポインタを有する部分49及びプログラム
ファイル45〜48へのポインタを有する部分50を含
むファイルディレクトリがある。
装置の動作を支配するユーザ定義主コントロールプログ
ラムファイル45〜48が記憶される。ユーザが提供す
る特定プログラムに従って、いくつかの異種のコントロ
ールプログラムをプログラムファイルに記憶することが
できる。例えば、いくつかの独立して実行可能なラダー
論理型コントロールプログラムを共有システムRAM3
6のこの部分に記憶することができる。同様に、これら
のプログラムファイル45〜48はシーケンシャル機能
図を記憶して機能図の各ステップに対してコントロール
プログラムを分離することができる。RAM36内のプ
ログラムファイルエリアの後には、各データファイル4
1〜44へのポインタを有する部分49及びプログラム
ファイル45〜48へのポインタを有する部分50を含
むファイルディレクトリがある。
【0021】共有システムRAM36には、特定感知も
しくは起動装置からのコントロールデータを所与の論理
状態とする前記プログラマブルコントローラに使用され
ものと類似のI/O強制データテーブル46も含まれる
。共有システムRAM36のハイアドレスにおける最終
メモリ部47はシステム、プロセッサモジュール、及び
マイクロプロセッサレベル構成データを格納するのに使
用される。例えば、構成データはI/Oポートパラメー
タ及びプロトコル通信を定義するのに使用される。共有
システムRAM36の各部の構成は重要ではなく、図3
に示すものとは異なることがある。
しくは起動装置からのコントロールデータを所与の論理
状態とする前記プログラマブルコントローラに使用され
ものと類似のI/O強制データテーブル46も含まれる
。共有システムRAM36のハイアドレスにおける最終
メモリ部47はシステム、プロセッサモジュール、及び
マイクロプロセッサレベル構成データを格納するのに使
用される。例えば、構成データはI/Oポートパラメー
タ及びプロトコル通信を定義するのに使用される。共有
システムRAM36の各部の構成は重要ではなく、図3
に示すものとは異なることがある。
【0022】再び図2を参照として、I/O架インター
フェイス回路38が共有アドレス及びデータバス33,
34及び主架12のバックプレーンに接続されている。 このインータフェイス回路は主架内のI/Oモジュール
18を周期的に走査してセンサから入力データを集め被
制御装置上の起動装置へ出力データを送る。走査は前記
プロセッサモジュールの場合と同様に、各I/Oモジュ
ールへ遂次コントロール信号を送ることにより行われる
。これらのコントロール信号により入力型モジュールは
バックプレーンを介してセンサデータを送出し、出力型
モジュールはプロセッサモジュールから送られるデータ
を記憶する。主架12内においてI/Oモジュール18
により交換されるデータは共有システムRAM36のI
/Oデータテーブル41,42内に記憶される。
フェイス回路38が共有アドレス及びデータバス33,
34及び主架12のバックプレーンに接続されている。 このインータフェイス回路は主架内のI/Oモジュール
18を周期的に走査してセンサから入力データを集め被
制御装置上の起動装置へ出力データを送る。走査は前記
プロセッサモジュールの場合と同様に、各I/Oモジュ
ールへ遂次コントロール信号を送ることにより行われる
。これらのコントロール信号により入力型モジュールは
バックプレーンを介してセンサデータを送出し、出力型
モジュールはプロセッサモジュールから送られるデータ
を記憶する。主架12内においてI/Oモジュール18
により交換されるデータは共有システムRAM36のI
/Oデータテーブル41,42内に記憶される。
【0023】ラダー論理プロセッサ50も共有アドレス
及びデータバス33,34へ接続される。莫大なラダー
型コントロールプログラム命令が1ビットもしくはワー
ド(すなわち、16ビット)データで作動する。ラダー
論理プロセッサ50はこれらの基本データ処理動作を行
うラダー型命令のサブセットを実行するように設計され
ている。これにより、これらの命令が効率的に実行され
るだけでなく、モジュール12内のマイクロプロセッサ
はコントロールプログラムの実行と同時に他の機能を実
施することができるようになる。
及びデータバス33,34へ接続される。莫大なラダー
型コントロールプログラム命令が1ビットもしくはワー
ド(すなわち、16ビット)データで作動する。ラダー
論理プロセッサ50はこれらの基本データ処理動作を行
うラダー型命令のサブセットを実行するように設計され
ている。これにより、これらの命令が効率的に実行され
るだけでなく、モジュール12内のマイクロプロセッサ
はコントロールプログラムの実行と同時に他の機能を実
施することができるようになる。
【0024】いくつかの複雑な動作はラダー論理プロセ
ッサ50では実施できず汎用プロセッサ60により実行
される。複雑なラダー論理動作を実施する他に、汎用プ
ロセッサはユーザによりプロセッサされている場合に一
連の機能図を解釈する。プロセッサモジュール10のこ
の部分には、それぞれ、それ自体の分離されたアドレス
及びデータバスセット62,63に接続された第2のマ
イクロプロセッサ61が含まれている。このバス対62
,63により第2のマイクロプロセッサ61が汎用プロ
セッサ60内の第2のROM64及び第2のスクラッチ
パッドランダムアクセスメモリ65へ接続される。第2
のROM64には第2のマイクロプロセッサ61が実行
して複雑なラダー論理演算を行うファームウェアが記憶
されている。
ッサ50では実施できず汎用プロセッサ60により実行
される。複雑なラダー論理動作を実施する他に、汎用プ
ロセッサはユーザによりプロセッサされている場合に一
連の機能図を解釈する。プロセッサモジュール10のこ
の部分には、それぞれ、それ自体の分離されたアドレス
及びデータバスセット62,63に接続された第2のマ
イクロプロセッサ61が含まれている。このバス対62
,63により第2のマイクロプロセッサ61が汎用プロ
セッサ60内の第2のROM64及び第2のスクラッチ
パッドランダムアクセスメモリ65へ接続される。第2
のROM64には第2のマイクロプロセッサ61が実行
して複雑なラダー論理演算を行うファームウェアが記憶
されている。
【0025】タイミング回路67がシステムクロックを
受信してそこから第2のマイクロプロセッサ61及び付
随メモリ64,65に必要なタイミング及びコントロー
ル信号を引き出す。一対の3状態送信ゲート68,69
が共有アドレス及びデータバス33,34から汎用プロ
セッサ60の、それぞれ、アドレス及びデータバス62
,63を分離する。第2のマイクロプロセッサ61から
のコマンドに応答してこれらのゲート68,69がイネ
ーブルされると、内部バスセット62,63が共有バス
33,34へ電気的に接続される。このイネーブリング
は第2のマイクロプロセッサ61が共有システムメモリ
へのアクセスを要求し且つラダー論理プロセッサ50内
の仲裁回路により共有バス33,34の使用を許可され
ている場合のみ生じる。
受信してそこから第2のマイクロプロセッサ61及び付
随メモリ64,65に必要なタイミング及びコントロー
ル信号を引き出す。一対の3状態送信ゲート68,69
が共有アドレス及びデータバス33,34から汎用プロ
セッサ60の、それぞれ、アドレス及びデータバス62
,63を分離する。第2のマイクロプロセッサ61から
のコマンドに応答してこれらのゲート68,69がイネ
ーブルされると、内部バスセット62,63が共有バス
33,34へ電気的に接続される。このイネーブリング
は第2のマイクロプロセッサ61が共有システムメモリ
へのアクセスを要求し且つラダー論理プロセッサ50内
の仲裁回路により共有バス33,34の使用を許可され
ている場合のみ生じる。
【0026】プログラマブルコントローラ10のハード
ウェアは前の装置と同様である。しかしながら、そのオ
ペレーティングシステムにより多くの主コントロールプ
ログラムを同時にアクティブとし、同時に装置のコント
ロールを実行することができる。ここで使用されるよう
に、主コントロールプログラムは他のユーザ定義プログ
ラムとは独立して実行され且つプログラマブルコントロ
ーラ10によりコントロールされる装置の動作を支配す
るようにされているプログラムである。このようにして
、主コントロールプログラムは装置上の感知装置の状態
を読み取り起動装置の状態を設定する。主コントロール
プログラム(MCP)は各チャートステップに対してラ
ダー論理プログラムを有するシーケンシャル機能図とす
ることができる。このような場合、これらのラダー論理
プログラムは独立的ではなく機能図により定義されるス
テップのシーケンスに従って実行される。主コントロー
ルプログラムはまた独立的に実行する、すなわちシーケ
ンシャル機能図を付随しない、個別のラダー論理コント
ロールプログラムとすることができる。別の言語で書か
れたコントロールプログラムも主コントロールプログラ
ムとして分類することができる。
ウェアは前の装置と同様である。しかしながら、そのオ
ペレーティングシステムにより多くの主コントロールプ
ログラムを同時にアクティブとし、同時に装置のコント
ロールを実行することができる。ここで使用されるよう
に、主コントロールプログラムは他のユーザ定義プログ
ラムとは独立して実行され且つプログラマブルコントロ
ーラ10によりコントロールされる装置の動作を支配す
るようにされているプログラムである。このようにして
、主コントロールプログラムは装置上の感知装置の状態
を読み取り起動装置の状態を設定する。主コントロール
プログラム(MCP)は各チャートステップに対してラ
ダー論理プログラムを有するシーケンシャル機能図とす
ることができる。このような場合、これらのラダー論理
プログラムは独立的ではなく機能図により定義されるス
テップのシーケンスに従って実行される。主コントロー
ルプログラムはまた独立的に実行する、すなわちシーケ
ンシャル機能図を付随しない、個別のラダー論理コント
ロールプログラムとすることができる。別の言語で書か
れたコントロールプログラムも主コントロールプログラ
ムとして分類することができる。
【0027】プロセッサモジュール20により同時に実
行されるように構成された一群の主コントロールプログ
ラムは各々が他の製造装置の動作とは無関係に作用する
別々の製造装置の機能をコントロールすることができる
。また、主コントロールプログラムは各部分の動作が他
部分の動作に影響を及ぼす大型製造システムの異なる部
分を支配するのに使用することもできる。
行されるように構成された一群の主コントロールプログ
ラムは各々が他の製造装置の動作とは無関係に作用する
別々の製造装置の機能をコントロールすることができる
。また、主コントロールプログラムは各部分の動作が他
部分の動作に影響を及ぼす大型製造システムの異なる部
分を支配するのに使用することもできる。
【0028】ラダー論理コントロールプログラムであれ
、シーケンシャル機能図であれ他種のものであれ、各主
コントロールプログラムは従来の創始ソフトウェアを使
用して端末11に書き込まれる。このようなソフトウェ
アにより、ラダー図や機能図を端末のスクリーン上にグ
ラフィック表示することができる。ユーザが生成するグ
ラフィック表示から、創始ソフトウェアはプロセッサモ
ジュール20により実行される一連の命令を含むプログ
ラムファイルを作り出す。主コントロールプログラムの
ファイルは端末11から共有システムRAM36へダウ
ンロードされ、そこでユーザコントロールプログラムエ
リアへ記憶される。
、シーケンシャル機能図であれ他種のものであれ、各主
コントロールプログラムは従来の創始ソフトウェアを使
用して端末11に書き込まれる。このようなソフトウェ
アにより、ラダー図や機能図を端末のスクリーン上にグ
ラフィック表示することができる。ユーザが生成するグ
ラフィック表示から、創始ソフトウェアはプロセッサモ
ジュール20により実行される一連の命令を含むプログ
ラムファイルを作り出す。主コントロールプログラムの
ファイルは端末11から共有システムRAM36へダウ
ンロードされ、そこでユーザコントロールプログラムエ
リアへ記憶される。
【0029】本発明のボードコンセプト内でそれ以上も
しくは以下の数を収容することもできるが、端末11は
プロセッサモジュール20が同時に実行する16までの
主コントロールプログラムを指定するのにも使用される
。端末内のもう一つのソフトウェアルーチンが共有シス
テムRAM36(図3に示す)の部分50からプログラ
ムファイルディレクトリを読み取って端末スクリーン上
にファイル名を表示する。次に、ユーザは端末のキーボ
ードを使用して主コントロールプログラムを選択し実行
する。そうすることにより、端末は16の主コントロー
ルプログラム、A〜P、を選定するようユーザを促す。 ユーザが各選定を行った後で、そのプログラムに対応す
るファイル番号がプロセッサモジュール20の共有シス
テムRAM36内に記憶された状態ファイル43内のテ
ーブルに記憶される。プロセッサモジュール20で実行
するプログラムはMCP実行テーブルにアクセスして、
プログラムが共有システムRAM36内の他のテーブル
を変更するのとほとんど同様に、主コントロールプログ
ラムを付加、削除及び置換することによりプログラムフ
ァイルエントリーを変更することができる。
しくは以下の数を収容することもできるが、端末11は
プロセッサモジュール20が同時に実行する16までの
主コントロールプログラムを指定するのにも使用される
。端末内のもう一つのソフトウェアルーチンが共有シス
テムRAM36(図3に示す)の部分50からプログラ
ムファイルディレクトリを読み取って端末スクリーン上
にファイル名を表示する。次に、ユーザは端末のキーボ
ードを使用して主コントロールプログラムを選択し実行
する。そうすることにより、端末は16の主コントロー
ルプログラム、A〜P、を選定するようユーザを促す。 ユーザが各選定を行った後で、そのプログラムに対応す
るファイル番号がプロセッサモジュール20の共有シス
テムRAM36内に記憶された状態ファイル43内のテ
ーブルに記憶される。プロセッサモジュール20で実行
するプログラムはMCP実行テーブルにアクセスして、
プログラムが共有システムRAM36内の他のテーブル
を変更するのとほとんど同様に、主コントロールプログ
ラムを付加、削除及び置換することによりプログラムフ
ァイルエントリーを変更することができる。
【0030】状態ファイルのこの部分は、 ”MCP実
行テーブル”と呼ばれ図4に示す、16の主コントロー
ルプログラムエントリーA〜Pの各々が3ワード長であ
る。各エントリーの第1のワード71には主コントロー
ルプログラムを識別するプログラムファイル番号が含ま
れている。次の2ワード72,73は最初はブランクで
あり、主コントロールプログラムの実行をコントロール
するMCPスケジュールルーチンにより書き入れられる
。詳記するように、各主コントロールプログラムエント
リーの第2のワード(LAST SCAN TIM
E)にはそのプログラムの最終実行期間の持続時間の測
定値が含まれ、第3ワード(MAXIMUMSCAN
TIME)にはプログラムの最長実行期間の測定値が
含まれている。ユーザにMCP実行テーブル内の主コン
トロールプログラムA〜Pの各々を指定する機会が与え
られると、所与のプログラムをテーブルに2回以上入力
してテーブルの各ラウンドスルー中に多数回実行するこ
とができる。さらに、同じMCP実行テーブルに異種の
主コントロールプログラムを記載することができる。例
えば、いくつかのプログラムを独立ラダー論理コントロ
ールプログラムとし、他をシーケンシャル機能図プログ
ラムとすることができる。さらに、他の言語で書かれた
プログラムをリストして同時に実行することができる。
行テーブル”と呼ばれ図4に示す、16の主コントロー
ルプログラムエントリーA〜Pの各々が3ワード長であ
る。各エントリーの第1のワード71には主コントロー
ルプログラムを識別するプログラムファイル番号が含ま
れている。次の2ワード72,73は最初はブランクで
あり、主コントロールプログラムの実行をコントロール
するMCPスケジュールルーチンにより書き入れられる
。詳記するように、各主コントロールプログラムエント
リーの第2のワード(LAST SCAN TIM
E)にはそのプログラムの最終実行期間の持続時間の測
定値が含まれ、第3ワード(MAXIMUMSCAN
TIME)にはプログラムの最長実行期間の測定値が
含まれている。ユーザにMCP実行テーブル内の主コン
トロールプログラムA〜Pの各々を指定する機会が与え
られると、所与のプログラムをテーブルに2回以上入力
してテーブルの各ラウンドスルー中に多数回実行するこ
とができる。さらに、同じMCP実行テーブルに異種の
主コントロールプログラムを記載することができる。例
えば、いくつかのプログラムを独立ラダー論理コントロ
ールプログラムとし、他をシーケンシャル機能図プログ
ラムとすることができる。さらに、他の言語で書かれた
プログラムをリストして同時に実行することができる。
【0031】16よりも少い主コントロールプログラム
を同時に実行したい場合には、図4のMCP実行テーブ
ルの残りのエントリーの第1ワード71はどのプログラ
ムファイルも指定しないことを示すエントリーを有する
。例えば、ゼロプログラムファイル番号を使用して実行
すべきマスターコントロールプログラムを識別しないエ
ントリーを書き入れることができる。たとえ、実行テー
ブル内の特定エントリーが実行すべきプログラムファイ
ルを識別する場合であっても、MCP実行テーブルの第
1ワード70内にフラグビットを設定することにより実
行をディセーブルすることができる。この第1ワード7
0内の16ビットの各々が実行テーブル内の可能な16
の主コントロールプログラムエントリーA〜Pに対応す
るMCPインヒビットフラグである。 ”1”フラグビ
ットは対応する主コントロールプログラムを実行すべき
でないことを示し、 ”0”ビットによりプログラムの
実行がイネーブルされる。MCPインヒビットフラグは
、ちょうど共有システムRAM36内の他のデータファ
イルのビットをセット及びリセットできるように、主コ
ントロールプログラム内の命令によりセット及びリセッ
トすることができる。MCP実行テーブルの構成中に、
ユーザはその実行テーブル内の特定エントリーに対して
MCPインヒビットフラグを手動セット及びリセットす
ることができる。
を同時に実行したい場合には、図4のMCP実行テーブ
ルの残りのエントリーの第1ワード71はどのプログラ
ムファイルも指定しないことを示すエントリーを有する
。例えば、ゼロプログラムファイル番号を使用して実行
すべきマスターコントロールプログラムを識別しないエ
ントリーを書き入れることができる。たとえ、実行テー
ブル内の特定エントリーが実行すべきプログラムファイ
ルを識別する場合であっても、MCP実行テーブルの第
1ワード70内にフラグビットを設定することにより実
行をディセーブルすることができる。この第1ワード7
0内の16ビットの各々が実行テーブル内の可能な16
の主コントロールプログラムエントリーA〜Pに対応す
るMCPインヒビットフラグである。 ”1”フラグビ
ットは対応する主コントロールプログラムを実行すべき
でないことを示し、 ”0”ビットによりプログラムの
実行がイネーブルされる。MCPインヒビットフラグは
、ちょうど共有システムRAM36内の他のデータファ
イルのビットをセット及びリセットできるように、主コ
ントロールプログラム内の命令によりセット及びリセッ
トすることができる。MCP実行テーブルの構成中に、
ユーザはその実行テーブル内の特定エントリーに対して
MCPインヒビットフラグを手動セット及びリセットす
ることができる。
【0032】ユーザが全部の主コントロールプログラム
を書込んで記憶しMCP実行テーブルを構成すると、プ
ロセッサモジュール20をランモードとして図5のフロ
ー図に示すMCPスケジューラルーチンの実行を開始す
ることができる。MCPスケジューラルーチンはMCP
実行テーブル内の主コントロールプログラムA〜Pのい
ずれが現在実行されているかを示す第2のRAM65内
のポインタを記憶する第2のマイクロプロセッサ61に
より実行される。MCP実行テーブルにリストされた全
てのアクティブ主コントロールプログラムを同時に実行
して全てが被制御装置を同時に作動させるようにするこ
とができる。このテーブル内に指定された複数のアクテ
ィブ主コントロールプログラムは同時に実行されるもの
として記載されているが、実際には任意の時点において
、一つだけの主コントロールプログラムに対する命令が
プロセッサモジュール20により実行されていることを
お判り願いたい。しかしながら、MCPスケジューラル
ーチンの動作に関して後記するように、MCP実行テー
ブル内に指定されている全てのアクティブプログラムは
ユニークに時間インターリーブされて同時に実行されて
いる。
を書込んで記憶しMCP実行テーブルを構成すると、プ
ロセッサモジュール20をランモードとして図5のフロ
ー図に示すMCPスケジューラルーチンの実行を開始す
ることができる。MCPスケジューラルーチンはMCP
実行テーブル内の主コントロールプログラムA〜Pのい
ずれが現在実行されているかを示す第2のRAM65内
のポインタを記憶する第2のマイクロプロセッサ61に
より実行される。MCP実行テーブルにリストされた全
てのアクティブ主コントロールプログラムを同時に実行
して全てが被制御装置を同時に作動させるようにするこ
とができる。このテーブル内に指定された複数のアクテ
ィブ主コントロールプログラムは同時に実行されるもの
として記載されているが、実際には任意の時点において
、一つだけの主コントロールプログラムに対する命令が
プロセッサモジュール20により実行されていることを
お判り願いたい。しかしながら、MCPスケジューラル
ーチンの動作に関して後記するように、MCP実行テー
ブル内に指定されている全てのアクティブプログラムは
ユニークに時間インターリーブされて同時に実行されて
いる。
【0033】最初に、MCPスケジューラルーチンのス
テップ80において、第2のマイクロプロセッサ61は
第2のRAM65内に記憶されたポインタにより指定さ
れる主コントロールプログラムに対するMCP実行テー
ブル内のワード70からインヒビットフラグビットを読
取る。フラグを調べて、ステップ82において選定され
た主コントロールプログラムがイネーブルされるかどう
かが決定される。フラグビットがセットされて選定され
た主コントロールプログラムが実行されないことが示さ
れると、そのMCP実行テーブルエントリーの第2のワ
ード72内のLAST SCAN TIMEがステ
ップ87において0にセットされる。次に、MCPスケ
ジューラルーチンはステップ104(図5)へ飛びMC
P実行テーブル内の次のプログラムへ進む。しかしなが
ら、ステップ82で調べられるフラグが選定された主コ
ントロールプログラムがイネーブルされることを示す場
合には、MCPスケジューラルーチンの実行はステップ
84へ進み、そこで選定された主コントロールプログラ
ムに対するプログラムファイル番号が第2のマイクロプ
ロセッサ81によりMCP実行テーブル内のエントリー
から読取られる。次に、このファイル番号はステップ8
6において調べられ、このテーブルエントリーにおいて
プログラムが指定されないことを示す0であるかどうか
が決定される。ファイル番号が0であれば、このプログ
ラムに対するLAST SCAN TIMEはステ
ップ87においてMCP実行テーブル内で0にセットさ
れ、その後でプログラム実行はステップ104へ飛んで
MCP実行テーブル内の次のプログラムエントリーへ進
む。
テップ80において、第2のマイクロプロセッサ61は
第2のRAM65内に記憶されたポインタにより指定さ
れる主コントロールプログラムに対するMCP実行テー
ブル内のワード70からインヒビットフラグビットを読
取る。フラグを調べて、ステップ82において選定され
た主コントロールプログラムがイネーブルされるかどう
かが決定される。フラグビットがセットされて選定され
た主コントロールプログラムが実行されないことが示さ
れると、そのMCP実行テーブルエントリーの第2のワ
ード72内のLAST SCAN TIMEがステ
ップ87において0にセットされる。次に、MCPスケ
ジューラルーチンはステップ104(図5)へ飛びMC
P実行テーブル内の次のプログラムへ進む。しかしなが
ら、ステップ82で調べられるフラグが選定された主コ
ントロールプログラムがイネーブルされることを示す場
合には、MCPスケジューラルーチンの実行はステップ
84へ進み、そこで選定された主コントロールプログラ
ムに対するプログラムファイル番号が第2のマイクロプ
ロセッサ81によりMCP実行テーブル内のエントリー
から読取られる。次に、このファイル番号はステップ8
6において調べられ、このテーブルエントリーにおいて
プログラムが指定されないことを示す0であるかどうか
が決定される。ファイル番号が0であれば、このプログ
ラムに対するLAST SCAN TIMEはステ
ップ87においてMCP実行テーブル内で0にセットさ
れ、その後でプログラム実行はステップ104へ飛んで
MCP実行テーブル内の次のプログラムエントリーへ進
む。
【0034】ステップ86において妥当なファイル番号
が見つかると、MCPスケジューラルーチン実行はステ
ップ88へ進み、そこで第2のマイクロプロセッサ61
はそのタイミング回路67内のプログラム実行タイマー
をリセットし、選定された主コントロールプログラムの
実行持続時間を測定する機構を提供する。次に、第2の
マイクロプロセッサ61は選定された主コントロールプ
ログラムのファイル番号を使用して共有システムRAM
(図3参照)の部分50内のファイルディレクトリを読
取る。このディレクトリ内の他情報の中に実行すべきプ
ログラムの種類表示がある。例えば、このプログラムは
ラダー論理型プログラムもしくはシーケンシャル機能図
とすることができる。このファイル型指定を使用して、
プログラム実行は次にステップ92においてプログラム
の種類に基いて2つの並列プログラム分岐のいずれかへ
分岐される。前記したように、プロセッサモジュール2
0は他種の主コントロールプログラムを実行するように
セットすることもでき、この場合にはMCPスケジュー
ラルーチン内のステップ92及び98間に付加並列分岐
が設けられる。
が見つかると、MCPスケジューラルーチン実行はステ
ップ88へ進み、そこで第2のマイクロプロセッサ61
はそのタイミング回路67内のプログラム実行タイマー
をリセットし、選定された主コントロールプログラムの
実行持続時間を測定する機構を提供する。次に、第2の
マイクロプロセッサ61は選定された主コントロールプ
ログラムのファイル番号を使用して共有システムRAM
(図3参照)の部分50内のファイルディレクトリを読
取る。このディレクトリ内の他情報の中に実行すべきプ
ログラムの種類表示がある。例えば、このプログラムは
ラダー論理型プログラムもしくはシーケンシャル機能図
とすることができる。このファイル型指定を使用して、
プログラム実行は次にステップ92においてプログラム
の種類に基いて2つの並列プログラム分岐のいずれかへ
分岐される。前記したように、プロセッサモジュール2
0は他種の主コントロールプログラムを実行するように
セットすることもでき、この場合にはMCPスケジュー
ラルーチン内のステップ92及び98間に付加並列分岐
が設けられる。
【0035】実行すべく選定された主コントロールプロ
グラムがラダー論理型プログラムである場合には、プロ
グラム実行はステップ94へ分岐されそこで第2のマイ
クロプロセッサ61は従来のラダー論理プログラムイン
タープリタルーチンを呼び出す。選定された主コントロ
ールプログラムのファイル番号はインタープリタルーチ
ンへ通され、それは共有システムRAM36内に記憶さ
れたプログラムへアクセスしてラダー頂部でその命令を
実行開始する。前記したように、大概のラダー論理型命
令はラダー論理プロセッサ50.5により実行される。 しかしながら、、比較的複雑なラダー論理命令は代表的
に第2のマイクロプロセッサ61により実行される。標
準プログラマブルコントローラにより、ラダー論理プロ
グラムの各機はラダーの底に達するまで指定シーケンス
で実行される。ラダー論理型プログラムの一下降走査が
終了すると、ステップ94で呼び出されたインタープリ
タルーチンはそれ以後の主コントロールプログラムの実
行を保留してMCPスケジューラルーチンへ戻りそれは
ステップ98へ進む。これは、ラダーの底部から頂部へ
戻ってコントロールプログラムによりもう一つの実行走
査を行う、従来のラダー論理プログラムとは対照的であ
る。
グラムがラダー論理型プログラムである場合には、プロ
グラム実行はステップ94へ分岐されそこで第2のマイ
クロプロセッサ61は従来のラダー論理プログラムイン
タープリタルーチンを呼び出す。選定された主コントロ
ールプログラムのファイル番号はインタープリタルーチ
ンへ通され、それは共有システムRAM36内に記憶さ
れたプログラムへアクセスしてラダー頂部でその命令を
実行開始する。前記したように、大概のラダー論理型命
令はラダー論理プロセッサ50.5により実行される。 しかしながら、、比較的複雑なラダー論理命令は代表的
に第2のマイクロプロセッサ61により実行される。標
準プログラマブルコントローラにより、ラダー論理プロ
グラムの各機はラダーの底に達するまで指定シーケンス
で実行される。ラダー論理型プログラムの一下降走査が
終了すると、ステップ94で呼び出されたインタープリ
タルーチンはそれ以後の主コントロールプログラムの実
行を保留してMCPスケジューラルーチンへ戻りそれは
ステップ98へ進む。これは、ラダーの底部から頂部へ
戻ってコントロールプログラムによりもう一つの実行走
査を行う、従来のラダー論理プログラムとは対照的であ
る。
【0036】また、ステップ92において選定される主
コントロールプログラムがシーケンシャル機能図であれ
ば、MCPスケジューラルーチンの実行はステップ96
へ分岐され、そこで第2のマイクロプロセッサ61によ
りシーケンシャル機能図インタープリタルーチンが呼び
出される。この種のインタープリタルーチンは米国特許
第4,742,443号に記載されているものと同様で
ある。従来のシーケンシャル機能図インタープリタは2
部分を結ぶ遷移状態が満されると特定シーケンスで即座
に一つのチャート部から次のチャート部へ進む。しかし
ながら、ステップ96においてシーケンシャル機能図イ
ンタープリタを呼び出すと、チャートの1部分だけが実
行される。機能図のアクティブ部分の一回の実行走査が
行われ遷移状態が評価されると、インタープリタルーチ
ンはMCPスケジューラルーチンへ戻る。従って、シー
ケンシャル機能図主コントロールプログラムが実行すべ
く選定されるたびに、チャートの1部分だけが実行され
それによりシーケンシャル機能図の各部間で他の主コン
トロールプログラムの部分を実行することができる。
コントロールプログラムがシーケンシャル機能図であれ
ば、MCPスケジューラルーチンの実行はステップ96
へ分岐され、そこで第2のマイクロプロセッサ61によ
りシーケンシャル機能図インタープリタルーチンが呼び
出される。この種のインタープリタルーチンは米国特許
第4,742,443号に記載されているものと同様で
ある。従来のシーケンシャル機能図インタープリタは2
部分を結ぶ遷移状態が満されると特定シーケンスで即座
に一つのチャート部から次のチャート部へ進む。しかし
ながら、ステップ96においてシーケンシャル機能図イ
ンタープリタを呼び出すと、チャートの1部分だけが実
行される。機能図のアクティブ部分の一回の実行走査が
行われ遷移状態が評価されると、インタープリタルーチ
ンはMCPスケジューラルーチンへ戻る。従って、シー
ケンシャル機能図主コントロールプログラムが実行すべ
く選定されるたびに、チャートの1部分だけが実行され
それによりシーケンシャル機能図の各部間で他の主コン
トロールプログラムの部分を実行することができる。
【0037】図6はボックスで示す一連のステップとそ
れに続き、ステップを結ぶ垂直線を通る水平線で簡便に
示す、遷移からなる代表的なシーケンシャル機能図のグ
ラフである。従来の機能図のいくつかの異なる部分が示
されている。例えば、一つの機能ステップ122が機能
図の ”シーケンス部”内でステップ120に続いてい
る。ステップ122の後で、プログラムは3つの機能ス
テップ124,125,126へ分岐され、その全てが
同時に実行されて機能図の ”同時部”を形成する。同
時部の終りに、プログラムは収束して一つの機能ステッ
プ128を実行する。各機能ステップボックス及び各遷
移ごとに、機能図の各ステップに対する機能を実施する
コントロールプログラムを含むプログラムファイルが指
定される。このような各コントロールプログラムはラダ
ー論理型とすることができるが、別のプログラミング言
語で書くこともできる。
れに続き、ステップを結ぶ垂直線を通る水平線で簡便に
示す、遷移からなる代表的なシーケンシャル機能図のグ
ラフである。従来の機能図のいくつかの異なる部分が示
されている。例えば、一つの機能ステップ122が機能
図の ”シーケンス部”内でステップ120に続いてい
る。ステップ122の後で、プログラムは3つの機能ス
テップ124,125,126へ分岐され、その全てが
同時に実行されて機能図の ”同時部”を形成する。同
時部の終りに、プログラムは収束して一つの機能ステッ
プ128を実行する。各機能ステップボックス及び各遷
移ごとに、機能図の各ステップに対する機能を実施する
コントロールプログラムを含むプログラムファイルが指
定される。このような各コントロールプログラムはラダ
ー論理型とすることができるが、別のプログラミング言
語で書くこともできる。
【0038】MCPスケジューラルーチンが図6のシー
ケンシャル機能図を選定して実行すると、ステップ96
で呼び出されるインタープリタルーチンが一時にチャー
トの一部分を処理する。例えば、インタープリタは最初
にプログラムファイル番号4に記憶されたコントロール
プログラムを呼び出して実行することにより機能ステッ
プ120を解釈する。前記特許に記載されているように
、このファイルが従来のラダー論理型プログラムであれ
ば、シーケンシャル機能図インタープリタは次にラダー
論理プログラムインタープリタを呼び出して指定ファイ
ル内のプログラムを実行する。ラダー論理プログラムに
よる一つの実行走査が完了すると、シーケンシャル機能
図インタープリタルーチンはファイル19内に記憶され
たプログラムにより定義される遷移121へ進む。
ケンシャル機能図を選定して実行すると、ステップ96
で呼び出されるインタープリタルーチンが一時にチャー
トの一部分を処理する。例えば、インタープリタは最初
にプログラムファイル番号4に記憶されたコントロール
プログラムを呼び出して実行することにより機能ステッ
プ120を解釈する。前記特許に記載されているように
、このファイルが従来のラダー論理型プログラムであれ
ば、シーケンシャル機能図インタープリタは次にラダー
論理プログラムインタープリタを呼び出して指定ファイ
ル内のプログラムを実行する。ラダー論理プログラムに
よる一つの実行走査が完了すると、シーケンシャル機能
図インタープリタルーチンはファイル19内に記憶され
たプログラムにより定義される遷移121へ進む。
【0039】次に、この遷移プログラムを実行して機能
図がステップ120にとどまるべきかもしくはチャート
の次の部分、すなわちステップ122へ進むべきかが決
定される。次の部分へ進むべく決定されると、シーケン
シャル機能図に対する状態ファイル内のアクティブ機能
部の指定が適切な部分へ変えられる。例えば、実行がス
テップ120にとどまる場合には、アクティブステップ
指定は変化せず、シーケンシャル機能図が機能ステップ
122へ進む場合には、その機能ステップはアクティブ
ステップ状態ブロックへ指定される。シーケンシャル機
能図を解釈した前のシステムでは、遷移が評価されると
指定アクティブステップを実行することによりシーケン
シャル機能図の解釈が継続される。しかしながら、多数
のマスターコントロールプログラムを同時に実行する本
システムでは、遷移プログラムが実行されると、シーケ
ンシャル機能図インタープリタルーチンはMCPスケジ
ューラルーチンへ戻りそれはステップ98へ進む。
図がステップ120にとどまるべきかもしくはチャート
の次の部分、すなわちステップ122へ進むべきかが決
定される。次の部分へ進むべく決定されると、シーケン
シャル機能図に対する状態ファイル内のアクティブ機能
部の指定が適切な部分へ変えられる。例えば、実行がス
テップ120にとどまる場合には、アクティブステップ
指定は変化せず、シーケンシャル機能図が機能ステップ
122へ進む場合には、その機能ステップはアクティブ
ステップ状態ブロックへ指定される。シーケンシャル機
能図を解釈した前のシステムでは、遷移が評価されると
指定アクティブステップを実行することによりシーケン
シャル機能図の解釈が継続される。しかしながら、多数
のマスターコントロールプログラムを同時に実行する本
システムでは、遷移プログラムが実行されると、シーケ
ンシャル機能図インタープリタルーチンはMCPスケジ
ューラルーチンへ戻りそれはステップ98へ進む。
【0040】MCPスケジューラルーチンのステップ9
6においてシーケンシャル機能図の同時部が解釈される
と、同時ステップの各々の一回の実行走査が行われる。 例えば、機能ステップ124,125,126からなる
図6のシーケンシャル機能図の同時部を参照として、共
有システムRAM36のユーザコントロールプログラム
部のファイル6,7,8に記憶されているこれらの機能
ステップの各々に対する指定コントロールプログラムが
実行される。これらの各プログラムによる一つの実行走
査が完了すると、遷移127に対するファイル11内の
プログラムが実行されて、シーケンシャル機能図解釈が
同時部から次の機能ステップ128へ進むべきかどうか
が決定される。この決定によりこのシーケンシャル機能
図に対する状態ファイル内のアクティブステップ指定の
内容が影響を受ける。この決定がなされると、インタプ
リタがMCPスケジューラルーチンへ進むことによりシ
ーケンシャル機能図の解釈が一時終止され、MCPスケ
ジューラルーチンはステップ98へ進む。
6においてシーケンシャル機能図の同時部が解釈される
と、同時ステップの各々の一回の実行走査が行われる。 例えば、機能ステップ124,125,126からなる
図6のシーケンシャル機能図の同時部を参照として、共
有システムRAM36のユーザコントロールプログラム
部のファイル6,7,8に記憶されているこれらの機能
ステップの各々に対する指定コントロールプログラムが
実行される。これらの各プログラムによる一つの実行走
査が完了すると、遷移127に対するファイル11内の
プログラムが実行されて、シーケンシャル機能図解釈が
同時部から次の機能ステップ128へ進むべきかどうか
が決定される。この決定によりこのシーケンシャル機能
図に対する状態ファイル内のアクティブステップ指定の
内容が影響を受ける。この決定がなされると、インタプ
リタがMCPスケジューラルーチンへ進むことによりシ
ーケンシャル機能図の解釈が一時終止され、MCPスケ
ジューラルーチンはステップ98へ進む。
【0041】従って、シーケンシャル機能図の場合には
、全機能図により実行するのではなく、ステップ96に
おいてシーケンシャル機能図インタープリタルーチンの
各呼出しによりチャートの一部だけが実行される。ステ
ップ96においてインタープリタの各呼出しにより全機
能図を実行する場合には、この種の主コントロールプロ
グラムのために余分な時間が費やされて実行すべくスケ
ジュールされた他の主コントロールプログラムの実行が
犠牲にされる。従って、シーケンシャル機能図に対する
各実行サイクルは機能図の比較的小部分に限定され他の
主コントロールプログラムの実行に悪影響を与えないよ
うにされる。
、全機能図により実行するのではなく、ステップ96に
おいてシーケンシャル機能図インタープリタルーチンの
各呼出しによりチャートの一部だけが実行される。ステ
ップ96においてインタープリタの各呼出しにより全機
能図を実行する場合には、この種の主コントロールプロ
グラムのために余分な時間が費やされて実行すべくスケ
ジュールされた他の主コントロールプログラムの実行が
犠牲にされる。従って、シーケンシャル機能図に対する
各実行サイクルは機能図の比較的小部分に限定され他の
主コントロールプログラムの実行に悪影響を与えないよ
うにされる。
【0042】図5のMCPスケジューラルーチンのステ
ップ98において、第2のマイクロプロセッサ61は回
路67内のプログラム実行時間の値を読み取り、その値
を選定された主コントロールプログラムに対するMCP
実行テーブル(図4)内のエントリーの第2ワード72
へLAST SCAN TIMEとして記憶する。 次に、LAST SCAN TIMEはMCP実行
テーブルエントリーの第3ワード73内に記憶されてい
るMAXIMUM SCAN TIMEと比較され
る。選定された主コントロールプログラムの完了したば
かりの実行が前のMAXIMUM SCAN TI
MEを越える場合には、ステップ102においてMCP
実行テーブルの適切なエントリー内のMAXIMUM
SCAN TIMEが最も最近の走査時間と置換さ
れ、その後ステップ104へ進む。
ップ98において、第2のマイクロプロセッサ61は回
路67内のプログラム実行時間の値を読み取り、その値
を選定された主コントロールプログラムに対するMCP
実行テーブル(図4)内のエントリーの第2ワード72
へLAST SCAN TIMEとして記憶する。 次に、LAST SCAN TIMEはMCP実行
テーブルエントリーの第3ワード73内に記憶されてい
るMAXIMUM SCAN TIMEと比較され
る。選定された主コントロールプログラムの完了したば
かりの実行が前のMAXIMUM SCAN TI
MEを越える場合には、ステップ102においてMCP
実行テーブルの適切なエントリー内のMAXIMUM
SCAN TIMEが最も最近の走査時間と置換さ
れ、その後ステップ104へ進む。
【0043】図5のステップ104において、プログラ
ムポインタはMCP実行テーブル内の次のエントリーへ
増分され、ステップ106において新しいポインター値
を調べてテーブルの終りを越えるかどうかが決定される
。ポインターがまだMCP実行テーブル内にあれば、M
CPスケジューラルーチンの実行はステップ114へ飛
ぶ。
ムポインタはMCP実行テーブル内の次のエントリーへ
増分され、ステップ106において新しいポインター値
を調べてテーブルの終りを越えるかどうかが決定される
。ポインターがまだMCP実行テーブル内にあれば、M
CPスケジューラルーチンの実行はステップ114へ飛
ぶ。
【0044】しかしながら、プログラムポインターがM
CP実行テーブルの終りを越える場合には、プログラム
実行はステップ108へ進む。この点において、第2の
マイクロプロセッサ61は各アクティブMCPに対して
LAST SCAN TIMEを加算し、共有シス
テムRAM36の状態ファイル43内のMCP実行テー
ブルのワード74内に合計を記憶する。同様に、ステッ
プ110において、第2のマイクロプロセッサ61はM
CP実行テーブル内の各エントリーに対してMAXIM
UM SCAN TIMEの合計を計算してテーブ
ルのワード75内へ記憶する。これらの合計はマスター
コントロールプログラムスケジューラルーチンのオペレ
ーション及びコントロールプログラム実行のインジケー
タとして、ユーザが端末11を介してアクセスすること
ができる。ステップ112において、MCPプログラム
ポインターは実行テーブル内の主コントロールプログラ
ムAへリセットされる。
CP実行テーブルの終りを越える場合には、プログラム
実行はステップ108へ進む。この点において、第2の
マイクロプロセッサ61は各アクティブMCPに対して
LAST SCAN TIMEを加算し、共有シス
テムRAM36の状態ファイル43内のMCP実行テー
ブルのワード74内に合計を記憶する。同様に、ステッ
プ110において、第2のマイクロプロセッサ61はM
CP実行テーブル内の各エントリーに対してMAXIM
UM SCAN TIMEの合計を計算してテーブ
ルのワード75内へ記憶する。これらの合計はマスター
コントロールプログラムスケジューラルーチンのオペレ
ーション及びコントロールプログラム実行のインジケー
タとして、ユーザが端末11を介してアクセスすること
ができる。ステップ112において、MCPプログラム
ポインターは実行テーブル内の主コントロールプログラ
ムAへリセットされる。
【0045】次に、MCPスケジューラルーチンの実行
はステップ114へ進みそこでプログラマブルコントロ
ーラの入出力を更新した後次の主コントロールプログラ
ムが実行される。更新には各入力型I/Oモジュール1
8,18′からデータを得て共有システムRAM36(
図3)の部分41内のデータファイルNo.1へデータ
を記憶することが伴う。また、更新プロセスにより共有
システムRAMの部分42から各出力型I/Oモジュー
ル18,18′へデータが送られる。I/O更新の後、
ステップ116において任意のハウスキーピングタスク
が実施され、その後ステップ80へ戻ってMCP実行テ
ーブルに載っているもう一つの主コントロールプログラ
ムが実行される。従って、MCPスケジューラルーチン
サイクルは実行テーブルを循還し、ユーザがテーブル内
で識別する主コントロールプログラムの各々をラウンド
ロビン式に周期的に選定する。
はステップ114へ進みそこでプログラマブルコントロ
ーラの入出力を更新した後次の主コントロールプログラ
ムが実行される。更新には各入力型I/Oモジュール1
8,18′からデータを得て共有システムRAM36(
図3)の部分41内のデータファイルNo.1へデータ
を記憶することが伴う。また、更新プロセスにより共有
システムRAMの部分42から各出力型I/Oモジュー
ル18,18′へデータが送られる。I/O更新の後、
ステップ116において任意のハウスキーピングタスク
が実施され、その後ステップ80へ戻ってMCP実行テ
ーブルに載っているもう一つの主コントロールプログラ
ムが実行される。従って、MCPスケジューラルーチン
サイクルは実行テーブルを循還し、ユーザがテーブル内
で識別する主コントロールプログラムの各々をラウンド
ロビン式に周期的に選定する。
【0046】MCP実行テーブル及びスケジューラルー
チンをプログラマブルコントローラに組込むことにより
、多数の独立した主コントロールプログラムをアクティ
ブとして装置を同時に制御することができる。従来は、
プログラムがシーケンシャル機能図の一部である場合の
み、2つ以上のプログラムを一つのプロセッサモジュー
ルにより同時に実行することができた。しかしながら、
機能図の解釈と結びついているためにこのようなプログ
ラムの実行は独立的ではなかった。本発明により、多数
のユーザコントロールプログラムを互いに真に独立して
実行することができる。事実、別々のラダー論理プログ
ラムをシーケンシャル機能図により同時に実行すること
ができる。主コントロールプログラムスケジューラルー
チンによりシスティマティックなプロセスが提供され、
それによりいくつかのプログラムを、一つのプログラム
がプロセッサを独占することなく、同じプロセッサモジ
ュールで同時に独立して実行することができる。
チンをプログラマブルコントローラに組込むことにより
、多数の独立した主コントロールプログラムをアクティ
ブとして装置を同時に制御することができる。従来は、
プログラムがシーケンシャル機能図の一部である場合の
み、2つ以上のプログラムを一つのプロセッサモジュー
ルにより同時に実行することができた。しかしながら、
機能図の解釈と結びついているためにこのようなプログ
ラムの実行は独立的ではなかった。本発明により、多数
のユーザコントロールプログラムを互いに真に独立して
実行することができる。事実、別々のラダー論理プログ
ラムをシーケンシャル機能図により同時に実行すること
ができる。主コントロールプログラムスケジューラルー
チンによりシスティマティックなプロセスが提供され、
それによりいくつかのプログラムを、一つのプログラム
がプロセッサを独占することなく、同じプロセッサモジ
ュールで同時に独立して実行することができる。
【図1】本発明を採用したプログラマブルコントローラ
の斜視図。
の斜視図。
【図2】図1のコントローラの一部を形成するプロセッ
サモジュールの機能ブロック図。
サモジュールの機能ブロック図。
【図3】プロセッサモジュール内の共有システムメモリ
の一部のメモリマップを示す図。
の一部のメモリマップを示す図。
【図4】本発明を実施するために共有システムメモリ内
の状態ファイルへ組み入れたデータテーブルを示す図。
の状態ファイルへ組み入れたデータテーブルを示す図。
【図5】多数のコントロールプログラムを時間インター
リーブ式に実行させることができるプロセッサのオペレ
ーティングシステムの一部のフロー図。
リーブ式に実行させることができるプロセッサのオペレ
ーティングシステムの一部のフロー図。
【図6】シーケンシャル機能図型コントロールプログラ
ムの例を示す図。
ムの例を示す図。
10 プログラマブルコントローラシステム11
プログラミング端末 12 主装置架 13 ケーブル 14 リモート入出力架 15 シリアルI/Oネットワーク 16 電源 18 I/Oインターフェイスモジュール18′
I/Oモジュール 19 アダプタモジュール 20 プロセッサモジュール 21 通信プロセッサ 22 第1マイクロプロセッサ 23 ローカルアドレスバス 24 ローカルデータバス 25 コントロール回線 26 ROM 27 RAM 28 ユニバーサル非同期送受信機 29 ネットワークインターフェイス30 マスタ
ークロック回路 31 ゲート 32 双方向3状態データゲート 33 共有アドレスバス 34 共有データバス 35 コントロール線 36 共有システムRAM 38 I/O架インターフェイス回路50 ラダー
論理プロセッサ 60 汎用プロセッサ 61 第2マイクロプロセッサ 62 バス対 63 バス対 64 第2ROM 65 スクラッチパッドRAM 67 タイミング回路 68 3状態送信ゲート 69 3状態送信ゲート
プログラミング端末 12 主装置架 13 ケーブル 14 リモート入出力架 15 シリアルI/Oネットワーク 16 電源 18 I/Oインターフェイスモジュール18′
I/Oモジュール 19 アダプタモジュール 20 プロセッサモジュール 21 通信プロセッサ 22 第1マイクロプロセッサ 23 ローカルアドレスバス 24 ローカルデータバス 25 コントロール回線 26 ROM 27 RAM 28 ユニバーサル非同期送受信機 29 ネットワークインターフェイス30 マスタ
ークロック回路 31 ゲート 32 双方向3状態データゲート 33 共有アドレスバス 34 共有データバス 35 コントロール線 36 共有システムRAM 38 I/O架インターフェイス回路50 ラダー
論理プロセッサ 60 汎用プロセッサ 61 第2マイクロプロセッサ 62 バス対 63 バス対 64 第2ROM 65 スクラッチパッドRAM 67 タイミング回路 68 3状態送信ゲート 69 3状態送信ゲート
Claims (26)
- 【請求項1】 複数のコントロールプログラムの同時
実行に応答してマシンを作動させるプログラマブルコン
トローラにおいて、該コントローラは、複数のユーザ定
義コントロールプログラムを記憶する第1の手段と、前
記第1の記憶手段に記憶されたコントロールプログラム
を実行するプロセッサと、前記プロセッサが実行するコ
ントロールプログラムの順に記載された記憶コントロー
ルプログラムの識別子リストを記憶する第2の手段と、
前記第2の記憶手段で識別される各コントロールプログ
ラムが実行できるようにアクティブとされているかを示
し前記プロセッサが実行するコントロールプログラムに
より変更可能な表示を記憶する第3の手段と、前記プロ
セッサが実行するリストからアクティブコントロールプ
ログラムをシーケンシャルに選定しもう一つのアクティ
ブコントロールプログラムがリストからサイクリックに
選定される選定コントロールプログラム内の所定点に達
する時に実行を保留するプロセッサコントロール手段、
を具備するプログラマブルコントローラ。 - 【請求項2】 請求項1記載のプログラマブルコント
ローラにおいて、さらにプログラマブルコントローラに
接続された感知装置の状態を読み取りプログラマブルコ
ントローラに接続されたオペレーティング装置へコント
ロール信号を送出する入出力インタフェーイス手段を具
備し、読取り及び送出しは前記プロセッサコントロール
手段によりコントロールプログラムの実行が保留された
後で生じる、プログラマブルコントローラ。 - 【請求項3】 請求項1記載のプログラマブルコント
ローラにおいて、さらにリストからコントロールプログ
ラムが選定されるたびにどれだけの時間コントロールプ
ログラムが実行されているかの測定値を与える手段を具
備する、プログラマブルコントローラ。 - 【請求項4】 請求項3記載のプログラマブルコント
ローラにおいて、前記第2の記憶手段はまた各コントロ
ールプログラムに対する時間間隔の測定値をも記憶する
、プログラマブルコントローラ。 - 【請求項5】 請求項3記載のプログラマブルコント
ローラにおいて、さらに特定のコントロールプログラム
に対するこのような全ての測定値の中で所与の測定値が
最大の大きさを有しているかを決定する手段と、リスト
上の各コントロールプログラムに対して最大値を有する
測定値を記憶する手段、を具備するプログラマブルコン
トローラ。 - 【請求項6】 請求項1記載のプログラマブルコント
ローラにおいて、一つのコントロールプログラムが前記
第2の記憶手段内に記憶されたリスト上に多くの識別子
を有することができる、プログラマブルコントローラ。 - 【請求項7】 請求項1記載のプログラマブルコント
ローラにおいて、前記第2の記憶手段は識別子を記憶す
ることができる一定数の位置を有する、プログラマブル
コントローラ。 - 【請求項8】 請求項1記載のプログラマブルコント
ローラにおいて、前記第2の記憶手段はコントロールプ
ログラムの識別子もしくはリストのその位置でコントロ
ールプログラムが識別されない表示を保持する一定数の
位置を有する、プログラマブルコントローラ。 - 【請求項9】 請求項1記載のプログラマブルコント
ローラにおいて、前記第2の記憶手段には実行中のユー
ザ定義コントロールプログラムがアクセスしてリスト上
で識別子を付加及び削除することができる、プログラマ
ブルコントローラ。 - 【請求項10】 コントロールプログラムの実行に応
答してマシンを作動させるプログラマブルコントローラ
において、該コントローラは、シーケンシャル機能図プ
ログラムの実行を一つの部分からもう一つの部分へ進め
るために存在すべき状態を指定する遷移により隣接部分
が連結されている複数部分を有するシーケンシャル機能
図プログラムを含み且つラダー論理プログラムを含む複
数のユーザ定義コントロールプログラムを記憶する第1
の手段と、記憶されたコントロールプログラムの順序ず
けされた識別子リストを記憶する第2の手段と、コント
ロールプログラムがリスト内で識別される順序でコント
ロールプログラムを遂次選定するコントロール手段と、
前記コントロール手段が選定するコントロールプログラ
ムを実行して(1)選定されたコントロールプログラム
がシーケンシャル機能図プログラムである場合に前記実
行手段が一つの部分を実行してその部分に関連する遷移
状態が存在するかどうかを決定しシーケンシャル機能図
プログラムの実行を保留して前記コントロール手段にも
う一つのコントロールプログラムを選定するよう通知し
、(2)選定されたプログラムがラダー論理プログラム
である場合に前記実行手段はラダー論理プログラムの規
定点に達するまでプログラムを実行してその時点でそれ
以上のラダー論理プログラムの実行を保留し前記コント
ロール手段にもう一つのコントロールプログラムを選定
するよう通知する手段、を具備するプログラマブルコン
トローラ。 - 【請求項11】 請求項10記載のプログラマブルコ
ントローラにおいて、さらにプログラマブルコントロー
ラに接続された感知装置の状態を読み取りプログラマブ
ルコントローラに接続されたオペレーティング装置へコ
ントロール信号を送る入出力インターフェイス手段を具
備し、読取り及び送出しはコントロールプログラムの実
行が保留された後に生じる、プログラマブルコントロー
ラ。 - 【請求項12】 請求項10記載のプログラマブルコ
ントローラにおいて、さらにリストから特定コントロー
ルプログラムが選定されるたびにどれだけの時間特定コ
ントロールプログラムが実行されているかの測定値を与
える手段を具備する、プログラマブルコントローラ。 - 【請求項13】 請求項12記載のプログラマブルコ
ントローラにおいて、さらに各コントロールプログラム
に対する時間間隔の測定値を記憶する第3の手段を具備
する、プログラマブルコントローラ。 - 【請求項14】 請求項13記載のプログラマブルコ
ントローラにおいて、さらに特定コントロールプログラ
ムに対するこのような全ての測定値の中で所与の測定値
が最大の大きさを有するかどうかを決定する手段を具備
し、そうであればそのコントロールプログラムに対する
最大間隔として所与の測定値を第3の手段へ記憶する、
プログラマブルコントローラ。 - 【請求項15】 請求項10記載のプログラマブルコ
ントローラにおいて、前記第2の記憶手段には実行中の
ユーザ定義コントロールプログラムがアクセスしてリス
ト上で識別子を付加及び削除することができる、プログ
ラマブルコントローラ。 - 【請求項16】 請求項10記載のプログラマブルコ
ントローラにおいて、さらに順序ずけられたリスト内の
各コントロールプログラムがアクティブであるかイナク
ティブであるかを示す手段を具備し、前記コントロール
手段はアクティブであると示されたコントロールプログ
ラムだけを選定する、プログラマブルコントローラ。 - 【請求項17】 請求項16記載のプログラマブルコ
ントローラにおいて、前記表示手段は前記実行手段によ
るコントロールプログラムの実行に応答してコントロー
ルプログラムがアクティブであるかイナクティブである
かの表示を変えることができる、プログラマブルコント
ローラ。 - 【請求項18】 請求項10記載のプログラマブルコ
ントローラにおいて、ラダー論理プログラム内の規定点
はそのプログラムによる実行走査の完了点である、プロ
グラマブルコントローラ。 - 【請求項19】 コントロールプログラムの実行に応
答してマシンを作動させるプログラマブルコントローラ
において、該コントローラは、シーケンシャル機能図プ
ログラムの実行を一つの部分からもう一つの部分へ進め
るのに存在すべき状態を指定する遷移により隣接部が連
結されている複数部分を有するシーケンシャル機能図プ
ログラムを含む複数のユーザ定義コントロールプログラ
ムを記憶する第1の手段と、コントロールプログラムを
実行する順序で記憶されたコントロールプログラムに対
する識別子のリストを記憶する第2の手段と、前記第2
の記憶手段により識別される各コントロールプログラム
をシーケンシャルに選定するコントロール手段と、前記
コントロール手段により選定されるユーザ定義コントロ
ールプログラムを実行して選定されたプログラムがシー
ケンシャル機能図プログラムである場合には前記実行手
段が一つの部分を実行して一つの状態に関連する遷移状
態が存在するかどうかを決定し次にシーケンシャル機能
図プログラムの実行を保留して前記コントロール手段に
もう一つのコントロールプログラムを選定して実行する
よう通知する手段、を具備するプログラムコントローラ
。 - 【請求項20】 請求項19記載のプログラマブルコ
ントローラにおいて、さらにプログラマブルコントロー
ラに接続された感知装置の状態を読み取ってプログラマ
ブルコントローラに接続されたオペレーティング装置へ
コントロール信号を送出する入出力インターフェイス手
段を具備し、読取り及び送出しはコントロールプログラ
ムの実行が保留された後で生じる、プログラマブルコン
トローラ。 - 【請求項21】 請求項19記載のプログラマブルコ
ントローラにおいて、さらにリストからコントロールプ
ログラムが選定されるたびにどれだけの時間コントロー
ルプログラムが実行されているかの測定値を与える手段
を具備する、プログラマブルコントローラ。 - 【請求項22】 請求項21記載のプログラマブルコ
ントローラにおいて、さらに各コントロールプログラム
に対する時間間隔の測定値を記憶する第3の手段を具備
する、プログラマブルコントローラ。 - 【請求項23】 請求項22記載のプログラマブルコ
ントローラにおいて、さらに特定コントロールプログラ
ムに対するこのような全ての測定値の中で所与の測定値
が最大値を有しているかどうかを決定する手段を具備し
、そうであればそのコントロールプログラムに対する最
大間隔として所与の測定値を第3の記憶手段へ記憶する
、プログラマブルコントローラ。 - 【請求項24】 請求項19記載のプログラマブルコ
ントローラにおいて、さらにリスト内の各コントロール
プログラムがアクティブであるかイナクティブであるか
を示す手段を具備し、アクティブであると示されたコン
トロールプログラムだけが前記実行手段により実行され
る、プログラマブルコントローラ。 - 【請求項25】 請求項19記載のプログラマブルコ
ントローラにおいて、前記第2の記憶手段に記憶された
リスト内に所与のコントロールプログラムが何度も現れ
ることができる、プログラマブルコントローラ。 - 【請求項26】 請求項19記載のプログラマブルコ
ントローラにおいて、前記第2の記憶手段は識別子を記
憶できる一定数の位置を有しある位置に識別子が含まれ
ていない場合には指標を与え、前記コントロール手段は
前記第2の記憶手段内のもう一つの位置を選択すること
により指標に応答する、プログラマブルコントローラ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63425490A | 1990-12-26 | 1990-12-26 | |
US634254 | 1990-12-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04303209A true JPH04303209A (ja) | 1992-10-27 |
Family
ID=24543028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP34359191A Pending JPH04303209A (ja) | 1990-12-26 | 1991-12-25 | プログラマブルコントローラ |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP0496097B1 (ja) |
JP (1) | JPH04303209A (ja) |
BR (1) | BR9105617A (ja) |
CA (1) | CA2056829A1 (ja) |
DE (1) | DE69124499T2 (ja) |
MX (1) | MX9102710A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012168629A (ja) * | 2011-02-10 | 2012-09-06 | Toshiba Mitsubishi-Electric Industrial System Corp | 機械設備の制御装置 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5295059A (en) * | 1992-09-09 | 1994-03-15 | Allen-Bradley Company, Inc. | Programmable controller with ladder diagram macro instructions |
ATE140805T1 (de) * | 1992-09-28 | 1996-08-15 | Siemens Ag | Prozesssteuerungssystem |
JP2762893B2 (ja) * | 1993-04-02 | 1998-06-04 | 三菱電機株式会社 | プログラマブルコントローラ及びそのプログラマブルコントローラを用いたsfcプログラム実行方法 |
DE59308672D1 (de) * | 1993-10-11 | 1998-07-16 | Siemens Ag | Verarbeitungsmodul für ein modulares Automatisierungssystem |
JP3432728B2 (ja) * | 1997-12-12 | 2003-08-04 | 株式会社日立産機システム | プログラマブルコントローラ |
EP3376319B1 (en) * | 2017-03-14 | 2021-01-06 | CODESYS Holding GmbH | Method and system for an automated configuration of an industrial controller |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CH559936A5 (ja) * | 1973-02-27 | 1975-03-14 | Sprecher & Schuh Ag | |
US4742443A (en) * | 1985-03-28 | 1988-05-03 | Allen-Bradley Company | Programmable controller with function chart interpreter |
-
1991
- 1991-12-02 CA CA 2056829 patent/CA2056829A1/en not_active Abandoned
- 1991-12-19 MX MX9102710A patent/MX9102710A/es unknown
- 1991-12-21 EP EP19910122049 patent/EP0496097B1/en not_active Expired - Lifetime
- 1991-12-21 DE DE1991624499 patent/DE69124499T2/de not_active Expired - Lifetime
- 1991-12-25 JP JP34359191A patent/JPH04303209A/ja active Pending
- 1991-12-26 BR BR919105617A patent/BR9105617A/pt unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012168629A (ja) * | 2011-02-10 | 2012-09-06 | Toshiba Mitsubishi-Electric Industrial System Corp | 機械設備の制御装置 |
Also Published As
Publication number | Publication date |
---|---|
EP0496097A2 (en) | 1992-07-29 |
EP0496097A3 (en) | 1992-09-23 |
DE69124499D1 (de) | 1997-03-13 |
CA2056829A1 (en) | 1992-06-27 |
DE69124499T2 (de) | 1997-08-21 |
BR9105617A (pt) | 1992-09-01 |
EP0496097B1 (en) | 1997-01-29 |
MX9102710A (es) | 1992-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4742443A (en) | Programmable controller with function chart interpreter | |
US4823283A (en) | Status driven menu system | |
US5295059A (en) | Programmable controller with ladder diagram macro instructions | |
US5606703A (en) | Interrupt protocol system and method using priority-arranged queues of interrupt status block control data structures | |
KR970004086B1 (ko) | 프로그램 가능한 논리 제어기와 중앙처리기내의 동작 프로그램 사이의 실시간 데이타 통신용 장치 및 프로세서 | |
US6675226B1 (en) | Network interface for industrial controller providing application programmer interface | |
US4488258A (en) | Programmable controller with control program comments | |
CA2061182C (en) | Programmable controller processor with a removable function card | |
US5265004A (en) | Sequence controller with combinatorial Boolean logic | |
US5490266A (en) | Process oriented logic simulation having stability checking | |
US5038348A (en) | Apparatus for debugging a data flow program | |
US4792896A (en) | Storage controller emulator providing transparent resource sharing in a computer system | |
US4200915A (en) | Program loader for programmable controller | |
US5042002A (en) | Programmable controller with a directed sequencer | |
EP0217922B1 (en) | An array for simulating computer functions for large computer systems | |
KR20160124227A (ko) | 다수의 혼합된-신호 자원을 관리하는 제어 모듈 | |
US20090106761A1 (en) | Programmable Controller with Multiple Processors Using a Scanning Architecture | |
US20090106755A1 (en) | Programmable Controller with Multiple Processors Using Scanning and Data Acquisition Architectures | |
US5319783A (en) | Programmable controller with an operator messaging function | |
JPH04303209A (ja) | プログラマブルコントローラ | |
KR910004639B1 (ko) | 출력펄스 발생장치 | |
JP2000330970A (ja) | シミュレーション装置及びシミュレーション方法 | |
WO1991004535A1 (en) | Memory-module for a memory-managed computer system | |
JPH02121039A (ja) | 計算機システムの負荷予測シミュレーション方式 | |
WO1998013747A1 (en) | Method for re-invoking previously displayed software application displays in a multi-window environment |