「ソフテックだより」では、ソフトウェア開発に関する情報や開発現場における社員の取り組みなどを定期的にお知らせしています。
さまざまなテーマを取り上げていますので、他のソフテックだよりも、ぜひご覧下さい。
ソフテックだより(発行日順)のページへ
ソフテックだより 技術レポート(技術分野別)のページへ
ソフテックだより 現場の声(シーン別)のページへ
PLC(※1)を使用した通信プロトコル変換の事例をご紹介したいと思います。
今回はRS232C(※2)通信を行う機器とパソコンなどをEthernetで接続する場合にPLCを使用してどのように通信プロトコル変換を実現するかを取り上げます。
まず、プロトコルとは通信を行うための手順、規約のことで、通信手順や通信規約とも呼ばれています。
通信プロトコル変換とは、あるプロトコルを別のプロトコルに変換することです。
最近では設備のネットワーク化の動きが広がってきており、RS232C、RS422/485(※3)インターフェース等しか持たない古い機器との接続をしなければならないこともあります。
FA(※4)などの現場で使用される機器はEthernetインターフェースを持つものが増えてきましたが、まだまだRS232Cなどシリアルインターフェースしか持たない機器が多い状況です。
RS232Cインターフェースを持つ機器は多く、それらをすべてEthernetインターフェースの機器に入れ替えようとすると多くのコストがかかってしまいます。
そのようなときに通信プロトコル変換を行う機器を追加するだけで容易に異なるプロトコルを持つ機器を接続することが出来ます。
その通信プロトコル変換を実現する方法はいろいろと考えられます。
例えば、市販の通信プロトコル変換器の場合、ソフトウェアの変更ができないため特殊プロトコルに対応できません。
また、パソコンを使用した場合、ハードディスクの故障などがあるため動作の安定性に問題があります。万一パソコンが故障してしまうと復旧するまで機器の制御が出来なくなります。
動作の安定性以外にさまざまなインターフェースを組み合わせる場合などシステム構成の拡張性を考慮するとPLCを使用する方が有効と考えます。
実際に以下の構成を例にして、どのように通信プロトコル変換を実現するか説明します。
端末を制御するコントローラと、それらの設定及び監視を行うタッチパネルで構成されているシステムがありました。
図1. 現在のシステム構成
図1の構成からタッチパネルを別機種に交換することになり、さらにタッチパネルを既存のネットワークに参加させるシステムに更新します。
このとき更新対象はタッチパネルのみで、コントローラや既存のネットワーク機器は変更しないものとします。
そうした場合に以下の問題が発生します。
図2. システム更新後に通信媒体、プロトコルの問題
そこでコントローラとEthernet対応機器の間にPLCを入れ通信媒体の違いを吸収し、PLCのソフトウェアで通信データの加工を行い、通信プロトコル変換を行います。
図3. PLCを使用した通信プロトコル変換
図3のように、シリアルユニットとコントローラを接続し、EthernetユニットとEthernet対応機器を接続することでコントローラとパソコンなどが通信できる環境ができあがります。
PLCでは通信プロトコル変換をするためのソフトウェアが必要になります。ソフトウェアはラダーで作成します。
ソフトウェアは、RS232C通信をするためのプログラムとEthernet通信をするためのプログラムが必要になります。
RS232Cプログラムでは、シリアルユニットの初期化、データの送受信処理を行います。データの送受信においてプログラムではシリアルユニットとのハンドシェークが必要で、送信データをセット、受信データを取り出した後などはシリアルユニットに対してその作業が終わったことを通知しています。
Ethernet通信プログラムではソケット通信を行っており、Ethernetユニットの初期化やポートのオープン/クローズ処理、データの送受信処理を行います。データの送受信ではシリアルユニットと同様にEthernettユニットとのハンドシェークがあります。
各メーカーのPLCによってユニットの仕様が違うため全く同じソフトウェアを使用することは出来ません。プログラムを作成する際には各メーカーのユニットに応じたソフトウェアを作成する必要があります。
最後にPLCを使用した通信プロトコル変換のメリット・デメリットを記述したいと思います。
図4. PLCのユニット構成によってシステム拡張が可能
図5. RS232C機器とEthernet機器で1対nの通信
通信プロトコル変換のためにPLCが入ることでPLCの処理時間だけ通信の応答速度が低下します。
通信速度を極力低下させないようにPLCでは処理速度を優先したプログラムを作成するように考慮します。
ただし、場合によっては機器間のタイムアウト時間の見直しが必要になります。
例えば通信データの加工が必要なく、RS232CとEthernetの変換のみの用途であれば、プロトコル変換器を使用することでコストを低く抑えることが出来ます。
ただし、両側の機器に手を加えるコストを考慮しますと、PLCでプロトコルを吸収する方がより安価になると思われます。
今回はPLCを使った通信プロトコル変換をご紹介しました。他にも通信プロトコル変換方法がありますので、メリット、デメリットを検討してお客様のご要求に見合った方法を選定していかなければなりません。
(S.K.)
関連ページへのリンク
関連するソフテックだより