JP3959845B2 - プログラマブルコントローラにおける入出力制御方式 - Google Patents
プログラマブルコントローラにおける入出力制御方式 Download PDFInfo
- Publication number
- JP3959845B2 JP3959845B2 JP14864898A JP14864898A JP3959845B2 JP 3959845 B2 JP3959845 B2 JP 3959845B2 JP 14864898 A JP14864898 A JP 14864898A JP 14864898 A JP14864898 A JP 14864898A JP 3959845 B2 JP3959845 B2 JP 3959845B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- output
- module
- input
- frame
- 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
Links
Images
Landscapes
- Multi Processors (AREA)
- Bus Control (AREA)
- Programmable Controllers (AREA)
- Small-Scale Networks (AREA)
- Selective Calling Equipment (AREA)
Description
【発明の属する技術分野】
本発明は、産業用制御装置であるプログラマブルコントローラにおける入出力制御方式に関する。
【0002】
【従来の技術】
近年、プラント、工場などでは、機械や装置のシーケンス制御に多くのプログラマブルコントローラ(以下PCという)を用い、FA(ファクトリーオートメーション)化を実現している。
【0003】
1つのPCは、プログラムの実行やデータの演算処理等を行うCPUモジュールや、制御機器とプロセスデータの入出力を行うI/Oモジュールが複数バスで接続されて構成されている。
【0004】
図20に従来のPCの構成例を示す。1つのPCは、図20に示すように、システムバス101にCPUモジュール102、I/Oモジュール103及び不図示の通信モジュールが複数接続されて構成されている。これら各モジュールは、システムバス101を介して互いにデータのやりとりを行い、接続機器の制御処理を行う。
【0005】
図20の様に、PCが複数のCPUモジュール102を備える構成の場合、各CPUモジュール102はそれぞれ非同期に動作処理を行っており、またI/Oモジュール103に対するプロセスデータの入出力処理もそれぞれ非同期に行っている。
【0006】
図21にCPUモジュール102で行われる従来のタスク動作とプロセスデータの入出力処理の関係を示す。図21に示すように各CPUモジュール102は、1スキャンの開始時及び終了時にI/Oモジュール103に対するプロセスデータの入力処理と出力処理を行う。
【0007】
ここでの1スキャンとは、CPUモジュール102上でアプリケーションプログラム等が実行されるプログラムレベル(以下Pレベルという)での、データ入力処理、演算及びデータ出力処理からなるタスクの始まりから終わりまでを指す。また入力処理とはI/Oモジュール103などからCPUモジュール102にデータを取込む処理、出力処理とはCPUモジュール102から演算結果等をI/Oモジュール103などに出力する処理を指す。
【0008】
各CPUモジュール102は、それぞれが非同期に処理を行うため、CPUモジュール102間で入出力処理に対する競合が発生する場合がある。この場合は1つのCPUモジュールのみが入出力処理を行うことが出来、他のCPUモジュール102はその間処理の実行を待たされることになる。例えば図21の場合、CPU0はCPU1の出力処理が終了するまで自己の出力処理の実行を待ち、CPU1はCPU0の入力処理が終了するまで自己の入力処理の実行を待っている。
【0009】
CPUモジュール102が複数のタスクを並列実行するマルチタスク処理を行う場合、その入出力処理の方法には図22に示す様なものがある。
例えば図22に示す場合の様にPレベルのタスクと、より優先レベルの高い上位レベルの定周期タスクが実行されている場合、上位レベルのタスクにおける入出力処理の方法としては、(1) に示すように上位レベルである定周期タスク内で特別な命令を用いてI/Oモジュール103と直接入出力を行う方法と、(2) に示すようにPレベルの入出力処理と同じタイミング内で定周期タスクの入出力を行う方法とがある。
【0010】
【発明が解決しようとする課題】
PCが複数のCPUモジュール102を備える構成の場合、各CPUモジュール102は個々に動作し、よって従来から行われている入出力制御方式では、CPUモジュール102によるI/Oモジュール103などからのプロセスデータの取込みや、I/Oモジュールなどへのプロセスデータの出力を行う入出力処理は、各CPUモジュール102間で非同期に行われる。
【0011】
このため各CPUモジュール102間では同期したデータを使用して処理を行っていない。さらにI/Oモジュール103へのプロセスデータの出力についても、各CPUモジュール102は独自のタイミングで出力しているので、I/Oモジュール103へのプロセスデータの出力は各CPUモジュール102間で同期していない。
【0012】
各I/Oモジュール103は、リアルタイムで接続機器からのプロセスデータの出力を行い、またCPUモジュール102からのデータを必要としているので、複数のCPUモジュール102が連携して処理を行う場合に、CPUモジュール102間やタスク間で同期が行われていないと、異なるデータを同じデータと認識して処理してしまうなどの問題が生じる場合がある。
【0013】
本発明は上記問題点を考慮し、CPUモジュール間やマルチタスク処理時のタスク間でが同期してデータのやり取りを行うことが可能なPC及びその入出力制御方式を提供することを目的とする。
【0014】
【課題を解決するための手段】
本発明によるプログラマブルコントローラは、複数のCPUモジュールと1乃至複数のI/Oモジュールがバスによって接続される構成を前提としている。
【0015】
上記CPUモジュールは、タクト割込み発生手段及び同期手段を備える。
タクト割込み発生手段は、上記バスの転送速度に合わせて一定周期で割込みを発生させる。
【0016】
同期手段は、上記タクト割込み発生手段による割込みに同期して、上記I/Oモジュールに対するデータの入出力処理を行う。
上記CPUモジュールは、該CPUモジュールで実行されるアプリケーションプログラムを上記タクト割込み発生手段による割込みに同期して実行する実行手段を更に備えるとすることも出来る。
【0017】
この実行手段は、例えばマルチタスクで上記アプリケーションプログラムを実行する時、該マルチタスクのタスクは上記I/Oモジュールに対するデータの入力処理及び出力処理を上記割込みに同期して行う。
【0018】
また実行手段は、上記出力処理が上記割込み発生手段による割込みが発生する前に終了するかどうかを判断し、終了しないと判断したときに該出力処理を該割込みが終了するまで遅らせる。
【0019】
更に本発明のプログラマブルコントローラでは、各モジュールが接続されるバスはリング上の構成を備え、上記CPUモジュール及びI/Oモジュールは、上記バス上をデータを巡回させて他のモジュールとのデータの入出力処理を行う構成とすることも出来る。この場合、上記CPUモジュールは上記I/Oモジュールに対してデータを送る場合トータルフレーム方式により、上記I/Oモジュールは上記CPUモジュールに対してデータを送る場合マルチキャスト方式によりデータの転送を行う。
【0020】
本発明によれば、プログラマブルコントローラを構成するCPUモジュールは、タクト割込み発生手段が発生させる割込みに同期して、上記I/Oモジュールに対するデータの入出力処理を行う。よって複数のCPUモジュールを備える構成の場合、各CPUモジュールは、この割込みに同期して処理を行う。
【0021】
また例えばマルチタスクで上記アプリケーションプログラムを実行するに場合においても、該マルチタスクのタスクは上記I/Oモジュールに対するデータの入出力処理を上記割込みに同期して行うので、各タスクは同期して処理を行う。
【0022】
【発明の実施の形態】
図1は本実施形態のPCの構成を示す図である。
本実施形態のPCでは、複数のCPUモジュール2と複数のI/Oモジュール3がリング型の伝送トポロジーをもつシリアルリンクバス1によって接続されるネットワーク構成をもつ。このシリアルリンクバス1に接続されている各モジュールは、そのネットワーク上での局としてそれぞれを一意に識別する局番が設定されている。本実施形態でのネットワークは、その局として最大256局接続できるものとし、各局にその局番として#0〜255が設定される。
【0023】
まず、シリアルリンクバス1上のデータの流れを説明する。
図2は、PC内の各モジュールの接続及びシリアルリンク1内を流れるデータの流れを示す図である。
【0024】
ネットワーク上の局となるCPUモジュール2、I/Oモジュール3等PC内の各モジュールは、内部にシリアルリンク制御LSI10を備え、このシリアルリンク制御LSI10を介してシリアルリンクバス1と接続されている。
【0025】
ネットワーク上を流れるフレームデータは、シリアルリンクバス1上を一定方向に巡回し、シリアルリンク制御LSI10は、上流局から送信されたフレームを自己の受信バッファに取込み、それが自局に対するものでなければそのまま下流局に送り、また自局に対するものあればそれを取込む。これによってシリアルリンクバス1上をフレームデータが一定方向に巡回する。
【0026】
シリアルリンク制御LSI10は、シリアルリンクバス1から受信したフレームデータを下流のモジュールに流すと共に、入力バッファ転送テーブルを参照して必要なデータを入力バッファに取込む。
【0027】
本実施形態では、CPUモジュール2がI/Oモジュール3等からデータを受信する受信処理のときのデータ転送は、トータルフレーム方式により行う。またCPUモジュール2からI/Oモジュール3などへデータを出力する送信処理のときのデータ転送は、マルチキャスト方式により行う。これらの転送方式により、シリアルリンクバス1上の各モジュールは、一定周期毎に同一のデータを同期して送受信することになる。
【0028】
まずトータルフレーム方式について説明する。
トータルフレーム方式は、CPUモジュール2がI/Oモジュール3からのデータを受取る時に用いるデータ転送方式である。
【0029】
トータルフレーム方式は、リング上のトポロジーを持つシリアルリンクバス1において、巡回する1つのフレームに対してI/Oモジュール3の各局が自局データを追加してゆき、フレームがシリアルリンクバス1を2巡回することで、自局データの送信及び他局データの受信を行い、各局が他局のデータの共有化を図ると共に伝送効率を上げるようにした伝送方式である。
【0030】
図3はトータルフレーム方式によるデータ通信の説明図である。
本実施形態では、シリアルリンクバス1の局の内の1つをリングマスター局とし、このリングマスター局によってトータルフレーム方式及び後述するマルチキャスト方式によるデータ転送を管理する。また図3中のDiはI/Oモジュール3の中で入力装置、Doは出力装置の局を示す。
【0031】
トータルフレーム方式では、ネットワーク上に唯一存在するリングマスター局により、まずトータルフレーム送信の要求を表すREQフレームが送信される。図3ではこの時のREQフレームはreq0と表されている。
【0032】
このREQフレームには、フレームのデミリタ部(スタートデミリタ(SD)部)にこのフレームがREQフレームであることを示すデータ(JKコード)が設定されており、このフレームの受信局はSD部を調べることによりこのフレームがREQフレームであることを認識する。
【0033】
REQフレームを受信した局は、そのフレーム最後に自局のデータを付加して下流局へ送信する。図3の場合、Di局はREQフレームを受信すると、その末尾に自己の入力データDi1を付加して下流局のDo1局へ送信する。Do1局ではこのフレームを受信すると、その末尾に自己の出力データDo1を付加して出力する。以下、順に各局はフレームを受取ると自己のデータをフレームの末尾に付加して下流局へ送信する。尚、本実施形態は複数のCPUモジュール2を使用するマルチCPUの構成であり、CPUモジュール2が他のCPUモジュール2が出力装置に出力したデータを参照できるようにするため、各出力装置の局Doも自己のデータの出力を行っている。しかし、CPUモジュールを1つしか持たないPCの構成の場合には、この様な必要はない。
【0034】
REQフレームがシリアルリンクバス1を1巡して、これをリングマスター局が受信すると、リングマスター局はこのフレームのSD部に設定されているデータを2巡目のREQフレームであることを示すデータ(JJコード)に変更し、またフレームの最後に自己のデータを付加して隣の下流局であるDi1局へ送信する。
【0035】
このフレームを受信したDi1局は、受信フレームのSD部を調べ、これが2巡目のREQフレームであることを認識すると、フレームのSD部の次にある1巡目の時に自己が付加した自局データを削除して下流局へ中継する。図3の場合、Di局は2巡目のREQフレームを受信すると、1巡目で自己が付加した自局のデータDi1を削除して下流局のDo1局へ送信し、Do1局は受信フレームのSD部の次にある自己の出力データDo1を削除して次の下流局であるDi2局へ送信する。以下、順に各局はフレームを受取ると1巡目で付加した自己のデータをフレームから削除して下流局へ送信する。
【0036】
この2巡回目のREQフレームがシリアルリンクバス1を巡回して、リングマスター局に戻ってくると、リングマスター局は、このフレームをシリアルリンクバス1から除去する。これによってトータルフレーム通信は完了する。
【0037】
次にマルチキャスト方式によるデータ転送について説明する。
マルチキャスト方式は、CPUモジュール2から出力機器が接続されているI/Oモジュール3に対してデータの出力を行う時用いられるデータ転送方式である。
【0038】
マルチキャスト方式は、シリアルリンクバス1上にマルチキャスト通信用のフリートークンを巡回させ、データ伝送を要求する局(出力装置に出力するための送信データが用意されており、また当該送信帯域の送信許可設定がされている局)はそのフリートークンを確保して代わりにマルチキャストフレームの送信を行う。マルチキャストフレームはシリアルリンクバス1上を巡回し、このマルチキャストフレームを受信したネットワーク上の局は、それを下流へ中継して巡回させると共にフレーム内の出力データの設定内容に基づいてデータの取込みを行う。
【0039】
図4は、マルチキャスト方式による通信の説明図である。
マルチキャスト方式による通信では、まず、シリアルリンクバス1上に1つだけ存在するネットワーク管理を行うリングマスター局が、データ転送の権限を制御するフリートークンを生成し、シリアルリンクバス1上にリリースする。このフリートークンのリリースによって、マルチキャスト通信は開始される。
【0040】
リリースされたフリートークンは、各局が順次下流局へ中継してゆき、シリアルリンクバス1上を巡回する。そしてデータの出力を行いたいCPUモジュール2は、このフリートークンを受信すると、これをシリアルリンクバス1から確保し、マスター局となる。
【0041】
マスター局は、用意してある送信データを、SD部にこのフレームがマルチキャスト通信のフレームであることを示すデータを設定したマルチキャストフレームとしてシリアルリンクバス1上に流す。図4では、マスター局は、保持したフリートークンの代わりにDo1局に対する出力データ(M−>Do1)とDo2局に対する出力データ(M−>Do2)の2つの局に対する出力データがマルチキャストフレームとして、下流局Do2へ送信される。
【0042】
このマルチキャストフレームを受取った局は、そのフレーム内の出力データに設定されている出力データの格納先の局番を参照し、この出力データが自局に対するものであれば、それを取込むと共にそのフレームをそのまま下流局へ送信する。図4では、マルチキャストフレームを受信したDo2局及びDo1局はそれぞれ自局にあててマスタ局が出力した出力データ(M−>Do2、M−>Do1)を取込むと共に、その受信フレームをそのまま隣の下流局であるリングマスター局及びマスター局へ送信する。
【0043】
フレームが1巡すると、そのフレームを最初に送信したマスタ局は、これをシリアルリンクバス1から除去し、代わりにフリートークンを生成して1上にリリースする。
【0044】
そしてフリートークンがシリアルリンクバス1を1巡して戻ってくると、リングマスター局はデータ伝送要求の有無をチェックし、要求があれば当該送信データの送信を行う。その後、自局が送信したデータフレームがシリアルリンクを1巡して自局に戻ってきたことでリングマスター局はフリートークンをシリアルリンク上から除去し、これによってマルチキャスト通信は終了する。
【0045】
尚、マルチキャスト通信に限らず、シリアルリンクバス1上では、リングマスター局のデータフレームは常に最後に送信される。
次にシリアルリンクバス1上の局となっている、各モジュールにおけるデータの送受信処理について説明する。
【0046】
まずCPUモジュール2での処理について説明する。
CPUモジュール2内のシリアルリンク制御LSI10は、シリアルリンクバス1からトータルフレーム方式により送信されてくるフレーム(トータルフレーム)を受信すると、それを下流のモジュールに送信すると共に、入力バッファ転送テーブルを参照して必要なデータを入力バッファに取込む。図5はこの時のCPUモジュール2内での入力データに対する制御処理を示す図である。
【0047】
図5に示すように、CPUモジュール2内には、データの入力制御を行うための構成要素としてシリアルリンク制御LSI10の他に入力バッファ21、I/O領域22、入力バッファ転送テーブル23及び入力データ転送テーブル24を備える。
【0048】
入力バッファ21は、上流局から流れてきたデータの内自モジュールで必要な局からのプロセスデータを、入力バッファ転送テーブル23を参照して取込むバッファである。またI/O領域22は自局で実行されている複数のアプリケーションプログラムの各タスク25が直接アクセスすることが出来るメモリ領域である。CPUモジュール2内にあるプログラム処理を行う実行プロセッサ(不図示)は、このI/O領域22内から自己が必要とするデータを読み出したり、あるいはI/Oモジュール3への出力データをI/O領域22に書込む。
【0049】
シリアルリンク制御LSI10は、シリアルリンクバス1からトータルフレーム方式で送信されてきたデータを自己の受信バッファ11に取込むと共に下流局のモジュールに流す。
【0050】
シリアルリンクバス1から受信したデータは、受信バッファ11に取込まれた後、シリアルリンクバス1の転送周期と同一周期のタクト周期で、入力バッファ転送テーブル23を参照して受信バッファ11から自局が必要とする局のデータが入力バッファ21に格納される。そして、タスク起動時にそのタスクに対応する入力データ転送テーブル24が参照されてそのタスクが必要とするデータがI/O領域22に転送される。なおタクト周期については後述する。
【0051】
この処理をトータルフレーム方式による2つのフレーム(1巡目、2巡目)に対して行うことによって、CPUモジュール2は、シリアルリンクバス1上の全てのI/Oモジュール3のデータを取込むことが出来る。
【0052】
図6は、図5の入力バッファ転送テーブル23と入力データ転送テーブル24によるデータ転送を説明する図である。
入力バッファ転送テーブル23は、ネットワーク上の全ての局の局番と対応づけて、その局からのデータの入力バッファ21での格納位置がアドレスとして格納されており、局番により入力バッファ転送テーブル23を参照することにより、その局からのデータを格納する入力バッファ21上のアドレスを求めることが出来る。尚自局が必要とせず、データ転送を行わない局に対応する部分にはアドレスとして“FFFF”が設定されており、データの転送処理を行う際にはバッファ転送テーブル23に“FFFF”以外の値が設定されている局のデータに対してその局の局番、データのサイズ及びステータス情報と共に受信バッファ11内のトータルフレームから入力バッファ21の対応するアドレスの位置に順次転送される。
【0053】
入力データ転送テーブル24は、入力バッファ21からI/O領域22へのデータの転送を行う際に参照されるものである。入力データ転送テーブル24は、各タスク毎に複数存在し、そのタスクが使用するデータの入力バッファ21での格納位置であるアドレス1、I/O領域22での格納位置であるアドレス2及びデータサイズが格納されている。タスクが起動される際に、入力バッファ21からI/O領域22へのデータの転送を行うときには、そのタスクに対応した入力データ転送テーブル24を使用してそのタスクが起動される前に入力バッファからI/O領域22にそのタスクが使用するデータのみが転送される。また入力バッファのステータスがエラーを示していれば、そのデータはI/O領域22に転送しない。
【0054】
なおこの入力バッファ転送テーブル23及び入力データ転送テーブル24は、アプリケーションプログラムを作成し、コンパイルした時にプログラム作成ツール(ローダ)がI/OモジュールなどのPCのシステムの定義情報を参照し、自動生成する。またこれらのテーブルは、アプリケーションプログラムをCPUモジュール2にダウンロードする時に同時にシステム定義としてダウンロードされ、アプリケーションプログラムが実行される前に予めCPUモジュール2に設定されている。
【0055】
CPUモジュール2は、受信バッファ11から入力バッファ転送テーブル23によって指定された自己で使用する入力データを入力バッファ21に取込むが、このデータの転送はシリアルリンクバス1での転送速度と同一速度の一定間隔の周期で行われる。またシリアルリンク制御LSI10は、このデータ転送と同一周期で実行プロセッサに対して割込みを発生させる。この割込みが、図7に示すタクト割込みである。またこのタクト割込みの発生周期をタクト周期という。
【0056】
CPUモジュール2内の実行プロセッサは、タクト割込みを受けるとタスクの起動条件をチェックし、最もタスクレベルの高い、すなわち最も優先度の高いタスクを起動する。その動作を示したのが図7である。
【0057】
図7では、Pレベルと、それよりタスクレベルの高いタスク0、タスク1の2つの定周期タスクの動作例を示している。
タクト割込みが発生すると、実行プロセッサはタスクの起動条件をチェックし、起動すべきタスクがあると、タスクレベルの高い順にそのタスクに割り当てられたプロセスデータのデータ入力処理を行う。図7の場合、最初のタクト割込みが発生すると、タスク0、タスク1、Pレベルの順に各タスクのデータ入力処理が行われる。
【0058】
ここで言うデータ入力処理とは、図5に示す入力バッファ21からI/O領域22へデータを転送することである。実際のタスクは、その実行時にこのI/O領域22のデータに対して演算処理を行う。この入力バッファ21からI/O領域22へのデータ転送は、各タスク毎に存在する入力データ転送テーブル24を参照して行われる。この入力データ転送テーブル24を参照することにより、起動しようとしているタスクで必要とするプロセスデータが判り、使用するプロセスデータのみが入力バッファ21からI/O領域22へ転送される。
【0059】
このタクト割込みによる入力処理は、割込み発生時に、別のタスクが実行中であっても、そのタスクによる処理を中断して行われる。例えば、図7の場合、2回目及び5回目のタクト割込みが発生した時、Pレベルのタスクは処理の実行中であったが、その処理を中断してタスク0及びタスク1のデータ入力処理が実行され、全てのデータ実行処理が完了後、中断されていたPレベルのタスクの実行が再開される。
【0060】
図8は図7で説明したタスクを示す図である。
図8中のPxxxはプログラムを示し、1つのタスクは複数のプログラムから構成されている。各タスク毎にプログラム管理テーブルが作成され、タスク内ではこのプログラム管理テーブルに登録されている順番にプログラムが起動される。
【0061】
1つのタスクではその開始時に、まずデータ入力処理が行われ、タスクの終了時にデータ出力処理が行われる。
図9は、図7でのタスクの中断を説明する図である。
【0062】
図9(a)は、他のタスクの入力処理によって処理の中断が発生した場合、図9(b)は2つのタクト周期に跨がったために中断が発生した場合を示す。図9(a)では、このタスクを含む全てのタスクでデータ入力処理が完了するまでプログラムの実行は行われず、全てのタスクでデータ入力処理が完了した時点でプログラムが実行される。また図9(b)では、プログラムP157を実行中にタクト割込みが発生すると、このP157の処理は中断され、他のタスクでのデータ入力処理が実行される。そして、全てのタスクでデータ入力処理が完了すると、P157の処理が再開される。
【0063】
図10は、CPUモジュール2内での出力データに対する制御処理を示す図である。
CPUモジュール2内にはデータの出力制御を行うための構成要素として、出力バッファ26、出力データ転送テーブル27及びシリアルリンク制御LSI10内に送信バッファ12を有する。出力バッファ26は、出力データ転送テーブル27の参照結果によりデータを出力する局毎にタスク25が出力処理を行うデータを、出力を行うI/Oモジュールの局の局番、データのサイズ及びマスク情報と共に蓄積するバッファである。尚マスク情報については後述する。出力データ転送テーブル27は、タスク毎に存在し、そのタスクが出力する出力データをI/O領域22から出力バッファ26へ転送を行う際に参照されるものである。
【0064】
タスク処理が終了した時点で実行プロセッサは、出力データ転送テーブル27を参照し、I/O領域22から出力バッファ26へそのタスクに割り当てられたデータのみ転送する。
【0065】
出力バッファ26のデータは、実行プロセッサによるCPUモジュール2の内部処理とは無関係にタクト周期でシリアルリンク上に出力される。この様な一連の動作により、シリアルリンクバス1に接続された各モジュールは、一定周期(タクト周期)中は共通のデータを用いて動作することが可能である。
【0066】
図11は、図10の出力データ転送テーブル27によるI/O領域22から出力バッファ26へのデータの転送を説明する図である。
出力データ転送テーブル27は、I/O領域22から出力バッファ26へのデータの転送を行う際に参照されるものである。入力データ転送テーブル27は、各タスク毎に複数存在し、そのタスクが出力処理を行うデータ毎に、そのデータのI/O領域22での格納位置であるアドレス3と出力バッファ26での格納位置であるアドレス4が格納されている。
【0067】
データ出力処理では、タスクの終了時に、そのタスクに対応した出力データ転送テーブル27が参照され、I/O領域22から出力バッファ26にデータが転送される。出力バッファ26は、マルチキャスト方式のフレームフォーマットそのものの構成をもち、シリアルリンク制御LSI10は、マルチキャスト用のトークンを受信すると出力バッファ26内のデータをマルチキャストフレームとして、シリアルリンクバス1上にDMA転送する。
【0068】
この出力データ転送テーブル27も、前述した入力バッファ転送テーブル23や24と同様、コンパイル時にプログラム作成ツール(ローダ)がI/OモジュールなどのPCのシステムの定義情報を参照し、自動生成する。またこれのテーブルは、アプリケーションプログラムをCPUモジュール2にダウンロードする時に同時にシステム定義としてダウンロードされ、アプリケーションプログラムが実行される前に予めCPUモジュール2に設定されている。
【0069】
このCPUモジュール2でのデータ出力処理は、I/O領域22から出力バッファへ26のデータ転送(データ出力処理)と、出力バッファ26からシリアルリンク1へ出力するタイミングは非同期に行われる。このため、この2つのデータ転送が重ならないようにする必要がある。このためには、データ出力処理がタクト割込みの発生タイミングと重ならないようにすればよい。
【0070】
図12は、このデータ転送のタイミングの調節処理を説明する図である。
CPUモジュール2では、図12の様に、タスクが終了しデータ出力処理に入る前に、タクト周期からタクト割込みの発生からの経過時間を引いた残り時間と、そのタスクに割り当てられているデータ出力処理のために必要な時間とを比較する。そして残り時間よりデータ転送に必要な時間の方が短ければ(図12の(a)の場合)、そのままデータ出力処理を行う。またデータ転送に必要な時間の方が長ければ(図12(b)の場合)、次のタクト割込みまでにデータ出力処理は完了しないので、このデータ出力処理の実行を次のタクト周期まで遅らせ、データ転送が重ならない様にする。
【0071】
この様にタスクの中断処理の調整を行うことにより、タクト周期より長いタスク処理であっても、タクト周期に同期した処理をすることが可能となる。
次にI/Oモジュール3における入出力処理について説明する。
【0072】
図13(a)は、I/Oモジュール3における入力処理を説明する図である。
I/Oモジュールにおける入力処理とは、出力装置であるI/Oモジュール3がシリアルリンクバス1より受信したマルチキャストフレームの中から、自己に対するデータを取込み、自己に接続されている制御装置等に出力することである。
【0073】
I/Oモジュール3内のシリアルリンク制御LSI10は、シリアルリンクバス1よりマルチキャストフレームを受信すると、自己の受信バッファ(不図示)内にそのフレームを取込むと共に下流局へ送信する。
【0074】
マルチキャストフレームには、送信局によって出力された1乃至複数の出力データが含まれており、各出力データにはそれぞれ出力相手局を示す局番、データのサイズ及びマスク情報が付されている。
【0075】
I/Oモジュール3は、受信フレーム内の各出力データに対し、付されている局番と自己の局番情報を比較しゆき、一致するものがあれば対応する出力データを入力バッファ31に取込む。
【0076】
入力バッファ31に取込んだ出力データは、データと共に送信されてきたマスク情報によって有効なデータのみが制御装置に出力する。図13(b)は、そのマスク処理を示す図である。
【0077】
マルチキャストフレームによって送信されてくる出力データには、それぞれマスク情報が付されており、制御装置へ出力するデータとしては、このマスク情報で示された有効なデータ部のみが用いられる。例えば図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における出力処理を説明する図である。
【0078】
I/Oモジュール3に於ける出力処理とは、入力装置であるI/Oモジュール3が制御装置等からの入力データをCPUモジュール2に対してトータルフレーム方式で出力することである。
【0079】
I/Oモジュール3内のシリアルリンク制御LSI10は、シリアルリンクバス1よりSD部にJKコードが設定されているトータルフレーム方式のフレーム(1巡目のフレーム)を受信すると、受信したフレームに末尾に自己のデータを付加して出力する。この出力データは、I/Oモジュール3に接続されている複数の制御装置からの入力データに基づいて、事前に出力バッファ32内に生成しておいたもので、これに自局の局番情報、データサイズ及びステータス情報と共にトータルフレームの末尾に付加して出力する。
【0080】
またシリアルリンクバス1よりSD部にJJコードが設定されているフレーム(2巡目のフレーム)を受信すると、受信フレームのSD部の次のデータは自己が付加したデータなのでそれを削除し、残りのデータをそのまま下流局へ出力する。
【0081】
以上の様にして、I/Oモジュール3では、マルチキャスト方式による入力処理及びトータルフレーム方式による出力処理が行われる。図15は、シリアルリンクバス1とCPUモジュール2内の実行プロセッサでの処理の流れを示す図である。図15中「T・F1」はトータルフレーム方式で転送されるデータ転送の時間帯域、「M・C」はマルチキャスト方式で転送されるデータ転送の時間帯域、「MSG」はCPUモジュール2間やCPUモジュール2と通信モジュールなどとの間で行われるメッセージ転送用の時間帯域を示している。
【0082】
図15に示されるように、1タクト周期内で「T・F1」と「M・C」が送信されており、よって各CPUモジュール2の実行プロセッサは、同一タクト周期内で行った入力処理では同じデータ値を得られ、各CPUモジュール2間で同期を取ることが出来る。
【0083】
尚図15中のタクト周期の時間は1msec*Nで、このNの値はシリアルリンクバス1上の局数に応じて変動する。
図16は、CPUモジュール2でのデータ入力処理時に、シリアルリンク制御LSI10によって行われる受信バッファ11から入力バッファ21へのデータ転送処理のフローを示すフローチャートである。
【0084】
図16において処理が開始されると、まずステップS1としてシリアルリンクバス1よりトータルフレームを受信したかどうかが判断され、受信していないのならば(ステップS1、N)、処理を終了する。
【0085】
ステップS1において、トータルフレームを受信したのならば(ステップS1Y)、次にステップS2として入力バッファ転送テーブル23を参照し、局番からデータの転送先である入力バッファ21のアドレスを求める。
【0086】
ステップS2で求めたアドレスが“FFFF”であったならば(ステップS3、Y)、この局のデータは必要としていないので、ステップS2の処理に戻り、次の局に対するアドレスを求める。またステップS3で、ステップS2で求めたアドレスが“FFFF”以外の値であれば(ステップS3、N)、その局のデータは必要であるので、受信バッファ11からまずその局のステータス情報を入力バッファ21へ書込む(ステップS4)。
【0087】
そして、その局のデータに対して、ステップS5及び6でアドレスを+1インクリメントしながら、サイズ分のデータを入力バッファ21へ転送する(ステップS6)。
【0088】
そしてサイズ分のデータ転送が終了したすると(ステップS5、Y)、ステップS7として全ての局のデータに対する転送処理が終了したかどうかが判断され、まだ未処理の局があれば(ステップS7、N)、ステップS2に戻りこれまでの処理を繰り返す。また全ての局のデータの転送が終了したのならば(ステップS7、Y)、処理を終了する。
【0089】
図17は、CPUモジュール2でのデータ入力処理として、タスクがその処理開始時に行う入力バッファ21からI/O領域22への出力データの転送処理を示すフローチャートである。
【0090】
図17において処理が開始されると、まずステップS11として、タスクは自己の入力データ転送テーブル24を参照する。次にステップS12として、入力データ転送テーブル24に登録されている、このタスクが出力する出力データ全てに対しての処理が終了したかどうかが判断される。そして全て終了していれば(ステップS12、Y)、このタスクは出力処理を終了する。
【0091】
またステップS12で、処理が終了していないデータがあれば(ステップS12、N)、次にステップS13として未転送のデータについて、そのサイズ分のデータ転送が終了したかどうかが判断される。サイズ分のデータが転送されていれば(ステップS13、Y)、そのデータは転送が完了しているので、ステップS12に戻り、まだ転送が完了していないデータがあるかが判断される。
【0092】
このステップS13の判断で、まだサイズ分のデータ転送が終了していなければ(ステップS13、N)、入力データ転送テーブル24から読み出した、出力データの入力バッファ21での格納位置であるアドレス1及びI/O領域22での格納位置であるアドレス2を用い、ステップS14として、出力データを入力バッファ21のアドレス1の位置から読み出す。そして次にデータをステップS15として、I/O領域22のアドレス2の位置へ書込む。
【0093】
この後、ステップS16として、アドレス1及びアドレス2の値を+1インクリメントし、またサイズを−1デクリメントしてそれぞれ値を更新する。以上ステップS13〜16での処理がサイズの値が0になるまで繰り返され、1つの出力データに対する転送処理が終了すると、ステップS12の判断に処理は移り、入力データ転送テーブル24に登録されている全てのデータに対して同様の処理が繰り返されて、タスクによる出力データの転送処理が完了する。
【0094】
図18は、データ入力処理時にタスクがその処理終了時に行うI/O領域22から出力バッファ26への出力データの転送処理を示すフローチャートである。図18において処理が開始されると、まずステップS21として、タスクは自己の出力データ転送テーブル27を参照する。次にステップS22として、出力データ転送テーブル27に登録されている、このタスクが出力する出力データ全てに対しての処理が終了したかどうかが判断される。そして全てに対して処理が終了していれば(ステップS22、Y)、このタスクは出力データの転送処理を終了する。
【0095】
またステップS22で処理が終了していないデータがあれば(ステップS22、N)、次にステップS23として未転送のデータについて、そのサイズ分のデータ転送が終了したかどうかが判断される。サイズ分のデータが転送されていれば(ステップS23、Y)、そのデータは転送が完了しているので、ステップS22に戻り、まだ転送が完了していないデータがあるかが判断される。
【0096】
またステップS23の判断で、まだサイズ分のデータ転送が終了していなければ(ステップS23、N)、出力データ転送テーブル27から読み出したI/O領域22での出力データの格納位置であるアドレス3及び出力バッファ26での出力先のアドレスであるアドレス4を用い、ステップS24として、まず、I/O領域22のアドレス3の位置からデータを読み出す。そしてこのデータをステップS25として、出力バッファ26のアドレス4の位置へ書込む。
【0097】
この後、ステップS26として、アドレス3及びアドレス4の値を+1インクリメントし、またサイズを−1デクリメントしてそれぞれ値を更新する。以上ステップS23〜26での処理がサイズの値が0になるまで繰り返され、1つの出力データに対する転送処理が終了すると、ステップS22の判断に処理は移り、入力データ転送テーブル24に登録されている全てのデータに対して同様の処理が繰り返されて、タスクによるデータの出力データの転送処理が完了する。
【0098】
図19は、CPUモジュール2での出力処理において、シリアルリンク制御LSI10によって行われる出力バッファ26からシリアルリンク制御LSI10内の送信バッファ12への送信処理を示すフローチャートである。
【0099】
図19において処理が開始されると、ステップS31として、タクト周期で、出力バッファ26内のデータがシリアルリンク制御LSI10によってDMA転送され、全てのデータが転送し終わると処理は終了する。
【0100】
【発明の効果】
以上の様に本発明によるPCにおいては、そのPCを構成するCPUモジュールが、タクト割込み発生手段が発生させる割込みに同期して、上記I/Oモジュールに対するデータの入出力処理を行う。よって複数のCPUモジュールを備える構成の場合、各CPUモジュール間でこの割込みの発生に合わせて同期処理を行うことが出来る。
【0101】
また例えばマルチタスクで上記アプリケーションプログラムを実行する場合ににおいても、該マルチタスクのタスクは上記I/Oモジュールに対するデータの入出力処理を上記割込みに同期して行うので、各タスク間で同期を取ることが出来る。
【図面の簡単な説明】
【図1】本実施形態のPCの構成を示す図である。
【図2】PC内の各モジュールの接続及びシリアルリンク内を流れるデータの流れを示す図である。
【図3】トータルフレーム方式による通信の説明図である。
【図4】マルチキャスト方式による通信の説明図である。
【図5】CPUモジュール内での入力データに対する制御処理を示す図である。
【図6】入力バッファ転送テーブルと入力データ転送テーブルによるデータ転送を説明する図である。
【図7】タクト割込みとタスク動作を説明する図である。
【図8】タスクの詳細を示す図である。
【図9】タスクの中断を説明する図である。
【図10】CPUモジュール内での出力データに対する制御処理を示す図である。
【図11】出力データ転送テーブルによるI/O領域から出力バッファへのデータの転送を説明する図である。
【図12】データ出力処理のタイミング調節処理を説明する図である。
【図13】I/Oモジュールにおける入力処理及び出力データのマスク処理を説明する図である。
【図14】I/Oモジュールにおける出力処理を説明する図である。
【図15】シリアルリンクバスとCPUモジュール内の実行プロセッサでの処理の流れを示す図である。
【図16】シリアルリンク制御LSIによって行われる受信バッファから入力バッファへのデータ転送処理のフローを示すフローチャートである。
【図17】タスクがその処理開始時に行う入力バッファからI/O領域への出力データの転送処理のフローを示すフローチャートである。
【図18】タスクがその処理終了時に行うI/O領域から出力バッファへの出力データの転送処理のフローを示すフローチャートである。
【図19】シリアルリンク制御LSIによって行われる出力バッファから送信バッファへの送信処理を示すフローチャートである。
【図20】従来のPCの構成例を示す図である。
【図21】CPUモジュールで行われる従来のタスク動作とプロセスデータの入出力処理の関係を示す図である。
【図22】従来のタスク動作を示す図である。
【符号の説明】
1 シリアルリンクバス
2 CPUモジュール
3 I/Oモジュール
10 シリアルリンク制御LSI
11 送信バッファ
12 受信バッファ
21、31 入力バッファ
22 I/O領域
23 入力バッファ転送テーブル
24 入力データ転送テーブル
25 タスク
26、32 出力バッファ
27 出力データ転送テーブル
Claims (8)
- マルチタスク処理を行う複数のCPUモジュールと1乃至複数のI/Oモジュールがバスによって接続されるプログラマブルコントローラであって、
前記CPUモジュールは、
前記バスの転送速度に合わせて、一定周期で割込みを発生させるタクト割込み発生手段と、
前記タクト割込み発生手段による割込みに同期して、前記I/Oモジュールに対するデータの入出力処理を行う同期手段と、
を備え、
前記I/Oモジュールは、
前記バスからフレームを受信すると、当該フレームに対して入出力処理を行ない、フレームを前記バスに送出する送受信手段と、
を備えることを特徴とするプログラマブルコントローラ。 - 前記CPUモジュールは、該CPUモジュールで実行されるアプリケーションプログラムを前記タクト割込み発生手段による割込みに同期して実行する実行手段を更に備えることを特徴とする請求項1記載のプログラマブルコントローラ。
- 前記CPUモジュールは入力バッファを更に備え、前記実行手段が複数のタスクを並列実行するマルチタスクで前記アプリケーションプログラムを実行する時、該マルチタスクのタスクは前記I/Oモジュールに対するデータの入力処理を、前記割込みに同期して前記フレーム内のデータを前記入力バッファに取り込むことにより実現することを特徴とする請求項2記載のプログラマブルコントローラ。
- 前記実行手段は、前記出力処理が前記割込み発生手段による割込みが発生する前に終了するかどうかを判断し、終了しないと判断したときに該出力処理を該割込みが終了するまで遅らせることを特徴とする請求項2又は3記載のプログラマブルコントローラ。
- 前記バスはリング上の構成を備え、前記CPUモジュール及びI/Oモジュールは、前記バス上をデータを巡回させて他のモジュールとのデータの入出力処理を行うことを特徴とする請求項1乃至4のいずれか1つに記載のプログラマブルコントローラ。
- 前記CPUモジュールは前記I/Oモジュールに対してデータを送る場合トータルフレーム方式により、前記I/Oモジュールは前記CPUモジュールに対してデータを送る場合マルチキャスト方式によりデータの転送を行うことを特徴とする請求項5記載のプログラマブルコントローラ。
- 複数のCPUモジュールと1乃至複数のI/Oモジュールがバスによって接続されるプログラマブルコントローラにおけるCPUモジュールであって、
アプリケーションプログラムを実行する実行手段と、
前記アプリケーションプログラムによる処理のために必要な、前記I/Oモジュールからの入力データを保持する第1の入力バッファ手段と、
前記バスから受信したフレーム内の前記I/Oモジュールからの入力データを保持する第2の入力バッファ手段と、
前記アプリケーションプログラムの実行により生じた前記I/Oモジュールへの出力データを保持する第1の出力バッファ手段と、
前記バスにフレームとして出力する出力データを保持する第2の出力バッファ手段と、
前記バスの転送速度に合わせて、一定周期で割込みを発生させるタクト割込み発生手段と、
前記タクト割込み発生手段による割込みに同期して、前記第2の入力バッファ手段が保持する入力データを前記第1の入力バッファ手段へ転送する第1の同期手段と、
前記タクト割込み発生手段による割込みに同期して、前記第1の出力バッファ手段が保持する出力データを前記第2の出力バッファ手段へ転送する第2の同期手段と、
を備えることを特徴とするプログラマブルコントローラのCPUモジュール。 - 複数のCPUモジュールと1乃至複数のI/Oモジュールがバスによって接続されるプログラマブルコントローラでのデータの入出力方法であって
前記CPUモジュールが、
前記バスの転送速度に合わせて、一定周期で割込みを発生させ、
前記割込みに同期して、前記I/Oモジュールに対するデータの入出力処理を行い、
前記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 JPH11338523A (ja) | 1999-12-10 |
JP3959845B2 true 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) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5396864B2 (ja) * | 2009-01-08 | 2014-01-22 | 株式会社明電舎 | 端末装置間のデータ転送方式 |
JP6273841B2 (ja) * | 2013-12-27 | 2018-02-07 | 株式会社Ihi | 通信システム及び通信制御方法 |
CN113741311B (zh) * | 2021-09-16 | 2023-03-10 | 深圳市软赢科技有限公司 | 具有子周期高频处理功能的总线控制系统及方法 |
CN115185224B (zh) * | 2022-08-26 | 2023-05-16 | 深圳市软赢科技有限公司 | 兼顾精密和高效的力控运动控制方法及系统 |
-
1998
- 1998-05-29 JP JP14864898A patent/JP3959845B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11338523A (ja) | 1999-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5080448B2 (ja) | 2つのバスシステムを同期する方法および装置、並びに2つのバスシステムから成る構成 | |
US7411966B2 (en) | Method and system for coupling data networks | |
JP4154853B2 (ja) | 制御データを等値化する冗長化プログラマブルコントローラ及び等値化方法。 | |
JP4612094B2 (ja) | バス間でのメッセージの自動ルーティングのためのゲートウェイ | |
KR101555812B1 (ko) | 데이터 전송 장치 | |
JP2523882B2 (ja) | デ―タ伝送装置 | |
JP3959845B2 (ja) | プログラマブルコントローラにおける入出力制御方式 | |
CN113508560A (zh) | 控制系统、装置以及控制方法 | |
JP2008146541A (ja) | Dma転送システム、dmaコントローラ及びdma転送方法 | |
JP3887989B2 (ja) | プログラマブルコントローラ、及びその入出力制御方法 | |
JP3029170B2 (ja) | データ伝送方法と装置および非同期制御システム | |
EP1476986B1 (en) | Information communication controller interface apparatus and method | |
US20080091850A1 (en) | Method for processing consistent data sets | |
JP4123660B2 (ja) | プログラマブルコントローラ | |
JP2001245017A (ja) | Usbシミュレーション装置、及び、記憶媒体 | |
JP5223582B2 (ja) | メッセージ伝送装置及びメッセージ伝送方法 | |
JP2821053B2 (ja) | ネットワークシステム | |
JPS6053342B2 (ja) | 情報伝送方式 | |
JPH01157143A (ja) | トークンパッシングバス方式を用いたネットワークシステム | |
JPH11345149A (ja) | リモートメンテナンスシステム | |
JPH01192239A (ja) | 通信回線におけるポーリング方式 | |
JP2001147905A (ja) | プログラマブルコントローラシステム | |
JP2745464B2 (ja) | トークンパッシング方式のlan装置 | |
JPH10207856A (ja) | 分散型計算機システム | |
JPH09114505A (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 |