GP-IBによる測定の省力化について

EasyGPIBとGP-IBによる測定データの取り込み

GP-IBでオシロのデータをパソコンに取ったのはいいのですが、
このようなY,Y,Y,Y,Yと言うY座標のみの
データが来てしまい、Y座標のみのデータのカンマの間にX座標を順番に
0〜500位まで挿入する必要が出て来ました。
500個位ならば手で入れろと言われそうですし、実際手入力もしましたが、
疲れてしまいますし、打ち間違いも出ますので、
精霊の方々にお伺いをしました。すると、perlを使えと言うお告げが
ありましたので、perlの本をかき集めて以下のスクリプトを作ってみました。

--------- xyxy.pl ここから ---------
        #!/usr/bin/perl
        $_=<STDIN>;
        local(@specs)=split(/,/);
        local($val);
        for ($val=1;$val<=500;$val++){
                print "$val,@specs[$val],";
        }
--------- ここまで ---------

%perl xyxy.pl < 040731.txt > 040731.out
その結果、出力に多少手を加えますが、
少しは省力化になりそうな雰囲気です。
このデータはHPGL形式を表示出来るソフトを使うと、
ちょっと手を加えるだけで
パソコン上にオシロの波形を表示できるかもしれません。

後はドローソフトでx軸y軸目盛りを入れるだけです。
御指導御鞭撻をくださった皆様に感謝いたします。

HP-GLコマンド一覧

ある人がまとめてくださったHP-GLコマンド一覧を公開します。
K氏に感謝いたします。
尚、プロッタの機種によっては使えない命令もあります。

命令

意味

AA X座標[i/sd],Y座標[i/sd],
中心角[i](,分解能[i])

中心点が絶対座標値指定で円弧を描き
ます。

AR X座標[i/sd],Y座標[i/sd],
中心角[i](,分解能[i])

中心点が相対座標値指定で円弧を描き
ます。

CA 文字セット番号[i]

代替文字セットを指定します。

CI 半径[i/sd](,分解能[i])

円を描きます。

CP 横方向の文字数[d],縦方向の文
字数[d]

指定された文字数だけペンを移動しま
す。

CS 文字セット番号[i]

標準文字セットを指定します。

DC

ディジタイズ・モードを終了させます。

DF

プロッタを標準値状態に設定します。

DI run[d],rise[d]

文字プロットの方向を絶対値で指定し
ます。

DP

ディジタイズしたい点の座標を読み取
ります。

DR run[d],rise[d]

文字プロットの方向を相対値で指定し
ます。

DT 文字[c]

文字プロット・ターミネータを指定し
ます。

EA X座標値[i/sd],Y座標値[i/sd]

絶対座標値で四角形を描きます。

ER X座標値[i/sd],Y座標値[i/sd]

相対座標値で四角形を描きます。

EW 半径[i/sd],始点角度[i],
中心角[i](,分解能)

扇形を描きます。

FT 型[i](,塗りつぶし間隔[sd]
(,角度[i]))

塗りつぶしを行ないます。

IM eマスク値[i](,sマスク値[i]
(,pマスク値[i]))

各マスクを設定します。

IN

プロッタを初期設定します。

IP P1x[i],P1y[i]
(,P2x[i],P2y[i])

スケーリング・ポイントを設定します。

IW X左下[i],Y左下[i],
X右上[i],Y右上[i]

任意に設定した領域内にプロットを制
限します。

LB 文字列[c]

文字プロットを行ないます。

LT パターン番号[i](,パターン長
[d])

実線と7種類の破線タイプを指定しま
す。

OA [iコンピュータからの応答]

現在のペンの座標と状態を出力可能に
します。

OC [i/sdコンピュータからの応答]

プロッタに送られた最後の座標値とペ
ンの状態を出力可能にします。

OD [iコンピュータからの応答]

ディジタイズした座標値とペン状態を
出力可能にします。

OE [iコンピュータからの応答]

エラー番号を出力可能にします。

OF [iコンピュータからの応答]

1mm当りのプロッタ・ユニットの数
を出力可能にします。

OH [iコンピュータからの応答]

ペンが移動出来る機械的限界領域の座
標値を出力可能にします。

OI [cコンピュータからの応答]

プロッタの機種番号を出力可能にしま
す。

OO [iコンピュータからの応答]

プロッタのオプションの状態を出力可
能にします。

OP [iコンピュータからの応答]

スケーリング・ポイントを出力可能に
します。

OS [iコンピュータからの応答]

プロッタのステータス・バイトを出力
可能にします。

OW [iコンピュータからの応答]

プロッタのウィンドウを出力可能にし
ます。

PA X座標値[i/sd],Y座標値[i/sd]
(,......)

絶対座標値でペンを移動させます。

PD (X座標値[i/sd],Y座標値[i/sd]
(,......)

ペンを下げます。

PR X座標値[i/sd],Y座標値[i/sd]
(,......)

相対座標値でペンを移動させます。

PS 用紙サイズ[i]

用紙サイズを選択します。

PT 塗りつぶし間隔

塗りつぶし間隔を指定します。

PU (X座標値[i/sd],Y座標値[i/sd]
(,......))

ペンを上げます。

RA X座標値[i/sd],Y座標値[i/sd]

絶対座標値で指定された四角形を塗り
つぶします。

RO 0または90[i]

座標系を回転します。

RR X座標値[i/sd],Y座標値[i/sd]

相対座標値で指定された四角形を塗り
つぶします。

SA

代替文字セットで文字プロットを行う
ようにします。

SC Xmin[i],Xmax[i],
Ymin[i],Ymax[i]

スケーリング・ポイントにユーザ・ユ
ニットの値を割り当てます。

SI 文字の幅[d],文字の高さ[d]

絶対値で文字の大きさを指定します。

SL tanθ[d]

文字の傾きを指定します。

SM 文字[c]

各プロット点に文字をプロットします。

SP ペン格納場所番号[i]

指定されたペンを取り出します。

SR 文字の幅[d],文字の高さ[d]

相対値で文字の大きさを指定します。

SS

標準文字セットで文字プロットを行う
ようにします。

TL 正方向の目盛長[d]
(,負方向の目盛長[d])

座標軸の目盛の長さを指定します。

UC (ペン・コントロール値[i],)
X増分[i],Y増分[i],
ペン・コントロール値(,X増分,
Y増分,......,......)

任意文字をプロットします。

VS ペン速度[d]

プロット速度を指定します。

WG 半径[i/sd],始点角度[i],
中心角度[i](,分解能[i])

扇形の塗りつぶしを行ないます。

XT

X軸に目盛をプロットします。

YT

Y軸に目盛をプロットします。

LO

文字列の作図開始位置を指定します。

OY

Syntax Errorが発生した時、発生コマ
ンドを含む前16文字目までのData
Stringを返します。

OZ

Data Stream中にOZが含まれていると
その前の14文字目までのData Stream
を返します。

AP

オートペンアップにします。

XA

X座標軸の作図をします。

YA

Y座標軸の作図をします。

GR

グラフプロットをします。


トップページへ


メールはこちらまで

NIFTY ID:RXS02316@nifty.com