(57)【特許請求の範囲】
【請求項１】
バス上で通信可能にリンクされ、プロセス制御機能を実行するために異なるフィールドデバイスを同一ネットワーク内で使用可能とする通信プロトコルを利用する複数のデバイスを有しているプロセス制御ネットワーク内のフィールドデバイスを再プログラムする方法であって、
前記プロセス制御ネットワークの稼働中に、前記通信プロトコルを利用して、プロセス制御コードを記憶する第一のメモリと第二のメモリとを有する前記フィールドデバイスの１つに、ホストデバイスから、プロセス制御コードをダウンロードし、その間、該フィールドデバイスの１つは、格納されたプロセス制御コードを実行可能で、該プロセス制御コードはプロセス制御を実行すべく、ダウンロードされたプロセス制御コードによって置換されることになるステップと、
バスを介してプロセス制御情報を伝達し、ホストデバイスから前記フィールドデバイスの１つにプロセス制御コードをダウンロードする間、プロセス制御機能を実行するステップと、
ダウンロードされたプロセス制御コードを第二のメモリ内に記憶し、その間、前記フィールドデバイスの１つは格納されたプロセス制御コードを実行可能で、該プロセス制御コードはプロセス制御を実行すべく、ダウンロードされたプロセス制御コードによって置換されることになるステップと、
前記一つのフィールドデバイスに、プロセス制御を行うべく記憶されたプロセス制御コードの実行を停止させ、そして前記ダウンロードされたプロセス制御コードを実行して、プロセス制御を実行させるステップと
を含むプロセス制御ネットワーク内のフィールドデバイスを再プログラムする方法。
【請求項２】
前記ダウンロードするステップが、プロセス制御の実行に影響を与えない非同期通信を利用して、前記フィールドデバイスの一つに、前記ホストデバイスから前記プロセス制御コードを伝送するステップを含む、請求項１に記載のプロセス制御ネットワーク内のフィールドデバイスを再プログラムする
方法。
【請求項３】
前記ダウンロードするステップが、プロセス制御の実行に影響を与えない複数の非同期通信を利用して、前記フィールドデバイスの一つに、前記ホストデバイスから前記プロセス制御コードを伝送するステップを含む、請求項２に記載のプロセス制御ネットワーク内のフィールドデバイスを再プログラムする方法。
【請求項４】
前記実行させるステップが、前記ダウンロードされたプロセス制御コードを前記第二のメモリから前記第一のメモリへ転写するステップを有する、請求項１に記載のプロセス制御ネットワーク内のフィールドデバイスを再プログラムする方法。
【請求項５】
前記実行させるステップが、前記第一のメモリに記憶されたプロセス制御コードの実行から、前記ダウンロードされた前記第二のメモリ内のプロセス制御コードの実行へ、前記フィールドデバイスの一つに再指示するステップを有する、請求項１に記載のプロセス制御ネットワーク内のフィールドデバイスを再プログラムする方法。
【請求項６】
前記実行させるステップが、
前記第一のメモリ内に記憶されたプロセス制御コードの実行を終了させるステップと、
前記第二のメモリから前記第一のメモリに前記ダウンロードされたプロセス制御コードを転写するステップと、
前記ダウンロードされた前記第一のメモリ内のプロセス制御コードの実行を開始するステップと
を有する、請求項１に記載のプロセス制御ネットワーク内のフィールドデバイスを再プログラムする方法。
【請求項７】
前記実行させるステップが、
前記第一のメモリ内に記憶されたプロセス制御コードの前記実行を終了させるステップと、
前記ダウンロードされた前記第二のメモリ内のプロセス制御コードの実行を前記フィールドデバイスに再指示するステップと、
前記ダウンロードされた前記第二のメモリ内のプロセス制御コードの前記実行を開始するステップと
を有する請求項１に記載のプロセス制御ネットワーク内のフィールドデバイスを再プログラムする方法。
【請求項８】
前記通信プロトコルがFieldbusプロトコルである、請求項１に記載のプロセス制御ネットワーク内のフィールドデバイスを再プログラムする方法。
【請求項９】
前記通信プロトコルがHARTプロトコルである、請求項１に記載のプロセス制御ネットワーク内のフィールドデバイスを再プログラムする方法。
【請求項１０】
バス上で通信可能にリンクされた複数のフィールドデバイスを有し、各フィールドデバイスが、プロセス制御ネットワークの動作中に、通信プロトコルを利用してバス上にて通信可能であるプロセス制御ネットワーク内の前記フィールドデバイスを再プログラムするシステムであって、
ダウンロード可能なプロセス制御コードを生成し、前記通信プロトコルを利用して該ダウンロード可能なプロセス制御コードを、前記バスを介して伝送する第一のデバイスと、
前記バスを介して伝送された前記ダウンロード可能なプロセス制御コードを受信できる第二のデバイスとを有し、
該第二のデバイスが、
該第二のデバイスに記憶された１組のプロセス制御コードを実行するように構成されたプロセッサと、
前記プロセッサによって実行され得る第一の組のプロセス制御コードを記憶するように構成された第一のメモリと、
前記バス上で伝送される前記ダウンロード可能なプロセス制御コードを記憶するように構成された第二のメモリと
を有し、
前記第一のデバイスが、前記ダウンロード可能なプロセス制御コードを前記第二のデバイスに伝送し、該第二のデバイスは、前記プロセス制御ネットワークの稼動中に、ダウンロード可能なプロセス制御コードを受信して、該ダウンロード可能なプロセス制御コードを前記第二のメモリ内に記憶し、その間、第二のデバイスは第一組のプロセス制御コードを実行可能であり、該プロセス制御コードはプロセス制御を実行すべく、ダウンロード可能なプロセス制御コードによって置換されることになり、
第一のデバイスと第二のデバイスはバスを介して、プロセス制御情報を通信して、第一のデバイスがダウンロード可能なプロセス制御コードを第二のデバイスに伝送している間にプロセス制御機能を実行し、
前記プロセッサは、ダウンロード可能なプロセス制御コードを第二のメモリに記憶した後、プロセス制御を実行する第一組のプロセス制御コードの実行を停止し、前記ダウンロード可能なプロセス制御コードの実行を開始して、プロセス制御を実行する、フィールドデバイスを再プログラムするシステム。
【請求項１１】
前記通信プロトコルが同期通信及び非同期通信を有し、前記第一のデバイスが、プロセス制御の実行に影響しない非同期通信を利用して、前記第二のデバイスに前記ダウンロード可能なプロセス制御コードを伝送する、請求項１０に記載のフィールドデバイスを再プログラムするシステム。
【請求項１２】
前記通信プロトコルが並列なアナログおよびデジタル通信を含み、前記第一のデバイスが、デジタル通信を利用して、前記第二のデバイスに前記ダウンロード可能なプロセス制御コードを伝送する、請求項１０に記載のフィールドデバイスを再プログラムするシステム。
【請求項１３】
前記第一のメモリが不揮発性メモリであり、前記第二のデバイスは、第二のメモリに前記ダウンロード可能なプロセス制御コードを記憶し、その間にプロセッサは前記第一のメモリに記憶されたプロセス制御コードを実行可能であってプロセス制御を実行し、
前記第二のデバイスは、ダウンロード可能なプロセス制御コードが第二のメモリに記憶された後に、第一のメモリに記憶されたプロセス制御コードをプロセッサが実行するのを不能にし、プロセッサが不能の間、ダウンロード可能なプロセス制御コードを第二のメモリから第１のメモリの不揮発性メモリに転写し、
そして前記ダウンロード可能なプロセス制御コードが転写された後、前記第一のメモリに記憶された前記ダウンロード可能なプロセス制御コードを実行する権能を再び前記プロセッサに与える転送ユニットを有する請求項１０に記載のフィールドデバイスを再プログラムするシステム。
【請求項１４】
前記第一のメモリが前記ダウンロード可能なプロセス制御コードを記憶するように構成された不揮発性メモリであり、前記第二のメモリが前記プロセッサによって実行され得るプロセス制御コードを記憶するように構成された不揮発性のメモリであり、前記第二のデバイスは、前記第一のメモリ及び前記第二のメモリのうちの一つに記憶された前記プロセス制御コードを前記プロセッサに実行させる情報を記憶するように構成された転送ユニットを有し、
該転送ユニットが、プロセス制御を実行するために前記第一のメモリ及び第二のメモリのうちの一つに記憶されているプロセス制御コードを実行する権能が前記プロセッサに与えられている間に、前記第一のメモリ及び前記第二のメモリのうちの他の一つに前記ダウンロード可能なプロセス制御コードを記憶し、前記ダウンロード可能なプロセス制御コードが前記第一のメモリ及び前記第二のメモリのうちの他の一つに記憶された後、前記第一のメモリ及び前記第二のメモリのうちの一つに記憶されたプロセス制御コードを実行する権能を前記プロセッサから剥奪し、前記プロセッサが権能を剥奪されている間に、前記第一のメモリ及び前記第二のメモリのうちの他の一つに記憶された前記ダウンロード可能なプロセス制御コードを前記プロセッサを実行させる前記記憶されている情報を更新し、前記第一のメモリ及び前記第二のメモリのうちの他の一つに記憶されている前記ダウンロード可能なプロセス制御コードを実行する権能を前記プロセッサに再び与える、請求項１０に記載のフィールドデバイスを再プログラムするシステム。
【請求項１５】
前記第二のデバイスが、
前記第一のメモリと前記第二のメモリとが前記プロセッサによって実行され得るプロセス制御コードと入力信号で受信されたダウンロード可能なプロセス制御コードとを記憶するように構成され、前記第一のメモリを含む第一の部分と前記第二のメモリを含む第二の部分とを有する不揮発性の前記第ニのデバイスと、
前記第一のメモリ及び前記第２のメモリのうちの一つに記憶された前記プロセス制御コードを前記プロセッサに実行させる情報を記憶するように構成された第三のメモリを有する転送ユニットをさらに含み、
該転送ユニットが、プロセス制御を実行するために、前記第一のメモリ及び前記第二のメモリのうちの一つに記憶されたプロセス制御コードを実行する権能が前記プロセッサに与えられている間に、前記第一のメモリ及び前記第二のメモリのうちの他の一つにダウンロード可能なプロセス制御コードを記憶し、前記ダウンロード可能なプロセス制御コードが前記第一のメモリ及び前記第二のメモリのうちの他の一つに記憶された後に、前記第一のメモリの前記一つと前記第二のメモリとに記憶されたプロセス制御コードを実行する権能を前記プロセッサから剥奪し、前記プロセッサが権能を剥奪されている間に、前記第一のメモリ及び前記第二のメモリのうちの他の一つに記憶された前記ダウンロード可能なプロセス制御コードを前記プロセッサに実行させる前記第三のメモリに前記記憶された情報を更新し、前記第三のメモリが更新された後に、前記第一のメモリ及び前記第二のメモリのうちの他の一つに記憶された前記ダウンロード可能なプロセス制御コードを実行する権能を前記プロセッサに再び与える請求項１０に記載のフィールドデバイスを再プログラムするシステム。
【請求項１６】
バス上で通信可能にリンクされた複数のフィールドデバイスを有し、各デバイスは通信プロトコルを利用して、バス上で通信可能であり、プロトコル制御ネットワークの作動中に、ホストデバイスがダウンロード可能なプロセス制御コードを含む入力信号を生成し、バスを介して再プログラム可能なフィールドデバイスに該入力信号を伝送することができ、その間、再プログラム可能なフィールドデバイスはプロセス制御が可能である再プログラム可能なフィールドデバイスであって、
前記再プログラム可能なフィールドデバイスに記憶されたプロセス制御コードの一組を実行するよう構成されたプロセッサと、
該プロセッサによって実行され得るプロセス制御コードの第一組を記憶するように構成された第一のメモリと、
前記バスを介して伝送される前記ダウンロード可能なプロセス制御コードを記憶するよう構成された第二のメモリとを有し、
前記プロセス制御ネットワークの作動中に、前記再プログラム可能なフィールドデバイスはダウンロード可能なプロセス制御コードを受信して、該ダウンロード可能なプロセス制御コードを第二のメモリに記憶し、その間、再プログラム可能なフィールドデバイスはプロセス制御コードの第一組を実行することが可能であり、該プロセス制御コードはプロセス制御を実行すべく、ダウンロード可能なプロセス制御コードによって置換されることになり、
ホストデバイスと再プログラム可能なフィールドデバイスは、バスを介してプロセス制御情報を通信して、プロセス制御機能を実行し、その間、再プログラム可能なフィールドデバイスは、ダウンロード可能なプロセス制御コードを受信し、
前記プロセッサは、ダウンロード可能なプロセス制御コードを第二のメモリに記憶した後、プロセス制御を実行する第一組のプロセス制御コードの実行を停止し、プロセス制御を実行する前記ダウンロード可能なプロセス制御コードの実行を開始する、前記再プログラム可能なデバイス。
【請求項１７】
前記通信プロトコルが同期通信及び非同期通信を含み、前記ホストデバイスが、プロセス制御の実行に影響しない非同期通信を利用して、前記再プログラム可能なフィールドデバイスに、前記ダウンロード可能なプロセス制御コードを伝送する、請求項１６に記載の再プログラム可能なフィールドデバイス。
【請求項１８】
前記通信プロトコルが並列なアナログおよびデジタル通信を含み、前記ホストデバイスが、デジタル通信を利用して、前記再プログラム可能なフィールドデバイスに、前記ダウンロード可能なプロセス制御コードを伝送する、請求項１６に記載の再プログラム可能なフィールドデバイス。
【請求項１９】
前記第一のメモリが不揮発性のメモリであり、プロセス制御を実行するために、前記第一のメモリに記憶されているプロセス制御コードを実行する権能が前記プロセッサに与えられている間に、前記再プログラム可能なフィールドデバイスが、前記第二のメモリに前記ダウンロード可能なプロセス制御コードを記憶し、
前記再プログラム可能なフィールドデバイスが、
前記ダウンロード可能なプロセス制御コードが第二のメモリに記憶された後に、前記第一のメモリに記憶されたプロセス制御コードを実行する権能を前記プロセッサから剥奪し、前記プロセッサが権能を剥奪されている間に、前記第二のメモリから前記第一のメモリの前記不揮発性メモリに前記ダウンロード可能なプロセス制御コードを転写し、前記ダウンロード可能なプロセス制御コードが転写された後、前記第一のメモリに記憶されたダウンロード可能なプロセス制御コードを実行する権能を再び前記プロセッサに与える転送ユニットを更に有する、請求項１６に記載の再プログラム可能なフィールドデバイス。
【請求項２０】
前記第一のメモリが前記入力信号で受信される前記ダウンロード可能なプロセス制御コードを記憶するように構成された不揮発性のメモリであり、前記第二のメモリが前記プロセッサによって実行され得るプロセス制御コードを記憶するように構成された不揮発性のメモリであり、
前記再プログラム可能なフィールドデバイスが、
前記プロセッサが前記第一のメモリ及び前記第二のメモリのうちの一つに記憶された前記プロセス制御コードを実行させる情報を記憶するように構成された第三のメモリを有する転送ユニットを更に有し、
該転送ユニットが、
プロセス制御を実行するために、前記第一のメモリ及び前記第二のメモリのうちの一つに記憶されたプロセス制御コードを実行する権能を前記プロセッサに与えられている間に、前記第一のメモリ及び前記第二のメモリのうちの他の一つに前記ダウンロード可能なプロセス制御コードを記憶し、前記ダウンロード可能なプロセス制御コードが前記第一のメモリ及び前記第二のメモリのうちの他の一つに記憶された後、前記第一のメモリ及び前記第二のメモリのうちの一つに記憶されたプロセス制御コードを実行する権能を前記プロセッサから剥奪し、前記プロセッサが権能を剥奪されている間に、前記プロセッサが前記第一のメモリ及び前記第二のメモリのうちの他の一つに記憶された前記ダウンロード可能なプロセス制御コードを実行する原因となる前記記憶された情報を前記第三のメモリで更新し、前記第三のメモリが更新された後、前記第一のメモリ及び第二のメモリのうちの他の一つに記憶された前記ダウンロード可能なプロセス制御コードを実行する権能を前記プロセッサに再び与える、請求項１６に記載の再プログラム可能なフィールドデバイス。
【請求項２１】
前記第一のメモリと前記第二のメモリとが、前記プロセッサによって実行され得るプロセス制御コードと入力信号で受信されたダウンロード可能なプロセス制御コードとを記憶するように構成されている、前記第一のメモリを含む第一の部分と前記第二のメモリを含む第二の部分とを有する不揮発性のメモリと、
前記第一のメモリ及び前記第２のメモリのうちの一つに記憶された前記プロセス制御コードをプロセッサに実行させる情報を記憶するように構成された第三のメモリを有する転送ユニットとをさらに有し、
該転送ユニットが、プロセス制御を実行する前記第一のメモリ及び前記第二のメモリのうちの一つに記憶されたプロセス制御コードを実行する権能が前記プロセッサに与えられている間に、前記第一のメモリ及び前記第二のメモリのうちの他の一つにダウンロード可能なプログラムインストラクションを記憶し、前記ダウンロード可能なプロセス制御コードが前記第一のメモリ及び前記第二のメモリのうちの他の一つに記憶された後に、前記第一のメモリ及び前記第二のメモリのうちの一つに記憶されたプロセス制御コードを実行する権能を前記プロセッサから剥奪し、前記プロセッサが権能を剥奪されている間に、前記第一のメモリ及び前記第二のメモリのうちの他の一つに記憶された前記ダウンロード可能なプロセス制御コードを前記プロセッサに実行させる前記記憶された情報を前記第三のメモリで更新し、前記第三のメモリが更新された後に、前記第一のメモリ及び前記第二のメモリのうちの他の一つに記憶された前記ダウンロード可能なプロセス制御コードを実行する権能を前記プロセッサに再び与える、請求項１６に記載の再プログラム可能なフィールドデバイス。
【請求項２２】
プロセス制御機能を実行するために、バス上で通信可能にリンクされる複数のデバイスを有しているプロセス制御ネットワーク内のフィールドデバイスを再プログラムする方法であって、
プロセス制御コードを前記フィールドデバイスの一つに、前記フィールドデバイスの前記一つがプロセス制御を実行可能なだけ時間をかけてダウンロードされる複数のデータパケットに分割するホストデバイスから、前記フィールドデバイスの前記一つに前記プロセス制御コードをダウンロードするステップと、
前記フィールドデバイスにおいて前記ダウンロードされたデータパケットを前記プロセス制御コードに再組み立てするステップと、
前記フィールドデバイスに前記ダウンロードされたプロセス制御コードを記憶するステップと、
バスを介してプロセス制御情報を通信してプロセス制御機能を実行し、その間、ホストデバイスからフィールドデバイスの１つにプロセス制御コードをダウンロードするステップと、
前記フィールドデバイスに前記ダウンロードされたプロセス制御コードを実行させるステップと
を備えるプロセス制御ネットワーク内のフィールドデバイスを再プログラムする方法。
【請求項２３】
前記ダウンロードするステップが、非同期通信を利用して、前記フィールドデバイスの一つに、前記ホストデバイスから前記プロセス制御コードを伝送するステップを有する、請求項２２に記載のプロセス制御ネットワーク内のフィールドデバイスを再プログラムする方法。
【請求項２４】
前記フィールドデバイスの前記一つが、プロセス制御コードを記憶する第一のメモリと第二のメモリとを有し、前記記憶するステップが、前記フィールドデバイスの一つが、プロセス制御を実施するために前記記憶されたプロセス制御コードを実行することができる間に、前記ダウンロードされたプロセス制御コードを前記第二のメモリに記憶するステップを有する、請求項２２に記載のプロセス制御ネットワーク内のフィールドデバイスを再プログラムする方法。
【請求項２５】
前記実行させるステップが、前記第二のメモリから前記第一のメモリへ前記ダウンロードされたプロセス制御コードを転写するステップを含む、請求項２４に記載のプロセス制御ネットワーク内のフィールドデバイスを再プログラムする方法。
【請求項２６】
前記実行させるステップが、前記第一のメモリ内に記憶されたプロセス制御コードの実行から、前記ダウンロードされた前記第二のメモリ内のプロセス制御コードの実行へ、前記フィールドデバイスの一つに再指示するステップを有する、請求項２４に記載のプロセス制御ネットワーク内のフィールドデバイスを再プログラムする方法。
【請求項２７】
前記実行させるステップが、
前記第一のメモリ内に記憶された前記プロセス制御コードの前記実行を終了させるステップと、
前記第二のメモリから前記第一のメモリに前記ダウンロードされたプロセス制御コードを転写するステップと、
前記ダウンロードされた前記第一のメモリ内のプロセス制御コードの実行を開始するステップと
を含む、請求項２４に記載のプロセス制御ネットワーク内のフィールドデバイスを再プログラムする方法。
【請求項２８】
前記実行させるステップが、
前記第一のメモリ内に記憶された前記プロセス制御コードの前記実行を終了させるステップと、
前記フィールドデバイスに再指示して、前記第二のメモリ内にて前記ダウンロードされたプロセス制御コードを実行するステップと、
前記第二のメモリ内にて、前記ダウンロードされたプロセス制御コードの実行を開始するステップと
を含む、請求項２４に記載のプロセス制御ネットワーク内のフィールドデバイスの再プログラムする方法。
【請求項２９】
前記複数のデバイスが異なるフィールドデバイスを同一ネットワーク内で使用可能とする通信プロトコルを利用して通信する、請求項２２に記載のプロセス制御ネットワーク内のフィールドデバイスを再プログラムする方法。
【請求項３０】
バスを介して通信可能にリンクされた複数のフィールドデバイスを有し、各フィールドデバイスはプロセス制御ネットワークの動作中に通信可能であるプロセス制御ネットワーク内にて前記フィールドデバイスを再プログラムするシステムであって、
ダウンロード可能なプロセス制御コードを複数のデータパケットに分割し、該データパケットをバス上で伝送する第一のデバイスと、
前記バス上で伝送される前記データパケットを受信することができ、前記データパケットをダウンロード可能なプロセス制御コードに再組み立てできる第二のデバイスとを有し、
該第二のデバイスが、
前記第二のデバイス内に記憶される一組のプロセス制御コードを実行するように構成されるプロセッサと、
前記プロセッサによって実行され得る第一組のプロセス制御コードを記憶するように構成される第一のメモリと、
前記バス上で伝送される前記ダウンロード可能なプロセス制御コードを記憶するように構成される第二のメモリとを有し、
前記第一のデバイスは前記データパケットを前記第二のデバイスに送信し、前記第二のデバイスは前記データパケットを受信し、該データパケットを前記ダウンロード可能なプロセス制御コードに再組み立てし、そして該プロセス制御コードを、前記プロセス制御ネットワークの作動の間であって前記第二のデバイスがプロセス制御を実行可能な間に、前記第二のメモリに記憶し、
第一のデバイス及び第二のデバイスは、バスを介してプロセス制御情報を通信して、プロセス制御機能を実行し、その間に、第一のデバイスが第二のデバイスにデータパケットを送信するフィールドデバイスを再プログラムするシステム。
【請求項３１】
前記フィールドデバイスが同期通信及び非同期通信を利用して通信し、第一のデバイスが非同期通信を利用して前記データパケットを前記第二のデバイスに伝送する、請求項３０に記載のフィールドデバイスを再プログラムするシステム。
【請求項３２】
前記フィールドデバイスがアナログおよびデジタル通信を並列に利用して通信し、第一のデバイスがデジタル通信を利用して前記データパケットを前記第二のデバイスに伝送する、請求項３０に記載のフィールドデバイスを再プログラムするシステム。
【請求項３３】
前記第一のメモリが不揮発性メモリであり、前記第二のデバイスが、プロセス制御を実行するために前記第一のメモリに記憶されたプロセス制御コードを前記プロセッサが実行可能である間に、前記第二のメモリに前記ダウンロード可能なプロセス制御コードを記憶し、
前記第二のデバイスが、前記ダウンロード可能なプロセス制御コードが前記第二のメモリに記憶された後、前記第一のメモリに記憶されたプロセス制御コードを実行する権能を前記プロセッサから剥奪し、前記プロセッサが権能を剥奪されている間、前記第二のメモリから前記第一のメモリの前記不揮発メモリに、前記ダウンロード可能なプロセス制御コードを転写し、そして前記ダウンロード可能なプロセス制御コードが転写された後、前記第一のメモリに記憶された前記ダウンロード可能なプロセス制御コードを実行する権能を前記プロセッサに再び与える転送ユニットを有する、請求項３０に記載のフィールドデバイスを再プログラムするシステム。
【請求項３４】
前記第一のメモリが前記ダウンロード可能なプロセス制御コードを記憶するように構成された不揮発性メモリであり、前記第二のメモリが前記プロセッサによって実行され得るプロセス制御コードを記憶するように構成された不揮発性のメモリであり、前記第二のデバイスが、前記第一のメモリ及び前記第二のメモリのうちの一つに記憶された前記プロセス制御コードを前記プロセッサに実行させる情報を記憶するように構成される転送ユニットを有し、
該転送ユニットが、プロセス制御を実行するために前記第一のメモリ及び前記第二のメモリのうちの一つに記憶されているプロセス制御コードを実行する権能が前記プロセッサに与えられている間に、前記第一のメモリ及び前記第二のメモリのうちの他の一つに前記ダウンロード可能なプロセス制御コードを記憶し、前記ダウンロード可能なプロセス制御コードが第一のメモリ及び第二のメモリのうちの他の一つに記憶された後、前記第一のメモリ及び前記第二のメモリのうちの一つに記憶されたプロセス制御コードを実行する権能を前記プロセッサから剥奪し、前記プロセッサが権能を剥奪されている間に、前記第一のメモリ及び前記第二のメモリのうちの他の一つに記憶された前記ダウンロード可能なプロセス制御コードを前記プロセッサに実行させる前記記憶されている情報を更新し、前記第一のメモリ及び前記第二のメモリのうちの他の一つに記憶されている前記ダウンロード可能なプロセス制御コードを実行する権能を前記プロセッサに再び与える、請求項３０に記載のフィールドデバイスを再プログラムするシステム。
【請求項３５】
前記第二のデバイスが、
前記第一のメモリと前記第二のメモリとが前記プロセッサによって実行され得るプロセス制御コードと入力信号で受信されたダウンロード可能なプロセス制御コードとを記憶するように構成され、前記第一のメモリを含む第一の部分と前記第二のメモリを含む第二の部分とを有する不揮発性の前記第二のデバイスと、
前記第一のメモリ及び前記第二のメモリのうちの一つに記憶された前記プロセス制御コードをプロセッサに実行させる情報を記憶するように構成された第三のメモリを有する転送ユニットをさらに含み、
該転送ユニットが、プロセス制御を実行するために、前記第一のメモリ及び前記第二のメモリのうちの一つに記憶されたプロセス制御コードを実行する権能が前記プロセッサに与えられている間に、前記第一のメモリ及び前記第二のメモリのうちの他の一つにダウンロード可能なプロセス制御コードを記憶し、前記ダウンロード可能なプロセス制御コードが前記第一のメモリ及び前記第二のメモリのうちの他の一つに記憶された後に、前記第一のメモリ及び前記第二のメモリのうちの一つに記憶されたプロセス制御コードを実行する権能を前記プロセッサから剥奪し、前記プロセッサが権能を剥奪されている間に、前記第一のメモリ及び前記第二のメモリのうちの他の一つに記憶された前記ダウンロード可能なプロセス制御コードを前記プロセッサに実行させる前記記憶された情報を前記第三のメモリで更新し、前記第三のメモリが更新された後に、前記第一のメモリ及び前記第二のメモリのうちの他の一つに記憶された前記ダウンロード可能なプロセス制御コードを実行する権能を前記プロセッサに再び与える請求項３０に記載のフィールドデバイスを再プログラムするシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は一般的にプロセス制御システムに関するものであり、より詳細には、フィールドデバイスが、そのシステムの標準通信プロトコルを介してダウンロードされたソフトウエアで再プログラムされるシステムに関するものである。
【０００２】
【従来の技術】
化学プロセス、石油プロセス、またはその他のプロセスで利用される分散型プロセス制御システムは、通常、アナログバス、デジタルバス、またはアナログとデジタルを組み合わせたバスを介して、一つまたはそれ以上のフィールドデバイスと通信接続される一つまたはそれ以上のプロセス制御装置を含む。例えば、バルブ、バルブポジショナ、スイッチ、およびトランスミッタ（例えば、温度センサ、圧力センサ、および流速センサ）は、プロセス環境内に位置し、バルブの開閉や、プロセスパラメータの測定のようなプロセス機能を実行する。周知のFieldbusプロトコルに適合するフィールドデバイスのようなスマートフィールドデバイスも、制御計算、アラーム機能、およびその他の通常制御装置内で実現される機能を実行し得る。通常プラント環境内に位置決するプロセス制御装置も、フィールドデバイスによるプロセス測定を示す信号および／またはその他のフィールドデバイスに付随する情報を受信し、プロセス制御決定をし制御装置アプリケーションを実行する。受信した情報に基づいて制御信号を発生し制御装置アプリケーションを実行する。この制御装置アプリケーションは、Fieldbusフィールドデバイスのようなフィールドデバイス内で実行される制御モジュールまたはブロックと調和して働く、異なる制御モジュールを作動する。この制御装置内の制御モジュールは、制御信号を通信ラインを介してフィールドデバイスへ送信し、それによってプロセスの操作を制御する。
【０００３】
フィールドデバイスおよび制御装置からの情報は、通常、通常制御室またはその他の厳しいプラント環境から離れた場所に設置されている、オペレータワークステーション、パーソナルコンピュータ、データヒストリアン、レポート作成装置、中央データベース等の一つまたはそれ以上のその他のハードウエアデバイスに至るデータハイウェイを介して取得できるようになっている。これらのハードウエアデバイスは、例えば、プロセス制御ルーチンの設定の変更、制御装置またはフィールドデバイス内での制御モジュールの操作の修正、プロセスの現在の状態の監視、社員訓練またはプロセス制御ソフトウエアの試験の目的のためのプロセス操作のシミュレーション、構成データベースの保守および更新等のプロセスに対する機能をオペレータが実行するのを可能にするアプリケーションを実行する。
【０００４】
プロセス制御産業は、例えば、FOUNDATION（登録商標）Fieldbus、HART（登録商標）、PROFIBUS（登録商標）、WORLDFIP（登録商標）、LONWORKS（登録商標）、Device-Net（登録商標）およびCANプロトコル等を含む多くの標準開放型通信プロトコルを開発してきており、それらは異なる業者に製作されたフィールドデバイスを同じプロセス制御ネットワーク内で共に使用するのを可能にしている。事実、これらのプロトコルの一つに適合するフィールドデバイスは、たとえそのフィールドデバイスがDCS制御装置の製造業者と異なる業者によって製造されていたとしても、そのプロトコルをサポートする制御装置と通信および制御されるプロセス内で利用することができる。通信プロトコルは制御装置およびフィールドデバイスが、アラームメッセイジ、トレンドデータ、設定ポイント変更等のプロセス制御情報および非プロセス制御情報を伝送することを可能にする。
【０００５】
例えば、Fieldbusファウンデーションにより普及されているFOUNDATION（登録商標）Fieldbusプロトコルは、デバイスがプロセス制御ネットワーク内で標準バスを介して互いに相互運用し通信することを許可する全デジタル型２線式バスプロトコルである。プロセス制御ネットワーク内で制御方法を実現するには、フィールドデバイスの操作およびプロセス制御情報の交換は正確にスケジュールされねばならなく、その結果適切なデータがその情報が必要になる前に各フィールドデバイスに提供される。同時に、フィールドデバイスおよび制御装置は、ネットワークによるプロセス制御の実行に支障をきたすことなく、ネットワーク上で非プロセス制御情報を通信できなければならない。Fieldbusプロトコルは、スケジュールされた（同期された）および未スケジュールの（非同期された）両方の通信に備えることにより、両方のタイプの情報の伝送を容易にしている。
【０００６】
プロセス制御ネットワークの通信スケジュールとは、各デバイスの各制御モジュールが周期的な通信活動をバス上で開始することをスケジュールしている時間と、その通信活動が発生している時間の長さとを含んでいる。一般的には、バス上の通信活動とは、どの特定のバスのセグメント上において活動している制御モジュールのそれぞれに対して一つの同期された通信を含む繰り返されるマクロサイクルと、一つのバスのセグメント上で活動している一つまたはそれ以上の制御モジュールまたはデバイスに対する一つまたはそれ以上の非同期の通信に分けられる。
【０００７】
各マクロサイクルの間、プロセススケジュールを格納し実行するスケジュールデバイスによって生成された強制的なデータコマンドに応答して、ある特定のバスのセグメント上で活動する制御モジュールのそれぞれは、通常相違するが正確にスケジュールされた（同期された）時間で実行され、もう一つの正確にスケジュールされた時間で、そのバスのセグメント上でその出力データを出力する。
【０００８】
各制御モジュールは、その制御モジュールの実行周期の終了後直ぐに、その出力データを出力するようにスケジュールされるのが好ましい。更に言えば、異なる制御モジュールのデータ出力時間は引き続いてスケジュールされるのが好ましく、その結果、ある特定のバスのセグメント上で二つの制御モジュールが同じ時間にデータを出力することが無くなる。同期された通信が発生しない時間の間、各フィールドデバイスは、それに代わって、トークン駆動による通信を利用して、非同期の方法で、追加のプロセス制御データのみならず非プロセス制御情報をも伝送することが許可される。実行時間および各制御モジュールの実行を完了するのに必要な時間量はその制御モジュールが存在するデバイスに記憶され、一方、上述したようにバスのセグメント上の各デバイスに強制的なデータコマンドを送信する時間はそのセグメントのスケジュールデバイスに記憶される。
【０００９】
各マクロサイクルにおいて、通信を発効させるために、バスセグメントのスケジュールデバイスは、そのスケジュールデバイスに記憶されている転送時間のリストに従って、バスセグメント上の各デバイスに強制的なデータコマンドを送信する。強制的なデータコマンドを受信すると、デバイスの制御モジュールはバスの出力データを特定の時間量の間出力する。スケジュールデバイスが強制的なデータコマンドをバスのある特定のセグメント上の各制御モジュールに送信した後、そして制御モジュールが実行している間、スケジュールデバイスは非同期通信活動を発生を発生させ得る。非同期通信を発効するため、スケジュールデバイスは個々のフィールドデバイスにパストークンメッセイジを送信する。フィールドデバイスがパストークンメッセイジを受信すると、フィールドデバイスはそのバス（またはそのセグメント）にフルアクセスし、非同期のメッセイジをそのメッセイジが完了するまでか、または最大分担トークン保持時間が切れるまで送信することができる。その後、そのフィールドデバイスはそのバス（またはその特定のどのセグメント）を開放し、スケジュールデバイスはパストークンメッセイジを他のデバイスに送信する。このプロセスはマクロサイクルの終了までか、またはそのスケジュールデバイスが同期された通信を発効するため強制的なデータコマンドの送信をスケジュールするまで繰り返される。勿論、メッセイジトラフィックの量およびバスの特定なセグメントに接続されるデバイスと制御モジュールの数によっては、全てのデバイスが各マクロサイクルの間にパストークンメッセイジを受信し得るわけではない。
【００１０】
もう一つの標準通信プロトコルの例であるHARTプロトコルは、アナログ／デジタル機能の併用と共にツイストペア配線を利用し、プロセス制御ネットワーク内のフィールドデバイス間の通信を可能にする。HARTプロトコル下では、プロセス制御情報は、伝送されるプロセス制御変数の数値を示す信号と共に、４−２０ｍAアナログ信号を利用して伝送される。HARTプロトコルは、また、プロセス制御と非プロセス制御の両方の情報を通信するのに利用され得るアナログ信号上に載せられるデジタル信号を提供する。HARTプロトコルにおけるデジタル通信はスケジュールされておらず（Fieldbus非同期通信と同様に）、双方向性であり、主にマスタ／スレーブ通信を介して実現される。マスタデバイスはスレーブデバイスに要求／応答形式でコマンドを送出する。スレーブは、要求された情報をマスタに伝送することによりその要求に応答しやり取りを終了する。あるいは、スレーブはバーストモードで作動することができ、そこではスレーブは幾パケットもの情報を公知の形式で、ホストデバイスによって検出され受信されるブロードキャストメッセイジとして送信する。HARTプロトコルは、Fieldbusプロトコルに比べ、異なる物理的構成でプロセス制御ネットワーク内に実現されるが、HARTプロトコルは、Fieldbusプロトコルやその他の通信プロトコルと同様に、ネットワークのプロセス制御を実行する能力に影響を与えることなく、非プロセス制御情報を転送することを可能にする。
【００１１】
各フィールドデバイスは、そのデバイスの操作を制御すると共に一つまたはそれ以上のプロセス制御モジュールを実現するソフトウエアまたはファームウエアでプログラムされる。第１世代の電子プロセス制御装置およびフィールドデバイスは、ROMベースのソフトウエアまたはその他の再プログラムできないメモリでプログラムされていた。そのデバイスは当初意図されていた目的に十分機能していたが、例えばソフトウエアの問題点や欠陥を修正したり、デバイスのために新しい機能性を追加したり、デバイスの性能を向上させる等のために再プログラムすることが非常に難しく、そうでなければ不可能であった。もしこれらのデバイスの一つがプログラミングを必要とした場合、電子モジュールは取り除かれ、必要とされたまたはグレードアップされたソフトウエアでプログラムされた新しいモジュールと取り替えられた。ある場合、その電子モジュールは取替え不可能でありフィールドデバイスは正しいソフトウエアまたは追加の機能性を装備した異なるデバイスと取り替えなければならなかった。どちらの場合にしても、そのプロセスはフィールドデバイスが最新のものにされる間中断された。
【００１２】
次の世代のプロセス制御装置はROMベースのソフトウエアから再プログラム可能なデバイスに発展した。再プログラム可能なデバイスへの発展は非揮発性のメモリ（NVM）の進歩により容易になってきている。プログラム可能なデバイスの一つの実施においては、デバイスの電子モジュールが取り除かれ、そのNVMが訂正されたまたは更新されたファームウエアで再プログラムされ、そのデバイスに再インストールされる。この実施はファームウエアが変更されるたびに新しい電子モジュールの必要性をなくすが、NVMを再プログラムする作業者は、そのファームウエアの更新を実行するためにそのデバイスの場所まで行くことが依然必要である。更に言えば、第１世代のデバイスのときのように、最低でも、幾分かのまたは全てのプロセス制御機能はそのデバイスが再プログラムされている間一時停止状態になる。最悪の場合、プロセス全体が停止される。
【００１３】
もう一つの再プログラムデバイスの実施においては、電子モジュールはデバイスからは取り外されないが、そのデバイスの再プログラムは、フィールドデバイスの通信ポートにダウンロードデバイスを取り付けることにより発効される。この方法では、コードがフィールドデバイスにそのデバイスを分解することなくダウンロードされる。しかしながら、この再プログラム可能なデバイスの実施は、そのデバイスを再プログラムするために作業員をそのフィールドデバイスの場所に送る必要性や、またはそのコードがダウンロードされる間プロセス制御を一時中止しなければならないという必要性をなくさない。
【００１４】
更にもう一つの再プログラムデバイスの実施では、プロセス制御システムのホストデバイスから遠く離れてコードをダウンロードするのを容易にしている。この実施においては、コードは、データハイウェイまたはプロセス制御システムのバスを介して、そのデバイスに伝送される。ダウンロードは制御室内のホストデバイスによって開始され、ホストデバイスはコードをバスを介して伝送する。最近、ホストデバイスは、その他のデバイスが操作可能なプロセス制御システムの標準通信プロトコルか、またはホストおよびデバイスによって認識されるが、バスに接続されているその他のデバイスには必ずしも認識されるわけではない非標準通信プロトコルかのどちらかを利用してダウンロードを実行する。コードを通信するのに利用されるプロトコルに関係なく、ホストはバスの制御を司り、それによってダウンロード中バスに接続されているその他のデバイス間の通信を防ぐ。この実施はその他の実施に比べ改善されたものである、というのはそれは作業者をデバイスの場所に送る必要をなくしたからである。しかし、ホストデバイスはダウンロード中バスの制御を奪う。その結果、その他の実施のように、プロセス制御システムは、コードがフィールドデバイスにダウンロードされている間に、部分的にまたは完全に休止状態になる。
【００１５】
これらの例は、プロセス制御産業によって開発された、デバイスのハードウエアを変更する必要がないか、またはソフトウエアおよび／またはファームウエアのダウンロードを実行するためにデバイスの物理的な位置に行く必要性をなくした再プログラム可能のデバイスの例示である。しかしながら、そのデバイスの再プログラムされ得る能力に拘わらず、現在公知のデバイスを再プログラムする方法は、ダウンロードの間プロセス制御システムを部分的にまたは完全に休止状態にし、そしてそのデバイスを再プログラムすることを要求する。単一のフィールドデバイスを再プログラムするのに半日の量の機能中止を要求するプロセスである。これは中止された操作の期間に起因する制御されるプロセスの生産性の減少および人件費の増加（フィールドデバイスの手動でプログラムすることが必要なところで）をもたらす。
【００１６】
【課題を解決するための手段】
本発明は、プロセス制御ネットワーク内のフィールドデバイスを、ネットワークの標準通信プロトコルを利用して、再プログラムする方法と、そのネットワークの標準通信プロトコルを利用して再プログラムされるのに適合されたプロセス制御ネットワーク内の再プログラム可能なフィールドデバイスを指向している。本発明の方法とデバイスでは、標準通信プロトコルを利用してダウンロードされたコードをフィールドデバイスに伝送し、フィールドデバイスにそのダウンロードされたコードを記憶し、その間にデバイスがプロセス制御を実行するのが可能になる。いったん新しいコードがダウンロードされフィールドデバイスに記憶されると、そのフィールドデバイスはプロセス制御の実行ができなくなり、そのダウンロードされたコードを実行し、そして再びプロセス制御の実行ができるようになる。
【００１７】
通常のネットワークの操作の間にそのプロセス制御ネットワークの標準通信プロトコルを利用して、再プログラム可能なフィールドデバイスまたはネットワーク内のその他のデバイスにより、プロセス制御の実行を中断することなく、新しいコードを再プログラム可能なフィールドデバイスにダウンロードし、それにより、フィールドデバイスが再プログラムされる間にプロセス制御ネットワークが中断される時間量を減少している。フィールドデバイスは、ダウンロードされたコードを実行するため再プログラムされ、休止しなければいけないが、そのフィールドデバイスが再プログラムのために休止する時間量は、ほとんどの場合、略、ネットワークを通じてコードをダウンロードするのに必要な時間よりも少ない。その結果、フィールドデバイスの再プログラムのためのプロセス制御ネットワークの分断の程度は、コードのダウンロードとフィールドデバイスの再プログラムとの両方の間プロセス制御を中断することを要求する以前の方法やデバイスと比較すると、著しくに減少している。更に言えば、プロセス制御ネットワークの標準通信プロトコルを利用することにより、本発明の方法やデバイスを実現するのに必要な追加のコードは非常に減少する、というのはメッセージの通信の機能性やエラーチェック等は既に標準通信プロトコル内にあるからである。
【００１８】
本発明の一つの態様によると、バス上で通信可能にリンクされた複数のデバイスを有するプロセス制御ネットワーク内のフィールドデバイスを再プログラムする方法は、フィールドデバイスがプロセス制御を実行している間にプロセス制御ネットワーク内で利用されている標準通信プロトコルを利用してホストデバイスからフィールドデバイスにプログラムインストラクションをダウンロードするステップと、フィールドデバイス内にダウンロード可能なプログラムインストラクションを記憶するステップと、フィールドデバイスにダウンロード可能なプログラムインストラクションを実行させるステップとを含む。標準通信プロトコルは、一つまたはそれ以上の未スケジュール待ち行列通信を介して、ダウンロード可能なプログラムインストラクションを伝送しているホストデバイスと、フィールドバスプロトコルによってサポートされている通信のようなスケジュールおよび未スケジュールの両方の通信を提供し得る。更に言えば、標準通信プロトコルは、一つまたはそれ以上のデジタル通信を介してダウンロード可能なプログラムインストラクションを伝送しているホストデバイスを、ＨＡＲＴプロトコルによってサポートされる通信のようなアナログおよびデジタル通信のために提供し得る。付け加えて言うならば、ダウンロード可能なプログラムインストラクションは、時間が経てばホストデバイスによって伝送され、フィールドデバイスによって再組み立てされるデータパケットに分けられる。
【００１９】
本発明にかかる方法の一つの実施例では、フィールドデバイスは第一のメモリと第二のメモリを有し、第一のメモリでフィールドデバイスが記憶されているプログラムインストラクションを実行できる間に、ダウンロード可能なプログラムインストラクションは第２のメモリに記憶される。一つの実施例によると、そのフィールドデバイスは、ダウンロード可能なプログラムインストラクションを第２のメモリから第一のメモリに転写し、そして次にダウンロード可能なプログラムインストラクションを第一のメモリで実行することにより再プログラムされる。もう一つの実施例においては、フィールドデバイスは記憶されたプログラムインストラクションを第一のメモリで実行するのを止め、ダウンロード可能なプログラムインストラクションを第２のメモリで実行するように変更される。
【００２０】
本発明のもう一つの態様によれば、フィールドデバイスを再プログラムするシステムは、バスを介して通信リンクされている複数のデバイスを有する、プロセス制御ネットワーク内に設けられており、そこでは、各デバイスはプロセス機能を実行できると共に、標準通信プロトコルを利用してバス上で通信することができる。そのシステムは、ダウンロード可能なプログラムインストラクションを含む入力信号を発生する第一のデバイスとバス上を伝送されるその入力信号を受信できる第ニのデバイスとを有している。第二のデバイスは、第二のデバイスに記憶されたプログラムインストラクションを実行するように構成されたプロセッサを有し、第一のメモリは、プロセッサによって実行され得るプログラムインストラクションを記憶するよう構成され、そして第二のメモリは、入力信号で受信されたダウンロード可能なプログラムインストラクションを記憶するように構成されている。第一のデバイスは入力信号をバスを介して第二のデバイスに伝送し、第二のデバイスはその入力信号を受信しそしてダウンロード可能なプログラムインストラクションを第一または第二のメモリのどちらかに記憶する。プロセス制御を実行するためにプロセッサが記憶されたプログラムインストラクションを実行できる間に、第二のデバイスは、ダウンロード可能なプログラムインストラクションを記憶する。標準通信プロトコルはスケジュールおよび未スケジュールの通信を含んでも良く、第一のデバイスは未スケジュール待ち行列通信を利用して入力信号を伝送する。あるいは標準通信プロトコルはアナログおよびデジタル通信を含んでも良く、第一のデバイスはデジタル通信を利用して入力信号を伝送する。
【００２１】
本発明の特徴や利点は、図面を参照にした好ましい実施例の詳細な説明の観点から当業者にとって明白であり、その簡単な説明は下記に提供されている。
【００２２】
【発明の実施の形態】
図１を参照すると、分散型のプロセス制御システム10が一つまたはそれ以上の専用のプロセス制御装置12を有し、そのそれぞれは、例えばFieldbusまたはHARTインターフェイスであり得る入力／出力（I/O）モジュール16を介して、一つまたはそれ以上のフィールドデバイス14、15と接続されている。制御装置12は、また、例えばイーサネット（登録商標）リンクであり得るデータハイウェイ20を介して一つまたはそれ以上のホストまたはオペレータワークステーション18に接続されている。制御装置12と、I/Oモジュール16と、フィールドデバイス14、15とは、厳しいプラント環境の中に位置付けられると共にその全体に分散されているが、オペレータワークステーション18は通常制御室または制御装置作業者によって容易に評価され得るその他のそれほど厳しくない環境に位置付けられている。各制御装置12は、例えばフィシャーローズマウントシステム社によって販売されているDelta Vであっても良く、多くの異なるそして独立して実行される制御モジュール24を利用して、制御戦略を実施する制御装置アプリケーション23を記憶および実行する。制御モジュール24のそれぞれは、一般に機能ブロックと呼ばれるもので構成されても良く、そこでは、各機能ブロックは全体の制御ルーチンの一部またはサブルーチンであり、プロセス制御システム10の中にプロセス制御ループを実現するために、その他の機能ブロック（リンクと呼ばれる通信を介して）と併せて作動する。公知のように、機能ブロックは、通常、プロセス制御システム10内で物理的機能を実行するために、転送装置、センサ、またはその他のプロセスパラメータ測定、PID、ファジー理論等の制御を実行する制御ルーチンに関連する入力機能の一つ、またはバルブのようなデバイスの操作を制御する出力機能の一つを実行する。勿論、ハイブリッドおよびその他の種類の機能ブロックも存在する。しかし、制御モジュール24は、例えば、シークエンシャル機能ブロックおよびラダー論理等を含むどの所望の制御プログラムスキームをも利用して設計することができるが、機能ブロックまたはその他の特定のプログラム技術によって設計されるのに限定されているわけではない。
【００２３】
図１に例示されているシステムにおいて、制御装置12の一つに接続されているフィールドデバイス15は、Fieldbusフィールドデバイスのようなスマートフィールドデバイスであり、プロセッサおよびメモリを有する。これらのデバイスは、モジュール24に加えて制御装置のアプリケーションまたは一つまたはそれ以上のモジュール24の機能ブロックのようなサブパートを記憶および実行をする。フィールドデバイス15内の、モジュールまたはモジュールの一部分は、公知のようにプロセス制御を実施するため、制御装置12の中のモジュールの実行と連動して実行され得る。同様に、もう一つの制御装置12に接続されている一つまたはそれ以上のフィールドデバイス14は、また、プロセス制御を実施するために実行される制御装置アプリケーション23および制御モジュール24を伴う、HARTフィールドデバイスのようなスマートフィールドデバイスであり得る。
【００２４】
ホストワークステーション18はコンフィギャレーションアプリケーション25を記憶および実行し、それはプロセス制御モジュール24を作成または変更するためと、データハイウェイ20を介して制御装置12の一つおよび／またはフィールドデバイス15の一つのようなフィールドデバイスにこれらの制御モジュールをダウンロードするために利用される。ホストワークステーション18は、また、ビューアプリケーション26を記憶および実行しても良く、それはデータハイウェイ20を介して制御装置12からデータを受信し、前もって定義されているユーザインターフェイス27またはビューを利用して、表示機構を介してこの情報を表示する。このビューは、通常コンフィギャレーションアプリケーション25を利用して作成される。幾つかの場合、ビューアプリケーション26はユーザから設定ポイントの変更のような入力を受信し、これらの入力を一つまたはそれ以上の制御装置12内の制御装置アプリケーション23に提供する。
【００２５】
データヒストリアン28はデータハイウェイ20に接続され、所望のまたは公知のデータヒストリアンソフトウエアを利用してその中のメモリにデータを記憶する。しかし、もし所望ならば、データヒストリアンは、それに代わって、一つまたはそれ以上のワークステーション18に存在し得る。更に言えば、コンフィギャレーションデータベース30は、プロセス制御システムの現在の構成およびそれに関連するデータを記憶するコンフィギャレーションデータベースアプリケーション32を実行する。
【００２６】
図２を参照する。再プログラム可能なフィールドデバイス40はCPU  42と、第一のメモリ44と、第二のメモリ46と、転送ユニット48とを有するスマートデバイスである。再プログラム可能なフィールドデバイス40は、通常、入力／出力デバイス16を介して、制御装置12に接続されており、図１の一つまたは全てのフィールドデバイス14、15は再プログラム可能なフィールドデバイス40であっても良い。再プログラム可能なフィールドデバイス40は、また、バスまたはその他の通信リンクを介して接続されているその他のデバイスと、そのバスまたはその他の通信リンクによって利用されている標準通信プロトコル（HARTまたはFieldbusプロトコルのような）を利用して通信することができる。
【００２７】
図２の実施例では、再プログラム可能なフィールドデバイス40は、制御アプリケーション23および制御モジュール24を第一のメモリ44に記憶し、また、再プログラム可能なフィールドデバイス40のためのオペレーティングシステムソフトウエア50および再プログラム可能であることを意図する再プログラム可能なフィールドデバイス40のためのその他のソフトウエアを記憶し得る。校正データ52のようなその他の種類のデータは、第一のメモリ44か、またはデータがコードのダウンロードにより破壊されないその他のメモリ場所もしくはメモリデバイスに記憶されることができる。再プログラム可能なフィールドデバイス40の通常動作の間に、CPU  42は第一のメモリ44に記憶されているコードを実行し、それにより再プログラム可能なフィールドデバイス40を操作すると共に、プロセス制御システム10によって要求されるプロセス制御機能を実行する。
【００２８】
再プログラム可能なフィールドデバイス40の第二のメモリ46は再プログラム可能なフィールドデバイス40を再プログラムするのに利用される新しくダウンロードされたコードを記憶する。再プログラム可能なフィールドデバイス40はダウンロードされたコードを収納するデータハイウェイ20を介して入力メッセイジを受信すると、CPU  42はダウンロード可能なコードを第二のメモリ46に書き込む。再プログラム可能なフィールドデバイス40が動作中であり、CPU  42がプロセス制御を実行するために第一のメモリ44に記憶されているコードを同時に実行できる間に、ダウンロード可能なコードは受信され、第二のメモリ46に記憶される。いったんそのコードが第二のメモリ46に完全にダウンロードされると、再プログラム可能なフィールドデバイス40がダウンロードされたコードを実行するために再プログラムされる間、再プログラム可能なフィールドデバイス40は、比較的短時間の間、停止またはその他の非作動状態になる。
【００２９】
新しくダウンロードされたコードを記憶し、再プログラム可能なフィールドデバイス40を再プログラムするプロセスは転送ユニット48によって制御される。転送ユニット48は、CPU  42の一部として、そのための別のCPUとして、またはCPU  42によって実行される別の論理として、コードの記憶および再プログラム可能なフィールドデバイス40の再プログラムを制御するため実現され得る。下記により詳しく記述されるように、再プログラム可能なフィールドデバイス40がダウンロードされたコードと共に入力メッセイジを受信すると、転送ユニット48はCPU  42にダウンロードされたコードを第一のメモリ44か第二のメモリ46かのどちらかの適切な場所に書き込ませる。いったんダウンロードされたコードが記憶されると、再プログラム可能なフィールドデバイス40が再プログラムされる間、転送ユニット48は再プログラム可能なフィールドデバイス40を停止状態にするか、またはそのデバイス40をその他の非作動状態に設定する。更に言えば、転送ユニット48は、CPU  42にダウンロードされたコードを実行させ、再プログラム可能なフィールドデバイス40による通常のプロセス制御作動を再開させることによりデバイス40の再プログラムを制御する。
【００３０】
第一のメモリ44と第二のメモリ46は図２において別のブロックとして例示されているが、第一および第二のメモリ44、46はそれぞれ特定の物理的もしくは動作上の関係や、または特定の種類の記憶デバイスによって実現されるということに制約されるものではない。例えば、再プログラム可能なフィールドデバイス40の一つの実施例において、第一のメモリ44は、フラッシュメモリのような再プログラム可能なNVM記憶デバイスであり、第二のメモリ46は、古典的なRAMもしくはその他の種類のRAMのような一時的なメモリ記憶デバイスか、または第一のメモリ44のNVMとは異なる種類のNVM記憶デバイスである。新しいコードが20を介してダウンロードされると、転送ユニット48は第二のメモリ46内にそのダウンロードされたコードを一時的に記憶させる。いったんダウンロードが完了すると、転送ユニット48は再プログラム可能なフィールドデバイス40を停止し、そのダウンロードされたコードを第二のメモリ46から第一のメモリ44のフラッシュメモリ内の適切な場所に転送させる。例えば、もしダウンロードされたコードが再プログラム可能なフィールドデバイス40のための新しいまたは修理されたオペレーティングシステムを含んでいれば、ダウンロードされたコードは、オペレーティングシステム50の記憶場所にある第一のメモリ44のNVMに書き込まれる。更に言えば、もしダウンロードされたコードが、新しい制御モジュール24の形式の再プログラム可能なフィールドデバイス40のための追加の機能性を含んでいれば、その新しい制御モジュール24のダウンロードされたコードは、制御26のコードが追加の機能および新しい制御モジュール24のアドレスと共に更新される間、第一のメモリ44のNVM内の空いている記憶場所に書き込まれる。いったん第二のメモリ46内のダウンロードされたコードが第一のメモリ44のNVM内に書き込まれると、転送ユニット48は再プログラム可能なフィールドデバイス40を通常の作動モードに戻し、CPU  42は第一のメモリ44に今記憶された新しくダウンロードされたコードを実行する。
【００３１】
再プログラム可能なフィールドデバイス40のもう一つの実施例においては、再プログラム可能なフィールドデバイス40は、第一のメモリ44か第二のメモリ46かどちらかに記憶されるコードを実行することができる。例えば、第一のメモリ44と第二のメモリ46の両方ともNVM記憶デバイスであり、両方のデバイスが同じ再プログラム可能なコードを記憶する容量を有している。その結果、第二のメモリ46は制御アプリケーション23と、制御モジュール24と、オペレーティングシステムソフトウエア50と、第一のメモリ44に記憶されているその他の情報を記憶し得るであろう。この実施例では、転送ユニット48は、メモリ44と46とのどちらのメモリにアクセスするかをCPU  42に示すポインタまたはアドレスの記憶場所を含んでいる。
【００３２】
この実施例を図２の再プログラム可能なフィールドデバイス40に応用するためには、転送ユニット48のポインタはまず第一のメモリ44のNVM内に記憶されるコードを実行するようにCPU  42に指示するように設定され、その間第二のメモリ46のNVMはアイドリング状態である。再プログラム可能なフィールドデバイス40を再プログラムするためのコードがデータハイウェイ20を介して再プログラム可能なフィールドデバイス40に伝送されると、転送ユニット48はCPU  42にダウンロード可能なコードを第二のメモリ46のNVMに書き込ませる。ダウンロードされたコードは第二のメモリ46のNVM内に以前記憶されたコードを更新するかまたは取り替える。そのコードのダウンロードが完了した後、転送ユニット48は再プログラム可能なフィールドデバイス40を停止し、CPU  42に第二のメモリ46のNVM内に現在記憶されているダウンロードされたコードを実行させるようポインタを更新し、それによって40を再プログラムする。ポインタが更新された後、再プログラム可能なフィールドデバイス40は、第二のメモリ46のNVM内の新しくダウンロードされたコードに従った正常な動作の運転状態に戻ることができる。いったん再プログラム可能なフィールドデバイス40が、第二のメモリ46内のダウンロードされたコードを実行するように再プログラムされると、次にコードをダウンロードする場合は、第一のメモリ44のNVM内にコードを記憶することになり、そのあと第一のメモリ44内のダウンロードされたコードを実行するためCPU  42を再プログラムすることになる。再プログラム可能なフィールドデバイス40のこの実施例においては、再プログラム可能なフィールドデバイス40のソフトウエアの最新版がその後のコードのダウンロードによって更新されているか裏付けるために、ダウンロードされたコードの現行版を実行メモリからアイドリングメモリに転写することもまた必要であり得る。その転写は、再プログラムのサイクルの間か、またはプロセス制御システム10の分断を減少するために、再プログラム可能なフィールドデバイス40が作動中だがプロセス制御を実行していない時間に行なうことができるし、またはそのソフトウエアが別のメモリがなければ、バックグラウンドタスクとしてライブで実行することができる。
【００３３】
更にもう一つの実施例としては、再プログラム可能なフィールドデバイス40は、読み込み／書き込みの性能を有する単一のNVM記憶デバイスを有する。そのNVM記憶デバイスは第一のメモリ44と第二のメモリ46を作成するために分割されている。前に記載された実施例では、転送ユニット48内のポインタがCPU  42に再プログラム可能なフィールドデバイス40の現在版のコードを収納するパーテション内のダウンロードされたコードを実行するよう指示する。新しいコードが再プログラム可能なフィールドデバイス40にダウンロードされると、ダウンロードされたコードはNVM記憶デバイスのアイドリングパーテションに書き込まれ、そのダウンロードが完了すると、再プログラム可能なフィールドデバイス40は、NVM記憶デバイスの以前のアイドリングパーテション内の、新しくダウンロードされたコードを実行するように再プログラムされる。コードのダウンロードおよび再プログラム可能なフィールドデバイス40の再プログラムの作動はプロセス制御10の標準通信プロトコルを利用して発効され、プロセス制御ネットワークの実行に最小限の影響を被るだけで、再プログラム可能なフィールドデバイス40がプロセス制御ネットワーク内で作動している間に完了し得る。ダウンロードは、新しいコードがロードされているホスト18によって開始される。そのコードの実際のダウンロードの前に、ホスト18はメッセイジを制御装置12に転送しても良い、制御装置12は、それからそのメッセイジを再プログラム可能なフィールドデバイス40に伝送する。そのメッセイジは再プログラム可能なフィールドデバイス40にホスト18（または制御装置12）が再プログラム可能なフィールドデバイス40にコードをダウンロードするところであると知らせる。ホスト18からの最初のメッセイジは、ダウンロードされるコードの種類（オペレーティングシステム、制御アプリケーション、制御モジュール等）と、ダウンロードされるコードのバージョンと、ダウンロードされるコードが必要とする記憶スペースの量等とを含んでいる。ホスト18からの最初のメッセイジを受信すると、再プログラム可能なフィールドデバイス40は、それに続くホスト18からの一つまたはそれ以上のメッセイジのダウンロードされたコードを受信する準備をし、そしてホスト18にコードを受信する準備ができたことを示すメッセイジで応答する。再プログラム可能なフィールドデバイス40からの応答メッセイジは、記憶場所の制限と、再プログラム可能なフィールドデバイス40内で現在実行されているソフトウエアのバージョン等とを含み得る。
【００３４】
いったんホスト18が再プログラム可能なフィールドデバイス40からの応答を受信すると、ホスト18は再プログラム可能なフィールドデバイス40にコードのダウンロードを開始することができる。そのコードは、プロセス制御システム10の標準通信プロトコルを利用して、データハイウェイ20を介して、それからプロトコルバスまたはリンク（HARTまたはFieldbusプロトコルに関連するもののような）を介して、再プログラム可能なフィールドデバイス40に伝送される。ダウンロードされるコードの量によって、その転送はホスト18からの単一伝送かデータの多重パケットの伝送かのどちらかを要求し得る。必要な伝送の回数も、また、データハイウェイ20やプロトコル通信リンクの速度と、データ転送のプロセス制御スケジュールにおける制御装置12に割り当てられた時間量と、再プログラム可能なフィールドデバイス40内の記憶デバイスがデータを解析および記憶できる速度等とに依存する。再プログラム可能なフィールドデバイス40がホスト18（または制御装置12）からダウンロードの伝送を受信するに連れて、そのデータは再プログラム可能なフィールドデバイス40のCPU  42により適切に実行されるよう記憶デバイス内で再組み立てされる。その転送は再プログラム可能なフィールドデバイス40によって受信されながら、チェックサムのような通信プロトコルの標準通信確認が、各転送が再プログラム可能なフィールドデバイス40によって適切に受信されていることを保証するために利用される。
【００３５】
新しいコードがホスト18からダウンロードされると、再プログラム可能なフィールドデバイス40は、前述の方法かまたは記憶デバイスによって要求される方法によって、揮発性か非揮発性かのどちらかのメモリに、ダウンロードされたコードを記憶する。標準通信プロトコルを利用すると、そのコードのダウンロードと記憶の間、再プログラム可能なフィールドデバイス40が作動状態に留まることを可能にするということをここで記述しておくことは重要なことである。例えば、Fieldbusプロトコルにおいては、新しいコードは、制御装置12に関連しているI/Oデバイスおよび再プログラム可能なフィールドデバイス40がパストークンメッセイジを受信したときに、非同期通信を利用してダウンロードされる。同時に、再プログラム可能なフィールドデバイス40およびその他のフィールドデバイス14、15、40の制御モジュール24は、同期スケジュールに従って、プロセス制御を実行すると共にプロセス制御情報を伝送するために、それらの制御ループ内で作動している。同様に、HARTプロトコルを実施しているネットワークにおいては、ダウンロードされたコードは、デジタルオーバレイで、ツイストペア配線を介して伝送され、一方プロセス制御情報はアナログ信号で通信される。その結果、コードを再プログラム可能なフィールドデバイス40にダウンロードすることはプロセス制御に影響を与えない。更に言えば、新しいコードをダウンロードするために、データハイウェイ20や適切なプロトコルバスまたはリンクを利用することにより、再プログラム可能なフィールドデバイス40は、再プログラム可能なフィールドデバイス40の物理的な場所に人を送ることなく再プログラムされる。
【００３６】
標準通信プロトコルを利用することにより、ホスト18（または制御装置12）は、システム10の作動を中断することなく、複数の再プログラム可能なフィールドデバイス40にコードをダウンロードすることができ、その結果デバイス40はプロセス制御が中断される単一時間内で同時に再プログラムすることができる。例えば、Fieldbusプロトコルにおいては、制御装置の関連するI/Oデバイスは、再プログラムされる全てのデバイス40にブロードキャストメッセイジを転送するか、または複数のマクロサイクルの時間をかけ、個々のデバイス40にメッセイジを発行できる。HARTプロトコルにおいては、各再プログラム可能なフィールドデバイス40は、コードが制御装置12よって同時に複数のデバイス40にダウンロードし得る専用接続を有している。全てのデバイス40がホスト18または制御装置12からダウンロードされたコードを受信および記憶したあと、フィールドデバイス40の再プログラムサイクルはプロセス制御が中断される単一時間内で下記により十分に示される方法で開始される。
【００３７】
いったん新しいコードのダウンロードおよび記憶が完了すると、再プログラム可能なフィールドデバイス40は、ダウンロードされたコードを実行するための再プログラムの準備が整う。この時点で、ホスト18は、再プログラム可能なフィールドデバイス40が再プログラムサイクルの準備が整っていることを確認する。その確認は再プログラム可能なフィールドデバイス40にダウンロードされたデータのチェックサムを計算するように指示を伝送し、再プログラム可能なフィールドデバイス40が受信したデータとホスト18が伝送したデータと一致することを確認することを含み得る。もし、確認操作がそのダウンロードが失敗であると示した場合、ホスト18はダウンロードを再開始し、ダウンロードが失敗である旨の通知をオペレータに発行するか、またはその他の前もってプログラムされた誤り処理機能を実行する。
【００３８】
もしダウンロードが成功ならば、ホスト18は、最初の確認メッセイジかまたはその後のメッセイジかのどちらかで、再プログラム可能なフィールドデバイス40に、再プログラムの準備をするようにコマンドを発行する。個々の再プログラム可能なフィールドデバイス40の要求によって、再プログラムサイクル間の再プログラム可能なフィールドデバイス40の作動モードは変わる。例えば、バルブポジショナなどの制御装置は、そのデバイスが再プログラムの間、完全に停止状態であること要求し得る。バルブポジショナが停止状態である間、ホスト18または制御装置12は、その他のフィールドデバイス14、15、40および制御モジュール24に、バルブポジショナが停止状態である旨通知する必要があるだろう。ホスト18または制御装置12による通知は、そのバルブポジショナまたはその他の再プログラム可能なフィールドデバイス40が再プログラムされている間、一つまたはそれ以上のフィールドデバイス14、15、40または制御モジュール24の作動状態を変更する指示も含み得る。伝送装置のようなその他の再プログラム可能なフィールドデバイス40に対しては、ホスト18は、その再プログラム可能なフィールドデバイス40が再プログラムされている間、その再プログラム可能なフィールドデバイス40に、定常状態で作動し、定常流速のような定数を伴うプロセス制御情報を伝送するように指示をし得る。その他の場合、ホスト18／制御装置12は、再プログラムサイクルの間、再プログラム可能なフィールドデバイス40の代わりにプロセス制御ループを優先させ、制御ループ内のフィールドデバイス14、15、40および制御モジュール24と直接通信し、それらが準正常状態で作動することを可能にし得る。ホスト18／制御装置12と、再プログラム可能なフィールドデバイス40と、その他のフィールドデバイス14、15、40と、そして制御モジュール24とは、フィールドデバイス14、15、40と、制御ループと、そしてプロセス制御システム10との個々の要求によって、その他の種類の修正された作動モード下で作動するように要求され得る。
【００３９】
いったん再プログラム可能なフィールドデバイス40およびプロセス制御システム10が、ホスト18／制御装置12によって準備されると、ホスト18／制御装置12は、再プログラム可能なフィールドデバイス40に自分自身の再プログラムを開始するように、再プログラム可能なフィールドデバイス40に指示するメッセイジを伝送する。再プログラム可能なフィールドデバイス40は、前述の再プログラム方法の一つを通じて、自分自身を再プログラムし得る。それらは、第二メモリ46から第一メモリ44にダウンロードされたコードを転写する方法もしくは転送ユニット48内のポインタを変更し、CPU  42に以前のアイドリングメモリ内のダウンロードされたコードを実行させる方法か、または再プログラム可能なフィールドデバイス40のハードウエア構成によって決定されるその他のどのような方法でも良い。再プログラム可能なフィールドデバイス40が再プログラムされると、ホスト18／制御装置12と再プログラム可能なフィールドデバイス40との通信は再確立されなくてはいけなく、そうすることにより再プログラム可能なフィールドデバイス40はプロセス制御を実施するための正常な作動状態に戻ることができる。通信は、デバイス40が首尾よく再プログラムされた後、再プログラム可能なフィールドデバイス40からホスト18／制御装置12への応答メッセイジが伝達されることにより、またはホスト18／制御装置12が、所定の時間のあと、再プログラム可能なフィールドデバイス40に再始動のメッセイジを伝送することにより再確立され得る。
【００４０】
本文で記述される本発明の方法およびデバイスは、プロセス制御システム10によって実行されるプロセス制御に影響を与えることなく、ネットワークを介して、再プログラム可能なフィールドデバイス40に、コードをダウンロードすることを容易にする。この方法およびデバイスは、コードのダウンロードおよびフィールドデバイスの再プログラムの間プロセス制御が実行できない、従来より公知のコードをフィールドデバイスにダウンロードする方法に比べ、著しく向上している。例えば、HARTプロトコルを利用するプロセス制御システムにおいては、従来より公知のフィールドデバイスに３０Kbのデータをダウンロードするのに１５分必要であり、そのデバイスを再プログラムするのに１５秒必要である。その結果、プロセス制御は略１６分中断される。本発明にかかる方法およびデバイスを利用すれば、３０Kbのデータは、再プログラム可能なフィールドデバイス40に、プロセス制御情報が同時にアナログ信号で伝送されている間に、デジタルオーバレイでダウンロードされ、そのデバイス40が再プログラムされるときに、プロセス制御は１分未満の間中断される。更に言えば、そのフィールドデバイスは物理的に操作される必要はなく、即ちその装置に足を運んだりその装置を開けたりする等の必要がなく、それによって、フィールドデバイスの再プログラムに関連する人件費と、制御ループを停止することに起因する失われたネットワークの作動時間の費用とを減らすことができる。
【００４１】
プロセス制御への影響を減少することに加えて、本発明に係る方法およびデバイスの実施は、プロセス制御システム内に既に存在する標準通信プロトコルを利用することにより簡単化される。本発明に係る方法はある形式でデータブロックを書き込むことを支援するどのようなプロトコルも利用することができる。結果的に、通信プロトコルによって既に実行される、コードの通信、エラーのチェック等のような機能のための追加のコーディングは必要ない。
【００４２】
実施されれば、本文で記述されるどのソフトウエアまたはファームウエアでも、磁気ディスク、レーザで読み取り可能なディスク、もしくはその他の記憶媒体上に、またはコンピュータもしくはプロセッサのRAMもしくはROM内等の、どのようなコンピュータが読み込み可能なメモリに記憶され得る。同様に、ソフトウエアは、例えば、コンピュータが読み込み可能なディスクもしくはその他の移送可能なコンピュータ記憶機構と、または電話回線、インターネット、ワールドワイドウェブ、その他のローカルエリアネットワークもしくはワイドエリアネットワーク等の通信チャネルとを含む公知のまたは所望のどのような配送方法ででも（配送とは移送可能な記憶媒体を介するそのようなソフトウエアまたはファームウエアを提供することと同じまたは置き換可能と見なされる）、ユーザに、プロセス制御システムに、またはホスト18に配送し得る。更に、ソフトウエアまたはファームウエアは変調せずに直接提供され得るし、または通信チャネルを介して伝送される前に、いかなる適切な変調キャリア波ででも変調し得る。
【００４３】
このように、本発明は特定の例を引用して記述されているが、それは例示だけを意図したものであり、本発明を制限するものではなく、当業者にとって、本発明の精神および範疇を逸脱することなく、開示された実施例を、変更、追加、または削除できることは自明のことである。
【図面の簡単な説明】
【図１】  図１は、異なるハードウエアデバイスによって実行され、コードをフィールドデバイスにダウンロードできる、異なるプロセス制御機能を有する典型的なプロセス制御ネットワークのブロック図である。
【図２】  図２は、図１のような分散型プロセス制御システムにおいて、標準通信プロトコルを利用して、再プログラムされ得る再プログラム可能なフィールドデバイスのブロック図である。
【符号の説明】
10  分散型プロセス制御システム
12  プロセス制御装置
14、15  フィールドデバイス
16  入力／出力モジュール
18  オペレータワークステーション
23  制御装置アプリケーション
24  制御モジュール
25  コンフィギャレーションアプリケーション
26  ビューアプリケーション
27  ユーザインターフェイス
28  データヒストリアン
30  コンフィギャレーションデータベース
32  コンフィギャレーションデータベースアプリケーション
40  再プログラム可能なフィールドデバイス
42  CPU
44  第一のメモリ
46  第二のメモリ
48  転送ユニット
50  オペレーティングシステムソフトウエア
52  校正データ
【図１】
0005015398.tif 000002
【図２】
0005015398.tif 000003