新しく作成したPMCラダーをCNC装置に投入した直後、大量のアラーム発生とともに設備が全く動かないということが発生しました。
原因はPMCラダーのプログラムサイズがF-ROMの保存容量を超えたためにPMCラダーが書き込まれず、消失してしまったためでした。
表示されているアラームは各軸の±オーバートラベルだったので、本来の原因にたどり着くまで少しだけ時間がかかってしまいましたが、原因がわかれば対策は簡単なので、同じ轍を踏まないように対策を解説します。
- F-ROMサイズを超えるPMCラダーデータを転送したことが原因
- FANUC LADDER Ⅲを使ってPMCデータサイズを確認しておけば防げる
- コンパイルの機能を使って可読性を下げずに容量削減が可能
異常発生の経緯と原因
経緯
新しく作成したPMCラダーを、ブート画面のユーザーデータローディング機能からCNCへ書き込んだあと、CNCが立ち上がると大量のアラームメッセージが表示されました。
![many many alarms](https://taroimo-lifestyle.com/wp-content/uploads/2021/05/bfbf20dd0d124bc3ec07e69c73f380d4-1.jpg)
アラームの内容は、各軸の±ストロークリミットスイッチから入力がないことを警告しています。
1軸分だけアラームが発生するならまだしも、全軸同時に異常が発生し、さらにPMCラダーを入れ替えた直後にアラームが発生しています。
今までのカンから、PMCが実行停止しているかPMCラダーデータ壊れているかのどちらかだろうと思いPMCラダー図を確認してみました。
![pmc ladder bloken](https://taroimo-lifestyle.com/wp-content/uploads/2021/05/60fae7462a4a5022db2325d3913d7049.jpg)
案の定”ラダープログラムが壊れています”と表示されていて、全プログラムに何も表示されていませんね。
オーバートラベルのアラームメッセージはPMCラダーが機能していないことにより二次的に発生したものと断定できました。
なので、PMC保守画面からPMCアラームの内容を確認してみました。
原因
![pmc alarm er02](https://taroimo-lifestyle.com/wp-content/uploads/2021/05/cec3d2d9cc0dfd2f667a3668787beb90.jpg)
原因が特定できました。
ER02 プログラムがメモリサイズを超えました(PMC1)
このアラームは、CNCのPMCデータ保存容量を超えたPMCラダーデータを転送しようとした場合に発生します。
今回新しく作ったPMCラダーデータの容量が大きすぎたことが原因です。
FANUC LADDER Ⅲを使って作成データの容量を確認してみたところ、コンパイルの時点でプログラムサイズが大きすぎると警告されていますね。
![pmc compile ng](https://taroimo-lifestyle.com/wp-content/uploads/2021/05/1f158da266a998f8d3b0aef336eb67c6.png)
作成したデータ容量が転送先の保存容量より小さくなれば良いので、不要なデータを削除したデータを作り直してPMCラダーデータを再転送したところ、無事に動作することが確認できました。
PMCラダーデータの容量確認方法
必要なソフトウェア
ラダー編集ソフトFANUC LADDER Ⅲが必要です。
ラダーデータを開いてコンパイルを選択
対象のPMCラダーデータをFANCU LADDER Ⅲで開いたら、メニュー欄の[ツール(T)]から[コンパイル(C)…]を選択してください。
![pmc compile select](https://taroimo-lifestyle.com/wp-content/uploads/2021/05/464374c5ba1d4e3f3c50ab1d2c4a6747.jpg)
オプションからプログラムサイズのチェックを有効にする
コンパイルウィンドウが表示されたら、”プログラムサイズのチェック”の項目を有効にしてください。
![compile option](https://taroimo-lifestyle.com/wp-content/uploads/2021/05/a29b0d4a7c8c26db7e2909532e447a2b.png)
対象のCNC装置ごとにラダーの最大ステップ数や追加サイズのメモリオプション構成が異なるため、厳密に確認を行いたい場合は、購入時の仕様書を確認の上設定値を決めてください。
特にわからなければ、全て最小値にしておけば問題はないと思います。
CNC機種によってコンパイルオプションが異なり、同じ内容が表示されない場合があります。どの機種においてもサイズチェックの項目が存在するので、同じように操作を行ってください。
コンパイルを実行し結果とマップログを確認する
コンパイルが終了すると、コンパイル結果が表示されます。
コンパイル結果ではエラーが発生しており、その内容は『F-ROMサイズオーバー』です。
![pmc compile ng](https://taroimo-lifestyle.com/wp-content/uploads/2021/05/1f158da266a998f8d3b0aef336eb67c6.png)
メモリマップを確認するため、[マップログ参照(A)]を選択して、テキストエディタからマップログの内容を確認します。
![pmc map log ng](https://taroimo-lifestyle.com/wp-content/uploads/2021/05/be5ef65435b1aab0a928e5bd01c55e94.jpg)
一番下の行にあるF-ROMサイズに注目してください。
F-ROMの最大サイズが255.8KBに対して、作成したPMCラダーデータは256.6KBとなっており、残りが-0.8KBとなっています。
今回作成したPMCラダーデータでは、あと0.8KB分のデータ容量を削減すればよいということがわかりました。
PMCラダーデータについて
構成
- メッセージ
- メッセージおよびアラーム画面で表示される、ユーザー作成のメッセージデータです。
- シンボル
- アドレスにごとに割付可能なシンボル記号データです。シンボル記号の重複はできません。
- コメント
- アドレスごとの役割を記述したデータです。PMC機種によっては第1コメントと第2コメントの割付が可能です。
- ラダープログラム
- ラダー回路本体のデータです。
F-ROMに書き込まれるデータ
必ずF-ROMに書き込まれるデータは、メッセージデータとラダープログラムです。
シンボルおよびコメントデータは、コンパイルのオプション項目から書き込みの有無を変更することができます。
![compile option](https://taroimo-lifestyle.com/wp-content/uploads/2021/05/a29b0d4a7c8c26db7e2909532e447a2b.png)
データ容量の削減方法
不要な回路を削除する
不要な回路を削除してPMCラダーのステップ数を減らしましょう。
常時OFFなどで使用しないようにしている予備回路などはありませんか?
データ容量を確保するため、無駄な回路は削除しましょう。おまけに可読性も上がります。
不要なメッセージを削除する
表示しないメッセージは消しましょう。
参考データの未使用のメッセージを残したり、メッセージの消し忘れは保存容量を圧迫する原因です。
データ容量を確保するため無駄なメッセージは削除しましょう。
メッセージデータが使用されているかは、以下の2つを確認してください。
- 機能命令DISPが対象のメッセージアドレスに適用されているか
- メッセージに対応したメッセージアドレスが回路上で使用されているか
シンボル/コメントを出力しない
データ容量の大半を占めるのはシンボルおよびコメントデータです。
コンパイルオプションにて”シンボル/コメントを出力(S)”を無効にした状態でコンパイルすることで、シンボル/コメントデータの分だけ容量を削減することができます。
ただし、CNC装置の画面からPMCラダーを確認すると、シンボルおよびコメントが表示されなくなるため可読性が低下します。
容量確保が困難なときの最終手段なので、あまりおすすめしません。
![no output simbol comment](https://taroimo-lifestyle.com/wp-content/uploads/2021/05/9b4dde0c70fd5b977bbe3af41feb8571.jpg)
第1/第2コメントのどちらかしか出力しない
PMCラダーでは、アドレスに対して第1コメントと第2コメントを設定できます。
この機能は主に、第1コメントに日本語、第2コメントに他国語へ設定します。
そうすれば、海外へ輸出した際にコメントを切り替えて外国語にすることで、現地スタッフでも対応ができるようになります。
ただし、なにかしらの理由で第2コメントが不要な場合、コンパイルの際に第2コメントをデータに含めないことでデータ容量を削減することができます。
第2コメントがない場合はこの方法が使えないので、条件が限定的かもしれません。
![comment no1 no2](https://taroimo-lifestyle.com/wp-content/uploads/2021/05/c8687f0d961a0a586ce1531cf0152649.jpg)
![memry map no1 comment](https://taroimo-lifestyle.com/wp-content/uploads/2021/05/fbfa41739872676ffc95be11f8c6813e.jpg)
未使用のシンボルを出力しない
これで対処できる場合は一番オススメです。
ラダー上で使用されてないアドレスのシンボルが出力されなくなります。
必要なシンボル/やコメントデータは残ったままなので、可読性に影響がでにくいと思います。
コンパイルオプションから”未使用のシンボルを出力しない”を有効にした状態でコンパイルしましょう。
![no simbol output](https://taroimo-lifestyle.com/wp-content/uploads/2021/05/dbef416f6a7346e3970a23053aed9a9d.jpg)
![memry map nouse simbol](https://taroimo-lifestyle.com/wp-content/uploads/2021/05/13f365c463b1e206179119a5e1df287e.jpg)
あとがき
今回のようなトラブルは、事前にコンパイルを行ってデータのチェックをしていれば防げましたね。
知識がない状態でこのような事象に遭ってしまった場合、どうすればよいかあたふたしてしまいそうです。
同じようなトラブルで悩んでいた方の問題が解決できれば幸いです。
コメント