JPH06214620A - 入出力データ交換方式 - Google Patents

入出力データ交換方式

Info

Publication number
JPH06214620A
JPH06214620A JP648193A JP648193A JPH06214620A JP H06214620 A JPH06214620 A JP H06214620A JP 648193 A JP648193 A JP 648193A JP 648193 A JP648193 A JP 648193A JP H06214620 A JPH06214620 A JP H06214620A
Authority
JP
Japan
Prior art keywords
data
input
transmission
output data
buffer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP648193A
Other languages
English (en)
Other versions
JP3265026B2 (ja
Inventor
Norio Hayashi
則夫 林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuji Electric Co Ltd
Fuji Facom Corp
Original Assignee
Fuji Electric Co Ltd
Fuji Facom Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Electric Co Ltd, Fuji Facom Corp filed Critical Fuji Electric Co Ltd
Priority to JP00648193A priority Critical patent/JP3265026B2/ja
Publication of JPH06214620A publication Critical patent/JPH06214620A/ja
Application granted granted Critical
Publication of JP3265026B2 publication Critical patent/JP3265026B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Programmable Controllers (AREA)

Abstract

(57)【要約】 (修正有) 【目的】OSが資源を有効に活用でき且つ決められた伝
送最大データ数に制約されることなくデータの入出力が
できる入出力データ交換方式を実現する。 【構成】OS105は、出力データをI/Oメモリ10
2からI/Oイメージ領域103−Cへ転送する。フラ
グ106がオフなら送信バッファ103−Sの更新を行
わず、オンなら更新する。転送ポインタ107は今回読
み出す受信バッファアの先頭アドレス、書込ポインタ1
08は今回書き込む受信バッファの先頭アドレス、編集
ポインタ109は異常時にデータ編集する受信バッファ
の先頭アドレスをそれぞれ格納する。データ交換テーブ
ル110はI/O装置番号に対応するデータ用相対アド
レスを格納する。入出力データは、選択された先頭アド
レスに相対アドレスを加算したアドレスで入出力され
る。今回の伝送結果部が全て正常であれば、転送ポイン
タ107と書込ポインタ108の先頭アドレスを交換す
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、中央制御部とI/O部
がシリアル伝送バスで接続されて構成されるプログラマ
ブルコントローラにおいて、シリアル伝送インタフェー
ス回路が一度に送出でき得る最大データ数を越える容量
を有するI/O装置と、中央制御部との入出力データ交
換方法に関する。
【0002】
【従来の技術】一般に、プログラマブルコントローラ
(以下、PCと称する)の構成は、図5に示すように、
演算および制御を行う中央制御部501と、その中央制
御部501の演算結果および制御に基づいて、複数の被
制御装置に対して入出力データを入出力するI/O部5
20とに分かれている。これらI/O部520と中央制
御部501とは、シリアル伝送バス510を介して接続
されている。
【0003】上記中央制御部501は、ユーザプログラ
ムにより動作する演算部504、その演算部504とI
/O部520間で入出力されるデータを記憶するI/O
メモリ502、そのI/Oメモリ502が入出力するデ
ータを一時的に蓄えるI/Oバッファ503、及びその
I/Oバッファ503をシリアル伝送バス510を介し
てI/O部520に接続するためのシリアル伝送インタ
フェース回路540からなっている。
【0004】そして、I/O部520は、複数の被制御
装置に対して入出力データを入出力するI/O装置(イ
ンタフェース)520−1、520−2、・・・520
−nからなる。それらのI/O装置520−i(i=
1、2・・・n、以下同様)はそれぞれ局番設定器53
0−iを備え、これら局番設定器530−iには各I/
O装置に付与される装置番号が設定される。さらに、I
/O装置520−iは、それぞれシリアル伝送インタフ
ェース回路540−iを備えている。
【0005】上記中央制御部501のシリアル伝送バス
インタフェース540とI/O部520のシリアル伝送
バスインタフェース540−1、540−2・・・54
0−nとは、シリアル伝送バス510を介して接続され
ている。
【0006】上記中央制御部501は、シリアル伝送バ
ス510、およびシリアル伝送インタフェース回路54
0を介してI/O部520の各I/O装置520−iか
ら入力するデータを、I/Oバッファ503およびI/
Oメモリ502を介して演算部504に入力し、その入
力データを用いて演算をなし、その演算結果をI/Oメ
モリ502、I/Oバッファ503、シリアル伝送イン
タフェース回路540、およびシリアル伝送バス510
を介してI/O部520のI/O装置520−iに出力
することにより、それらのI/O装置520−iに接続
される被制御装置を制御するようになっている。
【0007】ところで、I/O装置520−iは、様々
な被制御装置に運用できるように多種用意されており、
またI/O装置520−iの入出力データ容量は、それ
ぞれあらかじめ決められている。そこで、中央制御部5
01はI/O装置520−iの持つ入出力データ容量を
知るため、I/O装置520−iに対して入出力データ
容量を問い合わせ、その後、I/O装置520−iの持
つ容量に合わせて固定長の入出力データ伝送を行うよう
になっている。
【0008】図6は、I/Oバッファ503の入出力デ
ータとシリアル伝送バス510上の伝送データの概念を
示す模式的図である。同図に示す例では、局番設定器5
30−1には装置番号“X”、局番設定器530−2に
は装置番号“Y”、局番設定器530−nには装置番号
“Z”が設定されている。
【0009】また、I/Oバッファ503は、I/Oメ
モリ502と送信バッファ503−S及び受信バッファ
503−Rとを仲介するI/Oイメージ領域503−
C、出力データをI/O装置520−iへ送出するため
の送信バッファ503−S、及びI/O装置520−i
から送出される入力データが格納される受信バッファ5
03−Rの3つの部分で構成されている。
【0010】上記の送信バッファ503−Sは、各I/
O装置520−iにそれぞれ対応する領域を有してお
り、これらの各領域は、コマンド部、送信データ数部、
装置番号部、出力データ部で構成される。各領域の装置
番号部には、I/O装置520−iに対応して、それぞ
れ装置番号「X」,「Y」・・・「Z」が格納されてい
る。
【0011】一方、受信バッファ503−Rも、各I/
O装置520−iにそれぞれ対応する領域を有してお
り、これらの各領域は、伝送結果部、受信データ数部、
装置番号部、入力データ部で構成される。これら各領域
の装置番号部の装置番号部にも、I/O装置520−i
に対応して、それぞれ装置番号「X」,「Y」・・・
「Z」が格納されている。
【0012】中央制御部501のオペレーティングシス
テム(以下、OSと称する)505がシリアル伝送イン
タフェース回路540に伝送指令を行うと、シリアル伝
送インタフェース回路540は、送信バッファ503−
Sのコマンド部が「実行」であるとシリアル伝送を実行
し、送信バッファ503−Sのコマンド部が「停止」と
なるまで連続して伝送を行い、上記「停止」をフェッチ
することにより、OS505へ伝送の終了を通知するよ
うになっている。
【0013】さらに説明すると、シリアル伝送インタフ
ェース回路540は、伝送バッファ503−Sの先頭ア
ドレスのコマンド部が「実行」であると、次のアドレス
に示される送信データ数部のデータ数分、その次のアド
レスから格納されている送信データ(装置番号と出力デ
ータ)を、シリアル伝送バス510上へ伝送データの集
合(以下、伝送フレームと称する)として送出する。
【0014】即ち、先ず、送信バッファ503−Sの最
初の送出データ(装置番号「X」と出力データ)を、伝
送フレーム601−1としてI/O装置520−1に伝
送する。I/O装置520−1は、伝送フレーム601
−1を受信すると、直ちに中央制御部501への送出デ
ータ(装置番号「X」と入力データ)の伝送フレーム6
11−1を送出する。この伝送データ交換方式は、一般
にポーリング・セフティング方式として知られている。
【0015】シリアル伝送インタフェース回路540
は、I/O装置520−1が送出した伝送フレーム61
1−1を受信すると、受信バッファ503−Rの対応す
る領域へ受信データを書き込むと共に、受信データ数と
伝送結果とを所定の場所へ格納する。
【0016】次に、シリアル伝送インタフェース回路5
40は、送信バッファ503−Sの次のコマンド部をフ
ェッチし、これに基づいて、伝送フレーム601−2
(装置番号「Y」と出力データ)をI/O装置520−
2に伝送し、I/O装置520−2は、直ちに送出デー
タ(装置番号「Y」と入力データ)の伝送フレーム61
1−2を送出し、シリアル伝送インタフェース回路54
0は、伝送フレーム611−2を受信すると、受信バッ
ファ503−Rの対応する所定の領域へ受信データと受
信データ数と伝送結果とを格納する。
【0017】これらの処理は、順次I/O装置520−
nまで同様に実行される。こうして、コマンド部が「停
止」となるまで伝送を繰り返す。OS505は、シリア
ル伝送インタフェース回路540に伝送指令を行ってか
ら、伝送の終了が通知されるまで、シリアル伝送情報処
理装置に一切関与しない。また、シリアル伝送インタフ
ェース回路540および540−iは、一度に送出し得
る最大データ数があらかじめ決められている。
【0018】OS505が、シリアル伝送インタフェー
ス回路540に伝送指令を行うタイミングと、演算部5
04が演算を行うタイミングは、それぞれ非同期であ
る。したがって、演算部504が演算時に使用する入力
データの入力タイミング、及びその演算結果の出力デー
タをI/O装置520−iへ伝送する出力タイミングに
は、いずれもシリアル伝送インタフェース回路540と
同期をとることが要求される。
【0019】このため、OS505は、演算部504の
演算に同期して、シリアル伝送インタフェース回路54
0に出力データの伝送指令を行う直前に、その出力デー
タをI/Oイメージ領域503−Cから送信バッファ5
03−Sに転送し、また、伝送終了時には、受信バッフ
ァ503−Rの入力データをI/Oイメージ領域503
−Cへ転送している。
【0020】また、上記I/Oイメージ領域503−C
の入出力データはI/Oメモリ502とで交換される。
OS505が、送信バッファ503−Sおよび受信バッ
ファ503−RのデータをI/Oイメージ領域503−
C間で転送しているときは、I/Oメモリ502とI/
Oイメージ領域503−Cのデータ交換は行わない。こ
のようにして、入出力データの同期を保証するようにし
ている。
【0021】また、従来、このような、入出力データ交
換方式においては、シリアル伝送インタフェース回路5
40および540−iが一度に送出できる最大データ数
が予め決っていた。
【0022】
【発明が解決しようとする課題】しかしながら、上述し
た従来の入出力データ交換方式では、演算部504のP
C内におけるユーザプログラムによる演算周期、すなわ
ちOS505がI/Oメモリ502とI/Oイメージ領
域503−C間で入出力データ交換を行う周期が、シリ
アル伝送の周期よりも大きくなった場合でも、OS50
5はシリアル伝送開始毎にI/Oイメージ領域503−
Cの出力データを送信バッファ503−Sへ転送し、伝
送終了毎に、受信バッファ503−Rから入力データを
I/Oイメージ領域503−Cへ転送するということを
行って、無駄なデータ転送処理が行われることになるた
めOS505のオーバヘッドとなる問題があった。
【0023】また、シリアル伝送インタフェース回路5
40および540−iが一度に送出できる最大データ数
が決っているため、この最大データ数を越える入出力デ
ータ容量を持ったI/O装置を設計することができず、
設計システムの規模に制約をうけるという問題もあっ
た。
【0024】本発明の課題は、OSが資源を有効に活用
でき、且つ決められた伝送最大データ数に制約されるこ
となくデータの入出力ができる入出力データ交換方式を
実現することである。
【0025】
【課題を解決するための手段】本発明は、入出力データ
を演算する中央制御部とそれぞれ装置番号を有する複数
のI/O部とをシリアル伝送バスにより接続して構成さ
れるプログラマブルコントローラの入出力データ交換方
式を前提とする。
【0026】本発明の入出力データ交換方式は、演算さ
れる入出力データを格納するI/Oメモリと、このI/
Oメモリと複数のI/O部間における入出力データの伝
送をシリアル伝送バスを介して仲介するシリアル伝送イ
ンタフェース回路と、このシリアル伝送インタフェース
回路とI/Oメモリ間に接続され、シリアル伝送インタ
フェース回路を介してI/Oメモリと複数のI/O部間
において行われる入出力データの伝送結果が全て正常で
あるか否かを示す総括伝送結果及び複数のI/O部から
の入力データを格納する3個の受信バッファと、複数の
I/O部からの入力データをI/Oメモリにより読み出
される受信バッファの先頭アドレスを示す第1のポイン
タと、複数のI/O部からの入力データをシリアル伝送
インタフェース回路により書き込まれる受信バッファの
先頭アドレスを示す第2のポインタと、総括伝送結果が
異常であったとき複数のI/O部の入力データを編集す
る受信バッファの先頭アドレスを示す第3のポインタ
と、複数のI/O部に対応する受信バッファの相対アド
レス及びI/Oメモリの相対アドレス並びに入出力デー
タ容量を記憶するI/Oデータ交換テーブルと、シリア
ル伝送インタフェース回路に接続され、I/Oメモリの
出力データをシリアル伝送インタフェース回路に出力す
る送信バッファと、送信バッファにより出力されるべき
出力データを一時的に格納する出力イメージ領域と、出
力イメージ領域に格納された出力データが送信バッファ
へ出力されたか否かを示すフラグ領域とを備える。
【0027】
【作用】本発明の入出力データ交換方式では、シリアル
伝送インタフェース回路は、演算される入出力データを
格納するI/Oメモリと複数のI/O部間における入出
力データの伝送をシリアル伝送バスを介して仲介する。
3個の受信バッファは、上記入出力データの伝送結果が
全て正常であるか否かを示す総括伝送結果及び複数のI
/O部からの入力データを格納する。
【0028】第1のポインタは、入力データを読み出さ
れる受信バッファの先頭アドレスを示し、第2のポイン
タは、入力データを書き込まれる受信バッファの先頭ア
ドレスを示し、第3のポインタは、上記の総括伝送結果
が異常であったとき複数のI/O部の入力データを編集
する受信バッファの先頭アドレスを示す。
【0029】I/Oデータ交換テーブルは、複数のI/
O部に対応する受信バッファの相対アドレス及びI/O
メモリの相対アドレス並びに入出力データ容量を記憶す
る。送信バッファは、I/Oメモリの出力データをシリ
アル伝送インタフェース回路に出力し、出力イメージ領
域は、送信バッファにより出力されるべき出力データを
一時的に格納し、フラグ領域は、出力イメージ領域に格
納された出力データが送信バッファへ出力されたか否か
を示す。
【0030】また、上記の入出力データ交換方式は、例
えば、シリアル伝送インタフェース回路が一度に送出し
得る最大データ数を越える容量を有する複数のI/O部
の入出力データに対して、伝送データの伝送順序を示す
シーケンシャル番号及び伝送データの分割順序を示すペ
ージ番号のデータを付与し、且つそれらシーケンシャル
番号及びページ番号のデータを格納する3個の受信バッ
ファの相対アドレステーブルを備え、それらのページ順
に、上記シリアル伝送インタフェース回路により仲介さ
れる送信バッファからの出力データの伝送及び複数のI
/O部からの入力データの伝送を交互に行う。
【0031】
【実施例】以下、図面を参照しながら、本発明の実施例
について説明する。図1は、本発明の実施例に係わる中
央制御部の全体構成を示すブロック図である。同図にお
いて、中央制御部は、不図示のシリアル伝送インタフェ
ース回路140及びシリアル伝送バス110を介して、
これも不図示の複数の被制御装置に対して入出力データ
を入出力するI/O部120と接続している。
【0032】上記I/O部120は、従来のI/O部と
同様に(図5参照)、複数の被制御装置に対して入出力
データを入出力するI/O装置120−i(i=1、2
・・・n、以下同様)からなり、それらI/O装置12
0−iは局番設定器130−i及びシリアル伝送インタ
フェース回路140−iをそれぞれ備え、それらの局番
設定器130−iには、各I/O装置120−iに付与
される装置番号が設定される。
【0033】図1に示す中央制御部は、先ず、ユーザプ
ログラムにより動作する演算部104、その演算部10
4とI/O部120間で入出力されるデータを記憶する
I/Oメモリ102、そのI/Oメモリ102が記憶す
る送信データを一時的に記憶するI/Oイメージ領域1
03−C、そのI/Oイメージ領域103−Cの送信デ
ータをシリアル伝送インタフェース回路140に出力す
る送信バッファ103−S、上記I/Oメモリ102と
I/Oイメージ領域103−C間の出力データの転送条
件を記憶するフラグ領域106を備える。
【0034】次に、中央制御部は、上記シリアル伝送イ
ンタフェース回路140を介して複数のI/O装置12
0−iから入力する受信データを格納する3個の受信バ
ッファ103−R−X、103−R−Y及び103−R
−Z、I/O装置120−iから受信した入力データを
I/Oメモリ102へ転送する受信バッファ103−R
−X(103−R−X、103−R−Y又は103−R
−Z)の先頭アドレスを記憶する転送ポインタ領域10
7、I/O装置120−iから受信したデータが書き込
まれる受信バッファ103−Rの先頭アドレスを記憶す
る書込ポインタ領域108、並びに受信データ異常時の
入力データが編集される受信バッファ103−Rの先頭
アドレスを記憶する編集ポインタ領域109を備えてい
る。
【0035】また、さらに中央制御部は、I/O装置1
20−iの送受信データの伝送順位(装置番号)にそれ
ぞれ対応する受信バッファ103−R−X、103−R
−Y及び103−R−Zの相対アドレスとI/Oメモリ
102の相対アドレス及び各I/O装置120−iの入
出力データ容量を記憶するI/Oデータ交換テーブル1
10を備えている。
【0036】そして、中央制御部の演算部104は、I
/Oメモリ102に入力される入力データを用いて演算
をなし、その演算結果を、I/Oメモリ102、I/O
イメージ領域103−C、送信バッファ103−S、シ
リアル伝送インタフェース回路140、およびシリアル
伝送バス110を介して、I/O部120のI/O装置
120−iに出力することにより、それらのI/O装置
120−iに接続される被制御装置を制御する。
【0037】次に、図2に、上記送信バッファ103−
Sの出力データの構成及び受信バッファ103−Rの入
力データの構成を示す。同図に示すように、送信バッフ
ァ103−S及び受信バッファ103−Rには、装置番
号「j」、「k」、「m」の順に、I/O装置120−
iの入出力データが格納されている。
【0038】本例では、装置番号「k」のI/O装置1
20−iのデータ容量がシリアル伝送インタフェース回
路140の一度に送出し得る最大データ数を越えてい
る。なお、この例では、シリアル伝送インタフェース回
路140が一度に送出し得る最大データ数を255バイ
トとする。そして、装置番号「k」のI/O装置120
−iのデータ容量は、出力データ量が500バイト、入
力データ量が400バイトとする。また、この場合の出
力データ及び入力データの分割基準を220バイトとす
る。
【0039】また、他の装置番号「j」及び「m」のI
/O装置120−i等のデータ容量は上記シリアル伝送
インタフェース回路140が一度に送出し得る最大デー
タ数の255バイトより少ないものとする。したがっ
て、これらのI/O装置120−iに対応する送受信バ
ッファ内における入出力データの構成は図6に示した通
常の送受信バッファにおける入出力データの構成と同様
である。
【0040】以下、送信バッファ103−S及び受信バ
ッファ103−R内における装置番号「k」に対応する
入出力データの構成について説明する。図2に示すよう
に、OS105によって作成される送信バッファ103
−Sにおける装置番号「k」への出力データS1、S2
及びS3は、装置番号部と出力データ部間に、シーケン
シャル番号部とページ番号部が挿入されて構成される。
シーケンシャル番号部には、伝送順位を示す値、すなわ
ち、OS105によるシリアル伝送インタフェース回路
140への伝送司令毎に「1」インクリメントされた値
が書き込まれる。また、ページ番号部には、ページ番号
及び総ページ数が書き込まれる。
【0041】図3に、上記ページ番号部の構成を示す。
同図に示すように、ページ番号部30は、1バイト(8
ビット)から成り、上位桁4ビットがベージ番号、下位
桁4ビットが総ページ数を表す。
【0042】総ページ数には、出力データと入力データ
のいずれか容量の大きい方のバイト数を220バイトで
割って得られる商、又は余りがある場合は商に「1」加
算した値が書き込まれる。本例においては、出力データ
(500バイト)の方が入力データ(400バイト)よ
りも大きいので、出力データバイト数÷220バイト、
すなわち500バイト÷220バイトの商「2」に、剰
余があるため「1」加算して得られる「3」が総ページ
数として書き込まれる。ページ番号には、端数を含む2
20バイト毎の区切り順位「1」、「2」、「3」が書
き込まれる。図2に示すページ番号部には、ページ番号
と総ページ数が「1/3」、「2/3」、「3/3」で
表されている。
【0043】そして、同図に示すように、受信バッファ
103−Rにおける装置番号「k」からの入力データR
1、R2及びR3も、同様に装置番号部と出力データ部
間に、シーケンシャル番号部とページ番号部が挿入され
て構成される。本例では、入力データは、400バイト
であるため、2ページ目で入力データが終了しており、
最終ページである「3/3」ページの入力データの構成
には入力データ部は存在しない。
【0044】次に、上記構成の中央制御部による制御の
動作を再び図1を用いて説明する。同図において、OS
105は、演算部104の演算周期に同期して、I/O
装置120−iへ送出する出力データをI/Oメモリ1
02からI/Oイメージ領域103−Cへ転送する。こ
のとき、OS105は、I/Oデータ交換テーブル11
0に格納されている出力データ用相対アドレスを読み出
し、その読み出した相対アドレスを、I/Oメモリ10
2の読み出し先頭アドレスに加算してI/Oメモリ10
2の出力データのアドレスを算出する。
【0045】また、OS105は、一定周期で、シリア
ル伝送インタフェース回路140へ伝送司令を行ってい
る。そして、この伝送司令を行う直前に、OS105
は、送信バッファ103−Sに出力する出力データの作
成準備を開始する。
【0046】このとき、I/Oメモリ102からI/O
イメージ領域103−Cへ出力データを転送したことを
示すフラグ領域106がオフ(「0」)になっている場
合は、送信バッファ103−Sの更新を行わないまま、
シリアル伝送インタフェース回路140へ伝送司令を行
う。したがって、シリアル伝送インタフェース回路14
0は、前回の周期ですでに作成されている送信バッファ
103−Sの内容を、シリアル伝送バス110を介して
I/O部120のI/O装置120−iに送出する。
【0047】一方、上記フラグ領域106がオン
(「1」)になっている場合には、I/Oイメージ領域
103−Cのデータを送信バッファ103−Sの出力デ
ータ領域へ転送してから、シリアル伝送インタフェース
回路140へ伝送司令を行う。したがって、この場合
は、シリアル伝送インタフェース回路140は、送信バ
ッファ103−Sの更新された新規の出力データを送出
する。
【0048】上記OS105は、一方では、上述した出
力データの送出を行い、他方では、前回の処理周期(以
下、単に前回周期の称する)でI/O装置120−iか
ら伝送されてすでに受信バッファ103−R−Xに格納
されている入力データをI/Oメモリ102へ転送す
る。
【0049】このとき、OS105は、転送ポインタ領
域107に格納されている受信バッファの先頭アドレス
(例えば「X」)と、I/Oデータ交換テーブル110
に格納されている入力データ用相対アドレス(例えば
「i」)をそれぞれを読み出し、それら読み出した先頭
アドレス「X」に相対アドレス「i」を加算して、I/
Oメモリ102へ転送すべき入力データを格納している
受信バッファア103−R−Xのアドレス「X+i」を
算出する。
【0050】また、OS105は、今回の周期でI/O
装置120−iから伝送されてくる入力データを、受信
バッファ103−R−Yに格納する。このとき、OS1
05は、書込ポインタ領域108に格納されている受信
バッファの先頭アドレス(例えば「Y」)と、I/Oデ
ータ交換テーブル110に格納されている入力データ用
相対アドレス「i」をそれぞれを読み出し、それら読み
出した先頭アドレス「Y」に相対アドレス「i」を加算
して、入力データを書き込むべき受信バッファア103
−R−Yのアドレス「Y+i」を算出する。
【0051】このように、一方では、前回周期の入力デ
ータをI/Oメモリ102に格納し、他方では今回周期
の出力データを送出すると共に今回周期の入力データを
受信する。
【0052】そして、OS105は、シリアル伝送イン
タフェース回路140から伝送完了を通知されると、今
回周期の伝送状態をチェックする。そして、図2に示す
受信バッファ103−R内の統括伝送結果部が正常であ
れば、さらにデータ容量の大きな装置番号「k」の入力
データをチェックする。このチェック処理は、受信バッ
ファ103−R内の装置番号部の装置番号「k」に基づ
いて、I/Oデータ交換テーブル110内のシーケンシ
ャル番号部相対アドレスにより、装置番号「k」の出力
データと入力データを対応させ、受信バッファ103−
Rの入力データの各ページR1、R2及びR3のシーケ
ンシャル番号が送信時の出力データのページS1、S2
及びS3のシーケンシャル番号とそれぞれ同一であるか
否か、及び各ページS1、S2及びS3のページ番号部
がページ順に書き込まれているか否かを判別する処理で
ある。
【0053】そのチェック結果に異常が無ければ、上記
転送ポインタ領域107に格納されている内容と書込ポ
インタ領域108に格納されている内容とを交換する。
すなわち、この結果、転送ポインタ領域107には先頭
アドレス「Y」か格納され、書込ポインタ領域108に
は先頭アドレス「X」が格納される。
【0054】したがって、次回周期においては、転送ポ
インタ領域107の先頭アドレス「Y」によって指定さ
れることにより受信バッファ103−R−Yが転送用の
受信バッファとなり、その受信バッファ103−R−Y
に今回周期で書き込まれている最新の入力データがI/
Oメモリ102に転送される。これにより、I/Oメモ
リ102に最新入力データが得られる。
【0055】一方、受信バッファ103−R−Xでは、
今回周期で入力データの転送を終了しており、その受信
バッファ103−R−Xが次回周期において書込ポイン
タ領域107の先頭アドレス「X」によって指定される
ことにより次回周期では書き込み用の受信バッファとな
り、I/O装置120−iから入力される新たな入力デ
ータが受信バッファ103−R−Xに書き込まれる。
【0056】このように、入力データについては、処理
周期毎に転送ポインタ領域107に格納されていた先頭
アドレスと書込ポインタ領域108に格納されていた先
頭アドレスとを交換するだけで、I/Oメモリ102
は、I/Oイメージ領域103−Cを介することなく、
受信バッファから直接入力データを読み出すことができ
る。
【0057】上述した処理における受信バッファ103
−Rの入力データの構成は、送信バッファ103−Sか
らの送信に対して、各I/O装置120−iが正常に応
答した場合の構成例である。
【0058】次に、図4に、伝送結果が異常であった場
合の入力データの一例を示す。同図の例では、今回周期
で、受信バッファ103−R−Xに受信した装置番号
「j」の入力データが異常であり、また、装置番号
「k」の入力データのページ番号部が、本来「1/
3」、「2/3」及び「3/3」である入力データを受
信すべきところ、「1/3」、「1/3」及び「3/
3」と受信した場合を示している。
【0059】受信バッファ103−R−Xは、今回周期
では、書き込み用の受信バッファとなっていたものであ
り、書込ポインタ領域108には現在「X」が格納され
ている。したがって、転送ポインタ領域107には
「Y」が格納されている。つまり、受信バッファ103
−R−Yは、今回周期では、転送ポインタ領域107の
「Y」によって指定されていたものであり、転送用の受
信バッファになっている。すなわち、受信バッファ10
3−R−Yは、前回周期で書き込まれた入力データがチ
ェックによる判別で全て正常であったことから、ポイン
タの先頭アドレスの交換が行われて前回周期の書き込み
用受信バッファから今回周期の転送用受信バッファにな
っている。
【0060】続いて、このように、入力データに異常が
あった場合の処理について説明する。まず、同図に示す
装置番号“j”と“k”の異常である入力データについ
ては、転送ポインタ領域107の先頭アドレス「Y」で
指定されている今回周期の転送用受信バッファ103−
R−Yの入力データ部のデータ、すなわち前回周期の正
常な入力データを、編集ポインタ領域109の先頭アド
レス(例えば「Z」)で指定される編集用の受信バッフ
ァ103−R(本例では103−R−Z)に、I/Oデ
ータ交換テーブル110内の相対アドレスに基づいてコ
ピーする。
【0061】次に、正常に伝送が行われた装置番号
“m”の入力データについては、書込ポインタ領域10
7の先頭アドレス「X」で指定される今回周期の書込用
受信バッファ103−R−Xの入力データ部のデータ、
すなわち今回周期の正常な入力データを、これも編集ポ
インタ領域109の先頭アドレス「Z」で指定される編
集用の受信バッファ103−R−Zに、I/Oデータ交
換テーブル110内の相対アドレスに基づいてコピーす
る。
【0062】この結果、編集用の受信バッファ103−
R−Zには、伝送が異常であった装置番号“j”と
“k”の入力データについては、異常となる直前の最新
入力データが書き込まれ、伝送が正常であった装置番号
“m”の入力データについては、最新入力データが書き
込まれる。
【0063】この後、転送ポインタ領域107の先頭ア
ドレス「Y」と、編集ポインタ領域109の先頭アドレ
ス「Z」を交換して、転送ポインタ領域107に先頭ア
ドレス「Z」を設定することにより、上述した装置番号
“j”と“k”の入力データについては、異常となる直
前の最新入力データ、伝送が正常であった装置番号
“m”の入力データについては、最新入力データが、演
算部104に得られる。
【0064】
【発明の効果】以上詳述したように、本発明によれば、
入出力容量がシリアル伝送インタフェース回路の一度に
送出し得る最大データ数の範囲を越えるI/O装置のデ
ータを分割して伝送でき、ページ番号とシーケンシャル
番号をチェックするのみで、分割された入力データと出
力データの同時性が確実に保証されるので、中央制御部
のI/Oメモリ容量の範囲内であれば、被制御装置に対
応する小容量から大容量までの各種I/O装置を、何ら
の制約を受けることなく容易に設計に取り入れることが
可能となり、したがって、PCの運用効率が向上する。
【0065】また、入力データを受信バッファからI/
Oイメージ領域へ転送する必要が無く、出力データのみ
I/Oイメージ領域へ一時的に転送すればよいので、中
央制御部のオーバヘッドを大幅に削減でき、したがっ
て、他のOS処理、例えば、中央制御部内のシーケンス
プログラムの読みだし等のマンマシンインタフェースが
高速に行なえるようになり、PCの運用効率がさらに向
上する。
【図面の簡単な説明】
【図1】本発明の入出力データ交換方式を説明するブロ
ック図である。
【図2】本発明の入出力データ交換方式における入出力
データの構成を示す図である。
【図3】一度に伝送可能な最大データ数を越える伝送デ
ータに設けられるページ番号部の構成を示す図である。
【図4】本発明における受信データ異常時の処理を説明
する図である。
【図5】従来のプログラマブルコントローラの構成を示
す図である。
【図6】従来のプログラマブルコントローラの入出力デ
ータ交換方法を説明する図である。
【符号の説明】
104 演算部 102 I/Oメモリ 103−C I/Oイメージメモリ 103−S 送信バッファ 103−R−X、103−R−Y、103−R−Z 受
信バッファ 105 OS 106 フラグ領域 107 転送ポインタ領域 108 書込ポインタ領域 109 編集ポインタ領域 110 I/Oデータ変換テーブル 30 ページ番号部 S1,S2,S3 分割出力デー
タのページ R1,R2,R3 分割入力データのページ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 入出力データを演算する中央制御部とそ
    れぞれ装置番号を有する複数のI/O部とをシリアル伝
    送バスにより接続して構成されるプログラマブルコント
    ローラの入出力データ交換方式において、 前記演算される入出力データを格納するI/Oメモリ
    と、 該I/Oメモリと前記複数のI/O部間における入出力
    データの伝送を前記シリアル伝送バスを介して仲介する
    シリアル伝送インタフェース回路と、 該シリアル伝送インタフェース回路と前記I/Oメモリ
    間に接続され、前記シリアル伝送インタフェース回路を
    介して前記I/Oメモリと前記複数のI/O部間におい
    て行われる入出力データの伝送結果が全て正常であるか
    否かを示す総括伝送結果及び前記複数のI/O部からの
    入力データを格納する3個の受信バッファと、 前記複数のI/O部からの入力データを前記I/Oメモ
    リにより読み出される前記受信バッファの先頭アドレス
    を示す第1のポインタと、 前記複数のI/O部からの入力データを前記シリアル伝
    送インタフェース回路により書き込まれる前記受信バッ
    ファの先頭アドレスを示す第2のポインタと、 前記総括伝送結果が異常であったとき前記複数のI/O
    部の入力データを編集する前記受信バッファの先頭アド
    レスを示す第3のポインタと、 前記複数のI/O部に対応する前記受信バッファの相対
    アドレス及び前記I/Oメモリの相対アドレス並びに入
    出力データ容量を記憶するI/Oデータ交換テーブル
    と、 前記シリアル伝送インタフェース回路に接続され、前記
    I/Oメモリの出力データを前記シリアル伝送インタフ
    ェース回路に出力する送信バッファと、 該送信バッファにより出力されるべき出力データを一時
    的に格納する出力イメージ領域と、 前記出力イメージ領域に格納された出力データが前記送
    信バッファへ出力されたか否かを示すフラグ領域と、 を備えたことを特徴とする入出力データ交換方式。
  2. 【請求項2】 前記シリアル伝送インタフェース回路が
    一度に送出し得る最大データ数を越える容量を有する前
    記複数のI/O部の入出力データに対して、伝送データ
    の伝送順序を示すシーケンシャル番号及び伝送データの
    分割順序を示すページ番号のデータを付与し、且つそれ
    らシーケンシャル番号及びページ番号のデータを格納す
    る前記3個の受信バッファの相対アドレステーブルを備
    え、それらのページ順に、前記シリアル伝送インタフェ
    ース回路により仲介される前記送信バッファからの出力
    データの伝送及び前記複数のI/O部からの入力データ
    の伝送を交互に行うことを特徴とする請求項1記載の入
    出力データ交換方式。
JP00648193A 1993-01-19 1993-01-19 入出力データ交換方式 Expired - Fee Related JP3265026B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP00648193A JP3265026B2 (ja) 1993-01-19 1993-01-19 入出力データ交換方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00648193A JP3265026B2 (ja) 1993-01-19 1993-01-19 入出力データ交換方式

Publications (2)

Publication Number Publication Date
JPH06214620A true JPH06214620A (ja) 1994-08-05
JP3265026B2 JP3265026B2 (ja) 2002-03-11

Family

ID=11639671

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00648193A Expired - Fee Related JP3265026B2 (ja) 1993-01-19 1993-01-19 入出力データ交換方式

Country Status (1)

Country Link
JP (1) JP3265026B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011215821A (ja) * 2010-03-31 2011-10-27 Keyence Corp プログラマブルコントローラ、データ通信方法及びコンピュータプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011215821A (ja) * 2010-03-31 2011-10-27 Keyence Corp プログラマブルコントローラ、データ通信方法及びコンピュータプログラム

Also Published As

Publication number Publication date
JP3265026B2 (ja) 2002-03-11

Similar Documents

Publication Publication Date Title
JP3645281B2 (ja) 共用メモリを有するマルチプロセッサ・システム
US5031091A (en) Channel control system having device control block and corresponding device control word with channel command part and I/O command part
EP0451516B1 (en) Improved SCSI device in a small computer system
JPH01502708A (ja) 情報伝達方法とその装置
US5640602A (en) Transferring digital data in units of 2 bytes to increase utilization of a 2-byte-wide bus
US4417303A (en) Multi-processor data communication bus structure
EP0125044B1 (en) Microcomputer with interprocess communication
US7035956B2 (en) Transmission control circuit, reception control circuit, communications control circuit, and communications control unit
JPS63255760A (ja) 制御システム
JPH06214620A (ja) 入出力データ交換方式
JPH06274463A (ja) データ通信システム
JP3399776B2 (ja) コンピュータおよびコンピュータにおける周辺デバイス制御データの転送方法
JP3293838B2 (ja) データ転送方式
JP2000172307A (ja) プロセスデータ収集装置の更新方法
JP2002341907A (ja) 高炉設備プログラムロジックコントローラにおけるデータ送受信方法
JP2821053B2 (ja) ネットワークシステム
JPH09307574A (ja) 二重化コントローラ用ネットワークシステム
JP3077992B2 (ja) データ伝送装置
JP2980163B2 (ja) データ転送方式
RU1807495C (ru) Устройство дл сопр жени процессоров
JP3127939B2 (ja) イベント情報伝送装置
JPH10320345A (ja) バスコントローラ
JPH01272339A (ja) サイクリツクデータ伝送方式
JPH1029477A (ja) 電子制御装置及びその制御方法
JPS63227149A (ja) ル−プ状通信システムにおける通信制御方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20011218

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

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20081228

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20081228

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20091228

Year of fee payment: 8

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20091228

Year of fee payment: 8

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees