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