直近 4 個の読み取り値を平均する: 移動平均の演習
ノイズの多いレベルをなめらかにします。読み取り値を4つ持ち、新しいものが来るたびに、いちばん古いものと入れ替えます。
SmoothedLevel を、直近4個の Level の読み取り値の平均として求めます。Readings という、スロットが0から3の4つある REAL の配列に保存します。Sample が ON の間は、スキャンごとに読み取り値を1つ取ります。それを WriteIndex が指すスロットに入れ、そのあと WriteIndex を1つ進めます。スロット3の次は、WriteIndex を0に戻します。こうすると、最新の読み取り値が、いちばん古いものと入れ替わります。4つのスロットを FOR ループで足し合わせ、4で割ります。
カード登録不要。支払いなし。解約手続きなし。
Official release: 5 December. 当日ランキング1位になると、Pro 3か月分と、友だちにあげられる Pro 2週間分を獲得できます。2位は4週間分、3位は2週間分です。 ルール
- ゼロから始める、すべてのレッスン
- レベルアップに合わせて、すべてのミッションとレッスン
- 称号ごとの実技テストと、認定証
- どのテストも、1スキャンずつ巻き戻し
- 行き詰まったときの、解説付きの解答
- コード変換ツールを好きなだけ
PRO (Pro が必要) ミッション4つの読み取り値でウィンドウが埋まる
テスト 1 / 4Level測定されたレベル80 %Sample読み取り中ONSmoothedLevel平滑化されたレベル35 %- Level
- 応用
- 時間
- 概要 15 分
- 報酬
- +350 XP
- 設備
- 3D のプロセスタンク
- Siemens のエディタ
- SCL
- Rockwell のエディタ
- ストラクチャードテキスト
- Beckhoff のエディタ
- ストラクチャードテキスト
- ステージ
- 18. 最新の読み値を保つ
直近 4 個の読み取り値を平均する: コードがしなければならないこと
ノイズの多いレベルの読み取り値は、あちこちに跳ねます。なめらかにすると、あとのロジックが、細かいちらつきのたびに反応しなくなります。「トレンド」には、Level と SmoothedLevel が、スキャンごとに並んで表示されます。これは、同じフィルタを使う2つのミッションの1つ目です。ここでは、ウィンドウ、つまり平均する読み取り値の数は、4に固定です。4つのスロットはすべて0.0から始まるので、最初の3つの結果は低く出ます。次のミッションでは、それを直し、ウィンドウの大きさも変えられるようにします。あなたのフィルタは、あとのロジックのための数値を求めるだけで、ポンプやバルブは切り替えません。
- Sample
- Sample が ON なら、スキャンごとに Level の読み取り値を1つ取ります。Sample が OFF なら、SmoothedLevel はそのままにします。
- 保存して、一周する
- 読み取り値は、4つのスロットの次のスロットに入ります。4つ目の次は1つ目に戻るので、最新の読み取り値が、いちばん古いものと入れ替わります。バッファの作り方は、お任せします。
- 平均
- 読み取り値を取るたびに、SmoothedLevel は、4つのスロットを足して4で割った値です。小数点以下の桁は保ちます。
- 最初の3つの読み取り値
- 4つのスロットはすべて0.0から始まり、SmoothedLevel も同じです。空のスロットも、0として数えます。そのため、10%と30%だけが入っているとき、結果は10%です。40を4で割った値です。
直近 4 個の読み取り値を平均する: 入力と出力
プログラムは 2 個の入力を読み、1 個の出力を設定します。 名前はどのメーカーのエディタでも同じです。
直近 4 個の読み取り値を平均する: テストでチェックする内容
- 読み取り値を取るたびに、SmoothedLevel は、4つのスロットを足して4で割った値です。読み取り値の小数点以下の桁は保ちます。
- 5つ目の読み取り値は1つ目と入れ替わり、そのあとも同じように4つのスロットを順に回ります。読み取り値がいくつ来ても同じです。
- Sample が OFF の間は、平均は動きません。Sample を ON にしたままだと、スキャンごとに読み取り値が1つ加わります。
- 試す モデルの下のボタンを使い、設備の反応を見てください。
- 解答をテスト ボタン1つで、すべてのチェックがあなたのコードで実行されます。
- 巻き戻し PRO (Pro が必要) 不合格のチェックがあれば、1スキャンずつさかのぼって原因を確かめられます。
このミッションで行き詰まりましたか?こちらでメンバーに聞いてみましょう: ロッカールーム.
現場で目にする場面
水面の波立ちで、工場のタンクのレベルの読み値が飛び跳ねます。作業者は、表示でもっと安定した数を見たいのです。
最新の4つの読み値を平均すると、波立ちがなめらかになります。違うスロットに残った読み値や、入れ替わらない読み値があると、数値が正しくなくなり、本当の変化が隠れます。
飲料工場では、バルブが決まった量の水とシロップを混合タンクに入れます。電動ミキサが、それを 1 バッチに混ぜます。そのあと出口バルブが、飲料を貯蔵タンクへ送ります。充填機がそこからボトルに詰めます。
- 原料タンク水とシロップを入れておく
- ミキシングタンク1 バッチを満たし、混ぜ、測る現在地
- 貯蔵タンク完成した飲料をすぐ使える状態で保つ
- ボトル充填機飲料をボトルに入れる
実際の現場:場所、部品、安全
- 飲料工場 — 水とシロップの調合
- 塗料工場 — 原料を混ぜて均一な色にする
- 浄水場 — 決まった量の薬品の混合液を準備する
- 醸造所 — 設備洗浄用のお湯を温める
満杯のタンクは、自分の入口を閉じません。バルブが閉じるまで水が入り続けるので、入口が開いたままだと部屋が水浸しになるおそれがあります。
液体に覆われていないヒーターは、過熱するおそれがあります。本物のタンクには、PLC プログラムとは別に、安全装置もあります。
大きさ、タイミング、断面図は教えるための選択で、特定の実際の設備を描いたものではありません。