FTP 通信を 通信を利用して 利用してファイル してファイルの ファイルの送受信をする 送受信をする サンプルプログラム V1.0.0 11/09/30 1 本サンプルプログラムの概要 このサンプルプログラムは FTP 通信プロトコルを使 用して、WebVisu 画面からファイルの送信、受信を行 うサンプルプログラムです。 バスカプラ間のファイル交換及び、FTP サーバソフト を起動したパーソナルコンピュータとの通信が可能で す。 本サンプルプログラムを応用することによって、自動 的にパーソナルコンピュータへファイルを送信することが できるようになります。 2 動作環境 このサンプルプログラムは Ethernet 対応プログラマブルバスコントローラのうち、WebVisualization 対応及び FTP プロトコルをサポートしているモデルで動作することができます。 対応するバスカプラは下記の表をご参照ください。 対応バスカプラ一覧 750-880 750-881 750-882 750-841 750-871 高速 32bitCPU 搭載 Ethernet プログラマブルフィールドバスコントローラ SD カード付き 高速 32bitCPU 搭載 Ethernet プログラマブルフィールドバスコントローラ 高速 32bitCPU 搭載 Ethernet プログラマブルフィールドバスコントローラ 2 重化機能付き 32bitCPU 搭載 Ethernet プログラマブルフィールドバスコントローラ 標準タイプ 32bitCPU 搭載 Ethernet プログラマブルフィールドバスコントローラ 2 ポート付き 750-873 32bitCPU 搭載 Ethernet プログラマブルフィールドバスコントローラ RS232C ポート付き 3 必要ライブラリとプログラムのダウンロード このサンプルプログラムでは以下のライブラリファイルを使用しています。 WAGO-I/O サポートページ(http://wago.co.jp/io/)内、CoDeSys マニュアルをご確認の上、本サンプルプロ グラムおよび必要ライブラリファイルをターゲットへダウンロードしてください。 ライブラリ名称 SysLibSockets.lib WagoLibFtp.lib SysLibFile.lib ファイルの保存場所(デフォルト設定) C:\ProgramFiles\WAGOSoftware\CoDeSysV2.3\Targets\WAGO\Libraries\32_Bit C:\ProgramFiles\WAGOSoftware\CoDeSysV2.3\Targets\WAGO\Libraries\32_Bit C:\ProgramFiles\WAGOSoftware\CoDeSysV2.3\Targets\WAGO\Libraries\32_Bit 1/6 4 プログラム使用方法 本章では 2 個のプログラマブルバスカプラを使用して FTP 送信、受信をする方法を解説します。 Windows XP Professional をご利用の方は[インターネットインフォメーションサービス(IIS)]内、[FTP サービス]を インストールすることでお使いのパーソナルコンピュータを FTP サーバとすることができます。こちらの方法につきま してはネットワーク管理者の方にお問い合わせください。 4-1.ハードウェアの準備 本章でのテスト環境は図 4-1-1 のような構成で実行します。 2 台のノードをネットワークケーブルで接続し、FTP 送受信を実行するノードに本サンプルプログラムをインストー ルします。 図 4-1-1 テスト環境概略 FTP クライアント IP:192.192.10.71 Test.txt FTP_Communication_For750-881.pro 保守用 PC IP:192.192.10.200 CoDeSys を使用して ダウンロードする。 スイッチングハブ FTP サーバ IP:192.192.10.73 4-2.WebVisu 画面の説明 ダウンロードが完了した状態でインターネットエクスプローラで(http://192.192.10.71/PLC/Webvisu.htm)に アクセスをすると FTP サンプルプログラムという名称のボタンが表示され、ボタンをクリックすると FTP 送受信のサ ンプル画面が表示されます。 2/6 図 4-2-1 WebVisu 画面 ① ② ③ ④ ⑤ WebVisu 画面の各部の説明は以下の通りです。 ①FTP モード選択 FTP 通信のモードを選択します。 ファイル送信..........................FTP クライアントから FTP サーバへファイルを送信します。 ファイル受信..........................FTP サーバからファイルを受信します。 ファイル名の変更.................FTP サーバ内のファイルの名称を変更します。 ディレクトリ追加...................FTP サーバに新しくディレクトリ(フォルダ)を作成します。 ディレクトリ削除...................FTP サーバ内の対象のディレクトリ(フォルダ)を削除します。 ディレクトリ構造展開..........FTP サーバ内の選択されたディレクトリ内の内容をバスカプラ内部の ARRAY 変数に ASCII コードで展開します。 ②リモートホスト IP アドレス FTP サーバの IP アドレスを入力します。表示されたソフトウェアキーボードの表示窓部分を選択し、パーソナ ルコンピュータのキーボードから入力します。 ③ユーザ名 FTP サーバのログインユーザ名を入力します。WAGO-I/O に接続する場合は[admin](デフォルト値)を入力し ます。 匿名接続が可能な FTP サーバの場合は[anonymous]でログインすることができる場合があります。 表示されたソフトウェアキーボードの表示窓部分を選択し、パーソナルコンピュータのキーボードから入力しま す。 3/6 ④パスワード FTP サーバのパスワードを入力します。WAGO-I/O に接続する場合は[wago](デフォルト値)を入力します。 表示されたソフトウェアキーボードの表示窓部分を選択し、パーソナルコンピュータのキーボードから入力しま す。 ⑤各選択モードでの必要パラメータ この項目は選択されたモードによって可変するパラメータです。 1:ファイル送信モード時 送信元[バスコントローラ]のファイルパス\ファイル名設定.....FTP 送信をするファイルを選択します。 送信先[ネットワーク機器]のファイルパス\ファイル名............受信側のファイルパスをファイル名まで含めて入力します。 2:ファイル受信モード時 受信先[バスコントローラ]のファイルパス\ファイル名...............バスコントローラの受信したいディレクトリをファイル名まで含め て入力します。 元ファイル[ネットワーク機器]のファイルパス\ファイル名..........バスコントローラに取り込みたいファイルのディレクトリをファイル 名まで含めて入力します。 3:ファイル名の変更モード時 変更前ファイル[ネットワーク機器]のファイルパス\ファイル名...ファイル名を変更するファイルのディレクトリをファイル名まで含 めて入力します。 変更後ファイル[ネットワーク機器]のファイルパス\ファイル名...変更するファイル名をディレクトリを含めたファイル名で入力 します。 4:ディレクトリ追加モード時 新規ディレクトリ.....................................................................ネットワーク機器上に追加したいディレクトリを入力します。 一度に作成できるディレクトリは 1 階層下までとなります。 5:ディレクトリ削除モード時 削除ディレクトリ..................................................................ネットワーク機器上の削除したいディレクトリのファイルパスを 入力します。 一度に削除できるディレクトリは 1 階層までとなります。 6:ディレクトリ構造展開モード時 参照ディレクトリ[ネットワーク機器]..........................................ネットワーク機器上の参照先ファイルパスを入力します。 入力されたディレクトリ内容が DirList_ASCII(ARRAY)に 格納されます。 4/6 5 サンプルプログラム解説 5-1.FTP 通信制御プログラム(FTP[PRG])解説 ここでは、FTP[PRG]のプログラム内容について解説します。 基本動作は IP アドレス orDNS ネームでの接続先の指定 → ネットワークバイトオーダへの変換 → FTP サ ーバ接続 → FTP ログイン → 選択動作 → FTP セッションのクローズ といった順番で動作しています。 動作選択による分岐は CASE 文を使用して分岐させています。 プログラムステップ (FTP[PRG]の FTP[PRG]の内容[1] 内容[1]) [1]) プログラム処理内容の説明 0001 FTP_Visu_Control[PRG] (WebVisu 画面コントロールプログラム)の実行。 0002 FTP_Connect[FB](FTP クライアントファンクションブロック)の起動。 0004~0009 FTP 通信スタートの検知と同時に、ステータスをクリアする。 0011~0018 IP アドレス入力部のデータが IP アドレスでの入力? or DNS ネームでの入力?判別。 IP アドレス入力であれば CASE15 IP アドレスの変換へ。 DNS アドレス入力であれば CASE11 DNS サーバへ IP アドレスの問い合わせへ。 0020~0026 DNS サーバへ IP アドレスを問い合わせ。 0028~0044 CASE11 で問い合わせた IP アドレスをネットワークバイトオーダへ変更。 0046~0052 IP アドレスをファンクションブロックに渡すため、4 個のアレイデータ[Byte]へ変換。 0054~0067 FTP サーバへの接続を実行。 0068~0088 FTP サーバへのログインを実行するとともに、WebVisu で選択されたモードをもとに実行 プログラムを分岐。 0090~0103 FTP_PUT:FTP サーバへファイル送信を実行。 0105~0117 FTP_CHDIR:FTP サーバの現在のディレクトリの変更。変更が成功した場合、現在のディ レクトリ内容を習得する 0149 ステップへジャンプする。 0119~0132 FTP_RENAME:FTP サーバの対象ファイルのファイル名を変更を実行。 0134~0147 FTP_GET:FTP サーバの対象のファイルの受信を実行。 ※次項へつづく 5/6 (FTP[PRG]の FTP[PRG]の内容[2] 内容[2]) [2]) プログラム処理内容の説明 プログラムステップ ※ 前項よりつづき 0149~0163 FTP_NLIST:FTP サーバのカレントディレクトリの情報の取得を実行。 カレントディレクトリは FTP セッションを終了するとリセットされるため、必ず FTP_CHDIR で ディレクトリを選択後に実行する。 0165~0177 FTP_MKDIR:FTP サーバにディレクトリの追加を実行。 0179~0191 FTP_RMDIR:FTP サーバのディレクトリの削除を実行。 0194~0201 FTP 接続の終了を実行。 0204~0213 エラー発生時の処理を実行。 FTP 接続を終了し、エラーメッセージを表示する。 6/6
© Copyright 2024 Paperzz