リアルタイム処理と制御
リアルタイム処理・ハードリアルタイム・シーケンス制御の定義を、似た用語と取り違えずに選べるようになる。ライントレースカーのセンサ値からモータの上げ下げを正しく決められるようになる。
組込みシステム(家電・自動車・工場の機械に入っているコンピュータ)は科目Aの定番です。定義問題は用語の区別さえできれば確実に取れる得点源です。ライントレースカーの問題は免除試験を含めて4回観測されており、手順どおりに読めば必ず解けます。
このレッスンで稽古する(用語チェック・過去問)結論:このレッスンで押さえる4つ
- リアルタイム処理:データが発生したらすぐ処理を始め、決められた時間内に結果を返す処理
- ハードリアルタイム:期限を1回でも破ると重大な事態になるもの(例:エアバッグ)
- シーケンス制御:決められた順序・条件に従って、制御を1段ずつ進める方式(例:洗濯機の「洗い→すすぎ→脱水」)
- ライントレースカー:センサの値から、車が線のどちら側にずれたかを読み取り、逆方向へ戻すように左右のモータを調整する
リアルタイム処理と、ほかの処理方式の違い
リアルタイム処理の要点は「発生と同時に始める」と「制限時間内に返す」の2つです。すぐ応答できるように、プログラムを主記憶(メモリ)に常駐させておくこともあります。試験では、ほかの処理方式の説明が選択肢に並ぶので、次の表で見分けます。
| 処理方式 | ひとことで言うと | 見分けるキーワード |
|---|---|---|
| リアルタイム処理 | 発生したらすぐ処理し、期限内に返す | 「データの発生と同時」「制限時間内」 |
| バッチ処理 | ためておいた処理をまとめて自動で流す | 「一連のジョブを自動的に」「手順が確定」 |
| 時分割処理(TSS) | 1台を複数人で順番に少しずつ使う | 「複数のユーザに共用」「専用に見せかける」 |
| スケジュール(定時)起動 | 決めた時刻にジョブを起動する | 「定められた時刻に起動」 |
たとえるなら、リアルタイム処理は「注文が入ったらすぐ作り、10分以内に出す厨房」です。バッチ処理は「夜にまとめて仕込む」作業にあたります。
ハードリアルタイムとソフトリアルタイム
リアルタイムシステムは、期限を破ったときの被害の大きさで2つに分けます。命や設備に関わるものがハードで、少し遅れても困るだけで済むものがソフトです。
| 分類 | 期限を破ると | 例 |
|---|---|---|
| ハードリアルタイム | 重大な事故・損害になり、その処理結果は意味を失う | エアバッグ制御、ブレーキ制御、ペースメーカ |
| ソフトリアルタイム | 品質や使い勝手が落ちるが、致命的ではない | Web配信(動画が少しカクつく)、座席予約、バンキング |
座席予約やバンキングは「お金に関わるから重大そう」に見えますが、数秒遅れても事故にはなりません。そのためソフトに分類されます。
シーケンス制御と、ほかの制御方式の違い
シーケンス制御は「手順書どおりに1段ずつ進める」制御です。洗濯機や信号機、工場の組立ラインで使われています。試験では、同じ「制御」と名の付くほかの方式と取り違えさせる問題が出ます。
| 制御方式 | しくみ | 見分けるキーワード |
|---|---|---|
| シーケンス制御 | 決めた順序・条件に従って段階的に進める | 「定められた順序又は条件」「逐次」 |
| フィードバック制御 | 結果を測り続け、目標とのズレを打ち消す | 「制御量を常に検出」「予測できない外乱に強い」 |
| フィードフォワード制御 | 外乱(外からの乱れ)を予測し、先回りして修正する | 「外乱が予測できる」「前もって修正」 |
| ファジィ制御 | 「やや多い」のようなあいまいな基準で制御する | 「あいまい性」 |
| PID制御 | ズレの比例(P)・積分(I)・微分(D)で調整する(フィードバック制御の一種) | 「比例・積分・微分」 |
PLC(工場の機械を動かす専用の制御用コンピュータ)は、ラダー図でシーケンスプログラムを書いて機械を制御します。ラダー図は、はしご(ladder)のような形をした回路図風の書き方です。「リレー回路のハードウェアで制御する」という選択肢は、PLCが置き換えた昔の方式なので不正解です。
ライントレースカー:センサ値でモータを調整する
考え方は1つで、「ずれた方向と逆に曲がる」だけです。車は、左右の後輪の速さの差で曲がります。右に曲がりたいなら、左のモータを上げて右のモータを下げます。
この問題の反射型光センサは、黒に掛かるほど出力値が小さくなります。直感(黒い=大きい)と逆なので、ここで取り違えないことが勝負です。
- センサL出力>センサR出力 → Rのほうが黒に多く掛かっている → 線は右側にある → 右へ曲がる(L上げ・R下げ)
- センサL出力<センサR出力 → Lのほうが黒に多く掛かっている → 線は左側にある → 左へ曲がる(L下げ・R上げ)
つまり、2つの条件ではモータの上げ下げが必ず逆になります。条件が変わってもモータの動きが同じになっている選択肢(ア・エ)は、その時点で除外できます。
センサ値の大小から、左右モータの上げ下げを決める
| L>R モータL | L>R モータR | L<R モータL | L<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回転速度 上げる
解き方と答えを見る
- センサの特性を確認する:黒に掛かる比率が大きいほど、出力値は小さい。
- 曲がり方を確認する:右へ曲がるには、左モータを上げて右モータを下げる。左へ曲がるには、その逆にする。
- 場合1(L出力>R出力):出力が小さいRのほうが、より黒に掛かっている。線は車の右側にあるので、右へ曲がる。よって、モータLは上げる・モータRは下げる。
- 場合2(L出力<R出力):出力が小さいLのほうが、より黒に掛かっている。線は車の左側にあるので、左へ曲がる。よって、モータLは下げる・モータRは上げる。
- 選択肢と照合する:場合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配信は、重要そうに見えてもソフトに分類される。
ためておいたデータやジョブを、決められた手順でまとめて自動的に処理する方式。
⚠ リアルタイム処理と逆で、すぐには処理しない。
CPUを短い時間単位で切り替え、1台を複数のユーザが専用機のように同時利用できるようにする方式。
⚠ 「複数ユーザに共用」「専用に見せかける」がキーワード。リアルタイム処理の説明ではない。
あらかじめ決めた順序や条件に従って、制御の各段階を順に進めていく方式。
⚠ フィードバック制御は「結果を常に測ってズレを直す」。順序どおりに進めるだけならシーケンス制御。
制御した結果を常に測り、目標値とのズレを打ち消すように修正する方式。
⚠ フィードフォワードは外乱を予測して先回りする。フィードバックは予測できない外乱にも強い。
予測できる外乱をあらかじめ想定し、影響が出る前に修正動作を行う方式。
⚠ フィードバックは結果を見てから直し、フィードフォワードは結果が出る前に直す。
「やや多い」「少し速い」のようなあいまいな基準を使って制御する方式。
⚠ 「あいまい性」という言葉があればファジィ制御。
目標とのズレの比例・積分・微分の3要素を組み合わせて調整するフィードバック制御。
⚠ PLCの説明として出たら誤り。PLCはラダー図によるシーケンス制御。
工場などの産業機器を、主にラダー図で書いたシーケンスプログラムで制御する専用装置。
⚠ 「リレー回路のハードウェアで制御」は、PLCが置き換えた旧方式。「A/D変換」はA/Dコンバータの役割。
はしご状の回路図の形で、シーケンス制御のプログラムを書く表記法。
光を当てて、その反射の強さを測るセンサ。黒は光を吸収するため、黒に掛かるほど反射が弱くなる。
⚠ この過去問では「黒に掛かるほど出力が小さい」。出力の大小を逆に読まないこと。
制御対象に外から加わり、狙った状態からずらそうとする予期しない影響。
このレッスンの過去問
- リアルタイム処理の定義基本情報技術者試験 科目A免除 修了試験 201012 実施分 問17
- ハードリアルタイムシステムの定義平成21年度 春期 基本情報技術者試験 午前 問19
- シーケンス制御の定義基本情報技術者試験 科目A免除 修了試験 201101 実施分 問27
- ライントレースカーのセンサ値によるモータ制御平成29年度 秋期 基本情報技術者試験 午前 問4