HOME > ソフテックだより > 第461号(2024年11月6日発行) 技術レポート「KEYENCEのPROTOCOL STUDIOを使って通信」

「ソフテックだより」では、ソフトウェア開発に関する情報や開発現場における社員の取り組みなどを定期的にお知らせしています。
さまざまなテーマを取り上げていますので、他のソフテックだよりも、ぜひご覧下さい。

ソフテックだより(発行日順)のページへ
ソフテックだより 技術レポート(技術分野別)のページへ
ソフテックだより 現場の声(シーン別)のページへ


ソフテックだより 第461号(2024年11月6日発行)
技術レポート

「KEYENCEのPROTOCOL STUDIOを使って通信」

1. はじめに

IoTや組み込みシステムの需要が高まる中、データ通信の管理はますます重要な課題となっています。
特に、さまざまなデバイスがリアルタイムで情報をやり取りする必要があるため、効率的かつ信頼性の高い通信手段が求められています。
そこで今回ご紹介するのが、 “PROTOCOL STUDIO” です。 ある案件でPROTOCOL STUDIOを使った際にメリットを感じることがあり、これまでソフテックだよりでも取り上げていませんでしたのでご紹介します。
(なお、本稿に関連して開示すべきCOIはありません。)

2. PROTOCOL STUDIOとは

PROTOCOL STUDIOは、複雑な通信プロトコルの設定やデバッグを簡単にし、初心者から上級者まで幅広く対応できます。
直感的なインターフェースを通じて、さまざまな通信規格に簡単にアクセスできるため、複雑な処理をプログラミングすることなく、迅速に作業を進めることができます。
さまざまな通信規格(TCP/IP、UDP、RS-232、RS-485など)に対応しており、特定のデバイスに依存せず、幅広く活用可能です。
リアルタイムモニタリング機能やデータ解析機能を通じて、通信状況を即座に把握し、迅速に問題解決が行える点も特長です。
さらに、複数のユニットを同時に管理できるため、さまざまなプロジェクトに柔軟に対応でき、迅速に対応できるのが大きな魅力です。

3. 対応ユニット

PROTOCOL STUDIOに対応するユニットは以下の通りです。

表1. 対応ユニット

KV-XLE02 KV-8000/KV-7000シリーズ専用のEthernetユニットです。
PROTOCOL STUDIOの他、KVソケット通信、PLCリンク、FTPサーバ/クライアント、メール送受信、KVセンサネットワーク、Modbusサーバ、MCプロトコル/SLMPなどの機能を持っています。
KV-L20V/ L21V 2ポートタイプでシリアルコミュニケーションユニットです。
ポート1がRS-232C、ポート2がRS-232C/RS-422A/RS-485(4線式)/RS-485(2線式)切換となっています。
KV-XL202 KV-8000/KV-7000シリーズ専用のシリアルコミュニケーションユニットです。
2ポートタイプでポート1,2共にRS-232Cとなっています。
PROTOCOL STUDIOの他、PLCリンク、Modbusスレーブの機能を持っています。
KV-XL402 KV-8000/KV-7000シリーズ専用のシリアルコミュニケーションユニットです。
2ポートタイプでポート1,2共にRS-422A/RS-485となっています。
PROTOCOL STUDIOの他、PLCリンク、Modbusスレーブの機能を持っています。
(KV-LE20V/LE21Vは未対応になります。)

4. 設定の流れ(Modbus/TCP)

ここでは実際に設定の方法を紹介します。
前述した通り、PROTOCOL STUDIOは接続相手のメーカー、機種を選択するだけでデータの読み込みや書き込みが可能です。
近年ソフテックで使うことが増えてきたModbus/TCPを例に設定方法を記載します。

通信仕様は以下とします。

  • 接続機器のIPアドレスは”192.168.0.1”、ポートは”502”を使用する
  • Modbus/TCPクライアント機能を使用する
  • KEYENCE PLCから接続(アクティブ)する
  • アドレスは保持レジスタ(ファンクションコード 03H)の40001から10点分を読み込む

(事前にユニットエディタから、IPアドレスの設定を行い、対象のポートにて”PROTOCOL STUDIO”を”使用する”にしてください。)

接続相手には三菱iQ-RのPLCを用意しました。
Modbus設定は下図のように設定しています。
保持レジスタのアドレス40001から20点を、三菱iQ-Rの”D100”から20点に割り付けています。

通信相手iQ-R Modbus設定
図1. 通信相手iQ-R Modbus設定

  1. プロジェクトのツリーから『PROTOCOL STUDIO』を選択します。

『PROTOCOL STUDIO』選択
図2. 『PROTOCOL STUDIO』選択

  1. 「外部機器の選択」ウィンドウで”外部機器”を選択、メーカーを”汎用プロトコル”、カテゴリを”全て”、機種を”Modbus/TCP”を選択、さらに接続先のIPアドレスは”192.168.0.1”、ポート番号は”502”、TCP(アクティブ)を設定します。

『外部機器』選択
図3. 『外部機器』選択

  1. 名称で”ファンクションコード”を選択します。
    ここでは”[R]保持レジスタ読み出し(03H)”を選択しました。
    次に形態にて”周期”を選択します。ここでは”サイクリック(1sec)”を選択します。

通信コマンド選択
図4. 通信コマンド選択

  1. トランザクションID、プロトコルID、スレーブIDを変更する場合は送信データの変更を行います。
    ここでは先頭アドレスを“40001”固定にする方法を記載します。赤枠の変数デバイスを選択します。
    (先頭アドレスが可変の場合は変更不要です。プログラムにて変数デバイスを都度変更します。)

先頭アドレス変更1
図5. 先頭アドレス変更1

  1. 読み出し先頭アドレスの要素”バイナリ変数”を”バイナリ定数”に変更し、「送信バイナリ定数」ウィンドウにて”16進数入力で9C41(10進数で40001)”を入力します。

先頭アドレス変更2
図6. 先頭アドレス変更2

  1. 入力内容を確認します。

入力完了後
図7. 入力完了後

PROTOCOL STUDIOの設定は以上です。
通信時は格納デバイスに通信結果が入ります。

  1. ラダーの処理を記載します。

ラダー処理
図8. ラダー処理

PROTOCOL STUDIO使用時に必ず必要になるのが、『PS 動作許可』 信号です。
この信号をONすることでPROTOCOL STUDIOが使用できます。
今回は”サイクリック(1sec)”を使用していた為、開始リレー等もありません。
Modbus通信上の”受信データ数”のみの指定ですので、”受信データ数”を”10”とします。
最後に受信完了したら受信データをデータ展開用バッファに展開しています。

  1. 通信結果を確認します。

通信結果
図9. 通信結果

図9の上の図iQ-Rで表示されているデバイスが下の図KEYENCEでも同じ値になっていれば接続確認完了です。

5. メリット・デメリット

次にPROTOCOL STUDIOを使う上でのメリット・デメリットを記載します。

表2. PROTOCOL STUDIO使用時のメリット・デメリット

  PROTOCOL STUDIO使用時 PROTOCOL STUDIO未使用時
プログラム量
非常に少ない。
×
多い。
対応機種
対応機種は以下の通り。
・KV-XLE02
・KV-L20V/L21V
・KV-XL202
・KV-XL402


対応機種が限定されず、PROTOCOL STUDIO対応機種の他、KV-LE20V/LE21Vでも対応可能。

汎用性
ラダーに比べると低いが、十分に応用が利くレベルではある。

自由に作ることが出来る。

通信処理を作った経験があれば想像できるかと思いますが、ポートのオープンやクローズ処理等も不要な為、プログラム量は格段に削減できます。
送信タイミングで送信データを作り、送信するというイメージで、今までの通信処理とは大きく違う印象です。
チェックコードの設定をすることでチェックサムのチェックができたり、異常時の受信フレームもあったりするのもプログラム量削減の理由です。
”汎用性”については書込みデータを増やしたり、可変、定数、ASCII、バイナリの設定もそれぞれで可能だったりと非常に汎用性が高い設定ができます。

また、以下のような制約が有ります。

  • CPUのEthernetポートではPROTOCOL STUDIOは使えない。
    CPUのEthernetポートは、運用開始時は使っておらず、運用していく中でデータ収集する為に利用するということはよくあることです。そんな時こそ変更量が少なくて済むPROTOCOL STUDIOを使いたいところですが、現状では使えません。
  • PROTOCOL STUDIOで登録できるプロトコルの上限は320個。
    超えることはほとんどないとは思いますが、接続機器が多い場合には注意が必要です。
  • 占有デバイス(※1)の割付を超える設定(最大8000ワード)はできない。
    通信データ量が多い場合には、占有デバイスのサイズに注意が必要です。
  • 設定変更時にはCPUのリセットが必要。
    オンライン変更ができないことは一つ開発/試験時には大きなデメリットですが、実際に運用のフェーズに入ってから通信を変えることはあまりない為、問題になることは少ないように思います。

上記制約が問題となる場合には、ユーザープログラムでの対応が必要になります。
(※1)占有デバイスとはプログラム内で使用するためのデータを格納するメモリ領域です。 PLC内の変数やデータを一時的に保存するために利用され、プログラムの動作中にデータを読み書きすることができます。

6. おわりに

PROTOCOL STUDIOについて記載しましたが、いかがだったでしょうか?
私自身、実案件でシリアル通信を使用した際にこのPROTOCOL STUDIOを使いました。 接続は比較的簡単にできました。その際も今回同様にラダーの通信処理は数行で完結しています。
個人的には、今回例に上げたModbus通信のような汎用的なプロトコルであれば、PROTOCOL STUDIOを使うのが時間短縮にもつながり、優位だと考えています。 また、固定サイズでのデータのやり取りなども向いていると考えています。
近年、PROTOCOL STUDIOの他にもこうした簡単に接続できるという機器、技術は増えています。
このような機器、技術の普及はIoTの進展を促進しています。
多くの企業が手軽にデータ収集や分析を行えるようになることで、新たなビジネスモデルやサービスが生まれ、全体の生産性向上につながります。
今後は、技術力の向上とともに、IoTを活用した新しい価値創造に挑戦することが求められると思います。技術が進化する中で、私自身も学び続ける姿勢を大切にしていきたいです。

(S.S.)


関連ページへのリンク

関連するソフテックだより

ページTOPへ