• ベストアンサー

Visual Basic によるNC機械制御

(以下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ではこのような処理をどのように  すればよいのでしょうか?  宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • tak2003
  • ベストアンサー率32% (174/540)
回答No.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を外してください。 物作りや加工機の知識がありますので完成したら物凄く使いやすいものになります。 しかし、素人がソフトを組むと完成まで五年位掛かりますが頑張ってください。 私もネスティングを完成させたいと思っています。

ka486
質問者

お礼

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

その他の回答 (2)

  • MovingWalk
  • ベストアンサー率43% (2233/5098)
回答No.2

こちらを見てトライしてみてください。 (「VBアプリ実例集(RS232C通信)2」のリンクもみてください) http://homepage2.nifty.com/kasayan/vb/vbj1.htm こちらのようなActiveXコントロールを使う方が簡単かもしれません。 http://www.vector.co.jp/soft/win95/prog/se094850.html 尚、VB6は発売が終了しましたので、これからだとVB.NETになります。 http://www.microsoft.com/japan/msdn/vs_previous/vstudio/vs6discon.htm

ka486
質問者

お礼

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

  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.1

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