- ベストアンサー
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ではこのような処理をどのように すればよいのでしょうか? 宜しくお願いします。
- みんなの回答 (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を外してください。 物作りや加工機の知識がありますので完成したら物凄く使いやすいものになります。 しかし、素人がソフトを組むと完成まで五年位掛かりますが頑張ってください。 私もネスティングを完成させたいと思っています。
その他の回答 (2)
- MovingWalk
- ベストアンサー率43% (2233/5098)
こちらを見てトライしてみてください。 (「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
お礼
いろいろ参考資料を見てやってみます。 ありがとうございました。
- ymmasayan
- ベストアンサー率30% (2593/8599)
回答では有りませんが。 N88ーBASICからWindowsプログラムということはPC-9801+MS-DOS⇒ ですよね。 MS-DOSはシングルタスクですが,Windowsはマルチタスクでしかもアプリケーションのバックでいろんなプログラムが勝手に動いてしまいます。 したがって高速リアルタイムの処理は非常に苦手です。 INPUTループのところで他のプログラムにCPUを取られてしまって処理が遅れると 致命的になったりしませんか。 まずその辺りから検討されると良いと思います。 余計なお世話であればごめんなさい。
お礼
VBを習い始めで、いろいろ苦労しています。 tak2003さんのアドバイスを参考に頑張ります。 ありがとうございました。