JP3549116B2 - プログラマブル・コントローラ用データ・インタフェース初期設定装置および初期設定方法 - Google Patents

プログラマブル・コントローラ用データ・インタフェース初期設定装置および初期設定方法 Download PDF

Info

Publication number
JP3549116B2
JP3549116B2 JP10142993A JP10142993A JP3549116B2 JP 3549116 B2 JP3549116 B2 JP 3549116B2 JP 10142993 A JP10142993 A JP 10142993A JP 10142993 A JP10142993 A JP 10142993A JP 3549116 B2 JP3549116 B2 JP 3549116B2
Authority
JP
Japan
Prior art keywords
data
module
memory
processor module
processor
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 - Fee Related
Application number
JP10142993A
Other languages
English (en)
Other versions
JPH06119296A (ja
Inventor
エイ.ディカルロ デビッド
イー.フロロ ウィリアム
ケイス マイク
ジェイ.バイヤー ジョン
エィチ.カンパウ ジェフレイ
ピー.ヌーネン ダニエル
ビー.シーゲル スチュアート
Original Assignee
アレン − ブラッドリィ カンパニー,インコーポレーテッド
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 アレン − ブラッドリィ カンパニー,インコーポレーテッド filed Critical アレン − ブラッドリィ カンパニー,インコーポレーテッド
Publication of JPH06119296A publication Critical patent/JPH06119296A/ja
Application granted granted Critical
Publication of JP3549116B2 publication Critical patent/JP3549116B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/006Identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/14Plc safety
    • G05B2219/14037Fault in I-O communication
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15016Intialize amount of memory space needed in module
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15025Before starting communication between modules, initialize modules
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15078Modules, construction of system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Memory System (AREA)
  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)

Description

【0001】
【産業上の利用分野】
本発明は産業設備の動作を制御するプログラマブル・コントローラに関し、より正確には、モジュール化されたプログラマブル・コントローラと、主プロセッサと特殊機能コプロセッサとの間のインタフェースと、に関する。
【0002】
【従来の技術】
プログラマブル・コントローラは、各種の組立ライン及び工作機械のような各種製造設備を、内蔵制御プログラムに従って運転するための周知の型の産業用コンピュータである。該プログラムは、一連のプロセス制御命令により構成されており、この命令は読み出せれ実行されて、被制御設備上の選択された感知装置の状態を検査し、そして、1つもしくは1つ以上の検査された感知装置の状態にしたがって選択された駆動装置に対する電流の供給あるいは切断を行う。
【0003】
多数の感知装置及び駆動装置の状態は、制御プログラムの命令によって操作される1ビットのデータによって表される。位置センサのような他の感知装置は被制御設備の状態を表す複数ビットのデータを与える。これら後者の装置に対しては、感知装置及び駆動装置の状態を表す複数バイトもしくは複数ワードのデータを操作する命令が与えられる。ここで使用される単語、「バイト」は8ビットのデータを、また「ワード」は16ビット、あるいは2バイトのデータを表す。このほかのプログラム命令は、算術演算、タイミングと計数機能、並びに複雑な統計データを報告する演算を実行する。これらの命令はその産業の中ではまったく標準化されていて、プロセス制御技術者により容易に理解される梯子型論理図(ladder logic diagram)の各種要素に直接的関連付けがなされている。
【0004】
【発明が解決しようとする課題】
プログラマブル・コントローラが、より複雑な製造システムに適用されるようになったことに伴い、プログラマブル・コントローラはより広範囲のタスクを迅速に実行するように要求された。一定のタスクを迅速かつ効率的に実行するため、プログラマブル・コントローラの主処理装置を、これらのタスクを処理することから解放するカスタム・コプロセッサ(特定用途向コプロセッサ)が提案されてきた。しかし、コプロセッサの動作は主処理装置の動作に調和していなくてはならない。さらに、各種の異なるカスタム・コプロセッサが同じプログラマブル・コントローラに接続されるので、主処理装置がカスタム・コプロセッサの機能性を識別することができる、ある種の機構が必要となる。
【0005】
【課題を解決する手段】
プログラマブル・コントローラは、プロセッサ・モジュールを含み、機械を動作させるための内蔵制御プログラムを実行する。コプロセッサのような機能モジュールはプロセッサ・モジュールに接続される。両モジュールの1つの中にあるインタフェースメモリに情報を書き込む起動モジュール(originator module )と、前記メモリ(recipient module)からこの情報を読み出す受け側モジュールによって、データメッセージは両モジュールの間で交換される。
【0006】
この方法によってモジュール間でデータが正確に交換できる前に、この2つのモジュールの間のデータインタフェースが満足に動作しているかどうか判定する初期設定処理が実行される。この初期設定処理の初めに、前記メモリを含むモジュールはメモリの中の格納場所の数を指定するデータをそのメモリに書き込む。別のモジュールは前記メモリからサイズデータを読み出し、前記メモリを介して情報を交換するときに後で使用するためこの読み出したデータを格納する。
【0007】
つぎにプロセッサ・モジュールは、前記メモリの1組の格納場所に所定の第1のテストデータを書き込む。すると機能モジュールはこの1組の格納場所からデータを読み出し、この読み出したデータが、所定の第1の1組のデータと整合しているかどうか判定する。整合していなければ、プロセッサ・モジュールにエラー表示が送られ、プロセッサ・モジュールはこれに応答して、モジュール間のデータ交換に問題があることを示す表示をセットする。データが整合していれば、機能モジュールは前記メモリの1群の格納場所に所定の第2の1組のデータを書き込む。プロセッサ・モジュールは機能モジュールのこの動作に応答して前記メモリの1群の格納場所からデータを読み出し、このデータが、所定の第2の1組のデータと整合しているかどうか判定する。整合していない場合、プロセッサ・モジュールはモジュール間のデータ交換に問題があることを示す表示をセットする。
【0008】
両モジュールの間でデータが両方向に正確に交換されると、プロセッサ・モジュールは、機能モジュールの型式を識別したことを示す情報、あるいは、プロセッサ・モジュールが機能モジュールの型式を識別できなければ既定値情報(default information )、のいずれかを前記メモリの指定した格納場所に書き込む。機能モジュールは前記メモリの指定した格納場所からデータを読み出し、このデータが当該機能モジュールを正しく確定しているかどうか判定する。このデータが当該機能モジュールを正しく確定していない場合、機能モジュールは当該機能モジュールの実際の型式を示すデータを、前記メモリの指定した格納場所に書き込む。プロセッサ・モジュールは前記メモリの指定した格納場所からデータを読み出す。
【0009】
本発明の目的は、それを介して、プログラマブル・コントローラの2つのモジュールの間でデータが交換されるインタフェースを初期設定する装置と初期設定方法を提供することである。これは本インタフェースを介して実データを送ろうとする前に、本インタフェースが正しく機能していることを保証するものである。
【0010】
別の目的は、インタフェースのメモリにデータを格納し、このメモリを前記メモリから読み出すことにより、両モジュールがこのインタフェースを独立に試験する機構を提供することである。
【0011】
さらに別の目的は、各モジュールが既知のテストデータを別のモジュールに送りこの別のモジュールは前記既知のデータが正しく受信されたことを照合する手法を提供することである。
【0012】
本発明のさらに別の目的は、プロセッサ・モジュールが機能モジュールとのデータ交換を可能とするために、インタフェースおよび機能モジュールの機能性を定義するデータをプロセッサ・モジュールに送ることである。
【0013】
【実施例】
図1を参照すると、符号10のプログラマブル・コントローラ・システムは主装置ラック12と、ラック14のような、シリアルI/Oネットワーク15により相互接続されている一連のリモート入出力(I/O)ラックにより構成される。端末11はユーザがコントローラ12のプログラミングをすることと、その動作を監視することができるようにするための装置である。
【0014】
主ラック12は、電力供給装置16、プロセッサ・モジュール20、コプロセッサ・モジュール17および複数の入出力インターフェース・モジュール18を収容している。またここでは、プロセッサ・モジュール20およびコプロセッサ・モジュール17を、それぞれプロセッサおよびコプロセッサと簡単に呼ぶこともある。プロセッサ・モジュール20はユーザ定義の制御プログラムを実行する。この制御プログラムは被制御設備上の感知装置からの入力信号に応答して、同じ被制御設備上の駆動装置に信号を出力する。感知信号及び駆動信号は入出力インターフェース・モジュール18を介してラック12に結合される。主ラック内の各種モジュール18及び20はバックプレーンの導線により電気的に相互に接続され、モジュール間でデータ信号及び制御信号を交換可能としている。
【0015】
プロセッサ・モジュール20は、ケーブル13によって本モジュールのフロントパネル上のシリアル・ポート・コネクタに接続される端末11を介して、プログラムの命令を受信する。シリアルI/Oネットワーク15はプロセッサ・モジュール20のフロントパネル上の第2のコネクタおよびリモートI/Oラック14のアダプタモジュール(19)に結合され、これによりプロセッサ・モジュール20は、リモートI/Oラック内の別のグループの入出力モジュール18とデータができることになる。ローカルエリアネットワークは、プロセッサ・モジュール20のフロントパネル上のコネクタの1つに結合され、ホストコンピュータ及び該ネットワークに結合されている他のプログラマブル・コントローラとの通信を可能としている。
【0016】
コプロセッサ・モジュール17はプロセッサ・モジュール20から受信したデータを処理し、処理の結果をプロセッサ・モジュールに送り返す。入出力モジュール18およびアダプタモジュール19は従来の装置であるが、プロセッサ・モジュール20およびコプロセッサ・モジュール17は本発明に独特な装置であるから、これら後者の2つのモジュールについて詳細に説明する。
【0017】
A.プロセッサ・モジュール
図2を参照すると、プロセッサ・モジュール20は、ユーザの制御プログラムの実行用の汎用プロセッサ・セクション40と、ケーブル13及びシリアルI/Oネットワーク15上のデータの交換を処理するための通信インタフェース回路21を含んでいる。またプロセッサ・モジュール20は、これらのセクション21、40をシステムメモリ36および専用処理回路38、39に接続する1組の共用バスを有している。
【0018】
通信インタフェース回路21はローカル・アドレス・バス23および16ビット幅のローカル・データ・バス24の周囲に形成されている。これらのバスに結合されている第1のマイクロプロセッサ22には、モトローラ社製のモデル68000マイクロプロセッサを使用することができる。第1のマイクロプロセッサ22は、電気的書き込み可能読み出し専用メモリ(EPROM)26内に内蔵されているプログラムを実行し、ランダム・アクセス・メモリ(RAM)27をデータの一時格納用に利用する。マスタークロック回路28は、通信インタフェース回路21の要素に特定のタイミング信号を供給するばかりでなく、プロセッサ・モジュール20内の他の要素に使用されるシステム・クロック信号を供給する。
【0019】
第1のマイクロプロセッサ22に割り当てられた主要機能は、プログラミング端末11およびシリアルI/Oネットワーク15との通信の制御である。通信ネットワーク・インターフェース回路29は、ローカル・アドレス・バス23とローカル・データ・バス24を端末ケーブル13およびリモートI/Oケーブル15へ結合する。通信ネットワーク・インターフェース回路29は、プロセッサ・モジュール20内のパラレル・フォーマットと、端末ケーブル13およびシリアルI/Oネットワーク15上でデータの交換に使用されるシリアル・フォーマットとの間のデータを変換する。
【0020】
着脱可能な小型の印刷回路カード30は、図1に示されているように、プロセッサ・モジュール20の前面パネルの開口部に挿入し、ローカル・バス23、24と噛み合うコネクタを有している。カード30は種々の形態をとることができる。即ち、そのひとつは、機械の制御プログラムを保管するメモリを持つことである。
【0021】
通信インタフェース回路21のローカル・バス23、24と第1のマイクロプロセッサ22からの1組の制御線25は、プロセッサ・モジュール20の側面のコネクタ35に結合されている。コプロセッサ・モジュール17はコネクタ35に接続され、この2つのモジュールが相互に電気的にインタフェースする手段が用いられている。このインタフェースとコプロセッサ・モジュールについては後で詳細に説明する。
【0022】
通信インタフェース回路21は、1組の双方向3状態(tri-state) データ・ゲート32を介して他のプロセッサ・モジュール・セクションに接続される。特に、ゲート31はローカル・アドレス・バス23を、モジュールの共用アドレス・バス33に結合し、データ・ゲート(32)はローカル・データ・バス24を共用データ・バス34に結合する。従来の制御信号を運ぶ別の線はプロセッサ・モジュール20のコンポーネントの間に延びているが、説明を簡明にするため示していない。
【0023】
このバスの結合により、第1のマイクロプロセッサ22は、共用アドレス・バス33および共用データ・バス34に結合された共用システムRAM36に対し読み出しおよび書き込みを行うことができる。この共用システムRAM36は、プログラマブル・コントローラに制御される機械上の感知装置および駆動装置の状態を格納する入出力データの組を保持する。ユーザ定義の制御プログラムは共用システムRAM36の別のセクションに格納される。共用システムRAM36のさらに別のセクションは、システム・レベル、プロセッサ・モジュール・レベルおよびマイクロプロセッサ・レベルの構成データ(configuration data)を格納するために使用される。
【0024】
さらに図2のプロセッサ・モジュール回路を参照すると、I/Oラック・インターフェース回路38は、共用アドレス・バスおよび共用データ・バスと、主ラック12のバックプレーンに接続されている。このインターフェース回路38は、被制御設備のセンサからのデータを収集して駆動装置に対して出力データを送るため、I/Oモジュール18を定期的に走査する。この従来形の走査は、以前のプログラマブル・コントローラで使用されているのと同様な方法で、各I/Oモジュールに対して制御信号を順次連続して送ることにより行われる。これらの制御信号によって、入力形モジュールはバックプレーン16上にセンサ・データを送り、出力形モジュールはプロセッサ・モジュールにより送られたデータを格納する。主ラックのI/Oモジュール18により交換されるデータは、共用システムRAM36のI/Oデータ・テーブルに格納される。
【0025】
また梯子型論理プロセッサ39は、共用アドレス・バス33および共用データ・バス34に結合されている。梯子型制御プログラム命令の大半は1ビットあるいは1ワードのデータで動作する。梯子型論理プロセッサは、基本制御動作を行う梯子型論理図命令の部分集合を実行するように設計されている。これは、これらの命令を効率的に実行することができるばかりでなく、制御プログラムの実行と同時に他の機能を行うように、プロセッサ・モジュール20のマイクロプロセッサ22、41を解放する。
【0026】
I/Oモジュール18に対するデータブロック転送、並びに複雑な数学的演算や論理演算のようなある種の機能は、梯子型論理プロセッサ39は実行できない。これらの複雑な制御プログラム機能は、汎用プロセッサ・セクション40により実行される。プロセッサ・モジュール20のセクション40には、分離された専用のローカル・アドレス・バス42およびローカル・データ・バス43にそれぞれ接続される第2のマイクロプロセッサ41が含まれる。このバス42および43の組によって、第2のマイクロプロセッサ41は第2のEPROM44および第2のローカル・ランダム・アクセス・メモリ(RAM)45に結合される。第2のEPROM44には、第2のマイクロプロセッサ41によって実行される、より複雑な梯子型論理動作を行うためのファームウエアが格納されている。
【0027】
タイミング回路47はシステム・クロック信号を受信し、第2のマイクロプロセッサ41、メモリ44および45に必要なタイミング信号および制御信号をつくり出す。一対の3状態・送信用ゲート48および49により、汎用プロセッサ・セクション40のローカル・アドレス・バス42およびローカル・データ・バス43は、共用アドレス・バス42および共用データ・バス43から分離されている。第2のマイクロプロセッサ41からのコマンドに応答して、これらのゲート48および49が導通となると、ローカル・バス42および43は共用バス33および34と電気的に接続される。第2のマイクロプロセッサ41が梯子型論理プロセッサ39内のアービトレーション回路 によって共用バス33および34へのアクセスが許可された場合にのみ、ゲート48および49を導通とする動作が行われる。
【0028】
B.コプロセッサ回路
プロセッサー・モジュール20はコネクタ35を介してコプロセッサ・モジュール17に直接結合して信号を交換するのであって、ラック12のバックプレーンを通して信号を交換するのではない。図3を参照すると、コプロセッサ・モジュール17は、プロセッサ・モジュール20のコネクタ35と噛み合うコネクタ50を持っている。プロセッサ・モジュール20からのデータ・バス23、アドレス・バス24および制御線25はこれらのコネクタ35、50を介して2重ポート・ランダム・アクセス・メモリ52の1つのポートに延びている。メモリ52の他の1つのポートは、コプロセッサ・モジュール17内の1組のバス53、54および制御線55に接続されている。プロセッサ20が前記メモリにアクセスする場合を除き、メモリへのアクセスを調整し、かつ、各モジュールのバスを隔離する機構の追加により、2重ポート・ランダム・アクセス・メモリ52のかわりに共用メモリを使用することができることは、当業者には理解されていることであろう。
【0029】
バス53、54および制御線55によりマイクロコンピュータ56、メモリ57および入出力インタフェース58を相互接続する。たとえば、コプロセッサ17は、プロセッサ・モジュールが実効可能な言語とは別のコンピュータ言語で書かれた制御プログラムを実行したり、あるいはコプロセッサは被制御機械の稼働状況を要約する報告書を作製するため、I/Oモジュール18からのデータを作表することもできる。これらの機能を実行するため、マイクロコンピュータ56はメモリ57に格納されたプログラムを実行するとともに、他のコンピュータ言語の命令を解釈したり、報告書を作製する。コプロセッサ17は入出力インタフェース回路58により外部の入出力装置に接続される。
【0030】
起動側モジュール(originator)が2重ポート・メモリ52にデータを書き込むとともに受け側モジュールに割り込んで、前記メモリの中に読み出しを待つデータがあることを示すことによって、プロセッサー・モジュール20およびコプロセッサ・モジュール17の間でデータが交換される。受け側モジュールは2重ポート・メモリ52を読み出し、このデータを処理する。
【0031】
特に図4を参照すると、2重ポート・メモリ52はデータを複数のセグメントの中に格納する。第1のセグメント64は方式決定セグメントである。このセグメントには32バイトのデータが含まれ、電源オンのとき、このデータはプロセッサとコプロセッサとの間の通信の特性の方式を決定(negotiation )するために使用される。方式決定セグメントは以前のインテリジェント通信ネットワーク・インタフェースからその名前を取っている。すなわち、インテリジェント通信ネットワーク・インタフェースでは、バス・インタフェースを通してデータを交換するパラメータを決定するためプロセッサ・モジュールおよび通信回路が折衝して方式を決定する。しかし、コプロセッサの種類が異なると2重ポート・メモリRAM52の大きさも変化するので、プロセッサ・モジュール20からの読み出しに備えて、RAM52の大きさは方式決定セグメントの4バイトに格納される。
【0032】
方式決定セグメント64の別のワードは、モジュール17、20により協同してリセット手続きがおこなわれた後のプロセッサ・モジュール20の最新の状態を表す。プロセッサ・モジュール20の内部の状態フラグが変化すると、プロセッサ・モジュール20はこのワードのビット値を変更する。各ビットは、次の表によって定義される通り、プロセッサ・モジュールの動作モードを表す。
【表1】
ビット0 − RAM不良
ビット1 − 走行モード
ビット2 − テスト・モード
ビット3 − プログラム・モード
ビット4 − EEPROMの書き込み(burning EEPROM)
ビット5 − ダウンロード・モード
ビット7 − リモート・モード
ビット8 − 強制モード準備完(forces enabled)
ビット9 − 強制モード状態(forces present)
ビット10 − EEPROMの書き込み完了
ビット11 − オンライン編集
ビット12 − デバッグ・モード
ビット13 − ユーザ・プログラムの検査合計終了
ビット14 − 梯子型論理図あるいは機能図のステップの最新スキャン
ビット15 − 梯子型論理図あるいは機能図のステップの最初のスキャン
【0033】
コプロセッサ・インタフェースの初歩的な使い方には、データ交換に対してパラメータの方式決定(negotiation )をする必要はないが、パラメータの方式決定が必要なより複雑なモジュールの場合は、本インタフェース初期設定処理が使用されることがある。
【0034】
第2のメモリ・セクションは識別セグメント65であり、このセグメントにはコプロセッサ・モジュールの系列およびバージョン番号を示す情報が含まれる。
【0035】
第3のメモリ・セクションはディレクトリ・セグメント66であり、このセグメントには、2重ポート・メモリ52の各セグメントの先頭アドレス、各セグメントのサイズ、各セグメントの型式、各セグメントのしるし(instance)を含むセグメント記述子の配列が含まれる。ディレクトリ・セグメント66は、2重ポート・メモリ52の別のセグメントに対するインデックスである。セグメントの型式には以下の種類が含まれる。
0−方式決定セグメント
1−セグメント・ディレクトリ
2−識別セグメント
4−チャネル・セグメント
5−プロセッサ間ハンドシェーク・フラグ
6−未処理データの転送
セグメントのしるしは特定の型式のセグメントの数を示す。
【0036】
ディレクトリ・セグメント66に続いてハンドシェーク・セグメント67があるが、このセグメントは2重ポート・メモリRAM52の8バイトを占有する。図5に示す通り、ハンドシェーク・セグメント67には、プロセッサ・モジュール20からコプロセッサ・モジュール17に送られる割り込み要求に関するフラグビットを含む2つのバイト70、71と、コプロセッサ・モジュール17からプロセッサ・モジュール20に送られる割り込み要求に関するフラグを格納する2つのバイト73、74とが含まれる。より詳細には、コプロセッサ・モジュールに割り込む場合、バイト70によりフラグ・ビットが立てられる(toggled )。コプロセッサ・モジュール17は、これらのフラグを読み、かつ、どのフラグが反転されているか調べることにより、この割り込みを処理する。バイトの対、70、71およびバイトの対、72、73では、機能は(各バイトに1対ある)フラグビットの対によって表される。すなわち、1ビットはメッセージの発信側によって制御され、他の1ビットはメッセージの受信側によって制御される。この2つのビットが異なると、ハンドシェーク・セグメント67は保留されているとみなされる。そうではなくこの2つのビットが同じ場合は、このフラグとこれに対応する機能は保留中されていない。
【0037】
バイトの中の第1の2つのフラグ・ビットは、コプロセッサ・モジュールの相手プロセッサ・モジュールに信号を送ることによって、このコプロセッサ・モジュールをオンラインにしたり、オフラインにしたりすることができる。第3のビットは、プロセッサ・モジュール20が、そのシステムRAM36のI/Oデータ・テーブルからコプロセッサに未処理データの転送を完了したことを示す。次の4つのフラグは、それぞれ該当する4つのアクセスFIFOレジスタがサービスを要求し、次の4つのフラグは、該当する1組のアクセスFIFO管理(management)レジスタがサービスを要求していることを示す。バイト70、71がコプロセッサ・モジュール17からプロセッサ・モジュール20に送られているデータに関連していることを除けば、ハンドシェーク・セグメント67の最終の2バイト72、73はバイト70、71と同一である。
【0038】
要約すると、ハンドシェーク・セグメント67は、割り込み線の対60、61を介してプロセッサあるいはコプロセッサのいずれかから入る、多数の割り込みを多重化する手段としての働きをしているのである(図3)。バイト対70−71とバイト対72ー73の対応するビットが反対の状態にある場合、割り込み信号が送られる。モジュール17およびモジュール20はこの全フラグを読んで、割り込みが要求され、かつ、要求された割り込みが処理されたか判定する。
【0039】
再び図4を参照すると、2重ポート・メモリRAM52の中の次のセグメント68には、FIFOアクセス・レジスタ、FIFO管理レジスタ、および、プロセッサ・モジュール20とコプロセッサ・モジュール17ののメッセージデータを渡すためのその他の情報が格納される。ここでは、このセグメント68は「チャネル0セグメント」と呼ばれ、図6に示す通り、複数のサブセグメントに分割される。第1のサブセグメント74は、他のサブセグメント・ユニットにアクセスするためのディレクトリである。要求(REQUEST )FIFOレジスタは次のサブセグメント75に含まれ、コプロセッサ17からのサービスを要求するために使用される。次のサブセグメントには確認(CONFIRM )FIFOレジスタが含まれているが、この確認FIFOレジスタは、プロセッサから前に要求されたサービスをコプロセッサが確認するために使用される。サブセグメント77の指定(INDICATE)FIFOレジスタおよびサブセグメント78の受領(ACCEPT)FIFOレジスタは、プロセッサ20に対してデータの送信あるいはデータの要求をコプロセッサ17が開始し、かつプロセッサがこれに応答した場合を示すために使用される。
【0040】
プロセッサ・フリー・プール・サブセグメント79およびコプロセッサ・フリー・プール・サブセグメント80は、交換中のメッセージデータを格納する。詳細には、これらのサブセグメントには、2重ポート・インタフェースを介した通信のメッセージヘッダー、バッファヘッダーおよびデータバッファが含まれる。各フリー・プールは複数のサブフリー・プールに細分され、各サブフリー・プールは、図7に示す通り、プール・ヘッダー81と、接続された組のメッセージ・ブロック82とを備えている。
【0041】
各プール・ヘッダー81には、次のプール・ヘッダーに対するポインタ、このヘッダーに関する第1のメッセージブロックに対するポインタおよびこのサブプール用データバッファのサイズの指定示が含まれている。各メッセージブロック82には表2に指定される情報が格納される。
【表2】
Figure 0003549116
【0042】
図4の未処理データ転送セグメント69には、プロセッサ・モジュール20の入出力データテーブルとコプロセッサ17との間の未処理データのブロック転送用のバッファおよび情報が含まれる。
【0043】
図6および図7をさらに参照すると、プロセッサ・モジュール20がメッセージを生成すると、プロセッサ20はそのメッセージのヘッダーに対するポインタを、矢印線84に示す通り、要求FIFO75に格納する。要求FIFO75は、表3に示す情報が先行して格納されているポインタの配列である。
【表3】
Figure 0003549116
【0044】
コプロセッサ17が割り込みを受けると、コプロセッサ17は、矢印線85で示すように、要求FIFO75から次のメッセージポインタを読み出し、ついで指定されたプールヘッダー81と関連するメッセージブロック82を読み出す。86で示すように、コプロセッサは確認FIFO76に同一メッセージヘッダーを書き込むことによってメッセージが受信され処理されたことを確認する。後者のFIFO76の構造は要求FIFO75と同様であり、プロセッサ20が割り込みを受けると、矢印線87で示すように、確認FIFO76から次プールヘッダーポインタを読み出す。つぎに、プロセッサ20は指定されたメッセージヘッダーを2重ポート・メモリ52から読み出し、作成したメッセージが処理されたことを確認する。
【0045】
図7に示す通り、同様なデータ構造はコプロセッサ17により作成されたメッセージに対して存在する。コプロセッサ・モジュール17がプロセッサ・モジュール20に対するデータを持っている場合、このデータは2重ポート・メモリ52の使用可能なメッセージブロック82に格納され、ヘッダー情報は使用可能なプールヘッダー81に置かれる。コプロセッサ17は、矢印線90で示すように、ポインタを指定FIFO77のプールヘッダー81に格納する。プロセッサ・モジュール20は、矢印線91で示すように、指定FIFO77内の次ポインタを読み出し、ヘッダーとメッセージデータが2重ポート・メモリ52から読み出される。次に、プロセッサ・モジュール20は、矢印線92で示すように、同一ポインタを受領FIFO78に書き込み、コプロセッサ・モジュール17に割り込みをかける。コプロセッサ・モジュールは、矢印線93で示すように、受領FIFO78からこのポインタを読み出し、プロセッサによりメッセージが受け取られたことを確認する。
【0046】
再び図5を参照すると、ハンドシェーク・セグメントには、4つのFIFO75−78に対応する割り込みフラグがある。より詳細には、ワード70のプロセッサ割り込みには、4つのFIFOに対応する4つのアクセスフラグがあり、コプロセッサ・ワード72には、4つのFIFOに対応する4つのアクセスフラグがある。これらのフラグにより、別のモジュールから割り込みを受けたとき、割り込みを受けたモジュールは適切なFIFOを迅速に読み出すことができることになる。
【0047】
2重ポート・メモリ52内のチャネル0セグメント68もまたインタフェース管理機能に関するデータ構造を格納する。これらデータ構造体には、上記説明の通り動作する(図示されていない)4つの管理用FIFOと、関連するメッセージヘッダー、バッファヘッダーおよびバッファとが含まれる。さらに、ハンドシェイク・セグメント67(図5)のワード70−73のそれぞれの中に4つの管理用割り込みフラグがあり、これらのフラグにより、プロセッサ・モジュールおよびコプロセッサ・モジュールは管理用FIFOに対して迅速にサービスする。
【0048】
C.コプロセッサの初期設定
本発明が特に重点を置いていることは、コプロセッサがリセットされると、これに伴ってコプロセッサ・モジュール17およびプロセッサ・モジュール20協力的関係(cooperative configuration )をつくる方法である。システムに電源が投入されると、普通のメッセージの授受が起こる前に、2つのモジュール17、20により初期設定手続きが実行される。この過程に於いて、2重ポート・メモリ52の協力的試験および識別情報の交換が行われる。この段階的に進む初期設定手続きを示すフローチャートが図8と図9に示されている。これらの図は、プロセッサ・モジュール20によって実行されるステップを示す左側部分と、コプロセッサ・モジュール17によって実行されるステップを示す右側部分に分割される。
【0049】
プログラマブル・コントローラに電源が投入され、続いてシステム全体がリセットされると、プロセッサ・モジュール20は、自身のコンポーネントをチェックして初期動作状態に設定する。図8のフローチャートに示す通り、内部リセット処理の後で、プロセッサ・モジュール20はコプロセッサ・モジュール17の協力的初期設定を始める。この処理はステップ100で開始するが、ステップ100でプロセッサ・モジュール20はその制御バス25の線59に供給していた有効なリセット信号を取り除く。コプロセッサ・モジュール17内のマイクロコンピュータ56は前記リセット信号が取り除かれたことを感知すると、ステップ101で内部メモリ57の試験を実行する。ついでステップ102で、マイクロコンピュータ56は内部メモリの試験に合格したかどうか判定する。この時メモリの故障が発見されると、マイクロコンピュータ56にコプロセッサの故障制御線62が引き込まれ、プロセッサ・モジュール20にエラーが発見されたことが示される。ステップ103で、プロセッサ・モジュールはこの故障信号に応答してその状態レジスタのエラーフラグをセットし、これ以後使用しないようにコプロセッサ・モジュール17を終了させる。これでコプロセッサの初期設定ルーチンは終了する。これとは別に、エラーが発見されてもコプロセッサは初期設定処理を完全に終了できることがある。次のステップ104が正しく終了すると、コプロセッサからプロセッサ20に割り込みをかけることになっているので、プロセッサ20は、割り込みを受けなかったとしても、何か異常のあることが判る。
【0050】
しかし、コプロセッサ・モジュール17の内部メモリが試験に合格すると、コプロセッサの初期設定ルーチンはステップ104に進み、ここでマイクロコンピュータ56は、2重ポート・メモリ52のサイズをメモリ57の不揮発性セクションから読み出し、これを2重ポート・メモリの所定の格納場所に格納する。ついでコプロセッサのマイクロコンピュータ56は線61に割り込み要求を与え、プロセッサ・モジュール20の第1のマイクロプロセッサ22に割り込みをかける。
【0051】
第1のマイクロプロセッサ22はこの割り込みに応答して、ステップ106で2重ポート・メモリ52からそのサイズを読み出す。図2に示す通り、2重ポート・メモリ52のサイズは、プロセッサ・モジュール20の通信インタフェース回路21内の第1のRAM27のブロックの中に格納される。ついでプロセッサ・モジュール20は、ステップ108でテストデータを格納しかつ読み戻すことにより、従来どおりの2重ポート・メモリ52の試験を実行する。この2重ポート・メモリ52の試験に合格したか失敗したかを示すために、プロセッサ・モジュール20内の第1のRAM27の中に含まれているフラグがセットされる。前記メモリの試験に合格すれば、プロセッサ・モジュール20は、そして詳細には第1のマイクロプロセッサ22は、コプロセッサ・モジュール17に対する制御バス25の線60に割り込み要求(IRQ)信号を与える。この割り込み要求によってコプロセッサ・モジュール17内のマイクロコンピュータ56が活性化すると、マイクロコンピュータ56はこの割り込み要求に応答して、ステップ110で所定のテストデータを2重ポート・メモリ52の最初の16バイトと最後の16バイトの中に格納する。一旦テストデータが格納されてしまうと、マイクロコンピュータ56は、線61によりプロセッサ・モジュール20内の第1のマイクロプロセッサ22に対して割り込み要求(IRQ)を発行する。
【0052】
第1のマイクロプロセッサ22はステップ112でこの割り込み要求に応答して、2重ポート・メモリ52から最初の16バイトと最後の16バイトを読み出す。ついで、第1のマイクロプロセッサ22はステップ114で、2重ポート・メモリ52から正しい組のテストデータを読み出したかどうか判定する。2重ポート・メモリ52がこれらのメモリ試験のいずれか1つに失敗すると、初期設定処理はステップ116に分岐し、ステップ116で第1のマイクロプロセッサ22はRAM27の中のフラグをセットし、これ以後使用しないようにコプロセッサ・モジュール17との接続を切断する。必要ならば、コプロセッサの初期設定ルーチンの終了に先立ち、シリアル通信リンク13を介してオペレータ端末装置11にエラー表示が送られる。不良コプロセッサ・モジュール17が発見されると、プロセッサ・モジュール20はコプロセッサ・モジュールを使用しない別の制御機能を継続する。
【0053】
2重ポート・メモリ52がここまでの試験にすべて合格したとすると、プログラムの実行はステップ114からステップ118に進み、ここで第1のマイクロプロセッサ22により所定の異なる組のテストデータが、2重ポート・メモリ52の最初の16バイトと最後の16バイトの中に格納される。ついで第1のマイクロプロセッサ22は、有効な信号をコプロセッサの割り込み要求(IRQ)線60に与えることにより、コプロセッサ17に割り込みをかける。ついで初期設定ルーチンは図9のステップ120に進み、ここでコプロセッサのマイクロコンピュータ56はこの割り込み要求に応答して、2重ポート・メモリ52から最初の16バイトと最後の16バイトを読み出す。ステップ122で、マイクロコンピュータ56はこれらのバイトを検査して、正しい組のテストデータがメモリから読み出されたかどうか判定する。もしデータにエラーが発見されると、マイクロコンピュータ56によりステップ124で、線62を介してプロセッサ・モジュールに故障信号が送られる。第1のマイクロプロセッサ22はこの故障信号に応答して、コプロセッサ・モジュール17をこれ以後使用しないように指定するため、第1のRAMの中の状態フラグをセットする。前に示した通り、コプロセッサの初期設定ルーチンの終了に先立ち、オペレータ端末装置11にエラー・メッセージも送られる。
【0054】
しかし、正しい組のテストデータが2重ポート・メモリから読み出されたとすれば、コプロセッサのマイクロコンピュータ56はステップ126で、線61を介してプロセッサ・モジュール20に対して割り込み要求(IRQ)を送る。この割り込み要求がプロセッサ・モジュール20に示しているのは、2重ポート・メモリ52が確実に作動することをコプロセッサは確認済みであるということである。
【0055】
プロセッサ・モジュール内の第1のマイクロプロセッサ22はステップ128でこの割り込み要求に応答して、プロセッサ・モジュールのシステムRAM36の中に含まれているコプロセッサ識別データを、2重ポート・メモリ52の方式決定セグメントの中の指定された場所に格納する。プロセッサ・モジュール20が以前このコプロセッサ・モジュール17と共に作動したとすれば、システムRAM36の中に正しい識別データが格納されていることになる。さもなければ、このデータは、システムに最初に電源が投入されたときの値、すなわち、全部ゼロであるか、あるいは異なるモジュールが前に使用されたとすれば正しくないかのいずれかである。一旦識別結果が格納されると、第1のマイクロプロセッサ22は再びコプロセッサ・モジュール17に割り込みをかける。コプロセッサのマイクロコンピュータ56はステップ130で、この後者の割り込み要求に応答して、プロセッサ・モジュール20によって2重ポート・メモリ52の中に格納されたコプロセッサ識別データを、コプロセッサメモリ57の不揮発性セクションの中に含まれているデータと比較する。2組のコプロセッサ識別データが整合するかどうかの決定はステップ132で行われる。整合していなければ、マイクロコンピュータ56はステップ134で、当該識別データをコプロセッサのメモリ57から2重ポート・メモリ52の指定された場所に転送する。ついでマイクロコンピュータ56はプロセッサ・モジュールに割り込み要求を送る。
【0056】
この割り込み要求により、プロセッサ・モジュール20はステップ136で、新しいコプロセッサ識別データメッセージを2重ポート・メモリ52から読み出し、このデータをシステムRAM36に格納する。これでコプロセッサの初期設定手続きは確実に終了し、プロセッサ・モジュールはメインとして動作するソフトウエアプログラムの実行を開始する。
【0057】
初期設定手続きが完了するとき、コプロセッサ・モジュール17はまだオフラインの状態にある。したがって、図10に示すように、コプロセッサが接続手続きを開始するまで、モジュール17とモジュール20の間で正常にメッセージを交換することはできない。この処理は、コプロセッサ・モジュール17の中のマイクロコンピュータ56によりステップ140で開始され、2重ポート・メモリ52は、先に説明したセグメントおよびサブセグメントに構成される。ついでマイクロコンピュータ56は、図5に示すハンドシェーク・セグメントのバイト72のビット1を変更する。マイクロコンピュータ56はつぎにプロセッサ・モジュール20の第1のマイクロプロセッサ22に割り込み要求を送る。
【0058】
第1のマイクロプロセッサ22はこの割り込み要求に応答して、バイト72のビット1の状態に一致するように、肯定応答バイト73のビット1を変更する。ついで第1のマイクロプロセッサ22はステップ144で、コプロセッサ・モジュール17がオンラインであることを示すため、各種の準備(housekeeping)タスクを実行する。コプロセッサ・モジュール17の中の2重ポート・メモリ52はプロセッサ・モジュール20の第1のマイクロプロセッサ22からアクセスされる。ハンドシェークセグメントのバイト70のビット1に保留の印を付ける。ついでコプロセッサ・モジュール17が割り込みを受けると、2つのモジュールの接続には、オンラインとみなしたコプロセッサが完備されていることになる。
【0059】
プログラマブル・コントローラが稼働中でないときには、コプロセッサ・モジュール17は、図11に示す接続切断手続きを実行することにより自身をオフラインにするすることができる。この手続きはステップ150で開始し、ここでコプロセッサは、2重ポート・メモリ52の中のハンドシェーク・セグメント67のバイト72のビット0に保留の印を付ける。つぎにマイクロコンピュータ56はプロセッサ・モジュールに割り込み要求を送る。プロセッサ・モジュール20の第1のマイクロプロセッサ22はこの割り込み要求に応答して、バイト72のビット0の状態に一致するように、肯定応答バイト73のビット0を変更する。ついでステップ152で、コプロセッサ・モジュール17がオフラインであることを示すため、第1のマイクロプロセッサ22により準備タスクが実行される。このあとステップ154で、第1のマイクロプロセッサ22により、2重ポート・メモリ52の中のハンドシェーク・セグメント67のバイト70のビット0に保留の印が付けられる。ついで割り込み要求がコプロセッサ・モジュール17に送られ、コプロセッサ17はオフラインとなっていることが示される。先に説明した図10の手続きを実行することにより、コプロセッサ・モジュールはオンラインに戻ることができる。
【図面の簡単な説明】
【図1】本発明を使用したプログラマブル・コントローラ・システムの外観図。
【図2】図1のコントローラの一部を形成する、プロセッサ・モジュールの機能ブロック図。
【図3】該プロセッサ・モジュールに接続される1種類のコプロセッサ・モジュールのファンクション・ブロック図。
【図4】コプロセッサ・モジュールの2重ポート・ランダム・アクセス・メモリのアドレス・マップ図。
【図5】図4のメモリ・マップ図の1部を形成するハンドシェーク・セグメントのアドレス・マップ図。
【図6】図4のメモリ・マップ図のチャネル0セグメントのアドレス・マップ図。
【図7】前記2重ポート・ランダム・アクセス・メモリに格納されるデータの構造を示す図。
【図8】プロセッサ・モジュールおよびコプロセッサが相互に初期設定する処理のフローチャートを示す図。
【図9】プロセッサ・モジュールおよびコプロセッサが相互に初期設定する処理のフローチャートを示す図。
【図10】コプロセッサ・モジュールがオンラインになる処理を示す図。
【図11】コプロセッサ・モジュールがオフラインになる処理を示す図。
【符号の説明】
10 プログラマブル・コントローラ・システム
11 オペレータ端末装置
12 主装置ラック
13 ケーブル
14 リモートI/Oラック
15 I/Oネットワーク
16 電力供給装置
17 コプロセッサ・モジュール
18 入出力インターフェース・モジュール
20 プロセッサ・モジュール
21 通信インタフェース回路
22 第1のマイクロプロセッサ
23 データ・バス
24 アドレス・バス
25 制御線
26 第1のROM
27 第1のRAM
28 マスター・クロック
29 ネットワーク・インターフェース
30 ファンクション・カード
31 3状態アドレス・ゲート
32 3状態・双方向データ・ゲート
33 共用アドレス・バス
34 共用データ・バス
35 コネクタ
36 共用システムRAM
38 I/Oラック・インターフェース回路
39 梯子型論理プロセッサ
40 汎用プロセッサ
41 第2のマイクロプロセッサ
42 ローカル・アドレス・バス
43 ローカル・データ・バス
44 第2のROM
45 第2のRAM
47 タイミング回路
48 3状態アドレス・ゲート
49 3状態・双方向データ・ゲート
50 コネクタ
52 2重ポート・RAM
53 コプロセッサ・ローカル・データ・バス
54 コプロセッサ・ローカル・アドレス・バス
55 コプロセッサ・ローカル・制御線
56 コプロセッサ・モジュールのマイクロコンピュータ
57 コプロセッサ・モジュールのメモリ
58 コプロセッサ・モジュールのインタフェース回路
59 リセット線
60 コプロセッサへの割り込み要求線
61 プロセッサへの割り込み要求線
62 コプロセッサ故障信号線
64 方式決定セグメント
65 識別セグメント
66 ディレクトリ・セグメント
67 ハンドシェーク・セグメント
68 チャネル0セグメント
69 未処理データ転送セグメント
70 プロセッサ割り込みフラグ
71 肯定応答フラグ
72 コプロセッサ割り込みフラグ
73 肯定応答フラグ
74 セグメント・ディレクトリ
75 要求FIFO
76 確認FIFO
77 指定FIFO
78 受領FIFO
79 プロセッサ・フリー・プール
80 コプロセッサ・フリー・プール
81 プールヘッダー
82 メッセージブロック

Claims (16)

  1. プロセッサ・モジュールおよび機能モジュールを有するプログラマブル・コントローラにおいて、前記モジュールの一方は、双方のモジュールからアクセスできるメモリを含み、前記メモリに情報を格納する前記モジュールの一方と前記メモリから情報を読み出す前記モジュールの他方とにより前記メモリを介して情報が交換されるプログラマブル・コントローラであって、前記プログラマブル・コントローラはさらに情報の交換を初期化する機構を含み
    前記メモリを有する前記モジュールは、格納場所の数を指定するサイズデータを前記メモリに書き込む手段を有し
    前記メモリを有しない前記モジュールは、前記メモリからサイズデータを読み出す手段を有し
    前記プロセッサ・モジュールは、第1の所定の組のデータを前記メモリの組の格納場所に書き込み、前記機能モジュールに第1の信号を送る手段を有し
    前記機能モジュールは、前記メモリの一組の格納場所からデータを読み出し、前記データが前記第1の所定の組のデータと整合しているかを決定するため前記データを試験することにより前記第1の信号に応答する第1の応答手段を有し前記機能モジュールは、第2の所定の組のデータを前記メモリの一群の格納場所に書き込み、前記プロセッサ・モジュールに第2の信号を送る手段を有し
    前記プロセッサ・モジュールは、前記メモリの一群の格納場所からデータを読み出し、前記データが前記第2の所定の組のデータと整合しているかを決定するため前記データを試験することにより前記第2の信号に応答する第2の応答手段を有し
    前記プロセッサ・モジュールは、前記メモリの所定の格納場所に機能モジュール型式の識別又は前記プロセッサ・モジュールが機能モジュール型式の識別を有していない場合は初期情報のいずれかを書き込み、前記機能モジュールに第3の信号を送る手段を有し
    前記機能モジュールは、前記メモリの所定の格納場所からデータを読み出し、前記データが前記機能モジュールを正しく識別するかを決定するため前記データを試験することにより前記第3の信号に応答する第3の応答手段を有し
    前記機能モジュールは、前記メモリの所定の格納場所に正しいモジュール型式を指定するデータを書き込み、前記第3の応答手段が前記第3の信号に応答して読み出された前記データが前記機能モジュールを正しく識別しないことを示す場合前記プロセッサ・モジュールに第4の信号を送る手段を有し
    前記プロセッサ・モジュールは、前記メモリの所定の格納場所からデータを読み出すことにより前記第4の信号に応答する第4の手段を有する
    プログラマブル・コントローラ。
  2. 請求項1記載のプログラマブル・コントローラであって、前記プロセッサ・モジュールは、テストデータを前記メモリに格納、前記メモリからデータを読み出し、前記メモリから読み出したデータが前記テストデータと整合するかを決定する手段をさらに含むプログラマブル・コントローラ。
  3. 請求項1記載のプログラマブル・コントローラであって、前記プロセッサ・モジュールは、前記第1又は前記第2の応答手段のいずれかが前記データが整合しないことを決定する場合前記機能モジュールとデータを交換できないことを示す手段をさらに含むプログラマブル・コントローラ。
  4. インタフェースを介してプログラマブル・コントローラのプロセッサ・モジュールとデータを交換し前記インタフェースを初期化する機構を有する任意の型式の機能モジュールであって、前記機構は、
    前記プロセッサ・モジュールからデータを受信する受信手段と、
    前記受信手段に接続され、前記プロセッサ・モジュールから受信したデータが第1の所定の組のデータと整合しているかを決定する第1の手段と、
    前記第1の手段がデータが整合していないと表示することに応答して前記プロセッサ・モジュールにエラー信号を送る手段と、
    前記第1の手段がデータが整合していると表示することに応答して前記プロセッサ・モジュールに第2の所定の組のデータを送る手段と、
    前記プロセッサ・モジュールから受信した型式データに応答して前記型式データが前記機能モジュールを正しく識別しているかを決定する第2の手段と、
    前記第2の手段に応答して前記プロセッサ・モジュールから受信したデータが前記機能モジュールの型式を正しく識別していない場合前記機能モジュールの型式の正しい識別を前記プロセッサ・モジュールに送る手段と、
    を含む機能モジュール。
  5. 請求項4記載の機能モジュールであって、
    前記モジュールの一方前記モジュールの他方送るデータを格納するメモリであって、前記モジュールの他方前記メモリから前記データを読み出す前記メモリと、
    前記メモリに格納場所の数を指定するサイズデータを格納する手段と、
    をさらに含む機能モジュール。
  6. 請求項4記載の機能モジュールであって、
    前記プロセッサ・モジュールおよび前記機能モジュールが共にデータを格納および書き込みできるメモリ手段であって、前記メモリ手段は、前記機能モジュールが前記プロセッサ・モジュールとデータを交換するために利用可能であるかに関する指定を格納する格納場所の部分有する前記メモリ手段と、
    前記プロセッサ・モジュールに対する前記機能モジュールの利用可能性を示すため所定の論理レベルを有するビットを前記格納場所の部分に書き込む手段と、をさらに含む機能モジュール。
  7. 請求項6記載の機能モジュールであって、
    前記プロセッサ・モジュールに対する前記機能モジュールの非利用可能性を示す論理レベルを有するビットを前記格納場所の部分に書き込む手段をさらに含む機能モジュール。
  8. プログラマブル・コントローラのプロセッサ・モジュールと機能モジュールとの間のデータインタフェースを初期化する方法であって、データをメモリに書き込む前記モジュールの一方によりデータが交換され、前記データの他方によりデータが読み出される前記方法は
    前記機能モジュールが格納場所の数を指定するサイズデータを前記メモリに書き込むステップと、
    前記プロセッサ・モジュールが前記メモリからサイズデータを読み出すステップと、
    前記プロセッサ・モジュールが第1の所定の組のデータを前記メモリの組の格納場所に書き込むステップと、
    前記機能モジュールが前記メモリの組の格納場所からデータを読み出し、前記データが前記第1の所定の組のデータと整合しているかを決定するため前記データを試験するステップと、
    前記機能モジュールが第2の所定の組のデータを前記メモリの群の格納場所に書き込むステップと、
    前記プロセッサ・モジュールが前記メモリの群の格納場所からデータを読み出し、前記データが前記第2の所定の組のデータと整合しているかを決定するステップと、
    前記プロセッサ・モジュールが機能モジュール型式の識別を有していない場合に前記プロセッサ・モジュールが機能モジュール型式の識別又は初期情報のいずれかを前記メモリの所定の格納場所に書き込ステップと、
    前記機能モジュールが前記メモリの所定の格納場所からデータを読み出し、前記データが前記機能モジュールを正しく識別しているかを決定するため前記データを試験するステップと、
    前記データが前記機能モジュールを正しく識別していない場合に前記機能モジュールが実際の型式を示すデータを前記メモリの所定の格納場所に書き込むステップと、
    前記プロセッサ・モジュールが前記メモリの所定の格納場所からデータを読み出すステップと、
    を含む前記方法。
  9. 請求項8記載の方法であって、前記プロセッサ・モジュールがデータを前記メモリに書き込み、前記データ前記メモリから読み出し、前記メモリから読み出した前記データが前記メモリに格納されたデータと整合するかを決定するステップをさらに含む前記方法。
  10. 請求項8記載の方法であって、前記メモリは、前記機能モジュールが前記プロセッサ・モジュールとデータを交換するために利用可能であるかに関する指定を格納場所の部分に格納し、前記機能モジュールは、
    前記プロセッサ・モジュールとの利用性を示すために前記機能モジュールが前記格納場所の部分の1ビットを所定の論理レベルに配置し
    前記機能モジュールが利用可能であることを認定するために前記プロセッサ・モジュールが前記格納場所の部分の別の1ビットを所定の論理レベルに配置して応答することにより、
    利用可能となる前記方法。
  11. 請求項10記載の方法であって、
    前記機能モジュールが前記格納場所の部分の任意のビットを前記プロセッサ・モジュールの非利用可能性を示す論理レベルに配置し
    前記プロセッサ・モジュールが前記任意のビットを読み出し前記格納場所の部分の別のビットを前記機能モジュールが利用不可能であることを認定する論理レベルに配置することにより、
    前記機能モジュールが前記プロセッサ・モジュールとデータを交換するのに非利用となる前記方法。
  12. 請求項11記載の方法であって、データが前記第1又は第2の所定ののデータと整合しないことが判明する場合に前記プロセッサ・モジュールが前記機能モジュールと情報を交換することができないこと示すステップをさらに含む前記方法。
  13. 機能モジュールがプログラマブル・コントローラのプロセッサ・モジュールとのデータインタフェースを初期化する方法であって、前記方法は、
    前記プログラマブル・コントローラから第1の所定の組のテストデータを受信するステップと
    前記機能モジュールが前記第1の所定の組のテストデータにエラーを検出するとき前記プロセッサ・モジュールにエラー表示を送り、それ以外の場合に前記プロセッサ・モジュールに第2の所定の組のテストデータを送るステップと、前記プロセッサ・モジュールから機能モジュール型式の識別を受信するステップと
    前記機能モジュールが前記受信した識別が前記機能モジュールに該当しないことを検出するとき機能モジュール型式の異なる識別を送るステップと
    を含む前記方法。
  14. 請求項13記載の方法であって、メモリのサイズを示すデータを前記プロセッサ・モジュールに送ることによりリセット信号に応答する前記機能モジュールを不動作にすることをさらに含む前記方法。
  15. 請求項13記載の方法であって、前記機能モジュールは、当該モジュールが前記プロセッサ・モジュールとデータを交換するのに利用できるかに関する指定をメモリに格納し前記プロセッサ・モジュールは、当該モジュールの利用可能性を示すために所定の論理レベルを有するデータ・ビットを前記メモリの格納場所に書き込むことにより利用可能となる前記方法。
  16. 請求項15記載の方法であって、前記機能モジュールは、前記プロセッサ・モジュールの非利用可能性を示すために所定の論理レベルを有する任意のビットを前記メモリの格納場所に書き込むことにより前記プロセッサ・モジュールとデータを交換するのに非利用可能となる前記方法。
JP10142993A 1992-04-28 1993-04-27 プログラマブル・コントローラ用データ・インタフェース初期設定装置および初期設定方法 Expired - Fee Related JP3549116B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US875173 1992-04-28
US07/875,173 US5416908A (en) 1992-04-28 1992-04-28 Interface between industrial controller components using common memory

Publications (2)

Publication Number Publication Date
JPH06119296A JPH06119296A (ja) 1994-04-28
JP3549116B2 true JP3549116B2 (ja) 2004-08-04

Family

ID=25365324

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10142993A Expired - Fee Related JP3549116B2 (ja) 1992-04-28 1993-04-27 プログラマブル・コントローラ用データ・インタフェース初期設定装置および初期設定方法

Country Status (3)

Country Link
US (1) US5416908A (ja)
JP (1) JP3549116B2 (ja)
DE (1) DE4313190B4 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5613135A (en) * 1992-09-17 1997-03-18 Kabushiki Kaisha Toshiba Portable computer having dedicated register group and peripheral controller bus between system bus and peripheral controller
JPH07241786A (ja) * 1994-03-08 1995-09-19 Fanuc Ltd 産業用ロボットの制御装置
JPH07262032A (ja) * 1994-03-17 1995-10-13 Fujitsu Ltd 情報処理装置
US5581790A (en) * 1994-06-07 1996-12-03 Unisys Corporation Data feeder control system for performing data integrity check while transferring predetermined number of blocks with variable bytes through a selected one of many channels
DE19513801A1 (de) * 1995-04-11 1996-10-17 Siemens Ag Verfahren zur automatischen Erzeugung einer Steuerung
FR2741975B1 (fr) * 1995-11-30 1998-01-09 Aeg Schneider Automation Systeme d'entrees-sorties d'automate programmable
JP3343036B2 (ja) * 1996-07-24 2002-11-11 三菱電機株式会社 プログラマブルコントローラのネットワークシステム
US5970243A (en) * 1996-08-27 1999-10-19 Steeplechase Software, Inc. Online programming changes for industrial logic controllers
US6037857A (en) * 1997-06-06 2000-03-14 Allen-Bradley Company, Llc Serial data isolator industrial control system providing intrinsically safe operation
JP2000339008A (ja) * 1999-05-27 2000-12-08 Hitachi Ltd プログラマブルコントローラ
US7080150B1 (en) 2000-04-10 2006-07-18 Rockwell Automation Technologies, Inc. Pointbus architecture and automatic sequential addressing protocol
US7228363B1 (en) 2000-04-05 2007-06-05 Rockwell Automation Technologies, Inc. Pointbus architecture and automatic sequential addressing
US7721079B2 (en) 2000-04-10 2010-05-18 Rockwell Automation Technologies, Inc. Pointbus architecture and automatic sequential addressing
US6735659B1 (en) * 2000-12-21 2004-05-11 Intel Corporation Method and apparatus for serial communication with a co-processor
US7487316B1 (en) * 2001-09-17 2009-02-03 Rockwell Automation Technologies, Inc. Archive and restore system and methodology for on-line edits utilizing non-volatile buffering
US7738972B2 (en) * 2006-06-29 2010-06-15 Honeywell International Inc. Modular shared-memory resource stage driver system for flexible resource linking in an energy conversion system
US8095699B2 (en) * 2006-09-29 2012-01-10 Mediatek Inc. Methods and apparatus for interfacing between a host processor and a coprocessor
US10893762B2 (en) 2018-01-26 2021-01-19 Banyan Licensing L.L.C. Pillow apparatus
USD846312S1 (en) 2018-06-15 2019-04-23 Banyan Licensing L.L.C. Pillow
US11506703B2 (en) * 2019-02-13 2022-11-22 Silicon Motion, Inc. Apparatus and method and computer program product for verifying memory interface

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4402046A (en) * 1978-12-21 1983-08-30 Intel Corporation Interprocessor communication system
US4413319A (en) * 1981-03-09 1983-11-01 Allen-Bradley Company Programmable controller for executing block transfer with remote I/O interface racks
US4751636A (en) * 1981-03-09 1988-06-14 General Signal Corp. Memory management method and apparatus for initializing and/or clearing R/W storage areas
IT1142074B (it) * 1981-11-24 1986-10-08 Honeywell Inf Systems Sistema di elaborazione dati con allocazione automatica dell'indirizzo in una memoria modulare
US4633392A (en) * 1982-04-05 1986-12-30 Texas Instruments Incorporated Self-configuring digital processor system with logical arbiter
US4521871A (en) * 1982-04-12 1985-06-04 Allen-Bradley Company Programmable controller with back-up capability
US4660141A (en) * 1983-12-06 1987-04-21 Tri Sigma Corporation Self configuring computer network with automatic bus exchange of module identification numbers and processor assigned module numbers
US4764868A (en) * 1984-06-04 1988-08-16 General Electric Co. Distributed input/output system
US5093804A (en) * 1984-06-04 1992-03-03 Ge Fanuc Automation North America, Inc. Programmable controller input/output communications system
US4688172A (en) * 1984-11-13 1987-08-18 International Business Machines Corporation Initialization apparatus for a data processing system with a plurality of input/output and storage controller connected to a common bus
US4691296A (en) * 1984-11-16 1987-09-01 Allen-Bradley Company, Inc. Method and apparatus for exchanging multiple data bytes with an I/O module in a single scan.
US4718003A (en) * 1985-02-15 1988-01-05 General Electric Co. Method and apparatus for exchanging data between data processing units
US4809217A (en) * 1985-10-31 1989-02-28 Allen-Bradley Company, Inc. Remote I/O port for transfer of I/O data in a programmable controller
JPS62250593A (ja) * 1986-04-23 1987-10-31 Hitachi Ltd ダイナミツク型ram
GB8729901D0 (en) * 1987-12-22 1988-02-03 Lucas Ind Plc Dual computer cross-checking system
US5274767A (en) * 1988-09-23 1993-12-28 Allen-Bradley Company, Inc. Programmable controller with module identification and diagnostic mechanism
JPH02139611A (ja) * 1988-11-19 1990-05-29 Nec Corp 筐体内に於ける実装位置検出方式
JP2745669B2 (ja) * 1989-04-27 1998-04-28 ブラザー工業株式会社 プリンタ
DE8909653U1 (ja) * 1989-07-20 1990-01-18 Siemens Ag, 1000 Berlin Und 8000 Muenchen, De
US5204669A (en) * 1990-08-30 1993-04-20 Datacard Corporation Automatic station identification where function modules automatically initialize
US5265005A (en) * 1990-08-31 1993-11-23 Allen-Bradley Company, Inc. Processor for a programmable controller
US5225974A (en) * 1990-10-30 1993-07-06 Allen-Bradley Company, Inc. Programmable controller processor with an intelligent functional module interface
US5216771A (en) * 1992-07-31 1993-06-08 Hoff Gene A Leg pillow

Also Published As

Publication number Publication date
US5416908A (en) 1995-05-16
DE4313190B4 (de) 2006-02-02
JPH06119296A (ja) 1994-04-28
DE4313190A1 (de) 1993-11-04

Similar Documents

Publication Publication Date Title
JP3549116B2 (ja) プログラマブル・コントローラ用データ・インタフェース初期設定装置および初期設定方法
US6389495B1 (en) Dedicated circuit and method for enumerating and operating a peripheral device on a universal serial bus
US5452420A (en) Intelligent network interface circuit for establishing communication link between protocol machine and host processor employing counter proposal set parameter negotiation scheme
EP0169244B1 (en) Method of and apparatus for diagnosing channel control unit
US4918589A (en) Method and apparatus for linking processors in a hierarchical control system
US5265005A (en) Processor for a programmable controller
US6412032B1 (en) Interface for industrial controller network card
EP0472433A2 (en) Firmware modification system wherein older version can be retrieved
JPH0283601A (ja) プログラマブル・コントローラ
JPH04266102A (ja) インテリジェント機能モジュール・インターフェース付きプログラマブル・コントローラ・プロセッサ
US4675864A (en) Serial bus system
US5392424A (en) Apparatus for detecting parity errors among asynchronous digital signals
JPS6043767A (ja) インタ−フエ−ス回路
US5212631A (en) Programmable controller processor module having multiple program instruction execution sections
EP0473086B1 (en) Processor for a programmable controller
JP2519276B2 (ja) 障害情報収集処理方式
CN116049015A (zh) 一种计算设备的通用调试器、调试系统及调试方法
JP2988443B2 (ja) データ転送方式
EP0174446A2 (en) Distributed multiprocessing system
JPH09179947A (ja) Icカード
JPH01282606A (ja) Pmc装置
US20160378633A1 (en) Repair of failed firmware through an unmodified dual-role communication port
JP2584903B2 (ja) 外部装置制御方式
CN114168070A (zh) 存储设备、主从确定方法及存储介质
JPH01191962A (ja) コンピュータ通信用制御装置

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040330

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040416

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090430

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090430

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100430

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees