Inovance Easy PLC連載の第2話。今回は、AutoShopでのラダー作成を体験しながら、基本のON/OFF制御、タイマーの使い方、立ち上げ信号の検知方法を紹介します。
さ、FAを楽しもう!
Reference Link
前書き
いつも私の技術ブログと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
Palpay
小さな支援が大きな力になります。
https://paypal.me/soup01threes?country.x=JP&locale.x=ja_JP
知ってたら助かること、届けたいだけです
あなたの応援が、知識の共有をもっと自由で持続可能なものにしてくれます。これからもどうぞよろしくお願いします。
soup01threes*gmail.com
技術はひとりじゃもったいない。
Wiring
Easy500-Easy502についてるローカルIOの配線図は本体に印字されています。
こちらはソース入力の配線図です。
こちらは出力の配線図です。
Implementation
Element Table
最初にElement Tableを開きます。
このテーブルではEasy Series PLCのデバイス一覧になります。
オレンジ枠のボタンをクリックするとX/Y/Mなど他のデバイスを確認することが可能です。
MAINプログラム
次はProgramming>Program Block>MAINを開きます。今回記事で示すプログラム例はすべてこのMAINプログラムの中にあります。
Example1‐Sample Ladder
最初にラダーのHallo word!プログラムを作成します。つまり、A接点がON→出力そのままONのプログラムです。
Add NO Contact
Ladder Chart>Open ContactでA接点をNet1に追加します。
接点のデバイスタイプやアドレスの設定画面が表示されます。
今回はX0を使用したいので、Element NameのDrop-listからXを設定します。
次はAddress欄に0を設定します。
Done!それだけでX0というA設定が追加されました。
Add Coil
次はCoilを追加します。ツールバーから直接部品を追加することも可能です。
OKで進みます。
Done!Coilが追加されました。
次はCoilをクリックし、適切な変数もしくはデバイスを入力してください。
今回はY0に設定します。
Compile
プロジェクトをCPUにDownloadする前に、一回コンパイルしていきましょう。
PLC>Compileします。
Download
最後はPLC>DownloadでプロジェクトをCPUにDownloadしましょう。
OKで進みます。
OKでCPUをストップします。
そしてDownloadが終わったら、またOKをクリックしCPUをRUNにしましょう。
Monitor
現在プログラムの実行状態を確認したい場合は、Debug>Monitorをクリックします。
Done!
Example2-Timer
プログラム例2はタイマーの回路を作成します。
Add Timer
ToolboxからTONR(リセット可能な遅延タイマー)を追加します。
Done!
Define Variables
今度は変数を定義するために、Global Variable >Variable Tableをクリックします。
tTimeSettingといDINTタイプの変数を定義し初期値を2000に設定します。
Assign
TONRのPTパラメータ(遅延時間)を先程定義した変数に割り付けます。
Done!
Result
X0がONしても2秒まだ経ってないので、QはOFFのままになります。
そしてX0がONして2秒後、QがONになります。
Example3−R_TRIG
次はR_TRIGの立ち上げ検知FB使用例を示します。R_TRIGはLibrary>System library>TRIG(1.0)の中にあります。
Add R_TRIG
R_TRIGをNet2に追加します。
Done!
Define Variables
次はVariable Tableでいくつかの変数を追加します。
Define Instance
R_TRIGはFBなので、FB用のInstanceの宣言が必要です。R_TRIG Blockの上にある欄にInstance名を入力してください。
ここで仮にR_TRIG1に宣言します。
Add Instruction
次はX0の立ち上げ信号が検知される度に、ある変数を+1にします。そのためにAdd関数を追加します。
次はVariable TableにいCounterUP変数を宣言します。
下図のようにiCounterUP変数を1加算するように設定します。
Result
Done!X0がONするたびにiCounterUP変数が+1になります。