戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

エンベデッドシステムスペシャリスト 2012年 午後1 問02


スマートアダプタに関する次の記述を読んで、設問1~3に答えよ。

 B社は、スマートアダプタ(以下、アダプタという)を開発している。アダプタは、一般家庭の電源コンセントに接続し、エアコン、冷蔵庫などの、アダプタに接続された家電製品(以下、接続機器という)の消費電力量の計測及び通電の制御を行う。アダプタには親機及び子機があり、1台の親機と複数台の子機とが、電力線を利用したLAN(以下、PLCという)で接続される。   〔アダプタとPCとの接続〕  アダプタとPCとの接続構成を図1に示す。
エンベデッドシステムスペシャリスト試験(平成24年 午後1 問2 図1)
 USB I/Fを介してPCを親機に接続し、PC上の管理ソフトウェアを使用して、接続機器の消費電力量の情報表示、及び通電を制御するための各種設定を行う。   〔アダプタの概要〕  アダプタの外観を図2に、アダプタの構成を図3に、それぞれ示す。
エンベデッドシステムスペシャリスト試験(平成24年 午後1 問2 図2, 3)
〔アダプタの制御部の構成〕  アダプタの制御部の主要な構成要素及びその説明を表1に示す。
エンベデッドシステムスペシャリスト試験(平成24年 午後1 問2 表1)
〔管理ソフトウェアの機能概要〕  ・全ての接続機器の通電スケジュールを親機に設定することができる。通電スケジュールは、曜日、時刻での通電・遮断を設定できる。  ・全ての接続機器の定格電力を親機に設定することができる。  ・全ての接続機器の消費電力量及び漏電の有無を親機から収集し、表示する。  ・全ての接続機器の通電・遮断の状態、及び定格電力オーバの有無を親機から収集し、表示する。   〔親機の機能〕  ・親機の接続機器の消費電力量は、電力量センサによって計測及び収集する。子機の接続機器の消費電力量は、子機から送信される電力量通知メッセージによって収集する。収集した接続機器の消費電力量をそれぞれ積算し、フラッシュメモリに蓄積する。  ・管理ソフトウェアによって設定された、接続機器の通電スケジュール及び定格電力を、フラッシュメモリに保存する。  ・定格電力が設定されている接続機器があれば、消費電力が定格電力を超えていないかどうかをチェックする。定格電力を超えている場合、該当するアダプタの赤色LEDを点滅させる処理を行う。  ・通電スケジュールに従い、各アダプタに通電の制御を指示する。指示先が親機自身の場合、親機の通電スイッチを制御する。指示先が子機の場合、親機から通電制御指示メッセージを子機に送信することによって指示する。  ・全ての接続機器の消費電力量及び漏電の有無を管理ソフトウェアに通知する。  ・全ての接続機器の通電・遮断の状態、及び定格電力オーバの有無を管理ソフトウェアに通知する。  ・子機がPLC上でメッセージの送受信ができる状態(以下、プラグイン状態という)、及び子機がPLC上でメッセージの送受信ができない状態(以下、プラグアウト状態という)を認識し、プラグ状態として管理する。   〔子機の機能〕  ・接続機器が1Wh消費するごとに、親機に電力量通知メッセージを送信する。  ・親機からの通電制御指示メッセージに従い、通電・遮断する。また、電源コンセントに接続した直後から通電制御指示メッセージを受信するまでは、遮断する。  ・親機からアラーム通知メッセージを受信すると、赤色LEDを点滅する。   〔親機及び子機の共通機能〕  ・通電状態のときには赤色LEDを点灯し、遮断状態のときには緑色LEDを点灯する。  ・接続機器の漏電を検出したら、最優先で遮断し、緑色LEDを点滅する。   〔親機と子機間の通信メッセージ〕  親機と子機間の通信メッセージを、表2に示す。
エンベデッドシステムスペシャリスト試験(平成24年 午後1 問2 表2)
〔親機の制御部のタスク構成〕  アダプタの制御部のソフトウェアには、リアルタイムOSを用いる。親機の制御部のタスク構成を図4に、主要タスク一覧を表3に、それぞれ示す。
エンベデッドシステムスペシャリスト試験(平成24年 午後1 問2 図4)

設問1:子機の台数、接続機器の消費電力量について、(1)、(2)に答えよ。

 プラグイン状態にある子機の台数が一定で、それらの接続機器が定格電力以下で正常に動作し、かつ、通電・遮断の変化が発生しない状態(以下、定常状態という)で、PLCの平均回線使用率を80%以下に抑えたい。そこで、プラグイン状態にある子機の台数、全ての接続機器の消費電力量の合計値について検討した。ここで、PLCの実効伝送速度を5,000ビット/秒とし、PLC上でメッセージの消失は発生しないものとする。

設問1(1)

問題文を見る
定常状態において、PLCの平均回線使用率を求めるときに考慮すべき、親機と子機間の通信メッセージを全て答えよ。

模範解答

プラグイン確認メッセージ、プラグイン応答メッセージ、電力量通知メッセージ

解説

解答の導き方

定常状態でPLCの平均回線使用率を求めるため、まず、子機と親機の間で繰り返し発生する通信を考えます。設問では「通電・遮断の変化が発生しない」とされているため、状態の変化をきっかけに送られるメッセージは、定常状態の通信量には含めません。
表2では、親機がプラグイン状態を「2秒ごとに」確認し、子機がその確認に応答するとあります。このため、プラグイン状態を維持している間は、プラグイン確認メッセージとプラグイン応答メッセージが繰り返し送受信されます。
また、子機は「接続機器が1Wh消費したこと」を親機に通知します。接続機器は定常状態でも電力を消費するため、電力量通知メッセージも繰り返し発生します。
一方、プラグイン通知メッセージは、表2によると子機を電源コンセントに接続したときに「1回だけ」送信されます。接続のたびに発生するメッセージなので、一定の時間にわたる定常状態の通信としては数えません。通電制御指示メッセージも通電・遮断の変化がない条件では発生せず、アラーム通知メッセージも接続機器が定格電力以下で動作する条件では発生しません。
したがって、定常状態の平均回線使用率を求める際に考慮するのは、プラグイン確認メッセージ、プラグイン応答メッセージ、電力量通知メッセージです。

誤りやすいポイント

  • 表2にあるメッセージをすべて通信量に含めないようにします。定常状態で繰り返し発生するかどうかを、各メッセージの送信条件から判断します。
  • プラグイン通知メッセージは子機の接続時に送信されます。接続時に一度だけ発生する通信と、定常状態で継続的に発生する通信を区別します。
  • 通電制御指示メッセージは、通電・遮断を切り替えるためのものです。設問ではその変化が発生しないので、定常状態の通信には含めません。
  • 電力量通知メッセージは、定格電力を超えたときではなく、接続機器が1Wh消費するごとに発生します。正常に動作している条件でも考慮が必要です。

FAQ

Q: プラグイン確認メッセージはブロードキャストですが、子機の台数分だけ送信されますか?
A: 表2では、親機が2秒ごとにブロードキャストメッセージで確認するとされています。確認メッセージと、各子機から返るプラグイン応答メッセージは分けて考えます。
Q: 消費電力が定格電力以下なら、電力量通知メッセージは発生しませんか?
A: 発生します。定格電力以下という条件はアラーム通知が発生しないことに関係しますが、電力量通知は1Wh消費するごとに送られます。
Q: プラグイン通知メッセージを平均回線使用率の計算から外すのはなぜですか?
A: 子機を接続したときに1回だけ送信されるメッセージだからです。定常状態で繰り返し発生する通信とは区別します。

関連キーワード: 回線使用率、実効伝送速度、ブロードキャスト通信、周期通信、イベント通知

解説を読んでも分からないところは、AIに質問できます。 この問題の本文と解説をふまえて答えます。

この設問をAIに質問する

クイズモードで開きます(AIへの質問は無料の会員登録で使えます)

設問1(2)

問題文を見る
子機の台数を台、全ての子機の接続機器の消費電力量の合計をWhとすると、定常状態において、PLCの平均回線使用率が80%以下のとき、次の関係式が成り立つ。式中のa、bに入れる適切な数値を求めよ。答えは小数第1位を四捨五入して、整数で求めよ。   a − b

模範解答

a:43,200 b:900

解説

解答の導き方

  1. PLCで使える通信量を求めます。
    PLCの実効伝送速度は「5,000ビット/秒」で、平均回線使用率を「80%以下」にする条件です。したがって、1秒当たりに使える通信量は
    ビットです。
    1時間を秒として、1時間当たりの上限を求めると、
    ビットになります。
  2. 定常状態で繰り返されるプラグ状態の確認通信を数えます。
    表2では、プラグイン確認を「2秒ごとにブロードキャストメッセージで確認する」とあります。ブロードキャストなので、子機が台あっても、確認メッセージ自体は1回の確認につき1通です。
    1時間当たりの確認回数は回です。電文長はビットなので、確認メッセージの通信量は
    ビットです。
  3. 各子機からの応答通信を数えます。
    プラグイン応答の電文長はビットです。プラグイン状態にある子機は確認のたびに応答するため、1時間当たりの通信量は、子機1台につきビットです。子機が台あるので、全体では
    ビットです。
  4. 消費電力量の通知通信を数えます。
    表2では、電力量通知は接続機器が「1Wh消費したこと」を親機に通知するメッセージで、電文長はビットです。子機に接続された機器の消費電力量の合計がWhなら、通知の通信量はビットです。
  5. 通信量の合計を上限以下にします。
    定常状態では、通電・遮断の変化がなく、定格電力オーバもありません。そのため、通電制御指示やアラーム通知、接続時だけ送るプラグイン通知は、定常状態の繰返し通信として数えません。
    以上から、1時間当たりの通信量は

    であり、これがビット以下となる必要があります。
    両辺をで割ってについて整理すると、

    となります。したがって、式の定数項は、の係数はです。どちらも整数なので、指定された四捨五入をしても値は変わりません。

誤りやすいポイント

  • プラグイン確認を子機ごとに送ると考えてしまう点です。表2ではブロードキャストなので、確認メッセージは1回につき1通です。一方、応答は各子機から送られます。
  • 消費電力量の通知だけを数え、定常状態でも繰り返されるプラグイン確認とプラグイン応答を見落とす点です。
  • プラグイン通知を定常状態の通信に含める点です。これは子機を電源コンセントに接続したときに1回だけ送るメッセージです。
  • 1時間当たりの確認回数を回としてしまう点です。確認は2秒ごとなので、回数はです。

FAQ

Q: プラグイン確認は、子機の台数分だけ通信量に加えるのですか?
A: いいえ。確認はブロードキャストで送るため、確認メッセージは1回につき1通です。ただし、応答メッセージは子機ごとに数えます。
Q: 通電制御指示やアラーム通知を数えないのはなぜですか?
A: 定常状態では通電・遮断の変化がなく、接続機器は定格電力以下で正常に動作します。そのため、これらの通知は定常状態で繰り返される通信には含めません。
Q: 親機に接続された機器の消費電力量も、に含めますか?
A: いいえ。ここでのは、子機に接続された機器の消費電力量の合計です。親機の消費電力量は電力量センサで計測され、子機からPLCで送られる電力量通知とは別に扱います。

関連キーワード: 回線使用率、実効伝送速度、ブロードキャスト、通信メッセージ、消費電力量

解説を読んでも分からないところは、AIに質問できます。 この問題の本文と解説をふまえて答えます。

この設問をAIに質問する

クイズモードで開きます(AIへの質問は無料の会員登録で使えます)

設問2:親機の制御部のソフトウェア設計について、(1)、(2)に答えよ。

設問2(1)

問題文を見る
表3中の下線①の処理において、親機の接続機器が定格電力を超えた場合は、I/Oタスクに赤色LEDの点滅を指示するが、子機の接続機器が定格電力を超えた場合は、どのような処理を行うか。30字以内で述べよ。

模範解答

PLCタスクにアラーム通知メッセージの送信を要求する。

解説

解答の導き方

表3では、定格電力を超えたときの処理として「該当するアダプタの赤色LEDを点滅する」とあります。ここで、対象が親機の接続機器か、子機の接続機器かによって、LEDを点滅させる方法が異なります。
親機の接続機器であれば、親機の制御部にあるI/Oタスクへ指示できます。一方、子機のLEDは子機側にあるため、親機のI/Oタスクから直接点滅させるのではなく、親機から子機へ通知する必要があります。
表2には、消費電力が定格電力を超えたことを子機に通知する「アラーム通知」メッセージがあります。また、子機の機能として「親機からアラーム通知メッセージを受信すると、赤色LEDを点滅する」とあります。したがって、子機の接続機器が定格電力を超えた場合は、このメッセージを子機に送信します。
表3のPLCタスクは、PLCを介して子機とメッセージを送受信する役割です。そのため、電力情報タスクは、PLCタスクにアラーム通知メッセージの送信を要求します。

誤りやすいポイント

  • 親機の場合と同じように、子機の場合もI/OタスクにLED点滅を指示すると考えてしまうことです。子機のLEDは、親機からの通知を受けて子機側で点滅します。
  • 通電制御指示メッセージと混同することです。通電制御指示は通電・遮断の指示であり、定格電力超過の通知にはアラーム通知メッセージを使います。
  • 電力情報タスクが子機へ直接メッセージを送信すると考えることです。子機とのメッセージ送受信を担うのはPLCタスクです。

FAQ

Q: なぜ親機のI/OタスクにLEDの点滅を依頼しないのですか?
A: I/Oタスクが制御するのは親機側の入出力です。子機のLEDは、子機がアラーム通知メッセージを受信して点滅させます。
Q: 定格電力を超えたときに、通電制御指示メッセージを送ればよいのですか?
A: 通電制御指示メッセージは通電・遮断を指示するものです。定格電力超過を子機に知らせるには、アラーム通知メッセージを使います。
Q: 子機へのメッセージ送信を担当するのはどのタスクですか?
A: PLCを介した子機とのメッセージ送受信を担当するPLCタスクです。

関連キーワード: タスク間通信、PLC通信、LED制御、定格電力監視、通知メッセージ

解説を読んでも分からないところは、AIに質問できます。 この問題の本文と解説をふまえて答えます。

この設問をAIに質問する

クイズモードで開きます(AIへの質問は無料の会員登録で使えます)

設問2(2)

問題文を見る
I/Oタスクのタスク優先度を最も高くした。考えられる理由を35字以内で述べよ。

模範解答

接続機器の漏電を検出したら、直ちに遮断できるようにしたいから

解説

解答の導き方

この設問では、I/Oタスクの優先度を最も高くした理由を、タスクの役割から考えます。
表1では、漏電検出部が漏電を検出すると、割込みコントローラに割込みを要求すると説明されています。漏電は、検出後に速やかに対処する必要がある異常です。
さらに表3では、I/Oタスクが漏電を検出した場合、「遮断後、緑色LEDを点滅してメインタスクに異常を通知する」とされています。また、親機及び子機の共通機能には、漏電を検出したら「最優先で遮断する」とあります。つまり、漏電時は、LEDの表示やメインタスクへの通知よりも、まず接続機器への通電を止めることが重要です。
I/Oタスクの優先度を最も高くすれば、ほかのタスクの処理によって待たされにくくなり、漏電を検出したときに速やかに遮断できます。したがって、優先度を高くした理由は、接続機器の漏電を検出したら、直ちに遮断できるようにするためです。

誤りやすいポイント

  • 赤色LEDの点滅と混同しないようにします。定格電力オーバを検出したときの処理もありますが、この設問で優先度の理由となるのは漏電時の遮断です。
  • LEDの点滅やメインタスクへの通知を、最優先の処理と考えないようにします。表3では、I/Oタスクはまず遮断し、その後に表示と通知を行います。
  • 優先度を高くする目的は、漏電を検出した後のタスク処理を遅らせないことです。優先度そのものが漏電の検出を行うわけではありません。

FAQ

Q: 漏電を検出したとき、最初に行う処理は何ですか?
A: 接続機器への通電を遮断します。その後、緑色LEDを点滅させ、メインタスクに異常を通知します。
Q: 定格電力オーバの処理も、I/Oタスクを最優先にする理由ですか?
A: いいえ。定格電力オーバでは赤色LEDの点滅などを行いますが、この設問で問われている優先度の理由は、漏電時に速やかに遮断することです。
Q: 優先度が高いと、なぜ遮断が速くなるのですか?
A: 漏電時にI/Oタスクが実行可能になったとき、優先度の低いタスクの処理を待つ時間を抑えられるためです。

関連キーワード: タスク優先度、リアルタイムOS、割込み処理、漏電検出、通電遮断

解説を読んでも分からないところは、AIに質問できます。 この問題の本文と解説をふまえて答えます。

この設問をAIに質問する

クイズモードで開きます(AIへの質問は無料の会員登録で使えます)

設問3:親機の制御部の不具合の原因と対策について、(1)、(2)に答えよ。

 アダプタの評価中、通電状態の子機を電源コンセントから抜き、再び接続したところ、その子機のコンセントが遮断状態のままになってしまう不具合が発生した。原因を調査したところ、親機の制御部に不具合があることが判明した。

設問3(1)

問題文を見る
不具合の原因に関する次の記述中のc~hに入れる適切な字句を答えよ。    子機を電源コンセントから抜いて、親機が子機のプラグアウト状態を認識するまでの間に、子機を再び電源コンセントに接続した場合を考える。接続後、子機はコンセントを遮断状態にして、cメッセージを送信する。このメッセージを受信したdタスクは、管理している子機がプラグイン状態のままなので、メッセージを破棄してしまう。その結果、eタスク及びfタスクに対し、gが変化したことが通知されないので、hメッセージが子機に送信されないことから、不具合が発生したと考えられる(eとfは順不同)。

模範解答

c:プラグイン通知 d:プラグ管理 e:メイン f:通電制御 g:子機のプラグ状態 h:通電制御指示

解説

解答の導き方

この不具合のポイントは、子機を抜いたあと、親機がプラグアウト状態を認識する前に子機が再接続されることです。
  1. 子機は、電源コンセントに接続した直後から親機の通電制御指示メッセージを受信するまでは、コンセントを遮断状態にします。また、接続したときに親機へ一度だけ送信するメッセージは「プラグイン通知」です。したがって、空欄cに入るのは「プラグイン通知」です。
  2. 表3では、子機のプラグ状態を管理し、その状態の変化をメインタスクに通知するタスクとして「プラグ管理」が示されています。プラグイン通知を受信した後、管理中のプラグ状態と照らし合わせるのはこのタスクなので、空欄dは「プラグ管理」です。
  3. 親機は、プラグイン確認に対して2回連続で応答を受信できない場合に、子機をプラグアウト状態とみなします。再接続がその判定より先だと、親機が管理している子機の状態はまだプラグイン状態のままです。そのため、プラグ管理タスクは再び届いたプラグイン通知を、状態の変化がないものとして破棄してしまいます。
  4. 表3によると、プラグ状態の変化はプラグ管理タスクからメインタスクへ伝わり、メインタスクから通電制御タスクへ通知されます。しかし、プラグ管理タスクが通知を破棄すると、この2つのタスクに子機の状態変化が伝わりません。よって、空欄eとfは「メイン」と「通電制御」です。
  5. 通電制御タスクに変化が伝わらないため、再接続した子機へ通電を指示できません。したがって、通知されない変化を表す空欄gは「子機のプラグ状態」、子機に送信されないメッセージを表す空欄hは「通電制御指示」です。

誤りやすいポイント

  • プラグイン通知とプラグイン応答を混同しないようにします。プラグイン通知は子機を接続したときに送るメッセージで、プラグイン応答は親機からのプラグイン確認に対する応答です。
  • 子機を抜いた時点ですぐに、親機がプラグアウト状態を認識するとは限りません。認識前に再接続されると、親機が管理する状態と実際の接続状況にずれが生じます。
  • メインタスクだけでなく、メインタスクから通知を受けて通電を制御する通電制御タスクにも、状態変化が伝わらない点に注意します。
  • 子機が再接続後に遮断状態になるのは、通電制御指示メッセージを受信するまでは遮断する仕様のためです。

FAQ

Q: 子機が再接続したときに、なぜ自動で通電状態に戻らないのですか?
A: 子機は接続直後、親機から通電制御指示メッセージを受信するまで遮断状態にする仕様です。親機側で状態変化が正しく処理されないと、その指示が送られません。
Q: なぜ親機は子機をプラグアウト状態と認識できていないのですか?
A: 親機は、プラグイン確認に対する応答を2回連続で受信できなかった場合に、子機をプラグアウト状態とみなします。再接続がその判定前なら、親機の管理状態はプラグイン状態のままです。
Q: プラグ管理タスクが通知を破棄すると、なぜ通電制御に影響するのですか?
A: 表3では、プラグ状態の変化がメインタスクを経由して通電制御タスクへ伝わる構成です。変化が通知されなければ、通電制御タスクは子機への指示を行うきっかけを得られません。

関連キーワード: 状態管理、状態遷移、イベント通知、通信タイムアウト、タスク間通信

解説を読んでも分からないところは、AIに質問できます。 この問題の本文と解説をふまえて答えます。

この設問をAIに質問する

クイズモードで開きます(AIへの質問は無料の会員登録で使えます)

設問3(2)

問題文を見る
不具合を回避するために、プラグイン状態にある子機からプラグイン通知メッセージを受信したプラグ管理タスクは、どのような処理を行えばよいか。40字以内で述べよ。

模範解答

メインタスクにプラグアウト通知、プラグイン通知を順次送信する。

解説

解答の導き方

  1. 子機を抜いてから親機がプラグアウト状態を認識する前に再接続すると、親機のプラグ管理タスクは、その子機をまだプラグイン状態として管理しています。再接続した子機は「プラグイン通知メッセージ」を送信しますが、管理上はすでにプラグイン状態なので、状態に変化がないものとして処理されてしまいます。
  2. 子機は、再接続後、親機から通電制御の指示を受け取るまでは遮断状態です。一方、プラグ管理タスクからメインタスクへプラグ状態の変化が通知されなければ、メインタスクから通電制御タスクへの通知も行われず、子機に通電制御指示メッセージが送られません。そのため、子機のコンセントが遮断状態のままになります。
  3. この問題を避けるには、プラグイン状態の子機からプラグイン通知メッセージを受信したとき、メインタスクに状態変化を確実に伝える必要があります。まずプラグアウト通知を送り、その後にプラグイン通知を送れば、メインタスクは「プラグアウト状態になった後、プラグイン状態になった」と順に扱えます。これにより、再接続後の子機に対する通電制御が行われます。

誤りやすいポイント

  • プラグイン通知だけをメインタスクに送ると、管理上はすでにプラグイン状態なので、状態変化として扱われないおそれがあります。
  • 通知の順序を逆にすると、プラグイン状態になった後にプラグアウト状態になったと扱われ、意図した制御につながりません。
  • プラグ管理タスクが子機へ直接通電指示を送るのではありません。プラグ管理タスクからの通知を受けて、メインタスクや通電制御タスクが処理します。

FAQ

Q: 実際には子機を抜いていないのに、なぜプラグアウト通知を送るのですか?
A: 親機がプラグアウトを認識できなかったため、管理上の状態をいったんプラグアウトにし、再接続を状態変化として扱わせるためです。
Q: なぜプラグアウト通知の後にプラグイン通知を送るのですか?
A: プラグアウトからプラグインへの順に通知することで、メインタスクに再接続を正しい状態遷移として認識させるためです。
Q: プラグ管理タスクは、通知を送った後に通電指示も行いますか?
A: いいえ。プラグ管理タスクは状態変化をメインタスクに通知し、通電制御は後続のタスクが行います。

関連キーワード: 状態遷移、イベント通知、タスク間通信、電源制御、リアルタイムOS

解説を読んでも分からないところは、AIに質問できます。 この問題の本文と解説をふまえて答えます。

この設問をAIに質問する

クイズモードで開きます(AIへの質問は無料の会員登録で使えます)

戦国ITクイズ機能

\ せっかくなら /

エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?

クイズ画面へ遷移する→

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について