この記事では三菱電機PLCソフト設計ツールGX Works3のCPUパラメータ設定において、ウォッチドグタイマ、コンスタントスキャンに関する設定について解説します。
注意
・最初にGX Works3をご自身のPCへインストールしておく必要があります。
・今回はiQ-Rシリーズ、R02CPUを使用することを前提に設定していきます。
ウォッチドグタイマ、コンスタントスキャン、異常発生時のCPUエラー設定などに関する設定を三菱電機ではRAS設定と呼んでいます。
RASとは
・Reliability(信頼性)
・Availability(稼動性)
・Serviceability(保全性)
のそれぞれの頭文字で、「自動化設備の総合的な使いやすさ」を言うそうです。
今回はその中のウォッチドッグタイマ、コンスタントスキャンについて解説します。
目次
前回の内容について
CPUパラメータ設定No.4ではリフレッシュメモリ、デバイスのラッチ間隔、ポインタ設定、内部バッファ容量設定、リンクダイレクトデバイス設定について解説しました。
-
【GX Works3】CPUパラメータ設定についてNo.4【全10シリーズ】リフレッシュメモリ・データロギング・メモリダンプ設定などについて解説します
この記事では三菱電機PLCソフト設計ツールGX Works3のCPUパラメータ設定において、リフレッシュメモリ・デバイスのラッチ間隔・ポインタ設定・内部バッファ容量設定・リンクダイレクトデバイス設定に ...
続きを見る
スキャンタイム監視時間設定(ウォッチドッグタイマ設定)
RAS設定項目では、まず初めにスキャンタイム監視時間の設定をしていきます。
別名ウォッチドッグタイマとも言いますが、その名の通りスキャンタイムを監視して、実際のスキャンタイムが設定した時間を超えた場合にCPUを止めるためのものです。その設定時間をこちらで設定していきます。
①ナビゲーション画面から「CPUパラメータ」⇒「RAS設定」⇒「スキャンタイム監視時間(WDT)設定」を選択します。
②「スキャンタイム監視時間(WDT)設定」を選択すると、このような画面が表示されます。
ここでは
・初期スキャン
・2スキャン目以降
の時間をそれぞれ設定をしていきます。デフォルトでは初期スキャンが2000ms、2スキャン目以降が200msとなっています。
スキャンタイムがこの設定時間を超えると、CPUが異常停止します。
ウォッチドッグタイマの動作例
③今回は例として手持ちのFX5UC-96MT/Dでウォッチドッグタイマの挙動を見ていきます。
(スミマセン・・・本来はきちんとR02CPUでやりたかったのですが。。。)
まずは2スキャン目以降のウォッチドッグタイマの設定を「10ms」に設定します。
④FOR~NEXTを使って1スキャンで7999回ループさせる回路を組んで、RUNさせます。
そしてこの回路をモニタします。RUN後すぐにウォッチドッグタイマが働き、CPUが停止しました。上記の右上の赤枠部分で「!」マークが表示されます。
この時、スキャンタイムが最大10.749msとなり、設定した10msを超えて停止しました。「!」マークをクリックして、ユニット診断からCPUの状態を確認していきます。
⑤ユニット診断(CPU)を確認します。
WDT(ウォッチドッグタイマ)のタイムアウトが検出されました。
処置方法としては、
・プログラムを見直す
・ウォッチドッグタイマの設定時間を変更する
です。
ウォッチドッグタイマ設定を「正」として、プログラムを見直すか
プログラムを「正」としてウォッチドッグタイマの設定を変更するか
となります。
この時CPUの表示ランプはこんな感じになります。
「ERR」が赤点滅、「P.RUN」が消灯しています。つまりCPUが異常停止している状態ですね。
このようにウォッチドッグタイマを動作させることが出来ます。
使用例を挙げると高速タクトで動作するカム装置などで使用されています。
もしスキャンタイムが伸びた場合エンコーダ(カムポジショナー)の信号が正常に取れなくなり、不良流出や噛み込みの原因になりますので事前にウォッチドッグタイマで止める処置が施されることがあります。
コンスタントスキャン設定
コンスタントスキャンとは、プログラム1スキャン当たりのスキャンタイムを一定時間にする機能です。
ただし注意点として、実スキャン時間がコンスタントスキャンの時間を超えた場合、コンスタントスキャンの設定は適用されないので注意が必要です。
「実スキャン時間」 <「コンスタントスキャン設定」
となるように、通常は設定します。
それでは実際に設定して、どのように動作するか見ていきます。
①ナビゲーション画面から「CPUパラメータ」⇒「RAS設定」⇒「コンスタントスキャン設定」を選択します。
デフォルトでは何も設定されておりません。スキャンタイムを一定にしたい場合はここに時間を設定します。
コンスタントスキャンの動作例
②まずは比較するため、コンスタントスキャン設定無しでFOR~NEXTを使って1スキャンで10回ループさせる回路を組んで、RUNさせます。
そしてこの回路をモニタします。
大体ですが、0.3ms程度のスキャンタイムで動作しています。
次にコンスタントスキャン設定を使った場合の動作を見ていきましょう。
③今回も例として手持ちのFX5UC-96MT/Dでコンスタントスキャンの動作を見ていきます。
まずはコンスタントスキャン設定を「20ms」に設定します。
④コンスタントスキャン設定をおこない、先ほどと同じFOR~NEXTを使って1スキャンで10回ループさせる回路をRUNさせます。
そしてこの回路をモニタします。
コンスタントスキャンを使用した場合、20msのスキャンタイムにて一定速度で動作していることが分かります。
⑤参考までに、コンスタントスキャンを設定した時の待ち時間をSD528とSD529で確認することが出来ます。
それぞれ
SD528・・・コンスタントスキャン待ち時間(ms単位)
SD529・・・コンスタントスキャン待ち時間(μs単位)
となります。
実際には変動しますが、
上記の場合ですとコンスタントスキャン20msのうち、0.187msで実際には動作して、19.813msが待ち時間となります。
まとめ
今回の記事を要約するとこんな感じです。
ポイント要約
①ウォッチドッグタイマはスキャンタイムを監視して、実際のスキャンタイムが設定した時間を超えた場合にCPUを止めるため設定
②コンスタントスキャンとは、プログラム1スキャン当たりのスキャンタイムを一定時間にする機能