JP2001325011A - プログラマブルコントローラシステム - Google Patents

プログラマブルコントローラシステム

Info

Publication number
JP2001325011A
JP2001325011A JP2000140998A JP2000140998A JP2001325011A JP 2001325011 A JP2001325011 A JP 2001325011A JP 2000140998 A JP2000140998 A JP 2000140998A JP 2000140998 A JP2000140998 A JP 2000140998A JP 2001325011 A JP2001325011 A JP 2001325011A
Authority
JP
Japan
Prior art keywords
program block
program
controller
block
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2000140998A
Other languages
English (en)
Other versions
JP4186383B2 (ja
Inventor
Shunji Kuwa
俊司 桑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2000140998A priority Critical patent/JP4186383B2/ja
Publication of JP2001325011A publication Critical patent/JP2001325011A/ja
Application granted granted Critical
Publication of JP4186383B2 publication Critical patent/JP4186383B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 アプリケーションプログラムを複数に分割し
てネットワークを介して相互に接続された複数のコント
ローラに分散格納したコントローラシステムを効率よく
かつ少ない負担で構築する。 【解決手段】 ネットワーク30に分散接続された複数
のコントローラ10−1〜10−3に跨ったアプリケー
ションプログラム間のパラメータの受け渡しを自動化す
るためのプログラムブロックの実行処理と、各コントロ
ーラ10−1〜10−3内に格納されたアプリケーショ
ンプログラムデータを使って、分散したコントローラの
アプリケーションプログラムを一本のプログラムのよう
に表示するサポートツール20を提供する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、ネットワーク等
の通信手段を介して複数のプログラマブルコントローラ
と少なくとも1つのサポートツールとを相互に接続した
プログラマブルコントローラシステムに係り、特に、ア
プリケーションプログラムを複数のプログラムブロック
に分割して複数のプログラマブルコントローラに分散格
納することによりシステムの柔軟性を確立するとともに
負荷分散を図ったプログラマブルコントローラシステム
に関する。
【0002】
【従来の技術】昨今のネットワーク技術の発達により、
設備や装置を制御するためのプログラマブルコントロー
ラ(以下、コントローラという)においても通信速度を
含むコントローラ間の情報伝達能力は飛躍的に向上して
きている。
【0003】また、コントローラの低コスト化、小サイ
ズ化により、複数のコントローラを通信により接続した
システム構成は、高速で大型のコントローラ1台による
システムと比較しても、コスト面でもスペース効率面で
も遜色ないような状況になってきている。
【0004】この種の制御システムにおいてネットワー
クを使って複数のコントローラを分散接続すると、以下
のようなメリットが生じる。
【0005】1)ハードウエアの構成上と配置上、シス
テム構築に柔軟性が生じるため、設備や装置等の組み替
えが容易である。
【0006】2)処理が複数のコントローラに負荷分散
されるため、個々のコントローラに求められる性能が抑
えられ、安価なコントローラを利用できる。
【0007】3)コントローラの故障の際でも、システ
ムを構成するコントローラが複数に分かれているため、
システムダウンする範囲が一部にとどめられ、システム
全体の信頼性が向上する。
【0008】このように設備や装置の構成、或いは、負
荷分散や最適なパフォーマンスのために、複数のコント
ローラによりシステムを構築することが可能になり、こ
れにより、今後、制御システムの分散化傾向は更に強ま
ると予想される。
【0009】一方、コントローラは半導体メモリのコス
トダウン、マイコンチップの高性能化に相俟って、1台
のコントローラで制御できる入出力点数が飛躍的に増加
している傾向にある。また、これに比例してコントロー
ラのプログラム容量も増大している。
【0010】また、コントローラを組み込むことで設計
される各種機械や製造設備自身の高機能化もプログラム
容量の増大に拍車をかけている。
【0011】このような傾向の中で、コントローラに
は、近年、大容量のプログラムを効率よくまた品質よく
設計するために、また、再利用やメンテナンス管理のた
めに、プログラムを分割や階層化したりブロック分割す
る機能が付け加えられている傾向にある。
【0012】加えて、コントローラを用いたシステムの
開発保守環境面でもブロック分割されたプログラムデー
タを個別にコントローラにダウンロードやアップロード
する機能を持つものも提案されている。
【0013】ユーザは、この機能を利用して、分割ブロ
ック化したプログラムを1台のコントローラにて制御さ
れる装置のうちの個々の装置に割り当てたり、装置内の
独立性の高い機能ユニット個々と対応させることで、プ
ログラム設計において装置毎や機能毎の設計を順次また
は複数の作業者で分担して行うことができ、その結果そ
の生産性を高めている。
【0014】また、この機能はコントローラ内のプログ
ラム機能分割をより明確なものとすることができるた
め、1台のコントローラで複数の制御対象を制御してい
るような場合にも、対象のプログラムをブロック分割し
た形でプログラミングされている。
【0015】また、先に述べたネットワークによるシス
テムの分散化とアプリケーションプログラムの分割を組
み合わせることにより、分散方法はより柔軟になり、コ
ントローラという単位ではなく、ネットワークに跨った
プログラムブロック単位での分散が可能となっている。
【0016】併せて、コントローラに跨って分散したア
プリケーションプログラムを、仮想的に1本のプログラ
ムとして扱うための技術も考えられている。
【0017】
【発明が解決しようとする課題】しかし、コントローラ
を分散させることはアプリケーションプログラムも分散
してしまうため、従来の1台のコントローラを使ったシ
ステムの構築と比較して、以下の弊害が発生している。
【0018】1)1台のコントローラを使用している際
には、単にコントローラ内のメモリへのデータ書き込み
と読み出しで済んでいたプログラムブロック間のデータ
の受け渡しが、コントローラ間でのデータの送受信を介
するため、別途そのためのプログラムが必要になり、プ
ログラミング作業の負担が新たに発生する。
【0019】2)プログラムがコントローラ毎に物理的
に分散され、全体的な論理構造が見えづらくなり、設計
者や保全者である作業員の作業が難解になる。
【0020】3)従来ならば1台のコントローラに対し
て行えばよかったものを、複数のコントローラに対し
て、また、その中の所定のプログラムブロックに対して
それぞれ行わなければならなくなるため、デバックやメ
ンテナンス作業が複雑になり、作業量が増大する。
【0021】4)複数のコントローラに分散したプログ
ラムをサポートツールを使って、論理構造的に表示する
ためには、ノーマルプログラムの全体構造と個々のプロ
グラムがいずれのコントローラに格納されているかを管
理するための情報が、プログラムデータ以外に必要とな
るため、その情報の維持管理作業が作業者側の負担とな
り、かつ、その情報を解析するための資源をサポートツ
ールに設ける必要が生じる。
【0022】そこで、この発明は、アプリケーションプ
ログラムを複数に分割して相互に接続された複数のコン
トローラに分散格納したコントローラシステムを効率よ
くかつ少ない負担で構築することができるようにするこ
とを目的とする。
【0023】また、この発明は、アプリケーションプロ
グラムを複数に分割してネットワークを介して相互に接
続された複数のコントローラに分散格納したコントロー
ラシステムを効率よくかつ少ない負担で構築することが
できるようにしたコントローラを提供することを目的と
する。
【0024】また、この発明は、アプリケーションプロ
グラムを複数に分割してネットワークを介して相互に接
続された複数のコントローラに分散格納したコントロー
ラシステムの複数のコントローラに跨るアプリケーショ
ンプログラムの構造を論理的に容易に認識することがで
き、設備のデバックやメンテナンス時等の作業効率を大
幅に向上させることができるようにしたサポートツール
を提供することを目的とする。
【0025】
【課題を解決するための手段】この発明のコントローラ
システムは、複数のコントローラと少なくとも1つのサ
ポートツールとを通信手段を介して相互に接続し、かつ
アプリケーションプログラムをいくつかのプログラムブ
ロックに分割してそれら複数のコントローラに分散配置
してなるたコントローラシステムである。
【0026】上記コントローラそれぞれには、複数のプ
ログラムブロックに分割されたアプリケーションプログ
ラムのうちのノーマルプログラムブロックを実行するノ
ーマルプログラムブロック実行手段と、上記プログラム
ブロックに対して入出力パラメータを定義する入出力パ
ラメータ定義手段と、他のコントローラのプログラムブ
ロックに格納されているプログラムに対して上記入出力
パラメータの送受信を行う入出力パラメータ送受信プロ
グラムブロックを実行する入出力パラメータ送受信プロ
グラムブロック実行手段と、上記入出力パラメータ送受
信プログラムブロックに対して相手先プログラムブロッ
クの位置情報を記憶する相手先プログラムブロック位置
情報記憶手段と、プログラムブロックの読み出し要求に
際して、該当プログラムブロックがノーマルプログラム
ブロックである場合は、該ノーマルプログラムブロック
のデータを返信し、該当プログラムブロックが入出力パ
ラメータ送受信プログラムブロックである場合は、該入
出力パラメータ送受信プログラムブロックから相手先プ
ログラムブロックの位置情報を抽出して返信する送受信
制御手段と、が具備される。
【0027】また、上記サポートツールには、上記コン
トローラに対してプログラムブロックの読み出し要求を
送信するプログラムブロック読出要求送信手段と、上記
プログラムブロック読出要求送信手段によるプログラム
ブロックの読み出し要求に対して上記コントローラから
返信された内容について、ノーマルプログラムブロック
のデータか入出力パラメータ送受信ブロックの相手先プ
ログラムブロックの位置情報かを判別する判別手段と、
上記判別手段によりノーマルプログラムブロックのデー
タであると判別された場合は、該ノーマルプログラムブ
ロックのデータをそのまま表示し、入出力パラメータ送
受信ブロックの相手先プログラムブロックの位置情報で
あると判別された場合は、その位置情報に基づき相手先
プログラムブロックを読み出し、それを表示する表示制
御手段と、が具備される。
【0028】ここで、通信手段は、LAN(ローカルエ
リアネットワーク)等を含む。また、ノーマルプログラ
ムブロックは、例えば、この発明のコントローラシステ
ムが実行するアプリケーションプログラムを複数に分割
した各プログラムブロックを示す。
【0029】すなわち、この発明のコントローラシステ
ムにおいては、アプリケーションプログラムを複数のプ
ログラムブロックに分割し、該分割したプログラムブロ
ックを複数のコントローラに分散格納することで負荷分
散を図るとともに、コントローラシステムを少ない負担
でかつ効率よく構築することができるように構成されて
いる。
【0030】また、この発明においては、上記プログラ
ムブロックに対して入出力パラメータを定義する入出力
パラメータ定義手段を設け、他のコントローラのプログ
ラムブロックに格納されているプログラムに対して上記
入出力パラメータの送受信を行う入出力パラメータ送受
信プログラムブロックを実行する入出力パラメータ送受
信プログラムブロック実行手段を設ける。
【0031】そして、上記入出力パラメータ送受信プロ
グラムブロックに対して相手先プログラムブロックの位
置情報を記憶する相手先プログラムブロック位置情報記
憶手段を設け、上記サポートツールからのプログラムブ
ロックの読み出し要求に際して、該当プログラムブロッ
クがノーマルプログラムブロックである場合は、該ノー
マルプログラムブロックのデータを返信し、該当プログ
ラムブロックが入出力パラメータ送受信プログラムブロ
ックである場合は、該入出力パラメータ送受信プログラ
ムブロックから相手先プログラムブロックの位置情報を
抽出して返信する送受信制御手段を設ける。
【0032】また、サポートツールには、上記コントロ
ーラに対してプログラムブロックの読み出し要求を送信
するプログラムブロック読出要求送信手段を設け、上記
プログラムブロック読出要求送信手段によるプログラム
ブロックの読み出し要求に対して上記コントローラから
返信された内容について、ノーマルプログラムブロック
のデータか相手先プログラムブロックの位置情報かを判
別手段で判別し、上記判別手段によりノーマルプログラ
ムブロックのデータであると判別された場合は、該ノー
マルプログラムブロックのデータをそのまま表示し、入
出力パラメータ送受信ブロックの相手先プログラムブロ
ックの位置情報であると判別された場合は、その位置情
報に基づき相手先プログラムブロックを読み出し、それ
を表示する表示制御手段を設ける。
【0033】このような構成によると、複数のコントロ
ーラに跨るアプリケーションプログラムの構造がサポー
トツールで論理的に認識できるため、作業者による認識
が容易になり作業ミスがなくなる。
【0034】また、複数のコントローラに格納されてい
るアプリケーションプログラムの所定の部分が、論理的
なプログラム構造に従ってサポートツールに自動的に表
示されるため、従来の1台のコントローラ毎にかつプロ
グラムブロック毎に繰り返していた作業操作が単純化で
き、設備のデバック/メンテナンス時等の作業効率が大
幅に向上する。
【0035】また、複数のコントローラに跨るアプリケ
ーションプログラムを特別な構成情報なしに、コントロ
ーラに格納されているアプリケーションデータだけで論
理的に表示できることで、構成情報の作成、保存、読み
出しなどの管理に関して作業者への負担がなくなる。
【0036】また、複数のコントローラアプリケーショ
ンプログラムを論理構造を持って表示するために、特別
な構成情報が必要でなくなりサポートツール側のハード
資源負担が軽くなり、より低コストなサポートツールが
提供しやすくなる。
【0037】また、ネットワークを介してデータの送受
信が、プログラムブロックへのパラメータ定義だけで実
現されるため、設計者の負担が軽くなるとともに、デー
タの送受信部が特定のプログラムブロックに集約される
ため構造的に分かりやすい設計が可能になる。
【0038】次に、この発明のコントローラは、複数の
コントローラを通信手段を介して相互に接続し、かつア
プリケーションプログラムをいくつかのプログラムブロ
ックに分割してそれら複数のコントローラに分散配置し
てなるコントローラシステムにおけるコントローラであ
る。
【0039】そして、このコントローラには、複数のプ
ログラムブロックに分割されたアプリケーションプログ
ラムのうちのノーマルプログラムブロックを実行するノ
ーマルプログラムブロック実行手段と、上記プログラム
ブロックに対して入出力パラメータを定義する入出力パ
ラメータ定義手段と、他のコントローラのプログラムブ
ロックに格納されているプログラムに対して上記入出力
パラメータの送受信を行う入出力パラメータ送受信プロ
グラムブロックを実行する入出力パラメータ送受信プロ
グラムブロック実行手段と、上記入出力パラメータ送受
信プログラムブロックに対して相手先プログラムブロッ
クの位置情報を記憶する相手先プログラムブロック位置
情報記憶手段と、プログラムブロックの読み出し要求に
際して、該当プログラムブロックがノーマルプログラム
ブロックである場合は、該ノーマルプログラムブロック
のデータを返信し、該当プログラムブロックが入出力パ
ラメータ送受信プログラムブロックである場合は、該入
出力パラメータ送受信プログラムブロックから相手先プ
ログラムブロックの位置情報を抽出して返信する送受信
制御手段と、が具備される。
【0040】ここで、サポートツールは必須ではなく、
複数のコントローラによる運転状態だけを想定すればサ
ポートツールを接続しない構成も考えられる。
【0041】次に、この発明のサポートツールは、複数
のコントローラと少なくとも1つのサポートツールを通
信手段を介して相互に接続し、かつアプリケーションプ
ログラムをいくつかのプログラムブロックに分割してそ
れら複数のコントローラに分散配置してなるコントロー
ラシステムにおけるサポートツールである。
【0042】そして、このサポートツールには、上記コ
ントローラに対してプログラムブロックの読み出し要求
を送信するプログラムブロック読出要求送信手段と、上
記プログラムブロック読出要求送信手段によるプログラ
ムブロックの読み出し要求に対して上記コントローラか
ら返信された内容について、ノーマルプログラムブロッ
クのデータか入出力パラメータ送受信ブロックの相手先
プログラムブロックの位置情報かを判別する判別手段
と、上記判別手段によりノーマルプログラムブロックの
データであると判別された場合は、該ノーマルプログラ
ムブロックのデータをそのまま表示し、入出力パラメー
タ送受信ブロックの相手先プログラムブロックの位置情
報であると判別された場合は、その位置情報に基づき相
手先プログラムブロックを読み出して表示する表示制御
手段と、が具備される。
【0043】さらに、本発明の他の特徴は、相互接続さ
れて複数のコントローラからなるコントローラシステム
を構成するコントローラでもある。そして、このコント
ローラには、アプリケーションプログラムを1つ以上に
分割したプログラムブロックを実行する手段と、プログ
ラムに対し入出力パラメータを定義する手段と、コント
ローラ外部より指定された入出力パラメータを受け取る
手段と、コントローラ外部よりプログラムブロックの起
動の指示を受け取る手段と、指定された入力パラメータ
により、該当のプログラムブロックを実行し、出力指定
されたパラメータとして、実行結果を指示元に返す手段
と、が具備される。
【0044】
【発明の実施の形態】以下、この発明に係るコントロー
ラシステム、コントローラ、並びに、サポートツールの
実施の一形態を添付図面を参照して詳細に説明する。
【0045】図1は、この発明に係わるコントローラシ
ステムの一実施形態の全体構成を示すブロック図であ
る。図1において、このコントローラシステムは、3台
のコントローラ、すなわちコントローラ(コントローラ
A)10−1、コントローラ(コントローラB)10−
2、コントローラ(コントローラC)10−3と、サポ
ートツール20とを、ネットワーク30に接続して構成
される。
【0046】ここで、この実施の形態のコントローラシ
ステムにおいては、このコントローラシステムが実行す
るアプリケーションプログラムを複数のプログラムブロ
ックに分割し、この分割したプログラムブロックを上記
3台のコントローラ10−1〜10−3に分散して格納
して実行するように構成される。
【0047】図2は、図1に示したコントローラシステ
ムのコントローラ10−1〜10−3の詳細構成をコン
トローラ10として示したブロック図である。図2にお
いて、このコントローラ10は、演算プロセッサ(CP
U)11、システムプログラムメモリ12、ユーザプロ
グラムメモリ13、パラメータメモリ14、ワークメモ
リ15、入出力メモリ(I/Oメモリ)16、通信イン
タフェース(通信I/F)17、入出力インタフェース
(I/F)18を具備して構成され、通信インタフェー
ス17は、図1に示したネットワーク30に接続され、
入出力インタフェース18は、入出力装置19に接続さ
れる。
【0048】ここで、演算プロセッサ11は、このコン
トローラ10の全体動作を統括制御するものであり、シ
ステムプログラムメモリ12は、演算プロセッサ11に
より処理されるこのコントローラ10のシステムプログ
ラムを記憶するためのメモリである。
【0049】また、ユーザプログラムメモリ13は、こ
のシステムのアプリケーションプログラムを記憶するた
めのメモリであり、パラメータメモリ14は、このコン
トローラ10における各種演算や処理のための各種パラ
メータを記憶するためのメモリである。
【0050】ワークメモリ15は、このコントローラ1
0における各種演算や処理を行うためのデータを一時記
憶するためのメモリである。
【0051】入出力メモリ(I/Oメモリ)16は、こ
のコントローラ10におけるプログラム実行により入出
力情報の代用として参照や書き換えられるメモリであ
る。また、この入出力メモリ16には、プログラムブロ
ック毎のパラメータも格納される。
【0052】また、通信インタフェース(通信I/F)
17は、ネットワーク30に接続するためのインタフェ
ースを構成する。
【0053】また、入出力装置19は、センサやスイッ
チなどに接続される入力装置と、モータやアクチュエー
タなどに接続される出力装置とを組み合わせた装置であ
り、ネットワーク30は、サポートツール20および他
のコントローラとの間で情報交換を行うための通信手段
を構成する。尚、入出力装置19は、独立したいくつか
の入力装置と独立したいくつかの出力装置のかたまりの
総称といった意味もある。
【0054】図3は、図1に示したコントローラシステ
ムのサポートツール20の詳細構成を示したブロック図
である。図3において、このサポートツール20は、演
算装置21、入力装置27、表示装置28を具備して構
成される。演算装置21は、中央処理装置22、メモリ
空間23、表示装置用メモリ24、バス25、インタフ
ェース(I/F)26を具備する。メモリ空間23に
は、パラメータデータエリア23−1、ユーザプログラ
ムデータエリア23−2、サポートツールプログラムエ
リア23−3が設けられている。
【0055】ここで、中央処理装置22は、このサポー
トツール20の全体動作を統括制御する演算プロセッサ
である。
【0056】また、メモリ空間23のパラメータデータ
エリア23−1にはこのサポートツール20の処理に必
要な各種パラメータが格納され、ユーザプログラムデー
タエリア23−2には、コントローラ10−1〜10−
3から読み出された「アプリケーションプログラム」の
データが格納され、サポートツールプログラムエリア2
3−3には、中央処理装置22が実行するこのサポート
ツール20で実行するプログラムが格納される。
【0057】また、表示装置用メモリ24は、表示装置
28に出力される情報が格納されるメモリで、この情報
は中央処理装置22により書き換えられる。
【0058】また、インタフェース26は、コントロー
ラ10−1〜10−3と通信を行うための通信インタフ
ェースを構成する。
【0059】また、入力装置27は、ユーザ要求を入力
するための装置で、キーボード、ポインティングデバイ
スなどから構成され、表示装置28は、表示装置用メモ
リ24の情報を表示する装置で、例えば、CRT等から
構成される。
【0060】上記構成の実施の形態のコントローラシス
テムにおいては、後に詳述するように、ネットワーク3
0に分散接続された複数のコントローラ10−1〜10
−3に跨ったアプリケーションプログラム間のパラメー
タの受け渡しを自動化するためのプログラムブロックの
実行処理と、各コントローラ10−1〜10−3内に格
納されたアプリケーションプログラムデータを使って、
分散したコントローラのアプリケーションプログラムを
一本のプログラムのように表示するサポートツール20
を提供する。
【0061】さて、この実施の形態のコントローラシス
テムにおいて、ネットワーク30上では、メッセージサ
ービスにより情報交換を行い、これにより相手先に各要
求を発行する。このメッセージサービスは、サポートツ
ール20からコントローラ10−1〜10−3への要
求、コントローラから他のコントローラへの要求に使用
される。
【0062】各メッセージは、コマンドに相手先のネッ
トワークアドレスを付加し、それにより各メッセージの
受信先が特定される。この実施の形態のコントローラシ
ステムにおいては以下のメッセージサービスコマンドを
用意する。
【0063】 1)データ送信 送信コマンドのパラメータ 相手コントローラにおけるデータ格納先メモリアドレス 格納データ 受信レスポンスの内容 正常終了コード 何らかの理由で処理が正常に完了しなかった場合はエラー終了 2)データ受信 送信コマンドのパラメータ データ長 相手コントローラにおけるデータ読出先メモリアドレス 受信レスポンスの内容 正常終了コードと読出データ 何らかの理由で処理が正常に完了しなかった場合はエラー終了 3)プログラム読出 送信コマンドのパラメータ なし 受信レスポンスの内容 アプリケーションプログラムデータ全体 何らかの理由で処理が正常に完了しなかった場合はエラー終了コ ード 4)プログラムブロック読出 送信コマンドのパラメータ プログラムブロックID番号 受信レスポンスの内容 実体が自コントローラ内の場合、正常終了コードとプログラムブ ロックデータ 実体が他コントローラ内の場合、正常終了コードとコントローラ のアドレスとプログラムブロックID番号 何らかの理由で処理が正常に完了しなかった場合はエラー終了コ ード 5)プログラム構成読出 送信コマンドのパラメータ なし 受信レスポンスの内容 正常終了コードとプログラム構成情報 何らかの理由で処理が正常に完了しなかった場合はエラー終了コ ード なお、プログラム構成読出に対する受信レスポンスのプ
ログラム構成情報の一例を示すと図4のようになる。
【0064】図4において、このプログラム構成情報
は、全プログラムの個別情報(ブロックA)と毎サイク
ル起動プログラムID番号(ブロックB)とからなり、
全プログラムの個別情報は、レコード1からレコードN
にそれぞれプログラムブロックID番号(フィールド
1)、プログラムブロック種別(フィールド2)、プロ
グラムブロック本体からの情報(フィールド3)があ
り、プログラムブロック本体からの情報には、 1)命令コードに含まれるプログラムブロック起動命令
に定義されたプログラムブロックID番号(種別がノー
マルプログラムブロックの場合) 2)相手先プログラムブロック位置情報(種別が入出力
パラメータプログラムブロックの場合)が含まれてい
る。
【0065】また、毎サイクル起動プログラムID番号
には、プログラムブロックID番号が含まれている。
【0066】次に、この実施の形態のコントローラシス
テムの詳細動作を以下に示すフローチャートを参照して
詳細に説明する。
【0067】図5は、図2に示したコントローラ10に
おける全体処理フローを示すフローチャートである。図
5において、コントローラ10の電源ON初期処理に続
いて処理が開始されると(ステップ501)、コントロ
ーラ10は、まず、所定の共通処理を実行し(ステップ
502)、次に、プログラム運転が可能であるかを調べ
る(ステップ503)。
【0068】ここで、プログラム運転可であると判断さ
れると(ステップ503でYES)、プログラム運転処
理を実行し(ステップ504)、その後、I/Oメモリ
16のI/Oリフレッシュ処理を行う(ステップ50
5)。
【0069】なお、ステップ503でプログラム運転可
でないと判断されると(ステップ503でNO)、プロ
グラム運転処理を実行することなく、I/Oメモリ16
のI/Oリフレッシュ処理を行う(ステップ505)。
【0070】I/Oメモリ16のI/Oリフレッシュ処
理が終了すると、次に所定のネットワーク処理を実行し
(ステップ506)、ステップ502に戻り、上記処理
を繰り返す。
【0071】図6は、図5に示したステップ506のネ
ットワーク処理の詳細を示すフローチャートである。ネ
ットワーク処理では、サポートツール20または他コン
トローラ10からのコマンドの受信状態、他処理からの
ネットワーク処理依頼の状態に応じて、以下の処理がお
こなわれる。ここで、コマンドやレスポンス受信自体は
割り込み処理にて行われ、ワークメモリ15上の一時記
憶エリアに記憶される。
【0072】1)サポートツール20および他コントロ
ーラ10からのコマンドに従った処理 2)他処理からのネットワーク処理依頼内容に従ったコ
マンド発行処理 3)発行したコマンドに対するレスポンスに従った処理
【0073】さて、図6において、このネットワーク処
理が開始されると(ステップ601)、まず、受信コマ
ンド若しくはレスポンスがあるかを調べる(ステップ6
02)。ここで、受信コマンド若しくはレスポンスがな
いと判断されると(ステップ602でNO)、ステップ
605に進むが、受信コマンド若しくはレスポンスがあ
ると判断されると(ステップ602でYES)、各コマ
ンド又はレスポンスを解析したのち(ステップ60
3)、各コマンド及びレスポンス別の処理を実行する
(ステップ604)。
【0074】ここで、各コマンド別のレスポンス処理内
容を以下に示す。なお、以下に示す処理以外にも、コン
トローラとして持つべきコマンド処理は存在するが、こ
の実施の形態の内容には依存しないのでここではその説
明を省略する。 1)「データ送信」コマンドに対する処理 コマンドパラメータに指定されたデータ格納メモリアド
レス以降に、コマンドパラメータに指定された格納デー
タを書き込む。処理が完了したら、正常終了コードを返
信する。ただし、何らかの原因で、正常に処理が終了し
なければ、エラー終了のレスポンスを返信する。
【0075】2)「データ受信」コマンドに対する処理 コマンドパラメータに指定された読み出し先メモリアド
レス以降から、データ長分のデータを正常終了コードと
ともに返信する。ただし、何らかの原因で、正常に処理
が終了しなければ、エラー終了のレスポンスを返信す
る。
【0076】3)「プログラム読出」コマンドに対する
処理 ユーザプログラムメモリ13領域内の所定の場所から
「アプリケーションプログラムデータ」を読出し、正常
終了コードとともに返信する。ただし、何らかの原因
で、正常に処理が終了しなければエラー終了のレスポン
スを返信する。なお、「アプリケーションプログラムデ
ータ」は、後に説明する図25の「アプリケーションプ
ログラムデータ」のような構成となる。
【0077】4)「プログラムブロック読出」コマンド
に対する処理 コマンドパラメータに指定されたプログラムブロックI
Dに従い、ユーザプログラムメモリ13領域内の「アプ
リケーションプログラムデータ」から該当のプログラム
ブロックデータを抽出し、正常終了コードとともに返信
する。ただし、何らかの原因で、正常に処理が終了しな
ければエラー終了のレスポンスを返信する。なお、「ア
プリケーションプログラムデータ」は、後に説明する図
25の「アプリケーションプログラムデータ」のような
構成となり、「プログラムブロックデータ」は、後に説
明する図20に示す「ノーマルプログラムブロックの構
造」若しくは図21の「入出力パラメータ送信プログラ
ムブロックの構造」のような構成となる。
【0078】5)「プログラム構成読出」コマンドに対
する処理 後に説明する図16の「プログラム構成情報抽出処理フ
ロー」の処理によりプログラム構成情報(図4参照)を
作成し、正常終了コードとともに返信する。ただし、何
らかの原因で、正常に処理が終了しなければエラー終了
のレスポンスを返信する。
【0079】ステップ605では、ネットワーク処理依
頼項目記憶エリアを読み出し、次に、処理依頼があるか
を調べる(ステップ606)。ここで、処理依頼がない
と判断されると(ステップ606でNO)、このまま、
このネットワーク処理を終了する(ステップ610)。
【0080】ステップ606で、処理依頼があると判断
されると(ステップ606でYES)、ネットワーク処
理依頼項目記憶エリアの先頭の依頼を読み出し(ステッ
プ607)、この依頼に対応したコマンドを生成して送
信し(ステップ608)、ネットワーク処理依頼項目を
一段つめ(ステップ609)、このネットワーク処理を
終了する(ステップ610)。
【0081】図7は、図5に示したステップ504のプ
ログラム運転処理の詳細を示すフローチャートである。
図7において、プログラム運転処理が開始されると(ス
テップ701)、まず、初回実行かを調べる(ステップ
702)。ここで、初回実行でないと判断されると(ス
テップ702でNO)、ステップ704に進むが、初回
実行であると判断されると(ステップ702でYE
S)、プログラム運転処理用ワークを初期化し(ステッ
プ703)、ステップ704に進む。
【0082】さて、この実施の形態のコントローラシス
テムにおいては、「プログラム運転処理」起動により、
毎サイクル起動されるものと、任意のプログラムブロッ
クより起動されるものがある。
【0083】また、「プログラム運転処理」起動によ
り、毎サイクル起動されるプログラムブロックは、プロ
グラミングの際に作業者が設定しておき、アプリケーシ
ョンプログラムデータ内のデータ情報領域に格納されて
いる。
【0084】ステップ704では、プログラムブロック
ステータス情報の先頭レコードを読み出し、プログラム
ブロック実行処理を行う(ステップ705)。そして、
プログラムブロックステータス情報の次のレコードを読
み出し(ステップ706)、残りプログラムブロックな
しかを調べる(ステップ707)。
【0085】ここで、残りプログラムブロックありと判
断された場合は(ステップ707でNO)、ステップ7
05に戻り、ステップ705からステップ707の処理
を繰り返すが、残りプログラムブロックなしと判断され
た場合は(ステップ707でYES)、プログラム実行
処理を終了する(ステップ708)。
【0086】図8,図9は、図7に示したステップ70
5のプログラムブロック実行処理の詳細を示すフローチ
ャートである。図8において、プログラムブロック実行
処理が開始されると(ステップ801)、まず、プログ
ラムブロックデータを読み出し(ステップ802)、次
に、プログラムブロックの種別を調べる(ステップ80
3)。
【0087】ここで、プログラムブロックがノーマルブ
ロックであると判断されると、I/Oメモリ16より入
力パラメータの値を読み出し、プログラムブロック実行
処理へ引数としてセットする(ステップ804)。そし
て、プログラムブロック本体を順次読み出し、命令コー
ドに従った実行処理を行う(ステップ805)。
【0088】次に、命令コード終了かを調べ、命令コー
ド終了でないと判断されると(ステップ806でN
O)、ステップ805に戻り、ステップ806にて命令
コード終了と判断されるまで、ステップ805、806
の処理を繰り返すが、命令コード終了と判断されると
(ステップ806でYES)、プログラムブロック実行
処理の結果を出力パラメータの値としてI/Oメモリ1
6にセットし、このプログラムブロック実行処理を終了
する(ステップ808)。
【0089】また、ステップ803で、プログラムブロ
ックが入出力パラメータ送受信プログラムブロックであ
ると判断された場合は、図9に移って、I/Oメモリ1
6より入力パラメータの値を読み出し(ステップ90
1)、プログラムブロック本体として格納された「相手
先プログラム位置情報」と「相手先入出力パラメータ位
置情報」の入力パラメータ位置情報を用いて、「データ
送信コマンド」によりI/Oメモリ16より読み込んだ
データを送信し、レスポンスが返されるのを待つ(ステ
ップ902)。
【0090】次に、レスポンス正常かを調べ(ステップ
903)、レスポンス正常であると判断された場合は
(ステップ903でYES)、プログラム本体として格
納された「相手先プログラム位置情報」と「相手先入出
力パラメータ位置情報」の出力パラメータ位置情報を用
いて、「データ受信コマンド」を発行し、レスポンスが
返されるのを待つ(ステップ904)。
【0091】そして、レスポンス正常かを調べ(ステッ
プ905)、レスポンス正常であると(ステップ905
でYES)、レスポンスの値をI/Oメモリ16にセッ
トし(ステップ906)、図8のフローチャートに戻っ
て、このプログラムブロック実行処理を終了する(ステ
ップ808)。
【0092】なお、ステップ903で、レスポンスが正
常でない(ステップ903でNO)若しくはステップ9
05で、レスポンスが正常でない(ステップ905でN
O)と判断された場合は、そのままこのプログラムブロ
ック実行処理を終了する(ステップ808)。
【0093】図10は、図3に示したサポートツール2
0における全体処理を示すフローチャートである。図1
0において、サポートツール20の処理が開始されると
(ステップ1001)、先ず、所定の起動時初期処理を
実行し(ステップ1002)、次に、ユーザ操作による
機能選択が行われる(ステップ1003)。
【0094】次に、ステップ1003の機能選択により
選択された機能がプログラム読出機能かを調べる(ステ
ップ1004)。ここで、選択された機能がプログラム
読出機能であると判断されると(ステップ1004でY
ES)、プログラム読出機能処理を実行し(ステップ1
005)、ステップ1003に戻る。
【0095】また、ステップ1004で選択された機能
がプログラム読出機能でないと判断された場合は(ステ
ップ1004でNO)、他の機能の選択に応じてサポー
トツール各機能への分岐を行い、サポートツール各機能
処理を実行する。
【0096】そして、次に、サポートツール各機能処理
が終了かを調べ(ステップ1006)、終了でないと判
断されると(ステップ1006でNO)、ステップ10
03へ戻るが、終了であると判断されると(ステップ1
006でYES)、所定の終了処理を実行し(ステップ
1007)、このサポートツール20における全体処理
フローを終了する(ステップ1008)。
【0097】図11,図12は、図10に示したステッ
プ1005のプログラム読出機能処理の詳細を示すプロ
グラム読出機能フローのフローチャートである。図11
において、プログラム読出機能が開始されると(ステッ
プ1101)、演算装置21のメモリ空間23における
パラメータデータエリア23−1の「コントロール別ネ
ットワークアドレス情報」よりネットワークに接続して
いるコントローラIDを抽出する(ステップ110
2)。
【0098】次に、表示装置28の画面上に表示フレー
ム(A)を開きネットワーク30に接続しているコント
ローラ10−1〜10−3を「コントローラの一覧」と
して表示する(ステップ1103)。
【0099】この「コントローラの一覧」の一例は、例
えば、後述する図32に示すようなもので、図32にお
いては、ネットワーク30に接続しているコントローラ
が、コントローラ(コントローラA)10−1、コント
ローラ(コントローラB)10−2、コントローラ(コ
ントローラC)10−3であることを示している。
【0100】ここで、作業者が表示フレーム(A)内の
コントローラを指定する(ステップ1104)。
【0101】これにより、指定されたコントローラのコ
ントローラID番号をもとに「コントローラ別ネットワ
ークアドレス情報」より該当のコントローラのアドレス
情報を抽出する(ステップ1105)。
【0102】そして、抽出したアドレス宛てに「プログ
ラム読出」コマンドを発行し(ステップ1106)、レ
スポンス待ちになる(ステップ1107)。
【0103】ステップ1107でレスポンスありと判断
されると、コマンドのレスポンスとして選択されたコン
トローラ10のユーザプログラムから「アプリケーショ
ンプログラムデータ」を読み込み(ステップ110
8)、この「アプリケーションプログラムデータ」を解
析し、別の表示フレーム(B)を開き「アプリケーショ
ンプログラム構造」を表示する(ステップ1109)。
【0104】ここで、表示フレーム(B)は、図33に
示すように、例えばコントローラ(コントローラA)1
0−1の「アプリケーションプログラム構造」を示して
おり、ここでは、コントローラ(コントローラA)10
−1のアプリケーションプログラム構成をプログラムブ
ロック単位で表示している。
【0105】次に、作業者が表示フレーム(B)内のプ
ログラムブロックを指定する(ステップ1110)。
【0106】そして、指定されたプログラムブロックの
データを図25に示すような「アプリケーションプログ
ラムデータ」より抽出し(ステップ1111)、抽出し
たプログラムブロックの種別を調べる(ステップ111
2)。
【0107】ここで、抽出したプログラムブロックの種
別が入出力パラメータ送受信プログラムブロックである
と、プログラムデータブロックより相手先プログラムブ
ロック位置情報(相手先コントローラアドレスと相手先
プログラムブロックID番号)を抽出し(ステップ12
01)、次に、指定されたプログラムブロックデータよ
り入力パラメータ、出力パラメータ(b)を抽出し(ス
テップ1202)、抽出した相手先コントローラアドレ
ス宛に、同じく抽出したプログラムブロックID番号を
パラメータして「プログラムブロック読出コマンドを発
行し(ステップ1203)、レスポンス待ちになる(ス
テップ1204)。
【0108】そして、ステップ1204でレスポンスあ
りと判断されると、コマンドのレスポンスとして「プロ
グラムブロックデータ」を読み込み(ステップ120
5)、さらに、プログラムデータブロックより入力パラ
メータ、出力パラメータおよびプログラムブロック本体
であるプログラムコードリストを抽出し、図35に示さ
れるように、(b)とともに新しい表示フレーム(C)
を開いて表示する(ステップ1206)。
【0109】次に、作業者が別ブロックの読み出しを指
定した場合は、別のプログラムブロックを読み出すかを
調べ(ステップ1207)、別のプログラムブロックを
読み出すと判断されると(ステップ1207でYE
S)、フレーム(C)を閉じ(ステップ1208)、図
11のステップ1110へ進む。
【0110】また、ステップ1207で別のプログラム
ブロックは読み出さないと判断されると(ステップ12
07でNO)、次に、作業者が別コントローラの読み出
しを指定した場合は、別のコントローラを指定するかを
調べる(ステップ1209)。ここで、別のコントロー
ラを指定すると判断されると(ステップ1209でYE
S)、フレーム(B),(C)を閉じ(ステップ121
0)、図11のステップ1104へ進む。
【0111】また、ステップ1209で、別のコントロ
ーラは指定しないと判断されると(ステップ1209で
NO)、作業者が機能終了を指定した場合は、このプロ
グラム読出機能を終了するかを調べ(ステップ121
1)、このプログラム読出機能を終了しないと判断され
ると(ステップ1211でNO)、ステップ1207に
戻るが、このプログラム読出機能を終了すると判断され
ると(ステップ1211でYES)、すべてのフレーム
(A)〜(C)を閉じ(ステップ1212)、このプロ
グラムブロック処理を終了する(ステップ1213)。
【0112】一方、図11のステップ1112で抽出し
たプログラムブロックの種別がノーマルプログラムブロ
ックであると、プログラムブロックデータより入力パラ
メータ、出力パラメータおよびプログラムブロック本体
であるプログラムコードリストを抽出し、図34に示さ
れるように、新しい表示フレーム(C)を開いて表示し
(ステップ1113)、ステップ1207へ進む。以
下、ステップ1207〜ステップ1213の処理は前述
した処理と同様である。
【0113】図13,図14,図15は、図10に示し
たステップ1005のプログラム読出機能処理の詳細を
示す他のプログラム読出機能フローのフローチャートで
ある。図13において、プログラム読出機能が開始され
ると(ステップ1301)、まず、演算装置21のメモ
リ空間23におけるパラメータデータエリア23−1の
「コントロール別ネットワークアドレス情報」よりネッ
トワークに接続しているコントローラIDを抽出する
(ステップ1302)。
【0114】次に、表示装置28の画面上に表示フレー
ム(A)を開き「コントローラの一覧」として表示する
(ステップ1303)。
【0115】ここで、作業者が表示フレーム(A)内の
コントローラを指定する(ステップ1304)。
【0116】これにより、指定されたコントローラのコ
ントローラID番号をもとに「コントローラ別ネットワ
ークアドレス情報」より該当のコントローラのアドレス
(a)を抽出する(ステップ1305)。
【0117】そして、抽出したアドレス(a)宛てに
「プログラム構成読出」コマンドを発行し(ステップ1
306)、レスポンス待ちになる(ステップ130
7)。
【0118】ステップ1307でレスポンスありと判断
されると、このレスポンス(b)、すなわち、抽出した
アドレスのコントローラ10のアプリケーションプログ
ラムをメモリ空間23のユーザプログラムデータエリア
23−2へ保存する(ステップ1308)。
【0119】次に、レスポンス(b)を解析し、別の表
示フレーム(B)を開き、「アプリケーションプログラ
ム構造」を表示する(ステップ1309)。ここで、表
示フレーム(B)の一例を示すと後述する図33のよう
になる。
【0120】ここで、作業者が表示フレーム(B)内の
プログラムブロックを指定する(ステップ1310)。
そして、図14に移って、抽出したプログラムブロック
の種別を判別する(ステップ1401)。
【0121】ステップ1401で、抽出したプログラム
ブロックが、ノーマルプログラムブロックであると判別
されると、アドレス(a)宛にプログラムブロックID
番号をパラメータとして「プログラムブロック読出」コ
マンドを発行する(ステップ1402)。そして、レス
ポンス待ちとなり(ステップ1403)、レスポンスが
あると、コマンドのレスポンスとして「プログラムブロ
ックデータ」を読み込む(ステップ1404)。
【0122】次に、プログラムデータブロックより入力
パラメータ、出力パラメータおよびプログラムブロック
本体であるプログラムコードリストを抽出し、図34に
示されるように、新しい表示フレーム(C)を開いて表
示し(ステップ1405)、図15のステップ1501
へ進む。
【0123】一方、図14のステップ1401で、抽出
したプログラムブロックが、入出力パラメータ送受信プ
ログラムブロックであると判別されると、相手先コント
ローラアドレス宛にプログラムブロックID番号をパラ
メータとして「プログラムブロック読出」コマンドを発
行する(ステップ1406)。そして、レスポンス待ち
となり(ステップ1407)、レスポンスがあると、コ
マンドのレスポンスとして「プログラムブロックデー
タ」を読み込む(ステップ1408)。
【0124】そして、プログラムデータブロックより入
力パラメータ、出力パラメータおよびプログラムブロッ
ク本体であるプログラムコードリストを抽出し、(b)
より指定されたプログラムブロックの入力パラメータ、
出力パラメータを抽出し、図34に示されるように、新
しい表示フレーム(C)を開いて表示し(ステップ14
09)、図15のステップ1501へ進む。
【0125】ステップ1501では、作業者が別ブロッ
クの読み出しを指定した場合は、別のプログラムブロッ
クを読み出すかを調べ、別のプログラムブロックを読み
出すと判断されると(ステップ1501でYES)、フ
レーム(C)を閉じ(ステップ1502)、図13のス
テップ1310へ進む。
【0126】また、ステップ1501で別のプログラム
ブロックは読み出さないと判断されると(ステップ15
01でNO)、次に、作業者が別コントローラの読み出
しを指定した場合は、別のコントローラを指定するかを
調べる(ステップ1503)。ここで、別のコントロー
ラを指定すると判断されると(ステップ1503でYE
S)、フレーム(B),(C)を閉じ(ステップ150
4)、図13のステップ1304へ進む。
【0127】また、ステップ1503で、別のコントロ
ーラは指定しないと判断されると(ステップ1503で
NO)、作業者が機能終了を指定した場合は、このプロ
グラム読出機能を終了するかを調べ(ステップ150
5)、このプログラム読出機能を終了しないと判断され
ると(ステップ1505でNO)、ステップ1501に
戻るが、このプログラム読出機能を終了すると判断され
ると(ステップ1505でYES)、すべてのフレーム
(A)〜(C)を閉じ(ステップ1506)、このプロ
グラムブロック処理を終了する(ステップ1507)。
【0128】次に、アプリケーションプログラムデータ
からその構成情報を抽出する手法とこの構成情報より表
示イメージを作成する手法について説明する。
【0129】図16は、アプリケーションプログラムデ
ータからその構成情報を抽出する手法を示すプログラム
構成情報抽出処理フローのフローチャートである。尚、
この処理は図11,図12の例ではサポートツールに
て、図13〜図15の例では「プログラム構成読出」コ
マンド処理としてコントローラが行なう。
【0130】図16において、プログラム構成情報抽出
処理が開始されると(ステップ1601)、まず、アプ
リケーションプログラムのデータ領域情報より順次個々
のプログラムブロックのデータを抽出する(ステップ1
602)。
【0131】次に、プログラムブロック識別子より「プ
ログラムブロックID番号」と「プログラムブロック種
別」を抽出し、構成情報の一部として記憶する(ブロッ
クAの各レコードのフィールド1および2)(ステップ
1603)。
【0132】そして、抽出したプログラムブロックの種
別を調べる(ステップ1604)。ここで、抽出したプ
ログラムブロックの種別が入出力パラメータ送受信プロ
グラムブロックであると判別されると、プログラムブロ
ック本体より相手先プログラムブロック位置情報を抽出
し、構成情報の一部として記憶する(ブロックAの各レ
コードのフィールド3)(ステップ1605)。
【0133】次に、抽出したプログラムブロックが最終
プログラムブロックかを調べ(ステップ1611)、抽
出したプログラムブロックが最終プログラムブロックで
ない場合は(ステップ1611でNO)、ステップ16
02に戻るが、抽出したプログラムブロックが最終プロ
グラムブロックであると判断された場合は(ステップ1
611でYES)、アプリケーションプログラムの情報
領域よりサイクル毎に実行されるプログラムブロックの
一覧情報のプログラムブロックID番号を抽出し、構成
情報の一部として記憶(ブロックBのフィールド1〜
N)したのち(ステップ1612)、このプログラム構
成情報抽出処理を終了する(ステップ1613)。
【0134】一方、ステップ1604で、抽出したプロ
グラムブロックの種別がノーマルプログラムブロックで
あると判別された場合は、プログラムブロック本体を読
み出し(ステップ1606)、その命令コードを順次解
析する(ステップ1607)。
【0135】そして、この解析した命令コードがプログ
ラムブロック起動命令かを調べる(ステップ160
8)。ここで、プログラムブロック起動命令でないと判
別された場合は(ステップ1608でNO)、ステップ
1610へ進むが、解析した命令コードがプログラムブ
ロック起動命令であると判別されると(ステップ160
8でYES)、命令コードより起動対象のプログラムブ
ロックID番号を抽出し、構成情報の一部として記憶し
たのち(ブロックAの各レコードのフィールド3)(ス
テップ1609)、ステップ1610へ進む。
【0136】尚、プログラムブロック起動命令とは、任
意のプログラムブロックを指定して、そのプログラムブ
ロックの起動を開始させる命令である。命令コードはオ
ペコードとオペランドの2つの構成に分かれ、オペコー
ドは本命令がプログラムブロック起動命令であることを
示すコードで、オペランドは起動対象となるプログラム
ブロックのID番号が格納される。
【0137】ステップ1610では、命令コード終了か
を調べる。ここで、命令コード終了でないと判別される
と(ステップ1610でNO)、ステップ1607に戻
るが、命令コード終了と判別されるとステップ1611
へ進む。
【0138】そして、抽出したプログラムブロックが最
終プログラムブロックかを調べ(ステップ1611)、
抽出したプログラムブロックが最終プログラムブロック
でない場合は(ステップ1611でNO)、ステップ1
602に戻るが、抽出したプログラムブロックが最終プ
ログラムブロックであると判断された場合は(ステップ
1611でYES)、アプリケーションプログラムの情
報領域よりサイクル毎に実行されるプログラムブロック
の一覧情報のプログラムブロックID番号を抽出し、構
成情報の一部として記憶(ブロックBのフィールド1〜
N)したのち(ステップ1612)、このプログラム構
成情報抽出処理を終了する(ステップ1613)。
【0139】図17は、アプリケーションプログラムデ
ータから抽出された構成情報(図4参照)より表示イメ
ージ(図29参照)を作成する手法を示すプログラム構
成表示生成処理フローのフローチャートである。
【0140】図17において、プログラム構成表示生成
処理が開始されると(ステップ1701)、まず、プロ
グラム構成情報のブロックBよりプログラムIDを抽出
し、上段表示要素とする(ステップ1702)。
【0141】次に、上段表示要素に対応するレコードを
プログラム構成情報のブロックAより検索する(各レコ
ードのフィールド1との一致)(ステップ1703)。
【0142】そして、該当レコードのフィールド2を調
べる(ステップ1704)。ここで、該当レコードのフ
ィールド2が入出力パラメータ送受信プログラムブロッ
クであると判別されると、フィールド3より相手先プロ
グラムブロック位置情報のコントローラアドレスを抽出
し、「コントローラ別ネットワークアドレス情報」より
コントローラIDに変換したうえで、現在の表示要素の
右に追加する(ステップ1705)。
【0143】次に、フィールド3より相手先プログラム
ブロックID番号を抽出し、現在の表示要素の右に追加
し(ステップ1706)、上段表示要素は最終かを調べ
る(ステップ1714)。ここで、上段表示要素が最終
でないと判断されると(ステップ1714でNO)、次
の表示要素を読み込み(ステップ1715)、ステップ
1703に戻るが、上段表示要素が最終であると判断さ
れると(ステップ1714でYES)、このプログラム
構成表示生成処理を終了する(ステップ1716)。
【0144】一方、ステップ1704で該当レコードの
フィールド2がノーマルプログラムブロックであると判
別されると、フィールド3より相手先プログラムブロッ
クID番号を抽出し、下段表示要素として次ラインに加
える(ステップ1707)。
【0145】そして、下段表示要素に対応するレコード
をプログラム構成情報のブロックAより検索する(各レ
コードのフィールド1との一致)(ステップ170
8)。
【0146】次に、該当レコードのフィールド2を調べ
る(ステップ1709)。ここで、該当レコードのフィ
ールド2がノーマルプログラムブロックであると判別さ
れると、ステップ1712へ進むが、該当レコードのフ
ィールド2が入出力パラメータ送受信プログラムブロッ
クであると判別されると、フィールド3より相手先プロ
グラムブロック位置情報のコントローラアドレスを抽出
し、「コントローラ別ネットワークアドレス情報」より
コントローラIDに変換したうえで、現在の表示要素の
右に追加する(ステップ1710)。
【0147】次に、フィールド3より相手先プログラム
ブロックID番号を抽出し、現在の表示要素の右に追加
し(ステップ1711)、下段表示要素が最終かを調べ
る(ステップ1712)。ここで、下段表示要素が最終
でないと判断されると(ステップ1712でNO)、次
の表示要素を読み込み(ステップ1713)、ステップ
1708に戻るが、下段表示要素が最終であると判断さ
れると(ステップ1712でYES)、ステップ171
4へ進む。
【0148】そして、ステップ1714で、上段表示要
素が最終でないと判断されると(ステップ1714でN
O)、次の表示要素を読み込み(ステップ1715)、
ステップ1703に戻るが、上段表示要素が最終である
と判断されると(ステップ1714でYES)、このプ
ログラム構造表示生成処理を終了する(ステップ171
6)。
【0149】次に、この実施の形態のコントローラシス
テムの物理的なアプリケーションプログラムの構造の具
体例について説明する。
【0150】図18は、図1に示したこの実施の形態の
コントローラシステムにおける物理的なアプリケーショ
ンプログラムの構造の一例を示す図である。
【0151】図18において、この実施の形態のコント
ローラシステムにおける物理的なアプリケーションプロ
グラムにおいて、コントローラ(コントローラA)10
−1のアプリケーションプログラムは、プログラムブロ
ックPB10〜PB15の6つのプログラムブロックで
構成されている。ここで、プログラムブロックPB10
とプログラムブロックPB13、PB14との間は階層
的な構造にあり、また、プログラムブロックPB11と
プログラムブロックPB14、PB15との間も階層的
な構造にある。
【0152】また、コントローラ(コントローラB)1
0−2のアプリケーションプログラムは、プログラムブ
ロックPB20、PB21の2つのプログラムブロック
で構成されており、コントローラ(コントローラC)1
0−3のアプリケーションプログラムは、プログラムブ
ロックPB30の1つのプログラムブロックで構成され
ている。
【0153】ここで、コントローラ(コントローラA)
10−1のプログラムブロックPB12は、コントロー
ラ(コントローラC)10−3のプログラムブロックP
B30に対して入力パラメータとしてデータを渡し、プ
ログラムブロックPB30の演算結果、すなわち出力パ
ラメータを受け取るプログラムブロックである。
【0154】また、コントローラ(コントローラA)1
0−1のプログラムブロックPB13は、コントローラ
(コントローラB)10−2のプログラムブロックPB
20に対して入力パラメータとしてデータを渡し、プロ
グラムブロックPB20の演算結果、すなわち出力パラ
メータを受け取るプログラムブロックである。
【0155】また、コントローラ(コントローラA)1
0−1のプログラムブロックPB14は、コントローラ
(コントローラB)10−2のプログラムブロックPB
21に対して入力パラメータとしてデータを渡し、プロ
グラムブロックPB21の演算結果、すなわち出力パラ
メータを受け取るプログラムブロックである。
【0156】図19は、図18に示した物理的なアプリ
ケーションプログラムの構造に対応する論理的なアプリ
ケーションプログラムの構造を示す図である。図19に
おいて、コントローラ(コントローラA)10−1のア
プリケーションプログラムは、論理的なアプリケーショ
ンプログラムの構造として、プログラムブロックPB1
0、PB11、PB15、PB20、PB21、PB3
0の6つのプログラムブロックで構成されている。
【0157】ここで、プログラムブロックPB10とプ
ログラムブロックPB20、PB21との間は階層的な
構造にあり、また、プログラムブロックPB11とプロ
グラムブロックPB21、PB15との間も階層的な構
造にある。
【0158】なお、プログラムブロックPB20、PB
21の実体は、コントローラ(コントローラB)10−
2に存在し、プログラムブロックPB30の実体は、コ
ントローラ(コントローラC)10−3に存在する。
【0159】図20は、この実施の形態のコントローラ
システムで採用するノーマルプログラムブロックの構造
の具体例を示す図である。図20において、この実施の
形態のコントローラシステムで採用するノーマルプログ
ラムブロックは、「プログラムブロック識別子」、「入
力パラメータ」、「出力パラメータ」、「プログラムブ
ロック本体」から構成される。
【0160】ここで、「プログラムブロック識別子」
は、「プログラムブロック種別」と「プログラムブロッ
クID番号」からなり、「プログラムブロック種別」に
は「ノーマルプログラムブロック」が格納される。ま
た、「プログラムブロックID番号」には、コントロー
ラ内でのユニークな番号が割り付けられる。
【0161】また、「入力パラメータ」には、「プログ
ラムブロック本体」の実行のための入力パラメータが格
納され、「出力パラメータ」には、「プログラムブロッ
ク本体」の実行結果としての出力パラメータが格納され
る。
【0162】また、「プログラムブロック本体」には、
ラダープログラムなどのプログラムブロックの起動時に
実行されるプログラムコードが格納される。
【0163】図21は、この実施の形態のコントローラ
システムで採用する入出力パラメータ送受信プログラム
ブロックの構造の具体例を示す図である。図21におい
て、この実施の形態のコントローラシステムで採用する
入出力パラメータ送受信プログラムブロックは、「プロ
グラムブロック識別子」、「入力パラメータ」、「出力
パラメータ」、「プログラムブロック本体」から構成さ
れる。
【0164】ここで、「プログラムブロック識別子」
は、「プログラムブロック種別」と「プログラムブロッ
クID番号」からなり、「プログラムブロック種別」に
は「入出力パラメータ送受信プログラムブロック」が格
納される。また、「プログラムブロックID番号」に
は、コントローラ内でのユニークな番号が割り付けられ
る。
【0165】また、「入力パラメータ」には、相手先に
送信する入力パラメータが格納され、「出力パラメー
タ」には、相手先から受信した実行処理結果に相当する
出力パラメータが格納される。
【0166】また、「プログラムブロック本体」には、
入出力パラメータを送受信するための「相手先の位置情
報」が格納される。ここで、「相手先の位置情報」に
は、「相手先プログラムのプログラムブロック位置情
報」および「相手先入出力パラメータ位置情報」があ
り、「相手先プログラムのプログラムブロック位置情
報」は、「コントローラのアドレス」および「プログラ
ムブロックID番号」から構成される。尚、ここで、
「相手先入出力パラメータ位置情報」とは、入出力パラ
メータを送受信するための相手先コントローラでの位置
である。
【0167】図22は、図18に示したプログラムブロ
ックPB10のプログラムブロックデータの具体例を示
す図である。図22において、プログラムブロックPB
10のプログラムブロックデータは、「プログラムブロ
ック識別子」の「プログラムブロック種別」として「ノ
ーマルプログラムブロック」が格納され、「プログラム
ブロックID番号」として「PB10」が格納される。
【0168】また、「入力パラメータ」として「DM0
000」が格納され、「出力パラメータ」として「DM
0001」が格納される。なお、図22において「プロ
グラムブロック本体」のプログラムコードは省略してい
る。
【0169】図23は、図18に示したプログラムブロ
ックPB13のプログラムブロックデータの具体例を示
す図である。図23において、プログラムブロックPB
13のプログラムブロックデータは、「プログラムブロ
ック識別子」の「プログラムブロック種別」として「入
出力パラメータ送受信プログラムブロック」が格納さ
れ、「プログラムブロックID番号」として「PB1
3」が格納される。
【0170】また、「入力パラメータ」として「DM2
000」が格納され、「出力パラメータ」として「DM
2001」が格納される。
【0171】また、「プログラムブロック本体」の「相
手先プログラムのプログラムブロック位置情報」の「コ
ントローラのアドレス」には「コントローラB」が格納
され、「プログラムブロックID番号」には、「PB2
0」が格納される。
【0172】また、「プログラムブロック本体」の「相
手先入出力パラメータ位置情報」には、「入力」として
「CM0000」が格納され、「出力」として「CM0
001」が格納される。
【0173】図24は、図18に示したプログラムブロ
ックPB20のプログラムブロックデータの具体例を示
す図である。図24において、プログラムブロックPB
20のプログラムブロックデータは、「プログラムブロ
ック識別子」の「プログラムブロック種別」として「ノ
ーマルプログラムブロック」が格納され、「プログラム
ブロックID番号」として「PB20」が格納される。
【0174】また、「入力パラメータ」として「CM0
000」が格納され、「出力パラメータ」として「CM
0001」が格納される。なお、図24において「プロ
グラムブロック本体」のプログラムコードは省略してい
る。
【0175】図25は、図18に示したコントローラシ
ステムで採用されるアプリケーションプログラムデータ
の具体例を示す図である。図25において、アプリケー
ションプログラムデータのデータ領域情報は、アプリケ
ーションプログラムデータのデータ構造を示すもので、
各プログラムブロック毎の格納場所が記述されている。
また、毎サイクル起動されるプログラムブロックの一覧
情報もここに格納される。
【0176】ここで、プログラムブロックPB10〜P
B15のデータには、プログラム運転処理にて実行され
る命令語群が実行順に格納される。
【0177】なお、図25は、コントローラ(コントロ
ーラA)10−1のアプリケーションプログラムデータ
の具体例を示したが、コントローラ(コントローラB)
10−2およびコントローラ(コントローラC)10−
3のアプリケーションプログラムデータも同様に構成さ
れる。
【0178】図26は、図18に示したコントローラシ
ステムで採用されるアプリケーションプログラムデータ
テーブルの具体例を示す図である。図26において、こ
のアプリケーションプログラムデータテーブルはサポー
トツール24内に記憶され、このアプリケーションプロ
グラムデータテーブルのデータ領域情報は、アプリケー
ションプログラムデータテーブルのデータ構造を示し、
各アプリケーションプログラムデータ毎の格納場所が記
述されている。
【0179】この例では、アプリケーションプログラム
データとしてコントローラ(コントローラA)10−1
〜コントローラ(コントローラC)10−3のアプリケ
ーションプログラムデータが存在するが、ネットワーク
30に接続されるコントローラの数が増えると、同様に
データ領域が追加される。
【0180】また、アプリケーションプログラムデータ
は、コントローラ毎に記憶されるアプリケーションプロ
グラムデータと同一の構造を持つ。
【0181】図27は、図18に示したコントローラシ
ステムで採用されるプログラムブロックステータス情報
の具体例を示す図である。図27において、プログラム
ブロックステータス情報は「プログラムブロックID番
号」と「ステータス」とからなる。
【0182】ここで、「プログラムブロックID番号」
はプログラムブロックの識別子であり、「ステータス」
は該当プログラムブロックの状態および状態指示を示
す。
【0183】この情報は、コントローラにおいて、各プ
ログラムブロックの実行を制御するための情報であり、
図2のワークメモリ15に生成される。毎サイクルに実
行処理されるすべてのプログラムブロックのプログラム
ブロックIDに対してその状態が記憶される。
【0184】プログラム運転処理の初回時にすべてのプ
ログラムブロックが起動としてワークメモリ15に生成
記憶され、プログラム運転処理においてこのワークエリ
アの内容に従って各プログラムブロックが実行または停
止される。
【0185】図28は、図18に示したコントローラシ
ステムで採用されるコントローラ別ネットワークアドレ
ス情報の具体例を示す図である。図28において、この
コントローラ別ネットワークアドレス情報は、「コント
ローラID」と「アドレス」とからなる。この情報が図
2のワークメモリ15に記憶される。
【0186】ここで、「コントローラID」は、ネット
ワーク30に接続されているコントローラの識別子を示
し、「アドレス」は、各コントローラのネットワーク3
0上のアドレスを示す。
【0187】この情報は、ネットワーク接続されたコン
トローラのネットワーク30上のアドレスを示し、サポ
ートツール20のメモリ空間23のパラメータデータエ
リア23−1に格納される。
【0188】また、図29は、プログラムブロックPB
10のプログラムブロック本体の一部の具体例を示し、
また、図30は、プログラムブロックPB11のプログ
ラムブロック本体の一部の具体例を示す。
【0189】また、図31は、図3に示したサポートツ
ール20の表示装置28の表示画面の一例を示したもの
である。図31において、サポートツール20の表示装
置28の表示画面は、画面全体を「コントローラ一
覧」、「アプリケーションプログラム構造」、「プログ
ラムブロック情報」の表示ウインドウに分割し、複数の
フレーム化して表示するユーザインタフェースを構成す
る。
【0190】また、図32は、図31に示した「コント
ローラ一覧」のサポートツール20の具体的な表示例を
示したものであり、図33は、図31に示した「アプリ
ケーションプログラム構成」の具体的サポートツール2
0の表示例を示したものであり、図34は、図31に示
した「プログラムブロック情報」の具体的サポートツー
ル20の表示例を示したものであり、図35は、図31
に示した「プログラムブロック情報」の具体的サポート
ツール20の他の表示例を示したものである。
【0191】さて、上記構成に基づくこの実施の形態の
コントローラシステムの具体的動作例を以下に説明す
る。 (プログラムブロックの実行処理)この実施の形態のコ
ントローラシステムは、図1に示したように、3台のコ
ントローラ、すなわちコントローラ(コントローラA)
10−1、コントローラ(コントローラB)10−2、
コントローラ(コントローラC)10−3とサポートツ
ール20をネットワーク30に接続して構成される。
【0192】それぞれのコントローラ、すなわちコント
ローラ(コントローラA)10−1、コントローラ(コ
ントローラB)10−2、コントローラ(コントローラ
C)10−3には、アプリケーションプログラムとし
て、図18に示した物理的なアプリケーションプログラ
ム構造のように分割されたプログラムブロックが格納さ
れている。
【0193】各プログラムブロックには、各コントロー
ラにおいて「プログラム運転処理」起動により、毎サイ
クル起動されるものと、任意のプログラムブロックより
起動されるものがあり、この実施の形態においては、コ
ントローラ(コントローラA)10−1のプログラムブ
ロックPB10、PB11,PB12、コントローラ
(コントローラB)10−2のプログラムブロックPB
20、PB21、コントローラ(コントローラC)10
−3のプログラムブロックPB30は前者にあたり、コ
ントローラ(コントローラA)10−1のプログラムブ
ロックPB13、PB14、PB15は後者にあたる。
【0194】「プログラム運転処理」起動により、毎サ
イクル起動されるプログラムブロックは、プログラミン
グの際に作業者が設定しておき、図25に示した「アプ
リケーションプログラムデータ」内のデータ情報領域に
格納されている。
【0195】この毎サイクル起動されるプログラムブロ
ックは、図7に示した「プログラム運転処理フロー(コ
ントローラ)」に示すように、毎サイクル起動されて、
図8,図9に示す「プログラムブロック実行処理フロ
ー」のように実行処理される。
【0196】任意のプログラムブロックから起動される
プログラムブロックは、図29に示したプログラムブロ
ックPB10のプログラムブロック本体の一部若しくは
図30に示したプログラムブロックPB11のプログラ
ムブロック本体の一部のようにプログラムブロックの本
体のプログラムコードより起動される。これらの例に示
される[PB13]および[PB15]は、プログラム
ブロックの起動を行う命令コードを表し、起動されるプ
ログラムブロックのデータは、図25に示す「アプリケ
ーションプログラムデータ」のようにユーザプログラム
メモリ13上に格納される。
【0197】なお、任意のプログラムブロックから起動
されるプログラムブロックの処理内容は、図8,図9に
示した「プログラムブロック実行処理フロー」となる。
【0198】さて、コントローラ(コントローラA)1
0−1のプログラムブロックPB10、PB11、PB
15、コントローラBのプログラムブロックPB20、
PB21、コントローラCのプログラムブロックPB3
0は、ノーマルプログラムブロックであり、コントロー
ラA,B,Cにて実行処理されるプログラムコードが格
納されていて、起動時は図20に示したような「ノーマ
ルプログラムブロックの構造」に示される入力パラメー
タの値をもって、オペレータにより予めプログラミング
されたプログラムブロック本体を実行し、その結果を出
力パラメータに返す。
【0199】コントローラAのプログラムブロックPB
12、PB13、PB14は入出力パラメータ送受信プ
ログラムブロックで、起動時は図21に示した「入出力
パラメータ送受信プログラムブロックの構造」に示され
る入力パラメータの値を、プログラムブロック本体とし
て格納された相手先プログラム位置情報と相手先入出力
パラメータを用いて、相手先コントローラのプログラム
ブロックの入力パラメータに格納する。
【0200】また、相手先コントローラの出力パラメー
タを読み込み、自プログラムブロックの出力パラメータ
に格納する。
【0201】以下、コントローラAのプログラムブロッ
クPB13とコントローラBのプログラムブロックPB
20を例にとって、その詳細動作を説明する。
【0202】コントローラAのプログラムブロックPB
13には、図23に示した「PB13のプログラムブロ
ックデータ」のような情報が、アプリケーションプログ
ラムの一部としてコントローラAのユーザープログラム
メモリ13上に格納されている。
【0203】ここで、入力パラメータ「DM2000」
および出力パラメータ「DM2001」はコントローラ
AのI/0メモリ16上のアドレスである。また、相手
先入出力パラメータ位置情報の「CM0000」および
「CM0001」も、コントローラBのI/0メモリ1
6上のアドレスである。
【0204】コントローラBのプログラムブロックPB
20には、図24に示した「PB20のプログラムブロ
ックデータ」のような情報がアプリケーションプログラ
ムの一部としてコントローラBのユーザープログラムメ
モリ13上に格納されている。
【0205】コントローラAではユーザープログラム実
行処理においてプログラムブロックPB13が起動され
るとき、入力パラメータである「DM2000」の値
を、コントローラBの「CM0000」に格納する。こ
れはメッセージサービスの「データ送信」コマンドによ
り行われる。
【0206】また、同じくコントローラBの「CM00
01」のデータを読み出し、出力パラメータである「D
M2001」に格納する。これはメッセージサービスの
「データ受信コマンド」により行われる。
【0207】コントローラBではユーザープログラム実
行処理においてプログラムブロックPB20が起動され
るとき、「CM0000」の値をパラメータとして、プ
ログラムブロック本体のプログラムコードが実行処理さ
れ、その実行結果が出力パラメータである「CM000
1」に格納される。
【0208】なお、入出力パラメータ送受信プログラム
ブロックの処理方法として,プログラムブロック本体内
に、送受信のためのプログラムを格納し、ノーマルのプ
ログラムブロックと同様に実行処理することで、上記構
成と同じ効果を得る方式も考えられる。
【0209】また、入出力パラメータ送受信プログラム
ブロックによるデータの送受信方式として上記実施の形
態ではメッセージサービスによるものを用いたが、ネッ
トワークを介して複数のコントローラ間で共有メモリを
実現するデータリンク方式(またはコモンメモリ方式)
を用いても同様に構成することができる。(サポートツ
ールによるプログラム表示I)サポートツール20は、
表示装置28への表示において、画面全体を分割し、複
数のフレーム化し表示する図31に示した「サポートツ
ール表示構成」ようなユーザーインタフェースをもつ。
なお、図31の「サポートツール表示構成」はこの実施
の形態における画面表示のイメージである。
【0210】ここで、作業者はサポートツール20によ
り、「プログラム読出機能」を起動する。
【0211】「プログラム読出機能」を起動すると、サ
ポートツール20はパラメータデータエリア23−1に
格納されている図28に示した「コントローラ別ネット
ワークアドレス情報」よりネットワーク30に接続して
いるコントローラIDを抽出し、図32に示した「サポ
ートツール表示例(コントローラ一覧)」のようなネッ
トワークに接続しているコントローラを一覧として表示
する。
【0212】ここで、作業者はアプリケーションプログ
ラムを読み出したいコントローラを選択する。なお、図
32の「サポートツール表示例(コントローラ一覧)」
ではコントローラAが選択された例を示している。
【0213】サポートツール20は、メッセージサービ
スにより、選択されたコントローラよりアプリケーショ
ンプログラムを読み出す。これはメッセージサービスの
「プログラム読出コマンド」にて行われる。
【0214】サポートツール20では、コントローラよ
り読出したアプリケーションプログラムを記憶したうえ
で、データを解析し、図33の「サポートツール表示フ
レーム例(アプリケーションプログラム構成)」のよう
にプログラムブロックの構造を画面分割したフレームに
表示する。
【0215】ここで、図33の「サポートツール表示フ
レーム例(アプリケーションプログラム構成)」はコン
トローラAのアプリケーションプログラム構成をプログ
ラムブロック単位で表示した例である。
【0216】なお、アプリケーションプログラムのデー
タを解析する際に、プログラムブロックが入出力パラメ
ータ送受信プログラムブロックである場合は、図33の
「サポートツール表示フレーム例(アプリケーションプ
ログラム構成)」のプログラムブロックPB12、PB
13、PB14の表示形式のような相手先のコントロー
ラとプログラムブロックも併せて表示される。
【0217】アプリケーションプログラムデータからそ
の構成情報を抽出する手法と構成情報より表示イメージ
を作成する手法は、図16に示した「プログラム構成情
報抽出処理フロー」と図17に示した「プログラム構造
表示生成処理フロー」とに示される。
【0218】作業者は表示されたプログラムブロックの
中から情報を表示したいプログラムブロックを選択す
る。図33の「サポートツール表示フレーム例(アプリ
ケーションプログラム構造)」では、プログラムブロッ
クPB10が選択されている例を示している。
【0219】サポートツールは先に読み出したコントロ
ーラAのアプリケーションプログラムより、選択された
該当のプログラムブロックのデータを抽出解析し,その
情報を画面分割したフレームに表示する。図34の「サ
ポートツール表示例(プログラムブロック情報PB1
0)」はプログラムブロックPB10のプログラムブロ
ックの情報を表示した例である。
【0220】ここで、プログラムブロックPB10はノ
ーマルプログラムブロックであるために、プログラムブ
ロックのデータは図22に示した「PB10のプログラ
ムブロックデータ」のようになり、フレームに表示され
る情報は、入力パラメータ、出力パラメータ、およびプ
ログラムブロック本体であるプログラムコードリストと
なる。
【0221】作業者が図33の「サポートツール表示フ
レーム例(アプリケーションプログラム構成)」におい
てプログラムブロックPB10と同様にプログラムブロ
ックPB13を選択した場合は、以下のようになる。
【0222】サポートツール20は、プログラムブロッ
クPB13のプログラムブロックのデータを抽出解析す
る。ここで、プログラムブロックPB13は、入出力パ
ラメータ送受信プログラムブロックであるため、プログ
ラムブロックのデータは図23の「PB13のプログラ
ムブロックデータ」のようになる。
【0223】サポートツール20は、プログラムブロッ
ク本体に格納されている相手先プログラムブロック位置
情報をもとに、コントローラBよりプログラムブロック
PB20のプログラムブロックデータを読み出す。これ
はメッセージサービスの「プログラムブロック読出コマ
ンド」にて行われる。
【0224】読み出したプログラムブロックデータは、
図24の「PB20のプログラムブロックデータ」とな
り、プログラムブロックPB20はノーマルプログラム
ブロックであるため、これを解析しプログラムブロック
PB13の情報と併せて図35の「サポートツール表示
例(プログラムブロック情報PB20)」のようにプロ
グラムブロックの情報をフレームに表示する。
【0225】これにより作業者は、実際は、図18の
「物理的なアプリケーションプログラム構造」のように
構成されたアプリケーションプログラム構成を、図19
の「論理的なアプリケーションプログラムの構造」とし
て認識することができるようになる。 (サポートツールによるプログラム表示II)サポートツ
ール20は、表示装置28への表示において、画面全体
を分割し、複数のフレーム化し表示する図31に示した
「サポートツール表示構成」ようなユーザーインタフェ
ースをもつ。なお、図31の「サポートツール表示構
成」はこの実施の形態における画面表示のイメージであ
る。
【0226】ここで、作業者はサポートツール20によ
り、「プログラム読出機能」を起動する。「プログラム
読出機能」を起動すると、サポートツール20はパラメ
ータデータエリア23−1に格納されている図28に示
した「コントローラ別ネットワークアドレス情報」より
ネットワーク30に接続しているコントローラIDを抽
出し、図32に示した「サポートツール表示例(コント
ローラ一覧)」のようなネットワークに接続しているコ
ントローラを一覧として表示する。
【0227】ここで、作業者はアプリケーションプログ
ラムを読み出したいコントローラを選択する。なお、図
32の「サポートツール表示例(コントローラ一覧)」
ではコントローラAが選択された例を示している。
【0228】サポートツール20は、メッセージサービ
スにより、コントローラよりアプリケーションプログラ
ムの構成を読み出す。これはメッセージサービスの「プ
ログラム構成読出コマンド」にて行われる。
【0229】サポートツール20では、コントローラよ
り読出したアプリケーションプログラムの構成情報を記
憶した上で、データを解析し、図33の「サポートツー
ル表示フレーム例(アプリケーションプログラム構
成)」のようにプログラムブロックの構造を画面分割し
たフレームに表示する。
【0230】ここで、図33の「サポートツール表示フ
レーム例(アプリケーションプログラム構成)」はコン
トローラAのアプリケーションプログラム構成をプログ
ラムブロック単位で表示した例である。
【0231】アプリケーションプログラムの構成情報か
ら表示イメージを作成する手法は、図17の「プログラ
ム構造表示生成処理フロー」に示す。
【0232】作業者は表示されたプログラムブロックの
中から情報を表示したいプログラムブロックを選択す
る。なお、図33の「サポートツール表示フレーム例
(アプリケーションプログラム構成)」では、プログラ
ムブロックPB10が選択されている例を示している。
【0233】サポートツール20は、指定されたプログ
ラムブロックの情報をコントローラより読み出す。これ
はメッセージサービスの「プログラムブロック読出コマ
ンド」にて行われる。
【0234】読み出したプログラムブロックのデータを
抽出解析し、その情報を画面分割したフレームに表示す
る。図34の「サポートツール表示例(プログラムブロ
ック情報PB10)」はプログラムブロックPB10の
プログラムブロックの情報を表示した例である。
【0235】プログラムブロックPB10はノーマルプ
ログラムブロックであるため、コントローラAより読み
出したプログラムブロックのデータは図22の「PB1
0のプログラムブロックデータ」のようになり、フレー
ムに表示される情報は、入力パラメータ、出力パラメー
タ、およびプログラムブロック本体であるプログラムコ
ードリストとなる。
【0236】作業者が図33の「サポートツール表示フ
レーム例(アプリケーションプログラム構成)」におい
てプログラムブロックPB10と同様にプログラムブロ
ックPB13を選択した場合は、以下のようになる。
【0237】サポートツール20は、プログラムブロッ
クPB13のデータをコントローラAより読み出して解
析する。プログラムブロックPB13は入出力送受信プ
ログラムブロックであるために、プログラムブロックの
データは図23の「PB13のプログラムブロックデー
タ」のようになる。
【0238】サポートツール20は、プログラムブロッ
ク本体に格納されている相手先プログラムブロック位置
情報をもとに、コントローラBよりプログラムブロック
PB20のプログラムブロックデータを読み出す。これ
はメッセージサービスの「プログラムブロック読出コマ
ンド」にて行われる。
【0239】読み出したプログラムブロックデータは、
図24の「PB20のプログラムブロックデータ」とな
り、プログラムブロックPB20はノーマルプログラム
ブロックであるため、これを解析しプログラムブロック
PB13の情報と併せて図35の「サポートツール表示
例(プログラムブロック情報PB20)」のようにプロ
グラムブロックの情報をフレームに表示する。
【0240】これにより作業者は、実際は、図18の
「物理的なアプリケーションプログラム構造」のように
構成されたアプリケーションプログラム構成を、図19
の「論理的なアプリケーションプログラムの構造」とし
て認識することができるようになる。
【0241】
【発明の効果】以上説明したようにこの発明によれば、
以下に示したような効果を奏する。 1)複数のコントローラに跨るアプリケーションプログ
ラムの構造が論理的に認識できるため、作業者による認
識が容易になり作業ミスがなくなる。
【0242】2)複数のコントローラに格納されている
アプリケーションプログラムの所定の部分が、論理的な
プログラム構造に従って自動的に表示されるため、従来
の1台のコントローラ毎にかつプログラムブロック毎に
繰り返していた作業操作が単純化でき、設備のデバック
/メンテナンス時等の作業効率が大幅に向上する。
【0243】3)複数のコントローラに跨るアプリケー
ションプログラムを特別な構成情報なしに、コントロー
ラに格納されているアプリケーションデータだけで論理
的に表示できることで、構成情報の作成、保存、読み出
しなどの管理に関して作業者への負担がなくなる。
【0244】4)複数のコントローラアプリケーション
プログラムを論理構造を持って表示するために、特別な
構成情報が必要でなくなりサポートツール側のハード資
源負担が軽くなり、より低コストなサポートツールが提
供しやすくなる。
【0245】5)ネットワークを介したデータの送受信
が、プログラムブロックへのパラメータ定義だけで実現
されるため、設計者の負担が軽くなるとともに、データ
の送受信部が特定のプログラムブロックに集約されるた
め構造的に分かりやすい設計が可能になる。
【図面の簡単な説明】
【図1】この発明に係わるコントローラシステムの一実
施の形態の全体構成を示すブロック図である。
【図2】図1に示したコントローラシステムのコントロ
ーラの詳細構成を示したブロック図である。
【図3】図1に示したコントローラシステムのサポート
ツールの詳細構成を示したブロック図である。
【図4】プログラム構成読出に対する受信レスポンスの
プログラム構成情報の一例を示す図である。
【図5】図2に示したコントローラにおける全体処理フ
ローを示すフローチャートである。
【図6】図5に示したネットワーク処理の詳細を示すフ
ローチャートである。
【図7】図5に示したプログラム運転処理の詳細を示す
フローチャートである。
【図8】図7に示したプログラムブロック実行処理の詳
細を示すフローチャート(その1)である。
【図9】図7に示したプログラムブロック実行処理の詳
細を示すフローチャート(その2)である。
【図10】図2に示したサポートツールにおける全体処
理フローを示すフローチャートである。
【図11】図10に示したプログラム読出機能処理の詳
細を示すプログラム読出機能フローのフローチャート
(その1)である。
【図12】図10に示したプログラム読出機能処理の詳
細を示すプログラム読出機能フローのフローチャート
(その2)である。
【図13】図10に示したステップ1005のプログラ
ム読出機能処理の詳細を示す他のプログラム読出機能フ
ローのフローチャート(その1)である。
【図14】図10に示したステップ1005のプログラ
ム読出機能処理の詳細を示す他のプログラム読出機能フ
ローのフローチャート(その2)である。
【図15】図10に示したステップ1005のプログラ
ム読出機能処理の詳細を示す他のプログラム読出機能フ
ローのフローチャート(その3)である。
【図16】アプリケーションプログラムデータからその
構成情報を抽出する手法を示すプログラム構成情報抽出
処理フローのフローチャートである。
【図17】アプリケーションプログラムデータから抽出
された構成情報より表示イメージを作成する手法を示す
プログラム構成表示生成処理フローのフローチャートで
ある。
【図18】図1に示した実施の形態のコントローラシス
テムにおける物理的なアプリケーションプログラムの構
造の一例を示す図である。
【図19】図18に示した物理的なアプリケーションプ
ログラムの構造に対応する論理的なアプリケーションプ
ログラムの構造を示す図である。
【図20】この実施の形態のコントローラシステムで採
用するノーマルプログラムブロックの構造の具体例を示
す図である。
【図21】この実施の形態のコントローラシステムで採
用する入出力パラメータ送受信プログラムブロックの構
造の具体例を示す図である。
【図22】図18に示したプログラムブロックPB10
のプログラムブロックデータの具体例を示す図である。
【図23】図18に示したプログラムブロックPB13
のプログラムブロックデータの具体例を示す図である。
【図24】図18に示したプログラムブロックPB20
のプログラムブロックデータの具体例を示す図である。
【図25】図18に示したコントローラシステムで採用
されるアプリケーションプログラムデータの具体例を示
す図である。
【図26】図18に示したコントローラシステムで採用
されるアプリケーションプログラムデータテーブルの具
体例を示す図である。
【図27】図18に示したコントローラシステムで採用
されるプログラムブロックステータス情報の具体例を示
す図である。
【図28】図18に示したコントローラシステムで採用
されるコントローラ別ネットワークアドレス情報の具体
例を示す図である。
【図29】図18に示したプログラムブロックPB10
のプログラムブロック本体の一部の具体例を示した図で
ある。
【図30】図18に示したプログラムブロックPB11
のプログラムブロック本体の一部の具体例を示した図で
ある。
【図31】図3に示したサポートツール20の表示装置
28の表示画面の一例を示した図である。
【図32】図31に示した「コントローラ一覧」の具体
的サポートツールの表示例を示した図である。
【図33】図31に示した「アプリケーションプログラ
ム構造」の具体的サポートツールの表示例を示した図で
ある。
【図34】図31に示した「プログラムブロック情報」
の具体的サポートツールの表示例を示した図である。
【図35】図31に示した「プログラムブロック情報」
の具体的サポートツールの他の表示例を示した図であ
る。
【符号の説明】
10−1 コントローラ(コントローラA) 10−2 コントローラ(コントローラB) 10−3 コントローラ(コントローラC) 11 演算プロセッサ(CPU) 12 システムプログラムメモリ 13 ユーザプログラムメモリ 14 パラメータメモリ 15 ワークメモリ 16 入出力メモリ(I/Oメモリ) 17 通信インタフェース(通信I/F) 18 入出力インタフェース(I/F) 19 入出力装置 20 サポートツール 21 演算装置 22 中央処理装置 23 メモリ空間 23−1 パラメータデータエリア 23−2 ユーザプログラムデータエリア 23−3 サポートツールプログラムエリア 24 表示装置用メモリ 25 バス 26 インタフェース(I/F) 27 入力装置 28 表示装置 30 ネットワーク

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 複数のプログラマブルコントローラと少
    なくとも1つのサポートツールとを通信手段を介して相
    互に接続し、かつアプリケーションプログラムをいくつ
    かのプログラムブロックに分割してそれら複数のプログ
    ラマブルコントローラに分散配置してなるプログラマブ
    ルコントローラシステムであって、 上記プログラマブルコントローラのそれぞれは、 複数のプログラムブロックに分割されたアプリケーショ
    ンプログラムのうちのノーマルプログラムブロックを実
    行するノーマルプログラムブロック実行手段と、 上記プログラムブロックに対して入出力パラメータを定
    義する入出力パラメータ定義手段と、 他のプログラマブルコントローラのプログラムブロック
    に格納されているプログラムに対して上記入出力パラメ
    ータの送受信を行う入出力パラメータ送受信プログラム
    ブロックを実行する入出力パラメータ送受信プログラム
    ブロック実行手段と、 上記入出力パラメータ送受信プログラムブロックに対し
    て相手先プログラムブロックの位置情報を記憶する相手
    先プログラムブロック位置情報記憶手段と、 プログラムブロックの読み出し要求に際して、該当プロ
    グラムブロックがノーマルプログラムブロックである場
    合は、該ノーマルプログラムブロックのデータを返信
    し、該当プログラムブロックが入出力パラメータ送受信
    プログラムブロックである場合は、該入出力パラメータ
    送受信プログラムブロックから相手先プログラムブロッ
    クの位置情報を抽出して返信する送受信制御手段と、 を具備し、 上記サポートツールは、 上記プログラマブルコントローラに対してプログラムブ
    ロックの読み出し要求を送信するプログラムブロック読
    出要求送信手段と、 上記プログラムブロック読出要求送信手段によるプログ
    ラムブロックの読み出し要求に対して上記プログラマブ
    ルコントローラから返信された内容について、ノーマル
    プログラムブロックのデータか入出力パラメータ送受信
    ブロックの相手先プログラムブロックの位置情報かを判
    別する判別手段と、 上記判別手段によりノーマルプログラムブロックのデー
    タであると判別された場合は、該ノーマルプログラムブ
    ロックのデータをそのまま表示し、相手先プログラムブ
    ロックの位置情報であると判別された場合は、その位置
    情報に基づき相手先プログラムブロックを読み出し、そ
    れを表示する表示制御手段と、 を具備することをことを特徴とするプログラマブルコン
    トローラシステム。
  2. 【請求項2】 複数のプログラマブルコントローラを通
    信手段を介して相互に接続し、かつアプリケーションプ
    ログラムをいくつかのプログラムブロックに分割してそ
    れら複数のプログラマブルコントローラに分散配置して
    なるプログラマブルコントローラシステムにおけるプロ
    グラマブルコントローラであって、 複数のプログラムブロックに分割されたアプリケーショ
    ンプログラムのうちのノーマルプログラムブロックを実
    行するノーマルプログラムブロック実行手段と、 上記プログラムブロックに対して入出力パラメータを定
    義する入出力パラメータ定義手段と、 他のプログラマブルコントローラのプログラムブロック
    に格納されているプログラムに対して上記入出力パラメ
    ータの送受信を行う入出力パラメータ送受信プログラム
    ブロックを実行する入出力パラメータ送受信プログラム
    ブロック実行手段と、 上記入出力パラメータ送受信プログラムブロックに対し
    て相手先プログラムブロックの位置情報を記憶する相手
    先プログラムブロック位置情報記憶手段と、 プログラムブロックの読み出し要求に際して、該当プロ
    グラムブロックがノーマルプログラムブロックである場
    合は、該ノーマルプログラムブロックのデータを返信
    し、該当プログラムブロックが入出力パラメータ送受信
    プログラムブロックである場合は、該入出力パラメータ
    送受信プログラムブロックから相手先プログラムブロッ
    クの位置情報を抽出して返信する送受信制御手段と、 を具備することをことを特徴とするプログラマブルコン
    トローラ。
  3. 【請求項3】 複数のプログラマブルコントローラと少
    なくとも1つのサポートツールとを通信手段を介して相
    互に接続し、かつアプリケーションプログラムをいくつ
    かのプログラムブロックに分割してそれら複数のプログ
    ラマブルコントローラに分散配置してなるプログラマブ
    ルコントローラシステムにおけるサポートツールであっ
    て、 上記プログラマブルコントローラに対してプログラムブ
    ロックの読み出し要求を送信するプログラムブロック読
    出要求送信手段と、 上記プログラムブロック読出要求送信手段によるプログ
    ラムブロックの読み出し要求に対して上記プログラマブ
    ルコントローラから返信された内容について、ノーマル
    プログラムブロックのデータか相手先プログラムブロッ
    クの位置情報かを判別する判別手段と、 上記判別手段によりノーマルプログラムブロックのデー
    タであると判別された場合は、該ノーマルプログラムブ
    ロックのデータをそのまま表示し、入出力パラメータ送
    受信ブロックの相手先プログラムブロックの位置情報で
    あると判別された場合は、その位置情報に基づき相手先
    プログラムブロックを読み出して表示する表示制御手段
    と、 を具備することをことを特徴とするサポートツール。
  4. 【請求項4】 相互接続されて複数のプログラマブルコ
    ントローラからなるプログラマブルコントローラシステ
    ムを構成するプログラマブルコントローラであって、 アプリケーションプログラムを1つ以上に分割したプロ
    グラムブロックを実行する手段と、 プログラムに対し入出力パラメータを定義する手段と、 コントローラ外部より指定された入出力パラメータを受
    け取る手段と、 コントローラ外部よりプログラムブロックの起動の指示
    を受け取る手段と、 指定された入力パラメータにより、該当のプログラムブ
    ロックを実行し、 出力指定されたパラメータとして、実行結果を指示元に
    返す手段と、 を具備することを特徴とするプログラマブルコントロー
    ラ。
JP2000140998A 2000-05-12 2000-05-12 プログラマブルコントローラシステム Expired - Lifetime JP4186383B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000140998A JP4186383B2 (ja) 2000-05-12 2000-05-12 プログラマブルコントローラシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000140998A JP4186383B2 (ja) 2000-05-12 2000-05-12 プログラマブルコントローラシステム

Publications (2)

Publication Number Publication Date
JP2001325011A true JP2001325011A (ja) 2001-11-22
JP4186383B2 JP4186383B2 (ja) 2008-11-26

Family

ID=18648187

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000140998A Expired - Lifetime JP4186383B2 (ja) 2000-05-12 2000-05-12 プログラマブルコントローラシステム

Country Status (1)

Country Link
JP (1) JP4186383B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006076773A (ja) * 2004-09-13 2006-03-23 Toshiba Elevator Co Ltd エレベータ用データ伝送システム
WO2014167623A1 (ja) * 2013-04-08 2014-10-16 三菱電機株式会社 プログラムグラフ表示装置、プログラムグラフ表示方法およびプログラムグラフ表示プログラム
JP2015035174A (ja) * 2013-08-09 2015-02-19 株式会社東芝 制御プログラム分割装置、制御プログラム分割方法及びその記録媒体
CN105122157A (zh) * 2013-04-08 2015-12-02 三菱电机株式会社 程序编辑装置、程序编辑方法以及程序编辑程序
JP2017204035A (ja) * 2016-05-09 2017-11-16 日本電信電話株式会社 単機能部化システム、単機能部化方法および単機能部化プログラム
WO2019176755A1 (ja) 2018-03-15 2019-09-19 オムロン株式会社 ネットワークシステム

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006076773A (ja) * 2004-09-13 2006-03-23 Toshiba Elevator Co Ltd エレベータ用データ伝送システム
JP5921765B2 (ja) * 2013-04-08 2016-05-24 三菱電機株式会社 プログラムグラフ表示装置、プログラムグラフ表示方法およびプログラムグラフ表示プログラム
TWI497241B (zh) * 2013-04-08 2015-08-21 Mitsubishi Electric Corp Program display device, program display method and display program diagram of the program products
CN105122157A (zh) * 2013-04-08 2015-12-02 三菱电机株式会社 程序编辑装置、程序编辑方法以及程序编辑程序
CN105144004A (zh) * 2013-04-08 2015-12-09 三菱电机株式会社 程序图显示装置、程序图显示方法以及程序图显示程序
WO2014167623A1 (ja) * 2013-04-08 2014-10-16 三菱電機株式会社 プログラムグラフ表示装置、プログラムグラフ表示方法およびプログラムグラフ表示プログラム
JPWO2014167623A1 (ja) * 2013-04-08 2017-02-16 三菱電機株式会社 プログラムグラフ表示装置、プログラムグラフ表示方法およびプログラムグラフ表示プログラム
KR101772785B1 (ko) 2013-04-08 2017-08-29 미쓰비시덴키 가부시키가이샤 프로그램 그래프 표시 장치, 프로그램 그래프 표시 방법 및 프로그램 그래프 표시 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
CN105122157B (zh) * 2013-04-08 2018-01-19 三菱电机株式会社 程序编辑装置以及程序编辑方法
JP2015035174A (ja) * 2013-08-09 2015-02-19 株式会社東芝 制御プログラム分割装置、制御プログラム分割方法及びその記録媒体
JP2017204035A (ja) * 2016-05-09 2017-11-16 日本電信電話株式会社 単機能部化システム、単機能部化方法および単機能部化プログラム
WO2019176755A1 (ja) 2018-03-15 2019-09-19 オムロン株式会社 ネットワークシステム
US11374788B2 (en) 2018-03-15 2022-06-28 Omron Corporation Network system having master device carrying out part of a process and slave device carrying out remainder of the process

Also Published As

Publication number Publication date
JP4186383B2 (ja) 2008-11-26

Similar Documents

Publication Publication Date Title
US7117049B2 (en) Industrial controller based on distributable technology objects
US7747718B2 (en) Control system apparatus, method for setting control system and setting program
US6266726B1 (en) Process control system using standard protocol control-of standard devices and non-standard devices
JP3729251B2 (ja) コントローラ及びシステム
US8521359B1 (en) Application-independent and component-isolated system and system of systems framework
CN114237676B (zh) 一种fpga逻辑更新方法、装置、设备及可读存储介质
JPH11231927A (ja) 監視制御システム
CN109839910A (zh) 控制装置、控制方法以及计算机可读存储介质
JP2001325011A (ja) プログラマブルコントローラシステム
JP2002268730A (ja) フィールドデバイスのメンテナンス装置
US20030046660A1 (en) Computer program for generating another computer program based on STM
JP2820189B2 (ja) 数値制御装置の制御ソフトウェア実行システム
JP3827051B2 (ja) ツール装置及びネットワークシステム構築方法並びに記録媒体
CN113534744A (zh) 用于构成数控系统的软件架构和硬件架构
JP2009245409A (ja) リソース自動構築システム及び自動構築方法並びにそのための管理用端末
JPH09330243A (ja) 計算機システム
JP2001325010A (ja) プログラマブルコントローラシステム
JP7018356B2 (ja) ビジュアルプログラミングツールを用いてプログラムを作成することを支援する装置および方法
JP2001318903A (ja) コンピュータ演算処理システム及び同システムにより実行されるコンピュータ演算処理方法
JP3781112B2 (ja) プログラマブルコントローラ・システム
US20230385073A1 (en) Data processing system and data processing method
JP2003529835A (ja) 機構および技術システムの制御方法、制御装置および制御ソフトウェア
CN115292028A (zh) 机器学习工程的配置方法、装置、电子设备及存储介质
JP2004118371A (ja) 統合設定方法及び統合設定装置
CN117950919A (zh) 一种PCIe拓扑的切换方法及服务器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050920

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080213

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080514

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080714

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080901

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4186383

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110919

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110919

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120919

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130919

Year of fee payment: 5

EXPY Cancellation because of completion of term