JP2002269024A - 制御機器並びに拡張ボード及び通信ユニット - Google Patents

制御機器並びに拡張ボード及び通信ユニット

Info

Publication number
JP2002269024A
JP2002269024A JP2001072570A JP2001072570A JP2002269024A JP 2002269024 A JP2002269024 A JP 2002269024A JP 2001072570 A JP2001072570 A JP 2001072570A JP 2001072570 A JP2001072570 A JP 2001072570A JP 2002269024 A JP2002269024 A JP 2002269024A
Authority
JP
Japan
Prior art keywords
data
memory
control program
data area
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2001072570A
Other languages
English (en)
Other versions
JP3932817B2 (ja
Inventor
Kasuke Nagao
嘉祐 長尾
Masanori Kadowaki
正規 門脇
Masayuki Masuda
真之 益田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2001072570A priority Critical patent/JP3932817B2/ja
Priority to US10/084,581 priority patent/US6725288B2/en
Priority to DE10210675A priority patent/DE10210675B4/de
Publication of JP2002269024A publication Critical patent/JP2002269024A/ja
Application granted granted Critical
Publication of JP3932817B2 publication Critical patent/JP3932817B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/128Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine for dedicated transfers to a network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Programmable Controllers (AREA)
  • Control By Computers (AREA)

Abstract

(57)【要約】 【課題】 プラグアンドプレイ方式が実現できるコント
ローラを提供すること 【解決手段】 デバイス検出サービス17にて新たにネ
ットワークに接続されたデバイス5を検出し、そのデバ
イスの識別情報を取得する。取得した識別情報に基づ
き、メモリマップ設定サービス18は、コントローラ1
0内のI/Oメモリ11上におけるデバイスとデータの
送受をするためのデバイスデータ領域を設定するととも
に、そのデバイスデータ領域と、制御プログラムが参照
するデバイスに関連づけられたI/Oメモリ上の変数デ
ータ領域と関連づけたメモリマップを作成し、サイクリ
ックサービス21とデータ転送サービス19に渡す。サ
イクリックサービスはメモリマップに従いI/Oメモリ
上のデバイスデータ領域を使用してデバイスと定期的に
データリンク方式でデータの送受を行い、データ転送サ
ービスにより変数データ領域とデバイスデータ領域の間
でデータを転送する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、制御機器並びに
拡張ボード及び通信ユニットに関するものである。
【0002】
【発明の背景】良く知られているように、FA(Factor
y Automation)などの工業領域におけるコントロールシ
ステムには、PLCなどの制御装置と、その制御装置に
より制御される機器(デバイス)を適宜組み合わせて構
築される。PLCには、直接或いはネットワークを介し
て1または複数のデバイスが接続されている。
【0003】そして、PLCは、各デバイスと通信を行
い、ユーザプログラムにて所定の処理を行うことを繰り
返しサイクリックに実行する。このとき、通常、デバイ
スに対してネットワーク上にユニークに設定される識別
子としてのノード番号を付与し、そのノード番号(ネッ
トワークアドレス)を指定してアクセスする。なお、デ
バイスがバス接続されている場合には、ノード番号はユ
ニット番号となるが、基本的な考えは同じである。ま
た、実際のデータの通信は、PLC内のI/Oメモリに
対し、予め各デバイス等が使用するメモリアドレスを割
り付けておき、デバイスと通信するユーザプログラムは
当該メモリに対して読み書きをするようにしている。
【0004】このように、各デバイス毎に各種のアドレ
スを設定する必要がある。そこで、係るアドレスの割り
付けが煩雑であるので、係る割り付けが自動的に行える
と便利である。パソコンなどに代表されるOA(Office
Automation )の世界で用いられるプラグアンドプレイ
方式により、デバイスの装着とともに自動的にアドレス
等の割り付けが実行できる環境ができると便利である。
【0005】しかし、パソコンなどの場合、装着される
デバイスとしては、数個程度であるのに対し、PLCの
場合には、ネットワークに多数の入力デバイス,出力デ
バイスが接続され、そのデバイスにはさらにセンサやリ
レー(ソレノイド)等のI/O機器等が接続されてお
り、1つのPLCが管理する外部機器の数は数百から数
千のオーダーになることもある。従って、単純にパソコ
ンにおけるプラグアンドプレイ方式を転用することはで
きない。
【0006】さらに、自動的にPLCの資源を割り当て
ると、アクセスすべき資源(メモリアドレスなど)がそ
の都度変わってしまう。そして、PLCにおけるユーザ
プログラムは、ラダープログラムに代表されるようにプ
ログラム中に直接参照先のアドレスを記述するものが良
く用いられる。
【0007】従って、まず自動的に割り当たられたメモ
リアドレスを、人手によりプログラム中で設定しなけれ
ばならず、上記のようにその数が多くなるほど煩雑さが
ます。しかも、上記したようにメモリアドレスがその都
度変わってしまうと、プログラムの改定を余儀なくされ
しまい、煩雑である。
【0008】この発明は、プラグアンドプレイ方式が実
現でき、さらに、プラグアンドプレイに対応していない
機器であっても対応可能に拡張することのできる制御機
器並びに拡張ボード及び通信ユニットを提供することを
目的とする。
【0009】
【課題を解決するための手段】この発明による制御機器
では、接続されたデバイスを制御する制御機器であっ
て、直接または間接的に接続されているデバイスを検出
し、そのデバイスの識別情報を取得するデバイス検出手
段と、前記取得した識別情報に基づき、制御機器内のメ
モリ上における前記デバイスとデータの送受をするため
のデバイスデータ領域を設定するとともに、そのデバイ
スデータ領域と、制御プログラムが参照する前記デバイ
スに関連づけられた前記メモリ上の変数データ領域と関
連づけたメモリマップを作成するメモリマップ設定手段
と、前記メモリマップに従い制御機器内のメモリ上のデ
バイスデータ領域を使用して前記デバイスと定期的にデ
ータリンク方式でデータの送受をする通信手段と、前記
メモリマップに従い前記メモリ上の前記変数データ領域
と前記デバイスデータ領域の間でデータを転送するデー
タ転送手段とを備えて構成している。
【0010】直接とは、バスなどを介して制御機器に接
続されることを意味し、間接的とはネットワークを介し
て、或いは制御機器などを介して接続されることを意味
する。識別情報は、個々のデバイスに割り付けられ、個
体識別をするための情報であり、例えば、シリアル番号
やデバイス名称などがあり、システム上ユニークなもの
となる。
【0011】制御機器は、接続されたデバイスとデータ
通信をし、その動作を制御することのできる装置であ
り、広義ではFAに用いられる機器で、例えば、産業用
ロボットなどが含まれる。また、狭義では、コントロー
ラ、つまり、生産製造分野において、ユーザが記述した
制御プログラムに基づいて、センサなどの入力データか
ら、ソレノイドコイルなどへの出力データを算出、出力
し、制御対象(ロボット、シリンダ、モータなどの生産
ラインの稼動要素)を動作させる機器である。例えば、
モータの角度制御,トルク制御などを行うボードコンピ
ュータ等や、I/O制御を行うプログラムロジックコン
トローラ(PLC)等がある。
【0012】デバイスは、コントローラ等への入力デー
タ、コントローラからの出力データを、ネットワークあ
るいはバスなどを経由して受け取る生産ラインの構成要
素を指す。センサ,スイッチ,多点入力端子,カメラな
どの入力機器や、ソレノイドコイル,多点出力端子,シ
リンダ,モータなどの出力機器、ロボットなどの入力と
出力の複合機器などがある。また、コントローラ自身
も、入力と出力の複合機器として振る舞うことがあり、
係る場合には、本発明で言うデバイスとなる。
【0013】通信手段は、実施の形態ではサイクリック
サービス21に対応する。また、データ転送手段は、実
施の形態では、データ転送サービス19や、オブジェク
トプログラム実行エンジン43等に対応する。メモリ
は、実施の形態ではI/Oメモリ11に対応する。
【0014】この発明によれば、データ転送手段により
メモリ上のデータを別のデータ領域に転送することがで
きるので、制御プログラムにおける外部入出力変数とし
て、プログラム中に直接デバイスのアドレス等を記述す
る必要が無く、制御プログラムは変数データ領域を固定
的に特定しても、デバイスデータ領域との間でデータの
転送ができ、ひいては、通信手段を介してデバイスとデ
ータの送受が行える。つまり、外部入出力変数の入出力
処理が行える。そして、参照先のデバイスのアドレスが
変更されても、メモリマップを更新することにより、変
数データ領域を返ることなく参照できる。つまり、制御
プログラムを変更することなく、デバイスのアドレス変
更に対応できる。
【0015】そして、デバイス検出手段と、メモリマッ
プ設定手段を設けたことにより、メモリマップを自動的
に作成することができる。つまり、コントローラ等で実
行される制御プログラムの記述(例えば変数)と、着脱
可能なデバイスとを、自動的に関連付け、制御プログラ
ムが常に正しいデバイスにアクセスできるようなプラグ
アンドプレイを実現できる。
【0016】好ましくは、デバイスを制御する制御プロ
グラムと、前記デバイスを関連付けた関連情報を記憶す
る関連情報記憶手段を持ち、前記制御プログラムが前記
デバイスにアクセスするに際し、前記記憶手段に格納さ
れた関連情報を参照することによりアクセス先を特定
し、実行するように構成することである。この発明は、
第3の実施の形態により実現されている。そして、関連
情報記憶手段は、実施の形態ではオブジェクトデータベ
ース41に対応する。
【0017】このように、関連情報を備えることによ
り、制御プログラムにおいて、入出力データにアクセス
するデバイスの指定方法で、システム構成,ネットワー
ク構成に依存しない記述方法とすることができる。例え
ば、デバイスの入出力データを変数でアクセスできるよ
うにすることなどがある。オブジェクト化はさらに論理
化をより進化させた概念であり、デバイスを操作するた
めのデータやプログラムを内包して管理し、それら内部
データや内部プログラムの存在を意識することなく制御
プログラムをプログラミングできるようにすることであ
る。代表的な効果の1つとして、指定の仕方・内容が同
じであれば、例えデバイスが異なるものであっても、制
御プログラムからは区別なくデバイスにアクセスするこ
とができる。
【0018】また、本発明に係る拡張ボードは、接続さ
れたデバイスを制御する制御機器に接続される拡張ボー
ドである。そして、直接または間接的に接続されている
デバイスを検出し、そのデバイスの識別情報を取得する
デバイス検出手段と、前記取得した識別情報に基づき、
制御機器内のメモリ上における前記デバイスとデータの
送受をするためのデバイスデータ領域を設定するととも
に、そのデバイスデータ領域と、制御プログラムが参照
する前記デバイスに関連づけられた前記メモリ上の変数
データ領域と関連づけたメモリマップを作成するメモリ
マップ設定手段と、前記メモリマップに従い前記メモリ
上の前記変数データ領域と前記デバイスデータ領域の間
でデータを転送するデータ転送手段とを備えて構成する
ことができる。
【0019】係る拡張ボードは、上記したプラグアンド
プレイを実現するための機能を備えており、この拡張ボ
ードを実装することにより、プラグアンドプレイの無い
従来の制御機器が、プラグアンドプレイに対応すること
ができる。
【0020】また、本発明に係る通信ユニットは、接続
されたデバイスを制御する制御機器を構成する前記デバ
イスと通信するための通信ユニットであって、直接また
は間接的に接続されているデバイスを検出し、そのデバ
イスの識別情報を取得するデバイス検出手段と、前記取
得した識別情報に基づき、制御機器内のメモリ上におけ
る前記デバイスとデータの送受をするためのデバイスデ
ータ領域を設定するとともに、そのデバイスデータ領域
と、制御プログラムが参照する前記デバイスに関連づけ
られた前記メモリ上の変数データ領域と関連づけたメモ
リマップを作成するメモリマップ設定手段と、前記メモ
リマップに従い制御機器内のメモリ上のデバイスデータ
領域を使用して前記デバイスと定期的にデータリンク方
式でデータの送受をする通信手段と、前記メモリマップ
に従い前記メモリ上の前記変数データ領域と前記デバイ
スデータ領域の間でデータを転送するデータ転送手段と
を備えて構成することができる。
【0021】上記拡張ボードと同様に、本発明の通信ユ
ニットは、上記したプラグアンドプレイを実現するため
の機能を備えている。従って、制御機器の本体ユニット
と、この通信ユニットを組み合わせることにより、プラ
グアンドプレイに対応する制御機器を構成することがで
きる。
【0022】
【発明の実施の形態】図1は、本発明の第1の実施の形
態を示している。同図に示すように、PLC等のコント
ローラ10は、ツール1で作成され、ダウンロードされ
たユーザプログラム(制御プログラム)をサイクリック
に実行し、ネットワークやバスシステムを介して接続さ
れた入出力デバイス5を管理する。この基本的なシステ
ム構成は、従来のものと同様である。もちろん、ツール
1は、ダウンロード後は、コントローラ10との接続を
解除しても良い。
【0023】また、本形態で用いられる入出力デバイス
5は、コントローラ10からのコマンドメッセージを受
信し、そこに記述された指示を実行してレスポンスメッ
セージをコントローラ10に返す。また定期的に或いは
イベント的に入出力デバイス5に接続されたセンサやス
イッチのデータを取得し、I/Oデータとしてコントロ
ーラ10に送出する機能も有する。更に、デバイス個体
を識別するデバイス情報(例えば、シリアル番号,デバ
イス名称など)を記憶保持し、コントローラ10からの
所定のコマンドメッセージに対し、デバイス情報をレス
ポンスメッセージとして返信する機能も有する。
【0024】ツール1は、コントローラ10の制御プロ
グラムを作成(編集含む)したり、入出力デバイス5と
タグ(後述する)を関連付けたりし、それら作成したプ
ログラム等をコントローラ10に送出するもので、具体
的には、制御プログラムエディタ2と、タグ記憶部3
と、デバイス・タグ設定部4を備えている。
【0025】制御プログラムエディタ2は、ラダー言語
からなる制御プログラムを作成(編集)するユーザイン
タフェースである。そして、作成した制御プログラムを
送出する機能も持つ。良く知られているように、ラダー
言語で作成される制御プログラムは、例えば、図2に示
すように規定される。図に示すように、制御プログラム
では、入出力に変数が使用される。図示の例では、「始
動SW」,「停止」,「始動」等と記述されているもの
である。
【0026】変数には、デバイスに関連づけられる外部
入力変数や外部出力変数(以降、「外部入出力変数」)
と、それ以外の内部変数がある。外部入出力変数は、図
示の例では「始動SW」,「停止SW」,「始動ランプ
電源」等に対応する。そして、外部入出力変数の場合、
デバイスとの関連づけを行う必要があり、係る関連づけ
をデバイス・タグ設定部4で行う(具体的な処理機能は
後述する)。
【0027】これら外部入出力変数などは、コントロー
ラ10内のI/Oメモリ上に領域が割り当てられるが、
本形態では制御プログラムエディタ2が自動的に行う。
そして、制御プログラム内の変数に関する情報は、タグ
記憶部3に格納される。
【0028】すなわち、タグ記憶部3は、制御プログラ
ムで使用されているすべての変数の情報が格納される。
格納される情報は、制御プログラムエディタ2から与え
られ、図3に示すようなデータ構造で変数の情報が記憶
保持されるようになっている。
【0029】つまり、変数名,メモリアドレス,データ
タイプから構成される変数情報を格納する。ここで、上
記した例に対応づけると、「変数名」は、制御プログラ
ム内での変数の名称であり、「始動」,「始動SW」等
が対応する。
【0030】また、「メモリアドレス」は、制御プログ
ラムエディタによって自動的に決定されるものであり、
制御プログラムがアクセスするメモリアドレスを示す。
このメモリアドレスは、アクセスメモリ指定,チャネル
番号,ビット位置から構成される。なお、アクセスメモ
リ指定は、通常「I/Oメモリ」であり、データタイプ
は、変数の型を示す。例えばBOOL型,INT型など
である。
【0031】通常のツールは、上記した制御プログラム
エディタ2と、タグ記憶部3から構成されるが、本発明
では、デバイス・タグ設定部4を設けている。このデバ
イス・タグ設定部4は、制御プログラムのユーザが、タ
グ記憶部3に格納された変数情報を参照して、どの変数
が外部入出力変数かを指定するユーザインタフェースで
ある。ツール1の表示画面に、図4に示す入力画面を表
示し、必要箇所にユーザが入力した情報に基づき、入出
力変数に関する情報を設定し、コントローラ10に送出
する。
【0032】すなわち、デバイス・タグ設定部4は、ま
ず、タグ記憶部3から変数名の情報を取得し、図4に示
すように入力画面の所定位置に変数名を差し込んだ一覧
表を生成し、ツール1の表示画面上に表示する。
【0033】この表示画面に表示された一覧表の中で、
ユーザ入力の項目をユーザが図示省略のツール1の入力
装置を操作して指定する。デバイスの指定は、本形態で
はシリアル番号、或いはノード番号により行う。つま
り、それらの番号を所定の形式のテキストに書き換える
ことにより、その変数が外部入出力変数として指定され
たことになる。なお、何も入力しなければ、その変数は
<内部変数>となる。
【0034】なお、本形態では、基本的にデバイスはシ
リアル番号で指定するようにする。つまり、シリアル番
号は、そのデバイス個体それぞれにつけられた製造番号
であり、同じシリアル番号を持ったデバイスは存在しな
いので、ネットワーク上に存在するユニークな番号(I
D)となる。よって、後述するごとく、コントローラ1
0は、ユニークな番号であるシリアル番号によって個々
のデバイスを識別し、資源の割り当てを自動的に行うこ
とができる。
【0035】さらに、シリアル番号が不明な場合にも対
応できるようにしている。すなわち、ノード番号による
指定を許容するようにしているため、ユーザはシリアル
番号が不明の場合には、ノード番号による指定を行うよ
うにする。
【0036】もちろん、実際にこの設定情報をコントロ
ーラを反映する前には、ノード番号をシリアル番号に変
換する必要がある。そこで、ツール1をネットワークに
直接または間接的に接続し、画面中の「ノード番号をシ
リアル番号に置換」のアイコン部分をクリックする。す
ると、デバイス・タグ設定部4は、該当するノード番号
で指定されたノード番号のデバイスに対し、シリアル番
号の問い合わせを行う。そして、この問い合わせに対
し、そのノードに接続されたデバイスが、自己が持つ情
報を返信してくるので、係る情報を受信し、対応するノ
ード番号で指定したデバイス情報をシリアル番号のもの
に置き換える処理を実行する。
【0037】そして、全ての指定が終了したならば、画
面中の「コントローラに設定を反映する」のアイコン部
分をクリックする。すると、デバイス・タグ設定部4
は、設定内容をコントローラ10に送出される。なお、
このときコントローラ10に送出するデータは、外部入
出力変数に関する情報のみである。
【0038】更に本形態では、図5に示すように、デバ
イス一覧の情報収集機能を持たせている。すなわち、
「実際に編集されているデバイスを取得」のアイコンを
クリックすると、ブロードキャストによりネットワーク
に接続された全てのデバイスに対して、デバイス名とシ
リアル番号の問い合わせを行う。これを受けた各デバイ
スが、所定の情報を返信するので、その返信を受けたツ
ール1(デバイス・タグ設定部4)は、取得した情報に
基づき、図5に示すようなデバイス一覧表を表示画面に
出力する。そして、ユーザは係る表示された一覧画面を
参考にして、図4に示す入力画面中の所定位置にシリア
ル番号を入力することもできる。
【0039】さらにまた、所定のノードに接続されたデ
バイスに対してシリアル番号等の問い合わせをし、返信
を受ける機能をコントローラ10に組み込むようにする
と、ツール1側ではノード番号で入力された場合には、
そのままコントローラ10へ設定情報を送り、コントロ
ーラ10側でノード番号からシリアル番号への置換を行
うようにしても良い。
【0040】従来のツールは、制御プログラムエディタ
とタグ記憶部のみから構成されるが、これらの各機能ブ
ロックは、本実施の形態においても機能的になんら付加
するものがない。従って、既存のツールに含まれる機能
ブロックを変更することなく、デバイス・タグ設定機能
ブロックを追加するだけでプラグアンドプレイに対応し
たツールとすることができる。
【0041】これにより、ツールの大幅な改造が不要と
なるので、開発期間の短縮,コスト削減といった効果が
得られる。またユーザにとっては既存のツールを買い換
えることなく、新規の機能ブロックを買い足すだけでプ
ラグアンドプレイ機能を使うことが可能になる。
【0042】次に、コントローラ10を説明する。コン
トローラ10は、ツール1と通信をする通信サービス1
4を有している。この通信サービス14は、ツール1か
らのコマンドによって所定の機能ブロック部に処理を依
頼したり、データを転送する機能を持つ。ツール1から
与えられる主なコマンドは、「設定データ記憶コマン
ド」,「制御プログラム記憶コマンド」,「制御プログ
ラム実行コマンド」,「制御プログラム停止コマンド」
などがある。
【0043】データを転送する機能としては、制御プロ
グラムエディタ2が使用する「制御プログラム記憶コマ
ンド」に基づき、制御プログラムエディタ2が作成(編
集)した制御プログラムをツール1から受け取り、制御
プログラム記憶部12に格納するものがある。なお、こ
こで取り扱われるデータ内容は、実際には制御プログラ
ムエディタ2で作成された制御プログラムをコンパイル
したものとなる。また、デバイス・タグ設定部4が使用
する「設定データ記憶コマンド」に基づき、デバイス・
タグの設定情報をツール1から受け取り、設定記憶部1
3に格納するものがある。
【0044】一方、処理の依頼の機能としては、ユーザ
の操作に基づきツール1からの指示や、コントローラ1
0の外部に設けられたスイッチからの信号により実行さ
れる「制御プログラム実行コマンド」に基づき、スケジ
ューラ15に制御プログラムの実行を指示するものであ
る。なお、スケジューラ15の指示に従い、制御プログ
ラム実行エンジン16は、制御プログラム記憶部12に
格納された制御プログラムの評価実行が開始される。ま
た、「制御プログラム停止コマンド」を受けた場合、通
信サービス14は、スケジューラ15に対し、制御プロ
グラムの評価実行停止を指示する。
【0045】なお、制御プログラム記憶部12への制御
プログラムの格納や、その格納された制御プログラムの
評価実行・停止等は、従来公知のものと同様であるの
で、その詳細な説明を省略する。
【0046】設定記憶部13は、図6に示すようなデー
タ構造で設定情報が格納されている。すなわち、変数
名,メモリアドレス,データタイプ,変数種別,デバイ
スアドレスから構成される。ここで、変数名,メモリア
ドレス,データタイプは、タグ記憶部3に記憶され、デ
バイス・タグ設定部4から送られてきたデータを格納す
る。更に、変数種別は、入力外部変数と出力外部変数の
別を示す数値が格納される。デバイスアドレスは、デバ
イスシリアル番号,チャネル番号並びにビット位置から
構成される。
【0047】ここで本形態では、デバイス検出サービス
17を設け、コントローラ10に直接または間接的に接
続されたデバイスを定期的に監視するようにしている。
すなわち、ネットワーク等に接続された各デバイスに対
し、メッセージサービス20(機能ブロック部からの指
示に従って、ネットワーク上の指定ノード、或いは全ノ
ードにコマンドメッセージを送出し、入出力デバイス5
からのレスポンスメッセージを受信し、受信したデータ
を機能ブロック部に返す機能を持つ)を介してデバイス
情報取得のコマンドメッセージを送信する。
【0048】すると、そのコマンドメッセージに応答し
て各デバイスが、レスポンスメッセージとしてデバイス
名,シリアル番号,ノード番号,入出力サイズ,メーカ
名などのデバイス情報を送ってくるので、そのデバイス
情報を取得する。そして、取得したデバイス情報と既に
保持しているデバイス情報を比較し、差分がある場合に
は、新規なデバイスがネットワーク等に接続されたと判
断し、その差分(新規なデバイスに関する)情報をメモ
リマップ設定サービス18に送る。なお、コントローラ
10に電源を投入した直後は、直前のデータがないの
で、メモリマップ設定サービスに取得した情報を送出す
る。
【0049】メモリマップ設定サービス18は、デバイ
ス検出サービスからデバイス情報を取得し、その情報を
元にメモリマップを作成するとともに、作成したメモリ
マップはデータ転送サービス、サイクリックサービスに
送出する。
【0050】メモリマップは、データ源とそのデータ源
をI/Oメモリ上のどこにマッピング(コピー)するか
を示した情報であり、図7に示すようなデータ構造とな
っている。そして、データ転送種別としては、「デバ
イスI/OデータからI/Oメモリ」,「I/Oメモ
リからデバイスI/Oデータ」,「I/Oメモリから
I/Oメモリ」の3種類が用意され、そのうちのいずれ
かを示す数値が格納される。そして、それら3つの種類
に応じて、データソースアドレス並びに転送先I/Oメ
モリアドレスは、図8に示す内容が登録される。さら
に、データソースデータタイプには、BOOL型、IN
T型などデータ型を示す数値が格納される。さらに、配
列データの場合には要素数もいっしょに格納される。
【0051】上記した3つの種類のうち、,は、従
来から生産製造分野において一般に用いられているもの
で、デバイスI/Oデータの参照方式「データリンク」
に対応するデータである。そして、本発明では、上記
のデータ形式を用意することにより、後述するようにマ
ップ情報を外部入出力変数の入出力処理に使用すること
ができる。
【0052】そして、メモリマップ設定サービス18の
具体的な処理機能は、図9から図11に示すフローチャ
ートのようになっている。すなわち、まずデバイス毎に
先頭アドレスを割り当てる(ST1)。これは、図1に
おける,のデータを格納するための処理であり、従
来公知の部分である。この処理ステップの具体的なアル
ゴリズムは、図10に示すようになる。
【0053】すなわち、まずデバイス検出サービス17
から取得されたデバイス情報に基づき、接続された全て
のデバイスの入力サイズの総和と出力サイズの総和を求
める(ST10)。
【0054】そして、先頭のデバイス情報を操作対象に
設定するとともに、入力先頭アドレスと、出力先頭アド
レスを設定する(ST11,ST12)。本例では、入
力データの格納領域に続いて出力データの格納領域を設
定し、各デバイスのそれぞれのデータを隙間無くメモリ
に割り付けるようにしている。
【0055】次いで、処理対象のデバイス情報からデバ
イスのシリアル番号と入出力サイズを取り出し、そのデ
バイスについて、I/Oメモリ(データリンクエリア)
の割り付けを行う(ST13〜ST17)。つまり、現
在設定されている入力先頭アドレスと出力先頭アドレス
をそれぞれそのデバイスについての入力先頭アドレス,
出力先頭アドレスに決定し(ST13,ST14)、決
定したアドレスをシリアル番号を関連付けてメモリマッ
プ設定サービス18が管理するデバイスアドレス情報記
憶部(データ構造は図12参照)に格納する(ST1
5)。さらに、各先頭アドレスに基づく所定のデータ
を、上記したマップ情報に格納する(ST16,ST1
7)。
【0056】操作対象のデバイスが最後のデバイスでな
い場合には、次のデバイスの情報を操作対象にする(S
T18,ST19)。そして、新たな操作対象の入力並
びに出力先頭アドレスを求める(ST20)。つまり、
前回処理したデバイスで使用したメモリ領域分(ステッ
プ13で取得した入力サイズ,出力サイズにより既知)
だけ加算する。その後、ステップ13に戻り、上記処理
を繰り返し実行する。そして、最後のデバイス情報に対
する処理が終了すると、ステップ18の分岐判断でYe
sとなるので、今回の「デバイス毎に先頭アドレスを割
り当て(ST1)」の一連の処理を終了する。
【0057】次いで、変数毎にマップ情報を作成する
(ST2)。この処理ステップの具体的なアルゴリズム
は、図11に示すようになる。つまり、設定記憶部13
内に格納された設定情報を先頭から順に処理をする。す
なわち、先頭の設定情報を操作対象に設定する(ST2
1)。そして、操作対象の設定情報のデバイスアドレス
から、デバイスのシリアル番号を取得する(ST2
2)。このシリアル番号をキーにして、上記ステップ1
の処理で作成したデバイスアドレス情報記憶部をアクセ
スし、そのデバイスの入力,出力先頭アドレスを取得す
る(ST23)。
【0058】さらに、設定情報のデバイスアドレスか
ら、オフセットアドレスとビット位置を取り出すととも
に、変数のメモリアドレス,データタイプ並びに変数種
別を取り出す(ST24,ST25)。そして、取得し
た各情報に基づいて、データリンクエリアにおける変数
位置を求め、変数種別に従ってマップ情報(データ転送
種別)に算出した値を格納する(ST26,ST2
7)。
【0059】最後の設定情報でない場合には、次の設定
情報を操作対象にした後、ステップ22に戻る(ST2
8,ST29)。このようにして、上記した処理を、設
定情報毎に順に繰り返し実行し、全ての設定情報に基づ
いて、変数位置を算出し、マップ情報に格納することに
より、今回の「変数毎にマップ情報を作成(ST2)」
の一連の処理を終了する。
【0060】上記した処理により設定されたマップ情報
に従い、入出力デバイス5が観測した入力データがコン
トローラ10内のI/Oメモリ11に定期的に反映さ
れ、コントローラ10内のI/Oメモリ11上の値を入
出力デバイス5に定期的に出力するデータリンクが実行
される。
【0061】このデータリンクを行うサービスとして、
データ転送種別,のマップ情報に基づいて実行され
るサイクリックサービス21と、データ転送種別のマ
ップ情報に基づいて実行されるデータ転送サービス19
がある。
【0062】サイクリックサービス21は、従来公知の
もので、データ転送種別とのマップ情報を取得し、
その情報に基づいて、I/Oメモリ11上のデータをI
/Oメモリ11上の他のデータ領域に転送するものであ
る。転送するタイミングはスケジューラ15より通知さ
れるタイミングであり、該当するすべてのマップ情報を
処理し終えたらスケジューラ15に処理終了を通知す
る。
【0063】一方、上記ステップ2(ステップ21〜2
9)を実行して生成されたデータ転送種別のマップ情
報は、データ転送サービス19によって呼び出され、デ
ータ転送サービス19は、スケジューラ15から通知さ
れるタイミングに従って、そのマップ情報に基づいて、
I/Oメモリ上のデータを、I/Oメモリ上の他のデー
タ領域に転送する。そして、該当するすべてのマップ情
報の転送処理を終了したらスケジューラ15に処理終了
を通知する。つまり、このデータ転送サービス19によ
り、I/Oメモリ11を外部入出力変数の入出力処理に
使用するところが本発明の特徴の1つである。
【0064】係る処理を図13を用いて詳述する。同図
に示すように、I/Oメモリ11上の所定アドレスに、
データ転送種別からに応じたデータの格納領域が設
定されている。
【0065】すなわち、外部入出力変数の「始動S
W」,「始動ランプ電源」は、制御プログラム内で、I
/Oメモリ11上のアドレスにそれぞれ「チャネル番号
20(CH0020)ビット位置0」「チャネル番号1
00(CH0100)ビット位置1」に割り当てられて
いる。さらに、I/Oメモリ11の先頭チャネル番号1
100(先頭CH1100)から所定サイズ分は、デバ
イス(シリアル番号#123456)5′からのデータ
を格納する領域として割付が行われている。また、先頭
チャネル番号1100(先頭CH1000)から所定サ
イズ分は、デバイス(シリアル番号#789ABC)
5″からのデータを格納する領域として割付が行われて
いる。
【0066】上記した前提において、サイクリックサー
ビス21によるデータ転送処理が、図中実線(太)の矢
印で示すように行われ、データ転送サービス19による
データ転送処理が図中波線(太)の矢印で示すように行
われる。そして、各サービスを稼働しつつ行われる具体
的な外部入出力変数の入出力処理の一例を示すと、以下
のようになる。
【0067】すなわち、まず入力である始動SWをデバ
イス側からたどると、制御プログラム中に記述された始
動SWは、デバイス(シリアル番号#123456)
5′に接続されたスイッチが実体である。そして、係る
スイッチのON/OFF状態(I/Oデータ)はデバイ
ス5′に伝達され、ネットワークを経由してサイクリッ
クサービス21によってコントローラ10内部に収集さ
れる。
【0068】サイクリックサービス21は、メモリマッ
プ設定サービス18によって指定されたメモリマップ情
報に基づき、収集したI/OデータをI/Oメモリ上の
指定位置(ここではチャネル番号1100)を先頭にブ
ロック転送する。
【0069】また、データ転送サービス19は同じくメ
モリマップ設定サービス18によって指定されたメモリ
マップに基づき、サイクリックサービス21によってブ
ロック転送されたI/Oメモリ(ここではチャネル番号
1100)の指定ビットを、制御プログラムが参照する
変数データ領域(ここではチャネル番号20ビット位置
0)にビットデータ転送をする。これにより、制御プロ
グラムは、デバイスによって取り込まれた入力データを
外部入力変数「始動SW」として参照可能となる。
【0070】一方、制御プログラムが外部出力変数「始
動ランプ電源」に出力した値は、メモリマップ設定サー
ビス18で指定された変数データ領域(ここではチャネ
ル番号100ビット位置1)に書き込まれ、次いで、デ
ータ転送サービス19により、デバイス5″に割り付け
られたI/Oメモリの所定領域(ここでは先頭チャネル
番号1000から始まるブロックの所定ビット)にビッ
ト転送され、これに基づきサイクリックサービス21に
より、先頭チャネル番号1000からの所定領域分のデ
ータが、デバイス5″にブロック転送され、デバイス
5″に接続される始動ランプ電源のON/OFFが制御
される。
【0071】このように、本形態によれば、「メモリマ
ップ」というコントローラ10内のサービスによって、
ネットワークの状況(デバイスのノード番号設定状況な
ど)に従い情報が生成され、例えばノード番号が生産ラ
インの運用中に変更されたとしても、その情報に基づい
て制御プログラム内の外部入出力変数と、デバイスとの
関連付けが維持され、適切にデータの入出力が行える。
【0072】また、サイクリックサービス21は一般に
「データリンク」として生産製造分野で広く用いられて
いるデータ入出力の仕組みであり、その仕組みに何らの
変更を加えること無しに上記のデータ入出力の仕組みと
することができる。
【0073】さらに、本発明では、コントローラはシリ
アル番号によってデバイスを特定し、たとえ、そのデバ
イスのノード番号が変更されたとしても、制御プログラ
ムが参照する外部入出力変数のデータ領域に適切にデバ
イスの入力データを格納し、デバイスに変数の値を出力
する。これにより,一度デバイス・タグ設定を行えば、
いかなるデバイス構成の変更があったとしても、その変
更を検出することができる。従来のようにノード番号の
変更により制御プログラムの変更や、メモリ割付の変更
を行う必要が全くない。
【0074】なお、マップ情報からデータを転送するコ
ードで構成される制御プログラムを機械的に生成するこ
とは容易に行える。そして、メモリマップ設定サービス
18がマップ情報から制御プログラムを生成し、制御プ
ログラム記憶部12に記憶保持させ、データ転送をデー
タ転送サービス19が行うのではなく、制御プログラム
実行エンジン16に処理させることもできる(この場
合、データ転送サービスは不要となる)。
【0075】さらに、上記した実施の形態では制御プロ
グラムエディタ2等は機能が追加されていないと説明し
たが、より具体的には、不要な機能がある。すなわち、
従来のコントローラ10の制御プロクラムの場合、外部
入出力変数と、他の内部変数を区別して管理し、特別な
メモリ領域が用意されていた。しかし、本形態では、ユ
ーザが通常の内部変数と区別なく取り扱えるという効果
がある。これにともない、制御プログラムエディタ2に
おいても、内部変数と外部入出力変数を区別して処理す
る必要がなく、制御プログラムエディタの構造,アルゴ
リズムを簡単にできるという効果がある。
【0076】また、コントローラの制御プログラム実行
エンジンも、本発明のために特別な命令語をサポートす
る必要がない。さらに、特別に用意されたメモリ領域も
必要なくなることからメモリアクセスの種類も減らすこ
とができ実行エンジンの命令語体系を簡単にできるとい
う効果も併せて存在する。
【0077】図14は、本発明の第2の実施の形態を示
している。本実施の形態は、基本的に第1の実施の形態
と同様であり、プラグアンドプレイ方式に適用していな
い従来のコントローラを本発明に係るコントローラに変
更するための仕組みを示している。
【0078】すなわち、図1に示した第1の実施の形態
におけるコントローラ10は、従来のコントローラに比
べ、設定機能部13,デバイス検出サービス17並びに
メモリマップ設定サービス18が付加されたものであ
り、その他の機能ブロック部は、従前のものをそのまま
使用することができる。そして、係る追加された機能ブ
ロック部は、従来のデータリンク方式・制御プログラム
方式の機能ブロックに追加されるだけであり、従来のデ
ータリンク方式・制御プログラム方式の機能ブロック内
のアルゴリズムを改造する必要はない。そこで、追加さ
れた機能ブロック部を物理的に拡張ボードとして、従前
の本体部分と分離するようにした。
【0079】具体的には、コントローラ10の内部に、
I/Oデータ,メッセージデータを流すためのバス30
を設け、そのバス30に、CPUユニット31,通信ユ
ニット32,プラグアンドプレイユニット33を連結す
る。それぞれのユニットは物理的に着脱可能なボード
(拡張ボード)形式に構成している。さらに、各ユニッ
ト上に、第1の実施の形態で示した各機能ブロック部が
適宜配置される。
【0080】そして、各ユニット31,32,33は、
バスドライバ31a,32a,33aを経由してデータ
を指定のユニットの通信サービス14,32b,33b
にメッセージを送信することができる。通信サービス1
4,32b,33bはさらにメッセージ内に指定されて
いる機能ブロックにメッセージを送出するようになって
いる。
【0081】本発明との関係で言うと、CPUユニット
31内のI/Oメモリ11を、プラグアンドプレイユニ
ット33のデータ転送サービス19,通信ユニット32
のサイクリックサービス21がバスドライバを経由して
読み書き、データのブロック転送が可能となっている。
なお、排他制御はバスドライバ31a〜33aが行う。
さらに、バスドライバ31a〜33aは、バス30経由
で任意のユニットのCPUに割込みを要求することがで
きる。
【0082】また、ツール1は、ツール1内の通信ドラ
イバ1cからCPUユニット31の通信ドライバ31c
を経由して、CPUユニット31の通信サービス14に
メッセージを送信できる。また、各ユニット31〜33
には、ネットワーク上独立したネットワークアドレスが
付与されており、CPUユニット31の通信サービス1
4は、ツール1から送信されきたメッセージの宛先によ
って、通信ユニット32或いは通信サービス33b,3
3bにメッセージを転送する。これによってツール1
は、CPUユニット31,通信ユニット32並びにプラ
グアンドプレイユニット33にメッセージを送信するこ
とができる。従って、第1の実施の形態で説明した作用
効果を、本実施の形態においても実現することができ
る。
【0083】さらに、上記したように3つのユニットに
分離して実装し、それぞれに独立したネットワークアド
レスが付与されているとともに、各ユニットを物理的に
脱着可能としたことから、例えば、図14に示した構成
のものから、プラグアンドプレイユニット33を取り外
すと、従来からあるコントローラとなる。つまり、プラ
グアンドプレイ機能が不要な場合には、プラグアンドプ
レイユニット33を取り外した状態でコントローラを構
成し、プラグアンドプレイ機能が必要となる場合にはプ
ラグアンドプレイユニット33を構成に追加することに
より、多くの部品を共通にしていずれの対応もとれる。
【0084】一方、特にPLCにおいては、従来から拡
張用のバスシステムを持った構成が一般的である。従っ
て、そのようなバスシステムに併せたプラグアンドプレ
イユニット33を構成することにより、従来のPLC
を、プラグアンドプレイを持ったものに容易に拡張する
ことができる。すなわち、すでに稼働している生産ライ
ンのPLCも拡張できる。
【0085】図15は、本発明の第3の実施の形態を示
している。本実施の形態では、入出力デバイス5とその
入出力デバイス5を管理する制御プログラム(ドライ
バ)を関連づけて一体にした制御オブジェクトという単
位で取り扱いを可能とし、係る取り扱いを行うために必
要な情報をオブジェクトデータベース41に格納するよ
うにしている。
【0086】すなわち、入出力デバイス5を特定するの
に際し、オブジェクト名(デバイス名)を用いて識別す
るようにし構成した。つまり、制御プログラム中でデバ
イスを読み出す場合、従来はアドレスを直接入力するよ
うにしていたが、本形態ではデバイス名で定義するよう
にした。そして、デバイス名で特定されるデバイスが実
際にどこに接続され存在するかの情報を別途用意するよ
うにした。そして、具体的にどこに接続されているか等
の情報は別途管理するようにした。これにより、例え
ば、制御プログラムとデバイスを別のコントローラに接
続(再利用)した際に、アドレス(メモリアドレス,通
信アドレス等)が異なった場合でも、別途管理している
デバイス名とアドレスの関係を修正するだけで済み、制
御プログラムの内容の修正までは不要となる。
【0087】係る処理を実現するため、オブジェクトデ
ータベース41には、制御オブジェクトを構成するデバ
イス情報とデバイスをオブジェクト名で識別するための
情報を保持するために、「制御オブジェクト名」と「制
御オブジェクトを構成するデバイス情報」を格納してい
る。ここで、デバイス情報としては、バス或いはネット
ワーク上におけるデバイスのアドレス(以下、通信アド
レス)である。すなわち、デバイスがPLC等の内部状
態を保持できる場合は、ユーザがPLC等に対して定義
したデバイス名とそのデバイス名がPLC等のデバイス
のどのエリアに保存されているかというアドレス情報が
ある。更に、デバイスが単純なデジタルI/Oのように
内部状態を保持できない場合は、ユーザが定義するデバ
イス名に加え、デバイスの製造メーカが定義するデバイ
スのシリアル番号なども併せて格納するようにしてい
る。さらにまた、ユーザが定義した制御オブジェクトの
インタフェース情報(以下、オブジェクトインタフェー
ス情報:サービス名、サービスに必要なデータの型情
報、オブジェクトの属性名、及びその型情報)を保持す
る仕組みを持つ。
【0088】よって、オブジェクトデータベース41に
より、制御オブジェクトがどのようなデバイスから構成
されているかということと、デバイスをオブジェクト名
という論理名で識別することが可能となる。
【0089】上記各情報は、ツール1により作成された
ものをコントローラ10にダウンロードすることにより
実装される。また、コントローラ10にダウンロードさ
れる際に必要なデータの修正が行われる。
【0090】すなわち、まず、ツール1は、第1の実施
の形態と同様に、制御プログラムエディタ2を備える
が、第1の実施の形態におけるタグ記憶部3,デバイス
・タグ設定部4に替えて、オブジェクト記憶部8とオブ
ジェクトエディタ9を設けている。
【0091】そして、本形態におけるオブジェクトは、
オブジェクトに含まれるデバイス,オブジェクトのイン
タフェース定義(プロパティ,メソッド)から構成され
る。オブジェクトエディタ9は、これらのデバイスの指
定並びにインタフェース定義を編集するユーザインタフ
ェースを構成する。このユーザインタフェースの一例と
しては、図16に示すようになる。
【0092】図中左上に用意された「オブジェクトリス
ト」には、定義されたオブジェクト名の一覧が表示され
る。オブジェクトはユーザが新規に作成したり、削除す
ることができる。このリストに表示されているアイテム
(オブジェクト)の内、1つを選択することで、選択し
たオブジェクトが編集可能になる(図では、「組み付け
オブジェクト」が選択されている)。
【0093】つまり、そのオブジェクトについて設定さ
れた情報が右上方部位に表示される。ここで表示される
情報は、図から明らかなように、第1の実施の形態で示
したデバイス・タグ設定と同じ画面構成である。但し、
表示されている変数のリストは、オブジェクトリストの
中から選択されたオブジェクトのものに限られている。
さらに、オブジェクトの変数の宣言は、ツール1の入力
装置を使用して、全てこの画面上で登録する。これによ
り、変数リストの変数を追加したり削除したりすること
が本ユーザインタフェース上で可能となっている。さら
にまた、<入力変数>,<出力変数>の設定を付加して
いる。これは、オブジェクトにアクセスするための入出
力変数であり、制御プログラムで使用される。
【0094】また、右下方部位には、オブジェクトリス
トの中で選択されたオブジェクトに関連付けられたプロ
グラムが表示される。この表示領域において、ユーザ
は、変数リストにある変数を使ってプログラムを記述す
ることができる。ここで使用可能なプログラム言語は、
C,PASCALなどの手続き型言語をはじめ任意の言
語である。
【0095】なお、オブジェクトに関連付けられたプロ
グラム内で使用する変数のI/Oメモリアドレスは、オ
ブジェクトエディタ9がオブジェクト用に割り当てられ
たI/Oメモリの中から、空いている場所を適宜割り当
てる。
【0096】なおまた、その他の機能、つまり、「ノー
ド番号をシリアル番号に置換」,「コントローラに設定
を反映する」などは、第1の実施の形態と同様であるの
で、その詳細な説明を省略する。
【0097】上記した各種機能を用いて作成,編集した
結果は、オブジェクト記憶部8に格納され、また、通信
サービス14を介してコントローラ10に送出する。そ
して、オブジェクト記憶部8は、オブジェクトエディタ
9でオブジェクトの入力変数,出力変数の指定を受けた
変数のみの情報を記憶保持するもので、具体的な記憶内
容(データ構造)は、図17に示す通りである。すなわ
ち、オブジェクト名と、そのオブジェクト名で規定され
るオブジェクトを構成する変数情報からなるオブジェク
ト情報単位で登録されている。
【0098】ここで、オブジェクト名は、オブジェクト
を一意に識別するためのオブジェクトの名称である。図
16に示す例では、「搬入オブジェクト」,「組み付け
オブジェクト」,「搬出オブジェクト」がそれぞれ対応
する。
【0099】また、変数情報は、そのオブジェクトで定
義された数だけ並ぶ。つまり、オブジェクトエディタ9
で定義された全ての変数(図16に示す「組み付けオブ
ジェクト」が選択された状態で示された変数)が抽出さ
れ、順に格納される。なお、変数情報は、変数名,メモ
リアドレス,データタイプ,変数種別で構成される。そ
して、変数種別は、「入力変数」と「出力変数」を識別
する値が格納される。他の内容は第1の実施の形態にお
けるタグ記憶部のものと同じである。
【0100】なお、本実施例では、オブジェクトにはオ
ブジェクト指向の概念としてのインスタンスのみ含まれ
ている。メソッド並びにクラスが含まれていないが、そ
れらの概念を含めるようにしてもよい。
【0101】なおまた、オブジェクトを使った制御プロ
グラムの記述例を示すと、図18のようになる。図から
明らかなように、オブジェクト(図の例では、搬送オブ
ジェクト)は、制御プログラムから入力変数の値を受け
取り、オブジェクトに関連付けられたプログラムを実行
し、その結果は出力変数を通じて制御プログラムに返さ
れる。
【0102】一方、コントローラ10は、第1の実施の
形態と相違して、オブジェクトデータベース41並びに
オブジェクトプログラム実行エンジン43を設けてい
る。機能的には、オブジェクトデータベース41は、設
定記憶部13に対応し、オブジェクトプログラム実行エ
ンジン43は、データ転送サービス19に対応する。
【0103】ここで、オブジェクトデータベース41
は、ツール1から送られてくるオブジェクトエディタ9
で定義されたオブジェクトのすべての変数情報(内部変
数、入力変数、出力変数、入出力外部変数)と、それに
関連づけられたプログラムを記憶保持するようになって
いる。
【0104】具体的なデータ構造としては、図19のよ
うになっている。すなわち、オブジェクトデータベース
41は、オブジェクト名,変数情報,プログラムから構
成される設定情報が順に記憶される。ここで、変数情報
は、変数名,メモリアドレス,データタイプ,変数種別
並びにデバイスアドレスから構成される。そして、変数
種別は、「入力変数」,「出力変数」,「入力外部変
数」,「出力外部変数」,「内部変数」の別を識別する
ための数値であり、デバイスアドレスは変数種別が「入
力外部変数」並びに「出力外部変数」の場合のみ有効な
値が格納される。なお、その他のデータは第1の実施の
形態において説明したものと同様である。さらにまた、
プログラムは、オブジェクトエディタで関連付けて編集
しコード化されたプログラムが格納される。
【0105】オブジェクトの入出力外部変数についての
I/Oメモリ11上のマップ情報は、メモリマップ設定
サービス18にて作成され、オブジェクトプログラム実
行エンジン43とサイクリックサービス21に送出され
る。そして、このマップ情報は、第1の実施の形態で説
明したものと同様で、図11に示すように、制御プログ
ラム側から参照するI/Oメモリ11上のアドレスは固
定にし、その参照先のアドレスと、デバイスに割り付け
られたアドレスとの関連づけを行うためのデータであ
る。
【0106】オブジェクトプログラム実行エンジン43
は、第1の実施の形態におけるデータ転送サービス19
と、オブジェクトに関連付けられたプログラムの実行機
能とを併せ持つ。すなわち、上記したように、制御プロ
グラム側から参照するI/Oメモリ11上のアドレス
と、その制御プログラムが本来参照するデバイスに割り
付けられたI/Oメモリ11上のアドレスとの関連付け
情報に基づき、I/Oメモリ11上でのデータ転送サー
ビスを行う機能を持つ。
【0107】さらに、プログラムの実行機能として、入
力変数,出力変数,入力外部変数,出力外部変数,内部
変数の値を参照し、プログラムを評価実行して出力変
数,出力外部変数,内部変数に値を書き込む。つまり、
図18に示すオブジェクトを実行する。そして、実行し
た結果得られた出力変数の値は制御プログラムに、ま
た、出力外部変数の値はデータ転送サービス機能とサイ
クリックサービス21を経由して入出力デバイス5に出
力される。
【0108】なお、本実施の形態では、オブジェクトに
関連付けられたプログラムを実行する機能をオブジェク
トプログラム実行エンジン43に組み込むようにした
が、制御プログラム実行エンジン16側を組み込むよう
にしても良い。なお、デバイス検出サービス17に基づ
く新規なデバイスの検出に基づくメモリ情報の設定並び
にそれに基づくデータリンク方式を利用した実際の入出
力変数の処理などは、上記した第1の実施の形態と同様
であるので、対応する部材に同一符号を付し、その詳細
な説明を省略する。
【0109】図20は、本発明の第4の実施の形態を示
している。本実施の形態は、第3の実施の形態を基本と
し、第2の実施の形態と同様にバス30に脱着自在に装
着される複数のユニットで構成される例を示している。
図から明らかなように、本実施の形態では、CPUユニ
ット31と通信ユニット34の2つのボードから構成
し、通信ユニット34にプラグアンドプレイの機能ブロ
ックを組み込むようにしている。
【0110】つまり、各ユニット31,34は、バスド
ライバ31a,34aを介して相互にデータの送受が行
える。そして、通信ユニット34は、通信ドライバ34
cを介して入出力デバイス5とメッセージやI/Oデー
タの送受を行うようになっている。そして、この図20
と図15を比較すると明らかなように、機能としてはバ
ス30を介して接続するための機能が追加されるもの
の、基本的に機能は同一である。つまり、本実施の形態
は、第3の実施の形態と同様の作用効果を奏することが
できるので、対応する部材に同一符号を付し、その詳細
な説明を省略する。
【0111】なお、本実施の形態では、通信ユニットに
プラグアンドプレイの機能ブロックを組み込むようにし
たが、CPUユニットに組み込むようにしても良いし、
第2の実施の形態と同様に、別途独立したユニットを構
成するようにしても良い。また、第1の実施の形態を基
本として、第4の実施の形態のように通信ユニットにプ
ラグアンドプレイの機能ブロックを組み込むようにして
もよいし、CPUユニットに組み込むようにしてももち
ろん良い。
【0112】
【発明の効果】以上のように、この発明では、データリ
ンク方式を利用し、しかも、メモリ上に割り当てた制御
プログラムの変数の参照先(変数データ領域)と、デバ
イスと送受するために設定されたデバイスデータ領域を
それぞれ別の場所に割り当てるとともに、それらの領域
間をデータ転送でデータを移すことができるようにした
ため、デバイスの接続を検知したならば、係る転送する
領域間を設定することにより、制御プログラムを変更す
ることなく外部入出力変数の入出力処理が実現できる。
つまり、プラグアンドプレイ方式が実現できる。さら
に、拡張ボードや通信ユニットなどを使用することによ
り、プラグアンドプレイに対応していない機器であって
も対応可能に拡張することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態を示す図である。
【図2】制御プログラムの一例を示す図である。
【図3】タグ記憶部のデータ構造の一例を示す図であ
る。
【図4】デバイス・タグ設定部を説明する図である。
【図5】デバイス一覧のユーザインタフェースの一例を
示す図である。
【図6】設定記憶部のデータ構造の一例を示す図であ
る。
【図7】メモリマップ設定サービスで生成されるマップ
情報のデータ構造を示す図である。
【図8】マップ情報の内容を説明する図である。
【図9】メモリマップ設定サービスの機能を説明するフ
ローチャートである。
【図10】メモリマップ設定サービスの機能を説明する
フローチャートである。
【図11】メモリマップ設定サービスの機能を説明する
フローチャートである。
【図12】デバイスアドレス情報のデータ構造を示す図
である。
【図13】外部入出力変数の入出力処理を説明する図で
ある。
【図14】本発明の第2の実施の形態を示す図である。
【図15】本発明の第3の実施の形態を示す図である。
【図16】オブジェクトエディタを説明する図である。
【図17】オブジェクト記憶部のデータ構造を示す図で
ある。
【図18】オブジェクトを使った制御プログラムの一例
を示す図である。
【図19】設定情報を説明する図である。
【図20】本発明の第4の実施の形態を示す図である。
【符号の説明】
1 ツール 2 制御プログラムエディタ 3 タグ記憶部 4 デバイス・タグ設定部 5 デバイス(入出力デバイス) 8 オブジェクト記憶部 9 オブジェクトエディタ 10 コントローラ 11 I/Oメモリ 12 制御プログラム記憶部 13 設定記憶部 14 通信サービス 15 スケジューラ 16 制御プログラム実行エンジン 17 デバイス検出サービス 18 メモリマップ設定サービス 19 データ転送サービス 20 メッセージサービス 21 サイクリックサービス 30 バス 31 CPUユニット 32 通信ユニット 33 プラグアンドプレイユニット 34 通信ユニット 41 オブジェクトデータベース 43 オブジェクトプログラム設定サービス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 益田 真之 京都府京都市下京区塩小路通堀川東入南不 動堂町801番地 オムロン株式会社内 Fターム(参考) 5B014 EB03 FA02 FB03 FB04 GD05 GD22 GD23 GD32 HB06 HB28 HC05 HC08 5H215 AA07 BB05 CC07 CC09 CX01 CX04 CX05 CX08 GG02 GG03 GG09 HH08 KK06 5H220 AA05 BB05 BB07 CC07 CC09 CX01 CX04 DD04 EE09 EE10 FF10 HH08 JJ12 JJ26 JJ42 JJ53 JJ59

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 接続されたデバイスを制御する制御機器
    であって、 直接または間接的に接続されているデバイスを検出し、
    そのデバイスの識別情報を取得するデバイス検出手段
    と、 前記取得した識別情報に基づき、制御機器内のメモリ上
    における前記デバイスとデータの送受をするためのデバ
    イスデータ領域を設定するとともに、そのデバイスデー
    タ領域と、制御プログラムが参照する前記デバイスに関
    連づけられた前記メモリ上の変数データ領域と関連づけ
    たメモリマップを作成するメモリマップ設定手段と、 前記メモリマップに従い制御機器内のメモリ上の前記デ
    バイスデータ領域を使用して前記デバイスと定期的にデ
    ータリンク方式でデータの送受をする通信手段と、 前記メモリマップに従い前記メモリ上の前記変数データ
    領域と前記デバイスデータ領域の間でデータを転送する
    データ転送手段とを備えたことを特徴とする制御機器。
  2. 【請求項2】 デバイスを制御する制御プログラムと、
    前記デバイスを関連付けた関連情報を記憶する関連情報
    記憶手段を持ち、 前記制御プログラムが前記デバイスにアクセスするに際
    し、前記記憶手段に格納された関連情報を参照すること
    によりアクセス先を特定し、実行するようにしたことを
    特徴とする請求項1に記載の制御機器。
  3. 【請求項3】 接続されたデバイスを制御する制御機器
    に接続される拡張ボードであって、 直接または間接的に接続されているデバイスを検出し、
    そのデバイスの識別情報を取得するデバイス検出手段
    と、 前記取得した識別情報に基づき、制御機器内のメモリ上
    における前記デバイスとデータの送受をするためのデバ
    イスデータ領域を設定するとともに、そのデバイスデー
    タ領域と、制御プログラムが参照する前記デバイスに関
    連づけられた前記メモリ上の変数データ領域と関連づけ
    たメモリマップを作成するメモリマップ設定手段と、 前記メモリマップに従い前記メモリ上の前記変数データ
    領域と前記デバイスデータ領域の間でデータを転送する
    データ転送手段とを備えたことを特徴とする拡張ボー
    ド。
  4. 【請求項4】 接続されたデバイスを制御する制御機器
    を構成する前記デバイスと通信するための通信ユニット
    であって、 直接または間接的に接続されているデバイスを検出し、
    そのデバイスの識別情報を取得するデバイス検出手段
    と、 前記取得した識別情報に基づき、制御機器内のメモリ上
    における前記デバイスとデータの送受をするためのデバ
    イスデータ領域を設定するとともに、そのデバイスデー
    タ領域と、制御プログラムが参照する前記デバイスに関
    連づけられた前記メモリ上の変数データ領域と関連づけ
    たメモリマップを作成するメモリマップ設定手段と、 前記メモリマップに従い制御機器内のメモリ上のデバイ
    スデータ領域を使用して前記デバイスと定期的にデータ
    リンク方式でデータの送受をする通信手段と、 前記メモリマップに従い前記メモリ上の前記変数データ
    領域と前記デバイスデータ領域の間でデータを転送する
    データ転送手段とを備えたことを特徴とする通信ユニッ
    ト。
JP2001072570A 2001-03-14 2001-03-14 制御システム Expired - Lifetime JP3932817B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2001072570A JP3932817B2 (ja) 2001-03-14 2001-03-14 制御システム
US10/084,581 US6725288B2 (en) 2001-03-14 2002-02-27 System for transmitting data between a device data area and a variable data area of a memory according to a memory map based on an identifying data of a device detected
DE10210675A DE10210675B4 (de) 2001-03-14 2002-03-12 Steuerungen, Erweiterungsplatten und Kommunikationseinheiten

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001072570A JP3932817B2 (ja) 2001-03-14 2001-03-14 制御システム

Publications (2)

Publication Number Publication Date
JP2002269024A true JP2002269024A (ja) 2002-09-20
JP3932817B2 JP3932817B2 (ja) 2007-06-20

Family

ID=18930136

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001072570A Expired - Lifetime JP3932817B2 (ja) 2001-03-14 2001-03-14 制御システム

Country Status (3)

Country Link
US (1) US6725288B2 (ja)
JP (1) JP3932817B2 (ja)
DE (1) DE10210675B4 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005215936A (ja) * 2004-01-29 2005-08-11 Keyence Corp 制御機器のリンク設定装置
JP2008192152A (ja) * 2007-02-02 2008-08-21 Fisher Rosemount Syst Inc プロセス制御システム入・出力を構成するための方法と装置
WO2013114926A1 (ja) 2012-02-01 2013-08-08 オムロン株式会社 サポート装置、サポートプログラムを記録した記録媒体、および実行可能プログラムを生成する方法
WO2015045004A1 (ja) * 2013-09-24 2015-04-02 三菱電機株式会社 プログラマブルコントローラおよびプログラマブルコントローラの制御方法
KR20150054955A (ko) * 2012-09-14 2015-05-20 지이 헬스케어 바이오-사이언시즈 코프. 유연한 생물반응기 제어 시스템을 구현하기 위한 방법 및 장치
US10423144B2 (en) 2016-10-28 2019-09-24 Fanuc Corporation Ladder-library management apparatus

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3729251B2 (ja) 2001-03-12 2005-12-21 オムロン株式会社 コントローラ及びシステム
US20020161596A1 (en) * 2001-04-30 2002-10-31 Johnson Robert E. System and method for validation of storage device addresses
JP2004252844A (ja) * 2003-02-21 2004-09-09 Fanuc Ltd 数値制御装置
US8016962B2 (en) 2004-01-19 2011-09-13 Krones Ag Devices for conveying and labelling containers and method for connecting a labelling unit to a conveyor unit
US20060230117A1 (en) * 2005-04-08 2006-10-12 Cisco Technology, Inc. System and method for message prioritization
US7379777B2 (en) * 2006-01-24 2008-05-27 National Instruments Corporation System and method for automatically updating the memory map of a programmable logic controller to customized hardware
US7689727B2 (en) * 2006-01-24 2010-03-30 National Instruments Corporation System and method for automatically updating the memory map of a programmable controller to customized hardware
WO2009003168A1 (en) * 2007-06-27 2008-12-31 Teletrol Systems, Inc. System and method for providing device independent control and modification
US9336051B2 (en) * 2007-10-19 2016-05-10 National Instruments Corporation Programmable controller with multiple processors using a scanning architecture
US20090106755A1 (en) * 2007-10-19 2009-04-23 Sundeep Chandhoke Programmable Controller with Multiple Processors Using Scanning and Data Acquisition Architectures
US8255065B2 (en) * 2008-05-05 2012-08-28 Siemens Aktiengesellschaft Mobile function block for a PLC based distributed control system
DE102008042561A1 (de) * 2008-10-02 2010-04-08 Robert Bosch Gmbh Motorsteuergerät
CA2845094A1 (en) * 2011-08-16 2013-04-18 Unmanned Innovation Inc. Modular flight management system incorporating an autopilot
JP6211181B2 (ja) 2015-04-06 2017-10-11 三菱電機株式会社 プログラマブルコントローラシステム、及びプログラマブルコントローラ
CN108319178B (zh) * 2017-01-16 2021-08-31 浙江正泰电器股份有限公司 变频器和自动获取产品内部参数信息的方法
EP3812855B1 (en) * 2018-06-22 2024-01-17 Soft Servo Systems, Inc. Motion control program, motion control method, and motion control device
CN112540545B (zh) * 2021-02-22 2021-04-30 武汉世聪智能科技有限公司 一种基于多智能***的智能设备控制方法及***
US20230297061A1 (en) * 2022-03-18 2023-09-21 Rockwell Automation Technologies, Inc. Insight driven programming tags in an industrial automation environment

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4648064A (en) * 1976-01-02 1987-03-03 Morley Richard E Parallel process controller
US4897834A (en) * 1987-08-18 1990-01-30 Allen-Bradley Company, Inc. Bit oriented communications network
JP2697399B2 (ja) * 1991-09-13 1998-01-14 三菱電機株式会社 位置決め装置及びそのプログラム表示方法
JPH05297911A (ja) * 1992-04-22 1993-11-12 Matsushita Electric Ind Co Ltd シーケンスコントローラ用シーケンス制御回路
JPH0950312A (ja) * 1995-05-31 1997-02-18 Mitsubishi Electric Corp Faコントローラのデータ処理方法
US5963446A (en) * 1996-08-27 1999-10-05 Steeplechase Software, Inc. Extended relay ladder logic for programmable logic controllers

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4567982B2 (ja) * 2004-01-29 2010-10-27 株式会社キーエンス 制御機器のリンク設定装置
JP2005215936A (ja) * 2004-01-29 2005-08-11 Keyence Corp 制御機器のリンク設定装置
JP2008192152A (ja) * 2007-02-02 2008-08-21 Fisher Rosemount Syst Inc プロセス制御システム入・出力を構成するための方法と装置
US9746845B2 (en) 2012-02-01 2017-08-29 Omron Corporation Support device, recording medium, and method for facilitating data exchange between different types of progrrammable logic controllers
WO2013114926A1 (ja) 2012-02-01 2013-08-08 オムロン株式会社 サポート装置、サポートプログラムを記録した記録媒体、および実行可能プログラムを生成する方法
US11530382B2 (en) 2012-09-14 2022-12-20 Global Life Sciences Solutions Usa Llc Methods and apparatus to implement flexible bioreactor control systems
KR20150054955A (ko) * 2012-09-14 2015-05-20 지이 헬스케어 바이오-사이언시즈 코프. 유연한 생물반응기 제어 시스템을 구현하기 위한 방법 및 장치
JP2015528617A (ja) * 2012-09-14 2015-09-28 ジーイー・ヘルスケア・バイオサイエンス・コーポレイション フレキシブルなバイオリアクター制御システムを実装するための方法及び装置
KR102171053B1 (ko) 2012-09-14 2020-10-28 글로벌 라이프 사이언시스 솔루션즈 유에스에이 엘엘씨 유연한 생물반응기 제어 시스템을 구현하기 위한 방법 및 장치
US10501719B2 (en) 2012-09-14 2019-12-10 Ge Healthcare Bio-Sciences Corp. Methods and apparatus to implement flexible bioreactor control systems
CN105579920A (zh) * 2013-09-24 2016-05-11 三菱电机株式会社 可编程控制器以及可编程控制器的控制方法
KR101655727B1 (ko) 2013-09-24 2016-09-07 미쓰비시덴키 가부시키가이샤 프로그래머블 컨트롤러 및 프로그래머블 컨트롤러의 제어 방법
CN105579920B (zh) * 2013-09-24 2018-04-17 三菱电机株式会社 可编程控制器以及可编程控制器的控制方法
US10054926B2 (en) 2013-09-24 2018-08-21 Mitsubishi Electric Corporation Programmable controller and control method of programmable controller
JP5921781B2 (ja) * 2013-09-24 2016-05-24 三菱電機株式会社 プログラマブルコントローラおよびプログラマブルコントローラの制御方法
KR20160032275A (ko) * 2013-09-24 2016-03-23 미쓰비시덴키 가부시키가이샤 프로그래머블 컨트롤러 및 프로그래머블 컨트롤러의 제어 방법
WO2015045004A1 (ja) * 2013-09-24 2015-04-02 三菱電機株式会社 プログラマブルコントローラおよびプログラマブルコントローラの制御方法
US10423144B2 (en) 2016-10-28 2019-09-24 Fanuc Corporation Ladder-library management apparatus

Also Published As

Publication number Publication date
US20020133240A1 (en) 2002-09-19
JP3932817B2 (ja) 2007-06-20
US6725288B2 (en) 2004-04-20
DE10210675A1 (de) 2002-10-24
DE10210675B4 (de) 2012-11-22

Similar Documents

Publication Publication Date Title
JP2002269024A (ja) 制御機器並びに拡張ボード及び通信ユニット
JP3729251B2 (ja) コントローラ及びシステム
CN110249274B (zh) 工业用控制器的程序开发***和其数据共享方法
JPWO2002042853A1 (ja) プログラミング装置及びプログラミング方法
JP2005129026A (ja) プログラマブルコントローラおよび通信ユニットならびにコントローラシステムおよびデータ処理方法ならびに変数解決方法およびデータ受渡方法
US11165745B2 (en) Control system, controller, and control method
JP2007102632A (ja) シミュレーション装置
JP6954191B2 (ja) 制御システム、開発支援装置、および開発支援プログラム
US8050784B2 (en) Integrated programmer reference for industrial control device data
JP2003271209A (ja) 制御装置並びに拡張機器及びプログラミングツール
JP3988605B2 (ja) 設定ツール装置
JP4883194B2 (ja) プログラマブルコントローラおよびコントローラシステム
JP2006243841A (ja) Plc用ツール装置
JP4186383B2 (ja) プログラマブルコントローラシステム
JP2003131709A (ja) 制御表示装置、制御プログラムおよびそれを記録した記録媒体
JP4255727B2 (ja) ホストコンピュータ、配信データ保存プログラム、および該プログラムを記録した記録媒体
JP2002268712A (ja) 制御装置及びネットワークシステム
JP3024345B2 (ja) データリンク方法
JP4596153B2 (ja) プログラマブルコントローラおよびコントローラシステムならびに変数解決方法
JP3781112B2 (ja) プログラマブルコントローラ・システム
JP2006146526A (ja) フィールド機器管理装置およびフィールド機器管理方法
US20210405597A1 (en) Engineering device, engineering method, and information storage medium
JP3888588B2 (ja) データ転送方法
JP2005051508A (ja) Ieee1394ネットワークシステム
JP2000163329A (ja) データ転送システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050802

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051003

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060530

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060731

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070312

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3932817

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110330

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110330

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120330

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120330

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130330

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140330

Year of fee payment: 7

EXPY Cancellation because of completion of term