WO2001027701A1 - Systeme de reseau, procede de commande, dispositif de commande et multiprocesseur - Google Patents

Systeme de reseau, procede de commande, dispositif de commande et multiprocesseur Download PDF

Info

Publication number
WO2001027701A1
WO2001027701A1 PCT/JP2000/007104 JP0007104W WO0127701A1 WO 2001027701 A1 WO2001027701 A1 WO 2001027701A1 JP 0007104 W JP0007104 W JP 0007104W WO 0127701 A1 WO0127701 A1 WO 0127701A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
control device
information
variable
name
Prior art date
Application number
PCT/JP2000/007104
Other languages
English (en)
French (fr)
Inventor
Shigeru Hitomi
Jintaro Deki
Toshiaki Sasamori
Original Assignee
Omron Corporation
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 Corporation filed Critical Omron Corporation
Priority to EP00966458A priority Critical patent/EP1231526A4/en
Priority to AU76855/00A priority patent/AU7685500A/en
Priority to US10/110,457 priority patent/US7024463B1/en
Publication of WO2001027701A1 publication Critical patent/WO2001027701A1/ja

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/052Linking several PLC's
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13125Use of virtual, logical connections
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15118Shared memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computer And Data Communications (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

明 細 書 ネッ トワークシステム及び制御方法並びに制御装置及びマルチプロセッサシステ ム 技術分野
本発明は、 ネッ トワークシステム及び制御方法並びに制御装置及びマルチプロ セッサシステムに関するものである。 より具体的には、 複数のノード, 制御装置 , プロセッサ間でデータの共有を図るシステム (例えば、 分散制御システム等) における当該データの共有化の処理の改良に関する。 背景技術
複数台の P L C等の制御装置をネッ トワークに接続し、 それら複数の制御装 置がデータを共有しながら協調 · 同期制御等を実行することがある。 その場合 、 各制御装置がデータを共有するためには、 それぞれの 1 0を物理的に繋ぐ 力、 データを共有するためのユーザプログラムを用いることが有る。
また、 各制御装置がデータを共有するための別の方式としては、 データリン ク方式と称されるものもある。 このデータリンク方式は、 複数の制御装置間で 、 サイクリ ックにデータを交換 (リンク) する方式である。 つまり、 全てのノ ードが共通のテーブルを持ち、 各制御機器は、 そのテーブルを参照することに よ りデータの共有ができる。 このと き、 データへのアクセスは、 メモリア ドレ ス (物理ア ドレス) を指定して行うようにしている。 さらに、 そのテーブルは 、 制御装置以外の別のツールによ り一括して設定する。 この方式では、 ユーザ プログラム開発時に通信を意識しないで済むというメリ ッ トが有る。
しかしながら、 上記した従来方式では、 以下に示す問題が有る。 すなわち、 前者のユーザプログラムを用いた方式では、 制御装置 (P L C ) を動作させる ラダープログラム中に通信ロジックを埋め込む必要が有り、 ユーザプログラム 開発が複雑となり、 さらには、 メ ンテナンスも困難となる。
また、 後者のデータリンク方式の場合には、 データをリンクする際のメモリ エリアの割り付け設定自体が困難となる。 そして、 ラダーで直接メモリアドレ スをアクセスするようにユーザプログラムを組んでいる。 従って、 一旦メモリ エリァの割り付けを設定した後に、 そのメモリエリァの割り付けの変更が有る と、 そのユーザプログラムの書き直しが必要となり煩雑となる。 しかも、 新た な制御装置をネッ トワークに追加する場合には、 メモリエリァの再割り付け並 びにそれに伴うユーザプログラムの変更が、 ネッ トワークに既に接続されてい る制御装置に組み込まれた既存のユーザプログラムまで及び、 システムの停止 をしなければならないという問題があった。
本発明は、 通信処理を意識することなく、 共有するデータへのアクセスが容 易に行え、 係るアクセスするための開発並びにその後のシステム変更に応じた 修正も容易に行え、 システム稼動中に停止することなく新たなノード ·制御装 置等をネッ トワークに接続することができ、 論理名 · 変数データの参照の照合 を動的に解決することができるネッ トワークシステム及び制御方法並びに制御 装置及びマルチプロセッサシステムを提供することを目的としている。 発明の開示
この発明によるネッ トワークシステムでは、 ネッ トワークに接続された複数の ノード間で共有するデータの論理名を定義し、 前記ノードの記憶部の所定の記憶 領域に前記共有するデータを記憶保持し、 前記論理名と、 その論理名に対応する データを格納した前記記憶部の記憶位置情報を関連付けた関連情報を関連情報記 憶部に記憶保持させ、 前記複数のノード間で、 前記論理名, 前記関連情報に基づ いて前記共有するデータの送受を行い、 通信相手のノードの状態が変化した場合 、 その変化が前記関連情報に影響を与える時に、 前記ネッ トワークに接続された ノ一ドの処理を停止することなく連動して前記関連情報を変更するようにした。 また、 好ましくは、 前記ノードは、 複数のノード間で共有するデータの論理 名をグループ化し、 グループ名と更新情報を関連付けて保持するグループ管理 情報を記憶保持し、 前記複数のノードに記憶保持された同一のグループ名に対 する更新情報が不一致の場合に、 前記関連情報に影響を与える時と判断し、 前 記関連情報の更新処理をするように構成することである。 ノー ドの記憶部は、 実施の形態では、 「リ ンクメモリ」 に相当する。 記憶部 の記憶位置情報は、 実施の形態では、 「アドレス, ポインタ」 に相当する。 ノ ードの処理は、 実施の形態では、 「ユーザプログラムの実行」 に相当する。 ここで、 通信相手のノー ドの状態が変化するとは、 ネッ トワークに対する着 脱や、 再コンパイル等によ りノードに記憶された情報が変化したり、 物理的に ネッ トワークに接続されていても、 動作を停止 . 開始するなどの他、 各種の状 態の変化がある。 つまり、 ネッ トワークに新たに制御装置を追加した (プラグ ィン) 場合などももちろん含む。
また、 本発明に係る制御方法は、 ネッ トワークに接続された複数の制御装置 間でデータを共有することのできる制御装置における制御方法である。 そして 、 前記制御装置に実装されたユーザプログラムが、 記憶部に格納されたデータ をアクセスするに際し、 前記データが格納された記憶位置情報と、 そのデータ に付けた論理名を関連付けた関連情報を記憶保持し、 前記ユーザプログラムは 、 論理名に基づく前記関連情報を取得し、 前記記憶部へアクセスするようにし た。
そして、 上記方法を実現するために適した制御装置としては、 ネッ トワーク に接続された複数の制御装置間でデータを共有することのできる制御装置であ つて、 他の制御装置との間で、 データ交換をする通信部と、 前記ネッ トワーク を介して共有するデータを格納する記憶部と、 前記共有するデータは論理名で 定義し、 その論理名と、 その論理名に対応するデータを格納した前記記憶部の 記憶位置情報を関連付けた関連情報を格納する関連情報記憶部と、 前記論理名 に基づいて前記関連情報記憶部にアクセスし、 その論理名に対応する前記位置 情報を取得するとともに対応するデータが記憶される前記記憶部の記憶領域に アクセスする機能を有する制御実行部と、 前記記憶部内の記憶位置情報の変更 に基づき、 前記関連情報記憶部の前記関連情報を更新する更新手段を備えて構 成した。
ここで、 共有するデータを格納する記憶部は、 実施の形態では、 「リ ンクメ モリ 1 5」 に相当する。 記憶部の記憶位置情報は、 実施の形態では、 「ァドレ ス, ポインタ」 等に相当する。 関連情報記憶部は、 実施の形態では、 「間接参 照テーブル 1 6と変数データベース 1 7」 によ り実現している。 記憶部内の記 憶位置情報の変更は、 追加 ·削除等を含む広い概念である。 更新手段は、 実施 の形態では、 「論理名調停部 1 9」 に相当する。
そして、 好ましくは前記関連情報記憶部は、 記憶部に格納されたデータをァ クセスするために用いる記憶位置情報が格納された間接参照テーブルと、 論理 名と、 その論理名についての記憶位置情報が格納された前記間接参照テーブル 内の記憶位置情報を対応付けた対応テ一ブルとを備えて構成することである。 もちろん、 係る構成は無くても良い。 そして、 記憶位置情報を対応付けた対応 テーブルは、 実施の形態では、 「変数データベース」 に相当する。
さらに、 上記したグループ単位での更新処理をするネッ トワークシステムを 構築するための好ましい制御装置としては、 上記した各制御装置の発明を前提 とし、 前記ネッ トワークに接続された複数の制御装置間で共有するデータの論 理名をグループ化し、 グループ名と更新情報とそのグループに対する所有権の 有無情報を関連付けて保持するグループ管理情報記憶手段を設け、 グル―プ名 と更新情報が他の制御装置と不一致の時に、 前記更新手段がそのグループに属 するデータについての前記関連情報記憶部の前記関連情報を更新するための処 理を実行する機能を設けることである。
所有権有無情報は、 実施の形態では、 サーバ, クライアン ト属性に対応し、 所有権が有る場合にサーバ属性となり、 所有権がない場合はクライアント属性 になる。 また、 更新情報は、 グループの内容を変更 ·修正する都度付されるも ので、 同一のグループ名を持つ複数のグループが存在する場合に、 それぞれの 更新情報が同じ場合には、 グループの内容は同じであることを保証する情報で ある。 実施の形態では、 I Dやバージョンに対応する。
さらに、 前記所有権を有する制御装置であって、 同一のグループを持つ前記所 有権のない他の制御装置に前記更新情報を送信する更新情報送信手段と、 前記他 の制御装置から要求があつたときのみ、 そのグループに属するデータについての 前記関連情報記憶部の前記関連情報を送信する関連情報送信手段を備えて構成す るとょレ、0
また、 前記所有権を有する制御装置であって、 同一のグループに属する共有す るデータのうち、 前記所有権を有する制御装置への入力変数となるデータについ て、 参照したか否かの参照情報を記憶する参照情報記憶手段を設け、 前記参照情 報記憶手段に記憶された参照情報に基づき、 何れの他の制御装置も未参照の場合 にのみ、 そのデータについて前記関連情報の更新処理をする機能を備えて構成し ても良い。 参照情報記憶手段は、 実施の形態では、 参照カウンタに対応する。 そ して、 記憶する参照情報としては、 参照回数に対応する数値でもよいし、 参照し たか否かを識別する 「1 0」 としても良い。 この発明は、 図 5 4に示すフロー チヤ一トを実行する実施の形態により実現されている。
また、 前記所有権のない制御装置でって、 同一のグループを持つ前記所有権の 有る他の制御装置から送信されてくる前記更新情報を受信する受信手段と、 その 受信手段で受信した前記更新情報と、 自己が管理している更新情報とを照合し、 異なる場合に前記所有権の有る他の制御装置に、 そのグループに属するデータに ついての前記関連情報記憶部の前記関連情報の送信を要求する要求手段と、 その 要求にともない送信されてきた前記関連情報に基づき、 前記更新手段が自己が有 する関連情報の更新をするようにしてもよい。
さらにまた、 同一のグループに属するデータを共有する各制御装置が、 同一 のデータを共有しているか否かを判断する判断手段と、 前記判断手段が、 共有 していないと判断した際に、 前記同一のグループに属する共有するデータへの アクセスを禁止させる機能を備えて構成することもできる。 これは、 図 5 5に 示すフローチヤ一トを実行する実施の形態により実現されている。 判断手段は 、 例えば、 論理名, 名前やデータ型が一致するか否かにより判断する。 つま り 、 グループに含まれる共有するデータのうち一つでも名前, データ型などが一 致しなかった場合は、 グループ認証が失敗したと判断し、 そのデータの使用を 禁止する。 アクセスを禁止させる手法と しては、 例えば、 そのデータを呼び出 すためのアドレスを無効にしたり、 特定のァドレスに書き替えることにより実 現できる。
さらにまた、 更新停止命令操作手段を設け、 その更新停止命令操作手段から 停止命令が発せられると、 前記更新処理の実行を禁止する手段を設けるとよい 。 更新停止命令操作手段は、 実施の形態では、 「名前解決のロックスィ ッチ」 に相当する。 この発明は、 図 5 6に示すフローチャートを実行する実施の形態 により実現される。 更新処理が不要であることがわかっている場合に、 係る更 新停止命令操作手段を操作して停止命令を出力させることによ り、 更新処理が 必要か否かの判断をする処理も行わずに、 実際のプログラムの実行に移行でき る。 よって、 より迅速な立ち上げが行える。
上記した各発明では、 制御装置 (ノード) が稼動するための制御実行部は、 記憶部に格納されたデータをアクセスする場合、 論理名に基づいて関連情報を 取得することによりアクセスすることが可能となる。 従って、 制御実行部自体 はその具体的なデータの記憶位置情報を知る必要はないので、 たとえデータが 格納された記憶位置が変更されたとしても、 関連情報を修正するだけで対応で き、 制御実行部側のユーザプログラム等は修正する必要がない。
また、 ノード間 (制御装置間) でのデータの送受も、 論理名に基づいてデ一 タの統一を図り、 関連情報に基づき、 各ノード .制御装置の記憶部のどの記憶 領域に格納されたデータが必要とするデータかを簡単に知ることができ、 デ一 タ転送も容易に行える。
さらに、 グループ化してグループ単位で管理した場合には、 同一のグループ 名の更新情報が一致する場合には、 各制御装置 (ノード) が持つそのグループ についての共有データに関する関連情報は一致しているとみなせる。 従って、 仮に新たにネッ トワークに追加したり、 再コンパイル, オンラインエディ ッ ト などにより対応テーブル (変数データベース) の変更があった場合であっても 、 すでに各制御装置が同一の共有するデータを保有しているので、 関連情報の 更新処理を行う必要がなく、 迅速に実際の制御装置の動作に移行できる。
また、 本発明に係る制御方法では、 前記関連情報は、 記憶部に格納されたデ —タをアクセスするために用いる記憶位置情報が格納された間接参照テ一ブル と、 論理名と、 その論理名についての記憶位置情報が格納された前記間接参照 テーブル内の記憶位置情報を対応付けた対応テーブル (変数データベース) と に分けて記憶保持され、 前記対応テーブルの内容が変更された場合に、 ネッ ト ワークに接続された他の制御装置に前記対応テーブルの変更内容を通知する処 理を行うようにするとよい。 ここで、 対応テーブルの内容が変更される場合は、 既存の論理名についての 内容が変更される場合はもちろんのこと、 すでに存在していた論理名について の内容が消去される場合や、 逆に例えば、 プラグインなどによ り新規追加され た場合など、 各種の態様がある (以下、 同じ) 。
係る方法を実施するために適した制御装置としては、 例えば前記対応テープ ルの内容が変更された場合に、 ネッ トワークに接続された他の制御装置に向け て前記対応テーブルの変更内容を送信する機能を備えることである。
なお、 対応テーブルの変更内容を送信するとは、 対応テーブルのある論理名 についてのデータそのものをそのまま送信する場合はもちろんのこと、 そのう ちの一部のデータを送信する場合も含む。 さらには、 間接参照テーブルの情報 など他の情報も併せて送ることもかまわない。 つまり、 要は、 テーブル内容が 変更された論理名に関する所定の情報が送られればよい。 これは、 他の発明に おいても同様である。
また、 本発明に係る別の制御方法では、 前記関連情報は、 記憶部に格納され たデータをアクセスするために用いる記憶位置情報が格納された間接参照テ一 ブルと、 論理名と、 その論理名についての記憶位置情報が格納された前記間接 参照テーブル内の記憶位置情報を対応付けた対応テーブルとに分けて記憶保持 され、 変更内容の通知を受けた制御装置は、 その変更内容を解釈し、 前記間接 参照テーブルを更新する処理を行うことである。
係る方法を実施するために適した制御装置としては、 例えば、 他の制御装置 からネッ トワークを介してその他の制御装置に記憶された対応テ一ブルの変更 内容の通知を受信した際に、 その変更内容を解釈し、 自己の前記間接参照テー ブルを更新する機能を備えることである。
係る構成にすることによ り、 新たに制御装置をネッ トワークに追加したり、 再コンパイル, オンラインエディ ッ トなどにより対応テーブル (変数データべ ース) の変更があった場合に、 スムーズにその変更が他の制御装置に送られる 。 また、 その変更を受け取った制御装置側では、 その変更内容に応じて関連情 報等を更新することができる。 よって、 稼動中のシステムを停止することなく
、 データ修正が行え、 また、 個別に追加できるので、 システム全体を一斉に更 新する必要がなく、 複数人によるインクリメンタル開発ができる。 よって、 開 発環境が良好で、 開発 · デバッグ · システム修正などの期間を短縮することが できる。
さらに、 前記ネッ トワークに接続された複数の制御装置間で共有するデータ の論理名をグループ化し、 グループ名と更新情報とそのグループに対する所有 権の有無情報を関連付けて保持するグループ管理情報を記憶保持し、 グループ 名と更新情報が他の制御装置と不一致の時に、 前記関連情報を更新し、 一致す る場合には更新処理をしないようにすると良い。
このようにすると、 仮に制御装置を新たにネッ トワークに追加したり、 再コ ンパイル, オンライ ンエディ ッ トなどによ り対応テーブル (変数データベース ) の変更があった場合であっても、 すでに各制御装置が同一の共有するデータ を保有しているような場合には、 グループ名と更新情報が一致するので、 再度 関連情報の更新処理を行う必要がなく、 迅速に実際の制御装置の動作に移行で き 。
さらに、 受信した変更内容は、 例えば一旦全てを自己の制御装置内に取り込 んで記憶保持しても良いし、 記憶容量を削減するためには、 以下のように構成 すると良い。 もちろん、 他の形態も採り得る。 前記関連情報は、 記憶部に格納 されたデータをアクセスするために用いる記憶位置情報が格納された間接参照 テーブルと、 論理名と、 その論理名についての記憶位置情報が格納された前記 間接参照テーブル内の記憶位置情報を対応付けた対応テ一ブルとに分けて記憶 保持され、 請求項 3に記載の変更内容の通知を受けた制御装置は、 その受信の 際にその変更内容に対応する論理名のデータが自己に必要か否かを判断し、 必 要なもののみ記憶保持し、 次いで、 その記憶保持した前記変更内容を解釈し、 前記間接参照テーブルを更新する処理を行うようにすることである。
そして、 係る方法を実施するのに適した装置としては、 対応テーブルの変更 内容の通知を受信した際に、 その通知が自己が利用する論理名についてのもの であるか否かを判断し、 自己が利用する論理名についての変更内容の通知のみ 記憶保持する手段を有し、 前記更新機能は、 前記記憶保持した変更内容に基づ いて実行するように構成することである。 このよう にすると、 自己に不要な情 報は記憶保持しないので、 必要な情報のみ記憶するための記憶容量を少なくす ることができる。
また、 前記関連情報は、 記憶部に格納されたデータをアクセスするために用 いる記憶位置情報が格納された間接参照テーブルと、 論理名と、 その論理名に ついての記憶位置情報が格納された前記間接参照テーブル内の記憶位置情報を 対応付けた対応テーブルとに分けて記憶保持され、 自己が利用する論理名に関 する情報の送信を要求するメッセージをネッ トワーク上に送信し、 前記メ ッセ ージに応答して他の制御装置から送られてきた前記論理名に関する情報を受信 し、 前記受信した情報に基づいて、 前記間接参照テーブルを作成する処理を行 うようにしてもよレ、。
そして、 その発明を実施するのに適した装置としては、 例えば、 自己が利用 する論理名に関する情報の送信を要求するメ ッセージをネッ トワーク上に送信 する手段と、 前記メッセージに応答して他の制御装置から送られてきた前記 理名に関する情報を受信するとともに、 その受信した情報に基づいて、 前記間 接参照テーブルを作成する手段を備えるように構成するとよい。 このようにす ると、 不要な情報の送受信が行われないので、 トラフィ ックが良好となる。 さらに本発明に係る制御装置では、 自己の制御装置内で使用している論理名 を他の制御装置に公開し、 その他の制御装置にその論理名に対応するデータ 0を厶冊 提供する機能を備えて構成することができる。 つまり、 論理名に対するデータ を出力するのみの制御装置も可能となる。
また、 逆にネッ トワークに接続された他の制御装置で公開された論理名を利 用し、 公開されたその論理名に対応する提供されたデータを参照する機能を備 えて構成することもできる。 つま り、 論理名に対するデータを入力するのみの 制御装置も可能となる。 そして、 自己の制御装置内で使用している論理名を他 の制御装置に公開し、 その他の制御装置にその論理名に対応するデータを提供 する機能を備えた制御装置に従属する場合には、 データを入出力する通常の機 能を備えた装置となる。
さらにまた、 接続されたプログラミング装置から受け取ったオンラインェデ イ ッ ト要求を解釈し、 その解釈に応じて対応テ一ブルの更新を行い、 その更新 に伴い前記間接参照テーブルを更新する機能を備えるように構成することがで きる。 係る構成をすることにより、 ネッ トワークに接続された稼動中の制御装 置であっても、 システムを停止することなくデータ更新ができる。
上記オンラインエディ ツ トをする場合において、 前記間接参照テーブルを複 数持ち、 その複数の間接参照テーブルを適宜切り替えてそのうちの一つを使用 状態にするように構成するとなおよい。
このようにすると、 例えばオンライ ンエディ ッ トで修正した内容は、 不使用 中の間接参照テ一ブルに書き込み、 その後、 例えば、 間接参照テーブルを参照 していないときなどの所定のタイミ ングで新たに書き込んで更新された間接参 照テ一ブルを使用状態に切り替えることによ り、 ユーザプログラム等が稼動中 でも間接参照テーブルの書き替えが可能となり、 停止している時間をできるだ け短くすることができる。
また、 本発明に係るマルチプロセッサシステムでは、 複数のプロセッサが占 有する口一カルメモリを持ち、 それらがバスで接続されているマルチプロセッ サシステムにおいて、 前記各ローカルメモリ間のデータ交換を定期的に行うデ 一夕転送処理部と、 それらの口一カルメモリ内に格納されたデータをアクセス するために用いる間接参照テーブルと、 前記間接参照テーブルを介してデータ をアクセスする機構を持つ制御実行部と、 論理名とローカルメモリア ドレスの 対応テーブルを管理し、 その情報に基づき前記間接参照テーブルを変更する論 理名調停部を備えて構成することができる。 複数のプロセッサは、 実施の形態 では、 「M P U」 に相当する。
すなわち、 上記した各発明は、 ネッ トワークに接続された制御装置やノード についてデータ共有をする場合の発明であるが、 論理名で共有するデータを定 義し、 論理名でアクセスする側は、 具体的なデータの記憶位置を意識すること なく動作することができる。 そして、 この複数のプロセッサを備えた発明にお いても、 複数のプロセッサでデータ転送し共有する場合に、 そのデータを論理 名で定義することによ り具体的なデータの記憶位置を意識することなく動作す ることができる。 係る点で共通し、 その作用効果も上記した各発明のものが得 られる。 さらに、 この複数のプロセッサを備えた発明については、 従属項は記 載していないが、 制御装置, 制御方法と同様の従属項の機能を構成することが できる。
この発明の以上説明した構成要素は可能な限り組み合わせることができる。 この発明による制御装置を構成する各手段, 機能を専用のハードウユア回路に よって実現することができるし、 プログラムされたコンピュータによって実現 することもできる。 この発明による制御方法は、 コンピュータを動作させるソ フ トウヱァ (プログラム) によっても、 専用のハ一ドウヱァ回路によっても実 現できる。 図面の簡単な説明
図 1は、 本発明に係る制御装置 (ノー ド) の好適な一実施の形態を示すプロ ック図である。
図 2は、 本形態の機能の概要を説明する図である。
図 3は、 制御部の内部構造の一例を示す図である。
図 4は、 リンクメモリのデータ構造の一例を示す図である。
図 5は、 変数データベースのデータ構造の一例を示す図である。
図 6は、 間接参照テーブルのデータ構造の一例を示す図である。
図 7は、 E x p o r t変数リス トのデータ構造の一例を示す図である。 図 8は、 I mp o r t変数リス トのデータ構造の一例を示す図である。 図 9は、 R e m o t e変数リス トのデータ構造の一例を示す図である。 図 1 0は、 ネッ トワークシステムの好適な一実施の形態を示す図である。 図 1 1は、 プログラミング装置を用いた制御装置へのダウンロー ドの動作を 説明する図である。
図 1 2は、 論理名調停部の機能の一部である E X p 0 r t変数リストの作成 機能を示すフローチャートである。
図 1 3は、 論理名調停部の機能の一部である I mp 0 r t変数リス トの作成 機能を示すフローチヤ一トである。
図 1 4は、 E x p o r t変数リス トを配送する側の処理機能を説明するフロ —チャートである。 図 1 5は、 E x p o r t変数リス トを受信する側の処理機能を説明するフロ 一チャートである。
図 1 6は、 R e mo t e変数リス トと I mp o r t変数リス トから間接参照 テーブルを作成する機能を説明する図である。
図 1 7は、 論理名調停部の機能の一部である間接参照テーブルの更新機能を 示すフローチヤ一トである。
図 1 8は、 論理名調停部の機能の一部である間接参照テ一ブルの更新機能の 具体例を示す概念図である。
図 1 9は、 制御実行部の機能を示すフローチヤ一トである。
図 2 0は、 制御装置の実行フェーズの一例を示す図である。
図 2 1は、 制御装置内の制御部側 RAMと通信側 RAM間でのデータの転送 を説明する図である。
図 2 2は、 制御装置内の制御部側 RAMと通信側 RAM間でのデータの転送 のシーケンス (制御部側) を示すフローチャートである。
図 2 3は、 制御装置内の制御部側 RAMと通信側 RAM間でのデータの転送 のシーケンス (通信部側) を示すフローチャートである。
図 2 4は、 オンラインエディ ッ トの機能 (変数追加) を説明するフローチヤ ートである。
図 2 5は、 オンラインエディ ッ トの機能 (変数削除) を説明するフローチヤ ートである。
図 2 6は、 オンラインエディ ッ トの変更例における制御実行部のフローチヤ
―トを示す図である。
図 2 7は、 オンラインエディ ッ トの変更例における間接参照テーブル書き替 え処理機能を示すフローチヤ一トを示す図である。
図 2 8は、 バージョン情報チエツク機能を備えた制御装置の要部である通信 部の内部構造を示す図である。
図 2 9は、 選択手段の機能を示すフローチヤ一トである。
図 3 0は、 本発明に係る制御装置の他の実施の形態を示す図である。
図 3 1は、 図 3 0に示す実施の形態で使用されるメッセージフォーマツ トの 一例を示す図である。
図 3 2は、 図 3 0に示す実施の形態における I m p o r t変数リス トの問い 合わせ (一括) に基づく処理機能を示すフローチャー トである。
図 3 3は、 図 3 0に示す実施の形態における I m p o r t変数リス トの問い 合わせ ( 1変数ずつ) に基づく処理機能を示すフローチャートである。
図 3 4は、 変形例を示す図である。
図 3 5は、 図 3 4に示す変形例を実施する機能を示すフローチヤ一トである o
図 3 6は、 他の実施の形態の要部を示すフローチヤ一 トである。
図 3 7は、 さらに別の実施の形態に用いられるメッセージのデータフォーマ ッ トの一例を示す図である。
図 3 8は、 さらに別の実施の形態を説明する図である。
図 3 9は、 さらに別の実施の形態を説明する図である。
図 4 0は、 本発明の別の実施の形態であるグループ単位で名前解決を図る本 形態の機能の概要を説明する図である。
図 4 1は、 図 4 0に示す実施の形態の制御装置同士のィンタフェース接続を 示す模式図である。
図 4 2は、 図 4 0に示す実施の形態で用いられる制御装置の制御部の内部構 造の一例を示す図である。
図 4 3は、 グループ管理情報記憶部のデータ構造の一例を示す図である。 図 4 4は、 サーバがネッ トワークに加入等した等のサーバ側の制御装置の交 換機能を示すフローチヤ一トである。
図 4 5は、 図 4 4に示すフローチヤ一トの名前解決要求局リスト作成処理の 具体的な処理アルゴリズムを示すフローチヤ一トである。
図 4 6は、 図 4 4に示すフローチヤ一トの名前解決処理の具体的な処理アル ゴリズムを示すフローチヤ一トである。
図 4 7は、 図 4 6に示す出力変数の名前解決処理の具体的な処理アルゴリズ ムを示すフローチヤ一トである。
図 4 8は、 図 4 6に示す入力変数の名前解決処理の具体的な処理アルゴリズ ムを示すフローチャー トである。
図 4 9は、 図 4 8に示す間接参照テーブル作成処理の具体的な処理アルゴリ ズムを示すフローチヤ一トである。
図 5 0は、 クライアント側の制御装置の交換機能を示すフローチヤ一トであ
Ό o
図 5 1は、 名前解決をする際の具体的な処理手順を示すフローチヤ一トであ る o
図 5 2は、 クライアントがネッ トワークに加入等した等のクライアント側の 制御装置の交換機能を示すフローチャー トである。
図 5 3は、 クライアントがネッ トワークに加入等した等のサーバ側の制御装 置の I D情報要求への返答機能を示すフローチヤ一 トである。
図 5 4は、 変形例を示すフローチャートである。
図 5 5は、 別の変形例を示すフローチヤ一トである。
図 5 6は、 さらに別の変形例を示すフローチヤ一トである。
図 5 7は、 プログラミング装置の機能を示すフローチヤ一トである。 発明を実施するための最良の形態
本発明をより詳細に説明するにあたり、 添付の図面に従ってこれを説明する。 図 1は、 本発明に係る制御装置の好適な一実施の形態を示している。 同図に 示すように、 制御装置は、 制御部 1 1 と通信部 1 2を備えている。 制御部 1 1 は、 ラダ一システムを実行し、 制御装置、 つま り P L C 1本来の制御を行う。 通信部 1 2は、 ネッ トワークに接続され、 他の制御装置と通信する機能を持つ 。 具体的には、 ネッ トワーク接続し、 所定の通信プロ トコルによ りデータの送 受 (本発明との関係で言えば、 共通のデータ交換) を行う通信コン トローラ 1 2 aと、 その通信コントローラ 1 2 aで通信制御する際のプロトコル変換をす る際にデータを一時記憶したり、 プロ トコル変換したり、 送受信先を特定する 際の情報 (データベース) を記憶保持する R A M I 2 bを有している。
一方、 制御部 1 1は、 接続された機器への制御プログラムや、 ネッ トワーク 接続された別の P L Cと協調動作する際の制御プログラムなどを格納した R 0 Ml 1 aと、 その ROM 1 1 aに格納されたプログラムを実行する M P U 1 1 b及び MPU 1 1 bにて各種処理を実行する際に必要なデータ (管理データ) を記憶する RAM 1 1 cを有している。 このハ一ドウヱァ構成自体は基本的に 従来と同様である。
ここで本発明では、 図 2に概念図で示すように、 それぞれのデータを論理名 (ネッ トワークグロ一バル変数) で定義し、 各制御装置 (PLC) 1に組み込 まれたユーザプログラム (オブジェク トコード) は、 論理名を指定して共有す るデータを取得するようにしている。 これによ り、 各 PLC 1は対応するデ一 夕が記憶された物理ア ドレスを意識することなく、 データの共有ができ、 しか も物理ア ドレスを意識しないので、 一旦登録後、 共有するデータを記憶する物 理ァドレスを自由に変更することができる。
この概念の一例を示すと、 図 2のように、 ある PLC 1 (1) で、 Sw i t c hが定義 (図示の場合、 変数名 :値が 「S w i t c h 1」 として定義) され ているとする。 すると、 別の制御装置 (PLC 1 (3) ) が、 制御装置 (PL C 1 (1) ) の Sw i t c h lのデータがほしい場合には、 制御装置 (P LC 1 (3) ) のユーザプログラムは、 変数名である 「S w i t c h 1」 を指定す るとともに、 そのデータを取得する命令を実行することによ り、 Sw i t c h 1に関連付けられた具体的なデータを取得することができる。 換言すると、 同 一内容のデータは、 同一の論理名で定義され、 ネッ トワーク上はその論理名が 唯一存在することになる。 つまり、 異なるデータに対しては別の論理名が付さ れる。
そして、 データ内容に変更があった場合には、 所定の P L Cがその内容を書 き替えることで、 そのデータを共有する他の P L Cに記憶された内容も書き替 えられることになる。
次に、 上記した機能を実現するための具体的な構成について説明する。 図 3 に示すように、 RAM 1 1 cの内部にネッ トワークを介して論理的に共有する データ (変数データ) を格納するためのリ ンクメモリ 1 5と、 このリ ンクメモ リ 1 5に格納された各変数データを参照するために用いる間接参照テーブル 1 6と、 論理名とメモリア ドレス (間接参照テーブル 1 6のア ドレス) とを関連 付けた変数データべ一ス 1 7を有している。 なお、 各部の詳細な説明は後述す る
一方、 M P U 1 1 bには、 間接参照テーブル 1 6を介してリンクメモリ 1 5 にアクセスする機能を備えた P L C 1の制御動作を実行するための制御実行部 1 8と、 変数データベース 1 7を管理し、 その変数データベース 1 7に格納さ れた情報に基づき間接参照テーブル 1 6を変更する論理名調停部 1 9を備えて いる。
次に各部について説明する。 まず、 リ ンクメモリ 1 5は、 上記したようにネ ッ トワークを介して論理的に共有しているデータを格納するためのメモリであ り、 そのデータ構造は例えば図 4に示すようになつている。 すなわち、 同一の 論理名は、 ネッ トワーク上で唯一存在し、 それを各制御装置 (P L C ) で共有 するため、 ある論理名についてのデータに対する更新等の処理は、 ネッ トヮー ク上のある 1つの制御装置が実行する権限を有し、 他の制御装置はその 1つの 制御装置から送られるデータを取得することになる。 つまり、 ある論理名につ いてのデータについては、 上記 1つの制御装置がそのデータに付いて更新等す る機能と、 それを他の制御装置に与える機能を持つ。
従って、 図示するように、 上記の自分が更新等の機能を持つ論理名 (公開し ている論理名) についてのデータを格納する自ノ一ドエリアと、 他の制御装置 に元となるデータが格納された論理名についてのそのデータのコピーを格納す る他ノードエリアが有る。 本形態では、 データの転送効率を向上させるために リ ンクメモリ 1 5をノードごとに分割したが、 これに限る必要はない。
さらに、 共有する同一の論理名 (変数名) のデータ (変数データ) を記憶す るエリア内のオフセッ ト値は、 各ノードで共通にしている。 つまり、 ある論理 名 Xについての変数データ Xがノード ( 1 ) の自ノードエリアのオフセッ ト値 Nから所定サイズ分だけ格納されている場合 (後述する間接参照テーブルの該 当するポインタは Nとなっている) 、 別のノードにおいては他ノードエリアの 所定位置に格納されることになる。 そして、 この格納位置はノード ( 1 ) 用の 他ノ一ドエリァのオフセッ ト値 Nから所定サイズ分のエリァに格納されること になる。 つまり、 自己が必要とする他ノードで公開された変数データを、 自己 の他ノードエリァに格納する場合、 その公開している他ノードにおける自ノー ドエリアの先頭からのオフセッ ト値と同一のオフセッ ト値に格納することにな る。 このように、 各ノードエリアでのオフセッ ト値を公開側と利用側で一致さ せることにより、 データ共通化を維持するための各種処理を容易に行えるよう にしている。
なお、 実際のデータの送受に関しては、 上記の与える機能を持つ制御装置が 出力しても良いし、 他の制御装置が元となるデ一タを持つ制御装置に対してデ 一夕を読みに行き、 取得しても良い。
また、 変数データベース 1 7のデータ構造は、 図 4に示すように、 「論理名 」 と、 「タイプ」 と 「サイズ」 と 「入出力属性」 並びに 「メモリア ドレス」 を 関連付けたテーブルとなっている。 ここで 「サイズ」 はその論理名に関する情 報のデータサイズであり、 「入出力属性」 は、 論理名で特定されるデータの送 受方向を特定するものである。
つまり、 入出力属性が 「出力」 のものは、 そのノード (P L C ) に格納され た論理名に関する情報を他のノードに向けて出力することを意味する。 そして 、 その入出力属性が出力となっている論理名についてのデ一タが、 リ ンクメモ リ 1 5の自ノードエリァの所定領域に格納される。
また、 入出力属性が 「入力」 のものは、 そのノードで使用等する論理名に関 する情報が、 他のノードから送られてきたものを取得することを意味する。 そ して、 その入出力属性が入力となっている論理名についてのデータが、 リ ンク メモリ 1 5の他ノ一ドエリァの所定領域に格納される。
「メモリアドレス」 は、 その論理名についての実際のデータが格納されてい るリ ンクメモリ 1 5の位置を特定するポインタが記憶される間接参照テーブル 内のアドレス情報を記憶するものである。 そして、 本形態では、 間接参照テー ブルのオフセッ トを用いている。 従って、 この変数データべ一ス 1 7に格納さ れたメモリア ドレスを参照して間接参照テーブル 1 6にアクセスするためには 、 その間接参照テーブル 1 6のべ一スァドレスに上記オフセッ トを加えた値と なる。
また、 本形態では、 間接参照テーブル 1 6に格納されて特定させるリンクメ モリ 1 5のア ドレス (ポインタ) が 4バイ トで表現されることを想定している ので、 この変数データベース 1 7のメモリア ドレスには、 4の倍数の値が格納 される。
そして、 図示の例では、 論理名が 「S w i t c h 1」 のメモリア ドレスは 「 0 0 0 0」 となっているので、 図 6に示す間接参照テーブル 1 6の先頭 ( 1番 目) の記憶領域に格納されたポインタで示すリンクメモリ 1 5内のデータが、 その 「S w i t c h 1」 についてのデータとなる。 同様に、 論理名が 「M 0 t o r l」 のメモリアドレスは 「0 0 0 4」 となっているので、 図 6に示す間接 参照テーブル 1 6の 2番目の記憶領域に格納されたボインタで示すリンクメモ リ 1 5内のデータ力?、 その 「M o t o r 1」 についてのデータとなる。
また、 間接参照テーブル 1 6のデータ構造は、 図 6に示すように、 各論理名 についてのデータ格納されたリンクメモリ 1 5内のボインタを記憶している。 そして、 本形態では、 リンクメモリ 1 5内の記憶エリアを特定するポインタは 、 4バイ トで特定されており、 上位 3バイ トでワード位置を特定し、 下位 1バ ィ トでそのヮ一ド位置内で目的とするデータが記憶されているビッ ト位置を特 定するようにしている。
そして、 これら格納された各ポインタが、 どの論理名についてのポインタか は、 上記したように変数データベース 1 7に格納された論理名とメモリァドレ スの相関により特定されている。 換言すると、 間接参照テーブル 1 6の先頭か ら n番目のボインタは、 予め所定の論理名についてのボインタであることが登 録されており、 それは変数データベース 1 7の記憶内容 (メモリア ドレス) を 変えない以上不変となる。
つまり、 仮にある論理名についてのデータの記憶エリアを変更した場合、 対 応する間接参照テーブル 1 6のその論理名についてのポイ ンタを記憶したエリ ァに格納されたボインタを新しいものに更新することによ り対応する。 この場 合でも変数データベース 1 7の記憶内容は変更しないで済む。 従って、 制御装 置が実際の制御を行うプログラムは、 データ共有する論理名に付いて情報を知 る必要ができた場合に、 まず変数データベース 1 7に格納されたメモリアドレ スにしたがって間接参照テーブル 1 6をアクセスしてポインタを取得する。 次 いでそのボインタで指し示されたデ一夕を取得することになる。 これによ り、 具体的な記憶エリァの変動の有無に関わらず、 上記プログラムはデータを取得 し、 正しく動作することができる。
さらに本形態では、 RAM I 1 c内に、 上記した間接参照テーブル 1 6の記 憶内容や、 実際の論理名に対応したデータの送受を行い、 データの共有化をス ムーズかつ確実に行うため、 E x p o r t変数リス ト 2 0, I mp o r t変数 リスト 2 1並びに R e mo t e変数リス ト 2 2を持たせるようにしている。 こ れら各変数リス ト 2 0〜 22は、 変数データベース 1 7に格納された情報に基 づいて作成されるもので、 具体的には以下のようになっている。
まず、 E x p o r t変数リス ト 2 0は、 自ノードから出力するネッ トワーク グローバル変数のリス トである。 そして、 そのデータ構造は、 図 7に示すよう に、 変数名 (論理名) 、 変数のタイプ及びサイズ (バイ ト数) 、 並びにその変 数のデータが格納されたリンクメモリ 1 5内の自ノードエリア (図 4参照) の オフセッ トからなるテーブル (以下、 「 E X p 0 r t変換情報テ一ブル」 と称 する) からなつている。
係るテーブルは、 図 5に示す変数データベース 5の入出力属性の欄が 「出力 」 のものを抽出し、 さらに、 メモリア ドレスの欄から間接参照テーブル (図 6 ) をアクセスして自ノードエリアのオフセッ ト (自己が管理する論理名につい てのデータを格納する領域) を取得することによ り、 図 7に示すようなリス ト が作成できる。
一方、 I mp o r t変数リス ト 2 1は、 他ノ一ドから入力するネッ トワーク グローバル変数のリス トであり、 そのデータ構造は、 図 8に示すように、 変数 名 (論理名) 、 変数のタイプ及びサイズ (バイ ト数) 、 その変数のデータが格 納されたリンクメモリ 1 5内の他ノ一ドエリア (図 4参照) のオフセッ トに加 え、 さらに、 その変数が有効か無効かを示すフラグを備えたテーブル (以下、 「 I m p 0 r t変換情報テーブル」 と称する) からなつている。
係るテーブルは、 図 5に示す変数データべ一ス 5の入出力属性の欄が 「入力 」 のものを抽出し、 さらに、 メモリア ドレスの欄から間接参照テーブル (図 6 ) をアクセスして、 リンクメモリ 1 5内の他ノードエリアのオフセッ ト (他ノ ードから送られてきたデータを格納する領域) を取得することによ り、 図 8に 示すようなリス トが作成できる。
さらに、 R e mo t e変数リス ト 2 2は、 受信した他ノー ド変数リス トをノ ード別に分類して格納するものである。 そのデータ構造は、 図 9に示すように 、 ノー ド番号と E x p 0 r t変数リス トの先頭ボイ ンタを格納したテーブル ( 以下、 「R e mo t e変換情報テーブル」 と称する) からなる。
上記した各テーブル情報は、 プログラミング装置 (ツール) を用いて行われ る。 すなわち、 図 1 0に示すように、 各制御装置 1が L AN 2にネッ トワーク 接続されて、 すでにシステムが稼動しているとする。 係る場合に、 新たに制御 装置 (X) 1 ' をネッ トワークに追加するに先立ち、 制御装置 (X) 1 ' にプ ログラミ ング装置 3を接続し、 所定のデータ ·情報をそのプログラミ ング装置 3から制御装置 (X) 1 ' にダウンロードする。
具体的には、 図 1 1に示すように、 まずプログラミング装置 3を用い、 ュ一 ザがラダーや高級言語などでソースプログラム 3 aを作成する。 このとき、 複 数の制御装置 ( 1 ) , (2) , (3) , … (X) で共有するデータは、 各制御 装置間で同じ論理名として定義するとともに、 ネッ トワーク共有の属性をつけ るようにする。
そして、 プログラミング装置 3のコンパイル機能 3 bを実行し、 上記のよう にして作成したソースプログラム 3 aをコンパイルし、 制御装置が本来の制御 を実行するためのオブジェク トコ一ド 3 cと、 同一論理名のデータ共有をする ために必要な変数データベース (図 5参照) 3 dを生成する。
次いで、 プログラミング装置 3は、 生成したオブジェク トコード 3 cと変数 データベース 3 dを制御装置 (X) 1 ' にダウンロードする。 そして、 このダ ゥンロードされたオブジェク トコードと変数データベースは、 制御装置 (X)
1 ' の不揮発性メモリに格納される。
なお、 上記したプログラミ ング装置は、 図示の例では制御装置 (X) 1 ' に 接続し、 それに対してダウンロードする例を示したが、 すでにネッ トワークに 接続された各制御装置 ( 1 ) , (2) , ……に対しても、 ネッ トワークに接続 する前 (際) に、 プログラミング装置を接続し、 所定のデータ '情報をダウン ロードすることになる。
次に、 論理名調停部 1 9について説明する。 論理名調停部 1 9は、 上記のよ うにダウン口一ドされた変数データベース 1 7に格納された情報に基づき、 E x p o r t変数リス ト 2 0と I mp o r t変数リス ト 2 1を生成する機能を有 する。 具体的な生成処理は、 上記した E x p o r t変数リス ト 2 0と I mp o r t変数リス ト 2 1の説明で記載した通りである。
すなわち、 E x p o r t変数リスト 2 0の作成は、 図 1 2に示すフローチヤ ―トに示すように、 オフセッ ト値を 0におき (S T 1 ) 、 変数データベース 1 7をアクセスして入出力属性が出力になっている出力変数、 つまり自ノードが 他ノードに対して公開するネッ トワークグローバル変数を検索する (S T 2 ) o
そして、 検索される都度、 その変数についての E x p 0 r t変換情報テープ ルを格納する E x p o r t変換テーブルを確保する (S T 3, S T 4) 。 そし て、 その確保したテーブル内に、 変換データベース 1 7内に格納されている変 数名, タイプ, サイズ情報を複写する (S T 5) 。
次いで、 その変数のデータ (変数データ) を格納する自ノードエリアのオフ セッ ト情報を取得し、 ステップ 5, ステップ 6で得られた情報を、 E x p o r t変数リス トに追加する (S T 7) 。 よって、 1番目は、 オフセッ トが 0つま り自ノードエリアの先頭から登録することになる。
その後、 現在のオフセッ ト値に、 変数サイズを加算して新たなオフセッ ト値 を求め (S T 8) 、 ステップ 2に戻る。 以後、 全ての出力変数を検索するまで 上記処理を繰り返し実行する。 これにより、 自ノ一ドエリアの先頭から各変数 データを格納する領域が、 空く ことなく順番に確保される。
一方、 I mp o r t リス ト 2 1の作成は、 図 1 3に示すフローチヤ一トを実 行する。 すなわち、 変数データベース 1 7より、 入出力属性が入力になってい る入力変数、 つまり、 自ノードで利用する他ノードのネッ トワークグロ一バル 変数を検索する (S T 1 1 ) 。
そして、 検索される都度、 その変数についての I mp o r t変換情報テープ ルを格納する I mp o r t変換テーブルを確保する (S T 1 2, S T 1 3) 。 そして、 その確保したテーブル内に、 変換データベース 1 7内に格納されてい る変数名, タイプ, サイズ情報を複写する (S T 1 4) 。 さらに、 無効フラグ をセッ ト し ( S T 1 5 ) 、 ステップ 1 4, ステップ 1 5で得られた情報を、 I m p 0 r t変数リス トに追加する (S T 1 6 ) 。 その後、 ステップ 1 1に戻る 。 以後、 全ての入力変数を検索するまで上記処理を繰り返し実行する。
さらに、 論理名調停部 1 9は、 上記した両変換テーブルの作成機能に加え、 以下に示す変換テーブルの更新その他の機能も有する。 すなわち、 制御装置 1 を既存の稼動中のネッ トワークに接続した場合、 論理名調停部 1 9は、 自己が 保有する E X p 0 r t変数リス ト 2 0を、 一斉同報し、 他の制御装置との間で ネッ トワークグロ一バル変数の情報を交換する。
すなわち、 E x p 0 r t変数リストを送信する側の論理名調停部 1 9は、 図 1 4に示すように、 まず、 E x p o r t変数リス トを一斉同報により送信する (S T 2 1 ) 。 後述するように、 この一斉同報を受けた受信側の他の制御装置 (ノード) は応答信号を送信してくるので、 その応答信号があつたか否かを判 断する (S T 2 2) 。 そして、 応答信号があった場合には、 その応答信号を発 行した応答局を記録する (S T 2 3) 。
タイムアウ トするまで応答信号の受信の有無をチヱックし (S T 24) 、 夕 ィムアウ ト したならばテーブル更新を完了する (S T 2 5) o これによ り、 E X p 0 r t変数リス トを送信したノードは、 誰が E X p 0 r t変数リス トを受 け取り、 誰が受け取つていないかを判断できる。
なお、 この E X p 0 r t変数、)ス トの送信タイミングとしては、 上記したよ うに新たにネッ トワークに追加 ·接続する時の他に、 ユーザプログラム修正や コンパイル実行などによって変数データベース 1 7の記憶内容が変更された場 合や、 後述するオンラインエディ ッ トによって実行中の制御装置の変数データ ベース 1 7の記憶内容が変更された場合などにも行われる。 そして、 変更され る都度、 バージョンを更新していき、 E x p 0 r t変数リス トを送信 (一斉同 報) する場合には、 そのバージョン情報も併せて送るようにする。 従って、 受 信側のノードは、 E X p 0 r t変数リス トをはじめて受信する場合と、 すでに 受信している場合がある。 なお、 本発明では、 このバージョン情報は必ずしも 設けなくても良い。 また、 バージョ ン情報を用いたテーブルの同期方式につい ては後述する。
一方、 上記 E X p 0 r t変数リストを受信した既存の他のノ一ド (制御装置 ) 側は、 図 1 5に示すフローチヤ一トを実施する機能を有する。 すなわち、 E X P 0 r t変数リス トを受信したか否かを判断し (S T 3 1 ) 、 受信した場合 には、 E x p o r t変数リス トのバージョンが、 以前に受信して記憶している ものと一致するか否かを判断する (S T 3 2) 。
そして、 一致していない場合には、 E X p 0 r t変数リス トが更新されてい ると判断し、 記憶しているテーブル (受信側のノードにとっての I mp 0 r t 変数リス ト等) を更新する (S T 3 3) 。 なお、 初めて E x p o r t変数リス トを受信する場合も、 バージョ ンが不一致と判断し、 テーブル更新をする。 そして、 ステップ 33のテーブル更新後、 並びにステップ 32の分岐判断で バージョンが一致している場合 (更新不要) は、 応答信号を E X p 0 r t変数 リス トの送信元のノードに向けて送信し、 処理を終了する (S T 3 4) 。
さらに論理名調停部 1 9は、 受信した E X p 0 r t変数リス トに基づいて、 R e mo t e変数リス トを作成する機能を有する。 すなわち、 図 1 5に示す受 信側の処理において、 他ノードから送信されてきた E X p 0 r t変数リス トを 受信したならば、 それを R e m 0 t e変数リス トとしてノード別に管理する。 つまり、 受信したノードが必要とする変数データであるか否かに関係なく、 全 ての E X p o r t変数リス トに関する情報を一旦制御装置内に取り込み、 記憶 保持する。 このリス トは、 不揮発性メモリ に保持される。 具体的には、 図 1 6 に示すように、 ノード 1から送られたきた E X p 0 r t変数リス トは、 ノード 1のテーブルエリァに格納される。
そして、 論理名調停部 1 9は、 上記のようにして得られた R e mo t e変数 リス ト 2 2と I mp o r t変数リス ト 2 1に基づき、 間接参照テーブル 1 6を 作成 ·更新する。 概念的に説明すると、 I mp o r t変数リス ト 2 1に格納さ れた自ノ一ドで使用する変数名 (論理名) をキーとして、 R e m o t e変数リ ス ト 2 2を検索し、 一致する変数名を取得し、 その変数に関する変数データが 格納された自ノードのリンクメモリ 1 5へのボインタを求め、 それを該当する 間接参照テーブル 1 6のメモリエリァに格納する。
また、 上記した制御装置 (X) 1 'のように、 新たにネッ トワークに加入し た場合には、 E x p o r t変数リストを受信していないノードに対して E X p 0 r t変数リス ト要求を行う。 これによ り、 受信した E X p 0 r t変数リス ト に基づき、 上記した R e m 0 t e変数リス ト 2 2ひいては間接参照テーブル 1 6の作成 ·更新を行う。 具体的には、 図 1 7に示すフローチヤ一トを実現する o
まず、 I mp o r t変数リス ト 2 1を順番に検索し (S T 4 1, S T 4 2 ) 、 検索された変数名 (論理名) ごとに以下の処理を行う。 つまり、 取得した変 数名をキーに R e m 0 t e変数リス トを検索し、 その変数を公開している制御 装置のノードアドレス①と、 その装置内のリンクメモリ内の自ノードエリアォ フセッ ト②を取得する (S T 4 3 ) 。
次いで、 リンクメモリの①に該当する他ノ一ドエリア (その変数を公開して いるノード用のエリア) のベースアドレス (先頭アドレス) を算出する (S T 44) 。 そして、 そのベースアドレスに、 ステップ 4 3で求めたオフセッ ト② を加算した値③を求める (S T 4 5) 。 すなわち、 対応するノ一ドエリァでは 、 同一の論理名 (変数名) の変数データを格納する領域のオフセッ ト値を等し く しているので、 上記求めた値③が、 その変数データを記憶させるリンクエリ ァの先頭ァドレスとなる。
次に、 変数名に基づいて変数データベース 1 7を検索し、 間接参照テーブル 位置 (その変数名のポインタを格納する箇所) を取得する (S T 4 6) 。 つま り、 図 5に示すメモリァドレスの欄に登録されたオフセッ トァドレスを取得す る。 そして、 その取得したオフセッ トアドレスにしたがい、 該当する間接参照 テーブルの格納領域に、 ステップ 4 5で算出した値③ (リンクメモリ 1 5内の 変数データを格納する領域の先頭位置を示すポインタ) を格納する。 これによ り、 間接参照テーブルの更新が行える。
これによ り、 図 5に示す変数データベース 1 7とすると、 図 1 8に示すよう に、 例えば論理名 (変数名) が 「Sw i t c h 1」 についての変数データのリ ンクメモリ 1 5内の格納領域が図示のようになつている場合、 間接参照テープ ル 1 6の Sw i t c h lの欄 (オフセッ トア ドレス 00 00 :先頭) には、 そ の格納領域の先頭のア ドレス (ポインタ) が格納されることになる。
上記したように、 論理名調停部 1 9によ り、 各ノー ド (制御装置 1 ) 内の各 リスト 2 0〜 2 2や間接参照テーブル 1 6の内容がその都度更新されることに よ り、 リ ンクメモリ 1 5内に格納された変数データの内容や、 変数データの格 納領域が変更したとしても、 ある変数名 (論理名) についての間接参照テープ ル 1 6の格納位置 (オフセッ トア ドレス) は不変 (仮に変更した場合でも、 変 数データベースのメモリァドレスの欄を見ることにより知ることができる) で あるので、 制御実行部 1 8は、 その間接参照テーブル 1 6を介してリ ンクメモ リ 1 5にアクセスし、 所望の変数データを取得し、 正規の制御システムを実行 することができる。 そして、 係る制御実行部 1 8の機能は、 図 1 9に示すフロ —チヤ一 トのようになっている。
すなわち、 まず初期化処理をした後 ( S T 5 1 ) 、 I Nリ フレッシュをする (S T 52) 。 つまり、 リンクメモリ 1 5の他ノ一ドエリァに格納されたエリ ァネッ トワークグローバル変数 (変数データ) の読み出しを行う。 そして、 ュ 一ザプログラム (通常の制御) を実行し (S T 5 3) 、 OUTリ フレッシュを する (S T 54) 。 つま り、 リ ンクメモリ 1 5の自ノー ドエリアに、 自己が公 開するネッ トワークグロ一バル変数 (変数データ) の書き込みを行う。 次いで 、 周辺 I 処理を実行する (S T 5 5) 。 このように、 リ ンクメモリ 1 5に 対するアクセス (変数データの読み書き) をしつつ、 ユーザプログラムを実行 する処理を、 システムが停止するまで繰り返し実行する (S T 56, S T 5 7 ) 。 なお、 上記したリ ンクメモリ 1 5をアクセスしつつユーザプログラムを実 行しているどきの制御装置 1, 1 ' の概念図を示すと図 2 0のようになる。
さらに、 リンクメモリ 1 5に格納する実際の変数データの送受は、 通信部 1 2を介して制御装置 1 (ノード) 間で行われる。 まず、 概念的に説明すると、 リンクメモリ 1 5内の自ノードエリァに割り付けられたデータ (変数デ一夕) は、 他ノードに一斉同報通信方式などで送信し、 他ノードエリアに割り付けら れたデータ (変数データ) は対応する他ノードから受信する。
つまり、 図 2 1に示すように、 リ ンクメモリが格納された制御部 1 1側の R AM 1 1 cと、 通信部 1 2側の RAM 1 2 bとの間では、 必要なデータを転送 するようになつている。 そこで、 図 20に示すように、 リンクメモリ 1 5の自 ノードエリアに割り付けられたデータは、 一旦通信部 12の通信側 RAMI 2 bに複写転送され、 各制御装置間では、 その通信側 RAMI 2 b同士 (厳密に は通信コントローラ 12 aを介して) で一斉同報に伴うデータ転送をすること により、 他のノード (制御装置) 側に送信する。 また、 これを受信した他ノー ド側では、 E x p o r t変数リス ト, I mp o r t変数リス トより算出した転 送データサイズを基に、 自ノードで必要なデータを通信部 12 (通信側 RAM 12 b) から制御部 1 1 (制御側 RAMI 1 c ) に転送する。 なお、 通信部 1 2側では、 その受け取ったデータに基づいて所定の処理をするのは、 上記した 通りである。
また、 制御装置内での通信部 1 2と制御部 1 1間でのデータの転送処理機能 は、 以下の通りとなっている。 まず、 本形態では、 通信部 1 2は、 制御部 1 1 からの要求によりサイクリ ツク通信サービスを開始するようになつている。 す なわち、 通信部 1 2は、 制御部 1 1から受け取った I mp 0 r t変数リス ト, Ex p o r t変数リス トに基づいて通信パラメータを算出 ·設定し、 サイクリ ック通信サービスを起動もしくは加入する。
また、 サイクリ ックデータには、 受信側が利用してよいデータ (有効なデー 夕) か、 利用できないデータなのかを示す有効 無効情報が含まれている。 こ の有効 無効情報は、 送信側で設定する。 そして、 この有効 無効情報が 「有 効」 のときには、 受信側の通信部が受信したサイクリ ックデータを制御部側に 転送しても良いと判断できる。
さらに、 通信側 R A M 1 2 bには、 通信部 12の通信コン トローラ 1 2 a側 からと、 制御部 1 1側からの両方からアクセスできるようになつている。 従つ て、 何ら制御を行わないと、 両方から同時に通信側 R AM 1 2 bにアクセスす ることが有るので、 これを避けるため、 本形態では制御部 1 1側が主体的にな つてデータ交換をするようにしている。 つまり、 制御部 1 1が通信部 1 2に対 してアクセス許可 ·禁止を通知する。 そして、 通信部 1 2は、 制御部 1 1が通 信側 RAMへのアクセスを許可している間のみアクセス可能となる。 係る制御 の具体的には、 図 2 2 (制御部) , 図 2 3 (通信部) に示すフローチャー トの よつになる。
まず、 制御部 1 1の機能としては、 図 2 2に示すように、 データの R e a d /W r i t e、 つまり、 通信側 RAM 1 2 bへのアクセスを行う (S T 6 1 ) 。 そして、 そのアクセス処理が完了すると、 通信側にアクセス完了を通知する (S T 6 2) 。 このアクセス完了通知が、 通信部 1 2に対するアクセス許可通 知となる。
そして、 通常のコントローラ処理 (ユーザプログラムの実行) をする (S T 63) 。 また、 再び通信側 RAM 1 2 bにアクセスする必要が生じた場合には 、 アクセス要求通知を通信部 1 2に対して通知する (S T 64 ) 。 後述するよ うに、 この通知を受けた通信部 1 2は、 アクセス許可通知を返送するので、 制 御部 1 1はその通信部 1 2からのアクセス許可通知を受信したか否かを判断し (S T 6 5) 、 許可通知を受信したならば、 アクセスステータスクリアをし ( S T 66 ) 、 ステップ 6 1に戻り、 制御部 1 1が通信側 RAM I 2 bに対して アクセスする。
一方、 通信部 1 2の機能は、 図 23に示すように、 まず、 制御部 1 1からァ クセス完了通知が送られてきたか否かを判断する (S T 7 1 ) 。 そして、 係る 完了通知を受信したならば、 通信側 R AM 1 2 bに対するアクセス (データの R e a d/W r i t e) をする (S T 72) 。 次いで、 通信部 1 2からァクセ ス要求通知が送られてきたか否かを判断する (S T 73) 。 そして、 送られて こない場合には、 依然として通信部 1 2に通信側 RAM I 2 bへのアクセス権 が有るため、 必要に応じてアクセスする。
一方、 アクセス要求通知を受け取ったならば、 通信側 RAM I 2 bに対する アクセスを終了するとともに、 アクセス許可通知を制御部 1 1に返送する (S T 74 ) 。 このとき、 通信部 1 2では、 受信データのノード単位の同時性を保 証するため、 1ノード分の転送中にアクセス要求通知を受信した場合には、 そ の 1ノード分の転送が完了した後でアクセス許可通知を返送することになる。 なお、 ステップ 74の通知により中断した後、 制御部 1 1から再びアクセス完 了通知を受け取ったならば、 上記中断したノードの次のノードの通信側 RAM 1 2 bへの転送を開始することになる。
上記した実施の形態を基本とし、 さらに以下に示す機能を追加することがで きる。 まず、 第 1の追加機能として、 オンラインエディ ッ ト機能が有る。 すな わち、 プログラミング装置から送られてきたオンラインエディ ッ ト要求を解釈 し、 変数データベース 1 7に論理名を追加または削除し、 さらには、 その変数 データベース 1 7の変更内容に応じて自制御装置内の間接参照テーブル 1 6を 変更する機能を有する。 以下、 各処理に分けて説明する。
まず、 オンラインエディ ッ トにおけるネッ トワークグロ一バル変数の追加処 理機能は、 図 2 4に示すフローチャートのようになつている。 すなわち、 まず 接続されたプログラミング装置からのネッ トワークグローバル変数追加要求を 受理する (S T 8 1 ) 。 すると、 まず追加される論理名の変数データの属性が 、 入力変数なのか出力変数なのかを判断する (S T 8 2 ) 。
そして、 入力変数の場合には、 その変数がすでに他ノードで公開されている 変数 (既公開変数) であるか否かを判断する (S T 8 3 ) 。 公開されていない (未公開変数) 場合には、 現時点では当該変数のデータを取得して利用するこ とができないので、 その変数についての I mp o r t変数テーブルを作成し、 有効 無効フラグを無効にセッ トした上で I m p 0 r t変数リストに追加する (S T 8 4 ) 。 なお、 この変数についてのフラグは、 他ノ一ドがそのネッ トヮ ークグローバル変数を公開したときに有効に切り替わる。
そして、 変数データベース 1 7のメモリアドレスに基づき、 その変数に付い ての情報を間接参照テーブルに追加する (S T 8 5) 。 一方、 処理対象の入力 変数が他ノ一ドにおいてすでに公開されている場合には、 変数データべ一スに 基づいて間接参照テーブルに追加する (S T 8 5) 。
一方、 属性が出力変数の場合には、 ステップ 8 2の分岐判断でステップ 8 6 に進み、 リンクメモリ 1 5の自ノードエリァに空き領域が有るか否かを判断す る (S T 8 6 ) 。 つま り、 変換データベース 1 Ίに格納されたその変数につい てのデータサイズ分の空きメモリの有無を判断する。 そして、 空きがない場合 には、 追加することができないのでエラー処理をする。 また、 空きが有る場合 には、 その自ノ一ドエリア内にその変数データを格納する領域 (データサイズ 分) を確保する (S T 8 7 ) 。 そして、 その確保した領域のオフセッ ト (先頭 ァ ドレス) を E X p 0 r t変数テーブルの該当テーブルに格納すると と もに、 その確保した領域のオフセッ ト (先頭ア ドレス) を間接参照テ一ブルに書き込 む (S T 8 8 ) 。 さらに、 作成した E X p 0 r t変換テーブルを E x p o r t 変数リス トへ追加する。 その後、 追加された変数情報のみを各ノードへ E X p 0 r t変換テ一ブルの送信により通知する (S T 8 9 ) 。
また、 オンライ ンエディ ッ トの削除処理機能は、 図 2 5に示すフローチヤ一 トのようになっている。 すなわち、 まず接続されたプログラミング装置からの ネッ トワークグローバル変数削除要求を受理する (S T 9 1 ) 。 すると、 間接 参照テーブル等から論理名についての変数情報を削除する (S T 9 2 ) 。 次い で、 削除した変数データの属性が、 入力変数なのか出力変数なのかを判断する ( S T 9 3 ) 。 そして、 属性が入力変数の場合には、 他のノー ドへの影響はな いのでそのまま処理を終了する。
また、 出力変数の場合には、 その変数データを利用する他のノードに影響を 与えるので、 各ノードに対して削除した変数名 (論理名) を通知する (S T 9 4 ) 。 なお、 この削除した変数名の通知を受けた各ノードでは、 I m p o r t 変数リス ト内のその変数についての有効 無効フラグを無効にする。
なお、 オンラインエディ ッ トにおけるネッ トヮ一クグローバル変数のデータ サイズや属性などの変更に付いては、 上記した削除処理を実行後あらためて追 加処理をすることによ り行える。
また、 第 2の追加機能として、 上記のオンラインエディ ッ ト機能を前提とし て、 さらに間接参照テーブルを 2バンク持ち、 使用バンクと未使用バンクを適 宜切り替えることによ り、 制御実行中断を最小限に抑えることができるように 構成すること もできる。
つまり、 使用バンクの内容を未使用バンクにコピーしておき、 変数データべ ース 1 7の内容が変更された場合、 まず未使用バンクを更新し、 その後制御実 行部 1 8が使用中バンクを参照していないときに未使用バンクと使用バンクを 切り替えるようにする。 このようにすると、 使用バンクに対する間接参照テー ブルの更新中であっても、 使用バンクは変更がないので、 係る更新作業中に並 列して制御実行部 1 8が使用中バンクを参照して処理ができる。 よって、 制御 実行中断期間を可及的に短くすることができる。 そして、 係る処理機能を実現 するための制御部の機能としては、 図 26, 図 2 7に示すフローチャートのよ つになる。
すなわち、 制御実行部 1 8は、 図 2 6に示すようにまず初期化処理をした後 (S T 1 0 1 ) 、 I Nリ フレッシュをする (S T 1 02) 。 つまり、 リ ンクメ モリ 1 5の他ノ一ドエリァに格納されたエリァネッ トワークグローバル変数 ( 変数データ) の読み出しを行う。 このリ ンクメモリ 1 5へのアクセスは、 使用 バンクの間接参照テ一ブルに基づいてア ドレスを特定し実行する。
そして、 ユーザプログラム (通常の制御) を実行し (S T 1 03) 、 OUT リ フレッシュをする (S T 1 04) 。 つまり、 リ ンクメモリ 1 5の自ノー ドエ リアに、 自己が公開するネッ トワークグローバル変数 (変数データ) の書き込 みを行う。 これも当然のことながら使用バンクの間接参照テーブルに格納され たボインタに基づいてリンクエリァの格納領域を特定し実行することになる。 次いで、 周辺 I ZF処理を実行する (S T 1 0 5) 。 このステップ 1 02から ステップ 1 0 5の間は、 制御実行部 1 8が使用中バンクを参照している期間で め
この後、 サイクルタイムだけ待機する (S T 1 06) 。 このサイクルタイム の間は、 制御実行部 1 8が使用中バンクを参照していない期間である。 このよ う に、 リ ンクメモリ 1 5に対するアクセス (変数データの読み書き) をしつつ 、 ユーザプログラムを実行する処理を、 システムが停止するまで繰り返し実行 する (S T 1 0 7, S T 1 08) 。 このとき、 一連の 1回の処理が終わる都度 一定時間待機する。
一方、 間接参照テーブルの書き替え処理機能は、 図 2 7に示すフローチヤ一 トのように、 まず、 使用バンクの間接参照テーブルの内容を未使用バンクにコ ピ一する (S T 1 1 1 ) 。 次いで、 未使用バンクにコピーした間接参照テープ ルを更新する (S T 1 1 2) 。 そして、 制御実行部 1 8がリンクリス トを参照 中か否かを判断する (S T 1 1 3) 。 つまり、 ステップ 1 02からステップ 1 05を実施中か否かを判断する。 そして参照していない場合 (ステップ 1 06 の待機中) には、 使用中の間接参照テーブルを、 コピーした間接参照テーブル と切り替えて処理を終了する (S T 1 1 4 ) 。
また第 3の追加機能として、 バージョン情報を用いたデータ管理機能が有る 。 すなわち、 上記した実施の形態では、 バージョンアップした変数テ一ブルの みを登録するようにしたが、 本発明はこれに限ることはなく、 変数データべ一 スと送信データの両方にバ一ジョン情報を付加し、 変数データベースの変更内 容を一斉同報で各ノードに送る。 これによ り、 その変数データベースに付加さ れたバージョン情報と、 その後に送信されたデータに付いているバージョン情 報が、 変数データベースのものと一致するか否かを判断し、 一致するもののみ 正規のデ一タと認め更新処理をすることもできる。
このようにすることにより、 予め変数データベースを各ノ一ドに対して送信 してバージョンを知らせることにより、 ネッ トワークに接続された全てのノ一 ドで同じバ一ジョ ンの変数データを使うことが保証される。 そして、 係る処理 機能を実現するための具体的な構成としては、 例えば通信部 1 2の構成を図 2 8に示すようにすることである。
すなわち、 他のノードから送られてきたデータを受信部 2 5と、 その受信部 2 5で受信したデータ (メ ッセージ) を受け取り、 バージョンが正しいか否か を判断する選択手段 2 6と、 その選択手段 2 6で判断する際の基準 ·辞書とな る受信すべきノードアドレスとバージョン情報を保持する選択情報保持手段 2 7と、 選択手段 2 6によ り真のデータ (バージョ ン等一致) と判断されたデー タを保持するデータ保持部 2 8と、 真のデータでないと判断された場合に送信 元のノードに対してバ一ジョンが不一致であることを通知する通知手段 2 9を 備えている。 さらに、 自己が送信側の機能として、 自己が公開している変数に 関する情報を一旦記憶保持するデータ保持部 3 0と、 そのデータ保持部 3 0に 格納されたデータを他のノ一ドに向けて送信する送信部 3 1 を備えている。 選択情報保持手段 2 7に格納 ·設定されるバージョ ン情報等は、 その変数名 (変数データ) の公開元のノードから送られる変数データベースのバージョン 情報を受信し、 登録することができる。 そして、 実際に送られてくるメッセ一 ジのフレームフォーマッ トが、 図 2 8に示すように、 送信元や宛先などの情報 を格納したヘッダと、 実際の送信内容であるデータの間に、 そのデータのバー ジョン情報を登録するようにした。 また、 どのノードから送られてきたデータ かは、 ヘッダの送信元情報からわかる。
さらに、 選択手段 2 6の機能は、 図 2 9に示すフローチヤ一トのようになつ ている。 つまり、 受信部 2 5を介してメッセ一ジを受信すると (S T 1 2 1 ) 、 選択情報保持手段 2 7に格納された受信すべきノ一ドア ドレスとバージョ ン 情報の設定と、 受け取ったデータのバ一ジョ ン等を比較し、 設定と一致するか 否かを判断する (S T 1 2 2 ) 。 そして、 一致している場合には、 データ保持 部 2 8に受信したメッセージを転送する (S T 1 2 3 ) 。 なお、 この転送され てデータ保持部 2 8に格納されたメ ッセージは、 必要な箇所のデータが制御部 1 1側に送られ、 それに基づいて変数リストや間接参照テーブルさらにはリス トメモリのデータの更新等の必要な処理がなされる。 一方、 バージョン等が一 致していない場合には、 通知手段 2 9を介して送信元のノー ドに対して不一致 を通知する (S T 1 2 4 ) 。 この通知は、 単にバ一ジョンが不一致であること を通知しても良いし、 選択情報保持手段 2 7に格納されているバージョン情報 を併せて送るようにしてもよい。 これを受けた送信元のノードは再度、 正しい バージョ ンのデータ (E x p 0 r t変数リス ト) を再送したり、 選択情報保持 手段 2 7に格納すべき現在の正しいバージョ ン情報 (変数データベース) を送 るよつになる。
さらに別の追加機能としては、 新たな制御装置を追加した際に、 自動的に既 存の制御装置との通信を開始し、 各変数リス トなどを交換し、 論理的なデータ の共有が可能な状態にする機能 (プラグイ ン機能) を付加することができる。 一方、 上記した実施の形態では、 各他のノ一ドから送られてくる E X p 0 r t変数リストの全てを一旦 R e m 0 t e変数リストとして制御装置内に取り込 み、 その後、 I m p 0 r t変数リス トと照合して間接参照テーブルを作成する ようにしたが、 本発明はこれに限ることはなく、 例えば、 他ノードから E X p 0 r t変数リス トを受信する都度、 自ノー ドの I m p 0 r t変数リス ト と比較 し、 必要な情報のみ取り込むようにしても良い。 そのようにすると、 R e m o t e変数リス トを格納するためのメモリ容量を大幅に削減できる。 よって.、 小 型の制御装置その他のノードに適用可能となる。
さらには、 各ノードが自ノー ドで必要な変数名を問い合わせ、 その変数名に ついて公開しているノ一ドから情報を取得するようにすることができる。 これ. により、 大規模な R e m 0 t e変数テーブルが不要となり、 メモリ容量のさら なる削減が可能となり、 ローコス トな機器が開発できる。
具体的には、 図 3 0に示すように、 ネッ トワークに複数のノード (制御装置 1 ) が接続されており、 それぞれ E x p 0 r t変数リス ト 2 0及び、 自ノード が必要な I m p o r t変数リス ト 2 1 を持っている。 そして、 図 3 0の構成と 図 3等を比較すると明らかなように、 間接参照テ一ブル 1 6ゃリ ンクメモリ 1 5 も備えているが、 R e m 0 t e変数テーブルは保有していない。 なお、 図 3 0は、 各ノー ドの R A Mの内部構造の一部を示しており、 図 3等に示す実施の 形態と同様 M P Uや R O Mには必要な機能が格納されている。
係る構成において、 それぞれのノードは、 I m p o r t変数リス ト 2 1に記 述されている変数を全ノードに一斉同報で送信する (図示の例では、 ノード ( 1 ) から送信された例を示している (図 3 0の①) 。 この変数名問い合わせフ レームを受信したノードは、 自ノー ドの E X p 0 r t変数リス ト 2 0に該当す る変数が存在するかどうかを検索する (図 3 0の②) 。 そして、 検索した結果 、 該当する変数が存在したら、 自己のノー ドア ドレスと変数ア ドレスを記述し たフレームを、 変数名問い合わせフレームを送信したノード (図 3 0の例では ノード ( 1 ) ) あてに回答する (図 3 0の③) 。
これにより、 ノードは、 自己が利用する変数の情報を取得できるので、 その フレームをもとに間接参照テーブルを作成する。 なお、 間接参照テーブルを作 成するプロセスは、 上記した実施の形態と同様であるので、 その詳細な説明を 省略する。
そして、 上記した変数名の問い合わせフレームのフレームフォーマツ トのー 例を示すと、 例えば図 3 1 ( a ) に示すように、 I m p 0 r t変数リス トの全 てを一括して送信することができる。 この場合、 複数のノードから複数のフレ —ムで回答されることが多々ある。 また、 同図 (b ) に示すように、 1変数ご とにフレームを送信することもできる。 この場合には、 当然のことながら、 回 答フレームは 1つとなる。 そして、 回答フレームのフレームフォーマツ トのー 例を示すと、 図 3 1 ( c ) のようになる。
そして、 I mp o r t変数リス トの全リス トを一括して問い合わせる場合の 機能としては、 図 3 2に示すフローチヤ一トのようになる。 すなわち、 まず全 ノードあてに変数問い合わせフレームを送信する (S T 1 3 1 ) 。 次いで、 タ イマをチヱックしながら受信を待ち、 そのフレームに対する回答があるか否か を判断し (S T 1 3 2, S T 1 34) 、 回答の受信があったならば、 その回答 の内容をもとに間接参照テーブルを作成する (S T 1 3 3) 。 そして、 一定時 間待っても回答が来なければ、 回答待ちタイムアウ トとなり、 間接参照テープ ルの作成は終了する。 なお、 I m p 0 r t変数リス トに存在する変数名につい ての間接参照テ一ブルの作成ができていない場合には、 その変数名を出力変数 とするノードが現段階ではシステムに存在しないという判断になる。 よって、 I mp o r t変数リス トの有効/無効フラグは無効となる。
また、 I mp 0 r t変数リス 卜の 1変数ずつを問い合わせる場合の機能は、 図 33に示すフローチャー トのようになる。 すなわち、 全ノードあてに変数問 い合わせフレーム ( 1変数分) を送信する (S T 1 4 1 ) 。 次いで、 タイマを チヱックしながら受信を待ち、 そのフレームに対する回答があるか否かを判断 し (S T 1 4 2 , S T 1 4 4) 、 回答の受信があったならば、 その回答の内容 をもとに間接参照テーブルを作成する (S T 1 4 3) 。 そして、 一定時間待つ ても回答が来なければ、 その変数についての回答待ちタイムアウ トとなり、 そ の変数についての間接参照テーブルは作成しない。 つまり、 現時点でその変数 を出力変数とするノードはないと判断する。 そして、 全ての変数について、 上 記した処理を繰り返し実行し、 全ての変数について送信したならば処理を終了 するようになる (S T 1 4 5) 。
本形態では、 R e m o t e変数リストに要したメモリ容量が不要となるとい ぅメリツ トの他に、 トラフイ ツクが大幅に減少するという効果もある。 すなわ ち、 例えば、 新たにノードが追加された場合を想定すると、 その追加したノー ドが、 自己が必要とする変数 ( I mp 0 r t変数リス トに格納された変数) に ついて、 所定のフレームフォーマツ トで、 変数名問い合わせを一斉同報で送信 する。 すると、 該当する変数があったノードだけが、 その変数についての回答 フレームを送信することとなるので、 全ノ一ドが全データを送信する必要がな く トラフィ ックが大幅に減少される。
さらに、 本形態によれば、 異なるデータに対して同一の変数名が存在 (2重 変数) した場合に、 それを容易に検出することができる。 すなわち、 本発明で は、 ネッ トワーク上には同一の変数名は唯一存在することが前提となり、 同一 の変数名を出力変数とするノードは 1つのみ存在する (0の場合もある) こと になる。 そこで、 本形態によれば、 問い合わせされた変数名を出力変数とする ノードが複数存在すると、 一斉同報送信された問い合わせフレームを受信した 各ノードがそれぞれ回答フレームを送信することになり、 問い合わせをしたノ ―ドには、 同じ変数の問い合わせに対して複数の回答フレームを受信すること となる。 これによつて変数の 2重定義を検出することができる。
図 7に示す E p 0 r t変数リス トに替えて、 図 3 4に示すように、 図 7の 変数リストにさらに 「使用 Z未使用」 エリアを追加している。 この 「使用ノ未 使用」 エリアは、 その変数名の変数データが他のノードで利用 .使用されてい るか否かを示すフラグであり、 使用されている場合には 「 1」 をセッ ト し、 未 使用の場合には 0をセッ トする。
このようにすると、 データリ ンク通信を行う場合には、 図 1以降に説明した 基本の実施の形態では、 E x p o r t変数リス トで示された変数全てをサイク リ ックに送信していた力 s、 本方式では、 「使用 Z未使用」 エリアをチヱックす ることにより、 全データを送信するのではなく、 「使用」 となった変数につい てだけ送信することができる。 これにより誰も使用していない無駄なデ一タを 送信することによるネッ トワークのトラフィ ックを増大させることが抑制でき る。
そして、 係るエリァに対するフラグのセッ トは、 本形態のように I m p 0 r t変数リス トに基づく問い合わせを行う場合に容易に実現できる。 つま り、 「 使用/未使用」 エリァの初期値を 0にしておく。 そして、 E x p o r t変数リ ス トの検索を行う時に、 問い合わせのあった変数が存在した場合に当該変数に ついての 「使用/未使用」 エリアに使用中を示す 「 1」 をセッ トすることによ り、 実現できる。
係る機能を実現するための処理部のフローチヤ一トとしては、 図 3 5に示す ようにすることができる。 すなわち、 I mp o r t変数リス トの問い合わせフ レームを受信したならば (S T 1 6 1 ) 、 E x p o r t変数リス トを検索し、 問い合わせがあった変数が存在するかどうか確認する (S T 1 6 2 , S T 1 6 3) 。 そして、 もし存在しなければ、 応答を返さずに終了する。 また、 存在し たならば、 自ノ一ドのァドレスと該当の変数のァドレスを記述した回答フレー ムで応答を返す (S T 1 64 ) 。 そして、 「使用 未使用」 エリアに 1をセッ トする (S T 1 6 5) 。 なお、 このステップ 1 6 5を設けないフローチャート (S T 1 6 1から S T 1 64) は、 通常の処理機能を実現するためのフローチ ヤートとなる。
さらにまた、 上記した図 1以降の基本機能の実施の形態 (方式①) と、 図 3 0以降に示す実施の形態 (方式②) を組み合わせて使用することもできる。 す なわち、 図 1以降の実施の形態では、 メモリ容量が十分あるノードで、 立ち上 げ時など複数のノードが一斉に間接参照テーブルを作成する時には、 E x p o r t リス トの送信たけでできるので効率がよい。 また、 システムの大部分のェ リアを I m p 0 r tするようなノードにとっては、 全ノー ドから E X p o r t リストをもらったほうが効率がよい。
一方、 すでにシステムでデータリンクが動作している時に、 新たにノードが 参加した場合には、 図 3 0以降の実施の形態の方が、 効率がよい。 また、 I m p 0 r t変数リス トが少ないノードでも、 必要な変数のみ受信するので、 効率 がよい。 このように、 両実施の形態はそれぞれメリ ッ トがあるため、 それらを 混在させることにより、 メリ ッ トの相乗効果が期待できる。 そして、 そのよう に混在した方式は、 次に示すルールで行う。 そして、 係るルールを実現するた め処理フローは、 図 36に示すようになる。
①各ノ一ドは間接参照テーブルの作成を始める前に、 自ノー ドの E x p o r t リストを送信する (方式①) ;
②各ノ一ドは R e m 0 t eテーブルの容量が少なければ、 受信した E x p o r t リス トを破棄する ; ③この段階で、 間接参照テーブルが作成できていれば、 ここで完了する ;
④間接参照テ一ブルが未完成 (まだ解決していない I m p 0 r t変数リス トが ある) の場合、 方式②による問い合わせで間接参照テーブルを作成する ; ⑤④の処理を実行しても未完成の場合、 まだその変数を持っているノ一ドが立 ち上がっていないと判断し、 データリンク動作に入る ;
⑥データリンク動作中に途中で新たなノードが加わると、 そのノー ドから E X p 0 r t リストが送られてく るので、 I m p o r t変数リス トと照合し、 存在 すれば、 間接参照テーブルを作成する ;
⑦ノードがすでにネッ トワークでデータリンクが動作している時に立ち上がつ たならば (他ノードからみれば途中加入) 、 ①と同様にまず自ノー ドの E X p 0 r t リス トを送信する ;
⑧他ノードからは E X p 0 r t リストが送られてこないので、 I m p 0 r t リ ス トの大きさをチヱックし、 既定値 (例えば 1 0 0 0変数) よ り大きければ、 方式①を実行し (全ノ一 ドに対して E X p 0 r t リス トの送信を要求する) 、 既定値より少なければ、 方式②で間接参照テーブルを作成する。
ところで、 上記した各実施の形態及び変形例 (追加機能) では、 ネッ トヮー ク接続された複数の制御装置間で共有する論理名を定義するだけで、 ネッ トヮ ークに接続されている制御装置間の通信を実行し、 通信相手の制御装置の状態 が変化 (ネッ トワークに対する着脱, 再コンパイルによる内容変更等) した場 合であっても、 制御を中断することなく共有する論理名とリ ンクメモリ内のァ ドレスの対応を解決することができる。
そして、 係る解決を図るため、 リンクメモリ 1 5や間接参照テーブル 1 6を 設けたが、 本発明では係る構成は必ずしもなくても良い。 そして、 係る構成を なく した場合には、 制御装置間で送受するメッセージ内に、 図 3 7に示すよう に少なく とも論理名とそのデータを格納し、 1通信ごとに変数データベースに よりネッ トワークグローバル変数の格納ァドレスを特定し、 データ更新をする ことになる (図 3 8参照) 。 この場合に、 1つのメッセージ内に複数のネッ ト ワークグローバル変数の書き替え要求を含ませるようにしてもよい。
なお、 上記した各実施の形態では、 変数データを格納するリ ンクメモリや、 各種の変数リス トなどの情報を不揮発性メモリに格納するようにした。 具体的 には、 制御部 1 1内の R A M 1 1 cの所定エリァに格納するようにした。 但し 、 本発明はこれに限ることはなく、 例えば図 3 9に示すように、 制御部 1 1 と 通信部 1 2 とは別に、 記憶部 1 3を設け、 その記憶部 1 3内にデ一タを格納す るようにしても良い。 そして、 その記憶部 1 3は複数に分割してももちろん良 い。
また、 上記した各実施の形態等は、 何れも、 入出力の両方の機能を持つ装置 について説明したが、 本発明はこれに限ることはなく、 入力変数のみの制御装 置 (ノード) や、 出力変数のみの制御装置 (ノード) にも適用できる。 係る各 制御装置の場合、 上記した各実施の形態で説明した機能のうち使用しないもの を除く ことによ り容易に実現できる。 すなわち、 例えば入力変数のみの制御装 置の場合には、 E x p 0 r t変数リス トは不要となり、 また、 論理名調停部 1 9の機能としても E x p o r t変数リストを生成したりする機能をなくすこと によ り対応できる。
さらにまた、 上記した各構成は、 制御装置間でのデータ通信に限らず、 マル チ M P U構成にも適用できる。 すなわち、 図示省略するが、 各 M P Uが占有す るローカルメモリを持ち、 それらがシリアルバス或いはパラレルバスで接続さ れているマルチプロセッサシステム (マルチ M P U ) を前提とする。 そして、 各ローカルメモリ間のデータ交換を定期的に行うデータ転送処理部と、 それら のローカルメモリ内に格納されたデータをアクセスするために用いる間接参照 テーブルと、 間接参照テーブルを介してデ一夕をアクセスする機構を持つ制御 実行部と、 論理名とローカルメモリアドレスの対応テーブルを管理し、 その情 報に基づき間接参照テーブルを変更する論理名調停部を備えることにより実現 できる。 この場合に、 ローカルメモリが、 上記した実施の形態のリンクメモリ に対応し、 定期的に交換するデータが、 上記した実施の形態における変数デー タとなる。
そして、 各処理部やテーブル等に基づき、 適宜変数リンク等を作成すること により、 データの共通化ができる。 なお、 具体的な処理機能は、 上記した制御 装置間におけるデータ共有と同様の処理によ り実現できるので、 その詳細な説 明を省略する。
図 4 0は、 本発明のさらに別の実施の形態を示している。 上記した各実施の 形態では、 ネッ トワークグロ一バル変数で制御装置間を接続し、 そのネッ トヮ —クグローバル変数の名前解決を制御装置同士が自動的に行うため、 個々の制 御装置毎に格納されている別々のプログラミ ングツールを用いて開発された制 御プログラムを容易にシステムとして統合することができる。 これにより、 複 数人による同時並行開発ゃィンク リメ ンタル開発を支援することができるとい う効果を奏する。 この制御装置は、 制御装置同士で変数情報を自動的に交換し 、 データ転送前に一括して変数をメモリ上に割り当てる仕組みを持ち、 自動的 に名前解決が行われる。 そして、 この名前解決は、 電源 O N時やネッ トワーク 加入時に実施される。
このように、 各変数単位で名前解決を図っていたのに対し、 本形態では、 ネ ッ トワークグロ一バル変数をグループ化し、 そのグループ単位でバ一ジョン, I Dを管理するようにした。
つまり、 電源 O N時ゃネッ トワーク加入時などの名前解決の必要なときに、 各制御装置が持つグループ同士のバージョ ン ( I D ) を比較し、 それが同一な らば、 以前に一度名前解決したことが判定できるとともに、 その後に内容の変 更がないとみなせるので、 そのグループに所属するネッ トワークグロ一バル変 数については、 新たな名前解決をしないようにする。
係る構成をとることによ り、 実際に名前解決を行う処理数を減らすことがで き、 制御装置のプログラム実行開始までの時間を大幅に短縮することができる 。 特に、 多くの場合、 デバッグ, 現場調整時に名前解決がなされるので、 実際 のシステム運用時における制御装置の電源 O N時や 制御装置のネッ トワークへ の脱着時には、 バージョンチヱックのみ実施すればよく、 ネッ トワーク負荷が 少なくなりシステムへの影響を最小化させることができる。 すなわち、 例えば ネッ トワーク断線や接触不良により一度離脱した制御装置が再びネッ トワーク に参加した場合に、 上記した各実施の形態ではその都度名前解決が実施される が、 本形態では、 バージョンチヱックのみ実施することにより復旧できるので 好ましい。 なお、 バージョンが一致しない場合には、 そのグループに属するネ ッ トワークグローバル変数の名前解決をすることになるが、 その具体的な処理 は、 上記した各実施の形態で説明した方法により実施する。
なお、 上記したグループのバージョン, I Dは、 ユーザプログラム修正ゃコ ンパイル実行などによって変数データベース 1 7の記憶内容が変更された場合 や、 オンラインエディ ッ トによって実行中の制御装置の変数データベース 1 7 の記憶内容が変更される都度、 更新される。
また、 ネッ トワークグロ一バル変数をグループ化するに際し、 目的別に変数を カテゴライズするとよい。 そのようなグルーピングを行うことにより、 同一グル
—プのデータを使用する制御装置は、 協調 · 同期制御等をしていると推定できる ので、 制御装置同士の関連が容易に理解できるようになる。 例えば図 4 0に示す 例では、 グループ Aに属するネッ トワークグロ一バル変数は、 制御装置 ( 1 ) と 制御装置 (2 ) が共有し、 グループ Bに属するネッ トワークグローバル変数は、 制御装置 (2 ) と制御装置 (3 ) が共有していることがわかる。
さらに、 ネッ トワークグローバル変数のグループの所有者を明確にする。 つま り、 1つのグループに属するネッ トワークグロ一バル変数に対する変更は、 所有 者であるネッ トワーク上に存在するある 1つの制御装置 1 (サーバ) が実行し、 他の共有する制御装置 1 (クライアント) は、 所有者の制御装置からデータを送 信してもらうようにする。 これにより、 グループ (デ一ターつ一つではなく、 意 味のあるデータの束) は、 それを所有している制御機器 1の外部インタフヱース とみなすことができ、 一度開発した機能モジュール (制御装置、 制御ソフトゥェ ァ及び制御対象ハ一ドウエアも含む) を標準モジュールとして流用しやすくなる o
図 4 1の例では、 各制御装置 1には、 それぞれ外部インタフェース I πが接続さ れている。 そして、 制御装置 ( 1 ) の 1つのィンタフェース I 2は、 複数のネッ ト ワークグロ一バル変数からなるグループ Αとなっており、 このグループ Aは、 制 御装置 (2 ) でも利用されている。 なお、 変数の特定は、 グループ名とネッ トヮ —ク変数名により行われる。 これにより、 グループ内に同一のネッ トワーク変数 名がなければ、 グループ名とネッ トワーク変数名により特定されるネッ トワーク グローバル変数は、 ネッ トワーク上で唯一存在することになる。 上記のように、 グループを、 1つの制御機器 1に所有させるとともに、 その制 御機器 1の外部インタフヱースとみなすようにしたことにより、 標準モジュール の組み合わせによる装置開発, 工場ラインの組み立てが容易になる。 なお、 イン 夕フェースには、 それを所有している制御装置 1に対する入力変数か出力変数、 またはその両方を含むことができる。 また、 グループ Zインタフェースの概念を 言語上で表現するときには、 構造体やクラス、 インタフヱースに対応づけてもよ レ、。 そして、 インタフェースにはクラス (型) とインスタンスの概念がある。 次に、 上記したグループ単位での名前解決をするための具体的な制御装置 1 の構成としては、 図 4 2に示すようにすることができる。 同図から明らかなよ うに、 本実施の形態では、 図 3に示す実施の形態を基本とし、 さらに R A M I 1 c内にグループ管理情報記憶部 3 5を設ける。
このグループ管理情報記憶部 3 5は、 ネッ トワークに接続された複数のノー ド (制御装置) 間で共有するデータの論理名 (ネッ トワークグロ一バル変数) をグループ化して保持する記憶部である。 このグループ管理情報記憶部 3 5の 内部構造 (データ構造) は、 図 4 3に示すように、 グループ名と、 そのグルー プの I D (或いはバ一ジョン) と、 制御装置がそのグループについて所有権を 持つサーバになるのか、 利用する側のクライアントになるのかを特定するサー バ · クライアント属性と、 そのグループに属する変数名に関する情報を格納す る E x p o r t リス ト及び I m p o r t リストを備えている。 この E x p o r t リス ト及び I m p o r t リス トは、 図 7, 図 8に示した実施の形態と同様で あるので、 詳細な説明を省略する。 また、 その他の構成並びに作用効果は、 上 記した実施の形態と同様であるので、 対応する部材に同一符号を付し、 各機能 の詳細な説明を省略する。
次に、 上記した制御装置 1 をネッ トワーク上に複数備えて構成されるシステ ムにおいて、 名前解決をするアルゴリズムを説明する。 この処理は、 基本的に は論理名調停部 1 9が実行する。
繰り返し説明するが、 本実施の形態の要部は、 サーバ側の制御装置とクライ アン ト側の制御装置が同じグループ名を持っている場合に、 互いの I Dを照合 する。 そして、 同じ I Dならば一度名前解決を実行したことを判定し、 そのグ ループに所属するネッ トワークグロ一バル変数については、 新たな名前解決を スキップする。 また、 I Dが異なる場合に実際にネッ トワークグローバル変数 についての新たな名前解決を実行する。
すなわち、 サーバ側の制御装置 1がネッ トワークに加入したり、 グループが変 化した場合には、 サーバ側の制御装置 1は、 グループ名と I Dのペアを一斉同報 によりネッ トワーク上に送信する。 これにより、 ネッ トワークに接続された他の 制御装置 1は、 その一斉同報されたデータを受信するので、 クライアント側の制 御装置 1は、 グループ管理情報記憶部 3 5をアクセスし、 サーバから送信されて きたグループ名を検索する。 そして、 同じグループ名があったら、 次に I Dを照 合する。
このとき、 記憶している I Dと受信した I Dが同じの場合には 「名前解決要求 なし」 のレスポンスをサーバ側の制御装置 1に返す。 また、 I Dが異なる場合は 、 「名前解決要求あり」 のレスポンスをサーバ側の制御装置 1に返す。
上記のレスポンスを受信したサーバ側の制御装置は、 「名前解決要求あり」 の レスポンスを返してきたノードのみからなる 「名前解決要求局リス ト」 を作成し 、 その 「名前解決要求局リス ト」 にあるソード (制御装置) との間で、 個々に名 前解決を実行する。
一方、 クライアント側の制御装置 1がネッ トワークに加入したり、 グループが 変化した場合には、 クライアント側の制御装置 1は、 自己が利用するグループの グループ名を一斉同報し、 サーバ側の制御装置 1にグループ名と I Dのペアを送 信するように要求する。 これを受けた所定のサーバ側の制御装置 1は、 グループ 管理情報記憶部 3 5に格納された同じグループ名を持っているグループ名と I D のペアを返信する。
次いで、 サーバ側の制御装置から送られてきたグループ名と I Dのペアに基づ き、 クライアン ト側の制御装置 1は、 グループ管理情報記憶部 3 5をアクセスし 、 サーバから送信されてきたグループ名を検索する。 そして、 同じグループ名が あったら、 次に I Dを照合し、 記憶している I Dと受信した I Dが同じ場合には 「名前解決要求なし」 のレスポンスをサーバ側の制御装置 1に返す。 また、 I D が異なる場合は、 「名前解決要求あり」 のレスポンスをサーバ側の制御装置 1に 返す。
そして、 上記のレスポンスを受信したサーバ側の制御装置は、 「名前解決要求 あり」 のレスポンスを返してきたノードのみからなる 「名前解決要求局リス ト」 を作成し、 その 「名前解決要求局リス ト」 にあるノード (制御装置) との間で、 個々に名前解決を実行する。 従って、 いずれの場合も、 I Dが同じグループを保 持している制御装置は、 実際のネッ トワークグロ一バル変数の名前解決処理はス キップされる。
次に、 上記した全体の処理を実行するための各制御装置の具体的な機能を、 サーバ側の制御装置がネッ トワークに加入などして、 名前解決を行う可能性が 生じた場合と、 クライアント側の制御装置がネッ トワークに加入などして、 名 前解決を行う可能性が生じた場合のそれぞれについて、 サ一バ側とクライアン ト側に分けて説明する。
グループ管理情報記憶部 3 5のサーバ · クライアン ト属性の欄が 「サーバ」 となっている制御装置が、 そのグループについてのサーバとなる。 そして、 こ のサーバは、 同じグループをィンタフェースとし、 サーノ . クライアント属性 が 「クライアント」 となっている他の制御装置と I D情報を交換する交換機能 と、 クライアント側からの要求があつたときのみネッ トワークグローバル変数 の変数データベース情報を他の制御装置と交換する交換機能を備えている。 そ して、 2つの機能は、 論理名調停部 1 9に組み込まれている。
また、 グループ管理情報記憶部 3 5のサーバ, クライアント属性の欄が 「クラ イアント」 となっている制御装置が、 そのグループについてのクライアントとな る。 クライアン ト属性である制御装置は、 サーバ属性をもつ同じグループ名を所 有する他制御装置から送信されてくる I D情報を受信する I D情報受信機能と、 その I Dと自制御装置が管理している I Dとを照合し異なる場合にはサーバ側制 御装置にネッ トワークグローバル変数の名前解決を要求する要求機能と、 その後 変数データベース情報をサーバ側制御装置と交換する交換機能とを備えている。 そして、 これらの各機能も、 論理名調停部 1 9に組み込まれている。
そして、 サーバ側の制御装置が、 ネッ トワークに加入したり、 グループが変 化したときの処理は、 図 4 4に示すフローチヤ一トからなる交換機能を実施す る o
ネッ トワークに加入したか否かを判断し、 加入したならばグループ管理情報 記憶部 35内に保持している全てのグループについて、 グループ単位で以下に 示す処理を実行する (ST 1 71〜ST 1 73) 。
まず、 サーバ · クライアント属性を認識し、 サーバ属性になっているか否か を判断する (ST 1 74) 。 そして、 クライアント属性の場合には、 サーバ側 の処理は不要であるので、 ステップ 1 72に戻り次のグループについての処理 に移行する。
一方、 サーバ属性のグループの場合、 名前解決要求局リス ト作成処理を実行 する (ST 1 75) 。 つまり、 上記したネッ トワークグローバル変数の名前解 決が必要なノード (制御装置) をリス トアップした 「名前解決要求局リス ト」 を作成するために必要な一連の処理を実行するもので、 具体的には、 図 45に 示すフローチヤ一トを実施する。
すなわち、 この名前解決要求局リス ト作成処理は、 まず、 処理対象となって いるグループのグループ名と I Dのペアを一斉同報で他ノ一ド (ネッ トワーク に接続された他の制御装置) へ送信する (ST 180) 。 すると、 後述するよ うに、 送信したグループを利用するクライアントとなっている制御装置は、 「 名前解決要求あり/なし」 のレスポンスを返答してく るので、 そのレスポンス (応答) の有無を判断し (ST 1 8 1) 、 応答があった場合にはその内容を判 断し (S T 182 ) 、 名前解決要求ありの場合のみ、 レスポンスを返答した応 答局 (制御装置) のネッ トワークア ドレスを記録し、 名前解決要求局リス トを 作成する (ST 183) 。 なお、 名前解決要求局リス トは、 応答局 (名前解決 の必要な制御装置) のネッ トワークア ドレスを列挙したテーブルである。
よって、 ステップ 1 82の分岐判断で N 0となるのは、 制御装置からレスポ ンスは返ってきたものの、 名前解決要求なし (I Dがー致) の場合であり、 係 る場合には応答局 (クライアント側の制御装置) のネッ トワークアドレスは登 録されないので、 その後に行われる名前解決もされない。 つまり、 名前解決が スキップされる。
なお、 他の制御装置からの応答がなく、 一斉同報してから一定時間経過した ならば、 タイムアウ トとなり名前解決要求局リス ト作成処理を終了し、 次の処 理に移行する。
上記した名前解決要求局リス ト作成処理が実行され、 名前解決要求局リス ト が作成されたならば、 そのリストに従って、 名前解決処理 (S T 1 78) を繰 り返し実行する (S T 1 76〜S T 1 78) 。 そして、 リストに登録された全 ての制御装置との間で名前解決が行われたならば、 ステップ 1 7 7の分岐判断 で Y e sになるので、 ステップ 1 72に戻り次のグループについての処理に移 行する。
また、 ステップ 1 78の名前解決処理は、 具体的には図 46に示すフローチ ヤートのようになつている。 すなわち、 名前解決要求局リス トには、 名前解決 が必要な制御装置のネッ トワークアドレスが列挙されているので、 順番に処理 していく (S T 1 9 1 , S T 1 9 2) 。 つまり、 まず出力変数について名前解 決を行い (S T 1 93) 、 次いで、 入力変数の名前解決を行う (S T 1 94) 。 なお、 出力変数と入力変数に対する処理は、 逆でももちろん良い。
そして、 出力変数の名前解決処理は、 図 4 7に示すように、 まず、 サーバ側 の論理名調停部 1 9は、 該当グループ名を指定し、 E x p o r t変数リス トを 送信する (S T 2 00 ) 。 この送信先は、 処理対象のグループについて名前解 決要求局リス トに登録された制御装置である。 つまり、 制御装置と名前解決要 求局リス トにある制御装置間において、 1対 1の P e e r— t o— P e e r通 信で変数データベース情報の交換を行う。
後述するように、 この E X p 0 r t変数リス トの送信を受けた受信側の他の 制御装置 (ノード) は応答信号を送信してくるので、 その応答信号があつたか 否かを判断する (S T 2 0 1 ) 。 そして、 あった場合には、 正常なレスポンス であるか否かを判断し (S T 2 02 ) 、 テーブル更新を完了する (S T 2 03 ) 。 これによ り、 E x p o r t変数リス トを送信した制御装置は、 誰が E X p 0 r t変数リストを受け取り、 誰が受け取つていないかを判断できる。 そして 、 タイムァゥ トするまで応答信号の受信の有無をチヱックし (S T 2 04) 、 タイムアウ トしたならば出力変数の名前解決処理を終了する。 また、 受信した 応答信号が正常レスポンスでない場合も処理を終了する。 また、 入力変数の名前解決は、 図 4 8に示すように、 まず、 サーバ側の論理 名調停部 1 9は、 該当グループ名を指定し、 相手が保持する E x p 0 r t変数 リス トを問い合わせるフレームを作成し送信する (S T 2 1 0) 。 この問い合 わせに対し、 上記相手の制御装置からは、 回答として対応する E X p 0 r t変 数リストが送られてくるので、 係る回答があつたか否かを判断する (S T 2 1 1) 。 そして、 あった場合には、 エラ一でないことを確認し (S T 2 1 2 ) 、 間接参照テーブルを作成する (S T 2 1 3) 。 そして、 タイムアウ トするまで 応答信号の受信の有無をチヱックし (S T 2 1 4) 、 タイムアウ ト したならば 入力変数の名前解決処理を終了する。 また、 受信した回答がエラ一の場合も処 理を終了する。 このよ うに入力変数の名前解決処理を含めることによ り、 グル ープ内に入力変数を含むことができるようにしている。
さらに、 上記ステップ 2 1 3の間接参照テーブルの作成処理の具体的な処理 アルゴリズムは、 図 4 9に示すようになつている。 すなわち、 図 1 7に示す処 理機能を基本とし、 一部改良したものである。 図 4 9に示すように、 まず、 受 信した他ノード (制御装置) の E X p 0 r t リス トを順番に検索し、 そのリス トに含まれる全ての変数について以下を繰り返す (S T 2 2 0, S T 2 2 1 ) o
つまり、 変数名で自ノ一ドの I m p 0 r t リス トを検索する (S T 2 2 2, S T 2 2 3 ) 。 その変数名が、 存在しなければステップ 2 2 3の分岐判断は N 0となるので、 ステップ 2 2 0に戻り次の処理に移行する。 すなわち、 その変 数の処理はスキップすることになる。
そして、 変数の照合が行えたならば、 E x p o r t リス トから、 その変数を 公開している制御装置のノードアドレス①と、 その装置内のリンクメモリ内の 自ノー ドエリ アオフセッ ト②を取得し、 記録する (S T 2 24 , S T 2 2 5 ) 次いで、 自ノードに保持している I mp 0 r tリス トを変数名で検索し、 リ ン クメモリの①に該当する他ノードエリァ (その変数を公開しているノ一ド用のェ リァ) のベースァドレス (先頭ァドレス) を算出する (ST 226) 。 そして、 そのベースァドレスに、 ステップ 225で求めたオフセッ ト②を加算した値③を 求める (ST 22 7) 。 すなわち、 対応するノードエリァでは、 同一の論理名 ( 変数名) の変数データを格納する領域のオフセッ ト値を等しく しているので、 上 記求めた値③が、 その変数データを記憶させるリンクエリァの先頭ァドレスとな る o
次に、 変数名をキーにして、 変数データべ一ス 1 7を検索し、 間接参照テープ ル位置 (その変数名のポインタを格納する箇所) を取得する (ST 228 ) 。 つ まり、 その変数のメモリァドレスの欄に登録されたオフセッ トァドレスを取得す る。 そして、 その取得したオフセッ トア ドレスにしたがい、 該当する間接参照テ —ブルの格納領域に、 ステップ 22 7で算出した値③ (リ ンクメモリ 1 5内の変 数データを格納する領域の先頭位置を示すポインタ) を格納する (ST 22 9) 。 これによ り、 間接参照テ―ブルの更新が行える。
一方、 上記したようにサーバ側の制御装置が、 ネッ トワークに加入したり、 グ ループが変化したときに実行される既存のクライアント側の制御装置の処理は、 図 50に示すフローチヤ一トからなる交換機能を実施することになる。
すなわち、 メ ッセージの受信を待ち (S T 230 ) 、 その受信したメ ッセージ がグループ名, I Dのペアであるか否かを判断する (S T 23 1) 。 そして、 係 るペアでない場合には、 そのメ ッセージに従った処理を実行する。 一方、 係るぺ ァの場合には、 自制御装置 1のグループ管理情報記憶部 35を検索し、 保持して いる 「グループ管理情報」 に、 サーバより送信されてきたグループ名があるか否 かを判断する (S T 232, ST 233) 。
次いで、 同じグループ名がない場合には処理を終了し、 あった場合には、 次に I Dを照合する (S T 234 ) 。 そして、 I Dが同じであったら、 「名前解決要 求なし」 のレスポンスをサーバ側に返す (ST 23 5 ) 。 また、 I Dが異なる場 合は、 「名前解決要求あり」 のレスポンスをサーバ側に返す (ST 236 ) 。 一方、 上記したステップ 236で 「名前解決要求あり」 のレスポンスを介した 場合には、 その後にサーバからのメ ッセージに従い、 サーバ側の制御装置との間 で名前解決処理をすることになる。 この具体的な名前解決処理は、 図 5 1に示す フローチャートに従って実行することになる。
すなわち、 まず、 メ ッセージの受信を待ち (ST 240) 、 メッセージを受信 したならば、 その種別を判断する (ST 24 1) 。 そして、 受信したメ ッセージ が E X p 0 r t リストの場合には、 受信したグループ名をキーとしてグループ管 理情報記憶部 35を検索し、 該当するグループがあるか否かを判断する (S T2 42, S T 243 ) o 該当グループがある場合には、 図 49に示すフローチヤ一 トに従い間接参照テーブルを作成する (S T 244 ) 。 その後、 受信したメッセ ージの送信局であるサーバ側の制御装置に対し、 正常に終了したことを示す正常 応答を返し (ST 245 ) 、 処理を終了する。 なお、 該当するグループがない場 合には、 送信局であるサーバ側の制御装置に対し、 エラーを返し (S T 246 ) 、 処理を終了する。
一方、 受信したメッセージが E x p 0 r t問い合わせの場合には、 受信したグ ループ名をキーとしてグループ管理情報記憶部 3 5を検索し、 該当するグループ があるか否かを判断する (S T 24 7, S T 248 ) 。 該当グループがある場合 には、 そのグループについての E X p 0 r t リストを、 メ ッセージの送信局であ るサーバ側の制御装置に向けて送信し (ST 249 ) 、 処理を終了する。 なお、 該当するグループがない場合には、 送信局であるサーバ側の制御装置に対し、 ェ ラ一を返し (ST 246) 、 処理を終了する。
上記したサーバ側とクライアント側の各処理機能は、 サーバ側の動作 (ネッ ト ワーク加入, グループ変更等) に基づいて実行されるものについて説明したが、 次にクライアント側の動作 (ネッ トワーク加入, グループ変更等) に基づいて実 行される各処理機能について説明する。
まず、 クライアント側の制御装置は、 図 52に示すフローチャートからなる I D要求機能を実施する。 すなわち、 ネッ トワークに加入したか否かを判断し、 加 入したならばグル一プ管理情報記憶部 3 5内に保持している全てのグループにつ いて、 グループ単位で以下に示すステップ 2 53から 2 59までの処理を実行す る (S T 2 50〜ST 2 52) 。
つまり、 サーバ · クライアント属性を認識し、 クライアント属性になってい るか否かを判断する (S T 2 53 ) 。 そして、 サーバ属性の場合には、 クライ ァント側の処理は不要であるので、 ステップ 2 7 1に戻り次のグループについ ての処理に移行する。 一方、 クライアント属性のグループの場合、 一斉同報により、 該当グループ の I D回答を要求する (S T 2 5 4 ) 。 この I D回答要求に応答し、 その該当 グループについてのサーバは I Dを送信してくるので、 係る応答があるか否か を判断する (S T 2 5 5 ) 。 そして、 応答があった場合には、 受信した I Dと 、 自己が保有する該当グループの I Dを比較し (S T 2 5 6 ) 、 同じ場合には 「名前解決要求なし」 のレスポンスを返し (S T 2 5 7 ) 、 I Dが違う場合に は 「名前解決要求あり」 のレスポンスを返す (S T 2 5 8 ) 。 なお、 一定時間 経過しても応答がない (タイムアウ ト) 場合には、 そのグループについての処 理を終了する (S T 2 5 9 ) 。
また、 係るクライアントがネッ トワークに加入した場合などにおけるサーバ側 の処理は、 そのサーバ側の制御装置の論理名調停部 1 9が、 図 5 3に示すフロー チヤ一トからなる I D情報要求への返答機能を実施する。
すなわち、 クライアントから送られてくる I D回答要求の受信を待つ (S T 2 6 0, S T 2 6 1 ) 。 そして、 受信したならば、 グループ管理情報記憶部 3 5を アクセスし、 該当グループを探す (S T 2 6 2 ) 。 そして、 検索した該当グルー プの属性がサーバ属性であるか否かを判断し (S T 2 6 3 ) 、 クライアント属性 の場合には返信する必要がないのでステップ 2 6 0に戻り次の受信を待つ。 そし て、 サーバ属性の場合には、 そのグループ名と I Dのペアを送信元の制御装置に 向けて返信する (S T 2 6 4 ) 。
すると、 この返信に対してクライアント側からは、 上記した図 5 2のステップ 2 5 7或いは 2 5 8のレスポンス (応答) が返ってくるので、 係る応答の有無を 判断する (S T 2 6 5 ) 。 そして、 応答があった場合には、 名前解決要求である か否かを判断し (S T 2 6 6 ) 、 名前解決要求の場合には、 図 4 6に示す名前解 決処理を実施する (S T 2 6 7 ) 。
なお、 応答が 「名前解決要求なし」 の場合 (ステップ 2 6 6で N o ) と、 応答 がなくタイムアウトした場合 (ステップ 2 6 8で Y e s ) には、 そのまま処理を 終了する。
図 5 4は、 上記したグループ単位での名前解決を行う実施の形態における変形 例を示している。 この変形例は、 サーバ側の制御装置において、 グループに属す るネッ トワークグローバル変数のうちその制御装置 (サーバ) への入力変数とな る変数については、 ある 1つの装置から入力され、 複数の装置から入力されない ようにしている。 具体的には、 参照カウンタを設け、 参照カウンタが 0 (何れの 装置も未参照) の場合に入力変数の名前解決を図るようにしている。
具体的には、 図 5 4と図 4 6を比較すると明らかなように、 図 4 6に示した名 前解決処理を基本とし、 出力変数についての名前解決を実行した (S T 1 9 3 ) 後に、 参照カウンタのカウント値を確認する (S T 1 9 5 ) 。 そして、 カウント 値が 0の場合には入力変数の名前解決を行う (S T 1 9 4 ) 。 また、 カウント値 が 0以外の場合には入力変数の名前解決をすることなくステップ 1 9 1に戻り、 名前解決要求局リストに登録された次の制御装置に対する処理に移行する。 さら に、 入力変数の名前解決をしたならば、 参照カウンタをインクリメン トする (S T 1 9 6 ) 。 これにより、 以後はその名前解決をした入力変数に対する名前解決 はスキップされる (ステップ 1 9 5で参照カウンタの値が 0以外となるため) 。 この参照カウンタは、 プログラミング装置などによりリセッ トできるようにして いる。 なお、 その他の処理ステップは、 図 4 6に示したものと同様であるので、 同一ステップ番号を付し、 その詳細な説明を省略する。
図 5 5は、 さらに別の実施の形態を示している。 すなわち、 上記したグループ 管理する実施の形態を基本とし、 グループに属するネッ トワークグロ一バル変数 が全て同じでない場合に、 該当制御装置内のアプリケーションプログラムから該 当グループに属するネッ トワークグローバル変数のデ一夕にアクセスすることを 禁止する機能を付加している。 すなわち、 サーバ側とクライアント側のグループ 名が一致しており名前解決を実行した結果、 グループに含まれるネッ トワークグ 口一バル変数のうち一つでも名前, データ型などが一致しなかった場合は、 グル —プ認証が失敗したと判断し、 間接参照テーブル内のア ドレスを無効、 またはェ ラー値を含む特定のァ ドレスに書き替える。
具体的には、 図 4 9に示す間接参照テーブル作成及び更新処理において、 ステ ップ 2 7 3, ステップ 2 7 4で N oとなった際に継続処理を中断し、 図 5 5に示 すエラ一処理を実行する機能を付加する。 そして、 このエラー処理は、 該当グル ープの E x p o r t リストと I m p o r t リストを先頭から順に検索し ( S T 2 8 0 ) 、 変数名から変数名データべ一スを検索し、 その変数の間接参照テーブル 位置を取得する (S T 2 8 2 ) 。 そして、 取得した間接参照テーブル位置に、 ェ ラー値を含む無効ア ドレス或いは特定ア ドレスを格納する (S T 2 8 3 ) 。 係る 位置取得とア ドレス格納の処理をリス トの最後まで行ったならば処理を終了する ( S T 2 8 1 ) 。
図 5 6は、 さらに別の追加機能 (安全対策) を付与した実施の形態を示してい る。 すなわち、 本形態では、 制御装置 1にソフトゥヱァスィッチ, ロックボタン , ディ ップスィッチなどの名前解決のロックスィッチを設ける。 そして、 このス イッチを O Nにすると、 上記したグループ名, I Dがー致するか否かの判断をす ることなく、 名前解決処理はしないようにする。 これにより、 例えば名前解決を する必要がないことがわかっている場合に、 係るスィツチを O Nにすることによ り、 名前解決をするか否かの判断をする処理も行わずに、 実際のプログラムの実 行に移行できる。 よって、 より迅速な立ち上げが行える。
具体的には、 図 5 6に示すように、 ロックスィッチの状態を検出し (S T 2 9 0 ) 、 ロックスィツチが O Nか否かを判断する (S T 2 9 1 ) 。 そして、 O Nな らば、 名前解決処理等の前処理をスキップし、 実際のシステム稼動のためのプロ グラムの実行に移行する。 また、 ロックスィッチが O F Fの場合には、 図 4 4等 に示す I D情報交換などの名前解決の必要性の有無の判断ならびに、 必要に応じ て名前解決処理を実行する (S T 2 9 2 ) 。 なお、 名前解決のロックスィツチは 、 制御装置の実行モ一ドに自動的に連動するようにしてもよい。
図 5 7は、 さらに別の実施の形態を示している。 本実施の形態は、 上記したグ ループ管理情報に従ってグループ単位で名前解決処理をする制御装置に接続する プログラミング装置であり、 図 5 7はそのプログラミング装置の機能を示してい
^> o
すなわち、 このプログラミング装置は、 グループとそのグループに属するネッ トワークグローバル変数を管理し、 グループ毎にユニークな I Dを添付する I D 添付機能を備え、 グループに属するネッ トワークグロ一バル変数の属性並びなど 変数のバインディングに影響ある要素が変化した場合にグループの I Dを更新す る I D更新機能を備えている。 具体的には、 まず処理対象の制御装置 1のグループ管理情報記憶部 3 5に格納 されているグループ管理情報をアップロードして一時退避する (S T 3 0 0 ) o そして、 ユーザがプログラムを編集した後、 その編集後のネッ トワークグローバ ル変数の情報からグループ管理情報を生成する (S T 3 0 1 , S T 3 0 2 ) 。 次いで、 ステップ 3 0 0で退避した以前のグループ管理情報を読み出し、 ステ ップ 3 0 2で生成したグループ管理情報と 1グループずつ比較する (S T 3 0 3 そして、 生成したグループが新グループか否かを判断する (S T 3 0 4 ) 。 つまり、 一時退避したグループ中に存在しない場合には、 新グループとなるので この分岐判断は Y e s となり、 新しい I Dを添付する (S T 3 0 7 ) 。 これが、 I D添付機能である。
また、 新グループでない場合には、 その内容を比較し、 同じか否かを判断する ( S T 3 0 5 ) 。 そして、 同じ場合には、 ステップ 3 0 6に進み、 古い I Dをそ のまま使用する。 また、 異なる場合には、 ステップ 3 0 5の分岐判断で N 0とな るので、 ステップ 3 0 7に進み、 新しい I Dを添付する (S T 3 0 7 ) 。 これが 、 I D更新機能である。 そして、 上記のようにして I Dの付与を行った新しいグ ループ管理情報を、 制御装置へダウンロードして処理を終了する (S T 3 0 8 )
なお、 上記した各実施の形態においては、 何れもネッ トワークに接続された各 制御装置が持つ論理名 (ネッ トワークグローバル変数) で定義されたすベてのデ 一夕について動的に名前解決をするように説明したが、 本発明はこれに限ること はなく、 一部について動的に名前解決をすることも含む。 つまり、 ネッ トワーク に接続された制御装置間で通信を行い、 論理名についての関連情報, 記憶位置情 報等の更新処理を行うのは、 すべてのデータについて行っても良いし、 一部のデ —タのみについて行っても良い。
すなわち、 プログラミングツールは、 制御装置で実行されるプログラムを開発 するための環境であり、 ユーザがラダー言語などで作成したプログラムをコンパ ィルしたり、 ライブラリをリンクしたり して制御装置で実行可能な形式に変換す る機能を持つ。 そして、 プログラミングツール上では、 複数の制御装置のプログ ラム, 変数 (データ) の情報を 1つのプロジェク トとして管理する。 従って、 そ のプログラミングツールは、 プロジェク トに含まれる複数の制御装置のプログラ ムで使われている変数 (データ) の情報がわかっているので、 プログラミング上 で名前解決を行うことができる。 これを静的名前解決と称する。 この静的名前解 決は、 動的名前解決と同様のァルゴリズムに従ってツール上で処理することもで きるし、 ツールがすべての変数を知っているので、 ツール側で一括処理するよう にしてもよい。 そして、 静的名前解決が行われなかったものについて動的名前解 決を行う。 産業上の利用可能性
本発明に係るネッ トワークシステム及び制御方法並びに制御装置及びマルチ プロセッサシステムでは、 具体的なデータの記憶位置情報を知らなくても、 論 理名でアクセスすることができるので、 通信処理を意識することなく、 共有す るデータへのアクセスが容易に行える。 また、 制御装置等を稼動するためのュ —ザプログラムは、 記憶位置情報を組み込むことができるので、 容易にプログ ラムを組むことができ、 また、 仮に後でデータを記憶する記憶位置が変更され ても、 ユーザプログラムまでは変更する必要がない (関連情報を修正するだけ ですむ) 。 よって、 データをアクセスするための開発並びにその後のシステム 変更に応じた修正も容易に行えるので好ましい。

Claims

請 求 の 範 囲
1 . ネッ トワークに接続された複数のノード間で共有するデータの論理名を定義 し、
前記ノ一ドの記憶部の所定の記憶領域に前記共有するデータを記憶保持し、 前記論理名と、 その論理名に対応するデータを格納した前記記憶部の記憶位 置情報を関連付けた関連情報を関連情報記憶部に記憶保持させ、
前記複数のノード間で、 前記論理名, 前記関連情報に基づいて前記共有する データの送受を行い、
通信相手のノードの状態が変化した場合、 その変化が前記関連情報に影響を 与える時に、 前記ネッ トワークに接続されたノードの処理を停止することなく 連動して前記関連情報を変更するようにしたことを特徴とするネッ トワークシ ステム。
2 . ネッ トワークに接続された複数の制御装置間でデータを共有することので きる制御装置における制御方法であって、
前記制御装置に実装されたユーザプログラムが、 記憶部に格納されたデータ をアクセスするに際し、
前記データが格納された記憶位置情報と、 そのデータにつけた論理名を関連 付けた関連情報を記憶保持し、
前記ユーザプログラムは、 論理名に基づく前記関連情報を取得し、 前記記憶 部へアクセスするようにしたことを特徴とする制御方法。
3 . 前記関連情報は、 記憶部に格納されたデータをアクセスするために用いる 記憶位置情報が格納された間接参照テーブルと、
論理名と、 その論理名についての記憶位置情報が格納された前記間接参照テ 一ブル内の記憶位置情報を対応付けた対応テーブルとに分けて記憶保持され、 前記対応テーブルの内容が変更された場合に、 ネッ トワークに接続された他 の制御装置に前記対応テーブルの変更内容を通知する処理を行うようにしたこ とを特徴とする請求の範囲第 2項に記載の制御方法。
4 . 前記関連情報は、 記憶部に格納されたデータをアクセスするために用いる 記憶位置情報が格納された間接参照テーブルと、
論理名と、 その論理名についての記憶位置情報が格納された前記間接参照テ ―ブル内の記憶位置情報を対応付けた対応テーブルとに分けて記憶保持され、 請求の範囲第 3項に記載の変更内容の通知を受けた制御装置は、 その変更内 容を解釈し、 前記間接参照テーブルを更新する処理を行うことを特徴とする請 求の範囲第 2項に記載の制御方法。
5 . 前記関連情報は、 記憶部に格納されたデータをアクセスするために用いる 記憶位置情報が格納された間接参照テ一ブルと、
論理名と、 その論理名についての記憶位置情報が格納された前記間接参照テ ―ブル内の記憶位置情報を対応付けた対応テ一ブルとに分けて記憶保持され、 請求の範囲第 3項に記載の変更内容の通知を受けた制御装置は、 その受信の 際にその変更内容に対応する論理名のデータが自己に必要か否かを判断し、 必 要なもののみ記憶保持し、
次いで、 その記憶保持した前記変更内容を解釈し、 前記間接参照テーブルを 更新する処理を行うことを特徴とする請求の範囲第 2項に記載の制御方法。
6 . 前記関連情報は、 記憶部に格納されたデータをアクセスするために用いる 記憶位置情報が格納された間接参照テ一ブルと、
理名と、 その論理名についての記憶位置情報が格納された前記間接参照テ 一ブル内の記憶位置情報を対応付けた対応テーブルとに分けて記憶保持され、 自己が利用する論理名に関する情報の送信を要求するメ ッセージをネッ トヮ —ク上に送信し、
前記メ ッセ一ジに応答して他の制御装置から送られてきた前記論理名に関す る情報を受信し、
前記受信した情報に基づいて、 前記間接参照テ一ブルを作成する処理を行う ことを特徴とする請求の範囲第 2項に記載の制御方法。
7 . ネッ トワークに接続された他の制御装置間との間でデータを共有すること のできる制御装置であって、
ネッ トワークを介して前記他の制御装置との間で、 データ交換をする通信部 と、
前記通信部で得た共有するデータを格納する記憶部と、
前記共有するデータは論理名で定義し、 その論理名と、 その論理名に対応す るデータを格納した前記記憶部の記憶位置情報を関連付けた関連情報を格納す る関連情報記憶部と、
前記論理名に基づいて前記関連情報記憶部にアクセスし、 その論理名に対応 する前記位置情報を取得するとともに対応するデータが記憶される前記記憶部 の記憶領域にアクセスする機能を有する制御実行部と、
前記記憶部内の記憶位置情報の変更に基づき、 前記関連情報記憶部の前記関 連情報を更新する更新手段を備えたことを特徴とする制御装置。
8 . 前記関連情報記憶部は、 記憶部に格納されたデータをアクセスするために 用いる記憶位置情報が格納された間接参照テーブルと、
論理名と、 その論理名についての記憶位置情報が格納された前記間接参照テ —ブル内の記憶位置情報を対応付けた対応テーブルとを備えたことを特徴とす る請求の範囲第 7項に記載の制御装置。
9 . 前記対応テーブルの内容が変更された場合に、 ネッ トワークに接続された 他の制御装置に向けて前記対応テーブルの変更内容を送信する機能を備えたこ とを特徴とする請求の範囲第 8項に記載の制御装置。
1 0 . 他の制御装置からネッ トワークを介して受信した、 前記他の制御装置に 記憶された対応テーブルの変更内容を解釈し、 自己の前記間接参照テーブルを 更新する更新機能を備えたことを特徴とする請求の範囲第 8項または第 9項に 記載の制御装置。
1 1 . 自己の制御装置内で使用している論理名を他の制御装置に公開し、 その 他の制御装置にその論理名に対応するデータを提供する機能を備えたことを特 徴とする請求の範囲第 7項乃至第 9項のいずれか 1項に記載の制御装置。
1 2 . ネッ トワークに接続された他の制御装置で公開された論理名を利用し、 公開されたその論理名に対応する提供されたデータを参照する機能を備えたこ とを特徴とする請求の範囲第 7項, 第 8項, 第 1 0項, 第 1 1項のいずれか 1 項に記載の制御装置。
1 3 . 前記対応テーブルの変更内容の通知を受信した際に、 その通知が自己が 利用する論理名についてのものであるか否かを判断し、 自己が利用する論理名 についての変更内容の通知のみ記憶保持する手段を有し、
前記更新機能は、 前記記憶保持した変更内容に基づいて実行するように構成 したことを特徴とする請求の範囲第 1 0項に記載の制御装置。
1 4 . 自己が利用する論理名に関する情報の送信を要求するメ ッセージをネッ トワーク上に送信する手段と、
前記メ ッセージに応答して他の制御装置から送られてきた前記論理名に関す る情報を受信するとともに、 その受信した情報に基づいて、 前記間接参照テ一 ブルを作成する手段を備えたことを特徴とする請求の範囲第 8項に記載の制御
1 5 . 接続されたプログラミング装置から受け取ったオンラインエディ ッ ト要 求を解釈し、 その解釈に応じて対応テーブルの更新を行い、 その更新に伴い前 記間接参照テーブルを更新する機能を備えたことを特徴とする請求の範囲第 8 項乃至第 1 4項のいずれか 1項に記載の制御装置。
1 6 . 前記間接参照テーブルを複数持ち、 その複数の間接参照テーブルを適宜 切り替えてそのうちの一つを使用状態にするように構成したことを特徴とする 請求の範囲第 1 5項に記載の制御装置。
1 7 . 複数のプロセッサが占有する口一カルメモリを持ち、 それらがバスで接 続されているマルチプロセッサシステムにおいて、
前記各ローカルメモリ間のデータ交換を定期的に行うデータ転送処理部と、 それらのローカルメモリ内に格納されたデータをアクセスするために用いる 間接参照テ一ブルと、
前記間接参照テーブルを介してデータをアクセスする機構を持つ制御実行部 と、
論理名とローカルメモリァドレスの対応テーブルを管理し、 その情報に基づ き前記間接参照テーブルを変更する論理名調停部を備えたことを特徴とするマ ルチプロセッサシステム。
1 8 . 前記ノードは、 複数のノード間で共有するデータの論理名をグループ化 し、 グループ名と更新情報を関連付けて保持するグループ管理情報を記憶保持 し、
前記複数のノードに記憶保持された同一のグループ名に対する更新情報が不 一致の場合に、 前記関連情報に影響を与える時と判断し、 前記関連情報の更新 処理をするようにしたことを特徴とする請求項 1 に記載のネッ トワークシステ ム。
1 9 . 前記ネッ トワークに接続された複数の制御装置間で共有するデータの論 理名をグループ化し、 グループ名と更新情報とそのグループに対する所有権の 有無情報を関連付けて保持するグループ管理情報を記憶保持し、
グループ名と更新情報が他の制御装置と不一致の場合に前記関連情報を更新 し、 一致する場合に前記関連情報の更新処理をしないことを特徴とする請求項 請求の範囲第 3項または第 4項に記載の制御方法。
2 0 . 前記ネッ トワークに接続された複数の制御装置間で共有するデータの論 理名をグループ化し、 グループ名と更新情報とそのグループに対する所有権の 有無情報を関連付けて保持するグループ管理情報記憶手段を設け、
グループ名と更新情報が他の制御装置と不一致の時に、 前記更新手段がその グループに属するデータについての前記関連情報記憶部の前記関連情報を更新 するための処理を実行するようにしたことを特徴とする請求の範囲第 7項また は第 8項に記載の制御装置。
2 1 . 前記所有権を有する制御装置であって、
同一のグループを持つ前記所有権のない他の制御装置に前記更新情報を送信す る更新情報送信手段と、
前記他の制御装置から要求があつたときのみ、 そのグループに属するデ一夕に ついての前記関連情報記憶部の前記関連情報を送信する関連情報送信手段を備え たことを特徴とする請求の範囲第 2 0項に記載の制御装置。
2 2 . 前記所有権を有する制御装置であって、
同一のグループに属する共有するデータのうち、 前記所有権を有する制御装置 への入力変数となるデータについて、 参照したか否かの参照情報を記憶する参照 情報記憶手段を設け、
前記参照情報記憶手段に記憶された参照情報に基づき、 何れの他の制御装置も 未参照の場合にのみ、 そのデータについて前記関連情報の更新処理をする機能を 備えたことを特徴とする請求の範囲第 2 0項または第 2 1項に記載の制御装置。
2 3 . 前記所有権のない制御装置であって、
同一のグループを持つ前記所有権の有る他の制御装置から送信されてくる前記 更新情報を受信する受信手段と、
その受信手段で受信した前記更新情報と、 自己が管理している更新情報とを照 合し、 異なる場合に前記所有権の有る他の制御装置に、 そのグループに属するデ 一夕についての前記関連情報記憶部の前記関連情報の送信を要求する要求手段と その要求にともない送信されてきた前記関連情報に基づき、 前記更新手段が自 己が有する関連情報の更新をするようにしたことを特徴とする請求の範囲第 2 0 項に記載の制御装置。
2 4 . 同一のグループに属するデ一タを共有する各制御装置が、 同一のデータ を共有しているか否かを判断する判断手段と、
前記判断手段が、 共有していないと判断した際に、 前記同一のグループに属 する共有するデータへのアクセスを禁止させる機能を備えたことを特徴とする 請求の範囲第 2 0項乃至第 2 3項の何れか 1項に記載の制御装置。
2 5 . 更新停止命令操作手段を設け、
その更新停止命令操作手段から停止命令が発せられると、 前記更新処理の実 行を禁止する手段を設けたことを特徴とする請求の範囲第 2 0項乃至第 2 4項 の何れか 1項に記載の制御装置。
PCT/JP2000/007104 1999-10-15 2000-10-13 Systeme de reseau, procede de commande, dispositif de commande et multiprocesseur WO2001027701A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP00966458A EP1231526A4 (en) 1999-10-15 2000-10-13 NETWORK DEVICE, CONTROL METHOD, CONTROL DEVICE, AND MULTIPLE PROCESSOR ARRANGEMENT
AU76855/00A AU7685500A (en) 1999-10-15 2000-10-13 Network system, control method, control apparatus, and multiprocessor
US10/110,457 US7024463B1 (en) 1999-10-15 2000-10-13 Network system, control method, control apparatus, and multiprocessor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP29395799 1999-10-15
JP11/293957 1999-10-15

Publications (1)

Publication Number Publication Date
WO2001027701A1 true WO2001027701A1 (fr) 2001-04-19

Family

ID=17801384

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2000/007104 WO2001027701A1 (fr) 1999-10-15 2000-10-13 Systeme de reseau, procede de commande, dispositif de commande et multiprocesseur

Country Status (5)

Country Link
US (1) US7024463B1 (ja)
EP (1) EP1231526A4 (ja)
JP (1) JP2009009607A (ja)
AU (1) AU7685500A (ja)
WO (1) WO2001027701A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005322268A (ja) * 2003-10-02 2005-11-17 Omron Corp プログラマブルコントローラおよび通信ユニットならびにコントローラシステムおよびデータ処理方法ならびに変数解決方法およびデータ受渡方法
JP2006301886A (ja) * 2005-04-19 2006-11-02 Omron Corp プログラマブル・コントローラ
WO2007110953A1 (ja) * 2006-03-29 2007-10-04 Mitsubishi Denki Kabushiki Kaisha プログラム作成支援装置、プログラム作成支援方法とその方法をコンピュータに実行させるプログラムおよびそれを記録した記録媒体
JPWO2008102426A1 (ja) * 2007-02-19 2010-05-27 三菱電機株式会社 プログラマブルコントローラの周辺装置、置換方法およびプログラム
JP2015194890A (ja) * 2014-03-31 2015-11-05 株式会社ジェイテクト Plcおよびplc用のプログラミングツール
JP2018041514A (ja) * 2013-05-09 2018-03-15 富士電機株式会社 共有データ定義支援システム、その支援装置、プログラム

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002287997A (ja) * 2001-03-23 2002-10-04 Kinji Mori 多重系処理方法
US7024663B2 (en) * 2002-07-10 2006-04-04 Micron Technology, Inc. Method and system for generating object code to facilitate predictive memory retrieval
AU2004316014B2 (en) 2004-02-19 2010-06-17 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for state memory management
US7296136B1 (en) * 2004-06-04 2007-11-13 Hewlett-Packard Development Company, L.P. Methods and systems for loading data from memory
JP2005352839A (ja) * 2004-06-11 2005-12-22 Matsushita Electric Ind Co Ltd データ通信装置
JP3934647B2 (ja) * 2004-11-30 2007-06-20 京セラミタ株式会社 データ管理システム及び画像形成装置
JP4722613B2 (ja) 2005-08-02 2011-07-13 株式会社ジェイテクト 分散制御システム
US8688800B2 (en) * 2005-10-05 2014-04-01 Hewlett-Packard Development Company, L.P. Remote configuration of persistent memory system ATT tables
WO2007102313A1 (ja) * 2006-03-07 2007-09-13 Kabushiki Kaisha Yaskawa Denki プログラミング装置とデータ構造自動識別方法
JP4952228B2 (ja) 2006-12-18 2012-06-13 株式会社ジェイテクト Plc分散制御システム
DE102009019096A1 (de) * 2009-04-20 2010-11-04 Pilz Gmbh & Co. Kg Sicherheitssteuerung und Verfahren zum Steuern einer automatisierten Anlage
JP5671327B2 (ja) * 2010-03-31 2015-02-18 キヤノン株式会社 通信処理装置および通信処理方法
JP5692403B2 (ja) * 2011-11-01 2015-04-01 アイシン精機株式会社 障害物警報装置
WO2013186889A1 (ja) * 2012-06-14 2013-12-19 三菱電機株式会社 I/oデバイス、プログラマブルロジックコントローラ及び演算方法
JP6292096B2 (ja) * 2014-04-24 2018-03-14 富士電機株式会社 プログラマブルコントローラシステム、その支援装置
US10355980B2 (en) * 2016-09-30 2019-07-16 Juniper Networks, Inc. Deterministically selecting a bypass LSP for a defined group of protected LSPS
JP6816554B2 (ja) * 2017-02-22 2021-01-20 オムロン株式会社 制御システム、制御装置および制御プログラム
JP6757385B2 (ja) 2018-10-23 2020-09-16 株式会社キーエンス プログラマブルロジックコントローラおよびメインユニット
JP2022139089A (ja) * 2021-03-11 2022-09-26 オムロン株式会社 開発支援装置、開発支援方法および開発支援プログラム
JP2022139087A (ja) * 2021-03-11 2022-09-26 オムロン株式会社 開発支援装置、開発支援方法、及び、開発支援プログラム
JP2022139088A (ja) * 2021-03-11 2022-09-26 オムロン株式会社 開発支援装置、開発支援方法、及び、開発支援プログラム
US11894945B2 (en) 2022-06-29 2024-02-06 Siemens Industry, Inc Control device for a building automation system having name resolution management
WO2023136927A1 (en) * 2022-01-14 2023-07-20 Siemens Industry, Inc. Control device for a building automation system having name resolution management

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0954719A (ja) * 1995-08-14 1997-02-25 Meidensha Corp クライアント・サーバ型データベース
JPH0991011A (ja) * 1995-09-26 1997-04-04 Omron Corp 負荷分散装置および方法
JPH1023047A (ja) * 1996-07-04 1998-01-23 Suzuki Motor Corp ネットワークノード間におけるデータ送信制御方式

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3512910B2 (ja) * 1995-07-06 2004-03-31 株式会社東芝 分散計算機システムにおける記憶空間管理方法、計算機及びデータ転送方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0954719A (ja) * 1995-08-14 1997-02-25 Meidensha Corp クライアント・サーバ型データベース
JPH0991011A (ja) * 1995-09-26 1997-04-04 Omron Corp 負荷分散装置および方法
JPH1023047A (ja) * 1996-07-04 1998-01-23 Suzuki Motor Corp ネットワークノード間におけるデータ送信制御方式

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1231526A4 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005322268A (ja) * 2003-10-02 2005-11-17 Omron Corp プログラマブルコントローラおよび通信ユニットならびにコントローラシステムおよびデータ処理方法ならびに変数解決方法およびデータ受渡方法
JP4596153B2 (ja) * 2003-10-02 2010-12-08 オムロン株式会社 プログラマブルコントローラおよびコントローラシステムならびに変数解決方法
JP4544422B2 (ja) * 2005-04-19 2010-09-15 オムロン株式会社 プログラマブル・コントローラ
JP2006301886A (ja) * 2005-04-19 2006-11-02 Omron Corp プログラマブル・コントローラ
US8499277B2 (en) 2006-03-29 2013-07-30 Mitsubishi Electric Corporation Programming support apparatus, programming support method, program for causing computer to implement the method, and recording medium containing the program
JP4541437B2 (ja) * 2006-03-29 2010-09-08 三菱電機株式会社 プログラム作成支援装置、プログラム作成支援方法とその方法をコンピュータに実行させるプログラムおよびそれを記録した記録媒体
JPWO2007110953A1 (ja) * 2006-03-29 2009-08-06 三菱電機株式会社 プログラム作成支援装置、プログラム作成支援方法とその方法をコンピュータに実行させるプログラムおよびそれを記録した記録媒体
WO2007110953A1 (ja) * 2006-03-29 2007-10-04 Mitsubishi Denki Kabushiki Kaisha プログラム作成支援装置、プログラム作成支援方法とその方法をコンピュータに実行させるプログラムおよびそれを記録した記録媒体
JP4541418B2 (ja) * 2007-02-19 2010-09-08 三菱電機株式会社 プログラマブルコントローラの周辺装置、置換方法およびプログラム
JPWO2008102426A1 (ja) * 2007-02-19 2010-05-27 三菱電機株式会社 プログラマブルコントローラの周辺装置、置換方法およびプログラム
JP2018041514A (ja) * 2013-05-09 2018-03-15 富士電機株式会社 共有データ定義支援システム、その支援装置、プログラム
JP2015194890A (ja) * 2014-03-31 2015-11-05 株式会社ジェイテクト Plcおよびplc用のプログラミングツール
US10067492B2 (en) 2014-03-31 2018-09-04 Jtekt Corporation Programmable logic controller and programming tool for programmable logic controller

Also Published As

Publication number Publication date
JP2009009607A (ja) 2009-01-15
EP1231526A4 (en) 2009-04-29
EP1231526A1 (en) 2002-08-14
US7024463B1 (en) 2006-04-04
AU7685500A (en) 2001-04-23

Similar Documents

Publication Publication Date Title
WO2001027701A1 (fr) Systeme de reseau, procede de commande, dispositif de commande et multiprocesseur
JP2834505B2 (ja) 通信ネットワークのノードにデータ・セットを自動的にローディングする方法および装置
JP3875999B2 (ja) 総称データ交換環境において動的データ参照を提供するシステムと方法
JP2006237668A (ja) センサネット管理システム
JP2002132739A (ja) スタブ検索ローディングシステム及び方法、サーバ装置、クライアント装置並びにコンピュータ可読記録媒体
JPH0588907A (ja) 分散環境下におけるコンパイル方式
JP4207105B2 (ja) システム
US20030037097A1 (en) Accessing information content
JP3778593B2 (ja) システム資源管理装置および管理方法
US20070047468A1 (en) Packet communication device
JP2005129026A (ja) プログラマブルコントローラおよび通信ユニットならびにコントローラシステムおよびデータ処理方法ならびに変数解決方法およびデータ受渡方法
JPH07105815B2 (ja) データ・パケツトの転送システム及びデータ・パケツトの転送方法
CN103069348A (zh) 用于对工业自动化装置的项目进行规划和/或编程的方法和装置
JP4902559B2 (ja) ネットワーク分散共有システム、ネットワーク分散共有方法、およびネットワーク分散共有プログラム
JP4131781B2 (ja) 分散処理型データベース管理システム
JP4883194B2 (ja) プログラマブルコントローラおよびコントローラシステム
US20050097531A1 (en) Method of compiling a source code program into a machine-readable target object program in a network environment
JP3600478B2 (ja) プロセスならびにそれらのデータと資源を識別する方法および交換局
JPH10187468A (ja) 並列分散処理システムおよびその方法
JP2002373077A (ja) 実行時ライブラリ検索方法及び装置、動的リンカ並びにプログラム
JP2970564B2 (ja) 移動エージェントのアドレス管理方法および移動エージェント装置
US20020029240A1 (en) System for the efficient transmission of partial objects in distributed data bases
KR100421796B1 (ko) 컴퓨터제어시스템
Russello et al. Customizable data distribution for shared data spaces
KR102394491B1 (ko) 네트워크에 연결된 기기들의 서비스 기반의 동작에 관한 정보를 획득하기 위한 방법과 장치

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
ENP Entry into the national phase

Ref country code: JP

Ref document number: 2001 530652

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 2000966458

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2000966458

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 10110457

Country of ref document: US

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642