三菱電機のMELSEC-A/QnA/QシリーズからiQ-Rへ更新するときに、プログラムの変換、設定・仕様の違い、事前検証で気をつけたいことをまとめました。
プロジェクトファイルを変換できても、旧PLCと同じ動作になるとは限りません。変換後に修正する箇所と、設備を動かして確かめる箇所を、マニュアルの記載と実際の更新経験を交えて紹介します。
CPU・I/Oの選定、既設配線の流用、ネットワークやGOTの更新については、ハードウェア編にまとめています。
筆者は個人事業主としてPLC更新・既設設備改造を行っています。ご相談先は記事の最後に記載しています。
1. MELSEC-A/QnAからiQ-Rへのプロジェクトファイルコンバート
手順はGX Developer→GX Works2→GX Works3へ段階を踏むことで変換できます。
GX Developerで、GX Works2への移行に対応するQnU系のCPU型式へ変換して保存しておきます。
MELSEC-A/QnA→MELSEC iQ-R変換サポートツール(SW1DNN-ARCNV-B)を使うことで、GX Developer形式からGX Works3へ直接変換も可能です。
こちらのほうがデータに注意点のメモが自動で埋め込まれるので便利です。
参照:L08665「MELSEC-A/QnA(大形)シリーズからMELSEC iQ-Rシリーズへの置換えの手引き」
参照:L08667「MELSEC-AnS/QnAS(小形)シリーズからMELSEC iQ-Rシリーズへの置換えの手引き」
1.1 A0J2のようなGX Developer非対応機種の場合
A/QnA→Q変換サポートツール(SW1D5N-AQCNV-J)に、Windowsで動作する編集ツールが同梱されているので、吸出し→GX Developerで対応しているCPU型式に変換してGPPA形式保存→GX DeveloperのGPPA形式読み出しの手順で変換します。
A0J2変換サポートツールは、昔販売されていたILC製のLADDER HELPER3が使われており、UIが三菱製と異なるのはそのためです。

1.2 MELSEC-Aのマイコンプログラムの場合
MELSEC-Aの一部CPUには、8086系の機械語プログラムを実行できる「マイコンモード」があります。パラメータで確保したマイコンプログラム領域に機械語を格納し、ラダー上のSUB Hxxxx命令で呼び出します。指定値は領域先頭からのバイトオフセットで、処理後はレジスタやスタックを復元し、RETFでラダー処理へ戻ります。
GX Developerでは機械語部分の命令表示・編集はできませんが、マイコン部分を含む読出し・書込みによるバックアップと復元は可能です(機械語はMAIN.wpgに格納される)。
MELSEC-QやiQ-RのシーケンサCPUでは、このマイコンプログラムは実行できません。移行にはバックアップファイルを解析し、再実装する必要があります。
2. MELSEC-QからiQ-Rへのプロジェクトファイルコンバート
GX Works2→GX Works3へ段階を踏むことで変換できます。
更新元のCPU型式に応じて、GX Works2でQnU系のCPU型式へ変更して保存してから変換します。
使い方や共通の注意事項は下記マニュアルに記載があります。
参照:L08489「MELSEC-QシリーズからMELSEC iQ-Rシリーズへの移行ガイド」〔プロジェクトの移行〕。
2.1 GX DeveloperのST言語プログラミング機能を使用している場合
GX DeveloperのST言語プログラミング機能を使用している場合、GX Works2との仕様差によって読出しや変換に問題が発生することがあります。
例えば、GX Developerでは使えていたラベル名が、GX Works2では予約語に該当する場合などです。この場合はGX Developerでリネームを行い、GX Works2で扱えるようにデータの加工が必要です。
また、GX Developerのストラクチャードテキスト(ST)言語プログラミング機能はWindows 10以降では使用不可のため、古いOSのPCも必要です。
一部のST命令は名称変更が行われており、手動での置換も必要です。
参照:三菱電機FAQ16260、SH-080730「GX Works2 Version 1 オペレーティングマニュアル(共通編)」〔GX Works2とGX DeveloperにおけるST命令対応表/他形式プロジェクトからの置換え〕。
2.2 GX Works2でFBやSTを使用している場合
GX Works3で読み出した後、ラベルエリアの見直しが必要になります。
これはGX Works2ではデバイスのエリアにラベルを割り当てていましたが、GX Works3ではラベル専用のデバイスが追加されています。
変換後はコンパイル結果を確認し、エラー内容に応じて設定やプログラムを修正します。
一部のST命令は名称変更が行われており、手動での置換も必要です。
参照:SH-081214「GX Works3 オペレーティングマニュアル」〔部品名/引数の修正〕。
GX Works2からGX Works3への変換では、FBがマクロ型になります。これはGX Works2でのサブルーチンの扱いがマクロ形式のため、互換性で選ばれるものだと思います。
処理速度を優先する場合はマクロ型FB、プログラムのサイズを小さくしたい場合はサブルーチン型FBを選択します。
また、マクロ型FBの本体以外でFBの引数を直接使用すると、意図しない値になる場合があります。この場合もサブルーチン型FBにする必要があります。
参照:SH-081225「MELSEC iQ-R プログラミングマニュアル(プログラム設計編)」〔マクロ型ファンクションブロックの引数について〕。
2.3 iQ-RユニットのQ互換モードの注意点
iQ-RユニットにはQ互換モードがあるユニットもあります。これはユニットXYの割付とGのバッファメモリが、Qと互換のアドレスになるというものです。
注意点はアドレス割付に互換性があるだけで、機能はiQ-Rそのままだということです。例えばA/D・D/A変換はQの場合0~4000カウントを使用されているケースが多いのですが、0~4000カウントの分解能をiQ-Rで選ぶことはできません。
この場合プログラムで変換、あるいはスケーリング機能で0~4000で入出力する必要があります。
D/Aの断線検知機能にも注意が必要です。対象機種では標準で有効になっています。この場合D/Aの断線時に異常リセットをユニットに送らないと、D/A出力が中断されてしまいます。
検知機能が不要な場合は、パラメータで無効化します。
RJ71EN71もQJ71E71-100相当の互換モードがありますが、せっかく2ポートあるのに1ポートしか使えなくなります。
互換モードでGOTを接続した構成では、GOTの回路表示やトランスペアレント接続ができません。これはGOT上からはQとして見えているためだと思われます。
Q互換モードを使うのがベストであるかは都度検討する必要があります。
2.4 特殊リレー・特殊レジスタの置き換え
MELSEC-QからiQ-RでSM、SDは互換性があるのですが、機能追加/削除やアドレスが移動されている場合があります。
自動変換されないため、下記マニュアルを見て修正してください。
参照:L08489「MELSEC-QシリーズからMELSEC iQ-Rシリーズへの移行ガイド」。
3. 変換後に確認する設定と仕様
3.1 ツールと機器側ファームウェアの両方を確認する
各種エンジニアリングツールは最新版を使用してください。中古品や長期保管品のCPU・ユニットは、対応する最新ファームウェアを確認し、更新することが望ましいです。
3.2 更新前後のPLCパラメータを必ず見比べる
更新前と変換後のPLCパラメータは、必ず見比べてください。プログラムが変換できたことだけで判断せず、必要な設定が引き継がれているか、初期値に戻った項目や仕様の変わった項目がないかを確認します。
特に、ラッチ範囲、タイマの時限、ウォッチドッグタイマ、コンスタントスキャン、エラー時の停止/続行、STOP→RUN時の出力、I/O割付、通信・ユニット設定などを見比べます。設定項目の名前や配置が変わっている場合もあるので、数値だけでなく、その設定が何を意味するかまで確認してください。
3.3 警告と未対応箇所を確認する
変換結果・変更点・警告を確認し、SM4095/SD4095が残っていないか調べます。文字列として置換される場合もあるので、デバイス検索に加えて文字列検索も行います。
3.4 変換後の使用容量を確認する
CPU容量は旧プログラムのステップ数だけで選ばず、変換後の実行プログラム、復元情報、ラベル、ファイルレジスタなどを含めて確認してください。
容量はGX Works3の[ツール]→[メモリ容量計算(オフライン)]でも確認できます。
3.5 電池の保持対象を確認する
バッテリによるプログラム、デバイス/ラベル値、時計の停電保持は機種により異なります。
電池の保持対象はこちらの図解を参照してください。
4. 設備更新の準備と進め方
4.1 更新前に必要なデータを吸い出す
更新前に、プログラムやパラメータに加えて、コメントと運転に必要なデータを吸い出しておきます。コメントは標準ROMに保存されていることがあるので、保存先を確認して読み出します。
データはデバイスメモリだけでなく、ファイルレジスタも忘れずに読み出してください。更新後の運転や、元のPLCへ戻す場合に必要になるデータを残しておきます。
読出しに必要な開発ソフト、接続ケーブル、パスワードも事前に確認します。作業当日に初めて接続を試すのではなく、設備が稼働しているうちに読出し可能な環境を確保しておきます。古い機種は通信方法が専用のシリアルケーブルのみの場合もあります。事前に入手して通信ドライバのセットアップしておくことも大切です。
4.2 更新前の状態を確認して記録する
更新前にスキャンタイムを確認し、ネットワークを使用している場合は、その診断情報や各局の通信状態を確認します。正常に動作していることを確認し、その状態を記録しておきます。
GOTも確認し、アラームが出ていないか調べます。すでにアラームが出ている場合は、どのアラームが出ているのかを記録してください。
これらは更新前後の状態を比較する材料になります。更新後に異常が見つかった際、更新前からあったものか、更新によって新たに発生したものかを判断しやすくなります。
4.3 高速化で潜在していたプログラムの不具合が表面化する
CPUの更新で処理が高速になると、旧CPUのスキャンタイムでは表面化していなかったプログラムの不具合が出ることがあります。例えば、外部機器とのハンドシェイクがスキャンタイムに依存していた場合、更新後にタイミングが合わなくなることがあります。
このような問題に備え、更新前のスキャンタイムを記録しておきます。
本来はスキャンタイムに依存せずハンドシェイクが成立するようにソフトを改修すべきですが、設備更新では、その改修と検証に必要な予算や時間を確保できない場合もあります。その場合は、記録した更新前のスキャンタイムを基準にコンスタントスキャンを設定し、スキャン周期を更新前相当に合わせる方法があります。これにより、CPUの高速化に伴うハンドシェイクのタイミングの問題を回避できる場合があります。
4.4 元へ戻せる準備をする
設備更新では、更新後に動くことに加えて、予定どおりに進まなかった場合にも生産を再開できる準備が必要です。旧機器、プログラム、パラメータ、設定値・現在値、配線・取付けの記録を残し、元の構成へ戻す手順を用意します。
元に戻すには、機器の取付け、配線、データの復元、復旧後の確認にも時間がかかります。生産再開時刻から必要な時間を逆算し、更新を続けるか判断する時刻と判断者を事前に決めておきます。旧機器を保管するだけでなく、実際に戻せる工事方法にしておくことが重要です。
4.5 事前検証の時間と実機を確保する
更新時の失敗が許されない設備ほど、事前検証の時間を確保します。機器手配とプログラム変換だけでなく、試験、不具合修正、再確認まで更新計画に含めてください。
最低でも更新に使用するユニット一式を事前にそろえます。設備全体を再現できなくても、最小構成で電源を入れ、書込み・起動、ユニット認識、GOTや周辺機器との通信など、確認できる部分を試験します。電源再投入後の立上がりも確認してください。
設定の勘違い、組合せの問題、初期不良を当日より前に見つけられる可能性があります。事前試験は初期不良を「防ぐ」のではなく「事前に発見する」ものです。最小構成で未確認となる部分は、現地試験へ残す項目として明確にします。
4.6 変換アダプタやケーブルを含めて事前試験する
事前試験では、CPUとユニットだけでなく、更新に使用する変換アダプタやケーブルも含めて確認します。電源が入りユニットを認識することに加え、実際の接続経路を通して各I/Oが正しく対応するかを確認しておけば、アドレスや配線対応の間違いを現地へ持ち込む可能性を減らせます。
4.7 段階更新では新旧混在中の構成も設計・試験する
複数のPLCや設備を分けて更新する場合は、更新がすべて終わった構成だけでなく、旧設備と新設備が混在する途中段階も設計します。各段階で、どのPLCが制御し、どの通信経路でデータを受け渡すか、どこまで切り戻せるかを確認してください。
分割すれば一回の停止時間を短くできる場合がありますが、その分、新旧間の接続や切替、試験が増えます。途中段階を暫定だからと省略せず、実際に運転する構成として確認します。
4.8 当日の調査・判断を減らす
深夜や土日祝日など、メーカーのサポートを受けにくい時間帯に更新することがあります。利用する窓口の対応時間を確認し、事前試験で分かった不明点は更新日までに解決しておきます。
試運転では、一度動くだけでなく、品種切替、時間経過、停止後の復帰など、確認に時間がかかる動作も洗い出します。これらの試験時間を確保し、当日に短時間の修正を繰り返して済ませる計画にしないようにします。
4.9 異常時の停止と、復旧後の再開まで確認する
正常に一巡動くだけでなく、異常時にどこまで停止し、警報がどう表示され、解除後にどう再開するかも確認します。通信断からの復帰や、停電・復電後の初期化と保持データも試験項目に含めます。異常を模擬する試験は、設備への影響を考慮して事前に方法を決めておきます。
4.10 通信は接続だけでなく、受け渡すデータと相手側の処理も確認する
GOTや上位PC、他のPLCと接続できても、必要な値を正しく受け渡せているとは限りません。デバイス割付や通信方式を変更した場合は、相手側の参照先も確認します。表示・操作に加え、上位への実績やデータベースへの記録など、実際に使用している連携まで確認します。
4.11 ネットワークやユニットの設定がラダー内にないか確認する
旧設備では、ネットワークやインテリジェント機能ユニットの設定を、パラメータ画面ではなくラダーのFROM/TO命令などで行っている場合があります。設定画面の内容だけで判断せず、初期化処理とバッファメモリへの書込みも確認します。
設定を更新先のパラメータへ移す場合は、旧プログラムの設定処理をどう扱うか、自動リフレッシュ先やデバイス割付が変わらないかも確認します。
5. おわりに
PLC更新では、変換エラーをなくすだけでなく、設定や保持データ、通信、動作タイミングまで含めて、更新前と同じように運転できるかを確かめる必要があります。
当日の限られた停止時間を有効に使うためにも、事前に実機で確認できることを増やし、問題が出た場合に元へ戻せる準備をしておきます。この記事が、更新前の調査や試験項目を洗い出す際の参考になれば幸いです。
機器の選定や配線・ネットワークの流用については、ハードウェア編もあわせてご覧ください。
PLC更新・既設設備改造のご相談
FA Laboでは、三菱PLCを中心に、旧式PLCの更新、既設設備の改造、HMI変更、現地試運転まで対応しています。
ご相談の際は、PLC型式、ユニット構成、図面・既存プログラムの有無、希望時期を分かる範囲でお知らせください。


