HOME > ソフテックだより > 第365号(2020年11月4日発行) 技術レポート「Rockwell Automation社製Allen Bradley PLC について〜プログラミング〜」

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

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


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

「Rockwell Automation社製Allen Bradley PLC について〜プログラミング〜」

1. はじめに

ソフテックだより第355号及び第359号の技術レポートで「Rockwell Automation社製Allen Bradley PLCについて」をテーマに、CPU選定の仕方や注意点、Ethernet/IPの使い方などをご紹介いたしました。
今回は第3弾として、Rockwell Automation(ロックウェル・オートメーション)社製Allen Bradley(アレン・ブラッドリー) PLC(以下、AB-PLC)のプログラミングの仕方に焦点をあてて、いくつかご紹介したいと思います。今回も、主に三菱電機社製シーケンサのMELSEC-QシリーズPLC(以降、三菱PLC)と比較して、その事例をいくつかご紹介したいと思います。
なお、使用するプログラミングツールはStudio5000 Logix Designer Version31.00.00 - Standard Editionとします。

2. 命令の直列配置

三菱PLCでは、接点や比較命令以外のほとんどの命令は直列に配置する事ができず、複数必要な場合は並列に配置する必要があります。
その為、命令が多数ある場合、縦に長い回路となってしまいます。
AB-PLCの場合は、下図(図1)の通り、直列に配置する事が可能で、Output命令の後ろにさらに接点を配置する事もできます。
関連する命令を直列でひとまとめにする事で、より可読性の高いプログラムを組む事ができます。

命令の直列配置例
図1.  命令の直列配置例

3. 配列タグのブロック転送

三菱PLCにてデバイスのブロック転送を行う場合は、BMOV命令を使用します。
例えば、「BMOV D10 D11 K3」という命令を実行した際のデバイス値の結果は、下図(図2)の通りとなります。

BMOV命令の実行結果
図2.  BMOV命令の実行結果

AB-PLCの場合、配列タグのブロック転送を行う場合はCOP命令を使用します。
転送元と転送先のタグが重複していなければ、三菱PLCのBMOV命令と同様の結果となりますが、転送元のタグ配列が転送先のタグ配列より前で重複する場合は結果が異なりますので注意が必要です。
例えば、下図(図3)の回路でDI_TEST[10]からDI_TEST[11]へタグ値を3つ転送したとします。

COP命令回路1
図3.  COP命令回路1

この場合、COP命令だとまずDI_TEST[10]からDI_TEST[11]へ転送、次にDI_TEST[11]からDI_TEST[12]へ転送、次に次I_TEST[12]からDI_TEST[13]へ転送と、順次処理している様で、結果としてタグ値は下図(図4)の通りとなります。

COP命令回路1の実行結果
図4.  COP命令回路1の実行結果

転送元と転送先のタグが重複していても、三菱PLCのBMOV命令と同じ動きをさせたい場合は、中継用のタグを経由させる事で同じ動きをさせる事が出来ます。
使用例を下図(図5)に示します。

中継用のタグを経由させたCOP命令回路
図5.  中継用のタグを経由させたCOP命令回路

なお、下図(図6)の様に転送元のタグ配列が転送先のタグ配列より後で重複する場合は、三菱PLCのBMOV命令と同じ結果となります。

COP命令回路2
図6.  COP命令回路2

COP命令回路2の実行結果
図7.  COP命令回路2の実行結果

4. 繰り返し処理

AB-PLCで繰り返し処理を行う場合、三菱PLCのFor〜Next命令とは少し違った使い方となっています。
繰り返し処理を行う為には、繰り返し処理のプログラムを入れるサブルーチンと、そのサブルーチンが実行された回数をカウントするDINT型のタグが必要となります。
下図(図8)の例では、サブルーチン「SR_LOOP1」の処理を、DINT型のタグ「Z001」が0から1ずつ増加させ、5になるまで繰り返します。

FOR命令回路の使用例
図8.  FOR命令回路の使用例

なお、DINT型のタグは、三菱PLCのインデックスレジスタの様な使い方が出来ます。
その為、FOR命令のINDEXで使用するタグを、サブルーチン側で活用できます。

タグのインデックス使用例
図9.  タグのインデックス使用例

5. 計算/算術命令

AB-PLCには、加算を行うADD命令や減算を行うSUB命令等の基本的な計算/算術命令の他に、複雑な式を一つの命令で実行できるCPT命令があります。
CPT命令は、他の計算/算術命令よりも処理に時間が掛かり、メモリも余計に使用するデメリットもありますが、演算の途中結果を入れるタグを用意する必要が無く、プログラミングミスを防ぐ事ができるというメリットもあります。
下図(図10)の例では、R_VALUE1に5を乗算し、その結果を8で除算したR_VALUE2の結果で除算し、最終結果をR_RESULTに格納します。

CPT命令使用例
図10.  CPT命令使用例

CPT命令で使用できる演算子は以下の通りです。

表1.  CPT命令で使用できる演算子

演算子 説明
+ 加算
- 減算/否定
* 乗算
/ 除算
** 指数(xのy乗)
AND ビットワイズ論理積
OR ビットワイズ論理和
NOT ビットワイズ論理補数
XOR ビットワイズ排他的論理和
ACS アークコサイン
ASN アークサイン
ATN アークタンジェント
ABS 絶対値
COS コサイン
DEG ラジアンから角度
FRD BCDを整数に変換
LN ナチュラル ログ
LOG ログ ベース 10
RAD 角度からラジアン
SIN サイン
SQR 平方根
TAN タンジェント
TOD 整数をBCDに変換
TRN トランケート
MOD モジュロ演算(除算)

6. オンライン編集

三菱PLCのRUN中書き込みと同様に、AB-PLCもRUN中のPLCに対してオンライン編集でプログラムの変更をする事が出来ます。
三菱PLCの場合、RUN中書き込みではデバイスコメントの書き込みは行われず、PLC内に書き込む為には、別途PLC書き込みを行う必要があります。
また、複数人で同じプロジェクトをRUN中書き込みする場合、自分が行った変更が、その他の人のプロジェクトにすぐ反映されない為、後でマージする等の作業が発生してしまいます。

AB-PLCのオンライン編集は、三菱PLCと違って、タグコメントは編集して決定後すぐにPLCに書き込まれます。
複数人で同時にオンライン編集する場合でも、自分が変更したタグコメントが、その他の人のプロジェクトにすぐ反映されます。
プログラムも同様に、オンライン編集で自分が変更したプログラムが、その他の人のプロジェクトにすぐ反映されます。
あとでコメントをマージする等の作業が不要になり、とても便利です。

6.1 タグの編集について

タグの編集についてですが、オンライン中でも追加を行う事が出来ますし、プログラム内で使用していなければ変更や削除を行う事もできます。
オンライン中でも自由に編集できる反面、1タグ毎の編集しか行えず、複数のタグコメントをExcelから一括で貼り付けるといった事は出来ません。
なお、1タグ毎の編集しか行えないのはオフラインであっても同様です。

大量にタグの編集を行う場合には、Logix Designerの「Tools」−「Export」−「Tag and Logic Comments」で、タグ設定 を一度CSVファイルに書き出す必要があります。
そのCSVファイルをExcel等で編集した後は、Logix Designerの「Tools」−「Import」−「Tag and Logic Comments」でオフライン時のみプロジェクト内へ読み込む事ができます。

三菱PLCの場合、デバイスコメントは1点につき最大32文字までとなっていますが、AB-PLCのタグコメントは1点につき最大128文字まで設定する事が可能です。
コメントを英語にしなければならない場合、日本語に比べると文字数が多くなってしまいますので、AB-PLCの方が向いていると言えます。
タグコメントをラダー上で表示した際にも、最大20行まで表示され、内容によって下図(図11)の通り命令や接点の位置が自動で調整されます。

様々なタグコメントの回路
図11.  様々なタグコメントの回路

7. おわりに

今回はRockwell Automation社製Allen Bradley PLCついて、プログラミングの仕方に焦点を当てて紹介させて頂きました。
第一弾はAB-PLCの注意点が多くなってしまいましたが、三菱PLCより扱いやすい点もある事がご理解頂けたと思います。
いままでご紹介した項目の他にも、さらにいくつかご紹介したい項目がありますので、また別の機会にご紹介したいと思います。
本稿が少しでも皆様のお役に立てていただければ幸いです。

(T.T.)


関連ページへのリンク

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

ページTOPへ