- PR -

FTPネットワークプログラミングの基本の基本について

1
投稿者投稿内容
KamoKamo
会議室デビュー日: 2007/01/18
投稿数: 15
投稿日時: 2007-12-07 21:49
初めてこの会議室に投稿させて頂きます。自分なりに書籍類を購入して調べたり、NET上で調べまくったのですが、混乱するばかりで、藁にもすがる思いで書き込みさせて頂きます。
やりたいことは以下の通りです。
1,FTPでデータを送る機能をもった5台の計測器があります。
2,この5台の計測器を1台のPCにぶら下げて、各計測器ごとに所定のフォルダにデー  タを送りつけます。送信するタイミングは全くランダムです。
3,更にこのネットワークにもう1台コントローラをつなぎます。
4,各計測器からデータが送られてきたら、即データを加工して、コントローラに加工   データを送りつけ一定の処理をする。コントローラは待っているだけです。

これを出来ればVBとWINDOWSで実現したいのですが、どのような構成にしたらいいのでしょうか?FTPの大まかな仕組みについては調べて判ったのですが、実際にソフトウェアーを組み立てるとなるとどこから手をつけたらいいのか判りません。
データの受信はFTPサーバーにまかせて、単にデータが送られてくるフォルダを監視して、データが書き込まれたらデータを読み出すプログラムを書けば済む、というようなものでもないのですよね?それだと同じネットワークにあるコントローラとの通信をどうするのか?そもそもコントローラから要求もされていないのに、サーバー側から送りつけが出来るのか?FTPサーバーに何を使ったらいいのか?VB側からFTPサーバーを制御するのか?WINDOWS.SERVER200Xを使えばいいのか?

止めた方がいいよ!の声が聞こえてきそうですが、止めるわけにはいかないのです。
基本的なやり方をお教え願えないでしょうか?
お薦めのサイト、書籍などありましたらよろしくお願い致します。
ue
ぬし
会議室デビュー日: 2005/05/07
投稿数: 581
お住まい・勤務地: 広島市
投稿日時: 2007-12-07 23:06
こんばんは。

引用:

データの受信はFTPサーバーにまかせて、単にデータが送られてくるフォルダを監視して、データが書き込まれたらデータを読み出すプログラムを書けば済む、というようなものでもないのですよね?


それで良いのではないでしょうか。

1. FTP サーバをインストールした Windows で計測器から送信されるデータを受信する。
2. Windows に常駐させたファイル監視プログラムが受信したデータの加工(コントローラへの送信も?)を行う。

ファイルを監視するプログラムを VB.NET で書くとしたら、FileSystemWatcher クラス を利用することになると思います。

引用:

それだと同じネットワークにあるコントローラとの通信をどうするのか?そもそもコントローラから要求もされていないのに、サーバー側から送りつけが出来るのか?


ここは、KamoKamoさんの仰る「コントローラ」が何を指すのか分からないので何ともいえません。
_________________
上本亮介 (ue) @ わんくま同盟
Microsoft MVP for VSTO (Jul 2008 - Jun 2009)
Hello Another World!
.NET 勉強会 / ヒーロー島
KamoKamo
会議室デビュー日: 2007/01/18
投稿数: 15
投稿日時: 2007-12-07 23:37
ueさん早速のご教示有り難うございます。今もあちらこちら参考文献、サイトをあさっていたところです。目の前が明るくなりました。
コントローラの件ですが、PLC(シーケンサ)です。イーサネット接続可能なタイプです。まだ詳しくは、仕様を確認していないのですが。
ここのところで、疑問に思ってしまうのが次の点です。
監視プログラムがPLCへの送信中に、FTPサーバへ計測器がデータをアップしようとしたとき問題は起きないのでしょうか?監視プログラムとFTPサーバは独立して走っていることになりますので。OSが管理してくれるのでしょうか?

済みませんがよろしくお願いいたします。
れい
ぬし
会議室デビュー日: 2005/11/01
投稿数: 346
投稿日時: 2007-12-08 10:43
引用:

KamoKamoさんの書き込み (2007-12-07 23:37) より:
コントローラの件ですが、PLC(シーケンサ)です。イーサネット接続可能なタイプです。まだ詳しくは、仕様を確認していないのですが。


イーサネット接続可能なものにもいろいろあります。
それだけじゃ何をしたいのかもわかりませんよ。
HTTPでコマンドを送るものもありますし、
FTPでファイルをあげるものだってあります。

引用:

ここのところで、疑問に思ってしまうのが次の点です。
監視プログラムがPLCへの送信中に、FTPサーバへ計測器がデータをアップしようとしたとき問題は起きないのでしょうか?


作り方によっては起きる可能性があります。
ですが、この辺はソフトの問題ですから、工夫によって簡単に回避できますので
いま考えなくても大丈夫です。

おそらく今最も考えなければいけないのはシーケンサの仕様です。
それによってどういったタイミングでどのようにデータを送るか変わります。
それがわからないとフォルダの監視プログラムの構成も決定できません。

KamoKamo
会議室デビュー日: 2007/01/18
投稿数: 15
投稿日時: 2007-12-08 11:17
れい 様
有り難うございます。
確かにハードが判らず先にソフト仕様を考えるのは本末転倒ですね。
シーケンサの仕様を確認し、自分なりに構成してみてもう一度質問させて頂きます。

※親切にアドバイスして下さる皆さんほんとに有り難うございます。我々初心者には心強いものがあります。 
KamoKamo
会議室デビュー日: 2007/01/18
投稿数: 15
投稿日時: 2007-12-13 22:21
ue様、れい様お世話になります。
PLCの仕様がが判りまして、自分なりに考えたことを記します。もしご覧になってお時間ががあればまたご教授お願い致します。
1,PLCはTCP/IP上でサーバーになりPCがクライアント側になります。PCか  らのコマンドに対して、レスポンスを返します。PCからのコマンドは、PLCの   データレジスタにデータを書き込むだけです。レスポンスは当然OKかエラーかにな  ります。
2,PLCは電源投入時に自動的にクライアントからの接続待ちまで、オープン処理を実  行します。
3,PLCにコマンドを発行するタイミングは、PCに測定器からのFTPデータが書き  込まれた直後です。

以上から考えたのですが、サーバーで受信→ファイル監視プログラムでデータの読み取り→演算加工→クライアントでPLCへ送信、という具合になるのかなと思うのですが、いかがでしょうか?

れい様 書き込み引用 *****************************

  作り方によっては起きる可能性があります。
  ですが、この辺はソフトの問題ですから、工夫によって簡単に回避できますので
  いま考えなくても大丈夫です。

  おそらく今最も考えなければいけないのはシーケンサの仕様です。
  それによってどういったタイミングでどのようにデータを送るか変わります。
  それがわからないとフォルダの監視プログラムの構成も決定できません。

****************************************

上記の問題回避の方法というか考え方と、監視プログラムの構成に関して、可能な範囲で具体的なアドバイスをお願いできませんでしょうか?

まだ学習の途中で、今のところ以上のことしかお知らせできないのですが。
1

スキルアップ/キャリアアップ(JOB@IT)