シーケンサでのラベルの使い方(1)

FA

シーケンサのラベルについて、一緒に理解を深めて行きましょう。

 

どうも!ズブです。今回は シーケンサでのラベルの使い方(1)

※ 主体は Qシリーズ と Works2 となりますが、所々 Works3 との違いを織り交ぜて展開して行きます。

ラベルを使う準備

ラベルを使用するなら、ラベルが使用できるプロジェクトにする必要 があるのでしたね。

 

新規プロジェクト なら、ココ↓にチェックを入れるだけ

 

既存プロジェクト だと、『 プロジェクト種別の変更 』

 

すると

 

ラベルが記述できるツリーが追加されました。

 

だけど、プログラム本体が何だか キナ臭い色 になっています。

この状態は、エラー か、ラベルの紐付けが出来てないって事なので コンパイルが必要 なのでしたね。

 

なので、コンパイル

 

もし色が変わらなければ、コンパイル出来ない状態という事ですので、アウトプットウィンドウ の表示から、エラーを潰して行きます。

 

今回は、自動割付デバイス がどうのこうのと怒られているので、
ツールタブ から『自動割付デバイス設定』を開きます。

 

するとこんな画面

 

Qシリーズの場合、通常デバイスとラベルは 同じ領域をエリア分けして使用 しているのですね。

 

既存プログラムを見てみると、

 

どうやら、新しく設定された ラベルエリア が ブッキング しているようです。

 

なので、既存プログラムの使用エリアを躱すように変更

 

 

エラーが解除できました。

これでラベルを使う準備完了です。

 

Qシリーズの場合、ラベルと言ってもデバイス設定の通り、既存デバイスの紐付けでしかありません。

なので、範囲の決定は

ラベルを1個使うのなら割付範囲は1個
今までのプログラムを全部ラベルにするなら、既存デバイス範囲+αを割付範囲に確保します。

Works3との違い
Works3 の場合、と言ってもその場合は iQ-R となりますが、デバイスエリアとラベルエリアは分離されていて、互いを意識する事はありません。
注)works3画面

 

ラベルの登録

実際にラベルを使ってみましょう。

 

いつもなら M100 等のデバイス番号を入れる 回路入力 に、適当な文字を入れてみます。

 

受け付けてくれると、未定義ラベル登録BOX が現れます。

 

『何でも良い』ラベルって何者なのか、教えてあげないといけないのですね。

 

ラベル設定情報 の意味を順に見て行きましょう。

 

ローカル/グローバルラベル

どこで使用するラベルなのかを決めます

『 ローカルラベル 』 今のプログラムファイル内だけで通用する
『 グローバルラベル 』全プログラムを横断して使用する

 

↓対象は別ですが、概念的なものはこちらでも紹介しています
CALL命令の種類と違いについて

 

クラス

三菱電機さんの取説より

 

色々書かれていますが、基本的には2つだけ

可変する奴か?
固定の奴か?

更にこの2つが、

グローバルで使う奴か?
ローカルで使う奴か?
ファンクションブロックで使う奴か?

に分かれているだけなのですね。

 

データ型

ラベルの中身が

ビット なのか?
ワード なのか?
タイマ なのか?

を決めます。

 

以上を踏まえてもう一度確認してみます。

 

この設定だと、『何でも良い』ラベル は

( MAIN ) だけで使用できる、可変、ビット

として登録されています。

いつもの M100 とかのローカル版って事ですね。

 

 

次に 応用命令 に入れてみましょう。

 

この設定だと、『何でも良い』ラベル は

全プログラムで使用できる、固定、ワード(固定値はK1000)

として登録されています。

 

このように、どこで使用して中身は何か?をどんどん登録して行くのですね。

 

登録が済んでいるラベルは『未定義ラベル登録BOX』は立ち上がって来ません。
代わりに、回路入力で便利な 予測変換 で選択できるようになります。

 

ツリーからの登録

先程はラダーからの個別登録でしたが、プロジェクトツリーからの登録も行えます。

 

CSVの入出力が使えるので、あらかじめ決まったラベルはExcel等で編集した物を貼り付けると楽ちんです。

Works3との違い
Works3の場合、この画面でラダー名の変更を掛けると即座にラダー図に展開される為、大変便利です。

ラベルの命名規則

自分達で決めたルールに従って命名して行けば良いのですが、とりあえずのお手本が欲しいですよね。

 

三菱さんのFBサンプルを見ると

i_Start_IO_No  FB入力
o_AD_ValueCH1 FB出力
int_FB_run    それ以外

この様に使われていました。
入出力だけは、頭に i_ o_ を付けるだけで、それ以外は 何でもint_作戦 ですね。

 

また、Works3の自動命名規則をデフォルトで使うと

bLabel1               ビット
uLabel2               ワード
udLabel3             ダブルワード
tdLabel4              タイマ

この様に出てきました。
頭にデータ型作戦 ですね。

 

これは別に、嫌味ったらしく横文字で入力している訳ではありません。

BOX入力時、英数入力がデフォルトなので、使っているうちに
ラダーへの入力が、和名だと煩わしく 感じてくるのです。

 

使用した感触ですが、接点入力の予測変換を念頭に、名前を付けて行くのが良いように思います。

 

実デバイスとの接続

一通り内部のプログラムが完成したら、後は 実デバイス に繋いであげましょう。

 

 

これで、シーケンサの型式を変更した場合でも、ここの 繋ぎ部分を変更するだけで展開 できるのですね。

 

お掃除

ラベルで書いていると、使わなかったり打ち損じた 不要なラベルが溜まってきます

そんな時は  『 未使用ラベル一覧 』 でゴミを探して お掃除!

 

※ラベル設定 画面が アクティブ じゃないと、『 未使用ラベル一覧 』は 出てきません

 

後は コンパイル を忘れないようにするだけですね。

 

まとめ

恐らくは、長く三菱に携わっている人程、取っつき難い感じがするのでは無いでしょうか。

QシリーズとWorks2が良い出来なので、世代交代ってのも中々踏み切れませんが、ラベルを視野に入れるならWorks3が断然強くなってきます。

 

合わせて読みたい
シーケンサでのラベルの使い方(2)