JP4207105B2 - システム - Google Patents

システム Download PDF

Info

Publication number
JP4207105B2
JP4207105B2 JP2001073626A JP2001073626A JP4207105B2 JP 4207105 B2 JP4207105 B2 JP 4207105B2 JP 2001073626 A JP2001073626 A JP 2001073626A JP 2001073626 A JP2001073626 A JP 2001073626A JP 4207105 B2 JP4207105 B2 JP 4207105B2
Authority
JP
Japan
Prior art keywords
variable
data
control device
variable data
area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2001073626A
Other languages
English (en)
Other versions
JP2002278606A (ja
Inventor
耕士 吉田
繁 人見
寛 吉田
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
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 filed Critical Omron Corp
Priority to JP2001073626A priority Critical patent/JP4207105B2/ja
Publication of JP2002278606A publication Critical patent/JP2002278606A/ja
Application granted granted Critical
Publication of JP4207105B2 publication Critical patent/JP4207105B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、プログラミングツール及び複数の制御装置を備えたシステムに関するものである。より具体的には、複数のノード,制御装置,プロセッサ間でデータの共有を図るシステム(例えば、分散制御システム等)における当該データの共有化の処理の改良に関する。
【0002】
【従来の技術】
複数台のPLC等の制御装置をネットワークに接続し、それら複数の制御装置がデータを共有しながら協調・同期制御等を実行することがある。データは、スイッチやセンサなどの制御機器の接点の状態としての入力データや、制御装置が制御する被制御装置の状態としての出力データが含まれている。その場合、各制御装置がこのようなデータを共有するためには、それぞれのI/Oを物理的に繋ぐか、つまり、制御機器や被制御装置を、制御装置側の入出力端子に電気的結線するか、データを共有するためのユーザプログラムを別途作成し、それを実行させる方式が知られている。
【0003】
また、各制御装置がデータを共有するための別の方式としては、データリンク方式と称されるものもある。このデータリンク方式は、複数の制御装置間で、サイクリックにデータを交換(リンク)する方式である。例えば、制御装置としての各ノードにそれぞれメモリテーブルを持たせ、互いにデータを交換することで各テーブルの内容を同じにすることによりデータの共有をする。このとき、データを交換するためのアクセスは、互いにメモリアドレス(物理アドレス)を指定して行うようにしている。さらに、そのテーブルは、制御装置以外の別のツールにより一括して設定する。この方式では、ユーザプログラム開発時に通信を意識しないで済むというメリットが有る。
【0004】
なお、各ノードごとで互いに自ノードで必要なデータだけを、そのデータを持つ相手のノード間でデータ交換することでデータ共有し、自ノードで不必要なデータは共有しないようにした方式もある。
【0005】
【発明が解決しようとする課題】
しかしながら、上記した従来方式では、以下に示す問題が有る。すなわち、前者のユーザプログラムを用いた方式では、制御装置(PLC)を動作させるラダープログラム中に通信ロジックを埋め込む必要が有り、ユーザプログラム開発が複雑となり、さらには、メンテナンスも困難となる。
【0006】
また、後者のデータリンク方式の場合には、データをリンクする際のメモリエリアの割り付け設定自体が面倒となる。一旦メモリエリアの割り付けを設定した後に、そのメモリエリアの割り付けの変更が有ると、割り付け設定のやり直しがいちいち必要となる。しかも、新たな制御装置をネットワークに追加する場合には、メモリエリアの再割り付けの変更が、ネットワークに既に接続されている制御装置にまで及ぶこともあり、システムの停止をしなければならないという問題があった。
【0007】
この発明は、通信処理を意識することなく、共有するデータへのアクセスが容易に行え、係るアクセスするための開発並びにその後のシステム変更に応じた修正も容易に行え、システム稼動中に停止することなく新たなノード・制御装置等をネットワークに接続することができ、論理名・変数データの参照の照合を効率よく解決することができるシステムを提供することを目的としている。
【0008】
【課題を解決するための手段】
この発明に係るプログラミングツールは、ネットワークに接続される複数の制御装置間で変数データを共有する分散制御システムと、前記複数の制御装置のためのプログラミングツールとを備えたシステムである。そして前記プログラミングツールは、前記複数の制御装置がそれぞれ使用する変数データを特定する論理名と、その変数データのサイズと、を対応付けたテーブルをその変数データを出力する制御装置と関連づけて記憶する変数データベースと、前記変数データベースをアクセスして、前記変数データを出力する制御装置との関連づけから、その変数データを出力する制御装置を特定し、その特定した制御装置における出力変数の変数データを格納するエリアにおけるその変数データを格納する位置を特定するための前記エリアの先頭からのオフセット値からなる相対アドレスを、1番目に格納する変数データの前記オフセット値は0とし、n番目に格納する変数データの前記オフセット値は1番目からn−1番目までに格納した各変数データのサイズの総和となるように求め、その求めた相対アドレスを論理名と関連付けて前記変数データベースに格納する静的名前解決手段と、前記相対アドレスを含む変数データベースを前記制御装置にダウンロードする手段を備え、
前記通信部から出力する出力変数の変数データを格納する自ノードエリア記憶部と、
前記通信部を介して他の制御装置から送られてきた入力変数の変数データを格納する他ノードエリア記憶部と、
前記自ノードエリア記憶部並びに前記他ノードエリア記憶部に格納された変数データをアクセスするために用いる絶対アドレスからなる記憶位置情報が格納される間接参照テーブルと、
前記変数データを特定する論理名と、その論理名についての前記記憶位置情報が格納された前記間接参照テーブル内の格納領域を特定する格納領域特定情報と、を対応付けた対応テーブルと、
を備え、
前記他ノードエリア記憶部は、前記他の制御装置ごとに連続した格納領域が設定され、
前記複数の制御装置のうち同一の論理名の変数データを前記出力変数としてもつ制御装置は、その制御装置の前記自ノードエリア記憶部におけるその変数データを格納する格納位置を、その自ノードエリア記憶部の先頭アドレスに前記プログラミングツールから与えられるその変数データについての相対アドレスを加算して、その変数データを格納する前記自ノードエリア記憶部の格納位置を特定する前記記憶位置情報を求め、求めた記憶位置情報を前記間接参照テーブルに記憶する自ノードエリア記憶部用の変換手段を備え、
前記複数の制御装置のうち前記同一の論理名の変数データを前記入力変数としてもつ制御装置の前記他ノードエリア記憶部に設定された前記出力変数としてもつ制御装置用は、その制御装置の前記格納領域における格納位置を、その格納領域の先頭アドレスに前記プログラミングツールから与えられるその変数データについての相対アドレスを加算して、その変数データを格納する前記他ノードエリア記憶部の格納位置を特定する前記記憶位置情報を求め、求めた記憶位置情報を前記間接参照テーブルに記憶する他ノードエリア記憶部用の変換手段を備えるようにした。
【0010】
ここで、共有するデータを格納する記憶部は、実施の形態では「リンクメモリ15」に相当する。記憶部の記憶位置情報は、実施の形態では「アドレス,ポインタ」等に相当する。変換手段は、実施の形態では「静的名前解決結果変換部25」に相当する。
【0012】
本発明によれば、静的名前解決は、プログラミングツール内で名前解決するので、制御装置間での通信が不要となり処理時間は短くなる。そして、その解決して得られた相対関連情報を制御装置にダウンロードすることにより、制御装置が持つ関連情報に組み込むことができる。すると、プログラミングツールで相対アドレスが生成されたデータ(変数)については、相対アドレスを実際に存在する位置情報に変更する処理を行えばよいので、制御装置間で実際に通信を行い、関連情報を取得する処理対象のデータ(変数)が少なくなる。よって、制御装置側でも、係る関連情報を生成する場合に、その処理時間が短くなる。
【0013】
この発明の以上説明した構成要素は可能な限り組み合わせることができる。この発明による制御装置,プログラミングツールを構成する各手段,機能を専用のハードウェア回路によって実現することができるし、プログラムされたコンピュータによって実現することもできる。
【0014】
【発明の実施の形態】
図1は、本発明の好適な一実施の形態を示している。同図に示すように、PLC等の制御装置1とプログラミングツール3とが接続され、プログラミングツール3で作成されたユーザプログラムが、制御装置1にダウンロードされる。
【0015】
各部の詳細な説明をする前に、本発明の前提,概要を説明する。上記した制御装置1は、複数個用意され、それぞれがネットワークに接続される。そして、それら複数の制御装置1がすべてのデータまたは必要なデータを共有しながら協調・同期制御等を実行する分散制御システムに適用される。
【0016】
このようなデータをネットワークグローバル変数(以下、ネット変数と略)を用いて共有する仕組みを持つ制御装置をネットワークで接続し、そのネット変数の参照解決を制御装置1同士が自動的に行うため、個々の制御装置1毎に格納されている別々の制御プログラムを組合わせて容易に分散制御システムとして統合できる。
【0017】
本形態における制御装置1は、制御装置1同士で変数情報を自動的に交換し、データ転送前に一括して変数をメモリ上に割り当てる仕組み(名前解決処理)を持ち、かつ電源ON時やネットワーク加入時にこの名前解決処理を実施する。この名前解決処理は、実際に制御装置1を動作させながら行うことから動的名前解決処理と称する。なお、具体的な動的名前解決処理のアルゴリズムは、後述する。
【0018】
ところで、ネットワークに接続された各制御装置が持つ論理名(ネットワークグローバル変数)で定義されたすべてのデータについて動的に名前解決をするようにすると、通信を介して変数の情報を制御装置間で交換するので、通信が遅いと名前解決に要する時間が長くなる。同様のことは、処理対象となるネット変数の数が増えた場合も同様の問題が生じる。
【0019】
一方、プログラミングツール3は、制御装置で実行されるプログラムを開発するための環境であり、ユーザがラダー言語などで作成したプログラムをコンパイルしたり、ライブラリをリンクしたりして制御装置で実行可能な形式に変換する機能を持つ。そして、プログラミングツール3上では、複数の制御装置1のプログラム,変数(データ)の情報を1つのプロジェクトとして管理する。
【0020】
そこで、プログラミングツール3において、プロジェクトに含まれる複数の制御装置1のプログラムで使われている変数(データ)の情報が予めわかっているときには、プログラミングツール3上で名前解決を行う機能を持たせている。これを静的名前解決と称する。この静的名前解決は、動的名前解決と同様のアルゴリズムに従ってツール上で処理することもできるし、ツールがすべての変数を知っているので、ツール側で一括処理するようにしてもよい。そして、静的名前解決が行われなかった残りの変数については必要に応じて動的名前解決を行う。
【0021】
なお、静的名前解決を行った場合でも、実際にネットワークに接続されていないため、各デバイス等の絶対アドレスは不明であるので、相対アドレスにより定義することになる。そこで、実際にネットワークに接続した際に、動的名前解決の実行に伴い、相対アドレスを絶対アドレスに変換する機能も設けた。
【0022】
次に、各部の説明を行う。まず、制御装置1について説明する。制御装置1は、制御部11と通信部12を備えている。制御部11は、ラダーシステムを実行し、制御装置(PLCなど)1本来の制御を行う。通信部12は、ネットワークに接続され、他の制御装置と通信する機能を持つ。具体的には、ネットワーク接続し、所定の通信プロトコルによりデータの送受(本発明との関係で言えば、共通のデータ交換)を行う通信コントローラ12aと、その通信コントローラ12aで通信制御する際のプロトコル変換をする際にデータを一時記憶したり、プロトコル変換したり、送受信先を特定する際の情報(データベース)を記憶保持するRAM12bを有している。
【0023】
一方、制御部11は、接続された機器への制御プログラムや、ネットワーク接続された別の制御装置1と協調動作する際の制御プログラムなどを格納したROM11aと、そのROM11aに格納されたプログラムを実行するMPU11b及びMPU11bにて各種処理を実行する際に必要なデータ(管理データ)を記憶するRAM11cを有している。このハードウェア構成自体は基本的に従来と同様である。
【0024】
ここで本発明では、図2に概念図で示すように、それぞれのデータを論理名(ネットワークグローバル変数)で定義し、各制御装置(PLC)1に組み込まれたユーザプログラム(オブジェクトコード)は、論理名を指定して共有するデータを取得するようにしている。これにより、各制御装置1は対応するデータが記憶された物理アドレスを意識することなく、データの共有ができ、しかも物理アドレスを意識しないので、一旦登録後、共有するデータを記憶する物理アドレスを自由に変更することができる。
【0025】
この概念の一例を示すと、ある制御装置(1)1で、Switchが定義(図示の場合、変数名:値が「Switch1」として定義)されているとする。すると、別の制御装置(3)1が、制御装置(1)1のSwitch1のデータがほしい場合には、制御装置(3)1のユーザプログラムは、変数名である「Switch1」を指定するとともに、そのデータを取得する命令を実行することにより、Switch1に関連付けられた具体的なデータを取得することができる。換言すると、同一内容のデータは、同一の論理名で定義され、ネットワーク上はその論理名が唯一存在することになる。つまり、異なるデータに対しては別の論理名が付される。
【0026】
そして、データ内容に変更があった場合には、所定の制御装置1がその内容を書き替えることで、そのデータを共有する他の制御装置1に記憶された内容も書き替えられることになる。
【0027】
次に、上記した機能を実現するための具体的な構成について説明する。図3に示すように、RAM11cの内部にネットワークを介して論理的に共有するデータ(変数データ)を格納するためのリンクメモリ15と、このリンクメモリ15に格納された各変数データを参照するために用いる間接参照テーブル16と、論理名とメモリアドレス(間接参照テーブル16のアドレス)とを関連付けた変数データベース17を有している。なお、各部の詳細な説明は後述する。
【0028】
一方、MPU11bには、間接参照テーブル16を介してリンクメモリ15にアクセスする機能を備えたPLC1の制御動作を実行するための制御実行部18と、変数データベース17を管理し、その変数データベース17に格納された情報に基づき間接参照テーブル16を変更する論理名調停部19を備えている。
【0029】
次に各部について説明する。まず、リンクメモリ15は、上記したようにネットワークを介して論理的に共有しているデータを格納するためのメモリであり、そのデータ構造は例えば図4に示すようになっている。すなわち、同一の論理名は、ネットワーク上で唯一存在し、それを各制御装置(PLC)で共有するため、ある論理名についてのデータに対する更新等の処理は、ネットワーク上のある1つの制御装置が実行する権限を有し、他の制御装置はその1つの制御装置から送られるデータを取得することになる。つまり、ある論理名についてのデータについては、上記1つの制御装置がそのデータに付いて更新等する機能と、それを他の制御装置に与える機能を持つ。
【0030】
従って、図示するように、上記の自分が更新等の機能を持つ論理名(公開している論理名)についてのデータを格納する自ノードエリアと、他の制御装置に元となるデータが格納された論理名についての、そのデータのコピーを格納する他ノードエリアが有る。本形態では、データの転送効率を向上させるためにリンクメモリ15をノードごとに分割したが、これに限る必要はない。
【0031】
さらに、共有する同一の論理名(変数名)のデータ(変数データ)を記憶するエリア内のオフセット値は、各ノードで共通にしている。つまり、ある論理名Xについての変数データxがノード(1)の自ノードエリアのオフセット値Nから所定サイズ分だけ格納されている場合(後述する間接参照テーブルの該当するポインタはNとなっている)、別のノードにおいては他ノードエリアの所定位置に格納されることになる。そして、この格納位置はノード(1)用の他ノードエリアのオフセット値Nから所定サイズ分のエリアに格納されることになる。つまり、自己が必要とする他ノードで公開された変数データを、自己の他ノードエリアに格納する場合、その公開している他ノードにおける自ノードエリアの先頭からのオフセット値と同一のオフセット値に格納することになる。このように、各ノードエリアでのオフセット値を公開側と利用側で一致させることにより、データ共通化を維持するための各種処理を容易に行えるようにしている。
【0032】
なお、実際のデータの送受に関しては、上記の与える機能を持つ制御装置が出力しても良いし、他の制御装置が元となるデータを持つ制御装置に対してデータを読みに行き、取得しても良い。
【0033】
また、変数データベース17のデータ構造は、図5に示すように、「論理名」,「タイプ」,「サイズ」,「入出力属性」,「メモリアドレス」,「静的な前解決済みフラグ」,「データリンクエリアオフセット」並びに「ビット位置」を関連付けたテーブルとなっている。ここで「サイズ」はその論理名に関する情報のデータサイズであり、「入出力属性」は、論理名で特定されるデータの送受方向を特定するものである。
【0034】
つまり、入出力属性が「出力」のものは、そのノード(PLC)に格納された論理名に関する情報を他のノードに向けて出力することを意味する。そして、その入出力属性が出力となっている論理名についてのデータが、リンクメモリ15の自ノードエリアの所定領域に格納される。
【0035】
また、入出力属性が「入力」のものは、そのノードで使用等する論理名に関する情報が、他のノードから送られてきたものを取得することを意味する。そして、その入出力属性が入力となっている論理名についてのデータが、リンクメモリ15の他ノードエリアの所定領域に格納される。
【0036】
「メモリアドレス」は、その論理名についての実際のデータが格納されているリンクメモリ15の位置を特定するポインタが記憶される間接参照テーブル内のアドレス情報を記憶するものである。そして、本形態では、間接参照テーブルのオフセットを用いている。従って、この変数データベース17に格納されたメモリアドレスを参照して間接参照テーブル16にアクセスするためには、その間接参照テーブル16のベースアドレスに上記オフセットを加えた値となる。
【0037】
また、本形態では、間接参照テーブル16に格納されて特定させるリンクメモリ15のアドレス(ポインタ)が4バイトで表現されることを想定しているので、この変数データベース17のメモリアドレスには、4の倍数の値が格納される。
【0038】
「静的名前解決済みフラグ」は、その変数についての名前解決が、後述するプログラミングツール3によって既に行われているか否かを区別するためのフラグであり、「FALSE」であれば未解決であるので、通常の動的名前解決を行う。また、「TRUE」であれば静的名前解決は行われているので、静的名前解決時に設定された相対アドレスを、絶対アドレスに変更する処理をすることになる。また、「リンクリンクエリアオフセット」は、静的名前解決を行った結果得られた変数の相対アドレスを格納する領域である。
【0039】
そして、図示の例では、論理名が「Switch1」のメモリアドレスは「0000」となっているので、図6に示す間接参照テーブル16の先頭(1番目)の記憶領域に格納されたポインタで示すリンクメモリ15内のデータが、その「Switch1」についてのデータとなる。同様に、論理名が「Motor1」のメモリアドレスは「0004」となっているので、図6に示す間接参照テーブル16の2番目の記憶領域に格納されたポインタで示すリンクメモリ15内のデータが、その「Motor1」についてのデータとなる。
【0040】
また、間接参照テーブル16のデータ構造は、図6に示すように、各論理名についてのデータが格納されたリンクメモリ15内のポインタを記憶している。そして、本形態では、リンクメモリ15内の記憶エリアを特定するポインタは、4バイトで特定されており、上位3バイトでワード位置を特定し、下位1バイトでそのワード位置内で目的とするデータが記憶されているビット位置を特定するようにしている。
【0041】
そして、これら格納された各ポインタが、どの論理名についてのポインタかは、上記したように変数データベース17に格納された論理名とメモリアドレスの相関により特定されている。換言すると、間接参照テーブル16の先頭からn番目のポインタは、予め所定の論理名についてのポインタであることが登録されており、それは変数データベース17の記憶内容(メモリアドレス)を変えない以上不変となる。
【0042】
つまり、仮にある論理名についてのデータの記憶エリアを変更した場合、対応する間接参照テーブル16のその論理名についてのポインタを記憶したエリアに格納されたポインタを新しいものに更新することにより対応する。この場合でも変数データベース17の記憶内容は変更しないで済む。従って、制御装置が実際の制御を行うプログラムは、データ共有する論理名に付いて情報を知る必要ができた場合に、まず変数データベース17に格納されたメモリアドレスにしたがって間接参照テーブル16をアクセスしてポインタを取得する。次いでそのポインタで指し示されたデータを取得することになる。これにより、具体的な記憶エリアの変動の有無に関わらず、上記プログラムはデータを取得し、正しく動作することができる。
【0043】
さらに本形態では、RAM11c内に、上記した間接参照テーブル16の記憶内容や、実際の論理名に対応したデータの送受を行い、データの共有化をスムーズかつ確実に行うため、Export変数リスト20,Import変数リスト21並びにRemote変数リスト22を持たせるようにしている。これら各変数リスト20〜22は、変数データベース17に格納された情報に基づいて作成されるもので、具体的には以下のようになっている。
【0044】
まず、Export変数リスト20は、自ノードから出力するネットワークグローバル変数のリストである。そして、そのデータ構造は、図7に示すように、変数名(論理名)、変数のタイプ及びサイズ(バイト数)、並びにその変数のデータが格納されたリンクメモリ15内の自ノードエリア(図4参照)のオフセットからなるテーブル(以下、「Export変換情報テーブル」と称する)からなっている。
【0045】
係るテーブルは、図5に示す変数データベース5の入出力属性の欄が「出力」のものを抽出し、さらに、メモリアドレスの欄から間接参照テーブル(図6)をアクセスして自ノードエリアのオフセット(自己が管理する論理名についてのデータを格納する領域)を取得することにより、図7に示すようなリストが作成できる。
【0046】
一方、Import変数リスト21は、他ノードから入力するネットワークグローバル変数のリストであり、そのデータ構造は、図8に示すように、変数名(論理名)、変数のタイプ及びサイズ(バイト数)、その変数のデータが格納されたリンクメモリ15内の他ノードエリア(図4参照)のオフセットに加え、さらに、その変数が有効か無効かを示すフラグを備えたテーブル(以下、「Import変換情報テーブル」と称する)からなっている。
【0047】
係るテーブルは、図5に示す変数データベース5の入出力属性の欄が「入力」のものを抽出し、さらに、メモリアドレスの欄から間接参照テーブル(図6)をアクセスして、リンクメモリ15内の他ノードエリアのオフセット(他ノードから送られてきたデータを格納する領域)を取得することにより、図8に示すようなリストが作成できる。
【0048】
さらに、Remote変数リスト22は、受信した他ノード変数リストをノード別に分類して格納するものである。そのデータ構造は、図9に示すように、ノード番号とExport変数リストの先頭ポインタを格納したテーブル(以下、「Remote変換情報テーブル」と称する)からなる。
【0049】
上記した各テーブル情報は、プログラミング装置(ツール)3を用いて行われる。すなわち、図10に示すように、各制御装置1がLAN2にネットワーク接続されて、すでにシステムが稼動しているとする。係る場合に、新たに制御装置(X)1′をネットワークに追加するに先立ち、制御装置(X)1′にプログラミング装置3を接続し、所定のデータ・情報をそのプログラミングツール3から制御装置(X)1′にダウンロードする。
【0050】
具体的には、図11に示すように、まずプログラミングツール3を用い、ユーザがラダーや高級言語などでソースプログラム3aを作成する。このとき、複数の制御装置(1),(2),(3),…(X)で共有するデータは、各制御装置間で同じ論理名として定義するとともに、ネットワーク共有の属性をつけるようにする。
【0051】
そして、プログラミングツール3のコンパイル機能3bを実行し、上記のようにして作成したソースプログラム3aをコンパイルし、制御装置が本来の制御を実行するためのオブジェクトコード3cと、同一論理名のデータ共有をするために必要な変数データベース(図5参照)3dを生成する。
【0052】
次いで、プログラミングツール3は、生成したオブジェクトコード3cと変数データベース3dを制御装置(X)1′にダウンロードする。そして、このダウンロードされたオブジェクトコードと変数データベースは、制御装置(X)1′の不揮発性メモリに格納される。
【0053】
なお、上記したプログラミングツールは、図示の例では制御装置(X)1′に接続し、それに対してダウンロードする例を示したが、すでにネットワークに接続された各制御装置(1),(2),……に対しても、ネットワークに接続する前(際)に、プログラミングツールを接続し、所定のデータ・情報をダウンロードすることになる。
【0054】
次に、論理名調停部19について説明する。論理名調停部19は、上記のようにダウンロードされた変数データベース17に格納された情報に基づき、Export変数リスト20とImport変数リスト21を生成する機能を有する。具体的な生成処理は、上記したExport変数リスト20とImport変数リスト21の説明で記載した通りである。
【0055】
すなわち、Export変数リスト20の作成は、図12に示すフローチャートに示すように、オフセット値を0におき(ST1)、変数データベース17をアクセスして入出力属性が出力になっている出力変数、つまり自ノードが他ノードに対して公開するネットワークグローバル変数を検索する(ST2)。
【0056】
そして、検索される都度、その変数についてのExport変換情報テーブルを格納するExport変換テーブルを確保する(ST3,ST4)。そして、その確保したテーブル内に、変換データベース17内に格納されている変数名,タイプ,サイズ情報を複写する(ST5)。
【0057】
次いで、その変数のデータ(変数データ)を格納する自ノードエリアのオフセット情報を取得し、ステップ5,ステップ6で得られた情報を、Export変数リストに追加する(ST7)。よって、1番目は、オフセットが0つまり自ノードエリアの先頭から登録することになる。
【0058】
その後、現在のオフセット値に、変数サイズを加算して新たなオフセット値を求め(ST8)、ステップ2に戻る。以後、全ての出力変数を検索するまで上記処理を繰り返し実行する。これにより、自ノードエリアの先頭から各変数データを格納する領域が、空くことなく順番に確保される。
【0059】
一方、Importリスト21の作成は、図13に示すフローチャートを実行する。すなわち、変数データベース17より、入出力属性が入力になっている入力変数、つまり、自ノードで利用する他ノードのネットワークグローバル変数を検索する(ST11)。
【0060】
そして、検索される都度、その変数についてのImport変換情報テーブルを格納するImport変換テーブルを確保する(ST12,ST13)。そして、その確保したテーブル内に、変換データベース17内に格納されている変数名,タイプ,サイズ情報を複写する(ST14)。さらに、無効フラグをセットし(ST15)、ステップ14,ステップ15で得られた情報を、Import変数リストに追加する(ST16)。その後、ステップ11に戻る。以後、全ての入力変数を検索するまで上記処理を繰り返し実行する。
【0061】
さらに、論理名調停部19は、上記した両変換テーブルの作成機能に加え、以下に示す変換テーブルの更新その他の機能も有する。すなわち、制御装置1を既存の稼動中のネットワークに接続した場合、論理名調停部19は、自己が保有するExport変数リスト20を、一斉同報し、他の制御装置との間でネットワークグローバル変数の情報を交換する。
【0062】
すなわち、Export変数リストを送信する側の論理名調停部19は、図14に示すように、まず、Export変数リストを一斉同報により送信する(ST21)。後述するように、この一斉同報を受けた受信側の他の制御装置(ノード)は応答信号を送信してくるので、その応答信号があったか否かを判断する(ST22)。そして、応答信号があった場合には、その応答信号を発行した応答局を記録する(ST23)。
【0063】
タイムアウトするまで応答信号の受信の有無をチェックし(ST24)、タイムアウトしたならばテーブル更新を完了する(ST25)。これにより、Export変数リストを送信したノードは、誰がExport変数リストを受け取り、誰が受け取っていないかを判断できる。
【0064】
なお、このExport変数リストの送信タイミングとしては、上記したように新たにネットワークに追加・接続する時の他に、ユーザプログラム修正やコンパイル実行などによって変数データベース17の記憶内容が変更された場合や、後述するオンラインエディットによって実行中の制御装置の変数データベース17の記憶内容が変更された場合などにも行われる。そして、変更される都度、バージョンを更新していき、Export変数リストを送信(一斉同報)する場合には、そのバージョン情報も併せて送るようにする。従って、受信側のノードは、Export変数リストをはじめて受信する場合と、すでに受信している場合がある。なお、本発明では、このバージョン情報は必ずしも設けなくても良い。また、バージョン情報を用いたテーブルの同期方式については後述する。
【0065】
一方、上記Export変数リストを受信した既存の他のノード(制御装置)側は、図15に示すフローチャートを実施する機能を有する。すなわち、Export変数リストを受信したか否かを判断し(ST31)、受信した場合には、Export変数リストのバージョンが、以前に受信して記憶しているものと一致するか否かを判断する(ST32)。
【0066】
そして、一致していない場合には、Export変数リストが更新されていると判断し、記憶しているテーブル(受信側のノードにとってのImport変数リスト等)を更新する(ST33)。なお、初めてExport変数リストを受信する場合も、バージョンが不一致と判断し、テーブル更新をする。
【0067】
そして、ステップ33のテーブル更新後、並びにステップ32の分岐判断でバージョンが一致している場合(更新不要)は、応答信号をExport変数リストの送信元のノードに向けて送信し、処理を終了する(ST34)。
【0068】
さらに論理名調停部19は、受信したExport変数リストに基づいて、Remote変数リストを作成する機能を有する。すなわち、図15に示す受信側の処理において、他ノードから送信されてきたExport変数リストを受信したならば、それをRemote変数リストとしてノード別に管理する。つまり、受信したノードが必要とする変数データであるか否かに関係なく、全てのExport変数リストに関する情報を一旦制御装置内に取り込み、記憶保持する。このリストは、不揮発性メモリに保持される。具体的には、図16に示すように、ノード1から送られてきたExport変数リストは、ノード1のテーブルエリアに格納される。
【0069】
そして、論理名調停部19は、上記のようにして得られたRemote変数リスト22とImport変数リスト21に基づき、間接参照テーブル16を作成・更新する。概念的に説明すると、Import変数リスト21に格納された自ノードで使用する変数名(論理名)をキーとして、Remote変数リスト22を検索し、一致する変数名を取得し、その変数に関する変数データが格納された自ノードのリンクメモリ15へのポインタを求め、それを該当する間接参照テーブル16のメモリエリアに格納する。
【0070】
また、上記した制御装置(X)1´のように、新たにネットワークに加入した場合には、Export変数リストを受信していないノードに対してExport変数リスト要求を行う。これにより、受信したExport変数リストに基づき、上記したRemote変数リスト22ひいては間接参照テーブル16の作成・更新を行う。具体的には、図17に示すフローチャートを実現する。
【0071】
まず、Import変数リスト21を順番に検索し(ST41,ST42)、検索された変数名(論理名)ごとに以下の処理を行う。つまり、取得した変数名をキーにRemote変数リストを検索し、その変数を公開している制御装置のノードアドレス▲1▼と、その装置内のリンクメモリ内の自ノードエリアオフセット▲2▼を取得する(ST43)。
【0072】
次いで、リンクメモリの▲1▼に該当する他ノードエリア(その変数を公開しているノード用のエリア)のベースアドレス(先頭アドレス)を算出する(ST44)。そして、そのベースアドレスに、ステップ43で求めたオフセット▲2▼を加算した値▲3▼を求める(ST45)。すなわち、対応するノードエリアでは、同一の論理名(変数名)の変数データを格納する領域のオフセット値を等しくしているので、上記求めた値▲3▼が、その変数データを記憶させるリンクエリアの先頭アドレスとなる。
【0073】
次に、変数名に基づいて変数データベース17を検索し、間接参照テーブル位置(その変数名のポインタを格納する箇所)を取得する(ST46)。つまり、図5に示すメモリアドレスの欄に登録されたオフセットアドレスを取得する。そして、その取得したオフセットアドレスにしたがい、該当する間接参照テーブルの格納領域に、ステップ45で算出した値▲3▼(リンクメモリ15内の変数データを格納する領域の先頭位置を示すポインタ)を格納する。これにより、間接参照テーブルの更新が行える。
【0074】
これにより、図5に示す変数データベース17とすると、図18に示すように、例えば論理名(変数名)が「Switch1」についての変数データのリンクメモリ15内の格納領域が図示のようになっている場合、間接参照テーブル16のSwitch1の欄(オフセットアドレス0000:先頭)には、その格納領域の先頭のアドレス(ポインタ)が格納されることになる。
【0075】
上記したように、論理名調停部19により、各ノード(制御装置1)内の各リスト20〜22や間接参照テーブル16の内容がその都度更新されることにより、リンクメモリ15内に格納された変数データの内容や、変数データの格納領域が変更したとしても、ある変数名(論理名)についての間接参照テーブル16の格納位置(オフセットアドレス)は不変(仮に変更した場合でも、変数データベースのメモリアドレスの欄を見ることにより知ることができる)であるので、制御実行部18は、その間接参照テーブル16を介してリンクメモリ15にアクセスし、所望の変数データを取得し、正規の制御システムを実行することができる。そして、係る制御実行部18の機能は、図19に示すフローチャートのようになっている。
【0076】
すなわち、まず初期化処理をした後(ST51)、INリフレッシュをする(ST52)。つまり、リンクメモリ15の他ノードエリアに格納されたエリアネットワークグローバル変数(変数データ)の読み出しを行う。そして、ユーザプログラム(通常の制御)を実行し(ST53)、OUTリフレッシュをする(ST54)。つまり、リンクメモリ15の自ノードエリアに、自己が公開するネットワークグローバル変数(変数データ)の書き込みを行う。次いで、周辺I/F処理を実行する(ST55)。このように、リンクメモリ15に対するアクセス(変数データの読み書き)をしつつ、ユーザプログラムを実行する処理を、システムが停止するまで繰り返し実行する(ST56,ST57)。なお、上記したリンクメモリ15をアクセスしつつユーザプログラムを実行しているときの制御装置1,1′の概念図を示すと図20のようになる(静的名前解決の部分は後述する)。
【0077】
さらに、リンクメモリ15に格納する実際の変数データの送受は、通信部12を介して制御装置1(ノード)間で行われる。まず、概念的に説明すると、リンクメモリ15内の自ノードエリアに割り付けられたデータ(変数データ)は、他ノードに一斉同報通信方式などで送信し、他ノードエリアに割り付けられたデータ(変数データ)は対応する他ノードから受信する。
【0078】
つまり、図21に示すように、リンクメモリが格納された制御部11側のRAM11cと、通信部12側のRAM12bとの間では、必要なデータを転送するようになっている。
【0079】
そこで、図20に示すように、リンクメモリ15の自ノードエリアに割り付けられたデータは、一旦通信部12の通信側RAM12bに複写転送され、各制御装置間では、その通信側RAM12b同士(厳密には通信コントローラ12aを介して)で一斉同報に伴うデータ転送をすることにより、他のノード(制御装置)側に送信する。また、これを受信した他ノード側では、Export変数リスト,Import変数リストより算出した転送データサイズを基に、自ノードで必要なデータを通信部12(通信側RAM12b)から制御部11(制御側RAM11c)に転送する。なお、通信部12側では、その受け取ったデータに基づいて所定の処理をするのは、上記した通りである。
【0080】
また、制御装置内での通信部12と制御部11間でのデータの転送処理機能は、以下の通りとなっている。まず、本形態では、通信部12は、制御部11からの要求によりサイクリック通信サービスを開始するようになっている。すなわち、通信部12は、制御部11から受け取ったImport変数リスト,Export変数リストに基づいて通信パラメータを算出・設定し、サイクリック通信サービスを起動もしくは加入する。
【0081】
また、サイクリックデータには、受信側が利用してよいデータ(有効なデータ)か、利用できないデータなのかを示す有効/無効情報が含まれている。この有効/無効情報は、送信側で設定する。そして、この有効/無効情報が「有効」のときには、受信側の通信部が受信したサイクリックデータを制御部側に転送しても良いと判断できる。
【0082】
さらに、通信側RAM12bには、通信部12の通信コントローラ12a側からと、制御部11側からの両方からアクセスできるようになっている。従って、何ら制御を行わないと、両方から同時に通信側RAM12bにアクセスすることが有るので、これを避けるため、本形態では制御部11側が主体的になってデータ交換をするようにしている。つまり、制御部11が通信部12に対してアクセス許可・禁止を通知する。そして、通信部12は、制御部11が通信側RAMへのアクセスを許可している間のみアクセス可能となる。係る制御の具体的には、図22(制御部),図23(通信部)に示すフローチャートのようになる。
【0083】
まず、制御部11の機能としては、図22に示すように、データのRead/Write、つまり、通信側RAM12bへのアクセスを行う(ST61)。そして、そのアクセス処理が完了すると、通信側にアクセス完了を通知する(ST62)。このアクセス完了通知が、通信部12に対するアクセス許可通知となる。
【0084】
そして、通常のコントローラ処理(ユーザプログラムの実行)をする(ST63)。また、再び通信側RAM12bにアクセスする必要が生じた場合には、アクセス要求通知を通信部12に対して通知する(ST64)。後述するように、この通知を受けた通信部12は、アクセス許可通知を返送するので、制御部11はその通信部12からのアクセス許可通知を受信したか否かを判断し(ST65)、許可通知を受信したならば、アクセスステータスクリアをし(ST66)、ステップ61に戻り、制御部11が通信側RAM12bに対してアクセスする。
【0085】
一方、通信部12の機能は、図23に示すように、まず、制御部11からアクセス完了通知が送られてきたか否かを判断する(ST71)。そして、係る完了通知を受信したならば、通信側RAM12bに対するアクセス(データのRead/Write)をする(ST72)。次いで、通信部12からアクセス要求通知が送られてきたか否かを判断する(ST73)。そして、送られてこない場合には、依然として通信部12に通信側RAM12bへのアクセス権が有るため、必要に応じてアクセスする。
【0086】
一方、アクセス要求通知を受け取ったならば、通信側RAM12bに対するアクセスを終了するとともに、アクセス許可通知を制御部11に返送する(ST74)。このとき、通信部12では、受信データのノード単位の同時性を保証するため、1ノード分の転送中にアクセス要求通知を受信した場合には、その1ノード分の転送が完了した後でアクセス許可通知を返送することになる。なお、ステップ74の通知により中断した後、制御部11から再びアクセス完了通知を受け取ったならば、上記中断したノードの次のノードの通信側RAM12bへの転送を開始することになる。
【0087】
次に、本発明の要部となる静的名前解決について説明する。この静的名前解決は、プログラミングツール3の静的名前解決部5(図1参照)により実行されるもので、基本的なアルゴリズムは上記した動的名前解決と同様である。まず、プログラミングツール3について説明する。良く知られているように、プログラミングツール3は、制御装置1で実行されるプログラムを開発するための環境であり、ユーザがラダー言語などで作成したプログラムをコンパイルしたり、ライブラリをリンクして制御装置1で実行可能な形式に変換する機能を持つ。
【0088】
また、プログラミングツール3は、複数の制御装置1のプログラムを一括して管理できる。つまり、図24に示すように、プログラミングツール上では、複数の制御装置1のプログラム/変数の情報を一つのプロジェクトとして管理することができる。
【0089】
換言すると、プログラミングツール3では、複数の制御装置1のプログラムを1つのプロジェクトとして管理するので、どのプログラムがネット変数を読み書きしているかを知ることができる。実際には、コンパイル或いはリンク処理の際には、プロジェクトに含まれる複数の制御装置のプログラムで使われているネット変数の情報がわかるので、係るコンパイルまたはリンク時に静的名前解決部5が、解析して名前解決を行う。
【0090】
静的名前解決部5の機能は、図25に示すフローチャートのようになっている。すなわち、まずプロジェクトに含まれる制御装置の中の1つを選び処理対象とする(ST81)。
【0091】
そして、対象の制御装置についてのExport変数リストを作成する(ST82)。このExport変数リスト作成の具体的な処理手順は、動的名前解決時に行ったものと同様であるので、その詳細な説明を所略する。そして、処理対象の制御対象を順次切り替えていき、Export変数リスト未作成の制御対象に対し、当該リストを作成する(ST83,ST84)。
【0092】
このようにして全ての制御装置についてExpor変数リストを作成したならばステップ83の分岐判断はYesとなるのでステップ85に進み、変数のアドレス割り付けを行う。つまり、プロジェクトに含まれる制御機器を1つずつ順に処理対象に選択しステップ82で作成したExport変数リストを参照し、ネット変数のアドレス割り付け、つまり名前解決を行う。そして、名前解決の結果(ネット変数に割り付けられたアドレス)をプログラミングツール3の変数データベース6に格納する(ST85〜ST88)。
【0093】
この名前解決処理も、基本的には動的名前解決と同様の手順に従って行える。但し、動的名前解決の場合には、ネットワーク2を介して制御装置1間でネットネット変数の情報を交換しあって名前解決を行うために、絶対アドレスを求めることができるが、プログラミングツール3では、実際にネットワークに接続されていないため、リンクエリアのどの部分がどの制御装置のための領域であるかはわからないので、リンクエリア内での絶対アドレスを決定できない。そのため、静的名前解決では、各制御装置のリンクエリアの先頭からの相対アドレスでネット変数のアドレス割付けを行う。
【0094】
つまり、プログラミングツール3内の変数データベースのデータ構造も、基本的に図5に示すものと同様になっており、動的名前解決と同様に名前解決した結果を各欄に格納する。そして、名前解決済みのネット変数については、変数データベース(図5)の「静的名前解決済フラグ」をTRUEにするとともに、相対アドレスを「データリンクオフセット」に格納する。
【0095】
また、プロジェクト内で名前解決できなかったネット変数については、変数データベース6の「静的名前解決済フラグ」をFALSEにしておく。この場合、「データリンクオフセット」はデフォルトの0のままとなる。
【0096】
このようにして、静的名前解決された結果(変数データベース6に格納されたデータ)は、ランタイムにダウンロードする。つまり、プログラミングツール3から制御装置1に対し、制御プログラムなどとともにダウンロードする。すると、制御装置1内の変数データベース17には、変数データベース6内に格納されたデータが登録される。
【0097】
そこで、動的名前解決時には、静的名前解決済みフラグが「FALSE」のネット変数について、上記した処理を実行する。また、静的名前解決済み(フラグが「TRUE」)のネット変数については、相対アドレスを絶対アドレスに変換する処理を行う。具体的には、図26に示すように、静的名前解決結果に各エリアの先頭オフセットを加算することによりアドレスの変換を行い、得られた絶対アドレスに基づき、所定のデータを間接参照テーブルに格納する。係るアドレスの変換は、静的名前解決結果変換部25が行う。
【0098】
上記した実施の形態では、プログラミングツール3で静的名前解決可能なものはすべて解決をするようにしたが、本発明はこれに限ることはなく、一部に対してのみ静的名前解決を行うようにしても良い。
【0099】
一例を示すと、デバッグ時などは、デバッグ完了した制御装置のネット変数は静的名前解決し、デバック途中のものは頻繁にプログラムが修正されるので、たとえ静的名前解決が可能であっても行わずに、動的名前解決をするようにする。これにより、結果としてプログラムの修正結果を制御装置1に反映して確認するまでの時間を短縮できる。
【0100】
また、別の例としては、「ある論理名(変数)については、静的名前解決をしない」,「或る制御装置については静的名前解決をしない」などがある。いずれの場合も、プログラミングツール3にて、それぞれの単位(変数,制御装置等)で静的名前解決をするか否かの設定(例えば、フラグなどを用いて指定)を行うようにする。そして、静的名前解決部5は、該当するもののみコンパイル或いはリンク字に名前解決を図るようにする。
【0101】
さらに、上記した実施の形態では、動的名前解決を制御装置の起動時やネットワークへの加入時のように、制御プログラムが動き出す前に実施するようにしたが、本発明はこれに限ることはなく、例えば、制御プログラムを動かしつつ名前解決するようにしてもよい。これにより、システム起動時等の動的名前解決処理を省き、システムの起動を迅速に行えるようにすることもできる。その際、名前解決が終わるまでは、ネット変数の通信は行われないので、制御装置が危険な動作をしないように、ネット変数にはユーザが適切な初期値を設定しておくものとする。
【0102】
【発明の効果】
以上のように、この発明では、具体的なデータの記憶位置情報を知らなくても、論理名でアクセスすることができるので、通信処理を意識することなく、共有するデータへのアクセスが容易に行える。しかも、係る環境を得るために、記憶位置情報を動的に生成,変更するだけでなく、少なくとも一部のデータについては、予めプログラミングツール側で静的名前解決を行うことができるので、実際に制御装置間で通信を行って動的に記憶位置情報を生成する処理数が削減できる。よって、全体としてみると、効率よく・短時間で上記の環境を構築することができる。
【図面の簡単な説明】
【図1】本発明の一実施の形態を示すブロック図である。
【図2】本形態の機能の概要を説明する図である。
【図3】制御部の内部構造の一例を示す図である。
【図4】リンクメモリのデータ構造の一例を示す図である。
【図5】変数データベースのデータ構造の一例を示す図である。
【図6】間接参照テーブルのデータ構造の一例を示す図である。
【図7】Export変数リストのデータ構造の一例を示す図である。
【図8】Import変数リストのデータ構造の一例を示す図である。
【図9】Remote変数リストのデータ構造の一例を示す図である。
【図10】ネットワークシステムの好適な一実施の形態を示す図である。
【図11】プログラミング装置を用いた制御装置へのダウンロードの動作を説明する図である。
【図12】論理名調停部の機能の一部であるExport変数リストの作成機能を示すフローチャートである。
【図13】論理名調停部の機能の一部であるImport変数リストの作成機能を示すフローチャートである。
【図14】Export変数リストを配送する側の処理機能を説明するフローチャートである。
【図15】Export変数リストを受信する側の処理機能を説明するフローチャートである。
【図16】Remote変数リストとImport変数リストから間接参照テーブルを作成する機能を説明する図である。
【図17】論理名調停部の機能の一部である間接参照テーブルの更新機能を示すフローチャートである。
【図18】論理名調停部の機能の一部である間接参照テーブルの更新機能の具体例を示す概念図である。
【図19】制御実行部の機能を示すフローチャートである。
【図20】制御装置の実行フェーズの一例を示す図である。
【図21】制御装置内の制御部側RAMと通信側RAM間でのデータの転送を説明する図である。
【図22】制御装置内の制御部側RAMと通信側RAM間でのデータの転送のシーケンス(制御部側)を示すフローチャートである。
【図23】制御装置内の制御部側RAMと通信側RAM間でのデータの転送のシーケンス(通信部側)を示すフローチャートである。
【図24】プロジェクトの管理単位構成を示す図である。
【図25】静的名前解決部の機能を説明するフローチャートである。
【図26】制御装置内で行われる相対アドレスと絶対アドレスの変換の一例を示す図である。
【符号の説明】
1 制御装置
2 ネットワーク
3 プログラミングツール
5 静的名前解決部
6 変数データベース
11 制御部
12 通信部
15 リンクメモリ
16 間接参照テーブル
17 変数データベース
18 制御実行部
19 論理名調停部
20 Export変数リスト
21 Import変数リスト
22 Remote変数リスト
25 静的名前解決結果変換部

Claims (1)

  1. ネットワークに接続される複数の制御装置間で変数データを共有する分散制御システムと、前記複数の制御装置のためのプログラミングツールとを備えたシステムであって、
    前記プログラミングツールは、
    前記複数の制御装置がそれぞれ使用する変数データを特定する論理名と、その変数データのサイズと、を対応付けたテーブルをその変数データを出力する制御装置と関連づけて記憶する変数データベースと、
    前記変数データベースをアクセスして、前記変数データを出力する制御装置との関連づけから、その変数データを出力する制御装置を特定し、その特定した制御装置における出力変数の変数データを格納するエリアにおけるその変数データを格納する位置を特定するための前記エリアの先頭からのオフセット値からなる相対アドレスを、1番目に格納する変数データの前記オフセット値は0とし、n番目に格納する変数データの前記オフセット値は1番目からn−1番目までに格納した各変数データのサイズの総和となるように求め、その求めた相対アドレスを論理名と関連付けて前記変数データベースに格納する静的名前解決手段と、
    前記相対アドレスを含む変数データベースを前記制御装置にダウンロードする手段と、を備え
    前記制御装置は
    ネットワークを介して前記他の制御装置との間で、データ交換をする通信部と、
    前記通信部から出力する出力変数の変数データを格納する自ノードエリア記憶部と、
    前記通信部を介して他の制御装置から送られてきた入力変数の変数データを格納する他ノードエリア記憶部と、
    前記自ノードエリア記憶部並びに前記他ノードエリア記憶部に格納された変数データをアクセスするために用いる絶対アドレスからなる記憶位置情報が格納される間接参照テーブルと、
    前記変数データを特定する論理名と、その論理名についての前記記憶位置情報が格納された前記間接参照テーブル内の格納領域を特定する格納領域特定情報と、を対応付けた対応テーブルと、
    を備え、
    前記他ノードエリア記憶部は、前記他の制御装置ごとに連続した格納領域が設定され、
    前記複数の制御装置のうち同一の論理名の変数データを前記出力変数としてもつ制御装置は、その制御装置の前記自ノードエリア記憶部におけるその変数データを格納する格納位置を、その自ノードエリア記憶部の先頭アドレスに前記プログラミングツールから与えられるその変数データについての相対アドレスを加算して、その変数データを格納する前記自ノードエリア記憶部の格納位置を特定する前記記憶位置情報を求め、求めた記憶位置情報を前記間接参照テーブルに記憶する自ノードエリア記憶部用の変換手段を備え、
    前記複数の制御装置のうち前記同一の論理名の変数データを前記入力変数としてもつ制御装置は、その制御装置の前記他ノードエリア記憶部に設定された前記出力変数としてもつ制御装置用の前記格納領域における格納位置を、その格納領域の先頭アドレスに前記プログラミングツールから与えられるその変数データについての相対アドレスを加算して、その変数データを格納する前記他ノードエリア記憶部の格納位置を特定する前記記憶位置情報を求め、求めた記憶位置情報を前記間接参照テーブルに記憶する他ノードエリア記憶部用の変換手段を備えたことを特徴とするシステム。
JP2001073626A 2001-03-15 2001-03-15 システム Expired - Lifetime JP4207105B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001073626A JP4207105B2 (ja) 2001-03-15 2001-03-15 システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001073626A JP4207105B2 (ja) 2001-03-15 2001-03-15 システム

Publications (2)

Publication Number Publication Date
JP2002278606A JP2002278606A (ja) 2002-09-27
JP4207105B2 true JP4207105B2 (ja) 2009-01-14

Family

ID=18931023

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001073626A Expired - Lifetime JP4207105B2 (ja) 2001-03-15 2001-03-15 システム

Country Status (1)

Country Link
JP (1) JP4207105B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005129026A (ja) * 2003-10-02 2005-05-19 Omron Corp プログラマブルコントローラおよび通信ユニットならびにコントローラシステムおよびデータ処理方法ならびに変数解決方法およびデータ受渡方法
JP4596153B2 (ja) * 2003-10-02 2010-12-08 オムロン株式会社 プログラマブルコントローラおよびコントローラシステムならびに変数解決方法
JP4883194B2 (ja) * 2003-10-02 2012-02-22 オムロン株式会社 プログラマブルコントローラおよびコントローラシステム
JP4544422B2 (ja) * 2005-04-19 2010-09-15 オムロン株式会社 プログラマブル・コントローラ
JP5464027B2 (ja) * 2010-04-15 2014-04-09 三菱電機株式会社 ネットワークパラメータの自動設定プログラム、及びプログラマブルコントローラの周辺装置
JP5444112B2 (ja) * 2010-04-30 2014-03-19 株式会社東芝 プラント制御システムおよびプログラムリロケート方法
DE112013006644T5 (de) 2013-03-07 2015-11-05 Mitsubishi Electric Corporation Engineering-Tool
JP6375666B2 (ja) * 2014-03-31 2018-08-22 株式会社ジェイテクト Plcおよびplc用のプログラミングツール
JP6292096B2 (ja) * 2014-04-24 2018-03-14 富士電機株式会社 プログラマブルコントローラシステム、その支援装置
WO2017168674A1 (ja) * 2016-03-31 2017-10-05 東芝三菱電機産業システム株式会社 プラント監視制御システム用データ再生装置
JP6816554B2 (ja) * 2017-02-22 2021-01-20 オムロン株式会社 制御システム、制御装置および制御プログラム
JP6591116B1 (ja) * 2018-03-07 2019-10-16 三菱電機株式会社 プログラマブルロジックコントローラのcpuユニット、プログラマブルロジックコントローラ、方法、及びコンピュータ
JP7361669B2 (ja) * 2020-09-01 2023-10-16 株式会社日立産機システム 制御装置
JP2022138400A (ja) * 2021-03-10 2022-09-26 オムロン株式会社 制御システム、サポート方法およびプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61120202A (ja) * 1984-11-16 1986-06-07 Hitachi Ltd 処理制御用デ−タ保守の方法
JPH083730B2 (ja) * 1988-09-07 1996-01-17 横河電機株式会社 ラダー・プログラム変換装置
JPH043205A (ja) * 1990-04-20 1992-01-08 Yokogawa Electric Corp データ・アクセス・システム
JP2000268016A (ja) * 1999-03-15 2000-09-29 Omron Corp 分散制御システム並びにその構成要素

Also Published As

Publication number Publication date
JP2002278606A (ja) 2002-09-27

Similar Documents

Publication Publication Date Title
JP4207105B2 (ja) システム
JP2009009607A (ja) ネットワークシステム
US6360248B1 (en) Data processing method and device
JP2986075B2 (ja) ローカル・オブジェクト・アドレス及びグローバル・オブジェクト識別子を結合して単一オブジェクト・ポインタにするためのシステム
JP4021534B2 (ja) プロセッサ特定アプリケーションの実行方法
EP0620522A2 (en) High performance dynamic linking through caching
JPH0944342A (ja) コンピュータネットワークシステム及びそのオペ レーティングシステムの版数管理方法
JP2002007211A (ja) 圧縮された命令を有するプロセッサ及びプロセッサのための命令を圧縮するための方法
JPH02214994A (ja) Icカード
EP0903667B1 (en) Identifying a data structure and recording method
CN110471675B (zh) 一种程序烧录方法、系统、装置及计算机可读存储介质
JP6119452B2 (ja) プログラマブルコントローラシステム、その支援装置、プログラマブルコントローラ、プログラム
JP3548777B2 (ja) コントロール制御装置
US5479614A (en) Object sensor processing method and processor
JP4778312B2 (ja) データ処理装置、プログラム、エディタ装置および記録媒体
JPH11249873A (ja) ドライバ機能の動的管理方式及び動的管理方法
JPH11338719A (ja) 計算機システム
KR100421796B1 (ko) 컴퓨터제어시스템
JPH10187468A (ja) 並列分散処理システムおよびその方法
JP3693311B2 (ja) 分散処理システム
JP2001331457A (ja) 分散共有メモリ方式
CN115129321A (zh) 一种利用c++17特性对Protobuf库改进方法
CN114489822A (zh) 热启动实现方法的装置
JP2003196087A (ja) マイクロコントローラのメモリアドレッシング方法及びページマッピング装置
JPWO2020213059A1 (ja) プログラム作成支援装置、プログラム作成支援方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080610

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080811

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4207105

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111031

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121031

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121031

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131031

Year of fee payment: 5

EXPY Cancellation because of completion of term