UNITRONICS#UniStream®_Part02_立ち上げ検知/タイマー

こちらは新しい記事のシリーズで、UNITRONICS社のUniStream®シリーズとUniLogicを利用し様々な検証を行います。第2話では私たちがよくラダー回路で使用する各種のコイル・関数をUniLogicで実装します。

第2話では下記のデバイスを使用します:

  • UNITRONICS社のUS5-C10-TA30

前書き

いつも私の技術ブログとYouTubeチャンネルをご覧いただき、心より感謝申し上げます。また、いまFullさん(full@桜 八重 (@fulhause) / X)と共に毎週水曜日の夜にお届けしている「高橋クリス」ラジオ番組を運営しています。

https://open.spotify.com/show/6lsWTSSeaOJCGriCS9O8O4

技術は独り占めせず、届けるもの

私たちは工場の生産技術や制御に関する技術情報を、ブログや動画などで無料公開しています。「知識は誰でもアクセスできるべき」という信念のもと、現場で役立つ具体的なノウハウやトラブル事例などを発信してきました。すべて無料で続けているのは、「知らなかったせいで困る人」を少しでも減らしたいからです。

また、もしあなたの現場で…

  • 「この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

https://x.com/3threes2

技術はひとりじゃもったいない。

Reference Link

UNITRONICS#UniStream®_Part01_初めのプロジェクト

Implementation1-立ち上げ検知接点・トグルコイル

立ち上げ検知接点は、リンクされたビットオペランドがOFF(論理0)からON(論理1)に変化したとき、1スキャンのみのワンショットパルスを出力します。立ち上げ検知接点を追加するにはラダーEditorの下にあるICONから直接回路から追加できます。

次はトグルコイルを使用します。トグルコイルの例として、照明のスイッチが挙げられます。照明を点けると、スイッチを切り替えるまで点灯し続け、切り替えると消灯します。その後、再びスイッチを切り替えて点灯させるまで、照明は消えたままになります。Toolboxからトグルコイルを追加します。

Done!次はGlobal変数と割り付けてください。

結果

次はトグルコイルの動作を確認してきます。立ち上げ検知が1サイクルのみONしますが、xToggleLampそれでもONをKEEPしています。

もちろんそのSW2をOFFにしてもxToggleLampまたONのままです。

そしてxSW2をもう1回ONしたら、xToggleLampがON→OFFに変わりました。

Implementation2-Up/Down部品

UP/DOWNとはタグにリンクされることなく、ラダーの段のRLOを引き継ぐ部品です。

  • Upエレメントは、入力信号 In がTRUEに変化したときのみ、1サイクルの間だけ出力信号 Out にTRUEを割り当てます。それ以外の場合、Out の値はFALSEです。
  • Downエレメントは、入力信号 In がFALSEに変化したときのみ、1タスク周期の間だけ出力信号 Out にTRUEを割り当てます。それ以外の場合、Out の値はFALSEです。

ToolboxからUP部品を回路に追加します。

Done!UP部品が回路に追加されました。

次はUP部品の前にA接点を追加します。

そしてUpの実行RLOにADD部品を追加しましょう。

次はいつも通り変数を宣言します。

次はADD関数を実行したあと、Reset Coilを追加します。

Reset CoilにONしたxSW3をリセットするように設置しました。

次はRung3の回路を複製します。

Rung4に回路を貼り付けします。

UniLogicにはReplace Elementという機能がありまして、回路の部品を他の部品に置き換えることができます。今回の例ではUp部品をDownに置き換えます。

次はいつも通りの操作で変数を宣言しましょう。

結果

xSW3をONするとiCounterが1のみプラスすることがわかりました。

次はxSW4をOFF→ONに切り替えてもiCounter2がプラスしません。

次はxSW4がON→OFFに変更したらiCounter2がやっとプラス1になります。

Implementation3-タイマー

このタイマーを使用して、出力のONを遅延させます。タイマーの動作が終了すると、TDタイマー出力ビットがONになります。

  1. プリセット値は、が最初に認識されたとき、カレント値に初期ロードされます。
  2. TONタイマーの入力条件が立ち上がると(RLO=TRUE)、タイマーはデクリメントを開始します。
  3. タイマーのカレント値が0に達し、かつタイマーの入力条件がまだONの場合、タイマーOut ビットがONになります。タイマーOut ビットは入力条件が立ち下がる(RLO負)まで ONのままです。
  4. TONタイマーの入力条件が立ち下がると(RLO=FALLSE)、プリセット値がカレント値にロードされます。タイマー動作中に入力条件が立ち下がった場合:
  • タイマーは停止し、プリセット値を再ロードします。
  • カレント値は保持されません。
  • タイマーOut ビットはOFFのままです。
  • 入力条件が立ち上がると(RLO正)、タイマーはプリセット値からデクリメントを再開します。

ToolboxからTimers→Timer TONを回路に追加します。

Done!

次は下図のようにA接点やコイルを追加します。

次はTIMER TONの”A”パラメータにTIMER変数を宣言します。

Power-up Valueは初期値のことを示しています。

下図のように初期値を5sに設定します。

Done!

Timers Tabから現在プロジェクトに宣言されているTimer変数を確認できます。

最後は下図のようにTimer.OutからTimerが現在ONなのかOFFなのかを確認していきましょう。

結果

最初にxTimerONをTrueします。

そして5秒後myTimerPT.OutがTrueになります。

Implementation4-タイマー現在値

次は先ほど定義したタイマーの現在値時間計測値を確認し、MyTimerPT.Currentにアクセスし、Greater Thanブロックを使用し比較します。

次はMyTimerPT.Currentと比較する変数を定義します。

TypeをUINT32に設定してください。

FormatをHH:MM:SS:hhhにします。

次は変数名とPower-up Valueを設定すればOkです。

結果

タイマーの最初に格納されている現在値は5sです。

そして時間計測をスタートするとどんどん減少します。

現在の計測時間が0sになると、xTimerIsONがTRUEになります。

Implementation5-タイマーの設定値変更

最後はTIMERの時間計測の設定値を変更します。今回使用するのは、STORE関数で、整数タグまたは定数値(タグA)を、整数データタグ(タグB)に格納できます。

ToolboxからStore関数を回路に追加します。

下図のようなプログラムを作成し、myTimerPTの時間設定値を設定できるようにします。

結果

最初にmyPTを1000に格納すると、myTimer.PTの設定値は1秒になります。

次はmyPTを30に変更すると、myTimer.PTの設定値は30秒になります。

最後にmyPTを300に変更すると、myTimer.PTの設定値は5分になります。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする