この記事ではPLCソフト設計でアドレスをルール化するメリットとその具体例について解説していきます。
目次
”アドレスのルール化”とは
結論としまして、「異常・工程・出力・各種工程間ハンドシェイクなど、使用するアドレスのエリアをルール化する」ことです。
この辺りは会社でなんとなくでも決まっているところは多いのではないでしょうか。こちらに関しても先輩や上司から教わるやり方をそのまま引き継いで、それが暗黙の了解みたいになっているところが多いかと思います。
では本当に何もルールが無い場合は、実際にどのようにルール化して行けばいいのか?というところにスポットライトを当てて解説していきたいと思います。
なぜアドレスをルール化するのか
結論から言いますと、設計や引き継ぎの時間短縮につながります。
アドレスをルール化することでなぜ時間短縮につながるのでしょうか。私自身の経験から4つ挙げてみました。
①アドレスマップの構成自体をイチから考える必要が無くなる
②なんといっても直観で確認する範囲を絞れる
③タッチパネルのデバイスエリアを決めて、デザイン構成と共通にしておけば使いまわし可能
④サーボや位置決めのバッファアドレスも、リフレッシュするためのエリアを決めておけば、これも同じで行ける
それぞれどのようにアプローチするのか説明していきます。
アドレスマップの構成自体をイチから考える必要が無くなる
今回の装置はM100~199まで自動運転の条件に使う。装置BはM5000~5199まで自動運転の条件に使う。・・・・など毎回ブレていると、ソフトに一貫性が無くなるだけでなく、第三者がそれを見たときに全体のアドレス配置の汲み取りを行う所から労力を必要とします。
ある程度用途が決まった段階で決めたルールに則って当てはめていく事で、構成を考えることに費やす時間が大幅に減るため、結果的に時間の短縮になります。
また、そのルールを知っている第三者が仕様追加などで触っていくときにもそのルールに沿って作業するので時間短縮が図れます。
なんといっても直観で確認する範囲を絞れる
資料ですぐに見れる状態にしておけばBESTですが、例えば担当していない装置で急に問い合わせなどあった場合、すぐに資料が見つからない時など例としてM2000~M2499工程歩進1、M2500~M2999工程歩進2などM2000から500ずつ占有するルールがあれば、まずその先頭から工程を検索できます。
エラーがリセットできないなどの理由でしたらそのエラーのアドレスから追うことが出来ますが、デッドロック(ダンマリ停止)を起こしてしまった場合はこれをルール化しておけば解決までの時間が短縮される事があります。
その他にも設計時に条件を確認する際に、条件が書かれているアドレスを追うきっかけにもなったりします。
タッチパネルのデバイスエリアを決めて、デザイン構成と共通にしておけば使いまわし可能
タッチパネルで使用するアドレスを決めておけば、タッチパネルのアドレスの範囲について考える時間が短縮されるため、非常に有効です。
またタッチパネルのデザインもある程度標準化出来るようでしたら、これもアドレスと合わせて標準化してしまえばかなり大きな時間短縮につながります。
私の場合、タッチパネルのデザインはほぼどの規模の装置でも同じような構成にしています。カラーの場合は色使いも共通化しています。
装置によっては特殊な画面やスクリプトを使用したりと例外もありますが、アドレスの範囲も一緒に決めているのでタッチパネルの画面設計にはそこまで時間を使っていませんので短縮化が出来ています。
全体の割合で言うとPLCソフト(ラダー等)設計とタッチパネル設計で7:3くらいの時間配分です。
ここはウェイトがそこそこ大きい部分になるので、標準化する価値は大いにアリです。
サーボや位置決めのバッファアドレスもリフレッシュするためのエリアを決める
バッファアドレスからリフレッシュするアドレスを決めておくことも結果的に時間短縮につながります。
設計時にバッファアドレスを検索するのって正直結構面倒ですよね。このようにバッファを検索できるEXCELが三菱電機から出してくれています。
毎回見るのも時間のムダなので、私は必要な部分だけピックアップしてDレジなどへリフレッシュするようにしています。
将来的には変数配列を使って標準化出来ないか取り組んでいるところです。今はDレジなどへのリフレッシュで十分に事足りています。
どういった項目をルール化するのか
装置の構成や規模的なものにもよりますが、具体例を挙げていきます。
①自動運転の絶対条件一覧
②異常無しフラグ一覧
③異常条件詳細
④タッチパネル使用領域
⑤工程歩進1
⑥工程歩進2など
この辺りは過去の事例からピックアップして、洗い出してみて下さい。本来はもっと項目はあると思います。これらに対してアドレスの範囲を決めてルール化して行きます。
①自動運転の絶対条件一覧・・・M0~M49
②異常無しフラグ一覧・・・M50~M99
③異常条件詳細・・・M300~M999
④タッチパネル使用領域・・・M1000~M1999
⑤工程歩進1・・・M2000~M2499
⑥工程歩進2・・・M2500~M2999
などなど
X、Y、Dレジなども同様に決めていきます。
ただし注意点としまして
①ガチガチに縛りすぎはNG
②「エリアを決めておいてそこを使う」みたいな感じでラフに
③実際の運用では装置規模で範囲を決めるのが現実的
縛りすぎると今度は融通が利かなくなるので、「エリアを決めておいてそこを使おうか」みたいな感じでラフなところからまずは初めて行くといいと思います。使いながら改善を繰り返して、良いものへアップデートしていければ最高です。
実際の運用では装置規模で範囲を決めるのが現実的だと思います。。規模によりゴールを設定するようにすればOKです。
まとめ
今回の記事を要約するとこんな感じです。
ポイント要約
①アドレスのルール化とは異常・工程・出力・各種工程間ハンドシェイクなど、使用するアドレスのエリアをルール化すること
②アドレス分け出来る項目を過去の事例からピックアップして洗い出す。
③ルール化することで装置の動作品質の改善や時間短縮につながる
④アップデートからの積み上げを惜しまずにおこなう