「ソフテックだより」では、ソフトウェア開発に関する情報や開発現場における社員の取り組みなどを定期的にお知らせしています。
さまざまなテーマを取り上げていますので、他のソフテックだよりも、ぜひご覧下さい。
ソフテックだより(発行日順)のページへ
ソフテックだより 技術レポート(技術分野別)のページへ
ソフテックだより 現場の声(シーン別)のページへ
私はソフテック入社8年目の中堅社員です。ソフテックの中でもPLC関係の仕事を主に行うグループに所属しています。今回の技術レポートでは私が行った三菱PLCのAシリーズをQシリーズへのリニューアルする案件での経験を踏まえ、手順や気をつけるべきポイントなどをご紹介させて頂きます。
PLCは汎用性や信頼性の高いことで知られています。しかし、いくら信頼性が高いと言っても、経年劣化や外的要因によって壊れてしまうことはあります。壊れてしまった後に代替品を用意しようとしても、製品が生産終了・販売終了になってしまっていたら、どうすることもできません。
PLCは工場に入っていることが多く、PLCが止まると、生産ラインの停止を招き、生産している製品が出荷できないということにつながりかねません。PLCも日々新しい製品が出ており、新製品の登場に伴い、旧機種は生産停止となり、購入ができなくなってしまいます。
PLCが壊れ、「購入したい。」と思った時に「購入できない。」とならないように、壊れる前に数年に一度、PLCをリニューアルする必要があります。
また、時代の進化と共にPLCはより高性能、よりコンパクトになるので、処理の高速化や、設置スペース・制御盤の小型化が可能になっており、PLCをリニューアルすることで制御盤の縮小化やスペースができるので、有効活用が可能です。
PLCをリニューアルする上では大きく分けて、以下のような作業が必要です。
既設システムのハード構成を確認、新しいハードを選定します。基本的には後継機種がありますので、後継機種を選定していきます。三菱PLCであればリニューアル機器選定ツールというものがあり、既設システム構成を入力するだけで新しい機種の選定をしてくれるツールがあります。詳しくはURLをご確認ください。
( http://www.mee.co.jp/sales/fa/meefan/parts/selection/renewal_tool/index.html )
既設システムのハード構成を確認する上で気にするところとしてはどこまで配線やコネクタ、端子台、取り付け穴が流用できるかというところです。
配線し直しとなると、配線の取り外し、配線の取り付けを人手でやることになりますので、コストがかかります。さらに人手での作業となる為、ミスが発生する可能性があります。その為、再配線を行う際は全点チェックを行う必要があります。
端子台の視点で見た場合のリニューアル方法として、大きく分けて幾つかの方法がありますのでそちらをメリット、デメリットと共にご紹介いたします。
Aシリーズの配線されている端子台から全て配線取り外し、新たにQシリーズの端子台に取り付ける際のメリット、デメリットを記載します。
この方法のメリットは設置スペースの縮小化です。2章でも記載しましたが、PLCも時代の進化と共にコンパクトになってきています。Qシリーズの縦サイズはAシリーズの半分以下のサイズになりますので、ベース1枚に収まるサイズであれば圧倒的にサイズ縮小が可能です。
この方法のデメリットは配線コストがかかることです。本章の始めにも記載しましたが、再配線を行うと配線コスト、さらには配線切替後の配線ミスの確認、配線後の確認にもコストがかかり、あまり現実的とは言えません。
Qラージユニットという製品があります。QラージユニットはAシリーズのサイズと同じサイズになりますので、端子台の取り付けが簡単に出来ます。Qラージユニットを選定するメリットとしては端子台の付け替えのみで対応可能になるということです。また、Qシリーズのラージユニットでないものの取り付けも可能です。デメリットとしてはAシリーズと同じサイズの取り付けスペースが必要になるというところ、機器の価格が他に比べると高価だというところです。
その他、変換アダプタという製品があります。これはQシリーズのユニット幅で縦サイズのみAシリーズというものです。A⇒Q変換アダプタを使うメリットとしては端子台が基本的には付け替えが可能なことです。また、ラージユニットでは対応していないベーシックモデルCPUの対応が可能なことです。デメリットはユニットの幅がQシリーズのサイズなので端子台の設置は確認が必要なことです。
メリット、デメリットをまとめると下記表のようになります。
No | リニューアル方法 | メリット | デメリット |
---|---|---|---|
1 | Qシリーズへ再配線する | スペースの縮小化 | 配線・試験コストが増大 |
2 | Qラージユニットを使う | 端子台の付け替えのみで対応が可能 ラージでないユニット取り付けも可能 |
Aシリーズと同じサイズの取り付けスペースが必要になる (ベース増設の際はさらにスペースが必要になる) |
3 | A⇒Q変換アダプタを使う | 価格がラージユニットに比べると安価 ベーシックモデルCPUの対応が可能 ユニット幅はQシリーズなので幅は縮小できる 端子台の付け替えのみで対応が可能 (※ユニット幅、配線領域が小さくなっていますので確認が必要) |
ユニット幅、配線領域が小さくなっていますので端子台の付け替えが出来ない可能性がある |
表1. 構成選定メリット・デメリット
次に検討すべきポイントとなるのが、どこまでプログラム変更が必要になるかです。AシリーズからQシリーズにリニューアルを行う上での、ソフト変更は基本的には不要です。リニューアル前のAシリーズのプロジェクトをQシリーズへ自動で変換してくれます。しかし、自動で出来ないところもあります。自動で変換が出来ないところは特定のデバイスに変換されてしまいます。
特定のデバイスに変換された箇所に関してはプログラムの見直しが必要になります。特定のデバイスに変換されてしまうのは主に以下のようなところです。
AシリーズではM9000〜M9255/D9000〜D9255が使われていますが、QシリーズではSM0〜SM1799/SD0〜SD1799、SB0〜1FF/SD0〜1FF(16進)が使用されています。Aシリーズで用意されている信号はQシリーズにも基本はありますが、完全一致でないものもありますので、マニュアルで確認が必要になります。 SM/SDデバイスは自己診断リレーやバッテリーなどのPLC自信のエラー状態が格納されており、SB/SWはMELSECNETなどのリンク状態などが格納されています。
AシリーズとQシリーズでは入出力リレーのアドレスが違う他、使い方にも差がありますので、マニュアルを確認してソフト修正の必要があります。 アナログユニットであれば、性能向上により分解能があがっています。分解能があがることによりレンジ変換の処理も見直しが必要です。
入出力リレー同様にバッファメモリもAシリーズとQシリーズではアドレスや使い方が違う為、マニュアルを確認して適切にソフト修正の必要があります。 機能や使い方には大きな変更はなくても、アドレスは変わっているので変更は必須です。
例えば、Aシリーズの”AJ71UC24”をQシリーズの”QJ71C24N”に置き換えた際を例に挙げますと以下のように違いがあります。アドレス | AJ71UC24(Aシリーズ)名称 | QJ71C24N(Qシリーズ)名称 |
---|---|---|
X00 | 受信完了 | CH1送信正常完了 |
X01 | 受信データ読み出し要求 | CH1送信異常完了 |
X02 | グローバル信号 | CH1送信処理中 |
X03 | オンデマンド実行中 | CH1受信読出し要求 |
X04 | 計算機リンクユニット伝送シーケンス状態 | CH1受信異常検出 |
X05 | − | |
X06 | CH1モード切換え | |
X07 | 計算機リンクユニットレディ信号 | CH2送信正常完了 |
X08 | − | CH2送信異常完了 |
X09 | モード切り換え完了 | CH2送信処理中 |
X0A | − | CH2受信読出し要求 |
X0B | − | CH2受信異常検出 |
X0C | − | − |
X0D | ウォッチドッグエラー | CH2モード切換え |
X0E | − | CH1エラー発生 |
X0F | − | CH2エラー発生 |
X10 | − | モデム初期化完了 |
X11 | − | ダイヤル中 |
X12 | − | 回線接続中 |
X13 | − | 初期化回線接続失敗 |
X14 | − | 回線切断完了 |
X15 | − | 報知正常完了 |
X16 | − | 報知異常完了 |
X17 | − | フラッシュROM 読出し完了 |
X18 | − | フラッシュROM 読出し要求 |
X19 | − | フラッシュROM 書込み完了 |
X1A | − | CH1グローバル信号 |
X1B | − | CH2グローバル信号 |
X1C | − | システム設定デフォルト完了 |
X1D | − | 通信プロトコル準備完了 |
X1E | − | QシリーズC24レディ |
X1F | − | ウォッチドッグタイマエラー |
表2. ”AJ71UC24”と”QJ71C24N”入力リレー
名称は違いますが、AJ71UC24のX00とQJ71C24NのX03(チャンネル2を使う場合はX0A)は同じです。
同様にAJ71UC24のX07とQJ71C24NのX1Eも同じです。
その為、ここではX00⇒X03(チャンネル2を使う場合はX0A)、X07⇒X1Eにそれぞれ置換する処理が必要になります。
またQJ71C24Nに置き換えたことで受信異常も取れるようになりましたので、受信異常時の処理も追加が必要になります。
同様に出力リレーも変わっており、Y11⇒Y00(チャンネル2を使う場合はY07)への置換が必要になります。
その他、送受信時のバッファメモリも変更されておりますので、そこも変更が必要になります。
AJ71UC24の送信バッファは001〜07F、受信バッファは081〜0FFですが、QJ71C24Nでは送信バッファは401〜5FF(チャンネル2を使う場合は801〜9FF)、受信バッファは601〜7FF(チャンネル2を使う場合はA01〜BFF)となり、こちらもプログラム上のデバイスを変更する必要があります。
バッファメモリには終端文字の設定やパリティビット、プロトコルなどの設定もあるので、そちらもマニュアルを確認して適切に変更が必要です。
基本的には自動で変換されますが、ASC命令や専用命令など変換されないものもあります。変換されないものに関してはマニュアルを確認してソフト修正の必要があります。 私が対応した案件ででた自動変換されないものとしては以下のようなものがありました。
Aシリーズ命令 | Qシリーズ命令 | 説明 |
---|---|---|
ASC | $MOV | 文字列転送 |
LEDA DATERD | DATERD | 時計データ読出 |
LEDA DATEWR | DATEWR | 時計データ書込 |
LEDA BINHA | BINHA | 16Bit BIN → 16進ASCII変換 |
LEDA DVAL | DVAL | 数値文字列 → 32Bit BIN変換 |
LEDA HABIN | HABIN | 16進ASCII → 16Bit BIN変換 |
LEDA LEN | LEN | 文字列の長さ検出 |
LEDA VAL | VAL | 数値文字列 → 16Bit BINデータに変換 |
表3. A⇒Q自動変換命令例
また、上記のようなプログラムの自動変換できなかった部分をサポートしてくれるツールがあります。
(http://www.mitsubishielectric.co.jp/fa/download/software/detailsearch.do?mode=
software&kisyu=/plca&shiryoid=0000000009&lang=1&select=0&softid=1&infostatus=
1_1_1&viewradio=0&viewstatus=01_0_0_01_0&viewpos=470_0 )
このサポートツールを使用することで自動変換できなかった箇所が特殊ユニット単位でまとめられるので、マニュアルをまとめて確認することが出来たり、特殊デバイスであれば、コメントも表示されますので、調べやすくなります。ただ、あくまでもサポートをしてくれるだけですので、マニュアルで確認は必須です。
次に検討すべきポイントとなるのが、ネットワークの構成をどうするのか?です。まず既設システムがどうなっているのか?リニューアル後のネットワークはどうなるのか?を考える必要があります。
CC-LINKやDeviceNetなどのネットワークであれば後継機種を選定することで、ユニットの設定を変える程度でよいかと思います。
しかし、三菱PLCで構成されたネットワークの場合は、MELSECNETを使用していることが多いと思います。私が対応した案件もMELSECNETを使用しており、AシリーズのCPUが複数台で構成されたMELSECNET(U),/Bというネットワークが組まれていました。それを新たにQシリーズのMELSECNET10/Hに変更しました。
MELSECNET(U),/BからのMELSECNET10/Hにするにあたり一番のネックとなったのが、各局送信範囲の設定についてです。MELSECNET(U),/Bでは各局送信範囲が前半、後半と1局で2つの領域を確保できたのですが、MELSECNET(U),/Bでは1局に対し1つの領域しか確保できません。
その違いについてはリフレッシュパラメータの設定で対応しました。
まず、送信範囲の考え方としては図1の”更新後Qシリーズ送信範囲”の設定とはMELSECNET10/Hの設定で管理局と呼ばれるマスタPLCのみが持っている設定になります。次に”リフレッシュパラメータ”は同じネットワーク内の各PLCがそれぞれ持っている設定で、全体の設定(更新後Qシリーズ送信範囲)からPLCにどのように落とし込むかという設定になります。
送信範囲の設定で前半と後半をまとめて1つの領域を確保します。
局番1:000〜1FF(前半:000〜0FF、後半:100〜1FF)
局番2:200〜3FF(前半:200〜2FF、後半:300〜3FF)
局番3:400〜5FF(前半:400〜4FF、後半:500〜5FF)
1点単位から細かく、設定が可能で、”更新後Qシリーズ送信範囲”のデバイスを自分のどのデバイスに転送するかの設定になります。
転送1:000〜0FF ⇒ 000〜0FF
転送2:100〜1FF ⇒ 300〜3FF
転送3:200〜2FF ⇒ 100〜1FF
転送4:300〜3FF ⇒ 400〜4FF
転送5:400〜4FF ⇒ 200〜2FF
転送6:500〜5FF ⇒ 500〜5FF
図1. 送信範囲とリフレッシュパラメータ
上記のように設定することで、既設のデバイスはそのままで対応が可能です。
気をつけておくべきポイントを2点紹介します。
16点ユニットを8点ユニットにリニューアルする際の注意点を記載します。例えばAY10Aの16点ユニットをリニューアルする際に、ラージユニットを使えず、QY18Aを2枚にリニューアルする時に注意する必要があります。
PCパラメータのI/Oユニットの先頭アドレスの設定は16点単位という決まりがあります。Aシリーズで16点の出力ユニットの先頭アドレスを”0”と設定していたとすると”Y00〜Y0F”までが出力のアドレスとなります。Qシリーズの8点ユニット2枚に分けた場合も占有点数は16点なので、”Y00〜Y0F”までは1枚目が占有します。その為、2枚目のユニットは”Y10〜Y1F”の領域に取るか、もしくは空いているアドレスに取るしかありません。また、空きアドレスを設定した後にプログラムで使用しているアドレスの置換、置き換えが必要になります。
注意項目 | Aシリーズ(AY10A) | Qシリーズ(QY18A 1枚目) | Qシリーズ(QY18A 2枚目) |
---|---|---|---|
出力点数 | 16点 | 8点 | 8点 |
占有点数 | 16点 | 16点 | 16点 |
先頭アドレス (実際のアドレス) |
00(Y00〜Y0F) | 00(Y00〜Y07) | 10(Y10〜Y17) |
プログラム処理 | なし | なし | Y08〜Y0FをY10〜Y17に置換が必要 |
表4. 16点出力ユニット(Aシリーズ)を8点出力ユニット(Aシリーズ)に置き換えた際の例
AシリーズからQシリーズに置き換えることで、CPUのスキャンタイムは格段に早くなります。10分の1程度の速度になります。しかし、速度改善されることで気にしなくてはならないこともあります。
1パルスの出力時間はスキャンタイムと同じになります。その為、Aシリーズの時は仮に20[ms]だったとすると、Qシリーズになることで2[ms]くらいになり、基本的にはパルスでの出力はしませんが、もし、外部の装置にパルス出力していた際は出力先の装置が2[ms]で取れるかどうかを考える必要があります。取れるかどうかわからない場合は、出力でパルスはやめて一定時間出力するようにする、もしくはコンスタントスキャンの設定をしてスキャンタイムをAシリーズと同じ時間とするといった必要があります。
入力ユニットやアナログユニットの更新をした際には、入力信号のチャタリングにも気をつける必要があります。入力信号の立ち上がりの際に、最初の数[ms]はチャタリングしてその後ONとなる信号であることがあります。その場合にスキャンタイムが遅いAシリーズの時は、チャタリングしている部分は取れずに、その後ONしている状態の信号を取るようになるので、問題はありませんが、スキャンタイムが早いQシリーズでは、ONする前のチャタリングの状態の際も取れてしまい、複数回ONするといった動きになることがあります。このような場合は、入力のチャタリング防止用にタイマを設ける必要があります。タイマを使い、一定時間入力があることを確認して、入力信号をONとするような処理を組む必要があります。
また、アナログユニットでは、PID制御していた際に気をつける必要があります。PID制御は現在値から目標設定値まで徐々に出力値を上げていくような制御になります。スキャンタイムが早くなることで、PID制御の演算回数が上がり、オーバーシュートしてしまうこともあります。このような場合は、PID制御のサンプリングする周期の幅を広げる必要があります。
その他、私が経験したところでは、通信ユニットでうまくいかないことがありました。その時は、PLCから通信機器にリクエストのメッセージを送信し、レスポンスが機器から返信されるという通信でした。その通信相手の機器がレスポンスを返してから、数十[ms]の間はPLCからの送信メッセージが受け取れないという動きになっていました。その解決策としてコンスタントスキャンを入れることで、相手機器からレスポンス後のPLCの送信メッセージもコンスタントスキャン分を、ウェイトとして持たせることができ、PLCからの送信メッセージが受け取れるようになりました。
今回、紹介したことは問題になりそうなところの一部です。これらの他にも懸念すべき事項はたくさんあり、ユニット単位で見るとまだまだ気にするところは多くあります。AシリーズからQシリーズへのリニューアルは小規模な構成であれば、ハードを購入し、プロジェクトを変換するだけというものになることもあります。しかし、大規模システムになればなるほど、複雑なネットワーク構成であったり、特殊ユニットが多く使われていたりするので安易に考えると大失敗に繋がります。どこまでは流用が可能なのかの判断もマニュアルを読み込み、対応する必要があります。実作業は少ないかも知れませんが、確認事項が多いというのが、リニューアルの大変さだと思います。
(S.S.)
関連ページへのリンク
関連するソフテックだより