街中で見かけて「グッときた人」の思い出

RS232Cインターフェースで測定器とデータ通信をしたいのですが、
(古い測定器なので)説明書にはPC9801用のサンプルプログラムしか載っていません。
WinXP機で通信したいと考えているのですが、書いてある通りにやってもうまくいきません。

何がおかしいか分からないのですが、そもそもパソコンが違うとプログラムとか設定も変わってくることはあるんでしょうか?

A 回答 (6件)

はじめまして



たとえがあまり適切ではないかもしれませんが、同じ人間でも、日本人とアメリカ人では、同じことをお願いするにも「言語」が違います。

パソコンも同様で、「PC9801」と現在の「Windowsマシン」は、言語が違うということなのです。

日本人にするように「おいでおいで」と手を振ると、欧米の人には「バイバイ」になってしまうようなこともあります。

そのようなわけで、うまくいかないのだと思います。
    • good
    • 0
この回答へのお礼

分かりやすい説明有難うございます。
そこを踏まえた上で、これから問題を解決していきたいと思います。

お礼日時:2006/10/26 13:26

>説明書にはPC9801用のサンプルプログラムしか載っていません。


どんなサンプルプログラムなのでしょうか…
PC-9801用のDOSプログラムか何かでしょうか?だとしたらAT互換機ましてやWinXPのDOS窓(コマンドプロンプト)では動かない可能性が高いと思います。もしソースコードが付属しているようならWinXPでコンパイルしてみると言うのも一つの方法ですがそれでも動かない可能性が高いと思います。(RS232Cの制御関係はPC-98とAT互換機では異なるので)

例えばサンプルプログラム以外にソースコードやRS232Cで測定機器からPCへのピンアサイン表みたいなのがありどれがどの信号を受信していると言うような情報等があれば自分でプログラムを組み直したりすることも出来るかも知れません。

この回答への補足

回答有難うございます。

サンプルプログラムは、以下の通りです。
PC9801(N88BASIC)用

10 '***Ri(mmmm,nnnn,x) COMMAND (N88BASIC) ***
20 OPEN "COM1:N81NN" AS #1
30 PRINT #1,"R1(0000,0050,A)"
40 LINE INPUT #1,RTN$
50 PRINT "R1 RETURN=";RTN$
60 CLOSE #1
70 END

このサンプルプログラムから何か分かることはあるでしょうか?

ピンアサイン表というのはこれのことでしょうか?
僕にはさっぱりなので・・・

ピン番号   信号名     機能
  1     FG(AA)   Frame GND
  2     TXD(BA)    送信データ
  3     RXD(BB)    受信データ
  4     RTS(CA)    送信要求
  5     CTS(CB)    送信可
  6     NC     NON CONNECT
  7     SG(AB)    SIGNAL GND
以下、NON CONNECT       

素人相手で申し訳ありませんが、また回答していただけると幸いです。

補足日時:2006/10/26 15:42
    • good
    • 0

現在のPCには、シリアル通信を簡単に行えるプログラム言語は付属していません。


製品ではVisualBasic6.0 か VB.NET2005 が必要です。

その測定器からのデータが、
単純なテキスト形式でどんどん送られてくるなら
ハイパーターミナルを使って取り込むことができます。
取り込んだデータをファイルに落とすことも可能です。
    • good
    • 0

http://okwave.jp/qa2480960.html
に関連した質問ですね…

私自身はN88BASICについて詳しくないので何とも言えません。
サンプルプログラムに関して詳細な説明・解説がついているようなら
別の言語で一からプログラムを作るって方法もあります。

いっそ中古でPC-98を一台買ってしまうのもが手っ取り早かったりするかも知れません。取り込んだデータはフロッピー等でWinXPのマシンに持ってくればいい事ですし。
    • good
    • 0

1番です。



まだ、ご覧になっていらっしゃるでしょうか?

10 '***Ri(mmmm,nnnn,x) COMMAND (N88BASIC) ***
20 OPEN "COM1:N81NN" AS #1
30 PRINT #1,"R1(0000,0050,A)"
40 LINE INPUT #1,RTN$
50 PRINT "R1 RETURN=";RTN$
60 CLOSE #1
70 END

なつかしいBASIC言語ですね。
10は単なる覚え書き、このプログラムの名前です
20シリアルポート1番を開きなさい
30シリアルポート1番に"R1(0000,0050,A)"というデータを送りなさい
40シリアルポート1番からの返信データを待って、そのデータをRTN$という変数に代入しなさい
50"R1 RETURN="という文字列に続けてRTN$の数値を画面に表示しなさい
60シリアルポート1番を閉じなさい
70おしまい

…という意味ですね。
"R1(0000,0050,A)"という送信データの構文はおそらくその測定器の説明書に出ていると思います。

お役に立てれば光栄です。
    • good
    • 0
この回答へのお礼

詳しい解説を有難うございます。
実は未だにうまくいかず、諦めかけてたところでした・・・

プログラムには間違いはないみたいですね。でもこれがWinXp機で動かないと言うことは、何か手を加えないといけないのですかね?
PC9801じゃないと動かないんでしょうか?
また回答頂けると幸いです。

お礼日時:2006/11/07 16:39

1番5番です。



>でもこれがWinXp機で動かないと言うことは、何か手を加えないといけないのですかね?
このプログラムをWinXPのどのアプリで動かそうとしたのですか?
これは「BASIC」という言語ですから、1番でお答えしたように当然XPでは動きません。

あとはWindows標準の「ハイパーターミナル」を使う手もあるようです。
http://kasai86.ld.infoseek.co.jp/window/hyperter …
http://www.lightstone.co.jp/products/wedge/resou …
http://www.cisco.com/japanese/warp/public/3/jp/s …

インストールされていないときはこちらをご覧下さい。
http://www-06.ibm.com/jp/domino04/pc/support/beg …

ご参考になれば幸いです。
なおこれ以上のことは当方にはわかりかねますので、御了承下さい。
    • good
    • 0

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