(以下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ではこのような処理をどのように
すればよいのでしょうか?
宜しくお願いします。
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を外してください。
物作りや加工機の知識がありますので完成したら物凄く使いやすいものになります。
しかし、素人がソフトを組むと完成まで五年位掛かりますが頑張ってください。
私もネスティングを完成させたいと思っています。
No.2
- 回答日時:
こちらを見てトライしてみてください。
(「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/ …
No.1
- 回答日時:
回答では有りませんが。
N88ーBASICからWindowsプログラムということはPC-9801+MS-DOS⇒ ですよね。
MS-DOSはシングルタスクですが,Windowsはマルチタスクでしかもアプリケーションのバックでいろんなプログラムが勝手に動いてしまいます。
したがって高速リアルタイムの処理は非常に苦手です。
INPUTループのところで他のプログラムにCPUを取られてしまって処理が遅れると
致命的になったりしませんか。
まずその辺りから検討されると良いと思います。
余計なお世話であればごめんなさい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- その他(プログラミング・Web制作) ポケコンの文字移動が上手くできない… 3 2022/04/25 01:34
- その他(プログラミング・Web制作) pandasでまとめてインデックスを削除するにはどうすればいいですか? たとえば、以下のプログラムで 1 2022/07/31 23:09
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) VBA 請求書自動作成 3 2022/04/24 01:58
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「黒歴史」教えて下さい
- ・2024年においていきたいもの
- ・我が家のお雑煮スタイル、教えて下さい
- ・店員も客も斜め上を行くデパートの福袋
- ・食べられるかと思ったけど…ダメでした
- ・【大喜利】【投稿~12/28】こんなおせち料理は嫌だ
- ・前回の年越しの瞬間、何してた?
- ・【お題】マッチョ習字
- ・モテ期を経験した方いらっしゃいますか?
- ・一番最初にネットにつないだのはいつ?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教えて下さい
-
VBA 空白セルを削除ではない方...
-
特定のデータの抽出方法を教え...
-
配列でデータが入っている要素...
-
【エクセル】測定時間がバラバ...
-
この行は既に別のテーブルに属...
-
メモ帳(テキストデータ)をExc...
-
EXCELVBAでSQLserverからデータ...
-
プログラミング python pandas ...
-
S9タイプからXタイプにデータ...
-
CString型の文字列連結について
-
DataGridViewのデータの引渡し...
-
Accessで該当データにフラグを...
-
シリアル通信でのデータ受信
-
VBAを使ってOutlookメール本文...
-
C# ソケット通信でデータ受信時...
-
PDOオブジェクトは使い回し可能?
-
ページ数を求めたい
-
アクセス2000で画像データ...
-
モジュラス103の算出方法について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
教えて下さい
-
配列でデータが入っている要素...
-
【エクセル】測定時間がバラバ...
-
メモ帳(テキストデータ)をExc...
-
多量のSUMIF式を軽くしたい
-
EXCELVBAでSQLserverからデータ...
-
VBA 空白セルを削除ではない方...
-
VBA 円グラフ 特定条件に一致し...
-
この行は既に別のテーブルに属...
-
カンマからスラッシュに
-
[C言語] コメント文字列を無視...
-
特定のデータの抽出方法を教え...
-
<VB>String→Object
-
S9タイプからXタイプにデータ...
-
エクセルで2つの時系列のデー...
-
C# ソケット通信でデータ受信時...
-
CString型の文字列連結について
-
ユーザーフォームのテキストボ...
-
プログラミング python pandas ...
-
ページ数を求めたい
おすすめ情報