Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5338528B2 - プログラマブルコントローラおよびアプリケーションプログラムの更新方法 - Google Patents
[go: Go Back, main page]

JP5338528B2 - プログラマブルコントローラおよびアプリケーションプログラムの更新方法 - Google Patents

プログラマブルコントローラおよびアプリケーションプログラムの更新方法 Download PDF

Info

Publication number
JP5338528B2
JP5338528B2 JP2009159142A JP2009159142A JP5338528B2 JP 5338528 B2 JP5338528 B2 JP 5338528B2 JP 2009159142 A JP2009159142 A JP 2009159142A JP 2009159142 A JP2009159142 A JP 2009159142A JP 5338528 B2 JP5338528 B2 JP 5338528B2
Authority
JP
Japan
Prior art keywords
application program
memory
program
update
stored
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 - Fee Related
Application number
JP2009159142A
Other languages
English (en)
Other versions
JP2011014043A (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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co Ltd
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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP2009159142A priority Critical patent/JP5338528B2/ja
Publication of JP2011014043A publication Critical patent/JP2011014043A/ja
Application granted granted Critical
Publication of JP5338528B2 publication Critical patent/JP5338528B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)

Description

本発明は、プログラマブルコントローラ等のコントローラシステムにおけるアプリケーションプログラムのオンラインでの更新技術に関する。
プログラマブルコントローラ等のコントローラシステムにおいて、アプリケーションプログラムをオンラインで更新する技術がある。この技術について以下に説明する。
図4は、第1の従来技術のコントローラシステムを示すブロック図である。この第1のコントローラシステムにおける処理について、図4〜図8を用いて説明する。
図4に示すように、コントローラシステム100は、マイクロプロセッサ101と、メモリ102とを有する。メモリ102内には、アプリケーションプログラム領域104、アプリケーションデータ領域105、システムプログラム領域106、アプリケーション位置登録テーブル107、等の各種データが記憶される。
アプリケーションプログラム領域104は、一般的に、複数のアプリケーションプログラムの記憶領域である。アプリケーションデータ領域105は、各アプリケーションプログラムが実行時に使用する各種パラメータの記憶領域である。システムプログラム領域106は、アプリケーションプログラムの更新(ダウンロード)処理等のシステム処理を実行する各種プログラムの記憶領域である。なお、更新処理用システムプログラムは、更新対象プログラムの数等をチェックし、更新処理が規定の時間に収まるかどうかを判定する判定機能も備えているものとする。
アプリケーション位置登録テーブル107には、図5に示すように、アプリケーションプログラム領域104に記憶される各アプリケーションプログラムのポインタ(先頭アドレス)が記憶される。図5では、アプリケーションプログラム領域104に記憶されるプログラムAとプログラムBのそれぞれのポインタが、アプリケーション位置登録テーブル107に記憶されている。
図4のコントローラシステム100は、アプリケーションプログラム領域104に記憶される各アプリケーションプログラムの実行と、システムプログラム領域106に記憶されるダウンロード等のシステム処理に対応する各システムプログラムの実行とをサイクリックに(定周期的に)繰り返す。
アプリケーションプログラムを実行するときには、マイクロプロセッサ101は、アプリケーション位置登録テーブル107を通して、アプリケーションプログラム領域104上の各アプリケーションプログラムの記憶位置を認識し、対象とするアプリケーションプログラムの各命令等を演算部103に読み込み実行する。
システムプログラムを実行するときには、マイクロプロセッサ101は、システムプログラム領域106から対象とする(更新処理等の)システムプログラムの各命令等を演算部103に読み込み実行する。
図6は、第1の従来技術のコントローラシステムにおけるアプリケーションプログラムの更新処理のフローチャートである。このオンライン更新処理は支援ツール(不図示)からアプリケーションプログラムがダウンロードされると更新処理用システムプログラム(不図示)により実行される。
図6において、ステップS11で、ダウンロードされたアプリケーションプログラムがアプリケーションプログラム領域104に格納され、ステップS12で、アプリケーションプログラムの実行期間が終了したこと(アプリケーションプログラムのエンド)を検出することで、システムプログラムを実行する期間の開始が判定される。続く、ステップS13において、アプリケーション位置登録テーブル107のポインタを書き換えることにより、旧アプリケーションプログラムから新アプリケーションプログラムへの切り替えが行なわれ、一連の処理を終了する。
図7は、図5の状態に対する更新後の、アプリケーションプログラム領域104とアプリケーション位置登録テーブル107とを示した図である。ここでは、更新指示によりプログラムBをプログラムCに更新するものとする。アプリケーションプログラム領域104の空き領域にプログラムCを格納し、アプリケーションプログラムのエンドのタイミングで、プログラムBのポインタをプログラムCの先頭位置を示すように書き換えることにより、以降、プログラムBの代わりに、プログラムCが実行されることになる。
図8に、第1の従来技術のコントローラシステムの実行例を示す。
図8の例では、1つのプログラム実行期間内に、アプリケーションプログラムとしてプログラムAおよびプログラムBが実行され、あるアプリケーションプログラムの実行期間と、次のアプリケーションプログラムの実行期間との間の各空き時間にシステム処理(アプリケーションプログラムのオンライン更新処理)として、プログラム格納処理、アプリケーション位置登録テーブル更新処理などの各処理が分割されて行われる場合が示されている。
続いて、非特許文献1に示される第2の従来技術のコントローラシステムについて説明する。
図9は、第2の従来技術のコントローラシステムを示すブロック図である。
図9に示す第2の従来技術のコントローラシステム110では、図4に示す第1の従来技術のコントローラシステム100に対して、キャッシュメモリ(L2キャッシュ)111が追加されている。実行速度を増し、実行時間を減らすために、アプリケーションプログラム領域104に格納されたプログラムAおよびBは、L2キャッシュ111に格納された状態で実行されることになる。
図9の状態から、図6のフローチャートに示すオンライン更新処理により、L2キャッシュメモリ空間にあるプログラムBをプログラムCに更新する場合(プログラムBをプログラムCに切り替える場合)、プログラムCのサイズによっては、プログラムCがL2キャッシュメモリから溢れる可能性があるため、プログラムCをL2キャッシュメモリではなく、非L2キャッシュメモリ空間、例えばメモリ102内のアプリケーションプログラム領域104に格納することになってしまう。このため、更新プログラムのダウンロード後に、アプリケーション位置登録テーブル107が更新されて、プログラムCが最初に実行されるときに、プログラムCのキャッシュメモリ111への格納などが必要となるために、実行時間が長くなり、プログラム実行期間の定周期性が維持できず、システム運用に支障をきたすという問題が生じる。
図10は、第2の従来技術のコントローラシステムにおけるアプリケーションプログラムの更新処理のフローチャートである。このオンライン更新処理は支援ツール(不図示)からアプリケーションプログラムがダウンロードされると更新処理用システムプログラム(不図示)により実行される。このフローチャートの各ステップは、アプリケーションプログラムの実行期間の間の空き時間に、すなわち、アプリケーションプログラムの実行期間が終了したこと(アプリケーションプログラムのエンド)が検出される度に、断続的に実行される。
図10において、ステップS21で、ダウンロードされたアプリケーションプログラム(“AppProg”と表記することもある)がアプリケーションプログラム領域(マイクロプロセッサ101の外部にあることから「外部メモリ」ともいう)104に格納される。すなわち、更新指示に含まれる、オンライン更新以前に格納された既存のアプリケーションプログラムに対しては、更新の内容(削除する、再格納(上書き)する)に従って削除、上書き等の処理を行なう。そして、その後、更新指示に含まれる新規に追加するアプリケーションプログラムをアプリケーションプログラム領域104の空き領域に格納する。
続く、ステップS22では、キャッシュメモリ111に、今回の更新指示で変更(上書き)対象になっているか、あるいは、削除対象になっているプログラムが存在するかどうかが判定される。存在すると判定された、今回削除、上書き等の処理対象となるアプリケーションプログラムについては、キャッシュメモリ111上から削除する。そして、キャッシュメモリ111の格納先検索処理として空き領域を検索し、今回更新(変更)する既存のアプリケーションプログラムや、今回新規追加するアプリケーションプログラムをその検索された空き領域に格納する。
そして、続く、ステップS23において、アプリケーション位置登録テーブル107のポインタを書き換えることにより、旧アプリケーションプログラムから新アプリケーションプログラムへの切り替えが行なわれ、一連の処理を終了する。
このように、第2の従来技術では、オンライン更新にて、更新されるアプリケーションプログラムを非キャッシュ空間である外部メモリ104に一旦格納し、例えばアプリケーションプログラムのエンドのタイミングにて、アプリケーションプログラムをキャッシュメモリ111に格納し、アプリケーション位置登録テーブル107を更新して、更新アプリケーションプログラムを実行している。これにより、常時キャッシュメモリ111にてアプリケーションプログラムを実行することで、実行時間を安定化させている。
しかし、一般にオンライン更新処理は、アプリケーションプログラム毎に行なうことが多く、更新アプリケーションプログラムの数が多くなると、次の3つの時間が延びてしまうという問題がある。
1.更新アプリケーションプログラムの格納先をキャッシュメモリ111内で検索するのに要する時間
2.更新前の古いアプリケーションプログラムをキャッシュメモリ111から削除する時間
3.キャッシュメモリ111に更新アプリケーションプログラムを格納するのに要する時間
この結果、図11に示すように、アプリケーションプログラムのエンドのタイミングから始まるシステム管理時間内にオンライン更新処理が終了せずに、次のアプリケーションプログラムの実行開始時刻を超えてオンライン更新処理が実行されてしまう可能性がある。このようなオンライン更新処理の時間延長が行われた場合、次のアプリケーションプログラムの実行開始時刻を遅らせるか、または、定周期性を重視したシステムの場合は、アプリケーションプログラムの実行サイクルが抜けてしまう。そのため、アプリケーションプログラムをダウンロードした前後で、オンライン更新処理の実行時間の定時性を保つことができない。
また、周辺技術として、特許文献1では、ファイル記憶装置が示されている。このファイル記憶装置では、管理情報とファイルデータ等が記憶されるディスクの複数のブロックの内容を更新する場合において、ディスク上に一時記憶エリアを設け、その一時記憶エリアにデータを書き込む。その際、ディスクと異なる一時メモリ上の連続した一時記憶領域にデータを格納した後で、一括してディスク上の一時記憶エリアに書き込むことによって、ブロック毎の書き込みを不要とし、ディスクへのアクセス回数を減らし、書き込みに要する時間を減らしている。
特開平6−139123号公報
発明協会公開技報 公技番号2008−501640
本発明は、以上の問題点を考慮してなされたものであり、更新するアプリケーションプログラムの数が多くなった場合でも、システム運用におけるプログラム実行期間の定周期性を維持することを可能としたプログラマブルコントローラおよびアプリケーションプログラムの更新方法を提供することを目的とする。
提案するプログラマブルコントローラは、アプリケーションプログラムを記憶する第1および第2のメモリと、処理装置と、演算部とを有し、前記処理装置は、前記第1のメモリ、前記第2のメモリの優先順で前記アプリケーションプログラムを前記演算部に読み込み・実行し、前記アプリケーションプログラムの更新指示を定周期のタイミングで受けるプログラマブルコントローラであり、前記第1メモリに記憶された、前記更新指示のないアプリケーションプログラムを前記第2メモリ上で検索して記憶位置を特定する非更新プログラム記憶位置特定手段と、前記第2メモリに記憶された前記更新指示に応じて今回更新されるアプリケーションプログラムと、今回新規に追加されるアプリケーションプログラムと、前記記憶位置を特定した、更新しないアプリケーションプログラムとを、前記第2メモリ上で、アドレスが連続するように再配置する再配置手段と、前記定周期のタイミングで前記第1メモリに記憶されたすべてのアプリケーションプログラムを無効化するとともに、前記定周期の次のタイミングで前記再配置された連続するアプリケーションプログラムを、前記第1メモリに格納する格納手段と、を有する。
提案するプログラマブルコントローラでは、更新する(変更や新規追加の)アプリケーションプログラムおよび更新しないアプリケーションプログラムをアドレスが連続するように第2メモリ上で再配置する。その後、第1メモリを無効化し、第2メモリ上で再配置された連続するプログラム群を、第1メモリにすべて格納する。
このため、従来のようにアプリケーションプログラムを第1メモリに格納する際の格納先検索処理、今回の更新指示で変更対象・削除対象になっているプログラムが第1メモリに存在するかどうかの判定処理をなくすことができる。これらに要する時間は、アプリケーションプログラムの数が多くなるにつれ増大するので、更新処理の一部としての、第1メモリへの格納処理に要する時間を短縮できる。
よって、第1メモリへの格納処理が延びたことに伴って、オンライン更新の前後での実行時間の定時性が維持できなくなることを避けることができ、更新するアプリケーションプログラムの数が多くなった場合でも、システム運用の定周期性を維持することができる。
本実施形態のコントローラシステムを示すブロック図である。 本実施形態のコントローラシステムにおけるアプリケーションプログラムの更新処理のフローチャートである。 ある更新指示に対して、第2の従来技術のコントローラシステムと、本実施形態のコントローラシステムの動作を比較して示した図である。 第1の従来技術のコントローラシステムを示すブロック図である。 アプリケーションプログラム領域とアプリケーション位置登録テーブルとの関係を示した図である。 第1の従来技術のコントローラシステムにおけるアプリケーションプログラムの更新処理のフローチャートである。 図5の状態に対する更新後の、アプリケーションプログラム領域とアプリケーション位置登録テーブルとを示した図である。 第1の従来技術のコントローラシステムの実行例を示す図である。 第2の従来技術のコントローラシステムを示すブロック図である。 第2の従来技術のコントローラシステムにおけるアプリケーションプログラムの更新処理のフローチャートである。 第2の従来技術のコントローラシステムの問題点を示す図である。
以下図面に基づいて、本発明の実施形態について詳細を説明する。なお、本願は、上記非特許文献1を利用する。
図1は、第1実施形態のコントローラシステムを示すブロック図である。
図1に示すように、コントローラシステム10は、マイクロプロセッサ1と、メモリ2とを有する。メモリ2内には、アプリケーションプログラム領域4、アプリケーションデータ領域5、システムプログラム領域6、アプリケーション位置登録テーブル7、等の各種データが記憶される。
マイクロプロセッサ1は、演算部3と、キャッシュメモリ8を有する。
なお、以下の説明では、キャッシュメモリとしてL2キャッシュ(Level2 Cache)を使用するが、CPU(Central Processing Unit)のキャッシュ(処理装置と記憶装置の間の性能差を埋めるために使用する高速小容量メモリ)としては、容量を容易に増やすことが可能で、CPUの性能向上を可能とした任意のキャッシュを使用することができる。
アプリケーションプログラム領域4は、一般的に、複数のアプリケーションプログラム(図では、プログラムA、プログラムBなど)の記憶領域である。アプリケーションデータ領域5は、各アプリケーションプログラムが実行時に使用する各種パラメータの記憶領域である。システムプログラム領域6は、アプリケーションプログラムの更新(ダウンロード)処理等のシステム処理を実行する各種プログラムの記憶領域である。なお、更新処理用システムプログラムは、更新対象プログラムの数等をチェックし、更新処理が規定の時間に収まるかどうかを判定する判定機能も備えているものとする。
ここで判定機能とは、メモリの性能の測定値とアプリケーションプログラムのステップ数(プログラム総容量)、コントローラの定周期(図10参照)における更新処理に割ける時間(規定の時間)等より判定する。例えば、メモリへの書き込み速度m(バイト/sec)、規定の時間をT(msec)、更新処理対象のアプリケーションプログラムの合計容量がa(バイト)だとすると、T>1000a/m(msec)を満たすときに規定の時間に収まると判定とする。実際には、判定自体に掛かる時間等の要因もあるが、メモリ書き込み速度に比べると十分に小さいものとみなすことができ、Tより小さい値を閾値に用いても良い。
アプリケーション位置登録テーブル7には、アプリケーションプログラム領域4に記憶される各アプリケーションプログラムのポインタ(先頭アドレス)が記憶される。例えば、アプリケーションプログラム領域4に記憶されるプログラムA、プログラムBの各プログラムのポインタが、アプリケーション位置登録テーブル7に記憶されている。
図1のコントローラシステム10は、アプリケーションプログラム領域4に記憶される各アプリケーションプログラムの実行と、システムプログラム領域6に記憶されるダウンロード等のシステム処理に対応する各システムプログラムの実行とをサイクリックに(定周期的に)繰り返す。
アプリケーションプログラムを実行するときには、マイクロプロセッサ1は、アプリケーション位置登録テーブル7を通して、アプリケーションプログラム領域4上の各アプリケーションプログラムの記憶位置を認識し、対象とするアプリケーションプログラムの各命令等を演算部3に読み込み実行する。なお、使用頻度の高いアプリケーションプログラムは、通常、キャッシュメモリ8上に記憶されているため、そこから演算部3に読み込み実行する。
システムプログラムを実行するときには、マイクロプロセッサ1は、システムプログラム領域6から対象とする(更新処理等の)システムプログラムの各命令等を演算部3に読み込み実行する。
図2は、本実施形態のコントローラシステムにおけるアプリケーションプログラムの更新処理のフローチャートである。このオンライン更新処理は支援ツール(不図示)からアプリケーションプログラムがダウンロードされると更新処理用システムプログラム(不図示)により実行される。このフローチャートの各ステップは、アプリケーションプログラムの実行期間の間の空き時間に、すなわち、アプリケーションプログラムの実行期間が終了したこと(アプリケーションプログラムのエンド)が検出される度に、断続的に実行される。
図2において、ステップS1で、ダウンロードされたアプリケーションプログラム(“AppProg”と表記することもある)がアプリケーションプログラム領域(マイクロプロセッサ1の外部にあることから「外部メモリ」ともいう)4に格納される。すなわち、更新指示に含まれる、オンライン更新以前に格納された既存のアプリケーションプログラムに対しては、更新の内容(再格納する)に従って上書き等の処理を行なう。
そして、更新指示に含まれる新規に追加するアプリケーションプログラムをアプリケーションプログラム領域4の空き領域に格納する。
また、外部メモリ4に対し全検索を実施し、キャッシュメモリ8には記憶されていて今回の更新指示では更新されないアプリケーションプログラム(更新せずキャッシュメモリ8に残るアプリケーションプログラム)を見つける。
そして、再格納(上書き)したアプリケーションプログラムと、外部メモリ4に対する検索処理により見つけられた、更新せずキャッシュメモリに残るアプリケーションプログラムと、新規追加するアプリケーションプログラムとを外部メモリ4上でアドレスが連続するように(複写などにより)再配置する。そして、複写元のアプリケーションプログラムおよび更新指示に削除するものとして指定されているアプリケーションプログラムを外部メモリ4から削除する。
上記で示した方法は一例に過ぎず、更新指示に含まれる新規に追加するアプリケーションプログラムを格納する時点で、アドレスが連続になるように配置してもよい。また、オンライン更新以前に格納された既存のアプリケーションプログラムを上書き更新せずに、新規に追加するアプリケーションプログラムとアドレスが連続になるように配置する(この段階では、新旧アプリケーションプログラムが共存する)。
その後、外部メモリ4に対し全検索を実施し、キャッシュメモリ8には記憶されていて今回の更新指示では更新されないアプリケーションプログラム(更新せずキャッシュメモリ8に残るアプリケーションプログラム)を見つける。
そして、外部メモリ4に対する検索処理により見つけられた、更新せずキャッシュメモリに残るアプリケーションプログラムを、一連の連続したアドレスして配置されているアプリケーションプログラムと外部メモリ4上でアドレスが連続するように(複写などにより)再配置する。
最後に、複写元のアプリケーションプログラム、更新指示に削除するものとして指定されているアプリケーションプログラム、更新指示で更新するものとして指定されているアプリケーションプログラムで上書きしなかっため残っているアプリケーションプログラム、を外部メモリ4から削除する。
続く、ステップS2では、キャッシュメモリ8内のアプリケーションプログラムをすべて無効化する。
ステップS2に続くステップS3では、外部メモリ4上で再配置された連続する各アプリケーションプログラム(新規追加したもの、変更したもの、今回は更新しないものを含む)をキャッシュメモリ8に格納する。
そして、続く、ステップS4において、アプリケーション位置登録テーブル7のポインタを書き換えることにより、旧アプリケーションプログラムから新アプリケーションプログラムへの切り替えが行なわれ、一連の処理を終了する。
図3は、ある更新指示に対して、第2の従来技術のコントローラシステムと、本実施形態のコントローラシステムの動作を比較して示した図である。
ここでは、コントローラシステム10に対し、アプリケーションプログラムProg1削除、Prog4、Prog6、Prog10格納、Prog2再格納という指示内容を持つ更新指示が出た場合の、第2の従来技術のコントローラシステムと、本実施形態のコントローラシステムの動作を比較している。コントローラシステム10の更新指示が出た時点での状態は、外部メモリ4に、Prog1、Prog2、Prog3、Prog5、Prog7、Prog8、Prog11、Prog12、Prog13が格納され、キャッシュメモリ8に、Prog1、Prog2、Prog3、Prog5が格納されている。
本実施形態のコントローラシステムでは、図2のステップS1に対応する処理として、外部メモリ4の連続した空き領域に、Prog4、Prog6、Prog10を格納し、Prog2をProg4、Prog6、Prog10と連続するように再格納する。そして、外部メモリ4上を全検索することにより、キャッシュメモリ8に格納されていて、今回オンライン更新しないプログラム(Prog3、Prog5)を見つける。そして、見つけたProg3、Prog5を、Prog4、Prog6、Prog10及びProg2にアドレスが連続するように、外部メモリ4内で複写を行い、複写したProg2、Prog3、Prog5について、その複写元の領域を外部メモリ4から削除するとともに、削除指示が出ているProg1を外部メモリ4から削除する。更に、再格納したことにより新旧共存しているProg2のうち、元から格納されていたProg2を外部メモリ4から削除する。
なお、このケースでは、更新指示に含まれるプログラムの数が多くて、更新時間が実行周期に影響を与えるものと判断されたと仮定する。
図2のステップS2に対応する処理として、キャッシュメモリ8に格納されている全アプリケーションプログラム(Prog1、Prog2、Prog3、Prog5)を削除せずに、キャッシュメモリ8の全領域を無効なアプリケーションとする。
図2のステップS3に対応する処理として、アドレスが連続するProg2、Prog4、Prog6、Prog10、Prog3、Prog5をキャッシュメモリ8に格納する。
続いて、第2の従来技術のコントローラシステムの動作を説明する。
第2の従来技術のコントローラシステムでは、図10のステップS21に対応する処理として、外部メモリ4内のProg1を削除し、Prog2を再格納し、Prog4、Prog6、Prog10を外部メモリ4内の空き領域に格納する。
次に、図10のステップS22に対応する処理として、キャッシュメモリ8に、今回の更新指示で変更対象になっているか、あるいは、削除対象になっているプログラムが存在するかどうかを判定している。そして、削除指示が出ているProg1、再格納により変更されたProg2の前のバージョンをキャッシュメモリ8から削除する。続いて、キャッシュメモリ8の格納先検索処理として空き領域を検索し、今回更新(変更)する既存のアプリケーションプログラム(Prog2)や、今回新規追加するアプリケーションプログラム(Prog4、Prog6、Prog10)をその検索された空き領域に格納する。
このように、本実施形態では、外部メモリ4上で、更新する(変更や新規追加の)アプリケーションプログラムおよび、キャッシュメモリ8に既に格納されオンライン更新しないアプリケーションプログラムをアドレスが連続するように再配置し、キャッシュメモリ8を無効化し、外部メモリ4上から再配置された連続するプログラム群をキャッシュメモリ8にすべて格納している。
このため、更新するアプリケーションプログラムの数が多くなった場合に時間がかかる処理となる、アプリケーションプログラムをキャッシュメモリ8に格納する際の格納先検索処理、今回の更新指示で変更対象になっているか、あるいは、削除対象になっているプログラムがキャッシュメモリ8に存在するかどうかの判定処理をなくすことができ、オンライン更新処理の一部としての、キャッシュメモリ8への格納処理に要する時間を短縮できる。
よって、キャッシュメモリ8への格納処理が延びたことに伴って、オンライン更新の前後での実行時間の定時性が維持できなくなることを避けることができ、更新するアプリケーションプログラムの数が多くなった場合でも、システム運用の定周期性を維持することができる。
1、101 マイクロプロセッサ
2、102 メモリ
3、103 演算部
4、104 アプリケーションプログラム領域
5、105 アプリケーションデータ領域
6、106 システムプログラム領域
7、107 アプリケーション位置登録テーブル
8、111 キャッシュメモリ
10、100、110 コントローラシステム

Claims (4)

  1. アプリケーションプログラムを記憶する第1および第2のメモリと、処理装置と、演算部とを有し、前記処理装置は、前記第1のメモリ、前記第2のメモリの優先順で前記アプリケーションプログラムを前記演算部に読み込み・実行し、前記アプリケーションプログラムの更新指示を定周期のタイミングで受けるプログラマブルコントローラにおいて、
    前記第1メモリに記憶された、前記更新指示のないアプリケーションプログラムを前記第2メモリ上で検索して記憶位置を特定する非更新プログラム記憶位置特定手段と、
    前記第2メモリに記憶された前記更新指示に応じて今回更新されるアプリケーションプログラムと、今回新規に追加されるアプリケーションプログラムと、前記記憶位置を特定した、更新しないアプリケーションプログラムとを、前記第2メモリ上で、アドレスが連続するように再配置する再配置手段と、
    前記定周期のタイミングで前記第1メモリに記憶されたすべてのアプリケーションプログラムを無効化するとともに、前記定周期の次のタイミングで前記再配置された連続するアプリケーションプログラムを、前記第1メモリに格納する格納手段と、を有することを特徴とするプログラマブルコントローラ。
  2. 前記更新指示に含まれるアプリケーションプログラムの数に応じて、その更新処理が前記定周期内に収まるかどうかを判定する判定手段をさらに有し、
    前記判定手段により、更新処理が規定時間に収まらないと判定された場合に、前記非更新プログラム記憶位置特定手段、前記再配置手段および前記格納手段が実行されることを特徴とする請求項1記載のプログラマブルコントローラ。
  3. 前記更新指示の内容とは、アプリケーションプログラムの新規追加、既存のものの変更、あるいは、削除であることを特徴とする請求項1または2記載のプログラマブルコントローラ。
  4. アプリケーションプログラムを記憶する第1および第2のメモリと、処理装置と、演算部とを有し、前記処理装置は、前記第1のメモリ、前記第2のメモリの優先順で前記アプリケーションプログラムを前記演算部に読み込み・実行し、前記アプリケーションプログラムの更新指示を定周期のタイミングで受けるプログラマブルコントローラが実行するアプリケーションプログラムの更新方法において、
    前記第1メモリに記憶された、前記更新指示のないアプリケーションプログラムを前記第2メモリ上で検索して記憶位置を特定するステップと、
    前記第2メモリに記憶された今回更新されるアプリケーションプログラムと、今回新規に追加されるアプリケーションプログラムと、前記記憶位置を特定した、更新しないアプリケーションプログラムとを、前記第2メモリ上で、アドレスが連続するように再配置するステップと、
    前記定周期のタイミングで前記第1メモリに記憶されたすべてのアプリケーションプログラムを無効化するとともに、前記定周期の次のタイミングで前記再配置された連続するアプリケーションプログラムを、前記第1メモリに格納するステップと、を有することを特徴とするアプリケーションプログラムの更新方法。
JP2009159142A 2009-07-03 2009-07-03 プログラマブルコントローラおよびアプリケーションプログラムの更新方法 Expired - Fee Related JP5338528B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009159142A JP5338528B2 (ja) 2009-07-03 2009-07-03 プログラマブルコントローラおよびアプリケーションプログラムの更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009159142A JP5338528B2 (ja) 2009-07-03 2009-07-03 プログラマブルコントローラおよびアプリケーションプログラムの更新方法

Publications (2)

Publication Number Publication Date
JP2011014043A JP2011014043A (ja) 2011-01-20
JP5338528B2 true JP5338528B2 (ja) 2013-11-13

Family

ID=43592837

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009159142A Expired - Fee Related JP5338528B2 (ja) 2009-07-03 2009-07-03 プログラマブルコントローラおよびアプリケーションプログラムの更新方法

Country Status (1)

Country Link
JP (1) JP5338528B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5669652B2 (ja) * 2011-04-01 2015-02-12 三菱電機株式会社 プログラマブルコントローラシステムおよびメモリ整理方法
JP5768627B2 (ja) * 2011-09-27 2015-08-26 富士電機株式会社 プログラマブルコントローラ、プログラム作成支援装置、デジタル制御プログラム、およびプログラム作成支援プログラム
JP2015141648A (ja) * 2014-01-30 2015-08-03 三菱電機株式会社 プログラマブルコントローラ

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0452832A (ja) * 1990-06-15 1992-02-20 Mitsubishi Electric Corp 演算制御システム
JPH06139123A (ja) * 1992-10-29 1994-05-20 Toshiba Corp ファイル記憶装置
JP2002063042A (ja) * 2000-08-21 2002-02-28 Nec Microsystems Ltd プログラム・モジュール管理システム、その管理方法及びその管理プログラムを記録した記録媒体
JP2006039848A (ja) * 2004-07-26 2006-02-09 Sharp Corp データ処理装置およびそれを含んでなる画像形成装置

Also Published As

Publication number Publication date
JP2011014043A (ja) 2011-01-20

Similar Documents

Publication Publication Date Title
US11150891B2 (en) Method and device for updating software executed from non-volatile memory
KR100453053B1 (ko) 플래쉬 메모리용 파일 시스템
TW501011B (en) Data processing circuit with cache memory
CN101346704B (zh) 具有可擦除块单元的存储器和定位具有指针信息地块的联结指针链
CN101346702B (zh) 具有可块擦除单元的存储器
JP2007133487A (ja) ファイル管理方法、装置、およびプログラム
JP3827682B2 (ja) フラッシュメモリ、そのためのマッピング制御装置及び方法
JP5874525B2 (ja) 制御装置、記憶装置、記憶制御方法
JP2011513853A (ja) 連想ストレージのシステムと方法
EP1966700A2 (en) Non-volatile memory with block erasable locations
JP5338528B2 (ja) プログラマブルコントローラおよびアプリケーションプログラムの更新方法
US10120791B2 (en) Data read apparatus, data read method, and storage medium storing data read program
US20030200232A1 (en) Information processor and program
WO2007096844A2 (en) Memory with block-erasable locations
JP6618941B2 (ja) 管理装置、情報処理装置および管理方法
KR101020781B1 (ko) 플래시 메모리를 기반으로 한 데이터베이스 시스템에 대한 로그 관리 방법
JP2007304747A (ja) 計算機システム及びメモリアクセス方法
JP2011081641A (ja) メモリ制御装置
JP2006202233A (ja) コントローラ、そのプログラム
JP5818569B2 (ja) ファイルシステム、ファイル管理方法、半導体記憶装置、情報処理装置、及びプログラム
JP5637312B2 (ja) キャッシュ制御装置及びパイプライン制御方法
CN110096223A (zh) 与容器的空闲空间有关的跟踪信息
JP2010198592A (ja) 携帯端末装置、ソフトウェア更新方法、動作制御方法及びプログラム
JPH0784886A (ja) キャッシュメモリ制御方法およびキャッシュメモリ制御装置
JP2017097404A (ja) マイクロコンピュータ

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20110422

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120614

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130611

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130722

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees