投稿日

PLCへのリモートアクセスをSIMベースルーティングで簡略化

皆様、こんにちは。ソリューションアーキテクトの松永(ニックネーム:taketo)です。

新年明けまして、おめでとう御座います。昨年もSORACOMのブログをご覧になって頂き有難う御座いました。本年も宜しくお願い致します!

寒さも昨年と比べると暖かいですが朝の冷え込みなど本格的になりましたね。個人的に、1月は雨も雲も少なく快晴が続く大好きな月です。2024年も頑張っていきましょう。

さて本日はProgrammable logic controller(以降、PLC)へのリモートアクセスをご紹介致します。これまでPLCへの遠隔アクセスに関しては、「SORACOM IoT レシピ:IoTで、PLCを安全に遠隔メンテナンス:三菱電機 MELSEC-iQ-R / iQ-F / Lシリーズ」でその具体的な実現方法をご紹介してきました。昨年発表されたVirtual Private Gatewayの新機能 SIMベースルーティングを利用して先日こちらをアップデートしております。本ブログでは改めて、その概要をご紹介致します。

また、PLCへのアクセスは非常に多く問い合わせを頂いておりましたが、設定に関してネットワークの専門知識が必要となっており少しハードルの高い部分がありました。そんな声にお応えするため今月1.25(木)15:00~16:05「ネットワーク初心者でもできる! PLCのIoT化&つまずきポイント解説 1.25(木)15:00~16:05  ライブ配信」の開催を予定しております。設定に必要な基本的なネットワーク知識や概念を解説し、いくつかのリモートアクセス方法とその費用をご紹介します。是非、こちらもご参加ください。

PLCへのリモートアクセスとは?

PLCとは?

Programmable Logic Controller(以降、PLC)は接続された機器を制御・管理するために利用される機器です。主に製造現場で活用されることが多く、製造ロボットなどの機器の稼働状況や制御を行っており広く利用されています。例ですと、三菱電機 MELSECシーケンサKEYENCE KV-8000 シリーズなどがあります。

PLCの遠隔アクセス

それでは遠隔アクセスとはどういった要望なのかを解説します。

上でご紹介した稼働状況や制御をするPCは現場に設置されることが多かったでしょう。近年このPLCシーケンサに対して、例えば工場から離れたオフィスのPCからそのシーケンサの管理画面を開きたいと言った要望を多くいただきます。遠隔地からアクセスするためには一般的にPLCシーケンサを外部と接続するためのルーターを配置するケースがあり、これがPLC機器を扱う上で良くあるリモートアクセスの構成です。

またこの遠隔にあるPCにはPLCシーケンサを制御するためのシーケンサエンジニアリングソフトウェア(例:三菱電機FA GX Works3)がインストールされており、そのソフトウェアがPLCシーケンサにアクセスして情報を分かりやすく表示します。

必要なネットワーク基礎

改めて、レシピに登場するネットワークの専門用語を少し解説したいと思います。

IPアドレスとネットワークの分割

「IPアドレス」はみなさん一度は聞いたことがありますよね。「IPアドレス」(例:IPv4 192.168.1.1)とは、ネットワークに繋がる機器に割り当てられる番号で、住所のように通信する際その機器の場所を特定するのに利用されます。またこの値は通信する際に、特定のネットワーク機器を1台特定しますので、共有される範囲では必ずユニークである必要があります。現在 IPv4とIPv6と二つの体系が存在しますが、多くの場合IPv4を前提に説明します。

IPv4では、2の32乗で約43億個の値を取りうるのですが有限な表記です。ですので、これらを有効に使うには共有される範囲で必要な数のみ割り当てその範囲でユニークにする設計をします。詳しくは触れませんが、「/24」や「/16」という表記が取りうるIPアドレスの範囲を示しています。例えば「192.168.1.1/24」の場合は192.168.1.1-192.168.1.255と255個の範囲になりうることを意味します。下の例では、SORACOMのSIMに「10.0.0.1/16(10.0.0.1-10.0.255.255)」、工場Aには「192.168.1.1/24(192.168.1.1-192.168.1.255)」、工場Bには「192.168.2.1/24(192.168.2.1-192.168.2.255)」と3つに区画を分けています。これらのIPアドレスは世界中どこかで同じものが使われていますが、インターネットなど外部に公開していないこともありPCや工場間ではユニークになるため問題ありません。

ここでルーターにはそれぞれ2つのIPアドレス(例:LAN 192.168.1.1/WAN 10.0.0.2)が割り当てられていますね。LAN(Local Area Network)とは、オフィス内などの限られた狭い範囲のネットワーク。 そして、LAN同士をつなぐのがWAN(Wide Area Network)といいます。ルーターはこのLANとWANに面しているため2つのネットワークに同時に所属するため2つのIPアドレスを持ちます。そして、2つのネットワークの橋渡しとしてその通信を仲介し転送する役割を持ちます。

通常身の回りでは、IPアドレスではなくそれに代わるホスト名(例えば「blog.soracom.com」)を使っています。

ポート番号

ポート番号とは0〜65535までのコンピュータが通信に使用するプログラムを識別するための番号です。同じネットワーク機器でIPアドレスが同じでも、中には様々なプログラムが動いています。そのネットワーク機器が受け取ったデータをどのプログラムに連携するかをポート番号で識別して振り分けています。(実はアクセス元の機器にもポート番号は振られますが、その話は割愛致します。)

今このブログをご覧になっている方もブラウザで「https://blog.soracom.com/ja-jp/」と表示されていると思いますが、実は「https://blog.soracom.com:443/ja-jp/」というようにサービス提供側(プログラム)が決めたポート番号にアクセスしています。このようにサービスにアクセスする際には、IPアドレスとポート番号がセットで使われることが多く、ポート番号はサービス提供者があらかじめ決めています。

転送設定(ポートフォワーディング)

PCからPLCシーケンサ1で動くプログラム1にアクセスすることを考えてみましょう。

PCから同じネットワークの区画に存在するLTEルーターまではそのIPアドレス(10.0.0.2)を指定することで通信が可能です。ただし、PLCシーケンサ1はPCとは別のネットワークに存在しますね。そこで必要となるのがポートフォワーディングです。ポートフォワーディングは、特定のポートへのアクセスを隣接する他のネットワークへ転送する機能です。この場合、最終的にプログラム1のポートにアクセスしたいので、LTEルーターのポート5000番に到達したデータを プログラム1の「192.168.1.2:5000」へ転送する設定をします。

その結果、PCからPLCシーケンサ1で動くプログラム1へアクセスする際には、LTEルーターの特定のポート「10.0.0.2:5000」へアクセスするだけで良いのです。

ただし、この場合以下のような課題となることもあります。全てとはいきませんが、先日発表したVirtual Private Gateway SIMベースルーティングはこれらを解決する機能ですので、このあと説明します。

  1. PLCシーケンサで動くポートを事前に知る必要がある点:アクセスする必要のあるプログラムの仕様が分かりやすく仕様として公開されていれば良いですが、時には仕様書をみてもなかなか見つからない!ということもあります。ポート番号をあまり気にせずに利用できると良いですね。
  2. LTEルーターにポートフォワーディングの設定が必要:複数台利用する大規模なプロジェクトではルーターの設定を変えるだけでも大変な場合があります。例えば100台のルーターにログインして間違えずに設定を変更し、稼働確認する作業を思い浮かべてください。大変ですよね。。。できればSORACOMのコンソールで一元管理したいですね。

Virtual Private Gateway SIMベースルーティング

Virtual Private GatewayのSIMベースルーティング機能はSIM配下のネットワークにアクセスを可能にする機能です。詳しくはユーザードキュメント:Virtual Private GatewayのSIMベースルーティングをご覧頂ければと思いますが、先に挙げた例でどう変わるのか解説していきましょう。

SIMベースルーティングを利用する場合のアーキテクチャ

結論ですが、PCからはプログラム1を直接指定してアクセスできるようになります。下記の例の場合、PCからは「192.168.1.2:5000」を指定します。またこの時、全てのポート番号にアクセスすることが可能です。非常にシンプルになり、先に挙げた課題「1.PLCシーケンサで動くポートを事前に知る必要がある点」に関しては全てのポートにアクセスできるため事前に知る必要はありません。また「2.LTEルーターにポートフォワーディングの設定が必要」に関してはSORACOMのコンソールから管理・変更して頂くことが可能ですので非常に使いやすく運用いただけます。

この機能を利用したPLCへのアクセスは「SORACOM IoT レシピ:IoTで、PLCを安全に遠隔メンテナンス:三菱電機 MELSEC-iQ-R / iQ-F / Lシリーズ」をご覧下さい。

レシピ内でもご紹介しておりますが、SIM ベースルーティングを利用した手法は転送設定においてPLCのアクセスに必要なポート番号が公開されていないような製品でも遠隔アクセスが実現可能です。

パターンパターン1. LTEルーター転送設定を利用パターン2. SORACOM Virtual Private GatewayのSIM ベースルーティングを利用
構成
VPG料金(2024.01現在)VPG Type-Eセットアップ料金 217.8 円/回基本料金 11 円/時間 (8,184 円/月)VPG Type-Fセットアップ料金 1,078 円/回基本料金 55 円/時間 (40,920 円/月)
構成概要LTEルーターの転送設定(ポートフォワーディング機能)を利用します。

メリット安価なVPG Type-Eで実現可能
デメリット各ルーターへポートフォワーディングの設定が必要(運用負荷が高い)PLCでアクセスに必要なポート番号の調査必要(製品により公開されていない場合もあります)
VPGのSIMベースルーティングを利用します。遠隔のパソコンから直接LTEルーター配下のPLCのIPアドレスを指定することができます。
メリットSORACOMユーザーコンソールで転送設定が可能(運用負荷 低)ポート範囲やプロトコルに依存せず、パケットを転送可能(PLC製品のポート番号を調査する不要)
デメリットVPG Type-Fの料金がパターン1に比べて高い

さいごに

いかがでしたでしょうか?

PLCの遠隔アクセスをこれから検討する方や、リモートアクセスについて初めての方にはお役立ちできれば幸いです。

再掲となりますが、1.25(木)15:00~16:05「ネットワーク初心者でもできる! PLCのIoT化&つまずきポイント解説 1.25(木)15:00~16:05  ライブ配信」の開催を予定しておりますので是非こちらもご参加ください。

― ソラコム松永 (taketo)