こちらは新しいシリーズで、OTeeというVirtual PLCを使用し様々な記事を展開します。第2話ではOTee Platform上でプログラムの作成・変数定義・FBの使用などの手法を紹介します。
さ、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
http://soup01.com/ja/category/otee/
Implementation
新しいプログラムを追加する
OTee Platformに新しいプログラムを追加するために、下記の+ボタンをクリックします。
Create an entityの画面が表示されます。
TypeのDrop-Down Listか追加する項目を変更できます。
今回の記事ではProgramを設定し→Nameでプログラム名を入力し、Saveで設定を保存します。
Done!それで新しいプログラムを追加しました。
ローカル変数の追加
先ほど追加したプログラムを開き、Local Tabを開きます。それはプログラム内のローカル変数の定義エリアになります。変数を追加するには、下記の”Add variable”をクリックします。
Done!それで新しい変数を定義しました。
TON FBを追加
LocalにTON タイマーFBを定義します。先ほど定義した変数の左にあるデータ・タイプ欄をクリックします。
変数のデータ・タイプ選択画面が表示されます。
TONを選択します。
Done!それでTON FBを定義しました。
変数名前変更
読みやすいプログラムを作成するには、分かりやすい変数名を定義していきましょう。
Done!
変数グループ名の編集
実は先程私たちが定義した変数はすでに変数グループの中にあります。その変数グループ名を編集しましょう。
Done!
変数グループの追加
次は変数グループを追加します。プロジェクトが大きくなると、変数をグループで管理したほうが効率的です。
Done!それで新しい変数グループ追加されました。
アプリケーションに合わせて異なるグループを変数で分けましょう。
TONプログラム
次はTONタイマーのFBをプログラムに追加します。
Done!OTee Platformには自動的に入出力のテンプレートも追加されました。
先ほど宣言した変数をパラメータに割り付けていきましょう。
タスクインスタンスの追加
新しいプログラムを追加したので、それを呼び出すインスタンスを作成する必要があります。左にあるTool bar>Configurationをクリックします。
こちらはタスクとグローバル変数の定義画面が表示されます。
Task0の下にある”Add an instance”をクリックします。
Done!新しいInstanceが追加されました。
Drop-Down Listから先程追加したプログラム(今回の例ではOB1)を選択してください。
次はInstance名を変更していきましょう。
Done!
コンパイル
Compileをクリックしプログラムをコンパイルします。
ダウンロード
次は”Download project to device”をクリックしプロジェクトをラスパイにDownloadしてください。
Done!
Tag Browser
結果を確認するため、先程追加したOB1を開き→Tag Browserをクリックします。
Done!こちらの画面から変数の現在値を確認できます。
また、個別の変数現在値を変更したい場合は、その変数をダブルクリックし、新しい値を入力してください。
例えばBOOLタイプの変数をtrueに変更します。
Done!
そしてTONタイマーが時間を加算し始めています。
結果
Done!下図のようにTON.Qは1秒後にTRUEになりました。
CTUプログラム
次はCTU(Counter UP FB)を追加します。ローカル変数エリアにCTUタイプのInstanceを追加してください。
Done!先ほどと同じ操作で変数名などを変更してくださいね。
次はプログラムを追加します。
結果
Done!下図のようにCU入力がOFF→ONの立ち上げ信号が来ると、CV値が1に加算されました。