PLCから情報を取得する場合の確認事項

PC側システムからPLCから情報を取得したい場合に確認すべき事項について記載します。

PLCの情報を取得する通信手段として一般的なものは、LAN(Ethernet)接続があります。
昔はRS-232C接続なども利用されていたようですが、ここ最近はLAN接続一択と思います。


(写真は社内での検証用PLCです。10年以上前に購入したものですが検証用途で何かと使うケースがあります)

確認事項1)PLCがEthernet通信できるタイプか?

最近のPLCのCPUユニットにはLANポートが初めから付いているものが多いです。
その場合は、HUBを利用して情報を取得するPCとLAN接続を行えば機器構成としてはOKです。

CPUユニットにLANポートが無いタイプの場合には、Ethernet通信を可能とするための通信モジュールを増設することで対応します。※三菱メルセックの場合はQJ71E71-100

確認事項2)PLC通信設定をすることが可能か?

LANポートがあったとしても、通信でデータを取得するためには通信モジュールやEthernet通信の設定をソフトウェアから行う必要があります。※三菱メルセックの場合はGX Works3などを利用します。

PLC側のIPアドレス、通信コード、プロトコル、ポート番号、通信を許可する相手のIPアドレスなどを登録することで、PCなどの機器からPLCと通信を行うことが可能となります。

生産設備やビル施設を制御するPLCは設備業者殿にて構築されています。
当然ながら、許可なく接続したり設定変更することはNGですので、PLC側の構成はラダーエンジニアに実施して頂くことが多いです。
特に後付で既存設備に対してPCシステムを構築する際には、設備業者様が構築したものに変更が入ることになりますので、エンドユーザー、設備業者、システム業者(弊社)の関係者にて協議の上で行うことが必須です。

確認事項3)アドレスマップが入手できるか?

PLCとの接続に成功しても、PC側の監視制御システムで必要な情報が、どのアドレスに格納されているかを設備業者殿(ラダーエンジニア)から提供頂くことが必要です。

ビットの警報信号1つとっても、どのアドレスが何の警報なのかが分からないと監視システムを構築することは出来ません。
通常、ラダープログラム実装を行う時点でアドレスマップ(信号一覧)を作成されていますので、その資料を頂くことが一般的です。
警報信号や、生産実績値などシステム側で必要とする情報が、どこに格納されているかを確認してそのアドレスをPCから参照できるように構築を行います。

資料がない、据付け時の業者がいないなどの理由でアドレスマップが入手出来ない場合は、ラダープログラムを解析してアドレスマップを作成する場合もありますが、解析作業の期間、費用が発生します。

確認事項4)ハンドシェイクなどのやり取りは必要ないか?

生産設備が持つ、重量や個数などの生産実績を取得して記録するケースがあります。
その場合、PLC側の”D2000″のアドレスに重量があると分かっていても、いつその値を取得すればよいかなどのタイミングを確認する必要があります。

特に重量などは生産中に値が増加していくので、取得すべきタイミングが分からなければ誤った値を取得することになります。
よく利用するタイミングとしては次のものがあります。

生産完了時にONとなるビットを用意してもらい、それがONとなった時点での値を取得する

これが最もシンプルな方法などのですが、PC側がON信号を取りこぼす可能性があります。

例えば
ON信号が1秒しかONしないので、PC側からの通信周期とタイミングによってはONを取りこぼす。
ON信号は10秒ONしているが、PC電源が落ちていて慌てて立ち上げたときにはOFFになっていた。

そのような事を防ぐために、PLCとPCで情報をやり取りするためのハンドシェイク処理を行うようにしています。

PLCにて生産完了したら、データ取得要求FlagON

 ↓
データ取得要求FlagONになったので、PCにてデータ取得
 ↓
データ取得に成功したら、PCにてデータ取得完了FlagON
 ↓
PLC側でデータ取得完了FlagONになったので、データ取得要求FlagOFF

 ↓
データ取得要求FlagOFFになったので、取得完了FlagOFF

非常に簡単に記載しましたが、PLCとPCがお互いの状態を見ながらフラグ(ビットアドレス)を操作して確実にデータが取れるようにします。ハンドシェイク処理は、PCおよびラダープログラムのそれぞれで実装する必要がありますので、既存設備への改造作業が必要となります。

なお、ハンドシェイクには1つ注意すべき点があり、PCが故障などで停止している場合にPLC(設備側)がデータ取得を待ってしまうため次の工程に進めずに生産が止まってしまうという問題があります。

HDD破損によるPCの故障や通信経路のHUB故障などが発生した場合には、【最悪実績収集は諦めても生産を継続できる】ように上位側処理無効とするモードを設けることも考慮しておきたいです。
どこまでのリスク対応を取るかは、悩ましい問題がありますがそのあたりは別の投稿で記載したいと思います。

以上がPLCからデータを取得して監視制御システムを構築する際に留意している内容となります。
これが全てではありませんが、最低限の内容として案件打ち合わせ時に確認させて頂く内容となっております。

関連記事

  1. SCADA利用のメリット

開発者ブログについて

社内エンジニアが技術的な情報や社内でのイベントを不定期に掲載しています。
社内勉強会での情報や、やってみた、試してみた的な情報をゆるくシェアいたします。
※記事内容に間違いがないことを保証しているものではりません。参考にされる際はご自身にて検証を行って下さい。

最近の開発者ブログ

システム構築例