6.12. シリアル通信

USBやシリアルポートといったハードウェアは、TF6340をお使いいただくことでPCのCOMポートにPLCから直接アクセスすることが可能です。

シリアルポートデバイスの扱いとライブラリ準備

TwinCATでシリアル通信を行うには、次のように3つの方式のデバイスアクセスが可能です。(参考InfoSys

PC COMポート

OS側で容易されたシリアルデバイスにアクセスすることができます。

ELターミナル

EL60xxなどのバスターミナルを通じてEtherCAT経由でシリアル通信する方法です。

仮想シリアルポート

PCIに接続されたUARTデバイスではなく、USBシリアルデバイスなど、仮想的に作成されたOS上のシリアルデバイスにアクセスすることができます。

Tip

仮想シリアルポートを作成するためには、TF6340を別途インストールする必要があります。

また、別途PLCライブラリをインストールすることでPLC上のIOデバイスとして取り扱うことができ、いったん、ComBufferという通信データバッファ構造体を経由することで、3つのデバイス方式が違っていても同じPLCプログラムロジックでデータ送受信を行うことができます。

開発手順

まずはTwinCATでシリアルポートの受信データにアクセスする物理的なIOを作成します。

参考InfoSys

この物理IOにアクセスするには、TF6340パッケージを別途インストールしていただく必要があります。パッケージマネージャからTF6340を指定してインストールを実施してください。

インストール後、PLCプロジェクトにライブラリを追加します。

参考InfoSys

このライブラリには、ComBufferという構造体が用意され、ここに蓄えられたデータをファンクションブロックを使って順次アクセスします。

参考InfoSys

このサイト例のとおりPcComInDataPcComOutDataをそれぞれ先ほど作成したIOにリンクします。

SerialLineControlというファンクションブロックが、このIOを通じて、RxBufferPcComTxBufferPcComという変数のComBuffer構造体にデータを蓄積していきます。

このComBufferを通じて、Send*** や、Receive***というファンクションブロックを使ってバッファに溜まったデータを直列化する、という流れになります。

参考InfoSys

参考InfoSys