JPH11338523A - プログラマブルコントローラにおける入出力制御方式 - Google Patents
プログラマブルコントローラにおける入出力制御方式Info
- Publication number
- JPH11338523A JPH11338523A JP10148648A JP14864898A JPH11338523A JP H11338523 A JPH11338523 A JP H11338523A JP 10148648 A JP10148648 A JP 10148648A JP 14864898 A JP14864898 A JP 14864898A JP H11338523 A JPH11338523 A JP H11338523A
- Authority
- JP
- Japan
- Prior art keywords
- data
- output
- module
- input
- interrupt
- 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
Links
Landscapes
- Multi Processors (AREA)
- Bus Control (AREA)
- Programmable Controllers (AREA)
- Small-Scale Networks (AREA)
- Selective Calling Equipment (AREA)
Abstract
非同期に処理が行われていた。またマルチタスク処理の
場合、各タスク間も非同期であった。 【解決手段】 PCの各モジュールをリング上のシリア
ルリンクバス1によって接続する。CPUモジュール2
及びI/Oモジュール3内のシリアルリンク制御LSI
10はこのシリアルリンクバス1の転送速度と同じ速度
で、一定周期毎に実行プロセッサにタクト割込みを発生
させ、各CPUモジュール2内の実行プロセッサは、こ
のタクト割込みに同期させて、I/Oモジュール3に対
する入出力処理を行う。
Description
あるプログラマブルコントローラにおける入出力制御方
式に関する。
装置のシーケンス制御に多くのプログラマブルコントロ
ーラ(以下PCという)を用い、FA(ファクトリーオ
ートメーション)化を実現している。
の演算処理等を行うCPUモジュールや、制御機器とプ
ロセスデータの入出力を行うI/Oモジュールが複数バ
スで接続されて構成されている。
のPCは、図20に示すように、システムバス101に
CPUモジュール102、I/Oモジュール103及び
不図示の通信モジュールが複数接続されて構成されてい
る。これら各モジュールは、システムバス101を介し
て互いにデータのやりと合りを行い、接続機器の制御処
理を行う。
ール102を備える構成の場合、各CPUモジュール1
02はそれぞれ非同期に動作処理を行っており、またI
/Oモジュール103に対するプロセスデータの入出力
処理もそれぞれ非同期に行っている。
る従来のタスク動作とプロセスデータの入出力処理の関
係を示す。図21に示すように各CPUモジュール10
2は、1スキャンの開始時及び終了時にI/Oモジュー
ル103に対するプロセスデータの入力処理と出力処理
を行う。
ル2上でアプリケーションプログラム等が実行されるプ
ログラムレベル(以下Pレベルという)での、データ入
力処理、演算及びデータ出力処理からなるタスクの始ま
りから終わりまでを指す。また入力処理とはI/Oモジ
ュール103などからCPUモジュール102にデータ
を取込む処理、出力処理とはCPUモジュール102か
ら演算結果等をI/Oモジュール103などに出力する
処理を指す。
非同期に処理を行うため、CPUモジュール102間で
入出力処理に対する競合が発生する場合がある。この場
合は1つのCPUモジュールのみが入出力処理を行うこ
とが出来、他のCPUモジュール102はその間処理の
実行を待たされることになる。例えば図21の場合、C
PU0はCPU1の出力処理が終了するまで自己の出力
処理の実行を待ち、CPU1はCPU0の入力処理が終
了するまで自己の入力処理の実行を待っている。
並列実行するマルチタスク処理を行う場合、その入出力
処理の方法には図22に示す様なものがある。例えば図
22に示す場合の様にPレベルのタスクと、より優先レ
ベルの高い上位レベルの定周期タスクが実行されている
場合、上位レベルのタスクにおける入出力処理の方法と
しては、(1) に示すように上位レベルである定周期タス
ク内で特別な命令を用いてI/Oモジュール103と直
接入出力を行う方法と、(2) に示すようにPレベルの入
出力処理と同じタイミング内で定周期タスクの入出力を
行う方法とがある。
ジュール102を備える構成の場合、各CPUモジュー
ル102は個々に動作し、よって従来から行われている
入出力制御方式では、CPUモジュール102によるI
/Oモジュール103などからのプロセスデータの取込
みや、I/Oモジュールなどへのプロセスデータの出力
を行う入出力処理は、各CPUモジュール102間で非
同期に行われる。
同期したデータを使用して処理を行っていない。さらに
I/Oモジュール103へのプロセスデータの出力につ
いても、各CPUモジュール102は独自のタイミング
で出力しているので、I/Oモジュール103へのプロ
セスデータの出力は各CPUモジュール102間で同期
していない。
ムで接続機器からのプロセスデータの出力を行い、また
CPUモジュール102からのデータを必要としている
ので、複数のCPUモジュール102が連携して処理を
行う場合に、CPUモジュール102間やタスク間で同
期が行われていないと、異なるデータを同じデータと認
識して処理してしまうなどの問題が生じる場合がある。
ュール間やマルチタスク処理時のタスク間でが同期して
データのやり取りを行うことが可能なPC及びその入出
力制御方式を提供することを目的とする。
ブルコントローラは、1乃至複数のCPUモジュールと
1乃至複数のI/Oモジュールがバスによって接続され
る構成を前提としている。
生手段及び同期手段を備える。タクト割込み発生手段
は、上記バスの転送速度に合わせて一定周期で割込みを
発生させる。
よる割込みに同期して、上記I/Oモジュールに対する
データの入出力処理を行う。上記CPUモジュールは、
該CPUモジュールで実行されるアプリケーションプロ
グラムを上記タクト割込み発生手段による割込みに同期
して実行する実行手段を更に備えるとすることも出来
る。
記アプリケーションプログラムを実行する時、該マルチ
タスクのタスクは上記I/Oモジュールに対するデータ
の入力処理及び出力処理を上記割込みに同期して行う。
み発生手段による割込みが発生する前に終了するかどう
かを判断し、終了しないと判断したときに該出力処理を
該割込みが終了するまで遅らせる。
では、各モジュールが接続されるバスはリング上の構成
を備え、上記CPUモジュール及びI/Oモジュール
は、上記バス上をデータを巡回させて他のモジュールと
のデータの入出力処理を行う構成とすることも出来る。
この場合、上記CPUモジュールは上記I/Oモジュー
ルに対してデータを送る場合トータルフレーム方式によ
り、上記I/Oモジュールは上記CPUモジュールに対
してデータを送る場合マルチキャスト方式によりデータ
の転送を行う。
ーラを構成するCPUモジュールは、タクト割込み発生
手段が発生させる割込みに同期して、上記I/Oモジュ
ールに対するデータの入出力処理を行う。よって複数の
CPUモジュールを備える構成の場合、各CPUモジュ
ールは、この割込みに同期して処理を行う。
ションプログラムを実行するに場合においても、該マル
チタスクのタスクは上記I/Oモジュールに対するデー
タの入出力処理を上記割込みに同期して行うので、各タ
スクは同期して処理を行う。
示す図である。本実施形態のPCでは、複数のCPUモ
ジュール2と複数のI/Oモジュール3がリング型の伝
送トポロジーをもつシリアルリンクバス1によって接続
されるネットワーク構成をもつ。このシリアルリンクバ
ス1に接続されている各モジュールは、そのネットワー
ク上での局としてそれぞれを一意に識別する局番が設定
されている。本実施形態でのネットワークは、その局と
して最大256局接続できるものとし、各局にその局番
として#0〜255が設定される。
流れを説明する。図2は、PC内の各モジュールの接続
及びシリアルリンク1内を流れるデータの流れを示す図
である。
ル2、I/Oモジュール3等PC内の各モジュールは、
内部にシリアルリンク制御LSI10を備え、このシリ
アルリンク制御LSI10を介してシリアルリンクバス
1と接続されている。
は、シリアルリンクバス1上を一定方向に巡回し、シリ
アルリンク制御LSI10は、上流局から送信されたフ
レームを自己の受信バッファに取込み、それが自局に対
するものでなければそのまま下流局に送り、また自局に
対するものあればそれを取込む。これによってシリアル
リンクバス1上をフレームデータが一定方向に巡回す
る。
ルリンクバス1から受信したフレームデータを下流のモ
ジュールに流すと共に、入力バッファ転送テーブルを参
照して必要なデータを入力バッファに取込む。
/Oモジュール3等からデータを受信する受信処理のと
きのデータ転送は、トータルフレーム方式により行う。
またCPUモジュール2からI/Oモジュール3などへ
データを出力する送信し処理のときのデータ転送は、マ
ルチキャスト方式により行う。これらの転送方式によ
り、シリアルリンクバス1上の各モジュールは、一定周
期毎に同一のデータを同期して送受信することになる。
る。トータルフレーム方式は、CPUモジュール2がI
/Oモジュール3からのデータを受取る時に用いるデー
タ転送方式である。
ロジーを持つシリアルリンクバス1において、巡回する
1つのフレームに対してI/Oモジュール3の各局が自
局データを追加してゆき、フレームがシリアルリンクバ
ス1を2巡回することで、自局データの送信及び他局デ
ータの受信を行い、各局が他局のデータの共有化を図る
と共に伝送効率を上げるようにした伝送方式である。
通信の説明図である。本実施形態では、シリアルリンク
バス1の局の内の1つをリングマスター局とし、このリ
ングマスター局によってトータルフレーム方式及び後述
するマルチキャスト方式によるデータ転送を管理する。
また図3中のDiはI/Oモジュール3の中で入力装
置、Doは出力装置の局を示す。
上に唯一存在するリングマスター局により、まずトータ
ルフレーム送信の要求を表すREQフレームが送信され
る。図3ではこの時のREQフレームはreq0と表さ
れている。
リタ部(スタートデミリタ(SD)部)にこのフレーム
がREQフレームであることを示すデータ(JKコー
ド)が設定されており、このフレームの受信局はSD部
を調べることによりこのフレームがREQフレームであ
ることを認識する。
ーム最後に自局のデータを付加して下流局へ送信する。
図3の場合、Di局はREQフレームを受信すると、そ
の末尾に自己の入力データDi1を付加して下流局のD
o1局へ送信する。Do1局ではこのフレームを受信す
ると、その末尾に自己の出力データDo1を付加して出
力する。以下、順に各局はフレームを受取ると自己のデ
ータをフレームの末尾に付加して下流局へ送信する。
尚、本実施形態は複数のCPUモジュール2を使用する
マルチCPUの構成であり、CPUモジュール2が他の
CPUモジュール2が出力装置に出力したデータを参照
できるようにするため、各出力装置の局Doも自己のデ
ータの出力を行っている。しかし、CPUモジュールを
1つしか持たないPCの構成の場合には、この様な必要
はない。
1巡して、これをリングマスター局が受信すると、リン
グマスター局はこのフレームのSD部に設定されている
データを2巡目のREQフレームであることを示すデー
タ(JJコード)に変更し、またフレームの最後に自己
のデータを付加して隣の下流局であるDi1局へ送信す
る。
フレームのSD部を調べ、これが2巡目のREQフレー
ムであることを認識すると、フレームのSD部の次にあ
る1巡目の時に自己が付加した自局データを削除して下
流局へ中継する。図3の場合、Di局は2巡目のREQ
フレームを受信すると、1巡目で自己が付加した自局の
データDi1を削除して下流局のDo1局へ送信し、D
o1局は受信フレームのSD部の次にある自己の出力デ
ータDo1を削除して次の下流局であるDi2局へ送信
する。以下、順に各局はフレームを受取ると1巡目で付
加した自己のデータをフレームから削除して下流局へ送
信する。
リンクバス1を巡回して、リングマスター局に戻ってく
ると、リングマスター局は、このフレームをシリアルリ
ンクバス1から除去する。これによってトータルフレー
ム通信は完了する。
について説明する。マルチキャスト方式は、CPUモジ
ュール2から出力機器が接続されているI/Oモジュー
ル3に対してデータの出力を行う時用いられるデータ転
送方式である。
ス1上にマルチキャスト通信用のフリートークンを巡回
させ、データ伝送を要求する局(出力装置に出力するた
めの送信データが用意されており、また当該送信帯域の
送信許可設定がされている局)はそのフリートークンを
確保して代わりにマルチキャストフレームの送信を行
う。マルチキャストフレームはシリアルリンクバス1上
を巡回し、このマルチキャストフレームを受信したネッ
トワーク上の局は、それを下流へ中継して巡回させると
共にフレーム内の出力データの設定内容に基づいてデー
タの取込みを行う。
説明図である。マルチキャスト方式による通信では、ま
ず、シリアルリンクバス1上に1つだけ存在するネット
ワーク管理を行うリングマスター局が、データ転送の権
限を制御するフリートークンを生成し、シリアルリンク
バス1上にリリースする。このフリートークンのリリー
スによって、マルチキャスト通信は開始される。
順次下流局へ中継してゆき、シリアルリンクバス1上を
巡回する。そしてデータの出力を行いたいCPUモジュ
ール2は、このフリートークンを受信すると、これをシ
リアルリンクバス1から確保し、マスター局となる。
を、SD部にこのフレームがマルチキャスト通信のフレ
ームであることを示すデータを設定したマルチキャスト
フレームとしてシリアルリンクバス1上に流す。図4で
は、マスター局は、保持したフリートークンの代わりに
Do1局に対する出力データ(M−>Do1)とDo2
局に対する出力データ(M−>Do2)の2つの局に対
する出力データがマルチキャストフレームとして、下流
局Do2へ送信される。
は、そのフレーム内の出力データに設定されている出力
データの格納先の局番を参照し、この出力データが自局
に対するものであれば、それを取込むと共にそのフレー
ムをそのまま下流局へ送信する。図4では、マルチキャ
ストフレームを受信したDo2局及びDo1局はそれぞ
れ自局にあててマスタ局が出力した出力データ(M−>
Do2、M−>Do1)を取込むと共に、その受信フレ
ームをそのまま隣の下流局であるリングマスター局及び
マスター局へ送信する。
初に送信したマスタ局は、これをシリアルリンクバス1
から除去し、代わりにフリートークンを生成して1上に
リリースする。
ス1を1巡して戻ってくると、リングマスター局はデー
タ伝送要求の有無をチェックし、要求があれば当該送信
データの送信を行う。その後、自局が送信したデータフ
レームがシリアルリンクを1巡して自局に戻ってきたこ
とでリングマスター局はフリートークンをシリアルリン
ク上から除去し、これによってマルチキャスト通信は終
了する。
ルリンクバス1上では、リングマスター局のデータフレ
ームは常に最後に送信される。次にシリアルリンクバス
1上の局となっている、各モジュールにおけるデータの
送受信処理について説明する。
説明する。CPUモジュール2内のシリアルリンク制御
LSI10は、シリアルリンクバス1からトータルフレ
ーム方式により送信されてくるフレーム(トータルフレ
ーム)を受信すると、それを下流のモジュールに送信す
ると共に、入力バッファ転送テーブルを参照して必要な
データを入力バッファに取込む。図5はこの時のCPU
モジュール2内での入力データに対する制御処理を示す
図である。
には、データの入力制御を行うための構成要素としてシ
リアルリンク制御LSI10の他に入力バッファ21、
I/O領域22、入力バッファ転送テーブル23及び入
力データ転送テーブル24を備える。
たデータの内自モジュールで必要な局からのプロセスデ
ータを、入力バッファ転送テーブル23を参照して取込
むバッファである。またI/O領域22は自局で実行さ
れている複数のアプリケーションプログラムの各タスク
25が直接アクセスすることが出来るメモリ領域であ
る。CPUモジュール2内にあるプログラム処理を行う
実行プロセッサ(不図示)は、このI/O領域22内か
ら自己が必要とするデータを読み出したり、あるいはI
/Oモジュール3への出力データをI/O領域22に書
込む。
ルリンクバス1からトータルフレーム方式で送信されて
きたデータを自己の受信バッファ11に取込むと共に下
流局のモジュールに流す。
は、受信バッファ11に取込まれた後、シリアルリンク
バス1の転送周期と同一周期のタクト周期で、入力バッ
ファ転送テーブル23を参照して受信バッファ11から
自局が必要とする局のデータが入力バッファ21に格納
される。そして、タスク起動時にそのタスクに対応する
入力データ転送テーブル24が参照されてそのタスクが
必要とするデータがI/O領域22に転送される。なお
タクト周期については後述する。
つのフレーム(1巡目、2巡目)に対して行うことによ
って、CPUモジュール2は、シリアルリンクバス1上
の全てのI/Oモジュール3のデータを取込むことが出
来る。
23と入力データ転送テーブル24によるデータ転送を
説明する図である。入力バッファ転送テーブル23は、
ネットワーク上の全ての局の局番と対応づけて、その局
からのデータの入力バッファ21での格納位置がアドレ
スとして格納されており、局番により入力バッファ転送
テーブル23を参照することにより、その局からのデー
タを格納する入力バッファ21上のアドレスを求めるこ
とが出来る。尚自局が必要とせず、データ転送を行わな
い局に対応する部分にはアドレスとして“FFFF”が
設定されており、データの転送処理を行う際にはバッフ
ァ転送テーブル23に“FFFF”以外の値が設定され
ている局のデータに対してその局の局番、データのサイ
ズ及びステータス情報と共に受信バッファ11内のトー
タルフレームから入力バッファ21の対応するアドレス
の位置に順次転送される。
ファ21からI/O領域22へのデータの転送を行う際
に参照されるものである。入力データ転送テーブル24
は、各タスク毎に複数存在し、そのタスクが使用するデ
ータの入力バッファ21での格納位置であるアドレス
1、I/O領域22での格納位置であるアドレス2及び
データサイズが格納されている。タスクが起動される際
に、入力バッファ21からI/O領域22へのデータの
転送を行うときには、そのタスクに対応した入力データ
転送テーブル24を使用してそのタスクが起動される前
に入力バッファからI/O領域22にそのタスクが使用
するデータのみが転送される。また入力バッファのステ
ータスがエラーを示していれば、そのデータはI/O領
域22に転送しない。
び入力データ転送テーブル24は、アプリケーションプ
ログラムを作成し、コンパイルした時にプログラム作成
ツール(ローダ)がI/OモジュールなどのPCのシス
テムの定義情報を参照し、自動生成する。またこれらの
テーブルは、アプリケーションプログラムをCPUモジ
ュール2にダウンロードする時に同時にシステム定義と
してダウンロードされ、アプリケーションプログラムが
実行される前に予めCPUモジュール2に設定されてい
る。
から入力バッファ転送テーブル23によって指定された
自己で使用する入力データを入力バッファ21に取込む
が、このデータの転送はシリアルリンクバス1での転送
速度と同一速度の一定間隔の周期で行われる。またシリ
アルリンク制御LSI10は、このデータ転送と同一周
期で実行プロセッサに対して割込みを発生させる。この
割込みが、図7に示すタクト割込みである。またこのタ
クト割込みの発生周期をタクト周期という。
は、タクト割込みを受けるとタスクの起動条件をチェッ
クし、最もタスクレベルの高い、すなわち最も優先度の
高いタスクを起動する。その動作を示したのが図7であ
る。
ベルの高いタスク0、タスク1の2つの定周期タスクの
動作例を示している。タクト割込みが発生すると、実行
プロセッサはタスクの起動条件をチェックし、起動すべ
きタスクがあると、タスクレベルの高い順にそのタスク
に割り当てられたプロセスデータのデータ入力処理を行
う。図7の場合、最初のタクト割込みが発生すると、タ
スク0、タスク1、Pレベルの順に各タスクのデータ入
力処理が行われる。
す入力バッファ21からI/O領域22へデータを転送
することである。実際のタスクは、その実行時にこのI
/O領域22のデータに対して演算処理を行う。この入
力バッファ21からI/O領域22へのデータ転送は、
各タスク毎に存在する入力データ転送テーブル24を参
照して行われる。この入力データ転送テーブル24を参
照することにより、起動しようとしているタスクで必要
とするプロセスデータが判り、使用するプロセスデータ
のみが入力バッファ21からI/O領域22へ転送され
る。
み発生時に、別のタスクが実行中であっても、そのタス
クによる処理を中断して行われる。例えば、図7の場
合、2回目及び5回目のタクト割込みが発生した時、P
レベルのタスクは処理の実行中であったが、その処理を
中断してタスク0及びタスク1のデータ入力処理が実行
され、全てのデータ実行処理が完了後、中断されていた
Pレベルのタスクの実行が再開される。
る。図8中のPxxxはプログラムを示し、1つのタス
クは複数のプログラムから構成されている。各タスク毎
にプログラム管理テーブルが作成され、タスク内ではこ
のプログラム管理テーブルに登録されている順番にプロ
グラムが起動される。
タ入力処理が行われ、タスクの終了時にデータ出力処理
が行われる。図9は、図7でのタスクの中断を説明する
図である。
って処理の中断が発生した場合、図9(b)は2つのタ
クト周期に跨がったために中断が発生した場合を示す。
図9(a)では、このタスクを含む全てのタスクでデー
タ入力処理が完了するまでプログラムの実行は行われ
ず、全てのタスクでデータ入力処理が完了した時点でプ
ログラムが実行される。また図9(b)では、プログラ
ムP157を実行中にタクト割込みが発生すると、この
P157の処理は中断され、他のタスクでのデータ入力
処理が実行される。そして、全てのタスクでデータ入力
処理が完了すると、P157の処理が再開される。
データに対する制御処理を示す図である。CPUモジュ
ール2内にはデータの出力制御を行うための構成要素と
して、出力バッファ26、出力データ転送テーブル27
及びシリアルリンク制御LSI10内に送信バッファ1
2を有する。出力バッファ26は、出力データ転送テー
ブル27の参照結果によりデータを出力する局毎にタス
ク25が出力処理を行うデータを、出力を行うI/Oモ
ジュールの局の局番、データのサイズ及びマスク情報と
共に蓄積するバッファである。尚マスク情報については
後述する。出力データ転送テーブル27は、タスク毎に
存在し、そのタスクが出力する出力データをI/O領域
22から出力バッファ26へ転送を行う際に参照される
ものである。
サは、出力データ転送テーブル27を参照し、I/O領
域22から出力バッファ26へそのタスクに割り当てら
れたデータのみ転送する。
ッサによるCPUモジュール2の内部処理とは無関係に
タクト周期でシリアルリンク上に出力される。この様な
一連の動作により、シリアルリンクバス1に接続された
各モジュールは、一定周期(タクト周期)中は共通のデ
ータを用いて動作することが可能である。
ル27によるI/O領域22から出力バッファ26への
データの転送を説明する図である。出力データ転送テー
ブル27は、I/O領域22から出力バッファ26への
データの転送を行う際に参照されるものである。入力デ
ータ転送テーブル27は、各タスク毎に複数存在し、そ
のタスクが出力処理を行うデータ毎に、そのデータのI
/O領域22での格納位置であるアドレス3と出力バッ
ファ26での格納位置であるアドレス4が格納されてい
る。
そのタスクに対応した出力データ転送テーブル27が参
照され、I/O領域22から出力バッファ26にデータ
が転送される。出力バッファ26は、マルチキャスト方
式のフレームフォーマットそのものの構成をもち、シリ
アルリンク制御LSI10は、マルチキャスト用のトー
クンを受信すると出力バッファ26内のデータをマルチ
キャストフレームとして、シリアルリンクバス1上にD
MA転送する。
した入力バッファ転送テーブル23や24と同様、コン
パイル時にプログラム作成ツール(ローダ)がI/Oモ
ジュールなどのPCのシステムの定義情報を参照し、自
動生成する。またこれのテーブルは、アプリケーション
プログラムをCPUモジュール2にダウンロードする時
に同時にシステム定義としてダウンロードされ、アプリ
ケーションプログラムが実行される前に予めCPUモジ
ュール2に設定されている。
理は、I/O領域22から出力バッファへ26のデータ
転送(データ出力処理)と、出力バッファ26からシリ
アルリンク1へ出力するタイミングは非同期に行われ
る。このため、この2つのデータ転送が重ならないよう
にする必要がある。このためには、データ出力処理がタ
クト割込みの発生タイミングと重ならないようにすれば
よい。
調節処理を説明する図である。CPUモジュール2で
は、図12の様に、タスクが終了しデータ出力処理に入
る前に、タクト周期からタクト割込みの発生からの経過
時間を引いた残り時間と、そのタスクに割り当てられて
いるデータ出力処理のために必要な時間とを比較する。
そして残り時間よりデータ転送に必要な時間の方が短け
れば(図12の(a)の場合)、そのままデータ出力処
理を行う。またデータ転送に必要な時間の方が長ければ
(図12(b)の場合)、次のタクト割込みまでにデー
タ出力処理は完了しないので、このデータ出力処理の実
行を次のタクト周期まで遅らせ、データ転送が重ならな
い様にする。
とにより、タクト周期より長いタスク処理であっても、
タクト周期に同期した処理をすることが可能となる。次
にI/Oモジュール3における入出力処理について説明
する。
ける入力処理を説明する図である。I/Oモジュールに
おける入力処理とは、出力装置であるI/Oモジュール
3がシリアルリンクバス1より受信したマルチキャスト
フレームの中から、自己に対するデータを取込み、自己
に接続されている制御装置等に出力することである。
御LSI10は、シリアルリンクバス1よりマルチキャ
ストフレームを受信すると、自己の受信バッファ(不図
示)内にそのフレームを取込むと共に下流局へ送信す
る。
って出力された1乃至複数の出力データが含まれてお
り、各出力データにはそれぞれ出力相手局を示す局番、
データのサイズ及びマスク情報が付されている。
各出力データに対し、付されている局番と自己の局番情
報を比較しゆき、一致するものがあれば対応する出力デ
ータを入力バッファ31に取込む。
は、データと共に送信されてきたマスク情報によって有
効なデータのみが制御装置に出力する。図13(b)
は、そのマスク処理を示す図である。
てくる出力データには、それぞれマスク情報が付されて
おり、制御装置へ出力するデータとしては、このマスク
情報で示された有効なデータ部のみが用いられる。例え
ば図13(b)では、CPUモジュール#0及びCPU
モジュール#1の2つのCPUモジュール2からの出力
データに対して、マスク情報を用いて、CPUモジュー
ル#0からの出力データの上位8ビットとCPUモジュ
ール#1からの出力データの下位8ビットから制御装置
への出力データを生成して出力している。これにより、
制御装置への出力データの上位ビットをCPUモジュー
ル#0、下位ビットをCPUモジュール#1が使用する
ことになり、マスク情報を用いることにより、1つの出
力装置を複数のCPUモジュール2で共有することが可
能となる。図14は、I/Oモジュール3における出力
処理を説明する図である。
は、入力装置であるI/Oモジュール3が制御装置等か
らの入力データをCPUモジュール2に対してトータル
フレーム方式で出力することである。
御LSI10は、シリアルリンクバス1よりSD部にJ
Kコードが設定されているトータルフレーム方式のフレ
ーム(1巡目のフレーム)を受信すると、受信したフレ
ームに末尾に自己のデータを付加して出力する。この出
力データは、I/Oモジュール3に接続されている複数
の制御装置からの入力データに基づいて、事前に出力バ
ッファ32内に生成しておいたもので、これに自局の局
番情報、データサイズ及びステータス情報と共にトータ
ルフレームの末尾に付加して出力する。
Jコードが設定されているフレーム(2巡目のフレー
ム)を受信すると、受信フレームのSD部の次のデータ
は自己が付加したデータなのでそれを削除し、残りのデ
ータをそのまま下流局へ出力する。
は、マルチキャスト方式による入力処理及びトータルフ
レーム方式による出力処理が行われる。図15は、シリ
アルリンクバス1とCPUモジュール2内の実行プロセ
ッサでの処理の流れを示す図である。図15中「T・F
1」はトータルフレーム方式で転送されるデータ転送の
時間帯域、「M・C」はマルチキャスト方式で転送され
るデータ転送の時間帯域、「MSG」はCPUモジュー
ル2間やCPUモジュール2と通信モジュールなどとの
間で行われるメッセージ転送様の時間帯域を示してい
る。
で「T・F1」と「M・C」が送信されており、よって
各CPUモジュール2の実行プロセッサは、同一タクト
周期内で行った入力処理では同じデータ値を得られ、各
CPUモジュール2間で同期を取ることが出来る。
c*Nで、このNの値はシリアルリンクバス1上の局数
に応じて変動する。図16は、CPUモジュール2での
データ入力処理時に、シリアルリンク制御LSI10に
よって行われる受信バッファ11から入力バッファ21
へのデータ転送処理のフローを示すフローチャートであ
る。
ステップS1としてシリアルリンクバス1よりトータル
フレームを受信したかどうかが判断され、受信していな
いのならば(ステップS1、N)、処理を終了する。
を受信したのならば(ステップS1Y)、次にステップ
S2として入力バッファ転送テーブル23を参照し、局
番からデータの転送先である入力バッファ21のアドレ
スを求める。
F”であったならば(ステップS3、Y)、この局のデ
ータは必要としていないので、ステップS2の処理に戻
り、次の局に対するアドレスを求める。またステップS
3で、ステップS2で求めたアドレスが“FFFF”以
外の値であれば(ステップS3、N)、その局のデータ
は必要であるので、受信バッファ11からまずその局の
ステータス情報を入力バッファ21へ書込む(ステップ
S4)。
プS5及び6でアドレスを+1インクリメントしなが
ら、サイズ分のデータを入力バッファ21へ転送する
(ステップS6)。
ると(ステップS5、Y)、ステップS7として全ての
局のデータに対する転送処理が終了したかどうかが判断
され、まだ未処理の局があれば(ステップS7、N)、
ステップS2に戻りこれまでの処理を繰り返す。また全
ての局のデータの転送が終了したのならば(ステップS
7、Y)、処理を終了する。
入力処理として、タスクがその処理開始時に行う入力バ
ッファ21からI/O領域22への出力データの転送処
理を示すフローチャートである。
ステップS11として、タスクは自己の入力データ転送
テーブル24を参照する。次にステップS12として、
入力データ転送テーブル24に登録されている、このタ
スクが出力する出力データ全てに対しての処理が終了し
たかどうかが判断される。そして全て終了していれば
(ステップS12、Y)、このタスクは出力処理を終了
する。
ないデータがあれば(ステップS12、N)、次にステ
ップS13として未転送のデータについて、そのサイズ
分のデータ転送が終了したかどうかが判断される。サイ
ズ分のデータが転送されていれば(ステップS13、
Y)、そのデータは転送が完了しているので、ステップ
S12に戻り、まだ転送が完了していないデータがある
かが判断される。
分のデータ転送が終了していなければ(ステップS1
3、N)、入力データ転送テーブル24から読み出し
た、出力データの入力バッファ21での格納位置である
アドレス1及びI/O領域22での格納位置であるアド
レス2を用い、ステップS14として、出力データを入
力バッファ21のアドレス1の位置から読み出す。そし
て次にデータをステップS15として、I/O領域22
のアドレス2の位置へ書込む。
1及びアドレス2の値を+1インクリメントし、またサ
イズを−1デクリメントしてそれぞれ値を更新する。以
上ステップS13〜16での処理がサイズの値が0にな
るまで繰り返され、1つの出力データに対する転送処理
が終了すると、ステップS12の判断に処理は移り、入
力データ転送テーブル24に登録されている全てのデー
タに対して同様の処理が繰り返されて、タスクによる出
力データの転送処理が完了する。
の処理終了時に行うI/O領域22から出力バッファ2
6への出力データの転送処理を示すフローチャートであ
る。図18において処理が開始されると、まずステップ
S21として、タスクは自己の出力データ転送テーブル
27を参照する。次にステップS22として、出力デー
タ転送テーブル27に登録されている、このタスクが出
力する出力データ全てに対しての処理が終了したかどう
かが判断される。そして全てに対して処理が終了してい
れば(ステップS22、Y)、このタスクは出力データ
の転送処理を終了する。
いデータがあれば(ステップS22、N)、次にステッ
プS23として未転送のデータについて、そのサイズ分
のデータ転送が終了したかどうかが判断される。サイズ
分のデータが転送されていれば(ステップS23、
Y)、そのデータは転送が完了しているので、ステップ
S22に戻り、まだ転送が完了していないデータがある
かが判断される。
分のデータ転送が終了していなければ(ステップS2
3、N)、出力データ転送テーブル27から読み出した
I/O領域22での出力データの格納位置であるアドレ
ス3及び出力バッファ26での出力先のアドレスである
アドレス4を用い、ステップS24として、まず、I/
O領域22のアドレス3の位置からデータを読み出す。
そしてこのデータをステップS25として、出力バッフ
ァ26のアドレス4の位置へ書込む。
3及びアドレス4の値を+1インクリメントし、またサ
イズを−1デクリメントしてそれぞれ値を更新する。以
上ステップS23〜26での処理がサイズの値が0にな
るまで繰り返され、1つの出力データに対する転送処理
が終了すると、ステップS22の判断に処理は移り、入
力データ転送テーブル24に登録されている全てのデー
タに対して同様の処理が繰り返されて、タスクによるデ
ータの出力データの転送処理が完了する。
理において、シリアルリンク制御LSI10によって行
われる出力バッファ26からシリアルリンク制御LSI
10内の送信バッファ12への送信処理を示すフローチ
ャートである。
ップS31として、タクト周期で、出力バッファ26内
のデータがシリアルリンク制御LSI10によってDM
A転送され、全てのデータが転送し終わると処理は終了
する。
は、そのPC構成するCPUモジュールが、タクト割込
み発生手段が発生させる割込みに同期して、上記I/O
モジュールに対するデータの入出力処理を行う。よって
複数のCPUモジュールを備える構成の場合、各CPU
モジュール間でこの割込みの発生に合わせて同期処理を
行うことが出来る。
ションプログラムを実行する場合ににおいても、該マル
チタスクのタスクは上記I/Oモジュールに対するデー
タの入出力処理を上記割込みに同期して行うので、各タ
スク間で同期を取ることが出来る。
ク内を流れるデータの流れを示す図である。
る。
る。
御処理を示す図である。
ーブルによるデータ転送を説明する図である。
る。
制御処理を示す図である。
ら出力バッファへのデータの転送を説明する図である。
する図である。
データのマスク処理を説明する図である。
る図である。
実行プロセッサでの処理の流れを示す図である。
受信バッファから入力バッファへのデータ転送処理のフ
ローを示すフローチャートである。
からI/O領域への出力データの転送処理のフローを示
すフローチャートである。
ら出力バッファへの出力データの転送処理のフローを示
すフローチャートである。
出力バッファから送信バッファへの送信処理を示すフロ
ーチャートである。
作とプロセスデータの入出力処理の関係を示す図であ
る。
Claims (8)
- 【請求項1】 1乃至複数のCPUモジュールと1乃至
複数のI/Oモジュールがバスによって接続されるプロ
グラマブルコントローラであって、 前記CPUモジュールは、 前記バスの転送速度に合わせて、一定周期で割込みを発
生させるタクト割込み発生手段と、 前記タクト割込み発生手段による割込みに同期して、前
記I/Oモジュールに対するデータの入出力処理を行う
同期手段と、 を備えることを特徴とするプログラマブルコントロー
ラ。 - 【請求項2】 前記CPUモジュールは、該CPUモジ
ュールで実行されるアプリケーションプログラムを前記
タクト割込み発生手段による割込みに同期して実行する
実行手段を更に備えることを特徴とする請求項1記載の
プログラマブルコントローラ。 - 【請求項3】 前記実行手段がマルチタスクで前記アプ
リケーションプログラムを実行する時、該マルチタスク
のタスクは前記I/Oモジュールに対するデータの入力
処理及び出力処理を前記割込みに同期して行うことを特
徴とする請求項2記載のプログラマブルコントローラ。 - 【請求項4】 前記実行手段は、前記出力処理が前記割
込み発生手段による割込みが発生する前に終了するかど
うかを判断し、終了しないと判断したときに該出力処理
を該割込みが終了するまで遅らせることを特徴とする請
求項2又は3記載のプログラマブルコントローラ。 - 【請求項5】 前記バスはリング上の構成を備え、前記
CPUモジュール及びI/Oモジュールは、前記バス上
をデータを巡回させて他のモジュールとのデータの入出
力処理を行うことを特徴とする請求項1乃至4のいずれ
か1つに記載のプログラマブルコントローラ。 - 【請求項6】 前記CPUモジュールは前記I/Oモジ
ュールに対してデータを送る場合トータルフレーム方式
により、前記I/Oモジュールは前記CPUモジュール
に対してデータを送る場合マルチキャスト方式によりデ
ータの転送を行うことを特徴とする請求項5記載のプロ
グラマブルコントローラ。 - 【請求項7】 1乃至複数のCPUモジュールと1乃至
複数のI/Oモジュールがバスによって接続されるプロ
グラマブルコントローラにおけるCPUモジュールであ
って、 アプリケーションプログラムを実行する実行手段と、 前記アプリケーションプログラムによる処理のために必
要な、前記I/Oモジュールからの入力データを保持す
る第1の入力バッファ手段と、 前記バスから受信した前記I/Oモジュールからの入力
データを保持する第2の入力バッファ手段と、 前記アプリケーションプログラムの実行により生じた前
記I/Oモジュールへの出力データを保持する第1の出
力バッファ手段と、 前記バスに出力する出力データを保持する第2の出力バ
ッファ手段と、 前記バスの転送速度に合わせて、一定周期で割込みを発
生させるタクト割込み発生手段と、 前記タクト割込み発生手段による割込みに同期して、前
記第2の入力バッファ手段が保持する入力データを前記
第1の入力バッファ手段へ転送する第1の同期手段と、 前記タクト割込み発生手段による割込みに同期して、前
記第1の出力バッファ手段が保持する出力データを前記
第2の出力バッファ手段へ転送する第2の同期手段と、 を備えることを特徴とするプログラマブルコントローラ
のCPUモジュール。 - 【請求項8】 1乃至複数のCPUモジュールと1乃至
複数のI/Oモジュールがバスによって接続されるプロ
グラマブルコントローラでのデータの入出力方法であっ
て前記CPUモジュールが、 前記バスの転送速度に合わせて、一定周期で割込みを発
生させ、 前記割込みに同期して、前記I/Oモジュールに対する
データの入出力処理を行う、 ことを特徴とするプログラマブルコントローラでのデー
タの入出力方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14864898A JP3959845B2 (ja) | 1998-05-29 | 1998-05-29 | プログラマブルコントローラにおける入出力制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14864898A JP3959845B2 (ja) | 1998-05-29 | 1998-05-29 | プログラマブルコントローラにおける入出力制御方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11338523A true JPH11338523A (ja) | 1999-12-10 |
JP3959845B2 JP3959845B2 (ja) | 2007-08-15 |
Family
ID=15457511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14864898A Expired - Fee Related JP3959845B2 (ja) | 1998-05-29 | 1998-05-29 | プログラマブルコントローラにおける入出力制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3959845B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010161626A (ja) * | 2009-01-08 | 2010-07-22 | Meidensha Corp | 端末装置間のデータ転送方式 |
JP2015127926A (ja) * | 2013-12-27 | 2015-07-09 | 株式会社Ihi | 通信システム及び通信制御方法 |
CN113741311A (zh) * | 2021-09-16 | 2021-12-03 | 深圳市软赢科技有限公司 | 具有子周期高频处理功能的总线控制系统及方法 |
CN115185224A (zh) * | 2022-08-26 | 2022-10-14 | 深圳市软赢科技有限公司 | 兼顾精密和高效的力控运动控制方法及系统 |
-
1998
- 1998-05-29 JP JP14864898A patent/JP3959845B2/ja not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010161626A (ja) * | 2009-01-08 | 2010-07-22 | Meidensha Corp | 端末装置間のデータ転送方式 |
JP2015127926A (ja) * | 2013-12-27 | 2015-07-09 | 株式会社Ihi | 通信システム及び通信制御方法 |
CN113741311A (zh) * | 2021-09-16 | 2021-12-03 | 深圳市软赢科技有限公司 | 具有子周期高频处理功能的总线控制系统及方法 |
CN113741311B (zh) * | 2021-09-16 | 2023-03-10 | 深圳市软赢科技有限公司 | 具有子周期高频处理功能的总线控制系统及方法 |
CN115185224A (zh) * | 2022-08-26 | 2022-10-14 | 深圳市软赢科技有限公司 | 兼顾精密和高效的力控运动控制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
JP3959845B2 (ja) | 2007-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5080448B2 (ja) | 2つのバスシステムを同期する方法および装置、並びに2つのバスシステムから成る構成 | |
US7360002B2 (en) | Method of arbitrating access to a data bus | |
US7411966B2 (en) | Method and system for coupling data networks | |
JP6428805B2 (ja) | 演算装置、制御装置および制御方法 | |
JP4154853B2 (ja) | 制御データを等値化する冗長化プログラマブルコントローラ及び等値化方法。 | |
US20210034373A1 (en) | Overlay layer for network of processor cores | |
US11811547B2 (en) | Control system in which a plurality of apparatuses in time synchronization with one another are connected to a network | |
US11036205B2 (en) | Control device and communication device | |
JPH11338523A (ja) | プログラマブルコントローラにおける入出力制御方式 | |
JP3887989B2 (ja) | プログラマブルコントローラ、及びその入出力制御方法 | |
EP3582444B1 (en) | Control device and communication device | |
JP2011070701A (ja) | データを伝送する処理システム及び方法 | |
JPH11265297A (ja) | 分散シミュレータシステム | |
KR101276837B1 (ko) | 서로 다른 동작 주파수로 동작하는 프로세서 시스템 간의 통신을 지원하기 위한 장치 | |
Rodriguez-Navas et al. | Design and modeling of a protocol to enforce consistency among replicated masters in FTT-CAN | |
JP2001147905A (ja) | プログラマブルコントローラシステム | |
JP2770177B2 (ja) | プログラマブルコントローラのリンクインタフェースモジュール | |
JPH01192239A (ja) | 通信回線におけるポーリング方式 | |
JP2000347712A (ja) | プログラマブルコントローラ | |
JP2640487B2 (ja) | プログラマブルコントローラ・システム | |
Carvalho et al. | A time-triggered controller area network platform with essentially distributed clock synchronization | |
JPH06348627A (ja) | ネットワークシステム | |
JPH077954B2 (ja) | 制御装置 | |
Walden | RFC0062: Systems for Interprocess Communication in a Resource Sharing Computer Network | |
JPH0744492A (ja) | データ転送方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20040218 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041207 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051011 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051209 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20061205 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061228 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070205 |
|
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: 20070424 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070507 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100525 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100525 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110525 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110525 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120525 Year of fee payment: 5 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120525 Year of fee payment: 5 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120525 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130525 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130525 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140525 Year of fee payment: 7 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |