HOME会社概況業務内容開発分野開発事例CANモジュールソフテックだよりお問い合わせ
HOME > ソフテックだより > 第217号(2014年9月3日発行) 技術レポート「各社PLC比較 〜プログラミングツール編〜」

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

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


ソフテックだより 第217号(2014年9月3日発行)

技術レポート

「各社PLC比較 〜プログラミングツール編〜」

1. はじめに

現在、日本国内では10社を超えるPLCメーカーが存在しておりますが、PLCの機能やプログラミングツールの操作方法は、各社で独自に発展しており多種多様という状態です。
欧米では「IEC 61131-3」(※1)という国際規格でPLCプログラミング仕様の標準化が行われていますが、日本国内に浸透するのはまだまだ先の話となりそうです。

このような事情から、たとえ1つのメーカーのPLCを熟知していたとしても、初めて扱うPLCの技術習得にはかなりの苦労を強いられます。
具体的には以下の通りです。

  • ラダー命令の仕様や名称、デバイス種別を表す記号、定数の表記方法などが各社で様々。「○○社で言うこういう書き方は、△△社ではどのように書くのだろう?」という視点で、慣れるまではマニュアルが手放せない。
  • プログラミングツールの仕様が各社で異なり、操作方法だけでなく用語も統一されていない。行いたい操作を覚え、効率良いプログラミングを行えるまでに時間がかかる。
  • 複数メーカーのPLCを習得したと思っても、無意識に別メーカーの操作をしてしまい入力ミスしてしまうこともある。

弊社は、複数メーカーのPLCを習得した技術者が多く在籍していますので、自分が扱ったことのないPLCであっても、熟知した社員に教えてもらうことで最短で技術習得が可能です。操作を忘れてしまったとしても周りに聞けばすぐに思い出すことができます。

私は、ソフテックに入社して10年近くPLCアプリケーション開発を担当してきました。
使用していたPLCは、横河電機製PLC(FA-M3シリーズ)、三菱電機製PLC(MELSEC-Qシリーズ)、キーエンス製PLC(KVシリーズ)を多く使用してきました。
この経験を元に、各社PLCを比較し紹介していきたいと思います。

過去のソフテックだよりでも、各社PLCの機能比較を行っているものがいくつかありますが、今回はプログラミングツールの違いに焦点を当て紹介します。

一般的にPLCメーカーをまたいだ情報は少ないですので、複数メーカーのPLC習得を目指す方の手助けになればと考えております。

なお、本レポートでは、各社PLC、プログラミングツールは表1を前提として比較を行っています。
また、使用する言語はラダー言語を想定しております。

メーカー PLCシリーズ プログラミングツール
三菱電機 MELSEC Qシリーズ GX Developer Ver.8
GX Works2
オムロン SYSMAC CS/CJシリーズ CX-Programmer Ver.9
横河電機 FA-M3シリーズ WideField3 R3.01
キーエンス KVシリーズ KV Studio Ver.7

表1. 比較を行うPLCシリーズとプログラミングツール

2. 基本用語

異なるメーカーのプログラミングツールを扱う上で、初めに用語の違いを抑えておくことで、効率よく技術習得を行うことができます。
下表に基本的な用語を取り上げ、各PLCメーカーの違いをまとめます。

横河電機 三菱電機 キーエンス オムロン 解説
プロジェクト プロジェクト プロジェクト プロジェクト PLCを動作させるために必要となる、プログラムやデータをひとまとめにしたものです。
プログラミングツール上では、必要なファイル群にプロジェクト名を付け管理しています。
これは比較する各メーカーで同じ名称となっています。
ブロック プログラム モジュール プログラム PLC上で動作させるプログラムの単位のことで、1スキャン内をどういう順番で動作させるか、このプログラム単位で指定することができます。
プログラミングツール上では、ラダープログラムの最小単位として扱います。
これは各メーカーで異なる名称となっています。
モジュール ユニット ユニット ユニット PLCハードウェアの最小単位を表す言葉です。
PLCは、電源、CPUの他に、豊富に用意された入出力の中から必要なものを組合せて使用します。
電源モジュール(ユニット)、CPUモジュール(ユニット)、入力モジュール(ユニット)、出力モジュール(ユニット)という使い方です。
FA-M3シリーズのみモジュールという呼び方をしますが、ユニットという呼び方が一般的です。
スロット スロット ユニット番号 ユニット番号 FA-M3シリーズ、MELSEC-Qシリーズでは、ベースモジュール(ユニット)に使用するPLCを装着しますが、この装着位置をスロットという言葉で表します。
KVシリーズ、SYSMAC CS/CJシリーズではベースという概念はなく、PLCをつなげていく形となりますので、スロットではなくユニット番号と呼びます。
ユニット 基本ベース/増設ベース ベースという概念なし ラック 1つのベース上に構成されるシステムをFA-M3シリーズではユニットという単位で呼びます。
大規模なシステムの場合など、使用する入出力モジュール(ユニット)の数が多くなると、ベースモジュール(ユニット)が1台で足りず増設して使用します。
FA-M3シリーズでは、最大7台のベースモジュール(ユニット)を増設することができ、ユニット0〜7という番号で表します。
SYSMAC CS/CJシリーズではラックという言葉で表します。
ダウンロード PC書込 PLC転送 パソコンからPLCへ転送 プログラミングツールからCPUモジュール(ユニット)にプログラムを転送することを表します。
MELSEC-Qシリーズでは、PLCのことをPCと呼びますので、パソコンと混同しないように注意が必要です。
アップロード PC読出 PLC読出 PLCからパソコンへ転送 プログラミングツールへCPUモジュール(ユニット)からプログラムを吸い出すことを表します。
MELSEC-Qシリーズでは、PLCのことをPCと呼びますので、パソコンと混同しないように注意が必要です。
オンラインエディット RUN中書込み オンラインエディット オンラインエディット PLCの最大の利点は、動作しているプログラムを停止させることなく、プログラムの修正、変更を行えることです。
比較した全てのメーカーでこの機能が具備されています。
I/Oコメント デバイスコメント デバイスコメント コメント デバイスアドレス一点一点に付けたコメントのことです。
このコメントがあるかないかでプログラム解析効率を大きく左右します。
MELSEC-Qシリーズでは、ラダー記号付近に表示可能なコメントの他に、機器名という付加情報を付けることも可能です。FA-M3シリーズでも同様に拡張コメントという付加情報を付けることが可能です。
各メーカーで名称は異なりますが、単純にコメントと言えばラダー記号付近に表示するコメントのことを指します。
回路コメント ステートメント 行コメント 行コメント ラダー回路一行に渡って入れるコメントのことです。
まとまったラダー回路に対して、処理の説明などを入れるための機能です。
各メーカーで名称はバラバラです。

表2. 基本用語の比較

同じ用語でも全く別の意味で用いられていることもありますので注意が必要です。

  • 「モジュール」はKVシリーズではプログラム単位を表すのに対し、FA-M3シリーズはPLCハードウェアの最小単位のことを表します。
  • 「ユニット」は、MELSEC-Qシリーズ、KVシリーズ、SYSMAC CS/CJシリーズでPLCハードウェアの最小単位のことを示すのに対し、FA-M3シリーズではベースモジュール区切りでシステム構成を見た場合の単位として扱います。

経験上これらの用語を多少間違って使用したとしても、全く通じないことはありません。
しかし、各メーカーの代理店の方と話をする場合や、特定メーカーのPLCしか経験の無いお客様と話をする場合、技術者として正しい用語を使用したいものです。

各社で共通する機能から基本的な用語を集めてみました。
各社独自の機能については、機能そのものが違うために用語も多種多様です。
これらについては、またの機会に紹介できればと考えています。

3. ラダー回路の編集操作

次にプログラミングツールの操作で一番使用頻度が高いラダー回路編集について比較します。
ラダー言語を用いたPLCプログラミングは、C言語、BASIC言語、C#言語など高級言語に比べると、入力するプログラム量が多くなる傾向があります。
例えば、単純な加算、乗算を組合せた演算の場合、高級言語ならば一行で記述できますが、ラダー言語の場合には、ワークデバイスを用いて複数行に渡って演算プログラムを記述しなければなりません。

また、高級言語の場合には、言語が変わったとしてもキーボードから文字を入力していくというプログラミングスタイルに変わりはありませんが、ラダー言語は、ラダー図形を置いて線でつなぐという入力方法となりますので、プログラミングツールが異なれば入力方法は様々です。この部分が特に慣れるまで苦労するところです。

一番早く入力する方法は、使用頻度の高いラダー回路に割り当てられたショートカットキーを使用することです。
キーボードだけで入力することができ、効率良くプログラムを作成していくことができます。
特に現場ではスピードと正確さが要求されますので、ショートカットキーを覚えることは効果的です。
下表に、良く使用するラダー図形入力のキーボードショートカットを抜粋し、比較してみます。

  横河電機
WideField3
三菱電機
GX Developer
GX Works2
キーエンス
KV STUDIO
オムロン
CX-Programmer
(クラシックモード)
a接点を入力 [F5] [F5] [F5] [C]
b接点を入力 [Shift] + [F5] [F6] [Shift] + [F5] [/]
a接点ORを入力 [F6] [Shift] + [F5] [F4] [W]
b接点ORを入力 [Shift] + [F6] [Shift] + [F6] [Shift] + [F4] [X]
コイルを入力 [F7] [F7] [F7] [O]
縦線を入力 [F8] [Shift] + [F9] [F8] [U] or [V]
横線を入力 [F9] [F9] [F9] [H]
縦線を削除 [Shift] + [F8] [Ctrl] + [F10] [Shift] + [F8] [U] or [V]
横線を削除 ラダー図形の消去と同じく[Delete] [Ctrl] + [F9] [Shift] + [F9] [H]
タイマ命令入力 [F11] コイルと同一
コイルにタイマデバイスのアドレスを指定
TMR: [Alt] + [F3]
TMS: [Alt] + [F5]
※TMR:
100ms精度のタイマ命令
※TMS:
1ms精度のタイマ命令
応用命令と一緒
カウンタ命令入力 [Shift] + [F11] コイルと同一
コイルにカウンタデバイスのアドレスを指定
[Alt] + [0] 応用命令と一緒
セット命令(SET)を入力 [F12] なし [Alt] + [F1] 応用命令と一緒
リセット命令(RST/RES)を入力 [Shift] + [F12] なし [Alt] + [F2] 応用命令と一緒
その他の応用命令を入力 [F4] [F8] [ESC] [I]
行コメント/回路コメントを入力 [Ctrl] + [F8] なし [Ctrl] + [Enter] なし
ラダープログラムの変換と文法チェック [Ctrl] + [U] [F4] [Ctrl] + [F9] [F7]

表3. ラダー回路編集操作で使用するショートカットキーの比較

SYSMAC CS/CJシリーズは、スマートインプットモードというラダー記号に対応するニモニックを入力していくスタイルがデフォルト設定となっています。上の表は他社との比較のため、クラシックモードに設定した場合のショートカットキーを掲載しています。

比較してみると、ラダー回路の入力で頻繁に使用する、接点の入力や接続線の入力においても各メーカーで違いがあることが分かります。
このように頻繁に使うキーに違いがあるために、メーカーが変わると誤入力を起こしやすくなります。

ちなみに、キーエンスPLCは、ショートカットキーの設定をオムロンPLC形式、三菱PLC形式に一括変更する機能があります。
また、オムロンPLCも三菱PLC形式のショートカットキーに一括設定することが可能です。
横河電機PLCには、一括設定する機能はありませんが、キー設定を好きなようにカスタマイズすることが可能です。
他のメーカーを使用していたユーザが、なるべく苦労せず移行できるように各社で配慮されています。

4. おわりに

本レポートでは、プログラミングツール編ということで、各社プログラミングツールの操作といった基本的な部分について比較してみました。
ごく基本的な内容にも関わらず異なる点が多いことに驚かれた方もいらっしゃったのではないでしょうか?
今後は、命令の違いといったPLCの機能についても紹介できればと考えております。

(M.S.)

[参考文献]
三菱電機
−『GX Developer Version 8 オペレーティングマニュアル』
三菱電機
−『GX Works2 Version1 オペレーティングマニュアル』
オムロン
−『CX-Programmer Ver.9.□ オペレーションマニュアル』
横河電機
−『FA-M3プログラム開発ツール WideField3 説明書』
キーエンス
−『ラダーサポートソフト KV STUDIO Ver.6 ユーザーズマニュアル』
[注釈]
※1
IEC 61131-3:国際電気標準会議(IEC)が制定した、PLC用プログラミング言語を規定した標準規格。

関連ページへのリンク

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