Print #
指定されたファイル, 通信ポート, データベースまたはデバイスにデータを出力します。
書式
Print #ポート番号, 出力データ [ ,出力データ... ][ , ]
パラメーター
- ポート番号
- ファイル, 通信ポート, データベースまたはデバイスを示すID番号です。ファイル番号は、ROpen, WOpen, AOpen などのステートメントで指定した番号です。通信ポート番号はOpenCom (RS-232C)またはOpenNet (TCP/IP)ステートメントで指定した番号です。データベース番号は、OpenDBステートメントで指定した番号です。
デバイスIDは以下の数値です。- 21 RC+
- 24 TP (TP1のみ)
- 20 TP3
- 出力データ...
- 数値、あるいは文字列を指定します。
- , (カンマ)
- ステートメントの終わりにカンマがあると、改行されません。省略可能です。
解説
Print # は、ポート番号で指定された通信ポートまたはデバイスに、変数データ, 数値, あるいは文字列を出力します。
注意
使用可能なコントローラーについて
T/VTシリーズでは、コントローラーのRS-232Cポートを指定した場合、動作時エラーとなります。
最大データ長
- 最大データ長
本命令が一度にあつかえる最大データ長は、256 Byteです。ただし、データベースが対象の場合は、4096 Byteが最大データ長になります。通信ポート(TCP/IP)が対象の場合は、1024 Byteが最大データ長になります。
他のコントローラーと変数のやりとりをする場合
複数の文字列変数、および、数値変数と文字列変数の両方を指定するときには、文字列データはデリミター (",")を明示的に追加する必要があります。
[コントローラー間で、通信ポートを使って文字列変数, 数値変数をやりとりする例]
送信側 (どちらのパターンでもOKです。)
Print #PortNum, "$Status,", InData, OutData Print #PortNum, "$Status", ",",InData, OutData受信側
Input #PortNum, Response$, InData, OutDataファイルへの書き込みはバッファリングされます
バッファリングされたデータはFlushステートメントで書き込むことができます。Closeステートメントでファイルを閉じた場合も書き込まれます。
Print #命令は、Wait命令、または、動作命令と一緒に使用してください
ループ文の中でPrint #命令だけを使用しないでくださいループ文の中でPrint #命令だけを使用すると、コントローラーがハングアップ状態になる場合があります。
コントローラーの負荷状態によってはWait命令、または、動作命令を使用していても、情報が正しく表示されない場合があります。出力先がTP1の場合は、Wait時間を1 (秒)以上、その他の場合は、0.1 (秒)以上設けてください。
悪い例
Do Print #24,"1234" Loop良い例
Do Print #24,"1234" Wait 1 Loop
参照
Input#, Print, Write, WriteBin
Print #使用例
Print # を使った簡単な例です。
Function printex
String temp$
Print #1, "5" ' "5"をポート1に出力 temp$ = "hello"
Print #1, temp$
Print #2, temp$
Print #1 " Next message for " + Chr$(34) + "port 1" + Chr$(34)
Print #2 " Next message for " + Chr$(34) + "port 2" + Chr$(34)
Fend