概要
シーケンス回路ではWeb資料が充実しているオンディレイが、意外にもSimulinkには実装されていないようでしたので、作ってみました。
オンディレイとは、入力ONの一定時間後に出力がONする論理ブロックです。以下に詳しい説明があります。
Panasonic解説サイト
オフディレイは以下で解説してます。
Simulinkでオフディレイ(OFF-delay)
R2020bでは以下で実装されてますが、追加で金が掛かりそうです。
https://jp.mathworks.com/help/physmod/sps/powersys/ref/onoffdelay.html
環境
name | Ver |
---|---|
OS | Ubuntu 20.04LTS |
CPU | AMD Ryzen 9 3900XT |
matlab | R2020b |
モデル設定
0.1秒のオンディレイを作ってみます。
ベースは離散時間積分ブロックです。普通の積分ブロックでもいいかもです。
これを以下のように設定します。
Upper saturation limitがディレイ時間となります。
Down triggerのポートは、入力OFF時に積分値をリッセットするために使っています。これにより繰り返しの入力に対応しています。
すると以下のように出来ます。積分の出力はTerminatorで殺し、Saturation出力を出力としています。
テスト
以下はテストハーネス機能を使用したテスト結果です。
途中に意地悪な0.09秒のON入力を入れていますが、ちゃんと無視をきめています。
あとがき
少々Hack的ですが、タイマーの概念を表現するには積分は適しているのかなと思います。もっとシンプルに構成できる案があったらアドバイスください。
それでは良い制御を。