この端末の進捗を読み込んでいます…
PLC Gym
PLC Gym ホームレベル 1, 0 XP · あなたの進捗
ミッション 57 · PRO (Pro が必要)

ジョブを保留して、再開する: PLC のステートマシンの演習

混合ジョブに Held の状態を加え、どの要求を優先するかを決めます。

混合ジョブに Hold、Resume、Stop を加えます。State は引き続き、1つの CASE 文で使う1つの整数(DINT)で、新しい状態が2つあります。30 の Held と 90 の Stopped です。Hold は、すべての出力を OFF にしてジョブを一時停止します。Resume は再開しますが、Hold が解除されてからに限ります。Stop はすべてに優先され、そのあとは Reset だけがジョブをもう一度始められるようにします。State の変更は、1スキャンに多くても1回にしてください。

このミッションは Pro の一部です無料アカウントを作りましょう。すべてのアカウントに 12月5日 まで Pro 無料体験がつきます。

カード登録不要。支払いなし。解約手続きなし。

Official release: 5 December. 当日ランキング1位になると、Pro 3か月分と、友だちにあげられる Pro 2週間分を獲得できます。2位は4週間分、3位は2週間分です。 ルール

  • ゼロから始める、すべてのレッスン
  • レベルアップに合わせて、すべてのミッションとレッスン
  • 称号ごとの実技テストと、認定証
  • どのテストも、1スキャンずつ巻き戻し
  • 行き詰まったときの、解説付きの解答
  • コード変換ツールを好きなだけ
このミッションが動く3DプロセスタンクPRO (Pro が必要) ミッション
テストの進み方

始動、完了、リセット

テスト 1 / 8
テストが設定テストがチェックステップ 9/9 · 460 ms
Level
上級
時間
概要 18 分
報酬
+400 XP
設備
3D のプロセスタンク
Siemens のエディタ
SCL
Rockwell のエディタ
ストラクチャードテキスト
Beckhoff のエディタ
ストラクチャードテキスト
ステージ
16. フェーズをテキストで書く
必要な動作

ジョブを保留して、再開する: コードがしなければならないこと

同じ混合ジョブを使う3つのミッションの2つ目です。下の運転ルールに、各状態と各出力の値をまとめています。同じスキャンに2つの要求が来たときは、IF と ELSIF の行の順番で、どちらが優先されるかが決まります。まず Stop、次に Hold、最後に完了です。

0 · Idle
出力はすべて OFF。Start → 10 ですが、Stop と Hold が解除されているときだけです。他の入力は何もしません。
10 · Running
PumpOn、ValveCmd、MixerOn が ON。Done は OFF。Stop なら → 90。そうでなければ Hold → 30。それ以外で MixDone なら → 50。
30 · Held
出力はすべて OFF。Stop なら → 90。そうでなければ Resume AND NOT Hold → 10。Start、MixDone、Reset では再開できません。
50 · Complete / 90 · Stopped
ポンプ、バルブ、ミキサーは OFF。Done が ON になるのは 50 のときだけです。Reset → 0 ですが、Stop が解除されているときだけです。同じスキャンで、そのまま始動してもいけません。
スキャンとリセットのルール
State は 0 から始まります。State の変更は1スキャンに多くても1回です。State が変わるスキャンでは、出力は古い状態か新しい状態のどちらかに、ひとまとまりで合わせて構いません。次のスキャンからは、現在の状態に合わせる必要があります。Reset は Running と Held では何もしません。
タグテーブル

ジョブを保留して、再開する: 入力と出力

プログラムは 6 個の入力を読み、4 個の出力を設定します。 名前はどのメーカーのエディタでも同じです。

タグデータ型あなたのコード機械の上での意味
StartBOOL読むコードが必要とする入力Start 押しボタン
StopBOOL読むコードが必要とする入力Stop 押しボタン
ResetBOOL読むコードが必要とする入力リセットボタン
MixDoneBOOL読むコードが必要とする入力混合終了
HoldBOOL読むコードが必要とする入力保持ボタン
ResumeBOOL読むコードが必要とする入力再開ボタン
PumpOnBOOL書くコードが設定する出力ポンプ指令
ValveCmdBOOL書くコードが設定する出力入口バルブの指令
MixerOnBOOL書くコードが設定する出力ミキサーの指令
DoneBOOL書くコードが設定する出力ジョブ完了

Siemens SCL では、TIA Portal と同じように、ブロック自身のタグの前に # をつけて書きます: #Start. Rockwell と TwinCAT 名前だけを書きます: Start.

自動テスト

ジョブを保留して、再開する: テストでチェックする内容

  1. どの状態でも、4つの出力すべてを設定します: ポンプ、バルブ、ミキサー、Done。
  2. Held は Resume を待ちます。Hold が解除されてからに限ります。
  3. Stop は Running からも Held からも効き、Hold、Resume、MixDone、Reset より優先されます。Reset は Complete か Stopped のときだけ効きます。
  1. 試す モデルの下のボタンを使い、設備の反応を見てください。
  2. 解答をテスト ボタン1つで、すべてのチェックがあなたのコードで実行されます。
  3. 巻き戻し PRO (Pro が必要) 不合格のチェックがあれば、1スキャンずつさかのぼって原因を確かめられます。

このミッションで行き詰まりましたか?こちらでメンバーに聞いてみましょう: ロッカールーム.

なぜ大切か

現場で目にする場面

オペレーターは、タンクを確認するために混合バッチを一時停止し、そのあと続けます。何か問題があれば、Stop でバッチを終わらせます。

Hold を離しただけで再開するジョブは、オペレーターを驚かせるおそれがあります。同じ瞬間に別のボタンが押されても、Stop が優先されなければなりません。

現場で見かける場所飲料を 1 バッチ作る

飲料工場では、バルブが決まった量の水とシロップを混合タンクに入れます。電動ミキサが、それを 1 バッチに混ぜます。そのあと出口バルブが、飲料を貯蔵タンクへ送ります。充填機がそこからボトルに詰めます。

  1. 原料タンク水とシロップを入れておく
  2. ミキシングタンク1 バッチを満たし、混ぜ、測る現在地
  3. 貯蔵タンク完成した飲料をすぐ使える状態で保つ
  4. ボトル充填機飲料をボトルに入れる
実際の現場:場所、部品、安全
  • 飲料工場 — 水とシロップの調合
  • 塗料工場 — 原料を混ぜて均一な色にする
  • 浄水場 — 決まった量の薬品の混合液を準備する
  • 醸造所 — 設備洗浄用のお湯を温める

満杯のタンクは、自分の入口を閉じません。バルブが閉じるまで水が入り続けるので、入口が開いたままだと部屋が水浸しになるおそれがあります。

液体に覆われていないヒーターは、過熱するおそれがあります。本物のタンクには、PLC プログラムとは別に、安全装置もあります。

大きさ、タイミング、断面図は教えるための選択で、特定の実際の設備を描いたものではありません。

さらに続ける

道のりの次の一歩