ダウンロード

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