CPU用受信バッファの設定

プログラム制御通信の場合、受信バッファをDTメモリエリアに指定する必要があります。最大エリアは16384ワードです。以下の項目を設定します:

  1. 先頭アドレス

  2. 受信バッファの容量(ワード数)

受信バッファの割り付け

  1.  (1) 先頭アドレス
  2.  (2) 受信バイト数格納エリア
  3.  (3) 受信データ格納エリア
  4.  (4) 容量

太字は、受信順序を示しています。受信データは受信バッファに格納されます。始端コードと終端コードは、受信バッファに格納されません。受信するデータの格納エリアは、受信バッファの第2ワード(オフセット1)が先頭アドレスになります。オフセット0には、受信したバイト数が格納されます。オフセット0の初期値は0です。

  1. ナビゲータの「PLC」をダブルクリックする。
  2. 「システムレジスタ」をダブルクリックする。
  3. 「シリアルポート」をダブルクリックする。

    通信ポートは同じシステムレジスタの異なるビット位置を占有するため、各通信ポートの個別の設定が可能です。ツールポートの設定を行うには、「システムレジスタ」 > 「シリアルポート」 > 「ツール」を選択します。システムレジスタの番号は、使用するPLC機種により異なります。
注記

受信バッファのデータを使用するときには、同じ先頭アドレスと容量を持つグローバル変数を定義してください。ただし、FP7およびMCU増設ユニットには、そのような対応するDTレジスタアドレスはありません。受信バッファからPLCデータレジスタにデータを転送するには、ReceiveDataを使用します

関連トピック

受信バッファのデータの処理および次のデータを受信するためのCPUの準備

COMポート1を介して、文字"ABCDEFGH"を含む8バイトの文字列を受信します。文字は、始端コードと終端コードなしで、ASCII HEXコードで格納されます。

  1.  (1) 「受信完了」フラグ
  2.  (2) 実行条件
  3.  (3) 受信開始
  4.  (4)  受信続行
  5.  (5) F159_MTRN (n_Number=0)の実行

受信バッファの割り付け

受信が始まるとき、オフセット0の値は0です。受信の終端では、"offset 0"の値は、"8"です。オフセット1~オフセット4のデータが、順番に下位バイトから受信されます。

システムレジスタ設定

受信バッファのデータを使用するときには、同じ先頭アドレスと容量を持つグローバル変数を定義してください。この例では、先頭アドレスがDT200 (VAR_GLOBALDT200_awReceivedBuffer)で、受信バッファの容量は5 (ARRAY [0..4] OF WORD)です。

グローバル変数リスト

POUヘッダとLDボディ

STボディ

"受信完了"フラグがFALSEのとき、外部機器からデータを受信することができます。「受信完了」フラグは、システム変数sys_bIsComPort1ReceptionDoneによって確認することができます。データの受信が完了したとき(終端コードが受信されたとき)、「受信完了」フラグがTRUEになり、続くデータの受信を禁止されます。直ちに次のデータを送信することなく次のデータを受信するには、n_Number = 0でF159_MTRNを実行し、受信バッファをリセットします。

注記
  • 受信バイト数は、スキャンタイム内にも変化します。例えば、受信バイト数が2回以上読み出された場合、1スキャン内で異なる状態が存在することがあります。
  • 始端コード"STX"は、受信バッファをリセットします。

最終修正日: 2024-07-16このページに関するフィードバックお問い合わせ窓口