こちらは新しい記事シリーズで、ILC社のINTALOGIC5を使用し様々な検証を行います。第3話はコイルリマーク/ローカルインスタンス/配列について紹介します。
さ、FAを楽しもう!

前書き
いつも私の技術ブログとYouTubeチャンネルをご覧いただき、心より感謝申し上げます。また、いまFullさん(full@桜 八重 (@fulhause) / X)と共に毎週水曜日の夜にお届けしている「高橋クリス」ラジオ番組を運営しています。
技術は独り占めせず、届けるもの
私たちは工場の生産技術や制御に関する技術情報を、ブログや動画などで無料公開しています。「知識は誰でもアクセスできるべき」という信念のもと、現場で役立つ具体的なノウハウやトラブル事例などを発信してきました。すべて無料で続けているのは、「知らなかったせいで困る人」を少しでも減らしたいからです。
また、もしあなたの現場で…
- 「このPLCとデバイスの組み合わせ、ちゃんと動くのかな?」
- 「EtherCAT通信でうまくいかない部分を検証してほしい」
- 「新しいリモートI/Oを試したいけど社内に検証環境がない」
など、困っている構成や試してみたいアイデアがあれば、ぜひお知らせください。機器の貸出や構成の共有が可能であれば、検証し、記事や動画で発信します(ご希望に応じて匿名対応も可能です)。
支援のかたち
現在、私達の活動はほぼ無償で続けており、記事や動画の制作には、時間と検証環境の整備が必要です。この活動を継続的にコンテンツを提供するためには、皆様の温かいご支援が大変重要です。
メンバーシップ(ラジオの応援)
Fullさんとのラジオをより充実させるための支援プランです。
https://note.com/fulhause/membership/join
Amazonギフトリスト
コンテンツ制作に必要な機材・書籍をリストにしています。
https://www.amazon.co.jp/hz/wishlist/ls/H7W3RRD7C5QG?ref_=wl_share
Patreon(ブログ・動画活動への応援)
月額での小さなご支援が、記事の執筆・検証環境の充実につながります。
https://www.patreon.com/user?u=84249391
Paypal
小さな支援が大きな力になります。
https://paypal.me/soup01threes?country.x=JP&locale.x=ja_JP
知ってたら助かること、届けたいだけです
あなたの応援が、知識の共有をもっと自由で持続可能なものにしてくれます。これからもどうぞよろしくお願いします。
soup01threes*gmail.com
技術はひとりじゃもったいない。
Reference Link
Implementation1-コイルリマーク機能
今回の記事で最初に紹介するんもはコイルリマーク機能です。これは異なるメーカーがどんなコイルを制御するかを簡単なメモにつける機能です。
例えば回路番号27のプログラムにコイルリマークを追加したい場合、該当する回路を選択し→編集→図面作成ー>コイルリマーク作成をクリックします。

コイルリマークの編集表示画面が表示されます。

回路に合わせて適切な記述を入れましょう。

Done!これでコイルリマークが追加されました。

また、プログラムには複数のコイルリマークにも記入可能です。

Implementation2-ローカルインスタンス
今回はローカルインスタンスを使用しています。最初にINTERLOGICの標準的なFBで紹介しますが、このローカルインスタンスのコンセプトを理解できれば更に構造的なプログラムを作成できます。
最初に新しいPOUを追加します。今回もLDを使用します。

ローカルインスタンスのTabを開き→右クリック→挿入します。

Done!新しいインスタンスが追加されました。

まずインスタンス名を変更します。

また、今回の記事では以下3つのFBを使用します。
- TON:Delay On Timer
- SR;セットリセット機能、セット優先
- R_TRIG;立ち上げ検知
それらのFBを使用するにはそのFBのメモリを確保する必要があります。たとえといいますと、FBは車の設計図・インスタンスはその設計図に沿って作成した車です。

次はFUN/FBを追加します。

ファンクションブロック→ローカルインスタンスには先程定義したインスタンスを選択できます。

次はいつも通り入力パラメータ・出力パラメータを割り付けましょう。

Done!これでTONのFBが追加されました。

次はR_TRIGです。

最後はADD関数を追加し、R_TRIGが立ち上げ信号が検知した度に+1します。

Done!こちらはプログラムになります。

最後はSRの動きを確認していきましょう。
- S:M310=TRUE
- R:M311=FALSE
- Q:312=TRUE
になります。

もしSとRにもONした場合は、
- S:M310=TRUE
- R:M311=TRUE
- Q:312=TRUE
になります。

もしRがONした場合は、
- S:M310=FALSE
- R:M311=TRUE
- Q:312=TFALSE
になります。

Implementation3-配列
最後はINTERLOGICで配列を使用します。変数定義のTABには要素数という項目があり、この値が0以上の場合は配列の定義になります。
下図の例では長さ32のBool配列を定義します。

次はAND関数を使用してみます。

変数を選択するとき、先程定義したBool配列に要素数32に書いています。

次は要素番号のCheckBoxを入れます。

次は配列内に使用するIndexを指定します(0からスタート)。

Done!

これで完成です。

実際配列変数をモニターするとき、配列変数に”現在値表示”のボタンがあります。

そして配列変数のすべての要素の現在値を確認へ変更できます。

