まずは、最近はやりのChatGPTに聞いてみましょう!
ChatGPTよりーーーーーーーーーーーーーーーーーー
PLC (Programmable Logic Controller) ラベルは、工業用制御システムであるPLCにおいて、入出力点やメモリアドレスを識別するために使用されるラベルです。PLCラベルは、PLCプログラミングや配線、保守などの作業において、効率的で正確な識別を可能にし、システム全体の信頼性を向上させます。
以下に、PLCラベルを使用する利点をいくつか挙げます。
- 配線の容易性: PLCラベルを使用することで、配線作業が容易になります。入出力ポイントやメモリアドレスを明確に示すことで、間違った配線を防ぎ、信頼性の高いシステムを構築することができます。
- プログラムの可読性: PLCラベルはプログラム内で使用される入出力点やメモリアドレスを識別するためにも使用されます。正確なラベルを使用することで、プログラムの可読性を向上させ、メンテナンスやトラブルシューティングの効率を高めることができます。
- メンテナンスの効率化: PLCラベルを使用することで、システムのメンテナンスが容易になります。ラベルによる識別を行うことで、故障箇所の特定や修復作業をスムーズに進めることができます。
- ドキュメンテーションの整備: PLCラベルを使用することで、システムのドキュメンテーションを整備しやすくなります。ラベルを使用して配線図やプログラムのドキュメンテーションを作成することで、システムの理解や管理が容易になります。
- トラブルシューティングの効率化: PLCラベルはトラブルシューティングにおいても有効です。正確なラベルを使用することで、異常箇所を素早く特定し、迅速に対処することができます。
以上のように、PLCラベルはPLCシステムの効率化や信頼性向上に貢献する重要なツールとして使用されます。正確なラベルの使用を推奨し、システムの運用やメンテナンスにおいても効率的な活用が見込めると思われます。
私の意見より――――――――――――――――――――――――――
そもそもラベルとは、デバイスM,X,Y,D,Rとかの考えとは違っていて、自分で名前をつけて使うデバイスです。
自分で名前をつけるにあたっては、ローカルラベルとグローバルラベルを理解しましょう。
ローカルラベルは個々のプログラムブロックだけで使えるラベルになります
ローカルデバイスの有効性について
*ローカルラベルでつくられたプログラムは1個作って複製でき、また、あくまでローカルでしか使われないので干渉しない。そのため、似たような処理のプログラムは1個つくれば10個でも100個でも展開できる
*既存のプログラムでは、デバイスマップ等作って作成される場合が多く、新しくデバイスを使用する場合には、空きデバイスを探すとかデバイスマップで割付された範囲を参照してデバイス設定をするため効率が悪い・・
*さらに、ラベルの場合はラベル自身に例)local_bit_motor_start・・等わかりやすいラベルを割り当てできるのでデバイスを設定してコメントを記載する必要性もなくなります。
また、日本語、英語表記等する場合・・ラベルは英語でコメントは日本語等にすれば多言語対応までできていまいます。
グローバルデバイスの有効性について
プログラムブロックで共有するデバイスの場合はグローバルラベルを使います。
共有なので同じ名前は1つしか使えません
*グローバルラベルで設定しておくことで実アドレス(実施の配線されるIOのアドレス)は変化してもプログラムに影響がない。そのため、IO割付が変化してもプログラムの中身を変えるとかそのためのデバッグは不要となる。
*CSVでの読み書きができるのでコメントをエクセルで展開して、コピペする手間も不要となる。電気図面IOが取り込みできれば、タイプしなくてもできてしまうIO割付が完了する
配列の有効性について
配列とは、Recipe(0,0)=1、Recipe(0,1)・・・Recipe(0,9)のように連続したデータ配列のことです。これは、デバイス設定したコメント レシピ1、2,・・9とするようりわかりやすく、活用性が高くなります。
構造体の有効性
構造体とは、例えばレシピに対するXYZ軸3軸の位置決めデータの構造があった場合、構造体構成をしておくことで簡単にデバイスの管理が可能となります。
構造体やラベルにはWorks2では結構制限がありますが、使い慣れるとWorks3でのプログラムの時にはもっと活用幅が広くなりますので是非使ってみてください。
ラベルの使うには
Works2で既存のファイルを開きます。プロジェクト機種変更でラベルを使うようにします
注意!
ラベルを使用するに変更すると元に戻せないのでバックアップしたほうがいいです
変更するとラベルがつかえるようになります。
インラインSTについて
ラベルを使ったプログラムではインラインSTが使えるのでこちらも紹介します。
基本的なルール
- コメントは (* *) の**も中に記載します。記号は半角です。
- デバイスまたはラベルを使う場合 デバイス名:=演算式;との表記になります。
- ;記号が演算または命令の最後に必要
- 命令語はSET(実行条件,デバイス名)となる
下記の例のように記載できるので、テキストで転用できる
(* コメントを記載する。*)
D2140:=(R220*R312+4096)/4000;
D2142:=D2140*R308/100;
IF D2140>120 THEN
SET(SM400,M124);
END_IF;
シミュレーションしてみます
デバイスの状態は隣のウィンドウに表示される
このようにインラインSTでは、ラダーで演算処理している場合と違いなにを計算しているのかわかりやすくなることが大変なメリットとなります。
考察
ラベルを使うことで1ランク上のプログラム作成ができ、かつデバイスマップ管理とかコイル2重エラーとか古い考えの設計工数が不要となりますので、ぜひ一度使ってみてください。
ChatGPTでもラベルを使ったPLCプログラムの評価は高そうですね(笑)