JP2001022413A - Programmable controller - Google Patents
Programmable controllerInfo
- Publication number
- JP2001022413A JP2001022413A JP11196204A JP19620499A JP2001022413A JP 2001022413 A JP2001022413 A JP 2001022413A JP 11196204 A JP11196204 A JP 11196204A JP 19620499 A JP19620499 A JP 19620499A JP 2001022413 A JP2001022413 A JP 2001022413A
- Authority
- JP
- Japan
- Prior art keywords
- program
- programmable controller
- data
- task
- base address
- 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
- Programmable Controllers (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、例えば鉄鋼、製紙
プラントや上下水道等の公共システム、自動車産業等の
産業用システムの制御に広く用いられるプログラマブル
コントローラ(一般に、PLCと称している)に係り、
特にタスクおよびプログラム毎に独立したローカル変数
領域を確保できるようにしたプログラマブルコントロー
ラに関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a programmable controller (generally referred to as a PLC) widely used for controlling industrial systems such as steel, papermaking plants, water and sewage systems, and the automotive industry. ,
In particular, the present invention relates to a programmable controller capable of securing an independent local variable area for each task and program.
【0002】[0002]
【従来の技術】従来から、プログラマブルコントローラ
においては、演算の対象としてレジスタを使用している
ことが多い。これは、いわゆるグローバル変数であるの
で、どんなプログラムからでもアクセスが可能であり、
レジスタの重複使用による制限等を受け、プログラムの
バグを発生させる原因ともなっている。2. Description of the Related Art Conventionally, in a programmable controller, a register is often used as a target of an operation. Since this is a so-called global variable, it can be accessed from any program,
Restrictions due to duplicate use of registers, etc., also cause program bugs.
【0003】[0003]
【発明が解決しようとする課題】このため、最近では、
ローカル変数を使用可能なプログラマブルコントローラ
の実現が強く望まれてきているが、ハードウェアレベル
で実現したプログラマブルコントローラは存在しないの
が実状である。For this reason, recently,
Although there is a strong demand for a programmable controller that can use local variables, there is no programmable controller implemented at the hardware level.
【0004】本発明の目的は、タスクおよびプログラム
毎に独立したローカル変数領域を確保できるようにし
て、レジスタの重複使用による制限他を受けることな
く、タスクおよびプログラム毎に自由に変数を定義して
使用することが可能なプログラマブルコントローラを提
供することにある。An object of the present invention is to make it possible to secure an independent local variable area for each task and program, and to freely define variables for each task and program without being restricted by duplication of registers. It is to provide a programmable controller that can be used.
【0005】[0005]
【課題を解決するための手段】上記の目的を達成するた
めに、請求項1の発明では、シーケンスプログラムメモ
リに記憶されているシーケンスプログラムを実行するシ
ーケンス演算装置と、制御に使用する変数等のデータを
記憶するデータメモリとを備えて構成されるプログラマ
ブルコントローラにおいて、データメモリの割付構成と
して、シーケンスプログラムを構成するタスクおよび当
該タスク内のプログラム毎に、独立したデータ領域を割
り当てるようにしている。In order to achieve the above object, according to the first aspect of the present invention, there is provided a sequence operation device for executing a sequence program stored in a sequence program memory, and a sequence operation device such as a variable used for control. In a programmable controller including a data memory for storing data, an independent data area is allocated to a task constituting a sequence program and a program in the task as an arrangement of the data memory.
【0006】また、請求項2の発明では、コントローラ
全体の実行制御を行なう中央演算処理装置と、中央演算
処理装置が実行するプログラムを記憶しているプログラ
ムメモリと、シーケンスプログラムメモリに記憶されて
いるシーケンスプログラムを実行するシーケンス演算装
置と、制御に使用する変数等のデータを記憶するデータ
メモリとを備えて構成されるプログラマブルコントロー
ラにおいて、データメモリの割付構成として、シーケン
スプログラムを構成するタスクおよび当該タスク内のプ
ログラム毎に、独立したデータ領域を割り当てるように
している。According to the second aspect of the present invention, the central processing unit controls execution of the whole controller, a program memory storing a program executed by the central processing unit, and a sequence program memory. In a programmable controller configured to include a sequence operation device that executes a sequence program and a data memory that stores data such as variables used for control, a task that configures the sequence program as a data memory allocation configuration and the task An independent data area is allocated to each program in the program.
【0007】従って、請求項1または請求項2の発明の
プログラマブルコントローラにおいては、タスクおよび
プログラム毎に、独立したデータ領域を割り当てること
により、タスクおよびプログラム毎に独立したローカル
変数領域を確保できるため、従来のようにレジスタの重
複使用による制限他を受けることなく、タスクおよびプ
ログラム毎に自由に変数を定義して使用することができ
る。Therefore, in the programmable controller according to the first or second aspect of the present invention, an independent data area is allocated to each task and program, so that an independent local variable area can be secured for each task and program. Variables can be freely defined and used for each task and program without being limited by duplication of registers as in the related art.
【0008】一方、請求項3の発明では、上記請求項1
または請求項2の発明のプログラマブルコントローラに
おいて、プログラムに固有な変数をアクセスする際に、
当該プログラムに固有のベースアドレスを基準にして変
数をアクセスするようにしている。On the other hand, according to the invention of claim 3, the above-mentioned claim 1 is provided.
Alternatively, in the programmable controller according to the second aspect, when accessing a variable unique to the program,
Variables are accessed based on a base address unique to the program.
【0009】従って、請求項3の発明のプログラマブル
コントローラにおいては、プログラムに固有なベースア
ドレスを基準にして変数をアクセスすることにより、プ
ログラムを切り替える際にベースアドレスを変更するこ
とで、プログラムに固有な変数をアクセスすることがで
きる。Therefore, in the programmable controller according to the third aspect of the present invention, by accessing the variable based on the base address unique to the program, the base address is changed when the program is switched, thereby changing the base address. You can access variables.
【0010】また、請求項4の発明では、上記請求項1
または請求項2の発明のプログラマブルコントローラに
おいて、シーケンス演算装置に、プログラムに固有な変
数をアクセスする際にベースとなるベースアドレスを記
憶するベースアドレスレジスタを備え、プログラムを切
り替える際に所定の命令によってベースアドレスレジス
タの内容を変更するようにしている。[0010] In the invention of claim 4, the above-mentioned claim 1 is provided.
Alternatively, in the programmable controller according to the second aspect of the present invention, the sequence operation device includes a base address register for storing a base address serving as a base when accessing a variable unique to the program, and the base is controlled by a predetermined instruction when switching the program. The contents of the address register are changed.
【0011】従って、請求項4の発明のプログラマブル
コントローラにおいては、プログラム毎の変数をアクセ
スする際のベースアドレスを記憶するベースレジスタを
設けることにより、プログラムを切り替える際にベース
アドレスレジスタの内容を変更することで、プログラム
に固有な変数をアクセスすることができる。Therefore, in the programmable controller according to the fourth aspect of the present invention, by providing a base register for storing a base address for accessing a variable for each program, the contents of the base address register are changed when the program is switched. By doing so, it is possible to access variables unique to the program.
【0012】一方、請求項5の発明では、上記請求項4
の発明のプログラマブルコントローラにおいて、ベース
アドレスレジスタに、タスクが占用するデータ領域を示
すアドレスを格納するタスクベースアドレス設定命令を
設け、タスクを切り替える際にタスクベースアドレス設
定命令を実行することにより、プログラムが使用するデ
ータ領域を指定するようにしている。On the other hand, according to the invention of claim 5, the above-mentioned claim 4
In the programmable controller according to the invention, a program is provided by providing a task base address setting instruction for storing an address indicating a data area occupied by the task in the base address register, and executing the task base address setting instruction when switching tasks. The data area to be used is specified.
【0013】従って、請求項5の発明のプログラマブル
コントローラにおいては、タスクを切り替える際にタス
クベースアドレス設定命令を実行することにより、ベー
スアドレスレジスタにタスクが占用するデータ領域を示
すアドレスを格納させることができるため、タスク毎に
占用するデータ領域を指定することができる。Therefore, in the programmable controller according to the fifth aspect of the present invention, when the task is switched, the task base address setting instruction is executed so that the address indicating the data area occupied by the task is stored in the base address register. Therefore, a data area to be occupied can be designated for each task.
【0014】また、請求項6の発明では、上記請求項4
の発明のプログラマブルコントローラにおいて、あるプ
ログラムから他のプログラムを呼び出す際に、呼び出さ
れるプログラムが占用するデータ領域のアドレスを、プ
ログラム呼び出し命令によってベースアドレスレジスタ
に設定することにより、呼び出されたプログラムが専用
のデータ領域を使用するようにしている。[0014] According to the sixth aspect of the present invention, there is provided the fourth aspect of the present invention.
In the programmable controller according to the invention, when a certain program calls another program, an address of a data area occupied by the called program is set in a base address register by a program call instruction, so that the called program becomes a dedicated program. Use the data area.
【0015】従って、請求項6の発明のプログラマブル
コントローラにおいては、あるプログラムから他のプロ
グラムを呼び出す際に、ベースアドレスレジスタに現在
設定されている値を基準にして、呼び出されるプログラ
ムが占用するローカル変数領域の大きさを反映してベー
スアドレスレジスタを変更することにより、あるプログ
ラムから呼び出された別のプログラムも専用のデータ領
域を使用することができ、また上位のプログラムが使用
しているローカル変数領域と連続しかつ下位領域となる
領域を占用することができる。Therefore, in the programmable controller according to the present invention, when a certain program is called from another program, the local variable occupied by the called program is based on the value currently set in the base address register. By changing the base address register to reflect the size of the area, another program called from one program can use the dedicated data area, and the local variable area used by the higher-level program. And an area that is a lower area that is continuous with the above can be occupied.
【0016】さらに、請求項7の発明では、上記請求項
1または請求項2の発明のプログラマブルコントローラ
において、シーケンス演算装置に、プログラムに固有な
変数をアクセスする際にベースとなるベースアドレスを
記憶するベースアドレスレジスタと、プログラムに固有
な変数領域の大きさを記憶するデータ範囲レジスタとを
備え、あるプログラムから他のプログラムを呼び出す際
に、呼び出されるプログラムが占用するデータ領域の先
頭アドレスおよびデータ量を、プログラム呼び出し命令
によってベースアドレスレジスタおよびデータ範囲レジ
スタに設定することにより、呼び出されたプログラムの
専用データ領域外へのアクセスを検出するようにしてい
る。According to a seventh aspect of the present invention, in the programmable controller according to the first or second aspect of the present invention, a base address used as a base when a variable unique to the program is accessed is stored in the sequence operation device. It has a base address register and a data range register that stores the size of a variable area unique to a program. When a program calls another program, the start address and data amount of the data area occupied by the called program are determined. By setting the base address register and the data range register by a program call instruction, an access to the outside of the dedicated data area of the called program is detected.
【0017】従って、請求項7の発明のプログラマブル
コントローラにおいては、プログラム呼び出し命令が、
呼び出されるプログラムが使用するローカル変数領域の
範囲をデータ範囲レジスタに設定することにより、デー
タ範囲レジスタにプログラム固有のデータ領域を記憶さ
せることができるため、プログラムが他のプログラムの
データ領域をアクセスしないように監視する、すなわち
呼び出されたプログラムが専用のデータ領域外のデータ
をアクセスしないように制御することができる。Therefore, in the programmable controller according to the present invention, the program call instruction is
By setting the range of the local variable area used by the called program in the data range register, the program-specific data area can be stored in the data range register, so that the program does not access the data area of another program. , That is, control can be performed so that the called program does not access data outside the dedicated data area.
【0018】一方、請求項8の発明では、上記請求項1
または請求項2の発明のプログラマブルコントローラに
おいて、シーケンス演算装置に、プログラムに固有な変
数をアクセスする際にベースとなるベースアドレスを記
憶するベースアドレスレジスタと、プログラムに固有な
変数領域の大きさを記憶するデータ範囲レジスタとを備
え、タスクを切り替える際に、当該タスクに固有な一時
使用データ領域の先頭アドレスおよびデータ量を、専用
のタスク切替命令によって一時使用データ用のベースア
ドレスレジスタおよびデータ範囲レジスタに設定するこ
とにより、呼び出されたプログラムが使用するデータが
専用のデータ領域を使用すると共に、専用データ領域外
へのアクセスを検出するようにしている。On the other hand, according to the invention of claim 8, the above-mentioned claim 1 is provided.
Alternatively, in the programmable controller according to the second aspect of the present invention, a base address register for storing a base address serving as a base when accessing a variable unique to the program, and a size of a variable area unique to the program are stored in the sequence operation device. When a task is switched, the start address and data amount of the temporary use data area unique to the task are stored in the base address register and the data range register for the temporary use data by a dedicated task switching instruction. By setting, the data used by the called program uses the dedicated data area and detects an access to the outside of the dedicated data area.
【0019】従って、請求項8の発明のプログラマブル
コントローラにおいては、タスクを切り替える際に、専
用のタスク切替命令が一時使用データ用ベースアドレス
レジスタおよび一時使用のデータ範囲レジスタを設定す
ることにより、タスク毎に独立した一時使用データ領域
を使用することができ、またデータ範囲を監視すること
により、専用の一時使用データ領域外へのアクセスを禁
止することができる。Therefore, in the programmable controller according to the present invention, when a task is switched, a dedicated task switching instruction sets a temporary use data base address register and a temporary use data range register, thereby enabling a In addition, an independent temporary use data area can be used, and by monitoring the data range, access outside the dedicated temporary use data area can be prohibited.
【0020】また、請求項9の発明では、上記請求項1
または請求項2の発明のプログラマブルコントローラに
おいて、プログラムが使用する固有のデータ量をコンパ
イラに指示するように、プログラムに固有なデータ量を
プログラム呼び出し命令の中に格納するようにしてい
る。According to the ninth aspect of the present invention, in the first aspect,
Alternatively, in the programmable controller according to the second aspect of the invention, the amount of data unique to the program is stored in the program call instruction so as to instruct the compiler of the amount of data unique to the program.
【0021】従って、請求項9の発明のプログラマブル
コントローラにおいては、プログラムが使用するローカ
ル変数のデータ量をプログラム呼び出し命令に含めるよ
うにすることにより、コンパイラがあるプログラムおよ
び下流のプログラム全体で使用するローカル変数領域を
求めることが容易になる。Therefore, in the programmable controller according to the ninth aspect of the present invention, the data amount of the local variable used by the program is included in the program call instruction, so that the compiler uses the local variable used by the entire program and the downstream program. It becomes easy to find the variable area.
【0022】さらに、請求項10の発明では、上記請求
項1または請求項2の発明のプログラマブルコントロー
ラにおいて、プログラムを呼び出す際に、当該プログラ
ムに付したプログラム番号によってプログラムの開始ア
ドレスを指定すると共に、プログラム内から当該プログ
ラム内でのみ使用される専用のプログラムを呼び出す際
には、呼び出しアドレスからの相対アドレスによってプ
ログラムを呼び出すようにしている。According to a tenth aspect of the present invention, in the programmable controller according to the first or second aspect of the invention, when a program is called, a start address of the program is designated by a program number assigned to the program. When a dedicated program used only in the program is called from the program, the program is called by a relative address from the calling address.
【0023】従って、請求項10の発明のプログラマブ
ルコントローラにおいては、プログラムをプログラムに
付された固有の番号によって管理することにより、先頭
アドレスや使用データ量等の関連するデータをプログラ
ム呼び出し命令に含めることが必要なくなるため、少な
いプログラムコード量でプログラムを構成することがで
きる。また、あるプログラム内でだけ使用されるプログ
ラムを呼び出す際には、プログラム番号ではなく、相対
アドレスを使用して呼び出すことにより、プログラムの
呼出しを高速に実行することができる。Therefore, in the programmable controller according to the tenth aspect of the present invention, the program is managed by a unique number assigned to the program, so that related data such as a head address and a used data amount are included in the program call instruction. Is no longer required, so that the program can be configured with a small amount of program code. When a program used only in a certain program is called, the program can be called at high speed by calling using a relative address instead of a program number.
【0024】[0024]
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照して詳細に説明する。Embodiments of the present invention will be described below in detail with reference to the drawings.
【0025】(第1の実施の形態)図1は、本発明によ
るプログラマブルコントローラの要部構成例を示すブロ
ック図である。(First Embodiment) FIG. 1 is a block diagram showing a configuration example of a main part of a programmable controller according to the present invention.
【0026】すなわち、本発明のプログラマブルコント
ローラは、図1に示すように、中央演算処理装置(以
下、CPUと称する)1は、プログラムメモリ2と、ワ
ークメモリ3と、シーケンス演算装置4と、シーケンス
プログラムメモリ5と、データメモリ6と、マイコンバ
ス7と、通信インタフェース8と、I/O9と、モニタ
装置20とから構成している。That is, in the programmable controller of the present invention, as shown in FIG. 1, a central processing unit (hereinafter referred to as a CPU) 1 includes a program memory 2, a work memory 3, a sequence operation device 4, It comprises a program memory 5, a data memory 6, a microcomputer bus 7, a communication interface 8, an I / O 9, and a monitor device 20.
【0027】CPU1は、本プログラマブルコントロー
ラの中枢部分であり、コントローラ全体の実行制御を行
なうものである。The CPU 1 is a central part of the programmable controller and controls execution of the whole controller.
【0028】プログラムメモリ2は、CPU1が実行す
るプログラムを記憶しているメモリであり、例えばOS
や制御プログラムを記憶している。The program memory 2 is a memory for storing a program to be executed by the CPU 1.
And control programs.
【0029】ワークメモリ3は、CPU1が全体制御を
実行する時に作業領域として使用するメモリである。The work memory 3 is a memory used as a work area when the CPU 1 executes the overall control.
【0030】シーケンス演算装置4は、シーケンスプロ
グラムメモリ5に記憶されているシーケンスプログラム
を実行するプロセッサである。The sequence operation device 4 is a processor that executes a sequence program stored in the sequence program memory 5.
【0031】シーケンスプログラムメモリ5は、ユーザ
が作成したシーケンスプログラムを記憶するメモリであ
る。The sequence program memory 5 is a memory for storing a sequence program created by a user.
【0032】データメモリ6は、ユーザが使用する制御
に使用する変数等のデータを記憶するメモリである。The data memory 6 is a memory for storing data such as variables used for control used by the user.
【0033】マイコンバス7は、本プログラマブルコン
トローラ内の要素をCPU1やシーケンス演算装置4と
接続するためのバスであり、アドレスバス、データバ
ス、制御バスの総体である。The microcomputer bus 7 is a bus for connecting elements in the programmable controller to the CPU 1 and the sequence operation device 4, and is a total of an address bus, a data bus, and a control bus.
【0034】通信インタフェース8は、本プログラマブ
ルコントローラとモニタ装置20等とを通信媒体を介し
て接続するためのインタフェース回路である。The communication interface 8 is an interface circuit for connecting the programmable controller to the monitor device 20 and the like via a communication medium.
【0035】I/O9は、本プログラマブルコントロー
ラと外部の制御対象とを接続するための入出力装置であ
る。The I / O 9 is an input / output device for connecting the programmable controller to an external control object.
【0036】モニタ装置20は、本プログラマブルコン
トローラのシーケンスプログラムの実行状態を監視した
り、シーケンスプログラムの作成・修正に使用されるも
のである。The monitor device 20 is used to monitor the execution state of the sequence program of the programmable controller and to create and modify the sequence program.
【0037】本実施の形態のプログラマブルコントロー
ラでは、例えば図2に概念図を示すようなシーケンスプ
ログラムを扱う。The programmable controller according to the present embodiment handles a sequence program as shown in a conceptual diagram in FIG. 2, for example.
【0038】図2において、シーケンスプログラムは、
2個のタスクA,Bから構成されている。In FIG. 2, the sequence program is:
It is composed of two tasks A and B.
【0039】タスクAは、プログラムA1が、その中か
らプログラムB1とC1を呼び出している。また、プロ
グラムC1は、プログラムB2を呼び出している。In task A, program A1 calls programs B1 and C1 from among them. The program C1 calls the program B2.
【0040】ここで、プログラムB1とプログラムB2
は、同じオブジェクトプログラムを使用するプログラム
であり、扱う変数だけが異なるプログラムである。Here, program B1 and program B2
Are programs that use the same object program and differ only in the variables they handle.
【0041】一方、同様に、タスクBは、プログラムA
2が、その中からプログラムB3とプログラムC2を呼
び出している。On the other hand, similarly, the task B is the program A
2 calls the program B3 and the program C2 from among them.
【0042】ここで、プログラムA2は、プログラムA
1と同じオブジェクトプログラムを使用するプログラム
であり、プログラムB3,C2は、それぞれプログラム
B1,C1と同じオブジェクトプログラムを使用するプ
ログラムである。Here, the program A2 is the program A
The programs B3 and C2 use the same object program as the programs B1 and C1, respectively.
【0043】このように、同一のオブジェクトプログラ
ムを使用しながら、扱う変数だけを変更してプログラム
を構成すると、プログラムメモリ2の容量を節約するこ
とができる。As described above, when the same object program is used and only the variables to be handled are changed to configure the program, the capacity of the program memory 2 can be saved.
【0044】本実施の形態のプログラマブルコントロー
ラでは、前記図1におけるデータメモリ6の割付構成と
して、例えば図3に示すように、シーケンスプログラム
を構成する各タスクおよびこのタスク内の各プログラム
毎に、独立したデータ領域を割り当てるように構成して
いる。In the programmable controller according to the present embodiment, as an allocation configuration of the data memory 6 in FIG. 1, for example, as shown in FIG. 3, each task constituting the sequence program and each program in this task are independent. It is configured to allocate the specified data area.
【0045】ここで、この独立したデータ領域の割り当
ては、本実施の形態では、CPU1で行なう、すなわち
コンパイラをCPU1で走らせるようにしている。In this embodiment, the allocation of the independent data area is performed by the CPU 1, that is, the compiler is run by the CPU 1.
【0046】図3において、タスクAとタスクBが使用
するデータ領域は独立しており、さらに呼び出される側
のプログラム(以下、下位のプログラムと称する)のデ
ータ領域は、呼び出す側のプログラム(以下、上位のプ
ログラムと称する)のデータ領域に続く領域に確保して
いる。In FIG. 3, the data areas used by task A and task B are independent, and the data area of the called program (hereinafter referred to as a lower-order program) is replaced by the calling program (hereinafter referred to as the lower program). (Referred to as an upper-level program) in an area following the data area.
【0047】従って、本実施の形態のプログラマブルコ
ントローラにおいては、各タスクおよび各プログラム毎
に、独立したデータ領域を使用することができる。Therefore, in the programmable controller of this embodiment, an independent data area can be used for each task and each program.
【0048】以上のように、本実施の形態のプログラマ
ブルコントローラでは、タスクおよびプログラム毎に、
独立したデータ領域を割り当てるようにしているので、
タスクおよびプログラム毎に独立したローカル変数領域
を確保できるため、従来のようにレジスタの重複使用に
よる制限他を受けることなく、タスクおよびプログラム
毎に自由に変数を定義して使用することが可能となる。As described above, in the programmable controller according to the present embodiment, for each task and program,
Since we allocate independent data areas,
Since an independent local variable area can be secured for each task and program, it is possible to freely define and use variables for each task and program without being limited by duplication of registers as in the past. .
【0049】(第2の実施の形態)図4は、本実施の形
態によるプログラマブルコントローラにおけるシーケン
ス演算装置4の構成例を示すブロック図である。。(Second Embodiment) FIG. 4 is a block diagram showing a configuration example of a sequence operation device 4 in a programmable controller according to the present embodiment. .
【0050】すなわち、シーケンス演算装置4は、図4
に示すように、シーケンス演算回路4−1と、命令レジ
スタ4−2と、ベースアドレスレジスタ4−3と、アド
レス範囲レジスタ4−4と、MUX4−5と、加算器4
−6と、メモリアドレスレジスタ4−7と、バスI/F
4−8と、テンボラリメモリアドレスレジスタ4−9
と、テンポラリメモリアドレス範囲レジスタ4−10
と、MUX4−11と、比較回路4−12とから構成し
ている。That is, the sequence arithmetic unit 4
As shown in the figure, a sequence operation circuit 4-1, an instruction register 4-2, a base address register 4-3, an address range register 4-4, a MUX 4-5, and an adder 4
-6, a memory address register 4-7, a bus I / F
4-8 and the temporary memory address register 4-9
And the temporary memory address range register 4-10
, A MUX 4-11, and a comparison circuit 4-12.
【0051】シーケンス演算回路4−1は、シーケンス
プログラムメモリ5からシーケンスプログラムを順次読
み出して処理する回路である。The sequence operation circuit 4-1 is a circuit for sequentially reading a sequence program from the sequence program memory 5 and processing it.
【0052】命令レジスタ4−2は、シーケンス演算回
路4−1により読み出されたシーケンス命令を一時記憶
しておくレジスタである。The instruction register 4-2 is a register for temporarily storing the sequence instruction read by the sequence operation circuit 4-1.
【0053】なお、この命令レジスタ4−2には、シー
ケンス命令のオペランドアドレスも含まれている。The instruction register 4-2 also contains the operand address of the sequence instruction.
【0054】ベースアドレスレジスタ4−3は、プログ
ラム中でデータメモリ6をアクセスする場合に、データ
メモリ6のアドレス計算の基礎となるアドレスを記憶し
ているレジスタであり、後述するように、タスクおよび
プログラムの切替時に内容が変更される。The base address register 4-3 is a register for storing an address used as a basis for calculating an address of the data memory 6 when the data memory 6 is accessed in a program. The contents are changed when the program is switched.
【0055】アドレス範囲レジスタ4−4は、現在実行
されているプログラムが使用するデータメモリ6の先頭
アドレスおよび末尾アドレスを記憶しているレジスタで
あり、データメモリ6をアクセスする際にそのアドレス
が適正かどうかを判定するのに使用される。The address range register 4-4 is a register that stores the start address and the end address of the data memory 6 used by the program currently being executed. Used to determine if
【0056】MUX4−5およびMUX4−11は、マ
ルチプレクサである。MUX 4-5 and MUX 4-11 are multiplexers.
【0057】加算器4−6は、ベースアドレスレジスタ
4−3に記憶されているベースアドレスと、命令レジス
タ4−2に記憶されているオペランドアドレスとを加算
して、目的のメモリアドレスを生成する。The adder 4-6 adds the base address stored in the base address register 4-3 and the operand address stored in the instruction register 4-2 to generate a target memory address. .
【0058】メモリアドレスレジスタ4−7は、アクセ
ス対象のメモリアドレスを記憶するレジスタである。The memory address register 4-7 is a register for storing a memory address to be accessed.
【0059】バスI/F4−8は、マイコンバス7とシ
ーケンス演算装置4内のバスとを接続するためのI/F
である。A bus I / F 4-8 is an I / F for connecting the microcomputer bus 7 to a bus in the sequence operation device 4.
It is.
【0060】テンボラリメモリアドレスレジスタ4−9
は、一時使用メモリ(以下、テンボラリメモリと称す
る)のベースアドレスを記憶するレジスタであり、タス
ク切替時に内容が変更される。The temporary memory address register 4-9
Is a register for storing a base address of a temporary memory (hereinafter referred to as a temporary memory), and its contents are changed at the time of task switching.
【0061】テンポラリメモリアドレス範囲レジスタ4
−10は、現在実行されているタスクが使用するテンボ
ラリメモリの先頭アドレスおよび末尾アドレスを記憶し
ているレジスタであり、テンボラリメモリをアクセスす
る際にそのアドレスが適正かどうかを判定するのに使用
される。Temporary memory address range register 4
A register -10 stores the start address and end address of the temporary memory used by the currently executed task, and is used to determine whether the addresses are appropriate when accessing the temporary memory. used.
【0062】比較回路4−12は、アクセスされるメモ
リアドレスが現在実行中のタスクまたはプログラムが正
常なアドレス範囲内かどうかを判定するために、メモリ
アドレスレジスタ4−7の内容とアドレス範囲レジスタ
4−4,4−10の内容とを比較するために使用され
る。The comparison circuit 4-12 determines the contents of the memory address register 4-7 and the address range register 4 in order to determine whether the memory address to be accessed is within the normal address range of the currently executed task or program. Used to compare with the contents of -4, 4-10.
【0063】そして、メモリアドレスレジスタ4−7の
内容がアドレス範囲外である時に、比較回路4−12か
らシーケンス演算回路4−1にエラー信号を出力する。When the contents of the memory address register 4-7 are out of the address range, an error signal is output from the comparison circuit 4-12 to the sequence operation circuit 4-1.
【0064】本実施の形態のプログラマブルコントロー
ラでは、プログラムに固有な変数をアクセスする際に、
このプログラムに固有のベースアドレスを基準にして変
数をアクセスするように構成している。In the programmable controller according to the present embodiment, when accessing a variable unique to a program,
The variable is accessed based on a base address unique to this program.
【0065】具体的には、プログラムに固有な変数をア
クセスする際に、プログラム実行前に前記ベースアドレ
スレジスタ4−3にこのプログラムが使用するデータメ
モリ6のベースアドレスを記憶しておき、データメモリ
6をアクセスする際には、オペランドアドレスにこのベ
ースアドレスを加算して実際のメモリアドレスを作成す
るように構成している。More specifically, when a variable unique to a program is accessed, the base address of the data memory 6 used by the program is stored in the base address register 4-3 before execution of the program. When accessing the address 6, the base address is added to the operand address to create an actual memory address.
【0066】従って、本実施の形態のプログラマブルコ
ントローラにおいては、プログラム毎に独立したデータ
領域を使用することができる。Therefore, in the programmable controller of the present embodiment, an independent data area can be used for each program.
【0067】以上のように、本実施の形態のプログラマ
ブルコントローラでは、プログラムに固有なベースアド
レスを基準にして変数をアクセスするようにしているの
で、プログラムを切り替える際にベースアドレスを変更
することで、プログラムに固有な変数をアクセスするこ
とが可能となる。As described above, in the programmable controller according to the present embodiment, the variable is accessed based on the base address unique to the program. Therefore, when the program is switched, the base address is changed. Variables unique to the program can be accessed.
【0068】(第3の実施の形態)本実施の形態のプロ
グラマブルコントローラでは、前記図4に示したよう
に、シーケンス演算装置4に、メモリアドレスの計算の
基礎となる、すなわちプログラムに固有な変数をアクセ
スする際にベースとなるベースアドレスを記憶するベー
スアドレスレジスタ4−3を備えて、プログラムを切り
替える際に後述する命令によってベースアドレスレジス
タ4−3の内容を変更するように構成している。(Third Embodiment) In the programmable controller according to the present embodiment, as shown in FIG. 4, the sequence arithmetic unit 4 is provided with a variable which is a basis of calculation of a memory address, that is, a variable unique to a program. And a base address register 4-3 for storing a base address serving as a base when accessing the program. When the program is switched, the contents of the base address register 4-3 are changed by an instruction described later.
【0069】従って、本実施の形態のプログラマブルコ
ントローラにおいては、例えば図5に概念図を示すよう
に、プログラムB1とプログラムB3が同じオブジェク
トプログラムを使用している時、プログラムが異なって
いれば使用しているベースアドレスが異なることから、
それぞれのプログラムの中で変数Xをアクセスする際に
は、同じオフセットを使用して異なる変数にアクセスす
ることができる。Therefore, in the programmable controller according to the present embodiment, when the program B1 and the program B3 use the same object program as shown in the conceptual diagram of FIG. Because the base address is different,
When accessing the variable X in each program, different variables can be accessed using the same offset.
【0070】これにより、従来のプログラマブルコント
ローラのように、固定アドレスを使用するレジスタやデ
バイスといったグローバルな資源を演算対象にするので
はなく、プログラム毎に独立したローカルな変数を使用
することができる。As a result, it is possible to use independent local variables for each program, instead of using global resources such as registers and devices using fixed addresses as computation targets as in a conventional programmable controller.
【0071】以上のように、本実施の形態のプログラマ
ブルコントローラでは、プログラム毎の変数をアクセス
する際のベースアドレスを記憶するベースレジスタ4−
3を設けるようにしているので、プログラムを切り替え
る際にベースアドレスレジスタ4−3の内容を変更する
ことで、プログラムに固有な変数をアクセスすることが
可能となる。As described above, in the programmable controller according to the present embodiment, the base register 4- which stores the base address when accessing the variable for each program is used.
3 is provided, by changing the contents of the base address register 4-3 when switching the program, it is possible to access a variable unique to the program.
【0072】(第4の実施の形態)本実施の形態のプロ
グラマブルコントローラでは、タスクが占用するデータ
領域を示すアドレスを格納する、例えば図6に示すよう
な構成のタスクベースアドレス設定(以下、ASSIG
Nと称する)命令を、前記ベースアドレスレジスタ4−
3に設け、タスクを切り替える際にこのASSIGN命
令を実行することにより、プログラムが使用するデータ
領域を指定するように構成している。(Fourth Embodiment) In the programmable controller of this embodiment, a task base address setting (hereinafter, ASSIG) having a configuration as shown in FIG. 6 for storing an address indicating a data area occupied by a task is stored.
N) to the base address register 4-
3 to execute the ASSIGN instruction when the task is switched, thereby designating a data area used by the program.
【0073】このASSIGN命令は、オペランドとし
てタスク番号を使用し、データメモリ6またはワークメ
モリ3に置かれた、例えば図7に概念図を示すようなタ
スクベースアドレステーブルから、指定されたタスク番
号に対応するベースアドレスを読み出して、ベースアド
レスレジスタ4−3に記憶する働きをする。This ASSIGN instruction uses a task number as an operand, and, for example, from a task base address table shown in the conceptual diagram of FIG. It serves to read the corresponding base address and store it in base address register 4-3.
【0074】従って、本実施の形態のプログラマブルコ
ントローラにおいては、このASSIGN命令を、例え
ば図8に示すようなプログラム例のように、タスクの開
始時に実行することにより、各タスクで使用するデータ
メモリ6を設定することができる。Therefore, in the programmable controller according to the present embodiment, the ASSIGN instruction is executed at the start of a task, for example, as shown in a program example shown in FIG. Can be set.
【0075】図8に示すプログラムは、タスク番号1の
プログラムA1を実行するという意味であり、機械語表
現では、ASSIGN命令の後にプログラム呼び出し命
令が置かれている。The program shown in FIG. 8 means that the program A1 of the task number 1 is executed. In the machine language expression, a program call instruction is placed after the ASSIGN instruction.
【0076】ベースアドレステ−ブル4−3の内容は、
プログラム実行前にはモニタ装置20からダウンロード
が可能であり、プログラム実行開始後の変更に対して
は、CPU1またはシーケンス演算装置4から変更が可
能である。The contents of the base address table 4-3 are as follows:
The program can be downloaded from the monitor device 20 before the program is executed, and can be changed from the CPU 1 or the sequence operation device 4 for a change after the program is started.
【0077】以上のように、本実施の形態のプログラマ
ブルコントローラでは、タスクを切り替える際にASS
IGN命令を実行するようにしているので、ベースアド
レスレジスタ4−3にタスクが占用するデータ領域を示
すアドレスを格納させることができるため、タスク毎に
占用するデータ領域を指定することが可能となる。As described above, in the programmable controller according to the present embodiment, the ASS
Since the IGN instruction is executed, the address indicating the data area occupied by the task can be stored in the base address register 4-3, so that the data area occupied by each task can be specified. .
【0078】(第5の実施の形態)本実施の形態のプロ
グラマブルコントローラでは、あるプログラムから他の
プログラムを呼び出す際に、呼び出されるプログラムが
占用するデータ領域のアドレスを、プログラム呼び出し
(以下、PROGRAMと称する)命令によってベース
アドレスレジスタ4−3に設定することにより、呼び出
されたプログラムが専用のデータ領域を使用するように
構成している。(Fifth Embodiment) In the programmable controller of this embodiment, when a certain program calls another program, the address of a data area occupied by the called program is changed to a program call (hereinafter referred to as PROGRAM). By setting in the base address register 4-3 by an instruction, the called program uses a dedicated data area.
【0079】すなわち、前記第4の実施の形態では、タ
スク切替時のベースアドレスはASSIGN命令で設定
することで説明したが、本実施の形態では、プログラム
切替時のベースアドレス変更はPROGRAM命令で実
行する。That is, in the fourth embodiment, the base address at the time of task switching is set by the ASSIGN instruction, but in this embodiment, the base address at the time of program switching is changed by the PROGRAM instruction. I do.
【0080】従って、本実施の形態のプログラマブルコ
ントローラにおいては、例えば図9に概念図を示すよう
に、プログラムA1からプログラムB1を呼び出す場合
を例にとると、プログラムA1とプログラムB1のデー
タメモリ6の配置は、前記図3に示したような関係にな
っている。Therefore, in the programmable controller of this embodiment, as shown in the conceptual diagram of FIG. 9, for example, when the program B1 is called from the program A1, the data memory 6 of the program A1 and the data memory 6 of the program B1 are used. The arrangement is in the relationship as shown in FIG.
【0081】プログラムA1は、タスクAで設定された
ベースアドレスを使用しているが、プログラムB1の呼
び出し時には、それをプログラムB1のオフセット分
(図3ではで示す)だけずらす必要がある。Although the program A1 uses the base address set by the task A, when the program B1 is called, it needs to be shifted by the offset of the program B1 (indicated by in FIG. 3).
【0082】この変更は、例えば図10に示すようなP
ROGRAM命令が実行する。This change can be made, for example, by changing P as shown in FIG.
The ROGRAM instruction executes.
【0083】PROGRAM命令は、呼び出されるプロ
グラムが使用するデータ量(ワード数)とプログラム番
号をオペランドとして持っている。The PROGRAM instruction has the data amount (the number of words) used by the called program and the program number as operands.
【0084】また、PROGRAM命令には、補助命令
P OFFが付属しており、このPROGRAM命令が
設定するオフセットアドレスを記憶している。The PROGRAM instruction includes an auxiliary instruction P OFF is attached, and stores the offset address set by the PROGRAM instruction.
【0085】PROGRAM命令は、現在のベースアド
レスレジスタ4−3の内容をセーブした後、現在値に上
記のオフセット値を加えた値を、新規なベースアドレス
としてベースアドレスレジスタ4−3に記憶する。The PROGRAM instruction saves the contents of the current base address register 4-3, and stores a value obtained by adding the above offset value to the current value in the base address register 4-3 as a new base address.
【0086】プログラム実行完了時には、セーブしてお
いたベースアドレスを、再びベースアドレスレジスタ4
−3にセットする。When the program execution is completed, the saved base address is stored in the base address register 4 again.
Set to -3.
【0087】タスク内でプログラムを呼び出す場合に
は、上記のように上位のプログラムのベースアドレスか
らのオフセットアドレスを使用してベースアドレスレジ
スタ4−3の内容を書き替えていくことにより、プログ
ラム毎に独立したデータ領域を確保できることになる。When a program is called in a task, the contents of the base address register 4-3 are rewritten using the offset address from the base address of the higher-order program as described above, so that An independent data area can be secured.
【0088】なお、ここでは、便宜上PROGRAM命
令と補助命令で構成したが、プログラムメモリ2の語長
が許せば1個の命令で構成可能であることは言うまでも
ない以上のように、本実施の形態のプログラマブルコン
トローラでは、あるプログラムから他のプログラムを呼
び出す際に、ベースアドレスレジスタ4−3に現在設定
されている値を基準にして、呼び出されるプログラムが
占用するローカル変数領域の大きさを反映してベースア
ドレスレジスタ4−3を変更するようにしているので、
あるプログラムから呼び出された別のプログラムも専用
のデータ領域を使用することが可能となり、また上位の
プログラムが使用しているローカル変数領域と連続しか
つ下位領域となる領域を占用することが可能となる。Although the PROGRAM instruction and the auxiliary instruction are used here for convenience, it is needless to say that the present embodiment can be configured with one instruction if the word length of the program memory 2 permits. When a certain program calls another program, the programmable controller reflects the size of the local variable area occupied by the called program based on the value currently set in the base address register 4-3. Since the base address register 4-3 is changed,
Another program called from one program can also use the dedicated data area, and it can occupy an area that is continuous with the local variable area used by the upper program and is the lower area. Become.
【0089】(第6の実施の形態)本実施の形態のプロ
グラマブルコントローラでは、前記図4に示したよう
に、シーケンス演算装置4に、メモリアドレスの計算の
基礎となる、すなわちプログラムに固有な変数をアクセ
スする際にベースとなるベースアドレスを記憶するベー
スアドレスレジスタ4−3と、プログラムに固有な変数
領域の大きさを記憶するデータ範囲レジスタであるアド
レス範囲レジスタ4−4およびテンポラリメモリアドレ
ス範囲レジスタ4−10とを備え、あるプログラムから
他のプログラムを呼び出す際に、呼び出されるプログラ
ムが占用するデータ領域の先頭アドレスおよびデータ量
を、PROGRAM命令によってベースアドレスレジス
タ4−3とデータ範囲レジスタであるアドレス範囲レジ
スタ4−4およびテンポラリメモリアドレス範囲レジス
タ4−10とに設定することにより、呼び出されたプロ
グラムの専用データ領域外へのアクセスを検出するよう
に構成している。(Sixth Embodiment) In the programmable controller according to the present embodiment, as shown in FIG. 4, the sequence operation device 4 stores, in the variable , A base address register 4-3 for storing a base address serving as a base when accessing the program, an address range register 4-4 as a data range register for storing the size of a variable area unique to the program, and a temporary memory address range register 4-10, when a program is called from another program, the start address and data amount of a data area occupied by the called program are determined by a PROGRAM instruction using a base address register 4-3 and an address serving as a data range register. Range register 4-4 and Polaritons by setting the Li memory address range register 4-10, it is configured to detect access to a dedicated data area outside the called program.
【0090】すなわち、前記第5の実施の形態では、P
ROGRAM命令によってプログラム切替時のベースア
ドレス変更で実行することで説明したが、本実施の形態
では、PROGRAM命令によって、ベースアドレスレ
ジスタ4−3の内容の変更だけでなく、アドレス範囲レ
ジスタ4−4およびテンポラリメモリアドレス範囲レジ
スタ4−10の変更も実行する。That is, in the fifth embodiment, P
In the present embodiment, the execution is performed by changing the base address at the time of program switching by the ROGRAM instruction. However, in the present embodiment, not only the content of the base address register 4-3 is changed but also the address range register 4-4 and the PROGRAM instruction. The change of the temporary memory address range register 4-10 is also executed.
【0091】従って、本実施の形態のプログラマブルコ
ントローラにおいては、例えば図10に示すようなPR
OGRAM命令が実行されると、例えば図11に概念図
を示すようなデータメモリ範囲テーブルから、オペラン
ドに指定されたプログラム番号のプログラムが使用する
データメモリ6の先頭アドレスおよび末尾アドレスを読
み出して、アドレス範囲レジスタ4−4に記憶する。Therefore, in the programmable controller of the present embodiment, for example, the PR as shown in FIG.
When the OGRAM instruction is executed, the start address and the end address of the data memory 6 used by the program having the program number specified in the operand are read from the data memory range table as shown in the conceptual diagram of FIG. It is stored in the range register 4-4.
【0092】これらのアドレスは、前述したように、メ
モリアクセスの度にメモリアドレスレジスタ4−7の内
容と比較回路4ー12で比較され、プログラムが固有の
データ領域外のデータを参照していないかどうかが調ベ
られる。As described above, these addresses are compared with the contents of the memory address register 4-7 by the comparison circuit 4-12 each time the memory is accessed, and the program does not refer to data outside the unique data area. Is checked.
【0093】もし、固有のデータ領域外のアドレスをア
クセスしようとした場合には、前述したように、比較回
路4ー12からシーケンス演算回路4−1にエラー信号
が送られて、メモリアクセスを無効にすることができ
る。If an attempt is made to access an address outside the unique data area, an error signal is sent from the comparison circuit 4-12 to the sequence operation circuit 4-1 to invalidate the memory access as described above. Can be
【0094】以上のように、本実施の形態のプログラマ
ブルコントローラでは、PROGRAM命令が、呼び出
されるプログラムが使用するローカル変数領域の範囲を
データ範囲レジスタであるアドレス範囲レジスタ4−4
およびテンポラリメモリアドレス範囲レジスタ4−10
に設定するようにしているので、アドレス範囲レジスタ
4−4およびテンポラリメモリアドレス範囲レジスタ4
−10にプログラム固有のデータ領域を記憶させること
ができるため、プログラムが他のプログラムのデータ領
域をアクセスしないように監視する、すなわち呼び出さ
れたプログラムが専用のデータ領域外のデータをアクセ
スしないように制御することが可能となる。As described above, in the programmable controller of the present embodiment, the PROGRAM instruction sets the range of the local variable area used by the called program to the address range register 4-4 which is the data range register.
And temporary memory address range register 4-10
, The address range register 4-4 and the temporary memory address range register 4
-10 can store a program-specific data area, so that the program does not access the data area of another program, that is, the called program does not access data outside the dedicated data area. It becomes possible to control.
【0095】(第7の実施の形態)本実施の形態のプロ
グラマブルコントローラでは、タスク毎に独立したテン
ポラリメモリを使用するように構成している。(Seventh Embodiment) The programmable controller of the present embodiment is configured to use an independent temporary memory for each task.
【0096】具体的には、前記図4に示したように、シ
ーケンス演算装置4に、メモリアドレスの計算の基礎と
なる、すなわちプログラムに固有な変数をアクセスする
際にベースとなるベースアドレスを記憶するベースアド
レスレジスタ4−3と、プログラムに固有な変数領域の
大きさを記憶するデータ範囲レジスタであるテンポラリ
メモリアドレスレジスタ4−9とを備え、タスクを切り
替える際に、このタスクに固有な一時使用データ領域の
先頭アドレスおよびデータ量を、専用のタスク切替命令
(ASSIGN命令)によって一時使用データ用のベー
スアドレスレジスタ4−3およびテンポラリメモリアド
レスレジスタ4−9に設定することにより、呼び出され
たプログラムが使用するデータが専用のデータ領域を使
用すると共に、専用データ領域外へのアクセスを検出す
るように構成している。More specifically, as shown in FIG. 4, the base address for the calculation of the memory address, that is, the base address for accessing a variable unique to the program is stored in the sequence operation device 4. And a temporary memory address register 4-9, which is a data range register for storing the size of a variable area unique to the program. By setting the start address and data amount of the data area in the base address register 4-3 for temporary use data and the temporary memory address register 4-9 by a dedicated task switching instruction (ASSSIGN instruction), the called program can be executed. While the data to be used uses a dedicated data area, It is configured to detect access to data outside the region.
【0097】ここで、テンポラリメモリは、プログラム
間でのデータの授受他に使用するので、タスク毎に独立
していることが好ましい。Here, since the temporary memory is used for exchanging data between programs and the like, it is preferable that the temporary memory be independent for each task.
【0098】従って、本実施の形態のプログラマブルコ
ントローラにおいては、前述のASSIGN命令が実行
された際に、ベースアドレスの変更と同時に、テンボラ
リメモリのベースアドレス変更およびアドレス範囲変更
も実行して、例えば図12に概念図を示すように、タス
クAとタスクBとで独立した一時使用メモリを使用する
ことができる。Therefore, in the programmable controller according to the present embodiment, when the above-described ASSIGN instruction is executed, the base address and the address range of the temporary memory are also changed at the same time as the base address is changed. As shown in the conceptual diagram of FIG. 12, independent temporary memories can be used for task A and task B.
【0099】すなわち、図7に示すようなタスクベース
アドレステーブルには、対応するテンポラリメモリの先
頭アドレスおよび末尾アドレスも同時に記憶されてお
り、ASSIGN命令がこれを読み出して、それらをテ
ンポラリメモリアドレスレジスタ4−9およびテンポラ
リアドレス範囲レジスタ4ー10に記憶する。That is, in the task base address table as shown in FIG. 7, the start address and the end address of the corresponding temporary memory are also stored, and the ASSIGN instruction reads them out and stores them in the temporary memory address register 4. -9 and the temporary address range register 4-10.
【0100】なお、メモリアドレスの計算方法、および
アドレス範囲の正当性検証の方法については、前述した
データメモリ6の場合と同様である。The method of calculating the memory address and the method of verifying the validity of the address range are the same as those of the data memory 6 described above.
【0101】以上のように、本実施の形態のプログラマ
ブルコントローラでは、タスクを切り替える際に、この
タスクに固有な一時使用データ領域の先頭アドレスおよ
びデータ量を、専用のタスク切替命令(ASSIGN命
令)が一時使用データ用のベースアドレスレジスタ4−
3、テンポラリメモリアドレスレジスタ4−9およびテ
ンポラリアドレス範囲レジスタ4ー10を設定するよう
にしているので、タスク毎に独立した一時使用データ領
域を使用することが可能となり、またデータ範囲を監視
することにより、専用の一時使用データ領域外へのアク
セスを禁止することが可能となる。As described above, in the programmable controller according to the present embodiment, when a task is switched, the start address and the data amount of the temporary use data area unique to the task are determined by the dedicated task switching instruction (ASSIGN instruction). Base address register 4 for temporary use data
3. Since the temporary memory address register 4-9 and the temporary address range register 4-10 are set, an independent temporary data area can be used for each task, and the data range can be monitored. Accordingly, it is possible to prohibit access to outside the dedicated temporary use data area.
【0102】(第8の実施の形態)本実施の形態のプロ
グラマブルコントローラでは、各プログラムが使用する
固有のデータ量をコンパイラに指示するように、プログ
ラムに固有なデータ量を前記PROGRAM命令の中に
格納するように構成している。(Eighth Embodiment) In the programmable controller of the present embodiment, the amount of data unique to a program is stored in the PROGRAM instruction so as to instruct the compiler of the amount of data unique to each program. It is configured to store.
【0103】従って、本実施の形態のプログラマブルコ
ントローラにおいては、プログラムに固有なデータ量
は、シーケンスプログラムをコンパイルする際に計算し
て求められ、例えば図10に概念図を示すように、PR
OGRAM命令のオペランドの一部として記憶してお
く。Therefore, in the programmable controller according to the present embodiment, the amount of data unique to the program is obtained by calculation when compiling the sequence program. For example, as shown in the conceptual diagram of FIG.
It is stored as a part of the operand of the OGRAM instruction.
【0104】こうすることにより、プログラムを次々に
ネストしながら呼び出す際に、データメモリ6のベース
アドレスの変更量を容易に計算することができる。Thus, when the program is called while being nested one after another, the change amount of the base address of the data memory 6 can be easily calculated.
【0105】また、シーケンスプログラムのコンパイラ
は、PROGRAM命令に付属させる補助命令のオペラ
ンドとなるオフセット値を求める際に、上位のプログラ
ムから目的のプログラムまでのPROGRAM命令に含
まれるデータ量を加算していくだけで、ベースアドレス
の変更量を求めることができる。Further, when calculating the offset value which is the operand of the auxiliary instruction attached to the PROGRAM instruction, the compiler of the sequence program simply adds the data amount included in the PROGRAM instruction from the upper program to the target program. Thus, the change amount of the base address can be obtained.
【0106】これは、オンラインでのプログラム変更の
ように、プログラムのコンパイル時間を短縮したい場合
に特に有効である。This is particularly effective when it is desired to reduce the compile time of a program, such as when changing a program online.
【0107】以上のように、本実施の形態のプログラマ
ブルコントローラでは、プログラムが使用するローカル
変数のデータ量をPROGRAM命令に含めるようにし
ているので、コンパイラがあるプログラムおよび下流の
プログラム全体で使用するローカル変数領域を容易に求
めることが可能となる。As described above, in the programmable controller according to the present embodiment, the data amount of the local variable used by the program is included in the PROGRAM instruction. The variable area can be easily obtained.
【0108】(第9の実施の形態)本実施の形態のプロ
グラマブルコントローラでは、プログラムを呼び出す際
に、このプログラムに付したプログラム番号によってプ
ログラムの開始アドレスを指定すると共に、プログラム
内からこのプログラム内でのみ使用される専用のプログ
ラムを呼び出す際には、呼び出しアドレスからの相対ア
ドレスによってプログラムを呼び出すように構成してい
る。(Ninth Embodiment) In the programmable controller according to the ninth embodiment, when a program is called, the start address of the program is specified by the program number assigned to the program, and the program is executed from within the program. When a dedicated program that is used only is called, the program is configured to be called by an address relative to the calling address.
【0109】すなわち、前記各実施の形態では、プログ
ラムを呼び出す際に、プログラム番号をよりどころにし
て対象となるプログラムのアドレスを求めることで説明
したが、本実施の形態では、これ以外に、相対アドレス
を使用した呼び出し命令も用意している。That is, in each of the above-described embodiments, when a program is called, the program number is used as a source to determine the address of the target program. However, in the present embodiment, in addition to this, the relative Call instructions using addresses are also available.
【0110】例えば、図13に概念図を示すようなPR
OGRAM命令の上段の命令は、前記図10に示したも
のと同一であるが、下段の命令はプログラムのプログラ
ム番号ではなく、呼び出しアドレスからの相対アドレス
を使用して呼び出す。For example, the PR shown in FIG.
The upper instruction of the OGRAM instruction is the same as that shown in FIG. 10, but the lower instruction is called not by using the program number of the program but by using a relative address from a calling address.
【0111】この場合、プログラム番号での呼び出し
は、他のプログラムやタスクでプログラムを共用する時
には有用であるが、呼び出し時間がかかるという問題点
がある。In this case, calling by the program number is useful when sharing a program with another program or task, but has a problem that the calling time is required.
【0112】この点、本実施の形態のプログラマブルコ
ントローラにおいては、あるプログラムの下位でだけ使
用されるプログラムについては、上記相対アドレスによ
る呼び出しを使用できるようにして、呼び出し時間の短
縮を図ることができる。In this respect, in the programmable controller according to the present embodiment, a program used only at a lower level of a certain program can be called by the above-mentioned relative address, so that the calling time can be reduced. .
【0113】以上のように、本実施の形態のプログラマ
ブルコントローラでは、プログラムをプログラムに付さ
れた固有の番号によって管理するようにしているので、
先頭アドレスや使用データ量等の関連するデータをPR
OGRAM命令に含めることが必要なくなるため、少な
いプログラムコード量でプログラムを構成することが可
能となる。As described above, in the programmable controller according to the present embodiment, programs are managed by unique numbers assigned to the programs.
PR related data such as the start address and the amount of data used
Since it is not necessary to include it in the OGRAM instruction, it is possible to configure the program with a small amount of program code.
【0114】また、あるプログラム内でだけ使用される
プログラムを呼び出す際には、プログラム番号ではな
く、相対アドレスを使用して呼び出すことにより、プロ
グラムの呼出しを高速に実行することが可能となる。When a program used only within a certain program is called, the program can be called at a high speed by calling using a relative address instead of a program number.
【0115】(その他の実施の形態) (a)上記実施の形態では、独立したデータ領域の割り
当てを、CPU1で行なう、すなわちコンパイラをCP
U1で走らせる場合について説明したが、これに限ら
ず、独立したデータ領域の割り当てを、モニタ装置20
で行なう、すなわちコンパイラをモニタ装置20で走ら
せるようにすることも可能である。(Other Embodiments) (a) In the above embodiment, independent data areas are allocated by the CPU 1, that is, the compiler
The case of running with U1 has been described. However, the present invention is not limited to this.
, That is, the compiler can be run on the monitor device 20.
【0116】(b)上記実施の形態では、CPU1とシ
ーケンス演算装置4とをそれぞれ別々に備える場合につ
いて説明したが、これに限らず、CPU1とシーケンス
演算装置4とを一体として備えるようにすることも可能
である。(B) In the above embodiment, the case where the CPU 1 and the sequence operation device 4 are separately provided has been described. However, the present invention is not limited to this, and the CPU 1 and the sequence operation device 4 may be integrally provided. Is also possible.
【0117】[0117]
【発明の効果】以上説明したように、本発明のプログラ
マブルコントローラによれば、タスクおよびプログラム
毎に、独立したデータ領域を割り当てるようにしている
ので、タスクおよびプログラム毎に独立したローカル変
数領域を確保できるため、従来のようにレジスタの重複
使用による制限他を受けることなく、タスクおよびプロ
グラム毎に自由に変数を定義して使用することが可能と
なる。As described above, according to the programmable controller of the present invention, an independent data area is allocated to each task and program, so that an independent local variable area is secured for each task and program. Therefore, it is possible to freely define and use variables for each task and program without being limited by the overlapping use of registers as in the related art.
【0118】また、タスクの切替時やプログラムの切替
時には、専用の命令によって、各タスクやプログラムが
使用するデータメモリのベースアドレスを自動的に設定
するようにしているので、タスクまたはプログラム毎に
独立したデータ領域を使用することができ、各変数はベ
ースアドレスらのオフセットによって指定されるため、
ローカル変数を実現することが可能となる。Further, at the time of task switching or program switching, the base address of the data memory used by each task or program is automatically set by a dedicated instruction. Data area can be used, and each variable is specified by an offset from the base address.
Local variables can be realized.
【0119】さらに、データアクセスの際に、メモリ領
域の正当性も同時に検証するようにしているので、他の
プログラムが使用している領域を誤ってアクセスするこ
とを防止することが可能となる。なお、かかる機能は、
ローカル変数についてのみでなく、テンポラリデータに
ついても実現することが可能となる。Further, at the time of data access, the validity of the memory area is also verified at the same time, so that it is possible to prevent erroneous access to an area used by another program. In addition, such a function,
This can be realized not only for local variables but also for temporary data.
【0120】さらにまた、プログラムを呼び出すため
に、プログラム番号による方法と、相対アドレスによる
方法とを併用するようにしているので、プログラムの呼
び出し時間の短縮化を図ることが可能となる。Furthermore, since the method using the program number and the method using the relative address are used together to call the program, it is possible to reduce the calling time of the program.
【図1】本発明によるプログラマブルコントローラの要
部構成例を示すブロック図。FIG. 1 is a block diagram showing a configuration example of a main part of a programmable controller according to the present invention.
【図2】本発明の第1の実施の形態によるプログラマブ
ルコントローラにおけるタスクとプログラムの構成例を
示す概念図。FIG. 2 is a conceptual diagram showing a configuration example of tasks and programs in the programmable controller according to the first embodiment of the present invention.
【図3】同第1の実施の形態によるプログラマブルコン
トローラにおけるタスク内のプログラムが使用するデー
タメモリの構成例を示す概念図。FIG. 3 is a conceptual diagram showing a configuration example of a data memory used by a program in a task in the programmable controller according to the first embodiment;
【図4】本発明の第2の実施の形態によるプログラマブ
ルコントローラにおけるシーケンス演算装置の要部構成
例を示すブロック図。FIG. 4 is a block diagram showing a configuration example of a main part of a sequence operation device in a programmable controller according to a second embodiment of the present invention.
【図5】本発明の第3の実施の形態によるプログラマブ
ルコントローラにおけるプログラム内の変数のアクセス
方法を説明するための概念図。FIG. 5 is a conceptual diagram for explaining a method of accessing a variable in a program in a programmable controller according to a third embodiment of the present invention.
【図6】本発明の第4の実施の形態によるプログラマブ
ルコントローラにおけるタスク切替命令の構成例を示す
概念図。FIG. 6 is a conceptual diagram showing a configuration example of a task switching instruction in a programmable controller according to a fourth embodiment of the present invention.
【図7】同第4の実施の形態によるプログラマブルコン
トローラにおけるタスクベースアドレステーブルの構成
例を示す概念図。FIG. 7 is a conceptual diagram showing a configuration example of a task base address table in the programmable controller according to the fourth embodiment.
【図8】同第4の実施の形態によるプログラマブルコン
トローラにおけるタスク切替命令のプログラム例を示す
図。FIG. 8 is a diagram showing a program example of a task switching instruction in the programmable controller according to the fourth embodiment.
【図9】本発明の第5の実施の形態によるプログラマブ
ルコントローラにおけるプログラムの呼び出し例を説明
するための概念図。FIG. 9 is a conceptual diagram illustrating an example of calling a program in a programmable controller according to a fifth embodiment of the present invention.
【図10】本発明の第5、第6および第8の各実施の形
態によるプログラマブルコントローラにおけるプログラ
ム切替命令の構成例を示す概念図。FIG. 10 is a conceptual diagram showing a configuration example of a program switching instruction in a programmable controller according to each of the fifth, sixth, and eighth embodiments of the present invention.
【図11】同第6の実施の形態によるプログラマブルコ
ントローラにおけるデータメモリ範囲テーブルの構成例
を示す概念図。FIG. 11 is a conceptual diagram showing a configuration example of a data memory range table in the programmable controller according to the sixth embodiment.
【図12】本発明の第7の実施の形態によるプログラマ
ブルコントローラにおけるテンポラリメモリの構成例を
示す概念図。FIG. 12 is a conceptual diagram showing a configuration example of a temporary memory in a programmable controller according to a seventh embodiment of the present invention.
【図13】本発明の第9の実施の形態によるプログラマ
ブルコントローラにおける相対アドレスによるプログラ
ム呼出し命令の構成例を示す概念図。FIG. 13 is a conceptual diagram showing a configuration example of a program call instruction by a relative address in a programmable controller according to a ninth embodiment of the present invention.
1…CPU 2…プログラムメモリ 3…ワークメモリ 4…シーケンス演算装置 5…シーケンスプログラムメモリ 6…データメモリ 7…マイコンバス 8…通信インタフェース 9…I/O 20…モニタ装置。 DESCRIPTION OF SYMBOLS 1 ... CPU 2 ... Program memory 3 ... Work memory 4 ... Sequence operation device 5 ... Sequence program memory 6 ... Data memory 7 ... Microcomputer bus 8 ... Communication interface 9 ... I / O 20 ... Monitor device.
Claims (10)
ているシーケンスプログラムを実行するシーケンス演算
装置と、制御に使用する変数等のデータを記憶するデー
タメモリとを備えて構成されるプログラマブルコントロ
ーラにおいて、 前記データメモリの割付構成として、前記シーケンスプ
ログラムを構成するタスクおよび当該タスク内のプログ
ラム毎に、独立したデータ領域を割り当てるようにした
ことを特徴とするプログラマブルコントローラ。1. A programmable controller comprising: a sequence operation device that executes a sequence program stored in a sequence program memory; and a data memory that stores data such as variables used for control. A programmable controller, wherein an independent data area is allocated to each task constituting the sequence program and each program in the task.
央演算処理装置と、前記中央演算処理装置が実行するプ
ログラムを記憶しているプログラムメモリと、シーケン
スプログラムメモリに記憶されているシーケンスプログ
ラムを実行するシーケンス演算装置と、制御に使用する
変数等のデータを記憶するデータメモリとを備えて構成
されるプログラマブルコントローラにおいて、 前記データメモリの割付構成として、前記シーケンスプ
ログラムを構成するタスクおよび当該タスク内のプログ
ラム毎に、独立したデータ領域を割り当てるようにした
ことを特徴とするプログラマブルコントローラ。2. A central processing unit for controlling execution of the whole controller, a program memory storing a program executed by the central processing unit, and a sequence for executing a sequence program stored in a sequence program memory. In a programmable controller including an arithmetic unit and a data memory for storing data such as variables used for control, the allocation of the data memory includes a task constituting the sequence program and a program in the task. A programmable controller, wherein an independent data area is assigned to the controller.
ログラマブルコントローラにおいて、 前記プログラムに固有な変数をアクセスする際に、当該
プログラムに固有のベースアドレスを基準にして変数を
アクセスするようにしたことを特徴とするプログラマブ
ルコントローラ。3. The programmable controller according to claim 1, wherein when a variable unique to the program is accessed, the variable is accessed based on a base address unique to the program. A programmable controller, characterized in that:
ログラマブルコントローラにおいて、 前記シーケンス演算装置に、前記プログラムに固有な変
数をアクセスする際にベースとなるベースアドレスを記
憶するベースアドレスレジスタを備え、 前記プログラムを切り替える際に所定の命令によって前
記ベースアドレスレジスタの内容を変更するようにした
ことを特徴とするプログラマブルコントローラ。4. The programmable controller according to claim 1, wherein the sequence operation device includes a base address register that stores a base address serving as a base when a variable unique to the program is accessed. A programmable controller characterized in that the contents of the base address register are changed by a predetermined instruction when the program is switched.
ントローラにおいて、 前記ベースアドレスレジスタに、前記タスクが占用する
データ領域を示すアドレスを格納するタスクベースアド
レス設定命令を設け、 前記タスクを切り替える際に前記タスクベースアドレス
設定命令を実行することにより、前記プログラムが使用
するデータ領域を指定するようにしたことを特徴とする
プログラマブルコントローラ。5. The programmable controller according to claim 4, wherein a task base address setting instruction for storing an address indicating a data area occupied by the task is provided in the base address register; A programmable controller, wherein a data area used by the program is specified by executing a task base address setting instruction.
ントローラにおいて、 あるプログラムから他のプログラムを呼び出す際に、呼
び出されるプログラムが占用するデータ領域のアドレス
を、プログラム呼び出し命令によって前記ベースアドレ
スレジスタに設定することにより、前記呼び出されたプ
ログラムが専用のデータ領域を使用するようにしたこと
を特徴とするプログラマブルコントローラ。6. The programmable controller according to claim 4, wherein when a certain program calls another program, an address of a data area occupied by the called program is set in the base address register by a program call instruction. Thereby, the called program uses a dedicated data area.
ログラマブルコントローラにおいて、 前記シーケンス演算装置に、前記プログラムに固有な変
数をアクセスする際にベースとなるベースアドレスを記
憶するベースアドレスレジスタと、前記プログラムに固
有な変数領域の大きさを記憶するデータ範囲レジスタと
を備え、 あるプログラムから他のプログラムを呼び出す際に、呼
び出されるプログラムが占用するデータ領域の先頭アド
レスおよびデータ量を、プログラム呼び出し命令によっ
て前記ベースアドレスレジスタおよびデータ範囲レジス
タに設定することにより、前記呼び出されたプログラム
の専用データ領域外へのアクセスを検出するようにした
ことを特徴とするプログラマブルコントローラ。7. The programmable controller according to claim 1, wherein a base address register that stores a base address serving as a base when accessing a variable unique to the program in the sequence operation device; A data range register for storing the size of a variable area unique to the program, wherein when a certain program is called from another program, a start address and a data amount of a data area occupied by the called program are determined by a program call instruction. A setting of the base address register and the data range register to detect access of the called program to outside the dedicated data area.
ログラマブルコントローラにおいて、 前記シーケンス演算装置に、前記プログラムに固有な変
数をアクセスする際にベースとなるベースアドレスを記
憶するベースアドレスレジスタと、前記プログラムに固
有な変数領域の大きさを記憶するデータ範囲レジスタと
を備え、 前記タスクを切り替える際に、当該タスクに固有な一時
使用データ領域の先頭アドレスおよびデータ量を、専用
のタスク切替命令によって一時使用データ用の前記ベー
スアドレスレジスタおよびデータ範囲レジスタに設定す
ることにより、前記呼び出されたプログラムが使用する
データが専用のデータ領域を使用すると共に、前記専用
データ領域外へのアクセスを検出するようにしたことを
特徴とするプログラマブルコントローラ。8. The programmable controller according to claim 1, wherein a base address register that stores a base address serving as a base when accessing a variable unique to the program in the sequence operation device; A data range register for storing the size of a variable area unique to the program, and when switching the task, the head address and data amount of the temporary use data area unique to the task are changed by a dedicated task switching instruction. By setting the base address register and the data range register for temporary use data, the data used by the called program uses a dedicated data area and detects access to the outside of the dedicated data area. Programmable feature Controller.
ログラマブルコントローラにおいて、 前記プログラムが使用する固有のデータ量をコンパイラ
に指示するように、前記プログラムに固有なデータ量を
プログラム呼び出し命令の中に格納するようにしたこと
を特徴とするプログラマブルコントローラ。9. The programmable controller according to claim 1, wherein an amount of data unique to the program is included in a program call instruction so as to instruct a compiler of an amount of data unique to the program. A programmable controller characterized in that the program is stored in a programmable controller.
プログラマブルコントローラにおいて、 前記プログラムを呼び出す際に、当該プログラムに付し
たプログラム番号によって前記プログラムの開始アドレ
スを指定すると共に、前記プログラム内から当該プログ
ラム内でのみ使用される専用のプログラムを呼び出す際
には、呼び出しアドレスからの相対アドレスによってプ
ログラムを呼び出すようにしたことを特徴とするプログ
ラマブルコントローラ。10. The programmable controller according to claim 1, wherein, when the program is called, a start address of the program is designated by a program number assigned to the program, and the program is designated from within the program. A programmable controller characterized in that when a dedicated program used only in a program is called, the program is called by a relative address from a calling address.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19620499A JP3691986B2 (en) | 1999-07-09 | 1999-07-09 | Programmable controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19620499A JP3691986B2 (en) | 1999-07-09 | 1999-07-09 | Programmable controller |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001022413A true JP2001022413A (en) | 2001-01-26 |
JP3691986B2 JP3691986B2 (en) | 2005-09-07 |
Family
ID=16353938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP19620499A Expired - Fee Related JP3691986B2 (en) | 1999-07-09 | 1999-07-09 | Programmable controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3691986B2 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007280376A (en) * | 2006-03-15 | 2007-10-25 | Omron Corp | Programmable controller |
JP2016081097A (en) * | 2014-10-10 | 2016-05-16 | 富士電機株式会社 | Programmable controller system, support device thereof and programmable controller |
KR101771289B1 (en) * | 2014-05-19 | 2017-08-24 | 엘에스산전 주식회사 | Apparatus for Program Management of Programmable Logic Controller |
KR102231963B1 (en) * | 2019-10-21 | 2021-03-24 | 엘에스일렉트릭(주) | An allocating method for memory for plc variables |
CN113867274A (en) * | 2020-06-30 | 2021-12-31 | 株式会社安川电机 | Engineering apparatus, engineering method, and information storage medium |
-
1999
- 1999-07-09 JP JP19620499A patent/JP3691986B2/en not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007280376A (en) * | 2006-03-15 | 2007-10-25 | Omron Corp | Programmable controller |
KR101771289B1 (en) * | 2014-05-19 | 2017-08-24 | 엘에스산전 주식회사 | Apparatus for Program Management of Programmable Logic Controller |
JP2016081097A (en) * | 2014-10-10 | 2016-05-16 | 富士電機株式会社 | Programmable controller system, support device thereof and programmable controller |
KR102231963B1 (en) * | 2019-10-21 | 2021-03-24 | 엘에스일렉트릭(주) | An allocating method for memory for plc variables |
CN113867274A (en) * | 2020-06-30 | 2021-12-31 | 株式会社安川电机 | Engineering apparatus, engineering method, and information storage medium |
US12085904B2 (en) | 2020-06-30 | 2024-09-10 | Kabushiki Kaisha Yaskawa Denki | Engineering device, engineering method, and information storage medium |
Also Published As
Publication number | Publication date |
---|---|
JP3691986B2 (en) | 2005-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8219220B2 (en) | Industrial controller using shared memory multicore architecture | |
US5710724A (en) | Dynamic computer performance monitor | |
JP3691986B2 (en) | Programmable controller | |
KR100206350B1 (en) | Central processor | |
JPH08249018A (en) | Multiprocessor arithmetic unit and programmable controller having the arithmetic unit | |
US20030101333A1 (en) | Data processor | |
JP2810317B2 (en) | Control instruction processing unit | |
JP3190945B2 (en) | Micro program control circuit | |
KR100294655B1 (en) | How to Control a My Programmable Controller That Performs a Multitask Function | |
JPS59218569A (en) | Microcomputer | |
JPS61133437A (en) | One chip microcomputer | |
JPS63249206A (en) | Programmable controller | |
JPH01217536A (en) | Mixing language type program processing controller | |
JP2506591B2 (en) | Auxiliary processor | |
JP2000250612A (en) | Programmable controller | |
JP2020060908A (en) | Processing program and processing system | |
JPH04286028A (en) | Micro processor | |
JPH06110707A (en) | High priority interrupting method and microprocessor adopting this method | |
JP2573391B2 (en) | Programmable controller | |
JP2000056818A (en) | Programmable logic controller and its control method | |
JPS63120303A (en) | General-purpose controller | |
JPS60246441A (en) | Microcomputer | |
US20060168421A1 (en) | Method of providing microcontroller cache memory | |
JP2009265947A (en) | Data access system of programmable controller | |
JPH08249024A (en) | Programmable controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050118 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050322 |
|
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: 20050614 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050617 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 3691986 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090624 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090624 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100624 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100624 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110624 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120624 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120624 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130624 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |