2019年 春期 応用情報技術者試験 問7

家庭用浴室給湯システム

G社は、家庭用浴室給湯システム(以下、浴室給湯システムという)を開発している。浴室給湯システムは、設定された給湯温度で浴槽に給湯を行う機能と、浴室に入った人が洗い場又は浴槽で動かなくなる事象(以下、異常事象という)を監視して、異常事象が発生したらブザーで同居人に知らせる機能をもつ。浴室給湯システムは、浴室内に設置されるリモコン、浴室の出入口に設置される出入りセンサ、及び浴室外に設置される給湯器で構成される。浴室給湯システムの構成を図1に、浴室給湯システムの構成要素の概要を表1に示す。

図1 浴室給湯システムの構成
表1 浴室給湯システムの構成要素の概要
構成要素名概要
リモコン ・表示器、人感センサ、ブザー、運転ボタン、給湯ボタン、給湯温度変更ボタン、及びMCUで構成される。
・表示器は、設定された給湯温度と、給湯器の運転状態を表示する。
・人感センサは、人の動きを検出したときは1を、検出しなかったときは0を、1秒ごとに出力する。人の動きを検出する範囲は、浴室内に限られる。
・出入りセンサと接続され、出入りセンサの出力を読み出すことができる。
・給湯器と接続され、給湯器に指示を送信することができる。
出入りセンサ ・人が浴室の出入口を横切っていることを検出している間は1を、それ以外の間は0を出力する。人が浴室に入ったのか、浴室から出たのかは判別できない。
・非常に短い間隔で0と1を交互に出力する現象が発生することがある。
給湯器 ・リモコンからの指示に従い、運転、停止、給湯、及び給湯温度の変更を行う。
・リモコンからの各指示のデータ長は、いずれも3バイトの固定長である。
・シリアル I/F の通信速度は、9,600 ビット/秒である。
注記 人感センサの出力、出入りセンサの出力、及びリモコンの各ボタンの入力は、MCUの入力ポートで読み出すことができる。

【出入りセンサの出力の確定方法】

MCUは、出入りセンサの出力を1回の読出しでは確定せず、10ミリ秒間隔で出力を読み出して、5回連続で同じ値が読み出せたときに確定し、その値を確定値とする。

【リモコンの動作】

  1. リモコンは、各ボタンによって操作を受け付け、給湯器に指示を送信する。
  • 運転ボタンが押されたら給湯器の運転又は停止、給湯ボタンが押されたら給湯、給湯温度変更ボタンが押されたら給湯温度の変更というように、ボタンに応じた指示を給湯器に送信する。
  1. リモコンは、人の浴室の出入り及び異常事象を監視する。
  • 人感センサの出力が1であれば、人が浴室に入ったと判定する。
  • 人が浴室に入ったと判定した後、出入りセンサの確定値が1となった後で人感センサの出力が0となれば、人が浴室から出たと判定する。
  • 人が浴室に入ったと判定した後、出入りセンサの確定値が1となる前に、人感センサの出力が連続して3分以上0であれば、異常事象と判定する。
  • 異常事象と判定したら、いずれかのボタンが押されるまでブザーを鳴動する。

【リモコンのソフトウェア構成】

リモコンの組込みソフトウェアには、リアルタイムOSを使用する。異常事象の監視に関係する主なタスクの一覧を表2に示す。

表2 異常事象の監視に関係する主なタスクの一覧
タスク名処理概要
メイン ・リモコン全体の管理及びブザーの鳴動制御を行う。
・監視タスクから"異常"が通知されたら、ブザーを鳴動させる。
・ブザーの鳴動を停止したときは、"解除"を監視タスクに通知する。
出入り検出 ・10ミリ秒間隔で出入りセンサの出力を読み出す。
・確定値が1となったら、"出入り"を監視タスクに通知する。
・一度"出入り"を通知したら、次に"出入り"を通知するのは、確定値が一度0となった後で、再び確定値が1となったときである。
人検出 ・500ミリ秒間隔で人感センサの出力を読み出す。
・出力が1であれば"検出"を、出力が0であれば"未検出"を監視タスクに通知する。
監視 ・出入り検出タスク及び人検出タスクの通知から、異常事象を判定する。
・異常事象と判定した場合は、メインタスクに"異常"を通知する。
平成31年度 春期 応用情報技術者試験 午後 問7