スクリプトガイド > JMPの拡張 > Windows上でのリアルタイムのデータ取得 > メッセージつきデータフィードの制御
公開日: 09/19/2023

メッセージつきデータフィードの制御

データフィードオブジェクトは、ConnectSet Scriptなどのいくつかのメッセージに応答します。これらのメッセージは、Open Datafeed()の引数としてすでに説明しましたが、既存のデータフィードオブジェクトにメッセージとして送ることもできます。

feed << Connect( port( "com1:" ), baud( 4800 ), databits( 7 ), parity( odd ), stopbits( 2 ) );
feed << Set Script( myScript );

以下で説明するメッセージはOn Datafeed()の引数としても使用できます。ただし、既存のデータフィードオブジェクトへメッセージとして送る方がより一般的です。

スクリプトでデータフィードへデータラインを送ることもできます。この方法により、データフィードをすぐに検証できます。デバイスがない場合はデータを受け取れませんが、Queue Lineを使えば、データの取得をシミュレートできます。引数には、テキスト、または、テキストを格納するグローバル変数を指定してください。

feed << Queue Line( "14" );
feed << Queue Line( myValue );

以下は5行のデータを待機させるテストです。

feed << Queue Line( "11" );
feed << Queue Line( "22" );
feed << Queue Line( "33" );
feed << Queue Line( "44" );
feed << Queue Line( "55" );

図14.2 データフィード: キューに5個の行 

データフィード: キューに5個の行

キューにある最初の行を取得するには、Get Line(単数形であることに注意)メッセージを使います。行を取得すると、その行はキューから削除されます。上のテスト用スクリプトでは5つのデータがキューに入れられています。Get Lineは最初のラインを取得した上で、それをキューから削除します。

feed << Get Line

"11"

図14.3 データフィード: キューに4個の行 

データフィード: キューに4個の行

データをすべてリストに移し、キューを空にするにはGet Lines(複数形であることに注意)を使います。
例では、テスト用スクリプトから次の4行を{ }形式のリストで戻します。

myList = feed << GetLines;

{ "22", "33", "44", "55" }

図14.4 データフィード: キューに0個の行 

データフィード: キューに0個の行

キューにあるデータの処理を停止し、後で再開するには、データフィードウィンドウの[停止]ボタンおよび[再開]ボタンをクリックするか、または同じ機能を持つ次のメッセージを送ります。

feed << Stop;
feed << Restart;

データフィードとそのウィンドウを閉じるには、次のメッセージを送ります。

feed << Close;

ライブデータソースからの接続を切断するには、次のメッセージを送ります。

feed << Disconnect

表14.1 データフィードへのメッセージ

メッセージ

構文

説明

Open Datafeed

Datafeed

feed = Open Datafeed( commands )

データフィードオブジェクトを作成する。以下のメッセージはいずれも、Open Datafeed内のコマンド、または、既存のデータフィードオブジェクトに送るメッセージとして使用できます。Datafeedは同義語です。

Set Script

feed << Set Script( script )

データラインが届くたびに実行されるスクリプト(script)を設定する。

Get Line

feed << Get Line

データフィードのキューの中から1ラインのデータを戻し、削除する。

Get Lines

feed << Get Lines

データフィードのキューのデータすべてをリストにして戻し、削除する。

Queue Line

feed << Queue Line( string )

データフィードのキューの最後へ1ラインのデータ送る。

Stop

feed << Stop

データラインへの処理を停止する。

Restart

feed << Restart

データラインへの処理を再開する。

Close

feed << Close

データフィードオブジェクトとそのウィンドウを閉じる。

Connect

feed << Connect(

Port( "com1:" | "lpt1:" | ... ),

Baud( 9600 | 4800 | ... ),

Data Bits( 8 | 7 ),

Parity( None | Odd | Even ),

Stop Bits( 1 | 0 | 2 ),

DTR_DSR( 0 | 1 ),

RTS_CTS( 0 | 1 ),

XON_XOFF( 1 | 0 )

)

(Windowsのみ)デバイスに接続するために、ポートの設定を行う。引数の間にある記号「|」は「または」を意味し、設定ごとにどれか1つの引数を選びます。

Disconnect

feed << Disconnect

(Windowsのみ)データフィードのキューとデバイスとの接続を切断する。ただし、データフィードオブジェクトはアクティブのまま。

より詳細な情報が必要な場合や、質問があるときは、JMPユーザーコミュニティで答えを見つけましょう (community.jmp.com).