(57)【要約】【課題】  ＦＴＰクライアント側のみのプログラミングで、ＦＴＰサーバに対するデータ書き込み及び読み出し処理が完結するプログラマブルコントローラを提供する。【解決手段】    ＦＴＰクライアント機能を備えた外部コンピュータによるファイル書き込み又は読み出しを行うＦＴＰサーバ機能を備えたプログラマブルコントローラにおいて、ＦＴＰコマンドライン内の所定パラメータを前記プログラマブルコントローラによるアクセス対象のＰＬＣメモリに対するアクセス実行命令として識別するコマンド認識手段と、前記コマンド認識手段の識別結果に基づき前記ＰＬＣメモリについて所定位置から所定ワード数の読み出しまたは書き込みを実行するデータ／ファイル変換手段と、前記データ／ファイル変換手段の実行結果について成否を送信する結果送信手段を備えた。【選択図】                    図１
2006106999.tif 000002
【特許請求の範囲】
【請求項１】
ＦＴＰクライアント機能を備えた外部コンピュータによるファイル書き込み又は読み出しを行うＦＴＰサーバ機能を備えたプログラマブルコントローラにおいて、
ＦＴＰコマンドライン内の所定パラメータを前記プログラマブルコントローラによるアクセス対象のＰＬＣメモリに対するアクセス実行命令として識別するコマンド認識手段と、
前記コマンド認識手段の識別結果に基づき前記ＰＬＣメモリについて所定位置から所定ワード数の読み出しまたは書き込みを実行するデータ／ファイル変換手段と、
前記データ／ファイル変換手段の実行結果について成否を送信する結果送信手段と、
を備えたことを特徴とするプログラマブルコントローラ。
【請求項２】
前記所定パラメータは、要求内容、前記ＰＬＣメモリ上のアクセス開始位置、転送するデータ総量、転送データのフォーマット情報を少なくとも含むことを特徴とする請求項１に記載のプログラマブルコントローラ。
【請求項３】
前記コマンド認識手段は、前記ＦＴＰコマンドラインとしてＰＵＴコマンド及びＧＥＴコマンドを用いることを特徴とする請求項１及び請求項２に記載のプログラマブルコントローラ。
【請求項４】
前記コマンド認識手段は、予め実装されたシステムプログラム内に備えたことを特徴とする請求項１から請求項３までに記載のプログラマブルコントローラ。
【請求項５】
前記メモリアクセス手段は、予め実装済みのシステムプログラム内に備えたことを特徴とする請求項１に記載のプログラマブルコントローラ。
【請求項６】
前記結果送信手段は、予め実装済みのシステムプログラム内に備えたことを特徴とする請求項１に記載のプログラマブルコントローラ。
【請求項７】
前記結果送信手段は、前記ファイル書き込み又はファイル読み出し結果について前記ＰＵＴコマンド又は前記ＧＴＴコマンドに対するレスポンスコードを用いて前記外部コンピュータに通知することを特徴とする請求項１に記載のプログラマブルコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ機能としてファイル転送プロトコル（以下、ＦＴＰと記す）スタックを備えたプログラマブル・ロジック・コントローラ（以下はＰＬＣと記す）に関する。
【背景技術】
【０００２】
ＰＬＣは、ＦＡシステムに代表される制御対象システムと接続して各種センサの計測値や現場の運転稼動状況の入力情報に基づき、実装されているストアードプログラムを繰り返し演算することで出力機器へ制御命令を送信する。
【０００３】
ところでＰＬＣは、一般にユーザプログラムやシステムプログラムの実行処理及び入出力データの更新処理などを担うＣＰＵモジュールと、制御対象システムとの間で入出力信号の授受を行うＩＯモジュール等から構成されている。
さらに同一のＰＬＣを構成する各構成モジュール間は、内部通信バスを介して電気的、機械的にそれぞれの構成モジュール同士を接続している。
【０００４】
特にＣＰＵモジュールを始め一部の高機能ＩＯモジュールでは、内部にＰＬＣメモリと称するユーザプログラム領域のメモリ空間を備え、ユーザプログラムの実行の他にも統計データやモニタ情報として現行のシステム稼動状況を監視するパラメータやデータ格納、状態テーブルの参照用ポートなどに使用される。
【０００５】
また同時にこの種のモジュールには、外部コンピュータとファイルの送受を行うＦＴＰサーバ機能も併せて備えられている。すなわち、ＰＬＣメモリに対するユーザプログラムの新規ロードや追加ロード、或いはＰＬＣメモリの所定領域に割り当てた監視パラメータや状態テーブル更新値の定期的な読み出しなどの管理データ取得の必要から、外部コンピュータとの間で双方向でのデータ転送やファイル転送が常時実施されている。
【０００６】
この様な外部コンピュータによるＰＬＣ内部メモリに対するリモートアクセスは、稼動中のＰＬＣは勿論、定期メンテナンスに際しても重要なアプリケーションであり、近年は特にＰＬＣの高性能化、管理対象システムの大規模化に伴いＰＬＣとの間でやり取りされる双方向のデータ量とその通信頻度は近年増大傾向にある。
【０００７】
図４は、ＰＬＣと外部コンピュータ間でのファイルの送受信を実施する場合の従来技術による構成例を示している。ＰＬＣと外部コンピュータの間は、ファイル転送プロトコル（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ：以下、ＦＴＰと記す）を使用している。
【０００８】
図４においてシステムプログラム６はＦＴＰサーバ１１を含んで、処理プログラム２を介してＰＬＣメモリ１と接続している。ＦＴＰサーバ１１はＦＴＰコマンド送受と、転送データＴＲＤとを介して外部コンピュータ３との間でコネクションが確立されている。
【０００９】
外部コンピュータ３側でＦＴＰプロトコルによるコントロールコネクション及びデータコネクションはＦＴＰクライアントによって終端されている。さらに外部コンピュータ３は別のアプリケーションソフトとして処理プログラム１（７）、追加プロトコル９を更に実装している。
【００１０】
ＰＬＣでは、システムプログラム６と処理プログラム２がシステム記憶手段２にロードされ処理プログラム２はＰＬＣメモリ１に対するアクセス制御を行う、データ／ファイル変換手段１０及び結果通知手段８を備えている。
【００１１】
図示していないＰＬＣ内部のＣＰＵがソフトウェアである処理プログラム２を実行することでデータ／ファイル変換手段１０及び結果通知手段８を実現している。また図４中では、ＰＬＣメモリ１に対する読み出し、書き込み操作を直接実行するアクセス制御手段例えばメモリコントローラ等のハードウエア資源については図示を省略している。
【００１２】
次に図４の従来技術によるファイル転送の動作について図５を用いて説明する。
図５は、図４に対応するファイル転送形態によるファイル転送実行例のダイヤグラムを示している。図５はコントロールコネクション設定の開始からデータコネクションリンクの確立までに至る手順、例えばソケットオープン、ポート指定、認証などの前置き過程は省略している。
【００１３】
このためファイル転送を実行するデータコネクションによる、ファイル転送開始から終了に至るまでのＦＴＰサーバとクライアント間で交わされる通信手順の例を示している。
【００１４】
外部コンピュータ３から任意アドレス任意データ数のファイルをＰＬＣメモリ１に書き込む場合は、ＦＴＰプロトコルのＰＵＴコマンドを用いる。一方、外部コンピュータ３によって任意アドレス任意データ数のデータをＰＬＣメモリ１から読み出す場合は、ＧＥＴコマンドを用いる。
【００１５】
転送データＴＲＤは、ＧＥＴコマンドのときＰＬＣから外部コンピュータ３方向に転送され、ＰＵＴコマンドのとき外部コンピュータ３からＰＬＣ側への転送方向となる。
【００１６】
ＦＴＰクライアントである外部コンピュータ３が、ＰＬＣメモリ１を対象とした書き込み操作を実行する場合、書き込み対象データを格納したデータファイルをＦＴＰプロトコルのＰＵＴコマンドのパラメータに添付してＰＬＣへ送信する。
【００１７】
ＰＬＣ側の第２処理プログラム２００では、このデータファイルの受信を検知すると、データ／ファイル変換手段１０によってデータファイルをＰＬＣメモリ１の実アドレス値に変換する。さらにデータ／ファイル変換手段１０では、データファイルに含まれている書き込みデータを取り出してＰＬＣメモリ１上に書き込み操作を実行する。
【００１８】
実行結果については、第２処理プログラム２００内の結果通知手段８が結果ファイルを完成させて所定のディレクトリに格納する。一般的なファイル形式としては、例えばＣＳＶ（Ｃｏｍｍａ  Ｓｅｐａｒａｔｅｄ  Ｖａｌｕｅ）形式などが用いられている。
【００１９】
一方、ＦＴＰクライアントである外部コンピュータ３が、ＰＬＣメモリ１を対象とした読み込み操作を実行する場合は、読み出し位置情報を含むリストファイルをＦＴＰプロトコルのＧＥＴコマンドのパラメータに添付してＰＬＣ側へ送信する。
【００２０】
ＰＬＣ側の第２処理プログラム２００では、このリストファイルの受信を検知すると、データ／ファイル変換手段１０によって、このリストファイルを解読し、リストファイルの指示に従いＰＬＣメモリ１を読み出しアクセスして、指定された箇所のリードデータを取得する。
【００２１】
さらにデータ／ファイル変換手段１０は、リードデータを所定のファイルに変換する。
実行結果については、第２処理プログラム２００内の結果通知手段８が結果ファイルとして完成させＰＬＣの所定のディレクトリに格納する。
【００２２】
以上の様にＰＬＣメモリ１に対する書き込み又は読み出し操作は、ＦＴＰクライアントである外部コンピュータ３の第１処理プログラム１００によって、ＦＴＰのデータコネクションのＰＵＴコマンドまたはＧＥＴコマンドを実行する。
【００２３】
ところがＦＴＰプロトコルでは、サーバであるＰＬＣ側からクライアント側である外部コンピュータ３へのメッセージを送信することができない。
【００２４】
このためＰＵＴコマンド、ＧＥＴコマンド何れの操作の後でも、ＦＴＰクライアントである外部コンピュータ３側がＰＬＣ内所定のディレクトリでポーリングを実施して、更新または格納による結果ファイルの完成を検知する必要がある。
【００２５】
図５において、ＤＩＲコマンドはＦＴＰサーバ側の所定のディレクトリ内容を表示させる作用を持つ。ポーリング過程では外部コンピュータ３の処理プログラム１００が、結果ファイルの存在を確認するまで、適切な間隔のＤＩＲコマンド発行を指示する。
【００２６】
尚、図５では表示簡略化のため各ＤＩＲコマンドに対するサーバ側であるＰＬＣからのレスポンス返送の表示を省略してある。
【００２７】
これらの連続ポーリングの過程で外部コンピュータ３側の第１処理プログラム１００が結果ファイル完了を確認すると、第１処理プログラム１００では、ＧＥＴコマンド発行を指示して当該結果ファイルを外部コンピュータ３側へ転送して回収する。
【００２８】
また、結果ファイルを回収する別の方法として、ＰＬＣ側の第２処理プログラム２００内の結果通知手段８にＦＴＰプロトコル以外の追加プロトコルを実装し、結果ファイルの完成と同時に外部コンピュータ３へ通知させることができる。
【００２９】
図５は、ＦＴＰサーバ側から点線で示すＩＮＦメッセージによって結果ファイルの完成を外部コンピュータ３へ通知する例を併せて示している。
【００３０】
ＦＴＰサーバ側に属しているＰＬＣメモリに対して、読み出し及び書き込み操作の実施する過程では、図５に示す様なＦＴＰクライアント側からポーリング実行を繰り返す実装や、サーバ側の第１処理プログラム１００とクライアント側の第２処理プログラム２００の双方に追加プロトコルの実装が必要であった。
【００３１】
クライアント側から要求したＦＴＰコマンドのサーバ側での実行結果について、サーバ側が報告する結果ファイル完成を検出する手段であるポーリング、具体的には図５に示すＤＩＲコマンドの連続発行は、通信トラフィック増大をもたらしていた。
【００３２】
従来技術として例えば、下記の文献がＤＩＲコマンドの連続発行による不具合を解消する相互通信システムを開示している。
【００３３】
【特許文献１】特開２００３−００６０２９号  特許文献１の発明では、サーバマシン及びクライアントマシンから構成される相互通信システムにおいて、その双方にサーバコントロールとクライアントコントロールとを搭載している。このためサーバとクライアントの双方で、ＦＴＰコマンド発行資格が対等かつ対称形となり、サーバ側はメッセージ転送手段を獲得した結果、クライアント側による連続ポーリングの手間と通信トラフィック増大とを解消している。
【発明の開示】
【発明が解決しようとする課題】
【００３４】
ところが、特許文献１に示す発明ではＦＴＰクライアントおよびＦＴＰサーバの双方において、ＦＴＰプロトコルを二重かつ対称形に実装する必要がある。この様な実装形態では、クライアントとサーバの両方で追加プログラムを必要し、システム更新やデバッグの際にサーバとクライアント双方で同時メンテナンス作業が必要である。
【００３５】
このためシステムとしての柔軟性は乏しくなり、開発効率の著しい低下をもたらした。すなわちＰＬＣに接続する管理用の外部コンピュータは、二重化されたＦＴＰプロトコルのバージョン管理を、接続先ＰＬＣとセットで同時に行わなければならない。
【００３６】
ＦＴＰサーバ側であるＰＬＣの一般的な使用環境下では、複数かつ不特定のＰＬＣへ手近な外部コンピュータを接続する場合も多く、ユーザの手によりその都度行うＰＬＣに対するプログラミングや別プロトコルの追加実装は、ユーザの立場からすれば大きな負担となっていた。
【００３７】
更に、図４の従来例でも説明した様にＦＴＰプロトコルではサーバ側からクライアント側へメッセージを送付する手段が存在しないことから、ＰＬＣメモリへの読み出し及び書き込み操作の過程では、図５に示す様なＦＴＰクライアント側から連続ポーリング実行を繰り返す実装や、第１処理プログラム１００と第２処理プログラム２００の様にサーバ側とクライアント側の双方でそれぞれ別にユーザプログラムを必要としていた。
【００３８】
従って本発明が解決しようとする課題は、ＦＴＰクライアント側のみのプログラミングでＦＴＰサーバに対するデータ書き込み及び読み出し処理が完結するプログラマブルコントローラを提供することである。
【課題を解決するための手段】
【００３９】
このような課題を達成するために本発明のうち請求項１に記載の発明は、ＦＴＰクライアント機能を備えた外部コンピュータによるファイル書き込み又は読み出しを行うＦＴＰサーバ機能を備えたプログラマブルコントローラにおいて、ＦＴＰコマンドライン内の所定パラメータを前記プログラマブルコントローラによるアクセス対象のＰＬＣメモリに対するアクセス実行命令として識別するコマンド認識手段と、前記コマンド認識手段の識別結果に基づき前記ＰＬＣメモリについて所定位置から所定ワード数の読み出しまたは書き込みを実行するデータ／ファイル変換手段と、前記データ／ファイル変換手段の実行結果について成否を送信する結果送信手段と、を備えたことを特徴とするプログラマブルコントローラである。
【００４０】
プログラマブルコントローラが、このようなコマンド識別手段を備えることによって、ＦＴＰクライアントが発行する一回のＦＴＰコマンド発行ラインでＰＬＣメモリ内の所望アドレス及びデータ量を指定したアクセスを実行させることができる。また結果送信手段は、アクセス結果についてクライアント側に応答を返すことにより、ＦＴＰクライアント側からのポーリング実施や別途プロトコルを追加する必要が無い。このため、通信ネットワークのトラフィックを増加させることなく、外部コンピュータ側の負荷を低減できる。
【００４１】
請求項２記載の発明は、請求項１記載のプログラマブルコントローラであって、前記所定パラメータは、要求内容、前記ＰＬＣメモリ上のアクセス開始位置、転送するデータ総量、転送データのフォーマット情報を少なくとも含むことを特徴とする。
【００４２】
この請求項２の発明によれば、ＦＴＰクライアントが発行するＦＴＰコマンド内の一回分のパラメータで、ＰＬＣメモリに対する所望のアクセス操作の指示を完結することができる。
【００４３】
請求項３記載の発明は、請求項１及び請求項２記載のプログラマブルコントローラであって、前記コマンド認識手段は、前記ＦＴＰコマンドラインとしてＰＵＴコマンド及びＧＥＴコマンドを用いることを特徴とする。
【００４４】
この請求項３の発明によれば、ＦＴＰプロトコルのデータコネクション上のみで所定のＰＬＣメモリに対するアクセスを実施できる。
【００４５】
請求項４記載の発明は、請求項１から請求項３までに記載のプログラマブルコントローラあって、前記コマンド認識手段は、予め実装されたシステムプログラム内に備えたことを特徴とする。
【００４６】
この請求項４の発明によれば、ＰＬＣメモリに対するＦＴＰクライアントからのアクセス操作について、ＦＴＰサーバ側のシステムプログラムに予め必要な機能を実装したことによりユーザは新たにプログラミングを施す必要が無い。
【００４７】
請求項５記載の発明は、請求項１記載のプログラマブルコントローラであって前記メモリアクセス手段は、予め実装済みのシステムプログラム内に備えたことを特徴とする。
【００４８】
この請求項５の発明によれば、ＰＬＣメモリに対するＦＴＰクライアントからのアクセス操作について、ＦＴＰサーバ側のシステムプログラムに予め必要な機能を全て実装したことによりユーザは新たにプログラミングを施す必要が無い。
【００４９】
請求項６記載の発明は、請求項１に記載のプログラマブルコントローラであって、前記結果送信手段は、予め実装済みのシステムプログラム内に備えたことを特徴とする。
【００５０】
この請求項６の発明によれば、ＦＴＰサーバ側であるプログラマブルコントローラで、本来のＦＴＰサーバが備えていない、メッセージ送信機能をシステムプログラムが予め備えたことより、ＦＴＰクライアント側のポーリングの手間を省略することができる。
【００５１】
請求項７記載の発明は、請求項１に記載のプロイグラマブルコントローラであって、前記結果送信手段は、前記ファイル書き込み又はファイル読み出し結果について前記ＰＵＴコマンド又は前記ＧＴＴコマンドに対するレスポンスコードを用いて前記外部コンピュータに通知することを特徴とする。
【００５２】
この請求項７の発明によれば、ＦＴＰサーバ側からの結果応答をＦＴＰコマンドのレスポンスコードに反映することから、ＦＴＰクライアント側でＦＴＰプロトコル以外に追加プロトコルを新たに実装する必要がなく、処理プログラムを大幅に簡素化することが可能となる。
【発明の効果】
【００５３】
以上説明した様に、本発明によれば次のような効果がある。
請求項１、２，３、４、５、６及び請求項７の発明によれば、プログラマブルコントローラ内部のＰＬＣメモリに対して所望アドレス、所望データ量の書き込み操作又は読み出し操作が、ＦＴＰクライアントである外部コンピュータ側の処理プログラムのみで可能となる。
【００５４】
更には、書き込み又は読み出し操作の実行結果について、従来のＦＴＰクライアントが要していたポーリング操作が不要となる。この結果、ポーリングによる通信ネットワークのトラフィック増加を防止すると同時に、ＦＴＰクライアント側のＣＰＵパフォーマンス負荷をも低減し処理プログラムを簡素化できる。
【発明を実施するための最良の形態】
【００５５】
以下に実施例を用いて本発明を説明する。図１は本発明に係るプログラマブルコントローラの構成例を示している。
【００５６】
図１においてＰＬＣメモリ１とシステム記憶手段２は、本発明を実施したプログラマブルコントローラ内の構成要素である。メモリ等のストレージデバイスであるシステム記憶手段２にはシステムプログラム５がロードされている。さらに、システムプログラム５は図示していないＣＰＵによって実行されている。
【００５７】
システムプログラム５では、ＦＴＰサーバ４を備えて外部コンピュータ３と通信ネットワークを介して接続されている。また、ファイル／データ変換手段１０、コマンド認識手段１２、及び結果返信手段１１を備えている。
【００５８】
一方、外部コンピュータ３では、ＦＴＰクライアント機能の他に処理プログラム３００を備えている。
【００５９】
次に、図１に示す実施例の作用について図２及び図３を用いて説明する。
図２は、図１に対応する本発明の実装したプログラマブルコントローラとのファイル転送実行例のダイヤグラムを示している。
【００６０】
図２ではコントロールコネクション設定の開始からデータコネクションリンクの確立までに至る手順、例えばソケットオープン、ポート指定、認証などの前置き過程を省略し、ファイル転送を実行するデータコネクションによるファイル転送開始から終了に至るまでのサーバとクライアント間で交わされる通信手順のみを例示している。
【００６１】
ＦＴＰクライアントである外部コンピュータ３が、ＰＬＣメモリ１を対象とした書き込み操作を実行する場合、書き込み対象データを格納したデータファイルをＦＴＰプロトコルのＰＵＴコマンドのパラメータに添付してＰＬＣへ送信する。
【００６２】
ＰＬＣのシステムプログラム５内にある、ＦＴＰサーバ４とコマンド識別手段１２は、このコマンドラインを解読する。
【００６３】
図１ＣＭはＦＴＰコマンドを示し、図１ＰＲは当該コマンドラインが持つパラメータを示している。すなわちＰＵＴコマンドは、ＦＴＰサーバで終端され、このＰＵＴコマンドＣＭが持つパラメータＰＲはコマンド識別手段にて受信する。
【００６４】
一方図３Ａは、本発明のＰＵＴコマンドの書式例と実行例を示している。
図３Ａにおいて、ＰＵＴコマンド書式３０１は、先頭がコマンドＣＭであるＰＵＴ、これに続く２つのパラメータＰＲとして、第一パラメータは［ローカルｆｉｌｅ］として転送先ファイルバス、第二パラメータはリモートｆｉｌｅとして転送元ファイルパスがある。
【００６５】
これらＣＭと各ＰＲ間は１つ以上のスペースがセパレータとして置かれている。また、同一パラメータ内でのセパレータとして、図３の例では／を用いている。
【００６６】
第一パラメータには、１）要求内容、２）ＰＬＣメモリ上での書き込み開始番地、３）書き込みデータ数、４）データファイル形式がそれぞれ含まれている。
【００６７】
例えば、図３Ａ１にＰＵＴコマンド実行例として３０２、３０３、３０４を示している。ＰＵＴコマンドＣＭ３０２に続く第一パラメータＰＲ３０３では、１）要求内容の開始コードとして％を使用している。パラメータ先頭に置いたキャラクタコード％は、以下に続く文字列がＦＴＰプロトコルのコマンドラインでは使用しない特殊命令であることを示している。
【００６８】
すなわち図１のコマンド認識手段１２では、第一又は第二パラメータの先頭キャラクタに、この％を検出するとＰＬＣメモリ１に対するアクセス要求の命令と解釈する。図３Ａの例では％の直後に書き込み要求内容であることを示す記号コードｗを置いているが、省略して％のみ或いはその代替コードのみでも良い。
【００６９】
第一パラメータ３０４では、先頭の％ｗに続き２）ＰＬＣメモリ上での書き込み開始番地として０Ａ００００００ｈ番地を指定している。これに続く３）書き込みデータ数は、１２８Ｋバイト分と指定し４）データファイル形式には、ＢＩＮＡＲＹと置いてバイナリデータを指定している。
【００７０】
コマンド認識手段１２では、これらのパラメータを分析してデータ／ファイル変換手段１０にＰＬＣメモリ１に対する書き込み操作のアクセス情報として与えている。データ／ファイル変換手段１０は、これらの情報に基づきＰＬＣメモリに書き込み操作を実行する。
【００７１】
図１の実施例は、ＰＬＣメモリ１を１ワード当り４バイト幅として構成している。このため書き込みに際してＰＬＣメモリ１の０Ａ００００００ｈ番地を先頭に、０Ａ００７ＦＦＦｈ番地を末尾とした深さ３２Ｋワードの空間を対象に外部コンピュータ３から受信したデータ書き込みを実行する。
【００７２】
データ／ファイル変換手段１０は、ＰＵＴコマンド実行例の第二パラメータＰＲ３０４で指定された「ＦＣＳ＿ＣＴＲＬ＿ＭＮ１１４０３」に相当する、バイナリ形式のデータストリームを外部コンピュータ３から受信して、ＰＬＣメモリ１の前述した３２Ｋワードの空間に書き込みを実行する。
【００７３】
書き込みを終えたデータ／ファイル変換手段１０では、その結果について良否を結果送信手段１３へ提示する。尚、提示手段については図３Ｃを用いて後述する。
【００７４】
図３Ｂは、本発明のＧＥＴコマンドの書式例と実行例を示している。図３Ｂにおいて、ＧＥＴコマンド書式３０５は、先頭がコマンドＣＭであるＧＥＴ、これに続く２つのパラメータＰＲとして、第一パラメータはローカルｆｉｌｅとして転送元ファイルバス、第二パラメータは［リモートｆｉｌｅ］として転送先ファイルパスが置かれる。コマンドＣＭと各パラメータＰＲの間は、１つ以上のスペースがセパレータとして置かれている。
【００７５】
第二パラメータＰＲ３０８には、１）要求内容、２）ＰＬＣメモリ上での読み出し開始番地、３）読み出しデータ数、４）データファイル形式がそれぞれ含まれている。
【００７６】
例えば、図３ＢのＧＥＴコマンド実行例として３０６、３０７、３０８を示している。ＣＥＴコマンドＣＭ３０６と第一パラメータＰＲ３０７に続く第ニパラメータＰＲ３０８では、先頭キャラクタコードに１）要求内容の開始を示す％を使用している。
【００７７】
キャラクタコード％は、以下の文字列がＦＴＰプロトコルのコマンドラインでは使用しない特殊命令であることを示し、これは前述したＰＵＴコマンドと同等である。図３Ｂの例では％の直後に読み出し要求内容であることを示す記号ｒを置いているが、省略して％のみ或いはその代替コードのみでも良い。
【００７８】
但し、ＦＴＰプロトコルで扱わない特殊命令であるＰＬＣメモリのアクセスコマンドをＰＵＴコマンドでは第一パラメータに置いていたのに対して、ＧＥＴコマンドでは第二パラメータの位置を定位置として使用している。
【００７９】
ＧＥＴコマンド実行例の第二パラメータＰＲ３０８に％を置いた後に続く２）のＰＬＣメモリ１上での読み出し開始番地として、０Ｅ００Ｆ０００ｈ番地を指定している。続く３）書き込みデータ数は１６Ｋバイトを指定し、４）データファイル形式には、ＡＳＣＩＩと置いてテキスト形式を指定している。
【００８０】
コマンド認識手段１２では、これらのパラメータを分析してデータ／ファイル変換手段１０にＰＬＣメモリ１の書き込みアクセス情報として与えている。データ／ファイル変換手段１０では、これらの情報に基づきＰＬＣメモリに読み出し操作を実行する。
【００８１】
データ／ファイル変換手段１０では、第二パラメータのＰＲ３０８指定に従い、ＰＬＣメモリ１の０Ｅ００Ｆ０００ｈ番地を先頭に、０Ｅ００ＦＦＦＦｈ番地を末尾とした深さ４Ｋワードの空間を読み出したテキストファイルとして外部コンピュータ３側の所定の接続ポート、結果的には外部コンピュータ３の指定ディレクトリ内に転送する。
【００８２】
ＰＬＣから送信するデータの転送先として、データ／ファイル変換手段１０は、ＧＥＴコマンド実行例の第一パラメータＰＲ３０７で指定のファイル名「ＦＣＳ＿ＳＴＡＴＵＳ＿ＶＡＬ５１５」に、テキスト形式のデータストリームを送信してＰＬＣメモリ１の前述した４Ｋワードの空間の読み出しを実行する。
【００８３】
読み出しを終えたデータ／ファイル変換手段１０は、その結果について良否を結果送信手段１３へ提示する。
【００８４】
図３Ｃに、結果送信手段１３が外部コンピュータ側へ送信するレスポンスコードＲＳの形式と、実行例を示している。ＲＳ３０９は本発明の実施例が流用するＦＴＰプロトコルのレスポンスコードであり、ｘｙｚはそれぞれが算用数字に対応した３桁の数字コードであることを示している。
【００８５】
ここで[−]（ハイフン）はオプションであり、ＦＴＰクライアントである外部コンピュータ３へのレスポンスが１行で終わらない場合に、後に続く拡張行があることを示している。
【００８６】
結果送信手段１３が外部コンピュータ３へＦＴＰコマンドのレスポンスとして返信するレスポンスコードＲＳとして、ＰＬＣメモリ１に対するアクセスが正常終了した場合は、結果返信手段１１は、図３Ｃの３１０の例に示すようにｘｙｚにコード２２６置いたＲＳを返送して正常終了をクライアント側の外部コンピュータ３に報告している。
【００８７】
反対に、外部コンピュータ３からのＰＵＴまたはＧＥＴコマンドの結果が異常終了としてデータ／ファイル変換手段１０から提示があった場合、結果返信手段１１では、図３の３１１に例示する様に、ｘｙｚにコード５０１を用い４行のメッセージとしてレスポンスＲＳを帰している。
【００８８】
またこのとき、データ／ファイル変換手段１０が検出したエラー内容についてレポートする結果ファイルＥｒｒ＿ｒｅｐｏｒｔ＿０４１０９を作成し、ＰＬＣの所定のディレクトリに設置した旨を併せて表示し、ユーザ即ちコマンド発行者への便宜を図っている。
【００８９】
勿論、ＧＥＴコマンドを実行した結果の場合は、クライアントである外部コンピュータ３へ転送するＰＬＣメモリの読み出しファイルの代替ファイルとして、異常レポート報告として転送しても良い。
【００９０】
以上説明した様に、本発明によればＦＴＰのＰＵＴコマンド、ＧＥＴコマンドの返信としてＦＴＰプロトコルで必ず実施されるサーバ側からのレスポンスコードに着目し、これをサーバ側で実行された操作結果良否の通知手段として流用したことで、対応するＰＵＴコマンドとＧＥＴコマンドの双方でそれぞれ実行されたＰＬＣメモリアクセス操作に関する結果の成否報告機能を獲得した。
【００９１】
これにより従来から要していた、コマンド発行側のＦＴＰクライアント上で、サーバ側の結果成否を入手するポーリング操作や、サーバとクライアント間双方で結果報告を授受する別プロトコル追加が不要となった。
【００９２】
更にはＦＴＰのＰＵＴコマンド、ＧＥＴコマンドの第一又は第二パラメータを活用して、これに開始アドレスと転送データ数とを指定して一回のコマンドライン発行のみで所望のメモリアクセス操作指示が可能となった。
【００９３】
すなわち本発明は、ＦＴＰコマンドと対応レスポンスによる１回分のハンドシェイクだけでＦＴＰサーバであるプログラマブルコントローラ内のメモリに対して、開始アドレスと転送データ数とを指定した読み出し又は書き込み操作が実施できる。
【００９４】
これにより、ＦＴＰサーバとクライアント間の通信トラフィック量を最小限にすると共に、外部コンピュータに実装するクライアント側の処理プログラムステップ数を最小限にして簡素化した。
【００９５】
更に、ＦＴＰサーバであるＰＬＣ側では、システムプログラムに予めコマンド識別手段と結果送信手段とを内在させたので、従来から必要としていたサーバ側に対するユーザプログラミングを不要としてユーザの負担を大幅に低減させる効果を得た。
【図面の簡単な説明】
【００９６】
【図１】本発明のプログラマブルコントローラの一実施例を示す構成ブロック図である。
【図２】図１に対応する本発明のプログラマブルコントローラと外部コンピュータとの通信手順例を示す図である。
【図３】図１および図２に対応する本発明で用いるコマンドラインとその結果表示例を示す図である。
【図４】従来のプログラマブルコントローラの構成例を示すブロック図である。
【図５】図４に対応する従来のプログラマブルコントローラと外部コンピュータとの通信手順例を示す図である。
【符号の説明】
【００９７】
１  ＰＬＣメモリ
２  システム記憶手段
３  外部コンピュータ
４  ＦＴＰサーバ
５  システムプログラム
６  ＦＴＰクライアント
７  追加プロトコル
８  結果通知手段
１０  データ／ファイル変換手段
１１  結果返信手段
１２  コマンド認識手段
１００  第１処理プログラム
２００  第２処理プログラム
３００  処理プログラム
【図１】
2006106999.tif 000003
【図２】
2006106999.tif 000004
【図３】
2006106999.tif 000005
【図４】
2006106999.tif 000006
【図５】
2006106999.tif 000007