"受信完了"フラグがFALSEのとき、外部機器からデータを受信することができます。(「受信完了」フラグは、「RUNモード」に切り替えた後、データが送信された場合、ClearReceiveBufferを実行した場合、FALSEになります。)データは、CPUまたはMCUの受信バッファで自動的に受信されます。CPUの場合、受信バッファはシステムレジスタで定義されている必要があります。受信の終了を確認したら、CPUの指定された対象領域にデータをコピーできます。
指定した時間内に追加の受信バイトがなかった場合、または命令ClearReceiveBufferを実行した場合、出力IsDoneはTRUEになります。次のデータの受信が禁止されます。F159_MTRNまたはClearReceiveBufferによって"IsDone"フラグがFALSEになります。
外部機器からのデータ受信の手順:
通信パラメータと受信バッファを設定する
必要な設定: 通信モード(プログラム制御による汎用通信)、ボーレート、通信フォーマット、受信バッファ(CPUのみ)
データを受信する。
データは、受信バッファに自動的に受信されます。受信の終端を確認する。
以下の方法の1つを使用
方法 |
コメント |
IsReceptionDone |
"受信完了"フラグの値を返します。終端コードを受信した場合にTRUEになります。 |
IsReceptionDoneByTimeOut |
終端コードが想定されていない場合のバイナリデータなど、タイムアウトによって受信の終了を確認するために使用されます。 注記 MCU:受信タイムアウトは、通信ポートのシステムレジスタに設定する必要があります。 |
sys_bIsComPort1ReceptionDone sys_bIsComPort2ReceptionDone sys_bIsToolPortReceptionDone (CPUのみ) |
これらのシステム変数は、終端コードが受信されるとTRUEになります。 |
MCUユニットX0およびX2の入力(X)フラグ(MCUのみ) |
これらのフラグを使用すると、MCUで受信の完了を確認することができます。 |
受信バッファの直接確認 |
受信バッファのデータを処理する。
以下の命令の1つを使用命令語 |
コメント |
ReceiveData |
CPUまたはMCUが受信したデータを指定した変数に自動的にコピーします。 |
ReceiveCharacters |
CPUまたはMCUが受信した文字を文字列変数に自動的に転送します。 |
F10_BKMV |
受信バッファから指定エリアにデータを転送します。ReceiveDataまたはReceiveCharactersでは不要です。 |
F161_MRCV |
MCUが受信したデータをCPUの受信バッファにコピーします。ReceiveDataまたはReceiveCharactersでは不要 |
次のデータを受信するためのCPUまたはMCUの準備
以下の命令の1つを使用
命令語 |
コメント |
ClearReceiveBuffer |
次のデータを送信すると、受信バッファは自動的にリセットされます。データを送信せずに受信バッファをリセットする場合は、これらの命令のいずれかを実行してください。 |
SendData |