HOME > ソフテックだより > 第355号(2020年6月3日発行) 技術レポート「Rockwell Automation社製 Allen-Bradley PLCについて」

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

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


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

「Rockwell Automation社製 Allen-Bradley PLCについて」

1. はじめに

今回、Rockwell Automation(ロックウェル・オートメーション)社製Allen-Bradley(アレン・ブラッドリー) PLC(以降、AB-PLC)を使用した案件に携わる機会を頂きました。
海外製のPLCという事もあって、国内製のPLCといくつか違う点がみられましたので、今回は主に三菱電機社製シーケンサのMELSEC-QシリーズPLC(以降、三菱PLC)と比較して、その事例をいくつかご紹介したいと思います。
なお、プログラミングツールはStudio5000 Logix Designer Version31.00.00 - Standard Editionを前提に記載いたします。

2. CPUの選定

2020年5月現在、AB-PLCの大型制御システムに対応する最新機種はControlLogix5580コントローラです。
標準コントローラに加え、安全PLCの機能を兼ね備えたセーフティコントローラがあります。
セーフティコントローラは、標準制御と安全制御の両方を1つのコントローラ内に組み込むことが可能です。
また、標準制御と安全制御間の信号取り合いも可能なので、安全PLCを別途設けるよりは、セーフティコントローラを使用した方が良いです。
機種の違いは、メモリ容量の他に接続可能なEtherNet/IPノードの総数があります。

表1. ControlLogix 5580標準コントローラ

型式 メモリ容量(MB) EtherNet/IPノード総数
1756-L81E 3    60(1)
  100(2)
1756-L82E 5    80(1)
  175(2)
1756-L83E 10   100(3)
  250(2)
1756-L84E 20   150(1)
  250(2)
1756-L85E 40   300(4)

表2. GuardLogix 5580セーフティコントローラ

型式 メモリ容量(MB) EtherNet/IPノード総数
標準 安全
1756-L81ES 3 1.5   100(5)
1756-L82ES 5 2.5   175(5)
1756-L83ES 10 5   250(5)
1756-L84ES 20 6   250(5)
(1)
Studio5000 Logix Designer Version29.00.00
(2)
Studio5000 Logix Designer Version30.00.00以降
(3)
Studio5000 Logix Designer Version28.00.00 and Version29.00.00
(4)
Studio5000 Logix Designer Version28.00.00以降
(5)
Studio5000 Logix Designer Version31.00.00

2.1 メモリ容量について

AB-PLCのCPUメモリ容量は、パラメータ領域とプログラム領域とタグ(デバイス)領域の合計になります。
タグ領域については、仮に三菱PLCのデバイスデフォルト設定とファイルレジスタ640k点を、AB-PLC内で同じように登録すると約1.4MBのメモリ消費となります。なお、タグ名称が長くなるとその分メモリ領域を消費します。また、配列を使用する事でメモリ使用量を抑えていますが、個別に登録する事でもメモリ使用量は多くなります。

三菱PLCデバイス設定
図1. 三菱PLCデバイス設定

AB-PLCタグ設定
図2. AB-PLCタグ設定

AB-PLCのパラメータ領域については、新規作成時に約30kBのメモリ領域を使用しております。
種類にもよりますがユニットの追加によっても1ユニット当たり約1〜5kBのメモリ領域を使用します。

AB-PLCのプログラム領域については、上記タグ領域とパラメータ領域を足して約1.5MBとすると、一番容量の小さい1756-L81E(メモリ容量3MB)だと残りの約1.5MBがプログラム領域として使用できます。
例えば、三菱PLCのメモリ領域はステップ数で表され、1ステップ=4byteで換算できますので、一番容量の小さいQ00UCPUはプログラム容量10kステップで、換算すると40kBになります。
比べると、AB-PLCの方がだいぶプログラム領域が大きいと思いがちですが、1命令あたりに使用するメモリ使用量がAB-PLCの方が大きい為、単純に比較する事はできません。参考までに、代表的な命令について、メモリ使用量を下表に示します。

表3. メモリ使用量比較

命令 メモリ使用量(kB) 備考
AB-PLC 三菱PLC
RUNG 12 - 1回路につき1つ必要
A接点 4 4 間接デバイス使用無しの場合
OUT命令 4 4 間接デバイス使用無しの場合
MOV命令 24 8 間接デバイス使用無しの場合
比較命令(=) 132 12 間接デバイス使用無しの場合

どの命令を主に使用するかにもよりますが、感覚的にはプログラムのメモリ使用量は三菱PLCの4〜5倍程度になり、1756-L81E(メモリ容量3MB、プログラム領域約1.5MB)は、三菱PLCのQ10UDEHCPU(プログラム容量100kステップ=400kB)に相当すると考える事ができます。

2.2 ツールのVersionについて

プログラミングツールのStudio5000 Logix Designerですが、Versionによって使用できるコントローラが違いますので、注意が必要です。
ControlLogix5580コントローラのファームウェアについては、プログラミングツールに付属されており、初回のプログラムダウンロード時にコントローラに対応するファームウェアの更新も同時に行う事ができます。

表4. 型式と使用可能なツールのVersion

型式 Studio 5000 Logix Designer
1756-L83E
1756-L85E
Version 28.00.00以降
1756-L81E
1756-L82E
1756-L84E
Version 29.00.00以降
1756-L81ES
1756-L82ES
1756-L83ES
1756-L84ES
Version 31.00.00以降

3. タグ作成

三菱PLCは、あらかじめデバイスが用意されており、パラメータによって使用範囲を設定しますが、AB-PLCでは用意されておりません。
AB-PLCではデバイスに相当するタグ(Tag)を1点ずつ設定していく必要があります。
タグの名称は自由に設定する事ができますが、プログラマーが自由に決めてしまうと、複数人で開発する際に他の人が見てタグがどの様な意図で作られたか名称だけで判断できなかったり、逆に名称が長くなってしまったりと、問題になる事が多いです。
その為、ある程度の命名規則を設けて設定していく事をお勧めします。
なお、三菱PLCではデバイス領域に制限がありますが、AB-PLCの場合は内部メモリ範囲内であればいくらでもタグを設定する事ができます。

参考に、命名規則の一例を紹介いたします。

【I/O タグ】
 入出力種別の頭文字+機器番号3桁+スロット番号2桁

[具体例]
I00101.0
⇒ Inputの頭文字”I”+機器番号”001“+スロット番号”01”の0ビット目
O00102.1
⇒ Outputの頭文字”O”+機器番号”001“+スロット番号”02”の1ビット目
AI00201_0
⇒ Analog Inputの頭文字”AI” +機器番号”001“+スロット番号”01”の0Channel

【内部タグ】
 データ型の頭文字+“_”+ユニット・機器・機能名

[具体例]
B_Conveyor1
⇒ BOOLの頭文字“B”+“_”+ユニット・機器・機能名“Conveyor1”
I_Conveyor1
⇒ INTの頭文字“I”+“_”+ユニット・機器・機能名“Conveyor1”
DI_Conveyor1
⇒ DINTの頭文字“DI”+“_”+ユニット・機器・機能名“Conveyor1”
R_Conveyor1
⇒ REALの頭文字“R”+“_”+ユニット・機器・機能名“Conveyor1”
T_Conveyor1
⇒ TIMERの頭文字“T”+“_”+ユニット・機器・機能名“Conveyor1”
ST_Conveyor1
⇒ STRINGの頭文字“ST”+“_”+ユニット・機器・機能名“Conveyor1”

4. データ型が異なるタグ値の転送

三菱PLCの場合、データ型が異なるデバイス値の転送は、データ型変換命令を使う必要があります。
AB-PLCの場合は、MOV命令にてデータ型を意識せずタグ値の転送を行う事が出来ます。
ただし、三菱PLCのデータ型変換命令と同様に、データ型が異なるタグ値の転送を行った場合に、どのように変換されるかは把握する必要があります。
例えば、下図(図3)の通り、REAL型タグのタグ値「2.5」をDINT型タグに転送した場合、タグ値は「2」となります。

REAL型からDINT型への転送
図3. REAL型からDINT型への転送

5. 自己保持回路の注意点

PLCの自己保持回路といえば、下図(図4)の様な回路を想像すると思います。

自己保持回路
図4. 自己保持回路

図4の回路では、B_TEST1[10](ランプONスイッチ)のONでB_TEST1[12](ランプ)がONし、B_TEST1[10](ランプONスイッチ)がOFFしてもB_TEST1[12](ランプ)が自己保持されてONのままとなります。
AB-PLCのタグ値は停電保持されるのですが、この回路の場合、電源の入り切りによって、B_TEST1[12](ランプ)が必ずOFFしてしまいます。

電源の入り切りでもリレーを保持したい場合は、下図(図5)の様にLatch/Unlatch命令を使用する必要があります。

Latch/Unlatch命令回路
図5. Latch/Unlatch命令回路

6. アップロードおよびダウンロード時の注意点

AB-PLCの場合、アップロード時にプログラムと同時にタグ設定と現在値もPC側へアップロードされます。
ダウンロード時も同様に、プログラムと共にタグ設定とアップロード時のタグ値も同時にダウンロードされてしまいます。
その為、アップロードしたプロジェクト情報を、装置運転等でコントローラ内の状態が変化した後にダウンロードすると、コントローラ内のタグ値が戻ってしまう事になります。パラメータ設定値などをPLC側に持つ場合には注意が必要です。
外部ツールにてダウンロード前にタグの値を保存し、ダウンロード後に書き込むツールがある様ですが、バージョンの違いで使えないこともありますので、事前に確認が必要です。

7. おわりに

今回はRockwell Automation社製Allen-Bradley PLCついて紹介させて頂きました。
三菱PLCのプログラミングを経験している方であれば、基本的なプログラミングは可能ですが、思わぬ所で意図した動きと異なる動きをする場合がありますので、注意が必要です。特に、「5. 自己保持回路の注意点」と「6. アップロードとダウンロード時の注意点」は、三菱PLCに慣れていると、間違えて事故につながる可能性もありますので、充分に注意する必要があります。
自分が不慣れな事もあり、注意点のご紹介が多くなってしまいましたが、三菱PLCと比べて優れている点もあります。
その点も含め、今回ご紹介した項目の他にも、いくつかご紹介したい項目や注意点がありますので、また別の機会にご紹介したいと思います。
本稿が少しでも皆様のお役に立てていただければ幸いです。

(T.T.)


関連ページへのリンク

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

ページTOPへ