JPH0758984B2 - プログラム可能な複数の論理制御器の間で通信する方法 - Google Patents

プログラム可能な複数の論理制御器の間で通信する方法

Info

Publication number
JPH0758984B2
JPH0758984B2 JP2299997A JP29999790A JPH0758984B2 JP H0758984 B2 JPH0758984 B2 JP H0758984B2 JP 2299997 A JP2299997 A JP 2299997A JP 29999790 A JP29999790 A JP 29999790A JP H0758984 B2 JPH0758984 B2 JP H0758984B2
Authority
JP
Japan
Prior art keywords
message
plc
slave
sent
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2299997A
Other languages
English (en)
Other versions
JPH03175560A (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 JPH03175560A publication Critical patent/JPH03175560A/ja
Publication of JPH0758984B2 publication Critical patent/JPH0758984B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/38Information transfer, e.g. on bus
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/04Program 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/052Linking several PLC's
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Automation & Control Theory (AREA)
  • Software Systems (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Programmable Controllers (AREA)
  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は全体としてプログラム可能な論理制御器に関す
るものであり、更に詳しくいえば、プログラム可能な複
数の論理制御器の間で通信する方法に関するものであ
る。
〔従来の技術〕
過去においては、プログラム可能な複数の論理制御器
(PLC)の間で通信を可能にするために、PLCは共通バス
により一緒に接続されていた。たとえば、第1図におい
て、PLC10,15,20が共通バス25を介して一緒に結合され
る。そのような構成においては、PLCの1つがマスタ装
置として作用し、他のPLCがスレーブ装置として作用す
ることがしばしばである。典型的にはそのような構成に
おいては、マスタ装置が選択された1つのスレーブ装置
と通信すると、残りのスレーブ装置は待機モードに置か
れ、または、一般にスレーブ装置は命令およびメッセー
ジのトラフイツクについてバス25をモニタしなければな
らないから、効率を最高にするやり方で処理することが
できない。
〔発明が解決しようとする課題〕
したがつて、本発明の目的は、マスタPLC装置が選択さ
れた別のスレーブPLC装置と通信している時に、スレー
ブPLC装置が処理その他の活動を続行することを許す、
複数のPLCの間で直列通信するための方法を得ることで
ある。
本発明の別の目的は、マスタPLC装置によつてメッセー
ジがスレーブPLC装置へ送られる前に、あらゆるメツセ
ージの長さがスレーブPLC装置により知られているよう
な、複数のPLCの間で直列通信する方法を得ることであ
る。
本発明の更に別の目的は、スレーブPLC内のCPUをデータ
転送の取扱いに結びつけないように、マスタPLC装置か
らスレーブPLC装置へ送られるデータをスレーブPLC装置
内の直接メモリアクセスにより取扱う、複数のPLCの間
で直列通信を行う方法を得ることである。
〔課題を解決するための手段〕
本発明に従つて、マスタPLCを共通の通信バスへ結合で
き、複数のスレーブPLCをバスへ結合できる、バスへ結
合されているプログラム可能な複数の論理制御器(PL
C)の間で通信する方法が得られる。この方法は、マス
タPLCからメツセージを受けるためにスレーブPLCの1つ
を選択する過程を含む。したがつて、選択されたPLCを
選択されたスレーブPLCと呼び、他の任意のスレーブPLC
を選択されないスレーブPLCと呼ぶ。この方法は、選択
されたスレーブPLCと選択されないスレーブPLCへ、マス
タPLCにより選択されたスレーブPLCへ送るメツセージの
長さを知らせる過程も含む。この方法は、メツセージを
選択されたスレーブPLCへ送る過程と、選択されたスレ
ーブPLC内のDMA制御器により、メツセージに含まれてい
る任意のデータをスレーブPLCのメモリへ直接転送する
過程も含む。
本発明の別の実施例に従つて、マスタPLCを共通通信バ
スへ結合でき、複数のスレーブPLCをそのバスへ結合で
きる、共通通信バスへ結合されているプログラム可能な
複数の論理制御器の間で通信する方法が得られる。各PL
Cはバスへ結合される直列ポートと、DMA制御器と、メモ
リと、中央処理装置(CPU)とを含む。この方法は、ス
レーブPLCに割込むことができる所定の切れ目キヤラク
タについてバスをスレーブPLCでモニタする過程も含
む。この方法は、スレーブPLCに割込むためにバス上の
切れ目キヤラクタをマスタPLCにより送る過程も含む。
この方法は、選択した1つのスレーブPLCをマスタPLCで
アドレスする過程も含む。選択された1つのPLCを選択
されたPLCと呼び、残りのPLCを選択されないPLCと呼
ぶ。この方法は、選択したスレーブPLCへ次に送るべき
メツセージの長さを記述するメツセージ長情報と、デー
タとを含んでいる第1のメツセージをマスタPLCで送る
過程も含む。この方法は、データと、選択したスレーブ
PLCへ次に送る別のメツセージの長さを記述するメツセ
ージ長情報とを含む次のメツセージを、マスタPLCによ
り送る過程も含む。この方法は、スレーブPLCへ送るこ
とをマスタPLCが希望する全てのデータがスレーブPLCへ
送られるまで、次のメツセージを送る過程、すなわち、
その次のメツセージを送る過程を繰り返えす過程も含
む。この方法は、選択されたスレーブPLC内のDMA制御器
により第1のメツセージ内のデータと次の任意のメツセ
ージを、選択されたスレーブPLCの直列ポートからそれ
のメモリへ直接転送する過程も含む。
〔実施例〕
第2図は、本発明の通信方法を実施できる多数のプログ
ラム可能な論理制御器装置50のブロツク図である。この
例においては、装置50は3個のPLCを含む。しかし、デ
ジタル通信技術における当業者は、より多くのPLCまた
はより少いPLCにもこの方法を同様に適用されることが
わかるであろう。更に詳しくいえば、この例において
は、装置50はマスタPLC100とスレーブPLC200、300を含
む。PLC100、200、300は中央処理装置(CPU)110、21
0、310と、直列ポート120、220、320とをそれぞれ含
む。PLC100、200、300は、直列ポート120、220、320と
メモリ140、240、340との間にそれぞれ結合されている
直接メモリアクセス制御器130、230、330も含む。それ
らの直接メモリアクセス制御器によつて、PLCの直列ポ
ートに受けたデータを、PLCのCPUを介在させる必要なし
に、PLC内のメモリへ直接供給できるようにされる。
第2図に示すように直列ポート120,220、321は直列バス
400により一緒に結合される。以後の説明のために、マ
スタPLC100がスレーブPLC200と300のうちの選択したも
のへデータを送ると仮定するが、本発明の別の実施例に
おいては、マスタPLCとスレーブPLCの役割を逆にできる
ことを当業者はわかるであろう。以下に説明する方法に
より、1つのPLC装置からのデータを直列バス400を介し
て別のPLC装置へ送ることができる。
本発明のこの実施例においては、マスタPLC100により送
られる正常なデータキヤラクタの長さは11ビツトであ
る。すなわち、正常なキヤラクタは1スタートビツト
と、1ストツプビツトと、1パラメータビツトと、8デ
ータビツトとの11ビツトである。スレーブPLC200と300
の1つへのデータの送信を開始するために、マスタPLC1
00は切れ目コードをバス400へまず送る。この実施例に
おいては、切れ目コードは正常なキヤラクタより長いキ
ヤラクタとして選択される。すなわち、全部0を含む22
ビツト長の切れ目コードが用いられる。本発明はこの特
定の切れ目コードに限定されないことがわかるであろ
う。実際には、他の切れ目コードを正常なキヤラクタか
ら十分に区別できる限り、他の切れ目コードを容易に採
用できる。
切れ目コードがマスタPLC100によりバス400へ送られる
と、その切れ目コードはバス400へ結合されている全て
のPLC、すなわち、スレーブPLC200と300、を目覚めさせ
る。本発明に従つて、スレーブPLC200と300がマスタPLC
100からのデータを受けるための用意ができるように、
待ち時間がアサートされる。この待ち時間は、スレーブ
PLC200と300がデータ受信の用意ができるように十分に
長い。
この待ち時間が経過すると、マスタPLC100は、マスタPL
Cがメツセージを送ることを希望する特定のスレーブPLC
を識別する「アタツチメツセージ」を送る。このように
して、特定のスレーブPLCがアドレスおよび選択され
る。本発明の一実施例においては、アタツチメツセージ
は後続するメツセージの長さを指定するデータ長パラメ
ータを含む。
本発明に従つて、アタツチメツセージは選択されたスレ
ーブPLCからの応答を求める。選択されたスレーブPLC
は、そのPLCが目覚めて、アタツチメツセージを受けた
ことを示す確認応答信号をバス400を介して送る。
マスタPLC100が確認応答信号を受けると、マスタPLC100
は「メイルボツクスメツセージ」と呼ばれるメツセージ
信号をバス400を介して送る。このメイルボツクスメツ
セージは、マスタPLC100が選択されたスレーブPLC200ま
たは300へ送ることを望む情報、または情報の一部を含
む。メイルボツクスメツセージは選択した長さ、たとえ
ばこの実施例では40バイト長の情報パケツトである。メ
イルボツクス情報は、マスタPLC100が選択されたスレー
ブPLCへ送ることを望むトラフイツクを記述する第1の
部分と、付加メツセージが続くものとすると「次のメツ
セージ」の長さを記述する情報とを含む。マスタPLCか
ら送ることを望む全ての情報がメイルボツクスメツセー
ジに入るほど十分に短いとすると、次のメツセージ(次
のパケツト)はメイルボツクスメツセージに続かない。
しかし、全てのそのような情報がメイルボツクスメツセ
ージに入らないとすると、1つまたは複数の次のメツセ
ージが続く。
受信スレーブPLC、すなわち、選択されたスレーブPLC、
がマスタPLC100により送られた各情報パケツトの受信に
確認応答する。すなわち、選択されたスレーブPLCがメ
イルボツクスメツセージを受けた後、および選択された
スレーブPLCが次の任意のメツセージを受けた後で、選
択されたPLCは受けた各パケツトに対して各確認応答信
号をバス400を介して送る。
そのような各メツセージパケツト(メイルボツクスメツ
セージと次のメツセージ)は、マスタPLC100により選択
されたスレーブPLCへ送る次のメツセージパケツトのバ
イトで表した長さを記述する長さ情報を含む。このよう
にして、スレーブPLCは、マスタPLC100からバス400を介
して受ける次のメツセージの長さを常に知る。更に、選
択されていない各スレーブPLCはあらゆるメツセージの
長さを知り、その選択されていないスレーブPLCへ向け
られていないそのようなメツセージ中に、他のデータ処
理活動、データ収集活動またはその他の活動を行うこと
ができる。
上記のように、確認応答を間に挾まれた持続する一連の
メツセージを、マスタPLC100から選択されたスレーブPL
Cへ送ることができる。説明のために、スレーブPLC200
がマスタPLC100からメツセージを送るべき選択されたス
レーブPLCであるとここで仮定する。同じスレーブPLCへ
送られる持続するメツセージが存在する限りは、それら
のメツセージおよび確認応答信号以外の信号はバス400
を介して送ることを許されず、それへ送られる次のメツ
セージの長さを受信スレーブ装置は常に知る。これによ
り、選択されたスレーブPLC200内のDMA制御器230により
メツセージを直接制御でき、メツセージをCPU210により
処理する必要をなくす。すなわち、メイルボツクスメツ
セージからのデータと、特定のメイルボツクスメツセー
ジに関連する次のメツセージパケツトとを、CPU210の介
在なしに、直列ポート220からメモリ240へDMA制御器230
により直接送られる。したがつて、データバス400のモ
ニタはDMA制御器のハードウエア機能となり、CPUが他の
処理機能と制御機能を自由に行うようにする。
受信スレーブPLC200は、それへ送られた完全な各メツセ
ージが終ると応答できる。完全なメツセージはメイルボ
ツクスメツセージプラス次のメツセージにより形成され
ることに注目されたい。マスタPLCが別の切れ目コード
をバス400を介して送ることなしに、2つ以上の完全な
メツセージを選択された1つのスレーブPLCへ送ること
ができる。しかし、マスタPLC100が、最後に選択したも
の以外のスレーブPLCをアドレスおよび選択することを
希望すると、マスタPLC100は別の切れ目コードをバス40
0へ送る。そうすると、前記のように、マスタPLC100が
選択し、かつメツセージを送ることを希望する特定のス
レーブPLCを識別するためにアタツチメツセージが送ら
れる。
第3図は上記通信方法およびプロトコルの時間軸表現で
ある。切れ目コード500は、バス400上でスレーブPLC200
と300の注意を引くために、マスタPLC100へ送られる切
れ目コードを表す。切れ目コード500に続く待ち時間は
スレーブPLCが受信の用意をできるようにするためのも
のであつて、WAIT505として示されている。ATTACH MSG
510は、マスタPLC100がメツセージを送ることを望む特
定のスレーブPLCをアドレスおよび選択することをマス
タPLC100に許すアタツチメツセージを表す。S ACK515
は、選択されたスレーブPLCにより送られる確認応答信
号を示す。前記メイルボツクスメツセージは第3図にMA
ILBOX MSG 520で表され、LENGTH 520AとDATA 520Bを含
んでいるものとして示されている。LENGTH 520Aは、メ
イルボツクスメツセージに続く次のメツセージの長さを
記述する長さ情報を示す。DATA 520Bは、選択されたス
レーブPLCのための意図するメツセージ情報を含むメイ
ルボツクスメツセージ520のデータ部分を表す。スレー
ブPLCが受けたメイルボツクスMSG 520を示すために、ス
レーブPLC200により送られた確認応答信号がSS ACK 525
として示されている。MAILBOX MSG 520の次のメツセー
ジが530にNEXT MSG 1として示されており、LENGTH部分
とDATA部とをMAILBOX MSG 520と同様に含む。スレーブP
LC200により送られて、そのスレーブPLC200がNEXT MSG
1を受けたことを示す確認応答信号がSS ACK 535として
示されている。530におけるNEXT MSG 1の次のメツセー
ジが540にNEXT MSG 2として示され、MAILBOX MSG 520と
同様に、LENGTH部分とDATA部分を含む。スレーブPLC100
により送られた確認応答信号は、スレーブPLC100がNEXT
MSG 2を受けたことを示すものであつて、SS ACK 545と
して示されている。
SS ACKが続くNEXT MSGのこのパターンは、550におけるN
EXT MSG NとSS ACK 555により示されているように最後
に完成されるまで続く。ここに、Nはメツセージ中の最
後のメツセージパケツトの数に対応する整数である。第
3図から、完全なメツセージはMAILBOX MSG 520、NEXT
MSG 1、NEXT MSG 2… NEXT MSG Nを含む。
完全に説明するために、次の第1表は、この通信方法に
おける典型的なメツセージパケツトのレイアウトを示
す。
上記パケツト構造は、下に説明するように、所定の長さ
を示す。第1表において、項「オフセツト」は第1のバ
イト(0)から、第1表に現われる特定のバイト名まで
の、バイトで表わしたずれを記述する。すなわち、オフ
セツトは、0バイトのオフセツトを示すメツセージパケ
ツトのスタートに関する、メツセージパケツト内の特定
の名称のバイトで表す場所を記述する。
拡張キヤラクタESCは、メツセージパケツトの始りに関
して0バイトのオフセツトで送られる。このESCキヤラ
クタはメツセージパケツトまたはデータパケツトのスタ
ートを表す。このキヤラクタが、アドレスされた選択さ
れているスレーブPLCにより最初に受けられたキヤラク
タでないとすると、そのパケツトは誤りである。
ESCキヤラクタに関して1バイトのオフセツトでメツセ
ージの形式バイトが送られる。すなわち、アタツチメツ
セージキヤラクタがESCキヤラクタのすぐ後に続く。メ
ツセージのスタートキヤラクタとメツセージの形式キヤ
ラクタは、メツセージパケツトのヘツダを一緒に形成す
る。第2表はメツセージの形式バイトで示すことができ
る異なる形式のメツセージを示す。
マスタPLC100から選択されたスレーブPLCへ送ることを
望まれており、且つ、第1表にDATAという名称で示され
ている、実際のメツセージ情報(基本メツセージ情報)
は2〜M+1バイトのオフセツトでメツセージパケツト
内に位置させられる。ここに、Mは基本メツセージ(DA
TA)におけるバイト数を表す。メツセージパケツトの長
さが40バイトであるこの特定の例においては、DATAすな
わち基本メツセージの長さは32バイトであるからM=32
である。このデータは、選択されたスレーブPLC内の適
切な処理ルーチンへ送られる。このデータフイールドの
長さと内容は可変であつて、メツセージの形式に依存す
る。
メツセージパケツトの初めに関してM+2バイトのオフ
セツトで、ブロツクの終りマーカーETBがメツセージパ
ケツト内に位置させられる。ブロツクの終りマーカーET
Bはメツセージパケツト内のデータフイールドの終り
と、後続情報の始まりとを表す。
次のメツセージ形式キヤラクタNTがメツセージパケツト
内のM+3バイトのオフセツトの所に設けられる。NTキ
ヤラクタは、マスタPLC100から選択されたスレーブ装置
への現在のメツセージに、どの種類のメツセージが続く
かを定める。現在の送信ステーシヨン(マスタPLC)が
次のメツセージを送る用意ができていないか、または現
在の送信ステーシヨン(マスタPLC)が現在の受信ステ
ーシヨン(スレーブPLC)からの応答を予測しているも
のとすると、受信ステーシヨン(スレーブPLC)が1を
有するならば、次のメツセージを送るべきことをその受
信ステーシヨン(スレーブPLC)へ知らせる00Hがこのフ
イールドに置かれる。この説明のために、次のメツセー
ジを送るものはマスタPLCである。
次のメツセージキヤラクタLEN1とLEN2はオフセツトがそ
れぞれM+4とM+5であるメツセージパケツトで送ら
れる。次のメツセージキヤラクタのそれらの長さは、マ
スタPLC100が送る次のメツセージのバイトで表わす実際
の長さを含む。すなわち、LEN1は次のメツセージの長さ
の最下位バイトを含み、LEN2は次のメツセージの長さの
最上位バイトを含む。
メツセージデータ状態バイトSTATは、メツセージパケツ
トの初めに関してM+6バイトのオフセツトに位置させ
られる。STATバイトは、特定のPLCにおいてメツセージ
が必要とされているか、メツセージを利用できるかを示
す情報を含む。
M+7バイトのオフセツトで設けられているブロツク検
査コードBCCが、メツセージ内の一貫性検査を表す。ブ
ロツク検査コードは、メツセージ中の第1のキヤラクタ
でのスタートにより決定され、メツセージを通つて次の
メツセージ長バイトまで進む。更に詳しくいえば、現在
のバイトと累積された検査との排他的オア操作を行い、
それから累積値を回すことにより決定される。もちろ
ん、メツセージの一貫性を確かめるために他のブロツク
検査コードを使用することもできる。
次に、第2表に示されているもののうち、本発明の通信
方法の理解を助けるメツセージ形式について説明する。
マスタPLCが通信することを望む特定のスレーブPLCを選
択するために、アタツチメツセージがマスタPLCにより
用いられる。アタツチメツセージは選択されたスレーブ
PLCのCPU IDを含む。CPU IDはアタツチメツセージ内の
フイールドであつて、アタツチ応答メツセージ(スレー
ブ確認応答−S ACK)で応答すべきかどうかを決定する
ために、各スレーブによつてそれ自身のIDと比較され
る。アドレスされたスレーブPLCがバス上にあつて、メ
ツセージ受信の用意ができていることをマスタPLCへ知
らせるために、アタツチ応答メツセージはアドレスされ
たスレーブPLC(選択されたスレーブPLC)により用いら
れる。メイルボツクスメツセージは、マスタPLCからス
レーブPLCへデータを送り、そのスレーブPLCからデータ
を要求する主なメカニズムである。マスタPLCと選択さ
れたスレーブPLCの間の接続がひとたび行われると、テ
キストバツフアメツセージと、ブロツク転送メツセージ
と、接続データメツセージとを含めた他の全てのメツセ
ージよりメイルボツクスメツセージが先行する。
第4図は本発明の方法の下におけるマスタPLC100の動作
を示す流れ図である。第4図からわかるように、マスタ
PLC100は切れ目コードをバス400へ送る(ブロツク60
0)。それから待ち時間が課される(ブロツク605)。待
ち時間が経過した後で、マスタPLC100はアタツチメツセ
ージを、マスタPLCが通信しようとする特定のスレーブP
LCへ送る(ブロツク610)。マスタPLCがアタツチメツセ
ージでスレーブPLCを選んだ後で、マスタPLC100が確認
応答信号S ACKを選択されたスレーブPLCから受けたかど
うかを判定するために、マスタPLC100によりテストが行
われる(ブロツク615)。マスタPLC100がS ACK信号を受
けないとすると、動作の流れはブロツク600へ戻り、そ
のブロツクにおいて切れ目コードが再び送られる。しか
し、マスタPLC100がS ACK信号を受けたとすると、流れ
はブロツク620へ進み、そこにおいてマスタPLCはメイル
ボツクスメツセージを選択されたスレーブPLCへ送る。
メイルボツクスメツセージは次のメツセージ長情報とメ
ツセージデータ情報を含むことを憶えているであろう。
判定ブロツク625においては、マスタPLC100は、付加デ
ータを選択されたスレーブPLCへ送ることを求められて
いるかどうかの判定を行う。すなわち、次のメツセージ
があるかどうかの判定が行われる。この判定結果が否定
であると、次のメツセージはない。この場合には流れは
終りブロツク630へ進む。しかし、その判定結果が肯定
であれば、流れはブロツク635へ進み、そのブロツクに
おいては次のメツセージが選択されたスレーブPLCへ送
られる。それから、次のメツセージが送られてから、選
択されたスレーブPLCへ送るべき付加データがまだある
かどうかの判定が判定ブロツク640で行われる。その判
定結果が肯定であれば、流れはブロツク635へ戻り、そ
こで更に別の次のメツセージが選択されたスレーブPLC
へ送られる。マスタPLC100から選択されたスレーブPLC
へ全てのデータが送られると、判定ブロツク640におけ
る判定結果は否定になつて、流れは終りブロツク645へ
進む。
第5図は本発明の方法の下における選択されたスレーブ
PLCの動作を示す流れ図である。第5図に示すように、
スレーブPLCはバス400をモニタする(ブロツク700)。
各スレーブPLCは切れ目コードが受けられたかどうかの
判定を行う(ブロツク705)。判定結果が否定であれ
ば、流れはブロツク700へ戻る。判定ブロツク705におけ
る判定結果が肯定であれば、待ち期間中にスレーブPLC
は情報を受ける用意をする(ブロツク710)。それか
ら、スレーブPLCはマスタPLC100によりバス700を介して
送られたアタツチメツセージを受ける(ブロツク71
5)。次に、アタツチメツセージ中のCPU IDコードが特
定のスレーブPLCのCPU IDコードに一致するかどうかの
判定が各スレーブPLCにより行われる(ブロツク720)。
このようにして、マスタPLC100がそのスレーブPLCを選
択しようとしているかどうかをスレーブPLCは判定でき
る。特定のスレーブPLCに対してアタツチメツセージ内
のCPUコードがその特定のスレーブPLCのCPUコードに一
致しないとすると、流れはブロツク700へ戻る。しか
し、判定結果が否定であれば、マスタPLC100が特定のス
レーブPLCを通信のために選択したことをそのスレーブP
LLは知り、それからそのスレーブPLCは確認応答信号S A
CKをバス400を介してマスタPLCへ送りかえす。次に、次
のメツセージ長情報とデータを含んでいるメイルボツク
スメツセージを、スレーブPLCはマスタPLC100から受け
る(ブロツク730)。ブロツク735において、マスタPLC1
00が次の付加メツセージを送るかどうかについて次のメ
ツセージ長情報が判定される(ブロツク735)。この判
定結果が否定であれば、流れはブロツク700へ戻つてス
レーブPLCはバス400をモニタする。また、その判定結果
が肯定であれば、選択されたスレーブPLCはそのような
次のメツセージを受ける(ブロツク740)。それから、
そのような次のメツセージ中のメツセージ長情報が判定
ブロツク745において調べられて、更に別の次のメツセ
ージがあるかどうかの判定が行われる。この判定結果が
否定であれば、流れはブロツク700へ戻り、そこにおい
て、選択されたスレーブPLCはバス400をモニタする。バ
ス400のモニタはハードウエアのみの機能であり、CPUに
よるオペレーシヨンは行われないことに注目することは
重要である。したがつて、CPUは他の処理機能を自由に
行う。しかし、判定ブロツク745における判定結果が肯
定であると、スレーブPLCはそのような次のメツセージ
をブロツク750で受ける。それから流れは判定ブロツク7
45へ戻り、更に次のメツセージがマスタPLC100により送
られるかどうかの判定が行われる。先に述べたように、
メイルボツクスメツセージと、その次のメツセージを選
択されたスレーブPLCへマスタPLC100が送る期間中は、
選択されていないスレーブPLCはコンピューテーシヨ
ン、データ収集およびその他の活動をほぼ自由に行うこ
とに再び注目されたい。
以上、共通直列バスへ結合されているプログラム可能な
複数の論理制御器の間で通信する方法について説明し
た。この方法により、マスタPLCが選択したあるスレー
ブPLCと通信している間は、別のスレーブPLCは処理を続
行できる。本発明の方法により、メツセージがマスタPL
CによりスレーブPLCへ送られる前に、あらゆるメツセー
ジの長さが、選択されたスレーブPLCと選択されていな
いスレーブPLCにより知られる。本発明の通信方法によ
り、マスタPLCからスレーブPLCへ送られたデータを、選
択されたスレーブPLC内のCPUにデータ転送という負荷を
かけないように、選択されたスレーブPLC内の直接メモ
リアクセス装置により取扱うことができる。
【図面の簡単な説明】
第1図はプログラム可能な複数の論理制御器を結合する
従来の装置のブロツク図、第2図は本発明の通信方法を
実施する、プログラム可能な複数の論理制御器を一緒に
結合する装置のブロツク図、第3図は本発明の通信方法
とプロトコルの時間軸表現図、第4図は本発明により採
用されているマスタPLCへ適用した本発明の方法を示す
流れ図、第5図は本発明により採用されたスレーブPL
C′sへ適用した本発明の方法を示す流れ図である。 100……マスタPLC、110,210,310……CPU、120,220,320
……直列ポート、130,230,330……DMA制御器、140,240,
340……メモリ、200,300……スレーブPLC。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】共通の通信バスへ結合されているプログラ
    ム可能な複数の論理制御器(PLC)間で通信する方法に
    おいて、 複数のPLCのうちの選択した1つからコード化された信
    号を送り、メッセージを送るべき別のPLCを識別する過
    程と、 前記別のPLCから確認応答信号が送られるまでメッセー
    ジの送信を遅らせる過程と、 確認応答信号を受けたときに、前記別のPLCへ次に送る
    べきメッセージの長さを識別する情報を含む、予め選択
    された長さのメイルボックスメッセージを送る過程と、 前記別のPLCから別の確認応答を受けるまで送信をさら
    に遅らせる過程と、 前記次に送るべきメッセージを前記別のPLCへ送る過程
    であって、そのメッセージにはその後に続くメッセージ
    の長さを識別する情報を含む過程と、 前記別のPLC内ではそのDMA制御器により、それぞれのメ
    ッセージに含まれているデータをそのPLCのメモリに直
    接転送する過程と を備えるプログラム可能な複数の論理制御器の間で通信
    する方法。
  2. 【請求項2】DMA制御器と、メモリと、中央処理装置(C
    PU)とをおのおの含み、かつおのおのの直列ポートが共
    通の通信バスへ結合され、更に、全てそのバスへ結合さ
    れているマイクロコンピュータをベースとする複数のス
    レーブ装置の内の選択した1つのスレーブ装置へプログ
    ラム可能な論理制御器(PLC)からデータを転送する方
    法において、 スレーブ装置に割り込むことができるようにする所定の
    切れ目キャラクタについて、スレーブ装置によりバスを
    モニタする過程と、 スレーブ装置に割り込むために切れ目キャラクタをPLC
    によりバスで送る過程と、 選択した1つのスレーブ装置をPLCによりアドレスする
    過程と、 データと、選択したスレーブ装置へ次ぎに送るべきメッ
    セージの長さを記述するメッセージ長さを記述するメッ
    セージ長情報とを含んでいる第1のメッセージをPLCに
    よりバスで送る過程と、 データと、選択したスレーブ装置へ次に送る別のメッセ
    ージの長さを記述するメッセージ長情報とを含むメッセ
    ージをPLCによりバスで送る過程と、 スレーブ装置へ送るべき全てのデータが送られるまで、
    その次のメッセージを送る前記過程を繰り返す過程と、 第1のメッセージ中のデータ及びその後の引き続くメッ
    セージ中のデータを、選択したスレーブ装置の直列ポー
    トからそのメモリへ、選択したスレーブ装置内のDMA制
    御器により直接転送する過程と、 を備えるデータをプログラムかのうな論理装置から、マ
    イクロコンピュータをベースとす流複数のスレーブ装置
    の内の選択された1つへ転送する方法。
JP2299997A 1989-11-07 1990-11-07 プログラム可能な複数の論理制御器の間で通信する方法 Expired - Lifetime JPH0758984B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US433,092 1989-11-07
US07/433,092 US5072374A (en) 1989-11-07 1989-11-07 Method for communicating among a plurality of programmable logic controllers each having a dma controller

Publications (2)

Publication Number Publication Date
JPH03175560A JPH03175560A (ja) 1991-07-30
JPH0758984B2 true JPH0758984B2 (ja) 1995-06-21

Family

ID=23718825

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2299997A Expired - Lifetime JPH0758984B2 (ja) 1989-11-07 1990-11-07 プログラム可能な複数の論理制御器の間で通信する方法

Country Status (6)

Country Link
US (1) US5072374A (ja)
EP (1) EP0427502B1 (ja)
JP (1) JPH0758984B2 (ja)
KR (1) KR930007048B1 (ja)
CA (1) CA2027334C (ja)
DE (1) DE69020306T2 (ja)

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5513095A (en) * 1989-08-16 1996-04-30 Siemens Aktiengesellschaft Flexible automation system for variable industrial processes
US5245704A (en) * 1990-03-22 1993-09-14 Square D Company System for sharing data between microprocessor based devices
JP2611483B2 (ja) * 1990-03-24 1997-05-21 トヨタ自動車株式会社 複数pcの並列制御装置
JP2903637B2 (ja) * 1990-05-25 1999-06-07 ソニー株式会社 デジタルビデオ信号発生器
SE468532B (sv) * 1990-06-17 1993-02-01 Kvaser Consultant Ab Anordning och foerfarande foer att i ett system styra ett organ
US5185708A (en) * 1990-06-18 1993-02-09 Ge Fanuc Automation North America, Inc. Method for collecting data by a manufacturing process manager from a plurality of programmable logic controllers
US5481456A (en) * 1990-09-04 1996-01-02 Fuji Jukogyo Kabushiki Kaisha Electronic control system having master/slave CPUs for a motor vehicle
US5222017A (en) * 1990-11-23 1993-06-22 The University Of British Columbia Control system to synchronize slave computers
FR2671884A1 (fr) * 1991-01-17 1992-07-24 Moulinex Sa Procede d'attribution d'adresses dans un reseau domotique.
US5249140A (en) * 1991-05-07 1993-09-28 Vickers, Incorporated Electrohydraulic distributed control system with identical master and slave controllers
US5251312A (en) * 1991-12-30 1993-10-05 Sun Microsystems, Inc. Method and apparatus for the prevention of race conditions during dynamic chaining operations
GB2268816B (en) * 1992-07-14 1996-01-17 Sony Broadcast & Communication Controlling equipment
US5329579A (en) * 1992-07-27 1994-07-12 At&T Bell Laboratories Modular adjunct processor made of identical multi-function modules adaptable under direction of one of them to perform any of the adjunct-processor functions
JP2820185B2 (ja) * 1993-01-21 1998-11-05 三菱電機株式会社 複数モータの制御方法および制御システム
JP3046171B2 (ja) 1993-03-26 2000-05-29 三菱電機株式会社 データロギング装置
JPH06314110A (ja) * 1993-04-28 1994-11-08 Fanuc Ltd 数値制御機能を実行するコンピュータシステム部分と他のコンピュータシステムとの結合方式
US5455914A (en) * 1993-07-23 1995-10-03 Unisys Corporation Tie-breaking control circuit for bus modules which share command execution
US6000825A (en) * 1994-08-11 1999-12-14 Fredriksson; Lars-Berno Method and arrangement for a module which can be connected to a serial and digital network system
US5802389A (en) * 1994-12-29 1998-09-01 Siemens Energy & Automation, Inc. Expansion module address method and apparatus for a programmable logic controller
US5602745A (en) * 1995-01-18 1997-02-11 Gilbarco Inc. Fuel dispenser electronics design
US5878216A (en) * 1995-05-01 1999-03-02 Intergraph Corporation System and method for controlling a slave processor
JP3419158B2 (ja) * 1995-07-20 2003-06-23 三菱電機株式会社 数値制御駆動装置のデータ処理方法
US5764155A (en) * 1996-04-03 1998-06-09 General Electric Company Dynamic data exchange server
US5978593A (en) * 1996-09-05 1999-11-02 Ge Fanuc Automation North America, Inc. Programmable logic controller computer system with micro field processor and programmable bus interface unit
US5928345A (en) * 1996-09-30 1999-07-27 Rosemont Inc. Field instrument with data bus communications protocol
KR100202706B1 (ko) * 1996-10-05 1999-06-15 이종수 피엘씨 리모트 시스템의 기동시간 동기화 및 비상상태 출력 제어방법
US6574234B1 (en) * 1997-09-05 2003-06-03 Amx Corporation Method and apparatus for controlling network devices
JP3340358B2 (ja) 1997-09-08 2002-11-05 株式会社東芝 プログラマブルコントローラ
US6169928B1 (en) * 1998-06-30 2001-01-02 Ge Fanuc Automation North America, Inc. Apparatus and method for sharing data among a plurality of control devices on a communications network
DE19846913A1 (de) * 1998-10-12 2000-04-20 Oce Printing Systems Gmbh Elektronische Steuereinrichtung mit einem parallelen Datenbus und Verfahren zum Betreiben der Steuereinrichtung
US7213061B1 (en) 1999-04-29 2007-05-01 Amx Llc Internet control system and method
US6657646B2 (en) 1999-06-08 2003-12-02 Amx Corporation System and method for multimedia display
EP1102173A3 (en) * 1999-11-22 2005-01-19 Texas Instruments Incorporated Universal serial bus architecture
US6964045B1 (en) * 1999-12-16 2005-11-08 Grimes James E Multiple program storage within a programmable logic controller system
US6792513B2 (en) * 1999-12-29 2004-09-14 The Johns Hopkins University System, method, and computer program product for high speed backplane messaging
FR2830955A1 (fr) * 2001-10-15 2003-04-18 St Microelectronics Sa Recepteur asynchrone de type uart a deux modes de fonctionnement
US6973508B2 (en) * 2002-02-12 2005-12-06 Fisher-Rosemount Systems, Inc. Highly versatile process control system controller
JP2003337793A (ja) * 2002-03-15 2003-11-28 Omron Corp ネットワークシステム及びネットワークシステムの通信方法
US7016942B1 (en) * 2002-08-05 2006-03-21 Gary Odom Dynamic hosting
US7224366B2 (en) 2002-10-17 2007-05-29 Amx, Llc Method and system for control system software
US7904488B2 (en) 2004-07-21 2011-03-08 Rockwell Automation Technologies, Inc. Time stamp methods for unified plant model
TWI243317B (en) * 2004-08-20 2005-11-11 Delta Electronics Inc Method of data copy in programmable logic controller
US8756521B1 (en) 2004-09-30 2014-06-17 Rockwell Automation Technologies, Inc. Systems and methods for automatic visualization configuration
US7130196B2 (en) * 2005-01-19 2006-10-31 General Electric Company Apparatus and method for transferring heat from control devices
US7809683B2 (en) 2005-05-13 2010-10-05 Rockwell Automation Technologies, Inc. Library that includes modifiable industrial automation objects
US7672737B2 (en) 2005-05-13 2010-03-02 Rockwell Automation Technologies, Inc. Hierarchically structured data model for utilization in industrial automation environments
US7650405B2 (en) 2005-05-13 2010-01-19 Rockwell Automation Technologies, Inc. Tracking and tracing across process boundaries in an industrial automation environment
US8799800B2 (en) 2005-05-13 2014-08-05 Rockwell Automation Technologies, Inc. Automatic user interface generation
US7676281B2 (en) 2005-05-13 2010-03-09 Rockwell Automation Technologies, Inc. Distributed database in an industrial automation environment
DE102005027666B3 (de) * 2005-06-15 2006-12-28 Siemens Ag Automatisierungssystem und Datenbussystem mit einer Mastereinheit, mit einer ersten Slaveeinheit und mit zumindest einer weiteren Slaveeeinheit
WO2007030421A2 (en) 2005-09-07 2007-03-15 Amx Llc Method and computer program for device configuration
US7881812B2 (en) 2005-09-29 2011-02-01 Rockwell Automation Technologies, Inc. Editing and configuring device
US7548789B2 (en) 2005-09-29 2009-06-16 Rockwell Automation Technologies, Inc. Editing lifecycle and deployment of objects in an industrial automation environment
US7801628B2 (en) 2005-09-30 2010-09-21 Rockwell Automation Technologies, Inc. Industrial operator interfaces interacting with higher-level business workflow
US7734590B2 (en) 2005-09-30 2010-06-08 Rockwell Automation Technologies, Inc. Incremental association of metadata to production data
US8275680B2 (en) 2005-09-30 2012-09-25 Rockwell Automation Technologies, Inc. Enabling transactional mechanisms in an automated controller system
US7526794B2 (en) 2005-09-30 2009-04-28 Rockwell Automation Technologies, Inc. Data perspectives in controller system and production management systems
US8484250B2 (en) 2005-09-30 2013-07-09 Rockwell Automation Technologies, Inc. Data federation with industrial control systems
US7660638B2 (en) 2005-09-30 2010-02-09 Rockwell Automation Technologies, Inc. Business process execution engine
JP2009531759A (ja) * 2006-03-30 2009-09-03 シーメンス アクチエンゲゼルシヤフト 少なくとも1つのオートメーションユニットを包含する制御通信システム
KR100783758B1 (ko) 2006-04-17 2007-12-07 엘에스산전 주식회사 증설 모듈의 통신 방법
CN100559313C (zh) * 2006-07-27 2009-11-11 株式会社东芝 信息处理器系统的管理方法
TWI353145B (en) * 2007-12-26 2011-11-21 Ralink Technology Corp Method for receiving data with sdio interface and
US20090312886A1 (en) * 2008-06-17 2009-12-17 Yokogawa Electric Corporation Temperature controller system
US8484401B2 (en) 2010-04-15 2013-07-09 Rockwell Automation Technologies, Inc. Systems and methods for conducting communications among components of multidomain industrial automation system
US8984533B2 (en) 2010-04-15 2015-03-17 Rockwell Automation Technologies, Inc. Systems and methods for conducting communications among components of multidomain industrial automation system
US9392072B2 (en) 2010-04-15 2016-07-12 Rockwell Automation Technologies, Inc. Systems and methods for conducting communications among components of multidomain industrial automation system
US9043634B2 (en) 2011-04-29 2015-05-26 Qualcomm Incorporated Methods, systems, apparatuses, and computer-readable media for waking a SLIMbus without toggle signal
US9065674B2 (en) * 2011-04-29 2015-06-23 Qualcomm Incorporated Multiple slimbus controllers for slimbus components
KR101446882B1 (ko) * 2013-10-29 2014-10-06 엘에스산전 주식회사 Plc 통신모듈에서 메시지 처리방법
KR101590272B1 (ko) 2014-12-31 2016-01-29 엘에스산전 주식회사 Plc 시스템의 메시지 처리장치
CN110659240A (zh) * 2019-08-09 2020-01-07 珠海泰芯半导体有限公司 一种串口通信方法、装置、存储介质及电子设备
EP3882771B1 (en) * 2020-03-16 2024-09-11 Leica Microsystems CMS GmbH Control system and method for operating a system

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4038533A (en) * 1976-09-29 1977-07-26 Allen-Bradley Company Industrial control processor system
US4228495A (en) * 1978-12-19 1980-10-14 Allen-Bradley Company Multiprocessor numerical control system
FR2466917A2 (fr) * 1979-09-27 1981-04-10 Telediffusion Fse Systeme de diffusion de donnees
SE430288B (sv) * 1982-02-24 1983-10-31 Ellemtel Utvecklings Ab Telekommunikationssystem for overforing av datainformation medelst en digital vexel
US4621330A (en) * 1984-02-28 1986-11-04 Westinghouse Electric Corp. Programming system for programmable time registering electric energy meters
JPS61161506A (ja) * 1985-01-11 1986-07-22 Toshiba Mach Co Ltd プログラマブルコントロ−ラのリンク方式
US4926375A (en) * 1987-05-05 1990-05-15 Ge Fanuc Automation North America, Inc. Multiple nodes broadcast communication method with receiver identification by bit position in transferred massage
US4937777A (en) * 1987-10-07 1990-06-26 Allen-Bradley Company, Inc. Programmable controller with multiple task processors
US4992926A (en) * 1988-04-11 1991-02-12 Square D Company Peer-to-peer register exchange controller for industrial programmable controllers
JPH0275002A (ja) * 1988-09-10 1990-03-14 Fujitsu Ltd ディジタル制御装置
US4894826A (en) * 1989-01-30 1990-01-16 Honeywell, Inc. Message generating communication apparatus having a message preamble format allowing parts of certain messages to be ignored
US4982185A (en) * 1989-05-17 1991-01-01 Blh Electronics, Inc. System for synchronous measurement in a digital computer network

Also Published As

Publication number Publication date
KR910010331A (ko) 1991-06-29
DE69020306D1 (de) 1995-07-27
CA2027334A1 (en) 1991-05-08
CA2027334C (en) 2000-06-20
EP0427502A3 (en) 1991-08-28
EP0427502A2 (en) 1991-05-15
US5072374A (en) 1991-12-10
JPH03175560A (ja) 1991-07-30
DE69020306T2 (de) 1996-03-14
KR930007048B1 (ko) 1993-07-26
EP0427502B1 (en) 1995-06-21

Similar Documents

Publication Publication Date Title
JPH0758984B2 (ja) プログラム可能な複数の論理制御器の間で通信する方法
US5175732A (en) Method and apparatus for controlling data communication operations within stations of a local-area network
EP0217184B1 (en) Method for communicating with remote units of a distributive data processing system
US4675864A (en) Serial bus system
JP2001516286A (ja) 制御システム用の入出力サブシステム
CN103914007B (zh) 用于程序重调的方法和系统
JPH0252281B2 (ja)
EP1476986B1 (en) Information communication controller interface apparatus and method
JP2000049886A (ja) メッセージ分割通信方法及び通信システム
JP3137197B2 (ja) マルチプロセッサシステム
JP2671812B2 (ja) データ通信方式
JPS6236940A (ja) 自動車内デ−タ通信装置
JPH05260563A (ja) 集中自動検針装置
JPS6198050A (ja) 受信デ−タ転送方式
JPH0438618Y2 (ja)
CA1196978A (en) Asynchronous interface
JPH0576821B2 (ja)
JPS5948584B2 (ja) デ−タ・フレ−ム送受信制御方式
JP2021061554A (ja) データ変換装置
JPH0528548B2 (ja)
JPH0993274A (ja) シリアル伝送装置
JPH0153533B2 (ja)
JPH04834A (ja) 通信制御装置
JPH06214620A (ja) 入出力データ交換方式
JPS6236941A (ja) 自動車内デ−タ通信装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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: 20080621

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20090621

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20090621

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20100621

Year of fee payment: 15

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

Free format text: PAYMENT UNTIL: 20100621

Year of fee payment: 15

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

Free format text: PAYMENT UNTIL: 20110621

Year of fee payment: 16

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110621

Year of fee payment: 16