食べられるかと思ったけど…ダメでした

(以下N88-Basic プログラム)

open "通信ポート設定" as #1

*INP_DAT

  if loc(1)>0 then
     DAT$=input$(1,#1)
     if DAT$<>chr$(17) then goto *INP_DAT
  else
     goto *INP_DAT
  end if

  print #1,"送信データ"
stop

*NC機からChr$(17)信号がパソコンに入り
 Chr$(17)であれば、NC機にデータを送信する
 プログラムです。(ポート設定、送信データ内容は省略)
 N88ーBASICからWindowsプログラムへ移行したいのですが、
 Visual Basicではこのような処理をどのように
 すればよいのでしょうか?
 宜しくお願いします。

A 回答 (3件)

NC工作機械との通信にVBを使うのですね。


私の会社にある自動プログラムソフトもN88からVBに移動しました。
私の会社のタレパンはFDでデータをやり取りしています。
FDの中身を覗いてみるとアマダのペガとコマはテキストデータでGコードが書かれている様です。
なのでテキストデータの入出力で考えてみました。
また、タレパンを制御しているコンソールは15年前の8ビット機くらい遅いですから、同期についてはコンソールを他のPCが待つ形になりそうです。

sub inputdata()
Dim filename as string
Dim DAT as string
filename ="通信ポート設定"
open filename for input as #1
  Do
     DAT =input (1,#1)
     if DAT=chr(17) then print #1,"送信データ":exit Do 'データ送信したらループを抜ける
loop
close #1
end sub

終了の方法がないのでデータ送信したら終わる様にしました。延々と続けたい場合はexit Doを外してください。

物作りや加工機の知識がありますので完成したら物凄く使いやすいものになります。
しかし、素人がソフトを組むと完成まで五年位掛かりますが頑張ってください。
私もネスティングを完成させたいと思っています。
    • good
    • 0
この回答へのお礼

VBを習い始めで、いろいろ苦労しています。
tak2003さんのアドバイスを参考に頑張ります。
ありがとうございました。

お礼日時:2003/07/18 08:30

こちらを見てトライしてみてください。


(「VBアプリ実例集(RS232C通信)2」のリンクもみてください)
http://homepage2.nifty.com/kasayan/vb/vbj1.htm

こちらのようなActiveXコントロールを使う方が簡単かもしれません。
http://www.vector.co.jp/soft/win95/prog/se094850 …

尚、VB6は発売が終了しましたので、これからだとVB.NETになります。
http://www.microsoft.com/japan/msdn/vs_previous/ …
    • good
    • 0
この回答へのお礼

いろいろ参考資料を見てやってみます。
ありがとうございました。

お礼日時:2003/07/18 08:34

回答では有りませんが。


N88ーBASICからWindowsプログラムということはPC-9801+MS-DOS⇒ ですよね。
MS-DOSはシングルタスクですが,Windowsはマルチタスクでしかもアプリケーションのバックでいろんなプログラムが勝手に動いてしまいます。
したがって高速リアルタイムの処理は非常に苦手です。
INPUTループのところで他のプログラムにCPUを取られてしまって処理が遅れると
致命的になったりしませんか。
まずその辺りから検討されると良いと思います。

余計なお世話であればごめんなさい。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報