2026年、AUTONDMYのOPENPLC V4は大幅な更新があり、EditorとRuntimeにもV4が正式リリースしました!このシリーズは実際にOPENPLC V4を使って様々な検証を行っていきます。第2話ではIECタイマー、Counterの追加・Debug Tab使用などの操作を紹介します。
またOpen PLC RuntimeはAdvantechのAMAX-7580 100D5AのDockerコンテナにインストールします。
さ、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/openplc/
Implementation
それでは実際にプログラムを作成していきましょう。
IECタイマー追加
今度はIECタイマーを使用します。下図に示しているBlockをRungに追加しましょう。

Done!新しいBlockが追加されました。

先程追加したBlockをダブルクリックし、呼び出したいFB/FCを選択します。

または、直接BlockにTONを入力します。
今回はTON(IEC遅延ONタイマー)を追加します。

Done!IECタイマーが追加されました。

OPENPLC V4のEditorには変数の自動宣言も可能です。変数を入力する際にAdd Variablesをクリックします。

下図のようにBlockの入出力パラメータを割り付けましょう。

ダウンロード
プロジェクトをRuntimeにDownloadしましょう。

デバッグ開始
次は回路モニタリングをスタートします。

Done!IECタイマーも正常に動きました。

コメント追加
OPENPLC V4のラダーEditorには各Rung分けてコメントを付けられます。

下図のようにプログラムの用途に合わせてRungコメントを作成しましょう。

Rung表示・非表示
プログラムが長くなると、必要ではない回路を一旦閉じて非表示することができます。その場合は下図の赤枠の矢印ボタンをクリックしてください。

Done!ラダー回路が閉じられました。

CTU FB追加
今度はIEC Counterを追加しましょう。左にあるLibraryからCTUブロックを新しいRungに追加します。

Done!CTU FBに必要なInstanceにも自動的に宣言されます。

あとはCTU BLOCKに必要な入出力パラメータを割り付けましょう。また、今度はCU入力と接続してるxCoutnerUP A接点を立ち上げ検知に変更します。この接点をダブルクリックします。

接点タイプの設定画面が表示され、Rising Edgeを設定し、Comfirmします。

Done!

次はリセットコイルを追加します。

先程追加したコイルをダブルクリックし、”Reset”を選択し、Confirmします。

Done!

結果
最後はプログラムの動作を確認していきましょう。

そしてxCoutnerUPを2回立ち上げるとxCounterQがTRUEになります。

Add関数追加
最後は計算関数ADDブロックを追加しましょう。

xCounterQがTRUEになるたびにiCounterValue1を+1にします。

現在値モニタリング
ラダー図ではBool変数そのままTrue/Falseで確認できますが、それ以外の変数をモニタリングすることも可能です。変数の宣言部にはDebugというボタンがあり、モニタリングしたい変数をクリックします。

そしてEditor下部にDebuggerのTabをクリックします。

先程登録した変数のモニタリングが可能になります。

また、そのDebug Tabから変数の現在値を変更することもできます。

最後に、変数の隣にある目アイコンのボタンをクリックしてください。

該当する変数のリアルタイムトレードが表示されます。
