(57)【要約】【課題】プログラマブル表示器が記憶するファイル群を更新する際のユーザの利便性を向上させる。【解決手段】プログラマブル表示器４は、既存ファイル群４５ａを記憶するための記憶部４５と、更新用ファイル群６１ａを取得する読出部４７１と、更新用ファイル群６１ａの中から、既存ファイル群４５ａと異なるファイルを差分ファイルとして抽出する差分抽出部４７２と、差分ファイルを記憶部４５に書き込むことにより、既存ファイル群４５ａの更新を行う書込部４７４とを備える。【選択図】図２
2018026060.tif 000002
【特許請求の範囲】
【請求項１】
第１ファイル群を記憶するための記憶部と、
第２ファイル群を取得する取得部と、
前記第２ファイル群の中から、前記第１ファイル群のいずれとも異なるファイルを差分ファイルとして抽出する抽出部と、
前記差分ファイルを前記記憶部に書き込むことにより、前記第１ファイル群の更新を行なう書込部とを備える、プログラマブル表示器。
【請求項２】
表示部と、
前記差分ファイルのファイスサイズおよび個数に基づいて、前記差分ファイルを前記記憶部に書き込むのに要する第１時間を予測する予測部と、
前記予測部により予測された前記第１時間を前記表示部に表示させる表示制御部とをさらに備える、請求項１に記載のプログラマブル表示器。
【請求項３】
前記予測部は、前記第２ファイル群に含まれるファイルのファイスサイズおよび個数に基づいて、前記第２ファイル群を前記記憶部に書き込むのに要する第２時間を予測し、
前記表示制御部は、前記第２時間を前記表示部に表示させる、請求項２に記載のプログラマブル表示器。
【請求項４】
前記差分ファイルを前記記憶部に書き込む差分書込処理と、前記第２ファイル群を前記記憶部に書き込む全書込処理とのいずれかを選択する指示を受ける入力部をさらに備え、
前記書込部は、前記入力部が前記差分書込処理を選択する指示を受けたとき、前記差分ファイルを前記記憶部に書き込み、前記入力部が前記全書込処理を選択する指示を受けたとき、前記第２ファイル群を前記記憶部に書き込むことで、前記第１ファイル群の更新を行なう、請求項３に記載のプログラマブル表示器。
【請求項５】
ファイル種別の選択指示を受ける入力部をさらに備え、
前記差分ファイルは複数であり、
前記書込部は、前記入力部がファイル種別の選択指示を受けたとき、複数の前記差分ファイルのうち、当該選択指示で指定されたファイル種別のファイルのみを前記記憶部に書き込む、請求項１から３のいずれか１項に記載のプログラマブル表示器。
【請求項６】
前記第２ファイル群を記憶する記憶媒体と接続するように構成された接続部をさらに備え、
前記取得部は、前記接続部に接続された前記記憶媒体から前記第２ファイル群を取得する、請求項１から５のいずれか１項に記載のプログラマブル表示器。
【請求項７】
前記記憶部は、前記第１ファイル群に含まれる各ファイルに関する情報の一覧を示す第１情報を記憶するように構成され、
前記取得部は、前記第２ファイル群に含まれる各ファイルに関する情報の一覧を示す第２情報を取得し、
前記抽出部は、前記第１情報と前記第２情報との比較に基づいて、前記差分ファイルを抽出する、請求項１から６のいずれか１項に記載のプログラマブル表示器。
【請求項８】
第１ファイル群を記憶するための記憶部を備えたプログラマブル表示器の前記第１ファイル群の更新を行なう更新処理装置であって、
第２ファイル群を取得する取得部と、
前記第２ファイル群の中から、前記第１ファイル群のいずれとも異なるファイルを差分ファイルとして抽出する抽出部と、
前記差分ファイルのファイスサイズおよび個数に基づいて、前記差分ファイルを前記記憶部に書き込むのに要する第１時間を予測する予測部と、
前記第１時間を出力する出力部とを備える、更新処理装置。
【請求項９】
前記予測部は、前記第２ファイル群に含まれるファイルのファイスサイズおよび個数に基づいて、前記第２ファイル群を前記記憶部に書き込むのに要する第２時間を予測し、
前記出力部は、前記第２時間を出力する、請求項８に記載の更新処理装置。
【請求項１０】
第１ファイル群を記憶するための記憶部を備えるプログラマブル表示器における前記第１ファイル群の更新方法であって、
第２ファイル群を取得するステップと、
前記第２ファイル群の中から、前記第１ファイル群のいずれとも異なるファイルを差分ファイルとして抽出するステップと、
前記差分ファイルを前記記憶部に書き込むことにより、前記第１ファイル群の更新を行なうステップとを備える、データ更新方法。
【請求項１１】
第１ファイル群を記憶するための記憶部を備えたプログラマブル表示器の前記第１ファイル群の更新を行なう更新処理装置における情報処理方法であって、
第２ファイル群を取得するステップと、
前記第２ファイル群の中から、前記第１ファイル群のいずれとも異なるファイルを差分ファイルとして抽出するステップと、
前記差分ファイルのファイスサイズおよび個数に基づいて、前記差分ファイルを前記記憶部に書き込むのに要する第１時間を予測するステップと、
前記第１時間を出力するステップとを備える、情報処理方法。
【請求項１２】
第１ファイル群を記憶するための記憶部を備えるプログラマブル表示器を制御するためのプログラムであって、
第２ファイル群を取得するステップと、
前記第２ファイル群の中から、前記第１ファイル群のいずれとも異なるファイルを差分ファイルとして抽出するステップと、
前記差分ファイルを前記記憶部に書き込むことにより、前記第１ファイル群の更新を行なうステップとを、前記プログラマブル表示器のプロセッサに実行させる、プログラム。
【請求項１３】
第１ファイル群を記憶するための記憶部を備えたプログラマブル表示器の前記第１ファイル群の更新を行なう更新処理装置を制御するためのプログラムであって、
第２ファイル群を取得するステップと、
前記第２ファイル群の中から、前記第１ファイル群のいずれとも異なるファイルを差分ファイルとして抽出するステップと、
前記差分ファイルのファイスサイズおよび個数に基づいて、前記差分ファイルを前記記憶部に書き込むのに要する第１時間を予測するステップと、
前記第１時間を出力するステップとを、前記更新処理装置のプロセッサに実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械や設備などの動作を制御するために用いられる制御装置に接続されるプログラマブル表示器、更新処理装置、更新方法、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
従来、制御装置の一例としてＰＬＣ（Programmable Logic Controller、あるいは、プログラマブルコントローラとも称される）と、ＰＬＣに接続されたプログラマブル表示器とを備えた制御システムが知られている。
【０００３】
プログラマブル表示器は、ＰＬＣから受けた情報を表示する表示処理や、ＰＬＣに対する各種指示の入力を受け付け、当該指示をＰＬＣに伝送する入力処理などの各種の処理を実施する。プログラマブル表示器は、これら各種の処理を実行するための、ファームウェアなどのプログラムおよび画面データなどのファイル群を記憶している。なお、以下では、プログラマブル表示器が記憶しているファイル群を既存ファイル群という。
【０００４】
ここで、制御目的の変更やプログラムのアップデートの必要が生じた場合、プログラマブル表示器が記憶する既存ファイル群を更新する必要がある。
【０００５】
データ更新用のソフトウェアをユーザが所有している場合、ユーザは、当該ソフトウェアがインストールされたパーソナルコンピュータを用いて、プログラマブル表示器が記憶する既存ファイル群の更新を行なうことができる。
【０００６】
しかしながら、全てのユーザがデータ更新用のソフトウェアを所有しているわけではない。そこで、特開２００７−２４９３４７号公報（特許文献１）には、プログラマブル表示器がメモリカードからメンテナンス用データを取り込み、メンテナンス用データに基づいて、プログラマブル表示器が既存ファイル群を更新する技術が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−２４９３４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
メモリカードを用いてプログラマブル表示器が記憶する既存ファイル群を更新する場合、既存ファイル群の全てを新たなファイル群（以下、更新用ファイル群という）で上書きする処理が行われる。ここで、既存ファイル群を記憶するストレージは一般に不揮発性メモリで構成される。
【０００９】
図１７は、メモリカードを用いてプログラマブル表示器が記憶する既存ファイル群を更新する際のファイルの流れを示す図である。図１７に示されるように、メモリカードからプログラマブル表示器へのファイルの転送速度は、例えば６４Ｍｂｐｓと比較的高速である。これに対し、プログラマブル表示器の不揮発性メモリへのファイルの書込速度は、例えば０．３６Ｍｂｐｓと遅い。特に、ファイルサイズの小さいファイルを大量に書き込む場合に時間がかかる。この傾向は、フラッシュメモリの場合に特に大きくなる。
【００１０】
このように、一般に不揮発性メモリへの書き込み速度は遅いため、全ての更新用ファイル群をプログラマブル表示器に書き込むのに時間がかかるという第１の課題が生じる。
【００１１】
また、メモリカードを用いた更新方法およびデータ更新用のソフトウェアがインストールされたパーソナルコンピュータを用いた更新方法のいずれの場合であっても、ユーザは、更新に要する時間が不明であるため、更新のためのスケジュールを立てにくいという第２の課題も生じる。
【００１２】
本発明は、上記第１の課題および第２の課題の少なくとも一方を解決することにより、プログラマブル表示器が記憶するファイル群を更新する際のユーザの利便性を向上させるプログラマブル表示器、更新処理装置、データ更新方法、情報処理方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明のある局面に従えば、プログラマブル表示器は、第１ファイル群を記憶するための記憶部と、第２ファイル群を取得する取得部と、第２ファイル群の中から、第１ファイル群のいずれとも異なるファイルを差分ファイルとして抽出する抽出部と、差分ファイルを記憶部に書き込むことにより、第１ファイル群の更新を行なう書込部とを備える。
【００１４】
好ましくは、プログラマブル表示器は、表示部と、差分ファイルのファイスサイズおよび個数に基づいて、差分ファイルを記憶部に書き込むのに要する第１時間を予測する予測部と、予測部により予測された第１時間を表示部に表示させる表示制御部とをさらに備える。
【００１５】
好ましくは、予測部は、第２ファイル群に含まれるファイルのファイスサイズおよび個数に基づいて、第２ファイル群を記憶部に書き込むのに要する第２時間を予測する。そして、表示制御部は、第２時間を表示部に表示させる。
【００１６】
好ましくは、プログラマブル表示器は、差分ファイルを記憶部に書き込む差分書込処理と、第２ファイル群を記憶部に書き込む全書込処理とのいずれかを選択する指示を受ける入力部をさらに備える。そして、書込部は、入力部が差分書込処理を選択する指示を受けたとき、差分ファイルを記憶部に書き込み、入力部が全書込処理を選択する指示を受けたとき、第２ファイル群を記憶部に書き込むことで、第１ファイル群の更新を行なう。
【００１７】
好ましくは、プログラマブル表示器は、ファイル種別の選択指示を受ける入力部をさらに備える。そして、差分ファイルが複数であり、書込部は、入力部がファイル種別の選択指示を受けたとき、複数の差分ファイルのうち、当該選択指示で指定されたファイル種別のファイルのみを記憶部に書き込む。
【００１８】
好ましくは、プログラマブル表示器は、第２ファイル群を記憶する記憶媒体と接続するように構成された接続部をさらに備える。そして、取得部は、接続部に接続された記憶媒体から第２ファイル群を取得する。
【００１９】
好ましくは、記憶部は、第１ファイル群に含まれる各ファイルに関する情報の一覧を示す第１情報を記憶するように構成される。取得部は、第２ファイル群に含まれる各ファイルに関する情報の一覧を示す第２情報を取得する。抽出部は、第１情報と第２情報との比較に基づいて、差分ファイルを抽出する。
【００２０】
本発明の別の局面に従えば、第１ファイル群を記憶するための記憶部を備えたプログラマブル表示器の第１ファイル群の更新を行なう更新処理装置が提供される。更新処理装置は、第２ファイル群を取得する取得部と、第２ファイル群の中から、第１ファイル群のいずれとも異なるファイルを差分ファイルとして抽出する抽出部と、差分ファイルのファイスサイズおよび個数に基づいて、差分ファイルを記憶部に書き込むのに要する第１時間を予測する予測部と、第１時間を出力する出力部とを備える。
【００２１】
好ましくは、予測部は、第２ファイル群に含まれるファイルのファイスサイズおよび個数に基づいて、第２ファイル群を記憶部に書き込むのに要する第２時間を予測する。そして、出力部は第２時間を出力する。
【００２２】
本発明の別の局面に従えば、第１ファイル群を記憶するための記憶部を備えるプログラマブル表示器における第１ファイル群の更新方法が提供される。更新方法は、第２ファイル群を取得するステップと、第２ファイル群の中から、第１ファイル群のいずれとも異なるファイルを差分ファイルとして抽出するステップと、差分ファイルを記憶部に書き込むことにより、第１ファイル群の更新を行なうステップとを備える。
【００２３】
本発明の別の局面に従えば、第１ファイル群を記憶するための記憶部を備えたプログラマブル表示器の第１ファイル群の更新を行なう更新処理装置における情報処理方法が提供される。情報処理方法は、第２ファイル群を取得するステップと、第２ファイル群の中から、第１ファイル群のいずれとも異なるファイルを差分ファイルとして抽出するステップと、差分ファイルのファイスサイズおよび個数に基づいて、差分ファイルを記憶部に書き込むのに要する第１時間を予測するステップと、第１時間を出力するステップとを備える。
【００２４】
本発明の別の局面に従えば、第１ファイル群を記憶するための記憶部を備えるプログラマブル表示器を制御するためのプログラムが提供される。プログラムは、第２ファイル群を取得するステップと、第２ファイル群の中から、第１ファイル群のいずれとも異なるファイルを差分ファイルとして抽出するステップと、差分ファイルを記憶部に書き込むことにより、第１ファイル群の更新を行なうステップとを、プログラマブル表示器のプロセッサに実行させる。
【００２５】
本発明の別の局面に従えば、第１ファイル群を記憶するための記憶部を備えたプログラマブル表示器の第１ファイル群の更新を行なう更新処理装置を制御するためのプログラムが提供される。プログラムは、第２ファイル群を取得するステップと、第２ファイル群の中から、第１ファイル群のいずれとも異なるファイルを差分ファイルとして抽出するステップと、差分ファイルのファイスサイズおよび個数に基づいて、差分ファイルを記憶部に書き込むのに要する第１時間を予測するステップと、第１時間を出力するステップとを、更新処理装置のプロセッサに実行させる。
【発明の効果】
【００２６】
本発明によれば、プログラマブル表示器が記憶するファイル群を更新する際のユーザの利便性を向上させることができる。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施の形態１にかかるＰＬＣシステムを示す模式図である。
【図２】実施の形態１にかかるＰＬＣシステムが備えるプログラマブル表示器の機能的構成を示す図である。
【図３】プログラマブル表示器が記憶する第１マニフェストファイルの一例を示す図である。
【図４】実施の形態１のプログラマブル表示器におけるファイルの更新処理の流れを説明するフローチャートである。
【図５】パッケージファイルの選択をユーザに促す選択画面の一例を示す図である。
【図６】差分ファイルの抽出方法を説明するための図である。
【図７】ファイルの書き込みに要する更新時間の算出方法を説明するための図である。
【図８】更新時間ウィンドウの一例を示す図である。
【図９】プログラマブル表示器のハードウェア構成の一例を説明するための図である。
【図１０】実施の形態２にかかるＰＬＣシステムの構成を示す図である。
【図１１】実施の形態３にかかるＰＬＣシステムの構成を示す図である。
【図１２】実施の形態３にかかるプログラマブル表示器が記憶するファイルの更新処理の流れを説明するフローチャートである。
【図１３】ＰＣのハードウェア構成を示す模式図である。
【図１４】更新時間ウィンドウの第１の変形例を示す図である。
【図１５】更新時間ウィンドウの第２の変形例を示す図である。
【図１６】更新時間ウィンドウの第３の変形例を示す図である。
【図１７】メモリカードを用いてプログラマブル表示器が記憶する既存データ群を更新する際のファイルの流れを示す図である。
【発明を実施するための形態】
【００２８】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中同一又は相当部分には同一符号を付してその説明は繰返さない。
【００２９】
［実施の形態１］
＜システム構成＞
図１は、本実施の形態にかかるＰＬＣシステム１００を示す模式図である。図１に示されるように、ＰＬＣシステム１００は、複数のＰＬＣ（ＰＬＣ１，ＰＬＣ２，ＰＬＣ３）と、プログラマブル表示器４とを備える。
【００３０】
各ＰＬＣ１〜３は、機械や設備などの動作を制御するために用いられる制御装置である。ＰＬＣ１〜３は、典型的には、プログラムを実行する主体であるＣＰＵユニット１０と、ＣＰＵユニット１０などへ電力を供給する電源ユニット１２と、フィールドからの信号を遣り取りするＩＯ（Input/Output）ユニット１４とを含む。ＩＯユニット１４は、ＣＰＵユニット１０とシステムバス１１を介して接続されている。典型的には、ＩＯユニット１４は、フィールド機器である検出センサ１５から入力信号を取得し、またＣＰＵユニット１０でのプログラムの実行結果に応じてフィールド機器であるリレー１６を駆動する。
【００３１】
プログラマブル表示器４は、ＨＭＩ（Human Machine Interface）環境におけるＧＵＩ（Graphical User Interface）としての役割を果たす。プログラマブル表示器４は、ＰＬＣ１〜３のＣＰＵユニット１０と通信し、各ＰＬＣ１〜３に関する情報を表示する表示処理や、ユーザから入力された指示をＰＬＣ１〜３に伝送する入力処理などの各種の処理を実行することができる。
【００３２】
本実施の形態では、一例として、ＰＬＣ１〜３は、プログラマブル表示器４と以下の通信方式により通信可能に接続されているものとする。ＰＬＣ１は、ＦＩＮＳ（Factory Interface Network Service）通信によりプログラマブル表示器４と通信する。ＰＬＣ２は、ＨＴＴＰ（Hyper Text Transfer Protocol）通信によりプログラマブル表示器４と通信する。ＰＬＣ３は、ＥＩＰ（Ethernet（登録商標）/IP）通信によりプログラマブル表示器４と通信する。
【００３３】
＜プログラマブル表示器の機能的構成＞
図２は、プログラマブル表示器４の機能的構成を示す図である。図２に示すように、プログラマブル表示器４は、外部Ｉ／Ｆ（InterFace）部４１と、入力部４２と、表示部４３と、表示制御部４０と、主制御部４４と、記憶部４５と、記憶媒体接続部４６と、更新処理部４７とを備えている。
【００３４】
外部Ｉ／Ｆ部４１は、ＰＬＣ１〜３と接続し、ＰＬＣ１〜３との間で情報通信を行なう。例えば、外部Ｉ／Ｆ部４１は、動作状態を示す情報（以下、動作状態情報という）を各ＰＬＣ１〜３から受信し、受信した情報を主制御部４４に出力する。また、外部Ｉ／Ｆ部は、主制御部４４から受けた各種指示をＰＬＣ１〜３へ送信する。
【００３５】
入力部４２は、ユーザからの入力情報を受け、当該入力情報を主制御部４４または更新処理部４７に出力する。入力部４２は、例えばタッチパネルである。
【００３６】
表示部４３は、ユーザへ情報を提示するための画面やユーザ操作を促す画面などの各種の画面を表示する。表示部４３は、例えば液晶ディスプレイである。
【００３７】
表示制御部４０は、主制御部４４からの指示に従って、表示部４３が表示する画面の制御を行なう。
【００３８】
記憶部４５は、不揮発性のメモリで構成されており、プログラマブル表示器４を動作させるために必要な既存ファイル群４５ａと、既存ファイル群４５ａに含まれる各ファイルに関する情報（以下、ファイル情報という）の一覧を示す第１マニフェストファイル（第１情報）４５ｂとを記憶している。
【００３９】
既存ファイル群４５ａには、例えば、プログラマブル表示器４を動作させるために必要なシステムのファームウェア、制御プログラム、表示画面を構成する各パーツの画像データなどのリソースデータ、ＰＬＣ１〜３に書き込むためのレシピデータなどが含まれる。
【００４０】
図３は、第１マニフェストファイル４５ｂの一例を示す図である。図３に示されるように、第１マニフェストファイル４５ｂは、既存ファイル群４５ａに含まれる各ファイルに関するファイル情報として、少なくとも、ファイル名、ファイルサイズおよびハッシュ値を含む。
【００４１】
主制御部４４は、記憶部４５に格納された既存ファイル群４５ａ、外部Ｉ／Ｆ部４１が受けた動作状態情報および入力部４２が受けた入力情報に基づいて、各種の画面データを生成し、生成した画面データで示される画面を表示部４３に表示させる。また、主制御部４４は、既存ファイル群４５ａ、動作状態情報および入力情報に基づいて、ＰＬＣ１〜３への指示情報を生成し、生成した指示情報を外部Ｉ／Ｆ部４１を介してＰＬＣ１〜３に送信する。
【００４２】
また、主制御部４４は、記憶部４５に格納された既存ファイル群４５ａの更新を行なう際、入力部４２が受けた情報を更新処理部４７を出力し、更新処理部４７から受けた指示に従って各部を制御する。例えば、主制御部４４は、更新処理部４７から受けた指示に従って、表示制御部４０に画面の遷移を指示したり、記憶部４５から読み取ったデータを更新処理部４７に出力したりする。
【００４３】
記憶媒体接続部４６は、記憶媒体６が差し込まれるスロットを有し、スロットに差し込まれた記憶媒体６と接続する。記憶媒体接続部４６は、接続される記憶媒体６に応じた形状のスロットを有している。記憶媒体接続部４６に接続される記憶媒体は、例えばＳＤメモリカードなどのメモリカードやＵＳＢ（Universal Serial Bus）メモリである。
【００４４】
ユーザは、記憶部４５に格納されている既存ファイル群４５ａの更新を行なうとき、更新のために生成されたパッケージファイル６１が格納される記憶媒体６を記憶媒体接続部４６のスロットに差し込む。
【００４５】
パッケージファイル６１は、プログラマブル表示器４を動作させるために必要な新たなファイル群（以下、更新用ファイル群という）６１ａと、更新用ファイル群６１ａに含まれる各ファイルに関するファイル情報の一覧を示す第２マニフェストファイル（第２情報）６１ｂとを含む。
【００４６】
第２マニフェストファイル６１ｂは、図３に示す第１マニフェストファイル４５ｂと同様に、更新用ファイル群６１ａに関するファイル情報として、少なくとも、ファイル名、ファイルサイズおよびハッシュ値を含む。
【００４７】
更新処理部４７は、記憶媒体接続部４６に接続された記憶媒体６が記憶するパッケージファイル６１に基づいて、記憶部４５が記憶する既存ファイル群４５ａの更新処理を行なう。図２に示されるように、更新処理部４７は、読出部４７１と、差分抽出部４７２と、更新時間予測部４７３と、書込部４７４とを備える。
【００４８】
読出部４７１は、記憶媒体接続部４６に記憶媒体６が接続されると、記憶媒体６からパッケージファイル６１を読み出す。すなわち、読出部４７１は、パッケージファイル６１を取得する取得部として機能する。
【００４９】
差分抽出部４７２は、記憶媒体６から読み出したパッケージファイル６１に含まれる更新用ファイル群６１ａの中から、記憶部４５が記憶する既存ファイル群４５ａと異なるファイルを差分ファイルとして抽出する。差分抽出部４７２は、パッケージファイル６１に含まれる第２マニフェストファイル６１ｂと、記憶部４５が記憶する第１マニフェストファイル４５ｂとを比較することで、差分ファイルを特定する。差分抽出部４７２の具体的な処理方法については後述する。
【００５０】
更新時間予測部４７３は、既存ファイル群４５ａの更新に要する時間を予測する予測部である。具体的には、更新時間予測部４７３は、差分ファイルのみを記憶部４５に書き込むことで、既存ファイル群４５ａの更新を行なう更新処理（以下、差分書込処理という）を行なう際の第１更新時間と、更新用ファイル群６１ａの全てを記憶部４５に書き込むことで、既存ファイル群４５ａの更新を行なう更新処理（以下、全書込処理という）を行なう際の第２更新時間とを算出する。
【００５１】
更新時間予測部４７３は、算出した更新時間を主制御部４４に出力する。主制御部４４は、更新時間予測部４７３から受けた更新時間を含む画面の表示指示を表示制御部４０に出力する。これにより、表示制御部４０は、更新時間を含む画面を表示部４３に表示させる。
【００５２】
更新時間予測部４７３は、書き込み対象となる各ファイルの容量（ファイルサイズ）を基に、更新時間を算出する。更新時間予測部４７３の具体的な処理方法については後述する。
【００５３】
書込部４７４は、入力部４２に入力された指示に従って、差分書込処理および全書込処理のいずれかを実行する。書込部４７４の具体的な処理方法については後述する。
【００５４】
＜更新処理の流れ＞
図４は、プログラマブル表示器４における更新処理の流れを説明するフローチャートである。図４に示されるように、読出部４７１は、記憶媒体接続部４６のスロットに挿入された記憶媒体６にパッケージファイル６１が格納されているか否かを判断する（ステップＳ１）。
【００５５】
記憶媒体６にパッケージファイル６１が格納されていない場合（ステップＳ１でＮＯ）、再度ステップＳ１の処理に戻る。記憶媒体６にパッケージファイル６１が格納されている場合（ステップＳ１でＹＥＳ）、読出部４７１は、記憶媒体６からパッケージファイル６１を読み出す（ステップＳ２）。
【００５６】
ここで、記憶媒体６に複数のパッケージファイル６１が格納されている場合、読出部４７１は、パッケージファイル６１の選択をユーザに促す選択画面を表示部４３に表示する。そして、読出部４７１は、入力部４２に入力された選択指示で示される１つのパッケージファイル６１を記憶媒体６から読み出す。
【００５７】
図５は、パッケージファイル６１の選択をユーザに促す選択画面の一例を示す図である。図５に示されるように、読出部４７１は、複数のパッケージファイル６１のファイル名の一覧８１と、選択完了を指示するボタン８２とを含む選択画面を表示する。読出部４７１は、一覧８１において一つのファイル名が選択された状態で、ボタン８２が押下されたことを検知すると、選択されたファイル名に対応するパッケージファイル６１を記憶媒体６から読み出す。
【００５８】
次に、差分抽出部４７２は、ステップＳ２で読み出されたパッケージファイル６１の第２マニフェストファイル６１ｂと、記憶部４５が記憶する第１マニフェストファイル４５ｂとを比較し、更新用ファイル群６１ａの中から差分ファイルを抽出する（ステップＳ３）。
【００５９】
図６は、差分抽出部４７２による差分ファイルの抽出方法を説明する図である。差分抽出部４７２は、第２マニフェストファイル６１ｂに含まれる各ファイル情報について、当該ファイル情報のファイル名と一致するファイル名を含むファイル情報が第１マニフェストファイル４５ｂに存在するか否かを判断する。図６では、第２マニフェストファイル６１ｂにおけるファイル情報「Ｗ」「Ｙ」について、第１マニフェストファイル４５ｂにファイル名が一致するファイル情報「Ｗ」「Ｙ’」が存在していることを示している。
【００６０】
ファイル名が一致するファイル情報が存在する場合、差分抽出部４７２は、第１マニフェストファイル４５ｂおよび第２マニフェストファイル６１ｂのそれぞれから、ファイル名が一致するファイル情報を読み出す。差分抽出部４７２は、読み出した二つのファイル情報を比較し、その比較結果から、ファイルサイズおよびハッシュ値が一致するか否か判断する。
【００６１】
ファイルサイズおよびハッシュ値の両者が一致する場合、差分抽出部４７２は、当該ファイルサイズおよびハッシュ値を含むファイル情報に対応するファイルがパッケージファイル６１および記憶部４５の両方に格納されていると判断する。図６では、ファイル情報「Ｗ」について、ファイルサイズおよびハッシュ値の両方が一致していることを示している。
【００６２】
ファイルサイズおよびハッシュ値の少なくとも一方が不一致の場合、差分抽出部４７２は、当該ファイルサイズおよびハッシュ値を含むファイル情報に対応するファイルが、記憶部４５に格納されている同一ファイル名のファイルから変更されている変更ファイルであると判断する。図６では、ファイル名が一致するファイル情報「Ｙ」およびファイル情報「Ｙ’」について、ファイルサイズおよびハッシュ値の両方が不一致であることを示している。
【００６３】
また、第２マニフェストファイル６１ｂ中のファイル名と一致するファイル情報が第１マニフェストファイル４５ｂに存在しない場合、差分抽出部４７２は、当該ファイル名に対応するファイルを、記憶部４５に新たに追加すべき追加ファイルである判断する。図６では、ファイル情報「Ｘ」で示されるファイルが追加ファイルとなる。
【００６４】
このようにして、差分抽出部４７２は、更新用ファイル群６１ａの中から、変更ファイルおよび追加ファイルのいずれかと特定したファイルを差分ファイルとして抽出する。
【００６５】
また、差分抽出部４７２は、第１マニフェストファイル４５ｂ中のファイル名と一致するファイル情報が第２マニフェストファイル６１ｂに存在しない場合、当該ファイル名に対応するファイルを、記憶部４５から削除すべき削除ファイルである判断する。図６では、ファイル情報「Ｚ」で示されるファイルが削除ファイルとなる。
【００６６】
次に、更新時間予測部４７３は、ステップＳ３で抽出された差分ファイルを記憶部４５に書き込む差分書込処理に要する第１更新時間を算出する（ステップＳ４）。
【００６７】
図７は、差分書込処理に要する第１更新時間の算出方法を説明する図である。図７に示されるように、更新時間予測部４７３は、ファイルサイズの区分ごとに当該区分に属するファイルを記憶部４５に書き込む際の平均書込速度（秒／個）を示す書込速度テーブル８３を予め記憶している。
【００６８】
プログラマブル表示器４を動作させるために必要なファイルとしては、比較的ファイルサイズの小さいファイル（例えば、サムネイル画像データなど４ＫＢ未満のファイル）が多い。ここで、相対的にファイルサイズの小さいファイルを複数個（合計ファイルサイズ＝Ａ）と、ファイルサイズがＡのファイル１個とを記憶部４５に格納する場合、相対的にファイルサイズの小さいファイルを複数個格納する方が時間がかかる。そのため、書込速度テーブル８３では、ファイルサイズの小さい区分ほど単位時間当たりに書き込む容量が小さくなるように、各区分の平均書込速度が設定されている。
【００６９】
更新時間予測部４７３は、各差分ファイルについて、第２マニフェストファイル６１ｂを参照して、ファイルサイズが書込速度テーブルのどの区分に属するか判断する。そして、更新時間予測部４７３は、各区分について、当該区分に属する差分ファイルの数をカウントする。
【００７０】
その後、更新時間予測部４７３は、各区分について、当該区分に対応する平均書込速度にカウントしたファイル数を乗じて予測書込時間を算出する。そして、更新時間予測部４７３は、区分ごとに求めた予測書込時間を合計した値を、差分書込処理に要する第１更新時間とする。
【００７１】
続いて、更新時間予測部４７３は、パッケージファイル６１に含まれる更新用ファイル群６１ａの全てを記憶部４５に書き込む全書込処理に要する第２更新時間を算出する（ステップＳ５）。更新時間予測部４７３は、図７に示した方法と同様の方法で第２更新時間を算出する。
【００７２】
次に、更新時間予測部４７３は、ステップＳ４、Ｓ５で算出した更新時間を主制御部４４に出力する。主制御部４４は、更新時間予測部４７３から受けた更新時間を含む画面（更新時間ウィンドウ）の表示指示を表示制御部４０に出力する。これにより、表示制御部４０は、更新時間ウィンドウを表示部４３に表示する（ステップＳ６）。
【００７３】
図８は、更新時間ウィンドウの一例を示す図である。図８に示されるように、表示制御部４０は、更新用ファイル群６１ａのうち差分ファイルを除くファイル群（図中では「一致」と記載）に属するファイル数を示す領域８４と、差分ファイル（図中では「不一致」と記載）の数を示す領域８５と、全書込処理に要する第２更新時間を示す領域８６と、差分書込処理に要する第１更新時間を示す領域８７と、全書込処理の開始を指示するボタン（全書込開始ボタン）８８と、差分書込処理の開始を指示するボタン（差分書込開始ボタン）８９とを含む更新時間ウィンドウ８０を表示部４３に表示させる。
【００７４】
次に、書込部４７４は、差分書込開始ボタン８９が押下されたか否かを判断する（ステップＳ７）。差分書込開始ボタン８９が押下された場合（ステップＳ７でＹＥＳ）、書込部４７４は、ステップＳ３で抽出された差分ファイルを記憶部４５に書き込み（ステップＳ８）、処理を終了する。
【００７５】
具体的には、ステップＳ８において、書込部４７４は、書き込み対象となる差分ファイルと同一のファイル名のファイルが既存ファイル群４５ａに含まれている場合、既存ファイル群４５ａの当該ファイルに、差分ファイルを上書きする。また、書込部４７４は、書き込み対象となる差分ファイルと同一のファイル名のファイルが既存ファイル群４５ａに含まれていない場合、当該差分ファイルを既存ファイル群４５ａとして記憶部４５に追加して書き込む。
【００７６】
また、ステップＳ８において、書込部４７４は、第１マニフェストファイル４５ｂに存在するが第２マニフェストファイル６１ｂに存在しないファイル名のファイル（つまり、差分抽出部４７２により特定された削除ファイル）を、既存ファイル群４５ａから削除する。
【００７７】
さらに、ステップＳ８において、書込部４７４は、既存ファイル群４５ａの更新とともに、記憶部４５が記憶する第１マニフェストファイル４５ｂも更新する。すなわち、書込部４７４は、第２マニフェストファイル６１ｂを更新後の第１マニフェストファイル４５ｂとして記憶部４５に上書きする。
【００７８】
一方、差分書込開始ボタン８９が押下されていない場合（ステップＳ７でＮＯ）、書込部４７４は、全書込開始ボタン８８が押下されたか否かを判断する（ステップＳ９）。
【００７９】
全書込開始ボタン８８が押下されていない場合（ステップＳ９でＮＯ）、ステップＳ７に戻る。全書込開始ボタン８８が押下された場合（ステップＳ９でＹＥＳ）、書込部４７４は、更新用ファイル群６１ａを記憶部４５に書き込む全書込処理を実行し（ステップＳ１０）、処理を終了する。
【００８０】
ステップＳ１０における全書込処理は、書き込み対象が差分ファイルではなく更新用ファイル群６１ａである点でのみ、ステップＳ８の差分書込処理と異なる。そのため、書込部４７４は、書き込み対象となる更新用ファイル群６１ａについて、ステップＳ８と同様の処理を行なうことで全書込処理を実行すればよい。
【００８１】
＜ハードウェア構成＞
図９は、プログラマブル表示器４のハードウェア構成の一例を説明するための図である。図９に示されるように、プログラマブル表示器４は、各種の演算を行なうＣＰＵ（Central Processing Unit）４１１と、ＲＯＭ（Read Only Memory）４１２と、ＲＡＭ（Random Access Memory）４１３と、記憶部４５として機能する、各種のプログラムを不揮発的に格納するフラッシュＲＯＭ４１４と、時計４１５と、操作キー４１６と、カメラ４１７と、タッチスクリーン４１８と、通信インターフェイス４１９とを備える。なお、これらの部位は、内部バスを介して互いに接続される。
【００８２】
タッチスクリーン４１８は、表示部４３として機能するディスプレイ４８１と、入力部４２として機能する、ディスプレイ４８１を覆うように設置されたタッチパネル４８２とを有する。
【００８３】
外部Ｉ／Ｆ部４１および記憶媒体接続部４６として機能する通信インターフェイス４１９は、Ｅｔｈｅｒｎｅｔ（登録商標）用ＩＦ（InterFace）、シリアル用ＩＦ、ＵＳＢ（Universal Serial Bus）用ＩＦ等の各種の通信ＩＦを有する。プログラマブル表示器４は、通信インターフェイス４１９を介して、ＰＬＣ１〜３等の各種の電子機器と通信する。
【００８４】
ＣＰＵ４１１は、フラッシュＲＯＭ４１４に格納されているプログラムをＲＡＭ４１３などに展開して実行する。記憶部４５として機能するＲＯＭ４１２は、一般的に、オペレーティングシステム（ＯＳ：Operating System）等のプログラムを格納している。ＲＡＭ４１３は、揮発性メモリであり、ワークメモリとして使用される。
【００８５】
なお、図９に示されるプログラマブル表示器４を構成する各構成要素は、一般的なものである。したがって、本発明の本質的な部分は、フラッシュＲＯＭ４１４等のメモリに格納されたソフトウェア、あるいはネットワークを介してダウンロード可能なソフトウェアであるともいえる。なお、プログラマブル表示器４の各ハードウェアの動作は周知であるために、詳細な説明は繰り返さない。
【００８６】
＜実施の形態１の構成および効果＞
以上のように、プログラマブル表示器４は、既存ファイル群（第１ファイル群）４５ａを記憶するための記憶部４５と、更新用ファイル群（第２ファイル群）６１ａを取得する取得部として機能する読出部４７１と、更新用ファイル群６１ａの中から、既存ファイル群４５ａと異なるファイルを差分ファイルとして抽出する差分抽出部４７２と、差分ファイルを記憶部４５に書き込むことで、既存ファイル群４５ａの更新を行なう書込部４７４とを備える。
【００８７】
これにより、書込部４７４は、差分ファイルのみを記憶部４５に書き込むことにより、更新用ファイル群６１ａの全てを記憶部４５に書き込む全書込処理に比べて、更新に要する時間を短縮することができる。その結果、記憶部４５が記憶する既存ファイル群４５ａの更新の際のユーザの利便性が向上する。
【００８８】
また、プログラマブル表示器４は、差分ファイルを記憶部４５に書き込むのに要する第１更新時間（第１時間）と、更新用ファイル群６１ａの全てを記憶部４５に書き込むのに要する第２更新時間（第２時間）とを予測する更新時間予測部４７３と、当該更新時間を表示部４３に表示させる表示制御部４０とを備えている。
【００８９】
これにより、ユーザは、差分書込処理の実行のための時間を把握することができ、更新作業のスケジュールを立てやすくなる。また、全書込処理の実行のための時間も把握することで、差分書込処理を実行することにより全書込処理と比較してどれほど短縮することができるか認識することができる。
【００９０】
また、プログラマブル表示器４は、差分書込処理と全書込処理とのいずれかを選択する指示を受ける入力部４２を備える。そして、書込部４７４は、入力部４２が差分書込処理を選択する指示を受けたとき、差分ファイルを記憶部４５に書き込み、入力部４２が全書込処理を選択する指示を受けたとき、更新用ファイル群６１ａを記憶部４５に書き込む。
【００９１】
これにより、ユーザは、差分書込処理に要する第１更新時間と全書込処理に要する第２更新時間とを確認しながら、状況に応じて差分書込処理および全書込処理のいずれかを選択することができる。その結果、既存ファイル群４５ａの更新の際のユーザの利便性がさらに向上する。
【００９２】
また、プログラマブル表示器４が備える更新処理部４７および表示制御部４０を組み合わせたユニットは、プログラマブル表示器４の既存ファイル群（第１ファイル群）４５ａの更新を行なう更新処理装置であるといえる。そして、更新処理部４７は、上述したように、更新用ファイル群６１ａを取得する読出部４７１と、差分ファイルとして抽出する差分抽出部４７２と、差分ファイルを記憶部４５に書き込むのに要する第１更新時間を予測する更新時間予測部４７３とを備える。そして、表示制御部４０は、当該第１更新時間を表示部４３に表示させる出力部として機能する。
【００９３】
これにより、ユーザは、差分書込処理の実行のための時間を把握することができ、更新作業のスケジュールを立てやすくなる。その結果、記憶部４５が記憶する既存ファイル群４５ａの更新の際のユーザの利便性が向上する。
【００９４】
［実施の形態２］
本発明の実施の形態２に係るプログラマブル表示器は、上記の実施の形態１に係るプログラマブル表示器の変形例である。
【００９５】
上記の実施の形態１では、プログラマブル表示器４が記憶媒体６から更新用ファイル群６１ａを取得するものとしたが、プログラマブル表示器４が更新用ファイル群６１ａを取得する先は記憶媒体６に限定されない。実施の形態２は、プログラマブル表示器がＰＣ（Personal Computer）から更新用ファイル群６１ａを取得する形態である。
【００９６】
図１０は、実施の形態２にかかるプログラマブル表示器４ａを備えたＰＬＣシステム１０１の構成を示す図である。図１０に示されるように、実施の形態２にかかるＰＬＣシステム１０１は、ＰＬＣ１〜３と、プログラマブル表示器４ａと、ＰＣ７とを備える。
【００９７】
ＰＣ７は、更新用ファイル群６１ａと第２マニフェストファイル６１ｂとを含むパッケージファイル６１を内部ストレージに記憶している。
【００９８】
なお、ＰＣ７は、更新用ファイルを生成するプログラムによってパッケージファイル６１を生成してもよいし、他の情報処理装置からパッケージファイル６１を取得してもよい。
【００９９】
プログラマブル表示器４ａは、実施の形態１のプログラマブル表示器４と比較して、更新処理部４７の代わりに更新処理部４７ａを、記憶媒体接続部４６の代わりに通信部４８を備えている点で相違する。また、更新処理部４７ａは、更新処理部４７と比較して、読出部４７１を備えていない点で相違する。
【０１００】
通信部４８は、ＰＣ７と通信し、ＰＣ７からパッケージファイル６１を取得し、パッケージファイル６１を更新処理部４７ａに出力する。
【０１０１】
更新処理部４７ａの差分抽出部４７２、更新時間予測部４７３および書込部４７４は、通信部４８から出力されたパッケージファイル６１に対して、実施の形態１と同様の処理を行なう。なお、ＰＣ７とプログラマブル表示器４ａとの間の通信上のセキュリティや通信速度を考慮してパッケージファイル６１が暗号化または圧縮されている場合、更新処理部４７ａは、パッケージファイル６１を展開したうえで、実施の形態１と同様の処理を行えばよい。
【０１０２】
［実施の形態３］
図１１は、本発明の別の実施の形態３にかかるＰＬＣシステム１０２の構成を示す図である。図１１に示されるように、ＰＬＣシステム１０２は、ＰＬＣ１〜３と、プログラマブル表示器４ｂと、ＰＣ７ａとを備えている。
【０１０３】
プログラマブル表示器４ｂは、実施の形態１のプログラマブル表示器４と比較して、更新処理部４７の代わりに書込部４９を、記憶媒体接続部４６の代わりに通信部４８を備える点で相違する。
【０１０４】
通信部４８は、ＰＣ７ａと通信する。通信部４８は、ＰＣ７ａからの既存ファイル群４５ａの送信要求に従い、記憶部４５に格納された既存ファイル群４５ａおよび第１マニフェストファイル４５ｂをＰＣ７ａに送信する。また、通信部４８は、差分ファイルまたは更新用ファイル群６１ａと第２マニフェストファイル６１ｂとをＰＣ７ａから受信し、書込部４９に出力する。
【０１０５】
書込部４９は、通信部４８から受けた差分ファイルまたは更新用ファイル群６１ａに含まれるファイルを記憶部４５に書き込む。書込部４９は、実施の形態１の書込部４７４と同様に、書き込み対象となるファイルと同一のファイル名のファイルが既存ファイル群４５ａに含まれている場合、既存ファイル群４５ａの当該ファイルを、差分ファイルで上書きする。また、書込部４９は、書き込み対象となるファイルと同一のファイル名のファイルが既存ファイル群に含まれていない場合、当該ファイルを記憶部４５に追加して書き込む。
【０１０６】
また、書込部４９は、第１マニフェストファイル４５ｂに存在するが第２マニフェストファイル６１ｂに存在しないファイル名のファイルを、既存ファイル群４５ａから削除する。
【０１０７】
さらに、書込部４９は、通信部４８から受けた第２マニフェストファイル６１ｂを更新後の第１マニフェストファイル４５ｂとして記憶部４５に上書きする。
【０１０８】
ＰＣ７ａは、通信部７１と、ＵＩ（User Interface）部７２と、パッケージファイル生成部７３と、記憶部７４と、更新処理部７５とを備えている。
【０１０９】
通信部７１は、プログラマブル表示器４ｂと通信する。通信部７１は、更新処理部７５からの指示に従い、既存ファイル群４５ａの送信要求をプログラマブル表示器４ｂに送信し、既存ファイル群４５ａおよび第１マニフェストファイル４５ｂを受ける。また、通信部７１は、更新処理部７５から出力された、差分ファイルまたは更新用ファイル群６１ａと第２マニフェストファイル６１ｂとをプログラマブル表示器４ｂに送信する。
【０１１０】
ＵＩ部７２は、ユーザ操作のための表示機能および入力機能を有する。ＵＩ部７２は、例えば、液晶ディスプレイ、タッチパネル、キーボード、マウス等で構成される。ＵＩ部７２は、プログラマブル表示器４ｂの既存ファイル群４５ａの更新指示の入力を受けると、当該更新指示を更新処理部７５に出力する。
【０１１１】
パッケージファイル生成部７３は、ＵＩ部７２に入力された指示に従って、プログラマブル表示器４ｂを動作させるための各種のファイルからなる更新用ファイル群６１ａを生成する。
【０１１２】
また、パッケージファイル生成部７３は、生成したファイルの各々について、ファイル名、ファイルサイズおよびハッシュ値を含むファイル情報を生成する。そして、パッケージファイル生成部７３は、更新用ファイル群６１ａに含まれる各ファイルに対応するファイル情報を含む第２マニフェストファイル６１ｂを生成する。
【０１１３】
パッケージファイル生成部７３は、生成した更新用ファイル群６１ａおよび第２マニフェストファイル６１ｂを含むパッケージファイル６１を記憶部７４に格納する。
【０１１４】
更新処理部７５は、プログラマブル表示器４ｂの既存ファイル群４５ａの更新処理を実行する。図１１に示されるように、更新処理部７５は、転送処理部７５１と、差分抽出部７５２と、更新時間予測部７５３とを備える。
【０１１５】
転送処理部７５１は、ＵＩ部７２から更新指示を受けると、通信部７１を介して、既存ファイル群４５ａの送信要求をプログラマブル表示器４ｂに送り、既存ファイル群４５ａおよび第１マニフェストファイル４５ｂを取得する。また、転送処理部７５１は、更新指示を受けると、記憶部７４からパッケージファイル６１を読み出す。転送処理部７５１は、取得した既存ファイル群４５ａ、第１マニフェストファイル４５ｂ、更新用ファイル群６１ａおよび第２マニフェストファイル６１ｂを差分抽出部７５２に出力する。
【０１１６】
差分抽出部７５２は、転送処理部７５１から受けたファイルを基に、更新用ファイル群６１ａの中から差分ファイルを抽出する。差分抽出部７５２の抽出方法は、実施の形態１の差分抽出部４７２と同様である。
【０１１７】
更新時間予測部７５３は、実施の形態１の更新時間予測部４７３と同様に、差分抽出部７５２により抽出された差分ファイルおよび転送処理部７５１から受けた更新用ファイル群６１ａに基づいて、差分書込処理および全書込処理のそれぞれに要する更新時間を算出する。そして、更新時間予測部７５３は、算出した更新時間を含む更新時間ウィンドウ８０（図８参照）をＵＩ部７２に表示させる。
【０１１８】
転送処理部７５１は、ＵＩ部７２から差分書込処理の開始指示を受けると、差分抽出部７５２により抽出された差分ファイルと第２マニフェストファイル６１ｂとを通信部７１を介してプログラマブル表示器４ｂに送信する。
【０１１９】
また、転送処理部７５１は、ＵＩ部７２から全書込処理の開始指示を受けると、更新用ファイル群６１ａと第２マニフェストファイル６１ｂとを、通信部７１を介してプログラマブル表示器４ｂに送信する。
【０１２０】
＜更新処理の流れ＞
図１２は、ＰＬＣシステム１０２におけるプログラマブル表示器４ｂの既存ファイル群４５ａの更新処理の流れを示すフローチャートである。
【０１２１】
図１２に示されるように、転送処理部７５１は、ＵＩ部７２に更新指示が入力されたか否かを判断する（ステップＳ１１）。更新指示が入力されていない場合、再度ステップＳ１１に戻る。
【０１２２】
更新指示が入力されると（ステップＳ１１でＹＥＳ）、転送処理部７５１は、プログラマブル表示器４ｂの記憶部４５が記憶する、既存ファイル群４５ａと第１マニフェストファイル４５ｂとを取得するとともに、記憶部７４からパッケージファイル６１を取得する（ステップＳ１２）。
【０１２３】
次に、差分抽出部７５２および更新時間予測部７５３は、実施の形態１で説明したステップＳ３〜Ｓ６と同様の処理を行なう。なお、ステップＳ６において、ＰＣ７のＵＩ部７２は、図８に示されるような更新時間ウィンドウ８０を表示させる。これにより、ユーザは、ＵＩ部７２を確認しながら更新操作を行なうことができる。
【０１２４】
次に、転送処理部７５１は、ＵＩ部７２の画面上の差分書込開始ボタン８９が押下されたか否かを判断する（ステップ１７）。差分書込開始ボタン８９が押下された場合（ステップＳ１７でＹＥＳ）、転送処理部７５１は、ステップＳ３で抽出された差分ファイルと第２マニフェストファイル６１ｂとを通信部７１を介してプログラマブル表示器４ｂに送信する（ステップＳ１８）。
【０１２５】
そして、プログラマブル表示器４ｂの書込部４９は、受けた差分ファイルと第２マニフェストファイル６１ｂとに基づいて、実施の形態１で説明したステップＳ８と同様の差分書込処理を実行する。
【０１２６】
一方、差分書込開始ボタン８９が押下されていない場合（ステップＳ１７でＮＯ）、転送処理部７５１は、ＵＩ部７２の画面上の全書込開始ボタン８８が押下されたか否かを判断する（ステップＳ１９）。全書込開始ボタン８８が押下されていない場合（ステップＳ１９でＮＯ）、ステップＳ１７の処理に戻る。
【０１２７】
全書込開始ボタン８８が押下された場合（ステップＳ１９でＹＥＳ）、転送処理部７５１は、更新用ファイル群６１ａと第２マニフェストファイル６１ｂとを通信部７１を介してプログラマブル表示器４ｂに送信する（ステップＳ２０）。
【０１２８】
そして、プログラマブル表示器４ｂの書込部４９は、受けた更新用ファイル群６１ａと第２マニフェストファイル６１ｂとに基づいて、実施の形態１で説明したステップＳ１０と同様の全書込処理を実行する。
【０１２９】
＜ハードウェア構成＞
図１３は、ＰＣ７ａのハードウェア構成の一例を示す模式図である。図１３を参照して、ＰＣ７ａは、ＯＳを含む各種プログラムを実行するＣＰＵ５０２と、ＢＩＯＳや各種データを格納するＲＯＭ（Read Only Memory）５０４と、ＣＰＵ５０２でのプログラムの実行に必要なデータを格納するための作業領域を提供するＲＡＭ５０６と、ＣＰＵ５０２で実行されるプログラムなどを不揮発的に格納するハードディスク（ＨＤＤ）５０８とを含む。
【０１３０】
ＰＣ７ａは、さらに、ユーザからの操作を受け付けるキーボード５１０およびマウス５１２と、情報をユーザに提示するためのモニタ５１４とを含む。さらに、ＰＣ７ａは、プログラマブル表示器４ｂなどと通信するための通信インターフェイス（ＩＦ）５１８を含む。ＰＣ７ｂは、通信ＩＦ５１８によってプログラマブル表示器４ｂと通信可能に接続される。
【０１３１】
＜実施の形態３の構成および効果＞
以上のように、実施の形態３のＰＣ７ａは、プログラマブル表示器４ｂが有する既存ファイル群４５ａの更新を行なう更新処理装置として機能する。そして、ＰＣ７ａは、更新用ファイル群６１ａを取得する取得部として機能する転送処理部７５１と、更新用ファイル群６１ａのうち、既存ファイル群４５ａと異なるファイルを差分ファイルとして抽出する差分抽出部７５２と、差分ファイルを記憶部４５に書き込む差分書込処理に要する第１更新（第１時間）を予測する更新時間予測部７５３と、第１更新時間を表示させるＵＩ部７２とを備える。
【０１３２】
これにより、ユーザは、出力された更新時間を確認することで、差分書込処理に要する時間を容易に把握することができる。その結果、既存ファイル群４５ａの更新の際のユーザの利便性が向上する。
【０１３３】
また、実施の形態１と同様に、更新時間予測部７５３は、更新用ファイル群６１ａの全てを記憶部４５に書き込む全書込処理に要する第２更新時間（第２時間）も予測し、当該第２更新時間をＵＩ部７２に表示させる。これにより、ユーザは、差分書込処理を実行することにより全書込処理と比較してどれほど短縮することができるか認識することができる。
【０１３４】
また、ＵＩ部７２は、差分書込処理と全書込処理とのいずれかを選択する指示を受ける入力部としても機能する。そして、転送処理部７５１は、ＵＩ部７２が差分書込処理を選択する指示を受けたとき、差分ファイルをプログラマブル表示器４ｂに転送し、ＵＩ部７２が全書込処理を選択する指示を受けたとき、更新用ファイル群６１ａをプログラマブル表示器４ｂに転送する。そして、書込部４９は、記憶部４５の既存ファイル群４５ａおよび第１マニフェストファイル４５ｂを更新する。これにより、既存ファイル群の更新の際のユーザの利便性がさらに向上する。
【０１３５】
なお、上記の説明では、ＰＣ７ａがパッケージファイル生成部７３を備えるものとしたが、ＰＣ７ａは、パッケージファイル生成部７３を備えておらず、他の情報処理装置からパッケージファイル６１を取得し、記憶部７４にパッケージファイル６１を格納させてもよい。
【０１３６】
［変形例］
上記の説明では、更新時間予測部４７３，７５３は、全書込処理および差分書込処理の両方について更新時間を予測するものとした。しかしながら、更新時間予測部４７３，７５３は、差分書込処理の第１更新時間のみを予測してもよい。この場合、図４に示すフローチャートにおいてステップＳ５、Ｓ７、Ｓ９、Ｓ１０を省略すればよい。同様に、図１２に示すフローチャートにおいてステップＳ５、Ｓ１９、Ｓ２０、Ｓ１０を省略すればよい。
【０１３７】
また、上記の説明では、更新時間予測部４７３，７５３は、図７に示す書込速度テーブル８３を用いて、更新時間を算出するものとした。しかしながら、更新時間予測部４７３，７５３は、図７に示す書込速度テーブル８３の代わりに、ファイルの個数と予測書込時間とを対応付けたテーブルを記憶していてもよい。そして、更新時間予測部４７３，７５３は、書き込み対象となるファイル個数に対応する予測書込時間を当該テーブルから読み出し、読み出した予測書込時間を更新時間としてもよい。
【０１３８】
また、表示部４３またはＵＩ部７２が表示する更新時間ウィンドウ８０は、図８に示すものに限定されない。以下、更新時間ウィンドウの別の例について説明する。
【０１３９】
＜更新時間ウィンドウの変形例１＞
図１４は、更新時間ウィンドウの第１の変形例を示す図である。図１４に示されるように、表示部４３またはＵＩ部７２は、更新時間ウィンドウ８０ａを表示する。更新時間ウィンドウ８０ａは、図８に示す更新時間ウィンドウ８０と比較して、領域８５の代わりに、差分書込処理に要する時間を示すとともに、差分書込処理の開始を指示するボタン９０を含む点でのみ相違する。
【０１４０】
そして、ボタン９０が押下されると、書込部４７４または転送処理部７５１は、差分書込処理を開始する。
【０１４１】
＜更新時間ウィンドウの変形例２＞
図１５は、更新時間ウィンドウの第２の変形例を示す図である。図１５の上段に示されるように、表示部４３またはＵＩ部７２は、更新時間ウィンドウ８０ｂを表示する。更新時間ウィンドウ８０ｂは、図８に示す更新時間ウィンドウ８０と比較して、領域８５の代わりに、差分書込処理に要する時間を示すとともに、差分ファイルのファイル種別の開示を要求するボタン９１を含む点でのみ相違する。
【０１４２】
この場合、第２マニフェストファイル６１ｂは、各ファイルのファイル情報の一つとして、ファイルの種別を示す種別情報を含んでいる。ここで、ファイルの種別とは、ファイルの目的等により分類されており、例えば、制御プログラム用のファイル、ファームウェア用のファイル、ＰＬＣ１〜３に書き込まれるレシピデータ、画像データなどのリソースデータなどに分類される。
【０１４３】
更新時間予測部４７３，７５３は、種別情報を基に、各差分ファイルを、種別ごとに分類する。そして、更新時間予測部４７３，７５３は、各種別について、当該種別に属するファイルを記憶部４５に書き込むのに要する更新時間を算出する。この算出方法は、差分書込処理に要する第１更新時間を算出する方法と同じである。
【０１４４】
図１５の上段に示す更新時間ウィンドウ８０ｂにおいてボタン９１が押下されると、表示部４３またはＵＩ部７２は、種別ごとに、当該種別に属する差分ファイルを記憶部４５に書き込むのに要する更新時間（予測書込時間）をの一覧画面を表示する。
【０１４５】
図１５の下段は、ファイルの種別ごとの更新時間の一覧画面の一例を示している。図示されるように、表示部４３またはＵＩ部７２は、種別ごとの更新時間（図中、予測書込時間と記載）の一覧表９２と、書込の開始を指示するボタン９３と、キャンセルボタン９４とを含むウィンドウを表示させる。
【０１４６】
キャンセルボタン９４が押下されると、表示部４３またはＵＩ部７２は、図１５の上段に示す画面に遷移させる。
【０１４７】
また、一覧表９２の一つの種別が選択された状態（図１５では「制御プログラム」が選択されている）でボタン９３が押下されると、書込部４７４または転送処理部７５１は、選択された種別の差分ファイルのみを更新する処理を開始する。このとき、書込部４７４，４９は、記憶部４５に書き込んだ差分ファイルに対応するファイル情報についてのみ第１マニフェストファイル４５ｂを更新する。
【０１４８】
これにより、ユーザは、状況に応じて、現在更新すべきファイルを適宜選択することができる。
【０１４９】
＜更新時間ウィンドウの変形例３＞
図１６は、更新時間ウィンドウの第３の変形例を示す図である。上記のように、第２マニフェストファイル６１ｂがファイルの種別を示す種別情報を含んでいる場合、表示部４３またはＵＩ部７２は、図１６の（ａ）に示されるような更新時間ウィンドウ８０ｃを表示する。更新時間ウィンドウ８０ｃは、図１５に示す更新時間ウィンドウ８０ｂと比較して、ボタン９１ａの代わりに、ファイルの種別ごとの予測書込時間の表示を促すボタン９５〜９７を含む点で相違する。
【０１５０】
そして、図１６の（ｂ）に示されるように、ボタン９５〜９７のいずれかにカーソルが重ねられると、表示部４３またはＵＩ部７２は、カーソルが重ねられたボタンに対応する種別の差分ファイルを記憶部４５に書き込むのに要する更新時間が記されたポップアップウィンドウ９９を表示する。ポップアップウィンドウ９９には、対応する種別の差分ファイルを記憶部４５に書き込む処理（書込処理）の開始を指示するボタン９８が含まれる。
【０１５１】
ボタン９８が押下されると、書込部４７４または転送処理部７５１は、選択された種別の差分ファイルのみを更新する処理を開始する。このとき、書込部４７４，４９は、記憶部４５に書き込んだファイルに対応するファイル情報についてのみ第１マニフェストファイル４５ｂを更新する。
【０１５２】
これにより、ユーザは、状況に応じて、現在更新すべきファイルを適宜選択することができる。
【０１５３】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１５４】
４，４ａ，４ｂ  プログラマブル表示器、６  記憶媒体、４０  表示制御部、４２  入力部、４３  表示部、４４  主制御部、４５，７４  記憶部、４５ａ  既存ファイル群、４５ｂ  第１マニフェストファイル、４６  記憶媒体接続部、４７，４７ａ，７５  更新処理部、４９，４７４  書込部、６１  パッケージファイル、６１ａ  更新用ファイル群、６１ｂ  第２マニフェストファイル、８０，８０ａ，８０ｂ，８０ｃ  更新時間ウィンドウ、４７１  読出部、４７２，７５２  差分抽出部、４７３，７５３  更新時間予測部、７５１  転送処理部。
【図１】
2018026060.tif 000003
【図２】
2018026060.tif 000004
【図３】
2018026060.tif 000005
【図４】
2018026060.tif 000006
【図５】
2018026060.tif 000007
【図６】
2018026060.tif 000008
【図７】
2018026060.tif 000009
【図８】
2018026060.tif 000010
【図９】
2018026060.tif 000011
【図１０】
2018026060.tif 000012
【図１１】
2018026060.tif 000013
【図１２】
2018026060.tif 000014
【図１３】
2018026060.tif 000015
【図１４】
2018026060.tif 000016
【図１５】
2018026060.tif 000017
【図１６】
2018026060.tif 000018
【図１７】
2018026060.tif 000019