(57)【要約】【課題】  不揮発性メモリ書き替え時の消費電流の増加を最小限に抑え、かつ書き替え時間を短縮することができるメモリ更新方法およびそのシステムを実現する。【解決手段】  フィールド機器のステータス情報を監視して、不揮発性メモリを書き替える全てのフィールド機器がメモリ消去を行うメモリ更新の準備中でなくなったときに、１つのフィールド機器に更新命令を送信し、更新データの転送を開始するようにした。２つ以上のフィールド機器が同時に消費電力が大きいメモリ消去を行うことがなくなるので電流増加が最小限に抑えられ、かつ更新時間を短縮することができる。【選択図】                    図２
2005135223.tif 000002
【特許請求の範囲】
【請求項１】
フィールドバスに接続されたフィールド機器内部の不揮発性メモリに格納されたデータを更新するフィールド機器のメモリ更新方法において、
前記不揮発性メモリを更新すべきフィールド機器の台数を含めたフィールド機器の情報を取得する第１の工程と、
メモリ更新すべき全てのフィールド機器が更新を終了したことを判断する第２の工程と、
前記不揮発性メモリを更新すべき全てのフィールド機器がメモリ更新の準備中でないことを検出する第３の工程と、
前記第３の工程が全てのフィールド機器がメモリ更新の準備中でないことを検出したときに、前記不揮発性メモリを更新すべきフィールド機器の１つに更新命令を送信し、かつ更新データの転送を開始する第４の工程と、
前記第４の工程がフィールド機器に更新命令を送信し、更新データの転送を開始した後に、同一セグメント内の全てのフィールド機器がメモリ更新状態でないことを検出するとメモリ更新が終了したフィールド機器の台数を増加させて前記第２の工程にジャンプし、メモリ更新状態のフィールド機器があると増加させないで前記第２の工程にジャンプする第５の工程と、
を有することを特徴とするフィールド機器のメモリ更新方法。
【請求項２】
フィールドバスと、
不揮発性メモリが内蔵され、前記フィールドバスに接続されてステータス情報を前記フィールドバスに出力する複数のフィールド機器と、
前記フィールドバスに直接あるいは間接的に接続され、前記ステータス情報から前記不揮発性メモリを更新すべき全ての前記フィールド機器がメモリ更新の準備中でないことを検出したときに、前記不揮発性メモリを更新すべき前記フィールド機器の１つに更新命令を送信し、更新データを転送するホストシステムと、
を有することを特徴とするフィールド機器のメモリ更新システム。
【請求項３】
前記フィールド機器は電流制御回路を内蔵し、この電流制御回路は前記更新命令を受けたときに供給電流を増加するようにしたことを特徴とする請求項２記載のフィールド機器のメモリ更新システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセス現場で使用されるフィールド機器内の不揮発性メモリに格納されているファームウエアあるいはコンフィギュレーション情報などのデータを書き替える方法およびそのシステムに関するものである。
【背景技術】
【０００２】
図３にプロセス制御システムの構成を示す。FOUNDATIONfieldbusやシリアル伝送などのフィールドバス８には複数のフィールド機器９が接続されている。これらフィールド機器９にはアナログインプットファンクションブロックＡＩ、あるいはＰＩＤファンクションブロックＰＩＤ等が内蔵されている。
【０００３】
フィールドバス８はＩＯユニット７、バス６を介してホストシステム５に接続されている。このようなプロセス制御システムにおいて、センサからの信号を入力し、フィールド機器９相互間あるいはフィールド機器９とホストシステム５との間でデータのやりとりをして制御を実行していく。
【０００４】
このようなフィールド機器では、センサからの信号を出力信号に変換するための演算部分のプログラムやネットワーク情報を構成するコンフィギュレーション情報は、通常ＥＰＲＯＭ、ＦｌａｓｈＲＯＭ、ＥＥＰＲＯＭなどの不揮発性メモリに保存されている。
【０００５】
近年、プロセスの改善等を目的とした機能分散を進める上で、フィールド機器９にも自己診断機能の拡張などの付加機能が求められるようになってきた。また、機能が豊富になったために、バグが発生する可能性も大きくなってきている。そのため、フィールドバス８の通信機能を用いてフィールド機器９内部のファームウエアを更新することも行われている。
【０００６】
このような場合、ホストシステム５にファームウエアのバイナリイメージを入力し、バス６、ＩＯユニット７、フィールドバス８を介してこのバイナリイメージをフィールド機器９に伝送して書き換えを行う。ホストシステム５は、ウエブサイトからインターネットを経由してバイナリイメージを取得することもある。
【０００７】
図４にFOUNDATIONFieldbusの仕様の一部を示す。この仕様はフィールドバス通信を介してフィールド機器９内部のファームウエアを更新することを想定しており、PREPARE_FOR_DWNLD、CANCEL_DWNLDなどの信号が用意されている。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、このようなフィールド機器では、ファームウエアを更新するためには次のような課題があった。
【０００９】
不揮発性メモリとしてＥＰＲＯＭを使用しているフィールド機器では、新しいファームウエアが格納されたＥＥＰＲＯＭと交換するか、フィールド機器自体を交換しなければならず、手間がかかるという課題があった。
【００１０】
不揮発性メモリとしてＦｌａｓｈＲＯＭやＥＥＰＲＯＭを使用しているフィールド機器では、フィールドバスを介してファームウエアの更新を行うことができる。しかし、更新時にはフィールド機器の消費電流が一時的に増加するという課題があった。
【００１１】
図５にＦｌａｓｈＲＯＭを書き替えるときの消費電流の実測値を示す。ＦｌａｓｈＲＯＭを書き替えるときは、まずセクタ単位で消去した後、書き込みを行う。セクタ消去時の消費電流の増加量ＩＤＬは最大２０ｍＡ、実測１０ｍＡであった。また、書き込み時の消費電流の増加は最大２０ｍＡであるが、実測では１ｍＡであった。このことから、主としてセクタ消去時に消費電流が増加することがわかる。
【００１２】
このため、ホストシステム５が任意にフィールド機器９のファームウエアを書き替えるとすると、フィールド機器１台あたり２０ｍＡの消費電流の増加を見込んで電源などの設計を行わなければならず、コストが増大してしまうという課題があった。
【００１３】
ホストシステム５が１台ずつ順番にフィールド機器９のファームウエアを更新するとすると、消費電流は最大２０ｍＡに抑えることができる。しかしながら、更新のために３０分／台程度の時間が必要であるために、セグメント内に１０台のフィールド機器が接続されているとすると３００分の時間が必要になり、実用的でないという課題もあった。
【００１４】
例えば、差圧伝送器のファームウエアのサイズは約３００ｋバイトである。通信間隔を１秒、通信間隔毎の転送バイト数を２００バイトとすると、書き替えには
更新時間＝ＲＯＭ容量×通信間隔（秒）÷転送バイト数
＝３００ｋ×１÷２００＝１５００秒＝２５分
の更新時間が必要である。
【００１５】
このため、フィールド機器９への供給電流が不足して書き替えることができず、またフィールドバス８に接続することができるフィールド機器９の台数が制限されてしまうという課題もあった。
【００１６】
従って本発明が解決しようとする課題は、ファームウエア更新時の消費電流の増加を最小限に抑えることができ、かつ更新時間を短くすることができるフィールド機器のメモリ更新方法およびそのシステムを実現することにある。
【課題を解決するための手段】
【００１７】
このような課題を達成するために、本発明のうち請求項１記載の発明は、フィールドバスに接続されたフィールド機器内部の不揮発性メモリに格納されたデータを更新するフィールド機器のメモリ更新方法において、
前記不揮発性メモリを更新すべきフィールド機器の台数を含めたフィールド機器の情報を取得する第１の工程と、メモリ更新すべき全てのフィールド機器が更新を終了したことを判断する第２の工程と、前記不揮発性メモリを更新すべき全てのフィールド機器がメモリ更新の準備中でないことを検出する第３の工程と、前記第３の工程が前記全てのフィールド機器がメモリ更新の準備中でないことを検出したときに、前記不揮発性メモリを更新すべきフィールド機器の１つに更新命令を送信し、かつ更新データの転送を開始する第４の工程と、前記第４の工程が前記フィールド機器に更新命令を送信し、更新データの転送を開始した後に、同一セグメント内の全てのフィールド機器がメモリ更新状態でないことを検出するとメモリ更新が終了したフィールド機器の台数を増加させて前記第２の工程にジャンプし、メモリ更新状態のフィールド機器があると増加させないで前記第２の工程にジャンプする第５の工程とを具備するようにしたものである。
【００１８】
請求項２記載の発明は、
フィールドバスと、不揮発性メモリが内蔵され、前記フィールドバスに接続されて、ステータス情報を前記フィールドバスに出力する複数のフィールド機器と、前記フィールドバスに直接あるいは間接的に接続され、前記ステータス情報から前記不揮発性メモリを更新すべき全ての前記フィールド機器がメモリ更新の準備中でないことを検出したときに、前記不揮発性メモリを更新すべき前記フィールド機器の１つに更新命令を送信し、更新データを転送するホストシステムとを具備したものである。メモリ更新時の消費電流の増加を抑えることができ、かつ更新時間を短縮できる。
【００１９】
請求項３記載の発明は、請求項２記載の発明において、前記フィールド機器は電流制御回路を内蔵し、この電流制御回路は前記更新命令を受けたときに供給電流を増加するようにしたものである。メモリ更新時の消費電流の増加を抑えることができる。
【発明の効果】
【００２０】
以上説明したことから明らかなように、本発明によれば次のような効果がある。
請求項１の発明によれば、不揮発性メモリを更新すべきフィールド機器を監視して、更新すべきフィールド機器の全てがメモリ更新の準備中でないときに、更新すべきフィールド機器の１つに更新命令を送信し、更新データの転送を開始するようにした。
【００２１】
メモリ更新の準備中には、消費電力が大きいメモリ消去が行われる。この発明は全てのフィールド機器がメモリ更新の準備中でない場合にのみ更新命令を送信する。そのため、
１度に１台のフィード機器しかメモリ消去を行わないので、消費電流の増加を最小限に抑えることができるという効果がある。そのため、メモリ更新時に電流不足になることがなくなり、１つのセグメント内に接続できるフィールド機器の台数が制限されることもないという効果もある。また、短時間でメモリ更新を行うことができるという効果もある。
【００２２】
請求項２および３の発明によれば、フィールドバスと、このフィールドバスに接続された複数のフィールド機器および前記フィールドバスに接続されたホストシステムから構成されるシステムであって、このホストシステムは不揮発性メモリを更新すべきフィールド機器を監視して、更新すべきフィールド機器の全てがメモリ更新の準備中でないときに、更新すべきフィールド機器の１つに更新命令を送信し、更新データの転送を開始するようにした。
【００２３】
１度に１台のフィード機器しか消費電力の大きいメモリ消去を行わないので、消費電流の増加を最小限に抑えることができるという効果がある。そのため、メモリ更新時に電流不足になることがなくなり、１つのセグメント内に接続できるフィールド機器の台数が制限されることもないという効果もある。また、短時間でメモリ更新を行うことができるという効果もある。
【発明を実施するための最良の形態】
【００２４】
以下本発明を図面を用いて詳細に説明する。プロセス制御システムの構成は図３と同じなので、説明を省略する。フィールド機器９はシステムの構成に応じてセグメントに分割され管理されている。１つのセグメントには複数のフィールド機器９が含まれている。また、フィールド機器９内部の不揮発性メモリの内容を更新するときは、このセグメントを単位として行われる。
【００２５】
図１は本発明に係るフィールド機器の一実施例を示す構成図である。図１において、１１はＭＡＵ(Media Attachment Unit)であり、図示しないフィールドバスに接続される。このＭＡＵ１１はデジタル信号とアナログ信号の相互変換、データの衝突の監視などを行う。また、電流制御回路としての働きもある。
【００２６】
１２はＦＢモデムであり、信号をフィールドバスに出力する形式に変換し、フィールドバス上の信号を逆変換する。Ｔｘはフィールドバスに出力する信号、Ｒｘはフィールドバスから入力する信号である。
【００２７】
２はＦｌａｓｈＲＯＭであり、ファームウエアやコンフィギュレーション情報などのデータが格納される。３１はＣＰＵであり、このフィールド機器全体の制御を行う。３２はＳＲＡＭであり、ＣＰＵ３１の作業領域などに使用される。
【００２８】
３３はゲートアレイであり、必要なデジタル回路が格納されている。３４はＥＥＰＲＯＭであり、ＣＰＵ３１が使用するパラメータなどが保管される。ＣＰＵ３１，ＳＲＡＭ３２，ゲートアレイ３３、ＦＢモデム１２およびＦｌａｓｈＲＯＭ２はバス３５で相互に接続されている。４はプロセス量を測定するセンサであり、その出力はＣＰＵ３１に入力される。
【００２９】
ＣＰＵ３１はＦｌａｓｈＲＯＭ２に内蔵されているプログラムに従ってセンサ４の出力およびフィールドバス上のデータを取りこんで制御出力を演算し、フィールドバスに出力する。
【００３０】
前述したように、ＦｌａｓｈＲＯＭやＥＥＰＲＯＭ等の不揮発性メモリでは、メモリの内容を書き換える前に消去しなければならない。フィールド機器が更新命令を受信するとメモリ更新の準備中に移行し、その内部の不揮発性メモリの内容を消去する。このときはDWNLD_PREPARINIGフラグがオンになる。すなわち、DWNLD_PREPARINIGフラグを監視することにより、メモリが消去中であるかどうかを判断することができる。
【００３１】
このため、DWNLD_PREPARINIGフラグを監視して、フィールド機器の１つがメモリ更新の準備中のときは他のフィールド機器に更新命令を送信しないようにすることにより、２つ以上のフィールド機器が消費電力の大きい消去動作を同時に行うことを避けることができる。
【００３２】
図２にＦｌａｓｈＲＯＭ２を更新するときのフローチャートを示す。最初にＡ−１でセグメント内の全機種の情報、例えば製造業者、対象機種、ノードアドレス、タグ、レビジョンを取得する。これはプログラムの起動時でもよく、あるいは事前に何らかの方法で取得してもよい。
【００３３】
次に、Ａ−２でファームウエアを更新する機種の情報を取得する。この情報にはメモリを更新を行うフィールド機器の台数が含まれ、この台数をＮとする。次に、Ａ−３で更新するバイナリイメージが格納されているファイルを選択する。
【００３４】
次に、Ａ−４で更新完了台数ｍを０とし、Ａ−５でｎを１とする。そして、Ａ−６でセグメント内の全フィールド機器の更新が終了したかどうかを判定する。これは、更新完了台数ｍが更新機器台数Ｎよりも１小さい値になったかどうかで判定する。
【００３５】
次に、Ａ−７でメモリ更新する全てのフィールド機器が更新作業の準備中でないかどうかを判定する。どれかのフィールド機器が準備中のときはこのＡ−７の入り口に戻るので、メモリ更新する全てのフィールド機器が更新準備を完了するまで、このＡ−７で待機することになる。
【００３６】
メモリ更新する全フィールド機器がメモリ更新の準備中でなくなると、Ａ−８でｎ番目のフィールド機器に更新命令を送信し、続いて更新するデータの送信を開始する。そして、Ａ−９でｎに１を加算する。
【００３７】
そして、Ａ−１０でセグメント内の任意のフィールド機器に対する更新が終了した、すなわちセグメント内の全てのフィールド機器が更新中でないと更新完了台数ｍに１を加算してＡ−６の先頭に戻り、セグメント内のどれかのフィールド機器が更新中であると、なにもしないでＡ−６の先頭に戻る。
【００３８】
すなわち、Ａ−７でメモリ更新すべき全フィールド機器がメモリ更新の準備ができていることを確認してから、順番にフィールド機器に更新命令を送信して、更新データの転送を開始するようにする。そのため、１度に１台のフィード機器しかメモリ更新を行わないので、消費電流の増加を最小限に抑えることができる。
【００３９】
また、消費電力の増加が少ない書き込みは並行して行うようにするので、メモリの更新時間を大幅に短縮することができる。ＦｌａｓｈＲＯＭの全セクタを消去するのに１５〜３０秒必要なので、例えば、セグメント内に１０台のフィールド機器が接続されている場合は、
更新時間＝ＦｌａｓｈＲＯＭ２のデータ消去時間×接続台数＋１台当たりの更新時間
＝１５秒×１０＋３０分＝３２．５分
となり、１台ずつ更新した場合の約１／１０の時間で更新作業を行うことができる。
【図面の簡単な説明】
【００４０】
【図１】本発明の一実施例を示す構成図である。
【図２】本発明の一実施例の動作を説明するためのフローチャートである。
【図３】プロセス制御システムの構成図である。
【図４】FOUNDATIONFieldbusの仕様の一部を表す図である。
【図５】不揮発性メモリの更新時の消費電流を示す特性図である。
【符号の説明】
【００４１】
１１  ＭＡＵ
１２  ＦＢモデム
２  ＦｌａｓｈＲＯＭ
３１  ＣＰＵ
５  ホストシステム
８  フィールドバス
９  フィールド機器
【図１】
2005135223.tif 000003
【図２】
2005135223.tif 000004
【図３】
2005135223.tif 000005
【図４】
2005135223.tif 000006
【図５】
2005135223.tif 000007