資格道場 › レッスン一覧 › システム構成要素
システム構成要素・8/8・9分

リアルタイム処理と制御

ゴール

リアルタイム処理・ハードリアルタイム・シーケンス制御の定義を、似た用語と取り違えずに選べるようになる。ライントレースカーのセンサ値からモータの上げ下げを正しく決められるようになる。

組込みシステム(家電・自動車・工場の機械に入っているコンピュータ)は科目Aの定番です。定義問題は用語の区別さえできれば確実に取れる得点源です。ライントレースカーの問題は免除試験を含めて4回観測されており、手順どおりに読めば必ず解けます。

このレッスンで稽古する(用語チェック・過去問)

結論:このレッスンで押さえる4つ

  • リアルタイム処理:データが発生したらすぐ処理を始め、決められた時間内に結果を返す処理
  • ハードリアルタイム:期限を1回でも破ると重大な事態になるもの(例:エアバッグ)
  • シーケンス制御:決められた順序・条件に従って、制御を1段ずつ進める方式(例:洗濯機の「洗い→すすぎ→脱水」)
  • ライントレースカー:センサの値から、車が線のどちら側にずれたかを読み取り、逆方向へ戻すように左右のモータを調整する

リアルタイム処理と、ほかの処理方式の違い

リアルタイム処理の要点は「発生と同時に始める」と「制限時間内に返す」の2つです。すぐ応答できるように、プログラムを主記憶(メモリ)に常駐させておくこともあります。試験では、ほかの処理方式の説明が選択肢に並ぶので、次の表で見分けます。

処理方式 ひとことで言うと 見分けるキーワード
リアルタイム処理 発生したらすぐ処理し、期限内に返す 「データの発生と同時」「制限時間内」
バッチ処理 ためておいた処理をまとめて自動で流す 「一連のジョブを自動的に」「手順が確定」
時分割処理(TSS) 1台を複数人で順番に少しずつ使う 「複数のユーザに共用」「専用に見せかける」
スケジュール(定時)起動 決めた時刻にジョブを起動する 「定められた時刻に起動」

たとえるなら、リアルタイム処理は「注文が入ったらすぐ作り、10分以内に出す厨房」です。バッチ処理は「夜にまとめて仕込む」作業にあたります。

リアルタイム処理制限時間すぐ処理データ発生結果を返す期限時間例:注文が入ったらすぐ作り10分以内に出すバッチ処理データをためる決めた時に一括まとめて処理待つ時間例:夜にまとめて仕込む
リアルタイム処理はデータ発生から制限時間までの間に処理が収まる。バッチ処理はデータをためて待ってから、決めた時にまとめて処理する。

ハードリアルタイムとソフトリアルタイム

リアルタイムシステムは、期限を破ったときの被害の大きさで2つに分けます。命や設備に関わるものがハードで、少し遅れても困るだけで済むものがソフトです。

分類 期限を破ると 例
ハードリアルタイム 重大な事故・損害になり、その処理結果は意味を失う エアバッグ制御、ブレーキ制御、ペースメーカ
ソフトリアルタイム 品質や使い勝手が落ちるが、致命的ではない Web配信(動画が少しカクつく)、座席予約、バンキング

座席予約やバンキングは「お金に関わるから重大そう」に見えますが、数秒遅れても事故にはなりません。そのためソフトに分類されます。

シーケンス制御と、ほかの制御方式の違い

シーケンス制御は「手順書どおりに1段ずつ進める」制御です。洗濯機や信号機、工場の組立ラインで使われています。試験では、同じ「制御」と名の付くほかの方式と取り違えさせる問題が出ます。

制御方式 しくみ 見分けるキーワード
シーケンス制御 決めた順序・条件に従って段階的に進める 「定められた順序又は条件」「逐次」
フィードバック制御 結果を測り続け、目標とのズレを打ち消す 「制御量を常に検出」「予測できない外乱に強い」
フィードフォワード制御 外乱(外からの乱れ)を予測し、先回りして修正する 「外乱が予測できる」「前もって修正」
ファジィ制御 「やや多い」のようなあいまいな基準で制御する 「あいまい性」
PID制御 ズレの比例(P)・積分(I)・微分(D)で調整する(フィードバック制御の一種) 「比例・積分・微分」

PLC(工場の機械を動かす専用の制御用コンピュータ)は、ラダー図でシーケンスプログラムを書いて機械を制御します。ラダー図は、はしご(ladder)のような形をした回路図風の書き方です。「リレー回路のハードウェアで制御する」という選択肢は、PLCが置き換えた昔の方式なので不正解です。

シーケンス制御:順に1段ずつ洗いすすぎ脱水決めた順序・条件で次の段へ進むフィードバック制御:測ってズレを直す目標−結果目標比較ズレ制御結果(制御量)測った結果を返す
シーケンス制御は決めた順に1段ずつ進む一本道。フィードバック制御は結果を測って目標と比べ、ズレを打ち消す輪になる。

ライントレースカー:センサ値でモータを調整する

考え方は1つで、「ずれた方向と逆に曲がる」だけです。車は、左右の後輪の速さの差で曲がります。右に曲がりたいなら、左のモータを上げて右のモータを下げます。

この問題の反射型光センサは、黒に掛かるほど出力値が小さくなります。直感(黒い=大きい)と逆なので、ここで取り違えないことが勝負です。

  • センサL出力>センサR出力 → Rのほうが黒に多く掛かっている → 線は右側にある → 右へ曲がる(L上げ・R下げ)
  • センサL出力<センサR出力 → Lのほうが黒に多く掛かっている → 線は左側にある → 左へ曲がる(L下げ・R上げ)

つまり、2つの条件ではモータの上げ下げが必ず逆になります。条件が変わってもモータの動きが同じになっている選択肢(ア・エ)は、その時点で除外できます。

L出力 > R出力L出力 < R出力黒線LR出力 大出力 小黒線LR出力 小出力 大Rが黒に多く掛かるLが黒に多く掛かる線は右側にある線は左側にある右へ曲がる左へ曲がるL上げ・R下げL下げ・R上げ黒に掛かるほど出力は小さい
黒線が掛かったセンサは出力が小さい。出力の小さい側に線があるので、そちらへ曲がるようにモータを上げ下げする。
例題 1

センサ値の大小から、左右モータの上げ下げを決める

図のような黒色で描かれた円に沿って車が走るように,左右の後輪に独立に取り付けられたモータ L 及び R の回転速度を制御する。センサ L 及び R は反射型光センサであり,センサが黒色に掛かる比率が大きいと出力値が小さくなり,黒色に掛かる比率が小さいと出力値が大きくなる。この車を円に沿って走行させるためのモータ回転速度の制御方法として,適切なものはどれか。ここで,二つのセンサの出力値が一致するときには,二つのモータの回転速度を初期値に戻すものとする。
左: 黒い円の線。円周上の一点を拡大した図。拡大図: 黒い帯(円)が上方向(進行方向の矢印が上向き)に走り,その上に車が乗る。車の前方左にセンサL,前方右にセンサR(黒帯の縁付近),車の中央前方に前輪,その下に制御部,後方左に後輪+モータL,後方右に後輪+モータR。ラベル: 進行方向,センサL,センサR,前輪,制御部,後輪,モータL,モータR,円。 表(行=選択肢,列=センサL出力値>センサR出力値のとき[モータL回転速度,モータR回転速度]/センサL出力値<センサR出力値のとき[モータL回転速度,モータR回転速度]):
L>R モータLL>R モータRL<R モータLL<R モータR
ア上げる下げる上げる下げる
イ上げる下げる下げる上げる
ウ下げる上げる上げる下げる
エ下げる上げる下げる上げる

ア センサL出力値>センサR出力値のとき: モータL回転速度 上げる,モータR回転速度 下げる/センサL出力値<センサR出力値のとき: モータL回転速度 上げる,モータR回転速度 下げる
イ センサL出力値>センサR出力値のとき: モータL回転速度 上げる,モータR回転速度 下げる/センサL出力値<センサR出力値のとき: モータL回転速度 下げる,モータR回転速度 上げる
ウ センサL出力値>センサR出力値のとき: モータL回転速度 下げる,モータR回転速度 上げる/センサL出力値<センサR出力値のとき: モータL回転速度 上げる,モータR回転速度 下げる
エ センサL出力値>センサR出力値のとき: モータL回転速度 下げる,モータR回転速度 上げる/センサL出力値<センサR出力値のとき: モータL回転速度 下げる,モータR回転速度 上げる

出典:平成29年度 秋期 基本情報技術者試験 午前 問4

解き方と答えを見る
  1. センサの特性を確認する:黒に掛かる比率が大きいほど、出力値は小さい。
  2. 曲がり方を確認する:右へ曲がるには、左モータを上げて右モータを下げる。左へ曲がるには、その逆にする。
  3. 場合1(L出力>R出力):出力が小さいRのほうが、より黒に掛かっている。線は車の右側にあるので、右へ曲がる。よって、モータLは上げる・モータRは下げる。
  4. 場合2(L出力<R出力):出力が小さいLのほうが、より黒に掛かっている。線は車の左側にあるので、左へ曲がる。よって、モータLは下げる・モータRは上げる。
  5. 選択肢と照合する:場合1が「L上げ・R下げ」、場合2が「L下げ・R上げ」になっているのはイだけ。ア・エは2つの場合で同じ動きなので、そもそも矛盾している。

答え:イ(L>Rのとき L上げ・R下げ/L<Rのとき L下げ・R上げ)

要点(試験直前に読む)

  • リアルタイム処理=「発生と同時に処理を開始」+「制限時間内に出力」。主記憶への常駐もキーワード。
  • ハード=期限切れが重大事故につながる(エアバッグ)。座席予約・バンキング・Web配信はソフト。
  • シーケンス制御=「定められた順序・条件に従って逐次」進める。常に検出=フィードバック、予測して先回り=フィードフォワード、あいまい=ファジィ。
  • PLC=ラダー図で書いたシーケンスプログラムで制御する。PID・A/D変換・リレー回路は別物。
  • ライントレースは「出力が小さい側=黒に掛かっている側」へ曲がる。右へ曲がるなら L上げ・R下げ。

ひっかけ

  • リアルタイム処理の問題で、時分割処理(複数ユーザの共用)やバッチ処理(一連のジョブを自動実行)の説明を選ばせる。→「発生と同時」「制限時間内」の両方が入っている選択肢を選ぶ。
  • 「お金が絡む=重大」と思わせて、バンキングや座席予約をハードリアルタイムに選ばせる。→ 判断基準は人命や設備への被害。数秒遅れて事故になるかで考える。
  • シーケンス制御の説明に、フィードバック(予測できない外乱に強い)やフィードフォワード(外乱を予測)を混ぜる。→「順序・条件」「逐次」の語があるものがシーケンス制御。
  • PLCの説明に、PID制御やリレー回路のハードウェア制御を混ぜる。→ PLCはソフトウェア(ラダー図)で制御する点が肝。
  • ライントレースで「出力が大きい=黒い」と逆に読ませる。→ 問題文のセンサ特性を必ず確認する。2つの条件でモータ操作が同じになっている選択肢は、その時点で除外できる。

用語(14)

リアルタイム処理 りあるたいむしょり
データの発生と同時に処理を始め、決められた制限時間内に結果を返す処理方式。
⚠ バッチ処理は「ためてまとめて」、時分割処理は「1台を複数人で共用」。「発生と同時」「制限時間内」があればリアルタイム処理。
ハードリアルタイムシステム はーどりあるたいむしすてむ
処理期限を1回でも守れないと、重大な事故や損害につながるリアルタイムシステム。
⚠ ソフトリアルタイムは、遅れても品質が落ちるだけ。人命や設備に関わるかどうかで見分ける。
ソフトリアルタイムシステム そふとりあるたいむしすてむ
期限に遅れると品質は下がるが、致命的にはならないリアルタイムシステム。
⚠ 座席予約・バンキング・Web配信は、重要そうに見えてもソフトに分類される。
バッチ処理 ばっちしょり
ためておいたデータやジョブを、決められた手順でまとめて自動的に処理する方式。
⚠ リアルタイム処理と逆で、すぐには処理しない。
時分割処理 じぶんかつしょり(TSS: Time Sharing System)
CPUを短い時間単位で切り替え、1台を複数のユーザが専用機のように同時利用できるようにする方式。
⚠ 「複数ユーザに共用」「専用に見せかける」がキーワード。リアルタイム処理の説明ではない。
シーケンス制御 しーけんすせいぎょ
あらかじめ決めた順序や条件に従って、制御の各段階を順に進めていく方式。
⚠ フィードバック制御は「結果を常に測ってズレを直す」。順序どおりに進めるだけならシーケンス制御。
フィードバック制御 ふぃーどばっくせいぎょ
制御した結果を常に測り、目標値とのズレを打ち消すように修正する方式。
⚠ フィードフォワードは外乱を予測して先回りする。フィードバックは予測できない外乱にも強い。
フィードフォワード制御 ふぃーどふぉわーどせいぎょ
予測できる外乱をあらかじめ想定し、影響が出る前に修正動作を行う方式。
⚠ フィードバックは結果を見てから直し、フィードフォワードは結果が出る前に直す。
ファジィ制御 ふぁじぃせいぎょ
「やや多い」「少し速い」のようなあいまいな基準を使って制御する方式。
⚠ 「あいまい性」という言葉があればファジィ制御。
PID制御 PID: Proportional-Integral-Derivative(比例・積分・微分)制御
目標とのズレの比例・積分・微分の3要素を組み合わせて調整するフィードバック制御。
⚠ PLCの説明として出たら誤り。PLCはラダー図によるシーケンス制御。
PLC Programmable Logic Controller(プログラマブルロジックコントローラ)
工場などの産業機器を、主にラダー図で書いたシーケンスプログラムで制御する専用装置。
⚠ 「リレー回路のハードウェアで制御」は、PLCが置き換えた旧方式。「A/D変換」はA/Dコンバータの役割。
ラダー図 らだーず(ladder diagram)
はしご状の回路図の形で、シーケンス制御のプログラムを書く表記法。
反射型光センサ はんしゃがたひかりせんさ
光を当てて、その反射の強さを測るセンサ。黒は光を吸収するため、黒に掛かるほど反射が弱くなる。
⚠ この過去問では「黒に掛かるほど出力が小さい」。出力の大小を逆に読まないこと。
外乱 がいらん
制御対象に外から加わり、狙った状態からずらそうとする予期しない影響。

このレッスンの過去問

このレッスンで稽古する