(57)【要約】【課題】制御プログラムを大きく変更することなく、必要なファイルを外部から取得及び外部へ送付することが可能なプログラマブルコントローラを提供する。【解決手段】ＣＰＵユニットと、該ＣＰＵユニットと接続された一又は複数の拡張ユニットとで構成され、ファイル転送時にＦＴＰクライアントとして機能する。ＦＴＰクライアントとして機能させる設定データの入力を受け付け、入力を受け付けた設定データを記憶しておく。ＦＴＰクライアントに所定の機能を割り当てるか否かに関するフラグ情報を含む機能割当て情報を記憶しておき、所定の機能ごとにフラグ情報を書き込み、フラグ情報の書き込みを検知した場合、記憶してある設定データに基づいてファイル転送を実行する。【選択図】図３
2011039643.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵユニットと、該ＣＰＵユニットと接続された一又は複数の拡張ユニットとで構成され、ファイル転送時にＦＴＰクライアントとして機能するプログラマブルコントローラにおいて、
ＦＴＰクライアントとして機能させる設定データの入力を受け付ける設定データ受付部と、
入力を受け付けた設定データを記憶する設定データ記憶部と、
ファイル転送時にＦＴＰクライアントとして機能させるＦＴＰクライアント機能提供部と、
ＦＴＰクライアントに所定の機能を割り当てるか否かに関するフラグ情報を含む機能割当て情報を記憶する機能割当て情報記憶部と、
前記フラグ情報を更新するフラグ情報更新部と
を備え、
前記フラグ情報更新部は、前記機能割当て情報記憶部の所定の機能ごとにフラグ情報を書き込み、
前記ＦＴＰクライアント機能提供部が前記フラグ情報の書き込みを検知した場合、前記ＦＴＰクライアント機能提供部は、前記設定データ記憶部に記憶してある設定データに基づいてファイル転送を実行するようにしてあることを特徴とするプログラマブルコントローラ。
【請求項２】
前記設定データは、ファイル転送の対象となるデータの取得先に関する情報を含むことを特徴とする請求項１記載のプログラマブルコントローラ。
【請求項３】
前記設定データは、ファイル転送の動作を特定する情報を含むことを特徴とする請求項１又は２記載のプログラマブルコントローラ。
【請求項４】
前記ＦＴＰクライアント機能提供部は、ファイル転送の状況を示す情報を出力する転送状況出力部を備えることを特徴とする請求項１乃至３のいずれか一項に記載のプログラマブルコントローラ。
【請求項５】
前記ＦＴＰクライアント機能提供部は、転送されるファイルのアップロード元又はダウンロード先として、前記ＣＰＵユニットの前記機能割当て情報記憶部又は着脱式のメモリカードの選択を受け付ける記憶先選択受付部を備えることを特徴とする請求項４記載のプログラマブルコントローラ。
【請求項６】
前記ＦＴＰクライアント機能提供部は、ファイルのアップロード又はダウンロードの選択を受け付ける転送方向選択受付部を備えることを特徴とする請求項１乃至５のいずれか一項に記載のプログラマブルコントローラ。
【請求項７】
前記機能割当て情報記憶部に記憶してある情報がアップロード対象である場合、アップロード時にＣＳＶ形式に変換する変換部を備えることを特徴とする請求項６記載のプログラマブルコントローラ。
【請求項８】
前記機能割当て情報記憶部は、前記フラグ情報更新部により更新するフラグ情報を前記ＣＰＵユニットに、その他の情報を前記拡張ユニットに、それぞれ記憶するようにしてあることを特徴とする請求項１乃至７のいずれか一項に記載のプログラマブルコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイル転送プロトコル（以下、ＦＴＰという）に従って所望のファイル転送を実行する、ＦＴＰクライアントとして機能するプログラマブルコントローラに関する。
【背景技術】
【０００２】
従来、製造現場において、製造の段取りを変更する場合等にプログラマブルコントローラの動作を制御する制御プログラムを更新する、設定ファイルを更新する等の作業が発生することが多い。このような場合、例えばプログラマブルコントローラに接続されるプログラマブル表示機、データ収集装置等のいわゆるレシピ機能等を用いてパラメータをダウンロードすることにより、動的に段取りを変更する。
【０００３】
また、特許文献１に開示してあるように、プログラマブルコントローラのＦＴＰサーバ機能を用いて、ＦＴＰクライアント機能を備えた外部のコンピュータ等から、必要なファイル、パラメータ等を取得することもできる。特許文献１では、ＦＴＰクライアント機能を備えた外部のコンピュータから、ＦＴＰサーバとして機能するプログラマブルコントローラへファイルの読み出し命令又は書き込み命令を送信し、プログラマブルコントローラが書き込み命令を受信した場合、所望のファイルがＦＴＰサーバとして機能するプログラマブルコントローラへ書き込まれる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１０６９９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上述した特許文献１のように、プログラマブルコントローラがＦＴＰサーバとして機能する場合、ファイルの読み出し又は書き込みのトリガは、あくまでもＦＴＰクライアント側であり、プログラマブルコントローラ内での制御プログラムの実行状況等を考慮して、別途独立した処理を実行する必要が生じる。また、書き換え機能を有する外部コンピュータを準備する等、外部のコンピュータにおいて必要な設定を行なう必要が生じ、あるいは外部のコンピュータにて必要なプログラムを作成する必要も生じ、プログラマブルコントローラの動作を制御する制御プログラムを更新するには、処理が煩雑であるという問題点があった。
【０００６】
一方、プログラマブルコントローラをＦＴＰクライアントとすることで、上記問題点を解決することも考えうる。しかし、プログラマブルコントローラをＦＴＰクライアントとするためには、通常、プログラマブルコントローラ内の設定を必要に応じて更新し、ファイル転送に係る専用命令、特殊命令等を新たに定義したラダープログラム等の制御プログラムを作成する必要がある。すなわち、制御プログラム上において、従来の動作制御に加えてファイル転送に係る制御をプログラムコーディングする必要があり、処理の煩雑さを軽減することができない。
【０００７】
本発明は斯かる事情に鑑みてなされたものであり、制御プログラムを大きく変更することなく、必要なファイルを外部から取得及び外部へ送付することが可能なプログラマブルコントローラを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために第１発明に係るプログラマブルコントローラは、ＣＰＵユニットと、該ＣＰＵユニットと接続された一又は複数の拡張ユニットとで構成され、ファイル転送時にＦＴＰクライアントとして機能するプログラマブルコントローラにおいて、ＦＴＰクライアントとして機能させる設定データの入力を受け付ける設定データ受付部と、入力を受け付けた設定データを記憶する設定データ記憶部と、ファイル転送時にＦＴＰクライアントとして機能させるＦＴＰクライアント機能提供部と、ＦＴＰクライアントに所定の機能を割り当てるか否かに関するフラグ情報を含む機能割当て情報を記憶する機能割当て情報記憶部と、前記フラグ情報を更新するフラグ情報更新部とを備え、前記フラグ情報更新部は、前記機能割当て情報記憶部の所定の機能ごとにフラグ情報を書き込み、前記ＦＴＰクライアント機能提供部が前記フラグ情報の書き込みを検知した場合、前記ＦＴＰクライアント機能提供部は、前記設定データ記憶部に記憶してある設定データに基づいてファイル転送を実行するようにしてあることを特徴とする。
【０００９】
ここで、機能割当て情報記憶部は、ＣＰＵユニット内の所定のメモリ領域であり、ラダープログラム等の制御プログラム上で認識することが可能な仮想的なデバイスとして割り当てられる領域で構成されていても良い。
【００１０】
また、第２発明に係るプログラマブルコントローラは、第１発明において、前記設定データは、ファイル転送の対象となるデータの取得先に関する情報を含むことを特徴とする。
【００１１】
また、第３発明に係るプログラマブルコントローラは、第１又は第２発明において、前記設定データは、ファイル転送の動作を特定する情報を含むことを特徴とする。
【００１２】
また、第４発明に係るプログラマブルコントローラは、第１乃至第３発明のいずれか１つにおいて、前記ＦＴＰクライアント機能提供部は、ファイル転送の状況を示す情報を出力する転送状況出力部を備えることを特徴とする。
【００１３】
また、第５発明に係るプログラマブルコントローラは、第４発明において、前記ＦＴＰクライアント機能提供部は、転送されるファイルのアップロード元又はダウンロード先として、前記ＣＰＵユニットの前記機能割当て情報記憶部又は着脱式のメモリカードの選択を受け付ける記憶先選択受付部を備えることを特徴とする。
【００１４】
また、第６発明に係るプログラマブルコントローラは、第１乃至第５発明のいずれか１つにおいて、前記ＦＴＰクライアント機能提供部は、ファイルのアップロード又はダウンロードの選択を受け付ける転送方向選択受付部を備えることを特徴とする。
【００１５】
また、第７発明に係るプログラマブルコントローラは、第６発明において、前記機能割当て情報記憶部に記憶してある情報がアップロード対象である場合、アップロード時にＣＳＶ形式に変換する変換部を備えることを特徴とする。
【００１６】
また、第８発明に係るプログラマブルコントローラは、第１乃至第７発明のいずれか１つにおいて、前記機能割当て情報記憶部は、前記フラグ情報更新部により更新するフラグ情報を前記ＣＰＵユニットに、その他の情報を前記拡張ユニットに、それぞれ記憶するようにしてあることを特徴とする。
【００１７】
第１発明では、ＦＴＰクライアントとして機能させる設定データの入力を受け付け、入力を受け付けた設定データを記憶しておく。ファイル転送時にＦＴＰクライアントとして機能させるＦＴＰクライアント機能提供部は、ＦＴＰクライアントに所定の機能を割り当てるか否かに関するフラグ情報を記憶する機能割当て情報記憶部を常時監視し、機能割当て情報記憶部の所定の機能ごとのフラグ情報の書き込みを検知した場合、記憶してある設定データに基づいてファイル転送を実行する。これにより、ファイル転送プログラムを別個に作成する必要がなく、フラグ情報の書き込み処理を実行する、例えば、ＣＰＵユニット内のメモリ領域に割り当てられる仮想的なデバイスを、それぞれＦＴＰクライアントのファイル転送要求、ファイル転送中断要求、ファイル転送完了応答、ファイル転送エラー応答等を示すリレーデバイス（ビットデバイス）として、転送結果、転送ステータス、転送進捗等を示すデータデバイス（ワードデバイス）として、それぞれ定義し、ラダープログラム等の制御プログラム上では、所定のリレーデバイスのフラグ情報をオン状態に更新するだけで、制御プログラムと独立に設定された設定データに基づきプログラマブルコントローラをＦＴＰクライアントとして機能させることができるので、プログラマブルコントローラ内の動作制御の汎用性を担保することができる。また、プログラマブルコントローラ側がトリガとなってファイル転送を実行することができ、現場に設置されたプログラマブルコントローラにてファイル更新、パラメータ更新等が必要になった時点で所望のファイル転送を実行することが可能となる。
【００１８】
第２発明では、設定データが、ファイル転送の対象となるデータの取得先に関する情報を含んでいるので、プログラマブルコントローラの動作を制御するプログラムとしてファイル転送プログラムを別個に作成する必要がなく、ファイル転送に必要な設定データを随時変更することが可能となる。また、プログラマブルコントローラの動作を制御するプログラムとは独立しているので、プログラマブルコントローラを停止することなく動的にファイル転送を実行することも可能となる。さらに、機能割当て情報記憶部にダウンロードするべき情報（例えば、デバイス値）をダウンロードすることができ、ＣＰＵユニットに所望の機能を割り当てることが可能となる。例えば、ＣＰＵユニットのメモリに定義されたデバイスに新たなデバイス値を書き込むことによって、ラダープログラム等の制御プログラムで実行される処理内容を変更することができる。
【００１９】
第３発明では、設定データが、ファイル転送の動作を特定する情報を含むことにより、プログラマブルコントローラの動作を制御するプログラムとしてファイル転送プログラムを別個に作成する必要がなく、フラグ情報のオン／オフ状態の設定のみでファイル転送を実行することが可能となる。
【００２０】
第４発明では、ＦＴＰクライアント機能提供部が、ファイル転送の状況を示す情報を取得することができるので、ＦＴＰクライアント機能の動作状況を容易に確認することが可能となる。
【００２１】
第５発明では、ＦＴＰクライアント機能提供部が、転送されるファイルのアップロード元又はダウンロード先として、ＣＰＵユニットの前記機能割当て情報記憶部又は着脱式のメモリカードの選択を受け付けることができるので、ＣＰＵユニットの機能割当て情報を可搬型のメモリカードからもアップロード又は可搬型のメモリカードへもダウンロードすることができる。
【００２２】
第６発明では、ＦＴＰクライアント機能提供部が、ファイルのアップロード又はダウンロードの選択を受け付けることにより、ファイル転送方向を切り替えることができ、機能割当て情報記憶部にダウンロードするべき機能割当て情報をダウンロードすることにより、ＣＰＵユニットに所望の機能を割り当てることが可能となる。
【００２３】
第７発明では、機能割当て情報記憶部に記憶されている情報（例えば、デバイス値）がアップロード対象である場合、アップロード時にデータ形式をＣＳＶ形式に変換することにより、どのような情報が記憶されているのか表形式データとして確認することが可能となる。
【００２４】
第８発明では、フラグ情報更新部により更新するフラグ情報（リレーデバイスの値）をＣＰＵユニットに、その他の情報（データデバイスの値）を拡張ユニットに、それぞれ記憶可能にしてあるので、用途に応じてファイル転送、中断等の要求に関するフラグ情報はＣＰＵユニットに、ファイル転送処理により取得した機能割当て情報は、必要とする拡張ユニットに、それぞれ記憶することも可能になる。
【発明の効果】
【００２５】
上記構成によれば、ファイル転送プログラムを別個に作成する必要がなく、フラグ情報の書き込み処理だけを実行することでプログラマブルコントローラをＦＴＰクライアントとして機能させることができるので、プログラマブルコントローラ内の動作制御の汎用性を担保することができる。また、プログラマブルコントローラ側がトリガとなってファイル転送を実行することができ、現場に設置されたプログラマブルコントローラにてファイル更新、パラメータ更新等が必要になった時点で所望のファイル転送を実行することが可能となる。
【図面の簡単な説明】
【００２６】
【図１】本発明の実施の形態に係るプログラマブルコントローラの構成を示す模式図である。
【図２】本発明の実施の形態に係るプログラマブルコントローラと接続してある演算表示装置を、ＣＰＵ等の制御部を用いて構成した場合の構成を示すブロック図である。
【図３】本発明の実施の形態に係るプログラマブルコントローラプログラムの機能を示す機能ブロック図である。
【図４】本発明の実施の形態に係るプログラマブルコントローラの演算表示装置の接続先ＦＴＰサーバ設定画面の例示図である。
【図５】本発明の実施の形態に係るプログラマブルコントローラの演算表示装置のＦＴＰファイル転送設定画面の例示図である。
【図６】本発明の実施の形態に係るプログラマブルコントローラのＦＴＰクライアント機能提供部の機能ブロック図である。
【図７】本発明の実施の形態に係るプログラマブルコントローラのＣＰＵユニットの表示機でのファイル転送進捗表示画面の例示図である。
【図８】本発明の実施の形態に係るプログラマブルコントローラのＣＰＵユニットのメモリ内に記憶されるユニット割当てテーブルのデータ構成の例示図である。
【図９】本発明の実施の形態に係るプログラマブルコントローラの機能割当て情報記憶部に記憶されるデータ構成の例示図である。
【図１０】本発明の実施の形態に係るプログラマブルコントローラのＣＰＵユニットのＣＰＵのファイル転送処理の手順を示すフローチャートである。
【図１１】本発明の実施の形態に係るプログラマブルコントローラのＣＰＵユニットのＣＰＵの図１０のステップＳ１００９での処理手順を示すフローチャートである。
【発明を実施するための形態】
【００２７】
以下、本発明の実施の形態に係るプログラマブルコントローラについて、図面に基づいて具体的に説明する。
【００２８】
図１は、本発明の実施の形態に係るプログラマブルコントローラの構成を示す模式図である。図１に示すように、プログラマブルコントローラ１は、ＣＰＵユニット２と、機能ごとに独立した複数の拡張ユニット３、３、・・・とで構成されている。拡張ユニット３、３、・・・には、機能ごとに動作を制御する対象となる被制御機器５、５、・・・が接続してあり、ラダープログラム等のシーケンシャルプログラム（以下、制御プログラム）に従って、ＣＰＵユニット２からの指令により各被制御機器５の動作を制御する。
【００２９】
ＣＰＵユニット２は、内蔵するメモリ２１に記憶してある制御プログラムに従って、接続してある拡張ユニット３、３、・・・に対して指令を送出するＣＰＵを備えている。また、拡張ユニット３、３、・・・は、ＣＰＵユニット２からの指令に従って、接続してある被制御機器５、５、・・・の動作を制御する。なお、被制御機器５、５、・・・の動作を制御するためのパラメータ情報等は、拡張ユニット３、３、・・・が内蔵するメモリ３１、３１、・・・に記憶してある。
【００３０】
演算表示装置４は、ＣＰＵユニット２とデータ通信することが可能に接続してあり、作成した制御プログラムをＣＰＵユニット２へ送信する。図２は、本発明の実施の形態に係るプログラマブルコントローラ１と接続してある演算表示装置４を、ＣＰＵ等の制御部を用いて構成した場合の構成を示すブロック図である。
【００３１】
図２に示すように本実施の形態に係る演算表示装置４は、少なくとも制御部（ＣＰＵ）４１、メモリ４２、ハードディスク等の記憶装置４３、Ｉ／Ｏインタフェース４４、ビデオインタフェース４５、通信インタフェース４６、可搬型ディスクドライブ４７及び上述したハードウェアを接続する内部バス４８で構成されている。
【００３２】
制御部４１は、内部バス４８を介して演算表示装置４の上述したようなハードウェア各部と接続されており、上述したハードウェア各部の動作を制御するとともに、記憶装置４３に記憶しているコンピュータプログラム１００に従って、種々のソフトウェア的機能を実行する。メモリ４２は、ＳＲＡＭ、ＳＤＲＡＭ等の揮発性メモリで構成され、コンピュータプログラム１００の実行時にロードモジュールが展開され、コンピュータプログラム１００の実行時に発生する一時的なデータ等を記憶する。
【００３３】
記憶装置４３は、内蔵される固定型記憶装置（ハードディスク）、ＲＯＭ等で構成されている。記憶装置４３に記憶しているコンピュータプログラム１００は、プログラム及びデータ等の情報を記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体９０から、可搬型ディスクドライブ４７によりダウンロードされ、実行時には記憶装置４３からメモリ４２へ展開して実行される。もちろん、通信インタフェース４６を介してネットワークに接続されている外部のコンピュータからダウンロードされたコンピュータプログラムであっても良い。
【００３４】
Ｉ／Ｏインタフェース４４は、キーボード４４１、マウス４４２等の入力装置と接続され、データの入力を受け付ける。また、ビデオインタフェース４５は、ＣＲＴモニタ、ＬＣＤ等の表示装置４５１と接続され、所定の画像を表示する。
【００３５】
通信インタフェース４６は内部バス４８に接続されており、インターネット、ＬＡＮ、ＷＡＮ等の外部のネットワークに接続されることにより、外部のコンピュータ等とデータ送受信することが可能となっている。また、通信線を介してＣＰＵユニット２へデータ送受信することが可能となっている。
【００３６】
図３は、本発明の実施の形態に係るプログラマブルコントローラ１の機能を示す機能ブロック図である。図３において、ＣＰＵユニット２のＣＰＵ２０は、設定データ入力受付部３０１、ＦＴＰクライアント機能提供部３０２、及びフラグ情報更新部３０３として機能する。なお、ファイル転送を実行する拡張ユニット３の各制御部（マイクロプロセッサ）がＦＴＰクライアント機能提供部３０２として機能しても良い。ＦＴＰクライアント機能提供部３０２は、ＣＰＵユニット２等に予め記憶されているＦＴＰクライアントプログラム、ＣＤ−ＲＯＭ等からインストールされるＦＴＰクライアントプログラム等をＣＰＵ２０で実行させることにより実現させても、拡張ユニット３のマイクロプロセッサ等で実行させることにより実現させても良い。
【００３７】
ＣＰＵユニット２のメモリ２１は、機能割当て情報記憶部２１１、設定データ記憶部２１２を備えており、それぞれ物理的又は論理的に区分けされた領域に設定されている。機能割当て情報記憶部２１１、３１１は、ＣＰＵユニット２のメモリ２１に備えても良く、拡張ユニット３内のメモリ３１に備えても良い。例えば、機能割当て情報記憶部２１１は、ラダープログラム８等の制御プログラム上で認識することが可能なデバイスとして、ＣＰＵユニット２のメモリ２１に割り当てられる領域である。
【００３８】
設定データ入力受付部３０１は、演算表示装置４のキーボード４４１、マウス４４２等の入力装置を用いて設定データの入力を受け付け、ファイル転送を識別する転送ＩＤに対応付けて、ＣＰＵユニット２のメモリ２１内の設定データ記憶部２１２に記憶する。記憶する設定データに含まれる情報は、例えば、ＦＴＰサーバ６を識別するためのＦＴＰサーバアドレス、ＦＴＰサーバルートフォルダ、ユーザ名、パスワード等の接続先のＦＴＰサーバ６を特定する情報を少なくとも含む。もちろん、接続先のＦＴＰサーバ６に関する情報として、タイムアウト時間、リトライ回数、リトライ間隔等に関する情報を含めても良い。
【００３９】
また、設定データにはファイル転送の動作に関する情報も含まれる。例えば転送対象となるファイル名、転送動作（アップロード又はダウンロード）、転送先フォルダ、転送元ファイル等を設定する。さらに、機能割当て情報記憶部２１１に記憶してある情報（ビットデータ、ワードデータ等のデバイス値）もファイル転送の対象とすることができ、ＣＰＵユニット２に所望の機能を割り当てることもできるし、他の装置で用いるために機能割当て情報をアップロードすることもできる。
【００４０】
設定データの入力は、演算表示装置４の表示装置４５１に表示される設定画面から受け付ける。図４は、本発明の実施の形態に係るプログラマブルコントローラ１の演算表示装置４の接続先ＦＴＰサーバ設定画面の例示図である。
【００４１】
図４に示すように、接続先ＦＴＰサーバ設定画面は、ＦＴＰサーバ６を識別するためのＦＴＰサーバ６のＩＰアドレスを設定するアドレス設定領域４０１、ＦＴＰサーバ６のルートフォルダを設定するルートフォルダ設定領域４０２、ユーザを識別するユーザＩＤを設定するユーザＩＤ設定領域４０３、及びパスワードを設定するパスワード設定領域４０４を有している。タイムアウト時間、リトライ回数、リトライ間隔等に関する情報は、詳細設定領域４０５にて設定する。
【００４２】
ファイル転送の動作についても、演算表示装置４の表示装置４５１に表示される設定画面から受け付ける。図５は、本発明の実施の形態に係るプログラマブルコントローラ１の演算表示装置４のＦＴＰファイル転送設定画面の例示図である。図５（ａ）は、ファイル転送処理を識別する転送ＩＤごとに接続先ＦＴＰサーバを設定するＦＴＰサーバ設定画面の例示図を、図５（ｂ）は、転送ＩＤごとのＦＴＰファイル転送設定画面の例示図である。
【００４３】
図５（ａ）に示すように、ＦＴＰサーバ設定画面では、接続先ＦＴＰサーバごとにファイル転送処理を識別する転送ＩＤを割り当てている。マウス４４２の操作により設定ボタン５１の選択を受け付けた場合、図５（ｂ）のＦＴＰファイル転送設定画面を表示する。
【００４４】
図５（ｂ）に示すように、ＦＴＰファイル転送設定画面では、転送ＩＤごとに転送対象がファイルであるか、ＣＰＵユニット２内のメモリ領域に割り当てられたデバイスであるか、転送動作がアップロード（ＰＵＴ）であるかダウンロード（ＧＥＴ）であるか、及び転送先フォルダ、転送元ファイルを設定する。
【００４５】
設定を受け付けたファイル転送の動作設定データは、演算表示装置４の通信インタフェース４６を介して、ＣＰＵユニット２内の設定データ入力受付部３０１へ送信される。入力受付部３０１で受信したファイル転送の動作設定データを設定データ記憶部２１２に記憶しておくことにより、ファイル転送時に詳細な設定をする必要もなく、ファイル転送プログラムを別個に作成する必要もない。
【００４６】
ＣＰＵユニット２のＣＰＵ２０は、ＣＰＵユニット２に拡張ユニット３等を介して接続される入力装置（図示せず）から入力される入力信号に基づいて、メモリ２１に記憶されている制御プログラムを実行し、拡張ユニット３等を介して接続されている被制御機器５（出力装置）の動作を制御する。すなわち、入力装置からの入力信号に基づいて、機能割当て情報記憶部２１１に記憶されている、入力装置に割り当てられた機能割当て情報（デバイス値）がオン／オフされる（例えば、ビットデバイス値が‘１’又は‘０’）。制御プログラム及び機能割当て情報のオン／オフに基づいて、ＣＰＵ２０は、出力装置に割り当てられたデバイス値をオン／オフして、動作を制御する。
【００４７】
本実施の形態では、割り当てられた機能の一つとして、ＦＴＰクライアントの動作を制御する。すなわち、ＦＴＰクライアント機能提供部３０２を用いて、プログラマブルコントローラ１をＦＴＰクライアントとして機能させる。図６は、本発明の実施の形態に係るプログラマブルコントローラ１のＦＴＰクライアント機能提供部３０２の機能ブロック図である。
【００４８】
ＦＴＰクライアント機能提供部３０２のフラグ情報監視部３２１は、ＣＰＵユニット２のメモリ２１内の機能割当て情報記憶部２１１を適時監視し、フラグ情報（例えばビットデバイス値）が更新されたか否か、すなわちフラグ情報がオン状態に更新されたか否かを検知する。フラグ情報がオン状態に更新されたことを検知した場合、ファイル転送実行部３２２を起動する。
【００４９】
機能割当て情報記憶部２１１には、転送ＩＤごとに、転送要求であるか否かを示すフラグ情報、中断要求であるか否かを示すフラグ情報、完了応答であるか否かを示すフラグ情報、エラー応答であるか否かを示すフラグ情報等が記憶してある（例えば、転送ＩＤごとに各種フラグ情報を示すデバイスが割り当てられる）。例えば転送要求であるか否かを示すフラグ情報がオン状態に更新されたことをフラグ情報監視部３２１が検知した場合、ファイル転送実行部３２２は、対応する転送ＩＤの設定データを設定データ記憶部２１２から読み出し、ファイル転送を実行する。設定データ記憶部２１２には、転送ＩＤごとに転送動作がアップロード（ＰＵＴ）であるかダウンロード（ＧＥＴ）であるかに関する設定データを記憶してあるので、読み出した設定データに応じて、機能割当て情報記憶部２１１に記憶してある情報（例えば、ワードデバイス値）、メモリカード７に記憶してあるファイル等をアップロード又はダウンロードする。
【００５０】
転送状況出力部３２３は、ＦＴＰサーバ６との間でのファイル転送処理の進捗に関する情報を機能割当て情報記憶部２１１に割り当てられる転送結果、転送ステータス、転送進捗等を示すデータデバイス（ワードデバイス）を介して、ＣＰＵユニット２の表示機９又は演算表示装置４へ出力する。例えば転送ＩＤごとの転送結果を示す数字コード、転送ＩＤごとに転送中である、リトライ待ちである等の転送状況を示す数字コード、転送ＩＤごとにファイル転送処理の進捗度合を百分率で示す数字コード等を取得する。
【００５１】
図７は、本発明の実施の形態に係るプログラマブルコントローラ１のＣＰＵユニット２の表示機９でのファイル転送進捗表示画面の例示図である。図７に示すように、ファイル転送処理ごとの転送ＩＤを表示する転送ＩＤ表示領域７０１と、ファイル転送処理のステータスを簡易表示するステータス表示領域７０２と、ファイル転送処理のステータスをテキスト表示するテキスト表示領域７０３と、ファイル転送処理の進捗を百分率に対応するバーで表示する進捗表示領域７０４とを備えている。
【００５２】
図７の例では、転送ＩＤごとに、ステータス表示領域７０２にどのフラグ情報がオン状態であるのかをインジケータ表示している。ハッチング表示されているボタンが、オン状態であるフラグ情報を示しており、例えば転送ＩＤ‘ＩＤ０’はファイル転送処理が完了した直後の状態を、転送ＩＤ‘ＩＤ３’はファイル転送処理が完了し、全てのフラグ情報がオフ状態にクリアされた状態を、それぞれ示している。
【００５３】
一方、転送ＩＤ‘ＩＤ１’はファイル転送処理の実行指令は出されているがＦＴＰサーバ６との間でリトライ待ちの状態であることを示している。また、転送ＩＤ‘ＩＤ２’はファイル転送処理の実行途中であることを示している。
【００５４】
なお、ステータス表示領域７０２は、インジケータ表示だけではなく、フラグ情報を直接設定することができる入力機能を有していても良い。例えば表示機９をタッチディスプレイで構成しておき、表示されているボタンに指で触れることにより、対応するフラグ情報をオン／オフすることができるようにしても良い。この場合、ラダープログラム等の制御プログラムを介することなく、プログラマブルコントローラ１をＦＴＰクライアントとして機能させることが可能となる。
【００５５】
図６に戻って、転送方向選択受付部３２４は、設定データ記憶部２１２に記憶してある設定データを読み出すことで、転送ＩＤごとに転送動作がアップロード（ＰＵＴ）であるかダウンロード（ＧＥＴ）であるかの選択を受け付ける。
【００５６】
記憶先選択受付部３２５は、転送されるファイルのアップロード元又はダウンロード先として、ＣＰＵユニット２の機能割当て情報記憶部２１１又は着脱式のメモリカード７の選択を受け付ける。着脱式のメモリカード７が転送されるファイルのアップロード元又はダウンロード先として選択を受け付けた場合、事前にプログラマブルコントローラ１内に記憶してあるファイルだけでなく、外部からのファイルをアップロードの対象としたり、ダウンロードしたものを外部へ取り出したりすることが容易となる。
【００５７】
図８は、本発明の実施の形態に係るプログラマブルコントローラ１のＣＰＵユニット２のメモリ２１内に記憶するユニット割当てテーブルのデータ構成の例示図である。図８に示すように、ユニット割当てテーブルでは、ＣＰＵユニット２及びＣＰＵユニット２に接続してある拡張ユニット３、３、・・・それぞれに割り当てるメモリ領域の先頭アドレス情報を対応付けて記憶する。図８の例では、ＣＰＵユニット２の先頭アドレスが‘Ｒ３００００’であるのに対し、拡張ユニットＡでは先頭アドレスが‘Ｒ３０２００’となっており、後述する機能割当て情報のオフセットアドレスの起点となる。各拡張ユニット３に割り当てられたメモリ領域は、リレーデバイス（ビットデバイス）及びデータデバイス（ワードデバイス）で適宜構成されている。
【００５８】
図９は、本発明の実施の形態に係るプログラマブルコントローラ１の機能割当て情報記憶部２１１に記憶してあるデータ構成の例示図である。機能割当て情報記憶部２１１は、ＣＰＵユニット２のメモリ２１内に備えるが、拡張ユニット３のメモリ３１内に備えても良い。図９（ａ）は、ビット情報でオン状態であるかオフ状態であるかを識別するビット情報割当てテーブルの例示図を、図９（ｂ）は、数字コード等で状態を識別するワード情報割当てテーブルの例示図を、それぞれ示している。
【００５９】
図９（ａ）に示すように、ビット情報割当てテーブルでは、機能ごとに先頭アドレスからのオフセットアドレスが対応付けて記憶してある。ここで、オフセットアドレスが‘＋０’である場合、各拡張ユニット３での先頭アドレスであることを意味している。
【００６０】
例えば転送要求については、転送ＩＤごとに転送要求ＩＤｎ（ｎは０〜９の自然数）にオフセットアドレスが割り当てられている。フラグ情報監視部３２１は、ＣＰＵユニット２のメモリ２１内の機能割当て情報記憶部２１１を常時監視し、例えば転送要求ＩＤｎに‘１’が書き込まれたことを検知した場合、オフセットアドレスに基づいてビット情報割当てテーブルを照会することにより、どの転送ＩＤにおける転送要求であるかを特定することができる。
【００６１】
図９（ｂ）に示すように、ワード情報割当てテーブルでも同様に、機能ごとに先頭アドレスからのオフセットアドレスが対応付けて記憶してある。ここで、オフセットアドレスが‘＋０’である場合、各拡張ユニット３での先頭アドレスであることを意味している。
【００６２】
例えば転送完了については、転送ＩＤごとに転送完了ＩＤｎ（ｎは０〜９の自然数）にオフセットアドレスが割り当てられている。フラグ情報監視部３２１は、ＣＰＵユニット２のメモリ２１内の機能割当て情報記憶部２１１を常時監視し、例えば転送完了ＩＤｎに‘１’が書き込まれたことを検知した場合、オフセットアドレスに基づいてワード情報割当てテーブルを照会することにより、どの転送ＩＤにおける転送完了であるかを特定することができる。
【００６３】
図３に戻って、フラグ情報更新部３０３は、機能割当て情報記憶部２１１に記憶してあるフラグ情報であって、ＦＴＰクライアント機能提供部３０２の監視対象となっているフラグ情報のうち、所望の機能に対応するフラグ情報をオン状態に更新する。例えば、転送ＩＤごとの転送要求フラグ等に‘１’を書き込むことにより、ＦＴＰクライアント機能提供部３０２はファイル転送を開始する。
【００６４】
このように、ＣＰＵユニット２において、ファイル転送プログラムを別個に作成する必要がなく、機能割当て情報記憶部２１１に記憶してあるフラグ情報を更新する、すなわちフラグ情報をオン状態に更新するだけで、所望の転送ＩＤに対応付けて記憶してあるファイル転送を容易に実行することが可能となる。また、ファイル転送実行のトリガはＦＴＰサーバ６ではないので、所望の時点で必要なファイルについてのファイル転送を実行することが可能となる。
【００６５】
図１０は、本発明の実施の形態に係るプログラマブルコントローラ１のＣＰＵユニット２のＣＰＵ２０のファイル転送処理の手順を示すフローチャートである。図１０では、各機能を示すフラグ情報を単にフラグと表現し、機能ごとに「機能」フラグとして表現している。また、フラグ情報は、‘１’である場合はオン状態、‘０’である場合はオフ状態を意味している。
【００６６】
ＣＰＵユニット２のＣＰＵ２０は、ラダープログラム等の制御プログラムに基づき所望のファイル転送に対応する転送ＩＤについて、ファイル転送要求を示すデバイスのフラグを‘１’に更新する（ステップＳ１００１）。ＣＰＵ２０（ＦＴＰクライアント機能提供部３０２）は、ファイル転送要求を示すデバイスのフラグが‘１’（フラグ情報がオン状態）に更新された場合、対応する転送ＩＤの設定データを設定データ記憶部２１２から読み出し（ステップＳ１００２）、転送ＩＤに対応付けて設定されたファイル転送処理がアップロード処理であるか否かを判断する（ステップＳ１００３）。ＣＰＵ２０（ＦＴＰクライアント機能提供部３０２）が、アップロード処理であると判断した場合（ステップＳ１００３：ＹＥＳ）、ＣＰＵ２０（ＦＴＰクライアント機能提供部３０２）は、転送元がＣＰＵユニット２のメモリ２１（機能割当て情報記憶部２１１）であるか否かを判断する（ステップＳ１００４）。ＣＰＵ２０（ＦＴＰクライアント機能提供部３０２）が、転送元がＣＰＵユニット２のメモリ２１ではないと判断した場合（ステップＳ１００４：ＮＯ）、ＣＰＵ２０（ＦＴＰクライアント機能提供部３０２）は、メモリカード７を転送元に設定し（ステップＳ１００５）、処理をステップＳ１００９へ進める。
【００６７】
ＣＰＵ２０（ＦＴＰクライアント機能提供部３０２）は、アップロード処理ではないと判断した場合（ステップＳ１００３：ＮＯ）、ＣＰＵ２０（ＦＴＰクライアント機能提供部３０２）は、ダウンロード処理であると判断し、転送先がＣＰＵユニット２のメモリ２１（機能割当て情報記憶部２１１）であるか否かを判断する（ステップＳ１００６）。ＣＰＵ２０（ＦＴＰクライアント機能提供部３０２）は、転送先がＣＰＵユニット２のメモリ２１ではないと判断した場合（ステップＳ１００６：ＮＯ）、ＣＰＵ２０（ＦＴＰクライアント機能提供部３０２）は、メモリカード７を転送先に設定し（ステップＳ１００７）、処理をステップＳ１００９へ進める。
【００６８】
ＣＰＵ２０（ＦＴＰクライアント機能提供部３０２）は、転送元がＣＰＵユニット２のメモリ２１であると判断した場合（ステップＳ１００４：ＹＥＳ）、又は転送先がＣＰＵユニット２のメモリ２１であると判断した場合（ステップＳ１００６：ＹＥＳ）、ＣＰＵ２０は、メモリ２１を転送元又は転送先に設定し（ステップＳ１００８）、ファイル転送処理を実行する（ステップＳ１００９）。
【００６９】
図１１は、本発明の実施の形態に係るプログラマブルコントローラ１のＣＰＵユニット２のＣＰＵ２０の図１０のステップＳ１００９での処理手順を示すフローチャートである。ＣＰＵ２０（ＦＴＰクライアント機能提供部３０２）は、ファイル転送処理を開始し（ステップＳ１１０１）、ファイル転送の中断要求を示すデバイスのフラグに更新されたか否かを判断する（ステップＳ１１０２）。ＣＰＵ２０（ＦＴＰクライアント機能提供部３０２）が、ファイル転送の中断要求を示すデバイスのフラグが更新されたと判断した場合（ステップＳ１１０２：ＹＥＳ）、すなわちＣＰＵ２０によりファイル転送中断要求を示すデバイスのフラグが‘１’に更新された場合、ＣＰＵ２０（ＦＴＰクライアント機能提供部３０２）は、ファイル転送処理を中断して、処理をステップＳ１０１３へ進める。ＣＰＵ２０（ＦＴＰクライアント機能提供部３０２）が、ファイル転送の中断要求を示すデバイスのフラグが更新されていないと判断した場合（ステップＳ１１０２：ＮＯ）、ＣＰＵ２０（ＦＴＰクライアント機能提供部３０２）は、ファイル転送処理を続行して、転送結果に関する情報を取得する（ステップ１０１０）。
【００７０】
なお、ＣＰＵ２０（ＦＴＰクライアント機能提供部３０２）は、ファイル転送処理を開始した後、転送ファイルの全データサイズを転送元から取得し、転送ファイルのうち転送済みのデータサイズを逐次管理する。そして、所定のタイミングにおけるデータ転送の進捗状況（例えば、５０％完了）を、転送進捗を示すデバイスへ書き込む。表示機９は、転送進捗を示すデバイスへ書き込まれた情報に基づいて、ファイル転送処理の進捗を百分率に対応するバー等で進捗表示領域７０４に表示する。
【００７１】
また、ＣＰＵ２０（ＦＴＰクライアント機能提供部３０２）は、ファイル転送処理のステータス（例えば、転送中、リトライ間隔待ち中、停止中等）を転送ステータスを示すデータデバイス（ワードデバイス）に随時出力しても良い。表示機９は、転送ステータスを示すデバイスへ書き込まれた情報に基づいて、ファイル転送処理のステータスをステータス表示領域７０２及びテキスト表示領域７０３に表示する。
【００７２】
ＣＰＵ２０（ＦＴＰクライアント機能提供部３０２）は、ファイル転送が正常に終了したか否かを判断する（ステップＳ１０１１）。ＣＰＵ２０（ＦＴＰクライアント機能提供部３０２）が、ファイル転送が正常に終了したと判断した場合（ステップＳ１０１１：ＹＥＳ）、ＣＰＵ２０（ＦＴＰクライアント機能提供部３０２）は、ファイル転送完了応答を示すデバイスのフラグを‘１’に更新する（ステップＳ１０１２）。ＣＰＵ２０（ＦＴＰクライアント機能提供部３０２）が、ファイル転送が異常終了したと判断した場合（ステップＳ１０１１：ＮＯ）、ＣＰＵ２０（ＦＴＰクライアント機能提供部３０２）は、ファイル転送完了応答を示すデバイスの完了応答フラグを‘１’に更新するとともにファイル転送エラー応答を示すデバイスのエラー応答フラグを‘１’に更新する（ステップＳ１０１３）。なお、ファイル転送処理の終了時に、転送結果を示すデータデバイス（ワードデバイス）に、転送結果が正常であったか、異常であったか（タイムアウト、書込み失敗等の情報を含めても良い）を示す情報を記憶しても良い。
【００７３】
ＣＰＵ２０（ＦＴＰクライアント機能提供部３０２）は、完了応答フラグ又はエラー応答フラグが‘１’に更新された場合、ファイル転送処理が終了したと判断し、ファイル転送要求を示すデバイスのフラグを‘０’に更新する（ステップＳ１０１４）。ＣＰＵ２０（ＦＴＰクライアント機能提供部３０２）は、転送要求フラグが‘０’に更新された時点で、更新された完了応答フラグ及びエラー応答フラグを‘０’に更新し（ステップＳ１０１５）、処理を終了する。もちろん、転送が完了したか否かを示すフラグ情報である転送完了フラグに‘１’が記憶されているか否かによって、ファイル転送処理が終了したか否かを判断しても良い。
【００７４】
なお、上述したようにＣＰＵユニット２のＣＰＵ２０ではなく、拡張ユニット３のマイクロプロセッサが、ＦＴＰクライアント機能提供部３０２として機能しても良い。この場合、上述した図１０のＦＴＰクライアント機能提供部３０２が実行主体となっているステップの処理は、ＣＰＵユニット２のＣＰＵ２０ではなく、拡張ユニット３のマイクロプロセッサが実行することになる。
【００７５】
以上のように本実施の形態によれば、ファイル転送プログラムを別個に作成する必要がなく、フラグ情報のオン状態又はオフ状態の書き込み処理を実行するだけでプログラマブルコントローラ１をＦＴＰクライアントとして機能させることができる。したがって、プログラマブルコントローラ１内の動作制御の汎用性を担保することができる。また、プログラマブルコントローラ１側がトリガとなってファイル転送を実行することができ、現場に設置されたプログラマブルコントローラ１にてファイル更新、パラメータ更新等が必要になった時点で所望のファイル転送を実行することが可能となる。
【００７６】
なお、機能割当て情報記憶部２１１に記憶してある機能割当て情報（デバイス値）は、アップロード時にＦＴＰクライアント機能提供部３０２において設定データに基づきデバイスであるかファイルであるかを判断し、データ形式をＣＳＶ形式に変換することが好ましい。アップロードされたデバイスの内容を表形式データとして容易に確認することができるからである。この場合、メモリカード７からのファイルデータはそのまま送付される。
【００７７】
一方、転送対象としてデバイスを指定して、ＣＳＶ形式のファイルをダウンロードした場合、ＦＴＰクライアント機能提供部３０２は、ＣＳＶ形式のファイルを解釈し、当該ファイルに付加されるデバイス番号、データサイズやデータ種別（１ビットのビットデータであるか、１６ビット、３２ビット等の固定長のデータであるか、文字列であるか）等を取得して、データサイズ、データ種別等に基づいて、該当するデバイス番号に対してデータを書き込むことで、該当するデバイスの値を更新することができる。ファイルの解釈に失敗した場合は、ファイル転送に失敗したものとして、転送結果を示すデバイス等にファイル解釈に失敗した要因（フォーマットの不正、デバイス番号が割当て範囲外である等）を出力することにより、ユーザは編集することが可能なデータ形式でファイル内容の不整合の要因を特定することも可能となる。また、簡易なデータ形式であるＣＳＶ形式を採用することにより、ユーザが編集することが可能なデータ形式でのデータ転送を実現しながら、ＦＴＰクライアント機能提供部３０２における処理負荷を軽減している。
【００７８】
また、本発明は上記実施の形態に限定されるものではなく、本発明の趣旨の範囲内であれば多種の変形、置換等が可能であることは言うまでもない。例えば、機能割当て情報記憶部２１１はＣＰＵユニット２のメモリ２１内に備えることに限定されるものではなく、ＦＴＰクライアント機能提供部３０２とともにＦＴＰサーバ６とデータ送受信を行う通信ユニット等の拡張ユニット３に備えても良い。
【００７９】
この場合、機能割当て情報記憶部２１１のすべてを拡張ユニット３に備えても良いし、一部の情報をＣＰＵユニット２のメモリ２１内の機能割当て情報記憶部２１１に残し、それ以外の情報を拡張ユニット３のメモリ３１に機能割当て情報記憶部３１１に分割して記憶しても良い。例えばＣＰＵユニット２内の制御プログラム等によって、フラグ情報がオン状態又はオフ状態に更新される項目についてはＣＰＵユニット２のメモリ２１内の機能割当て情報記憶部２１１に、それ以外の数字データが書き込まれるフラグ情報は拡張ユニット３のメモリ３１内の機能割当て情報記憶部３１１に、それぞれ分割して記憶しても良い。
【符号の説明】
【００８０】
１  プログラマブルコントローラ
２  ＣＰＵユニット
３  拡張ユニット
４  演算表示装置
５  被制御機器
６  ＦＴＰサーバ
７  メモリカード
２０  ＣＰＵ
２１、３１  メモリ
２１１、３１１  機能割当て情報記憶部
２１２  設定データ記憶部
２１３  ファイル情報記憶部
【図１】
2011039643.tif 000003
【図２】
2011039643.tif 000004
【図３】
2011039643.tif 000005
【図４】
2011039643.tif 000006
【図５】
2011039643.tif 000007
【図６】
2011039643.tif 000008
【図７】
2011039643.tif 000009
【図８】
2011039643.tif 000010
【図９】
2011039643.tif 000011
【図１０】
2011039643.tif 000012
【図１１】
2011039643.tif 000013