「ソフテックだより」では、ソフトウェア開発に関する情報や開発現場における社員の取り組みなどを定期的にお知らせしています。
さまざまなテーマを取り上げていますので、他のソフテックだよりも、ぜひご覧下さい。
ソフテックだより(発行日順)のページへ
ソフテックだより 技術レポート(技術分野別)のページへ
ソフテックだより 現場の声(シーン別)のページへ
ソフテックではPLC(Programmable Logic Controller)を用いてシリアル通信を行う案件も多く手がけています。
今回は三菱電機社製PLCのシリアルコミュニケーションユニット(型式:QJ71C24)にて、「ユーザー登録フレーム」機能を使用したシリアル通信プログラムについて取り上げます。
ちなみに他社製PLCでも同様の機能やソフトがあり、キーエンス社ではPROTOCOL STUDIO、オムロン社ではCX-Protocolなどがあります。
ユーザー登録フレームとは、送受信する通信伝文の固定フォーマット部分をシリアルコミュニケーションユニットに事前登録しておくことにより送受信が可能となる機能です。
ユーザー登録フレームを使用することにより、送信データの作成や受信データのチェックプログラムを簡略化することができます。
特徴で記述した通り、プログラムの簡略化が可能ですが、ユーザー登録フレームを使用できる伝文フォーマットや適さない伝文フォーマットがあります。
図1に示すようなSTXで始まりETXで終わる伝文フォーマットなど
ACKやNAKの受信など
先頭データは固定でないが、ETXで終わる伝文フォーマットなど
図1. 伝文フォーマット例
上記のユーザー登録フレームを使用できるような固定フォーマット部分がなく、受信データ数で受信完了とする伝送制御手順の場合にはユーザー登録フレームの使用はできません。
制御指令受信伝文と確認応答受信伝文など複数の異なる伝文フォーマットが存在する場合にはユーザー登録フレームは使用できません。
先頭フレームの次から最終フレームの前までの範囲を対象とするなどチェックサムの対象範囲はありますが、伝送制御手順とユニットのチェックサムの対象範囲が合わない場合はチェックサムの機能は使用できません。
ユーザー登録フレームを使用すると、以下のようなメリットがあります。
ユーザー登録フレームで先頭フレーム(STX)と最終フレーム(ETX)を指定すると、ユニット側で先頭フレームのデータを受信したところから受信動作を開始します。
最終フレーム受信の判断もユニット側が行い、最終フレームを受信すると受信データ読み出し要求がユニットから出力されます。
受信状態の管理はユニット側で行うため、プログラムの管理処理が軽減されます。
データ送受信時にユニット側でチェックサムを計算することができます。
受信データのチェックサムについて正常/異常の判定もユニット側で行うことができます。
プログラムでチェックサムの計算を行った場合、送受信データが多いとそれだけ計算に時間がかかってしまいます。
ユニット側でチェックサムの計算を行うことで、処理時間を短縮することができます。
受信だけでなく送信時も先頭フレーム、最終フレームを登録し、ユニット側で付加して送信を行うことができます。
そのため、プログラムでは任意データ部分だけを作成するだけで送信ができます。
当社にて実際に使用した例を参考に説明いたします。
例として紹介するのは、老朽化のため集中管理システムを更新する作業に際して、マイコンボードを使用していた装置をPLCに置き換えるという内容になります。
PLCは上位システムである集中監視システムより出力指示の伝文(12バイト)を受信し、それに対する応答としてPLCの入力状態を付加した伝文(22バイト)を送信します。上位システムは200ms以内にPLCからの応答を受信できない場合、無応答と判断します。そのため、PLCは上位システムより伝文受信後、200ms以内に応答する必要があります。
なお、伝送速度は9600bpsとなっています。
PLCの送信データ、受信データともにSTXで始まり、ETXで終わる伝文フォーマットとなっています。
また、ETXの前にチェックサムを2バイト付加します。
図2. 伝送仕様
以上のような伝送仕様となっており、ユーザー登録フレーム機能を使用して伝送仕様を満たせるか検討しました。
先頭データがSTX、最終データがETXで固定の伝文フォーマットとなっています。そのため、この伝文フォーマットはユーザー登録フレーム機能の使用に適していると言えます。
ETXの前にチェックサムを2バイト付加する仕様となっています。
ユーザー登録フレームの機能を確認し、伝送仕様通りにチェックサムの付加ができることがわかりました。
以上により、ユーザー登録フレームを使用してプログラム実装することを決めました。
ユーザー登録フレームを使用して通信プログラムを実装することにより、プログラムは受信データの任意データ部分のチェックや送信データの作成程度となり、プログラム量の軽減したことにより、「製作期間の短縮」「応答速度の向上」「メンテナンス性の向上」させることができました。
今回例にあげた案件では、短納期が最大のポイントであったため、ユーザー登録フレームを使用しての製作期間短縮は大変効果がありました。
三菱電機社製PLCのシリアルコミュニケーションユニットの機能「ユーザー登録フレーム」を使用したシリアル通信プログラムについて取り上げました。
ユーザー登録フレームを使用すると、受信データのチェックなどをユニット側で行うためプログラム量を少なくすることができます。
プログラム量が少なくなるとプログラムの実行時間も短くすることができ、通信の応答速度を求められるシステムなどでの活用が有効です。
(S.K.)
関連ページへのリンク
関連するソフテックだより