Helve’s Python memo

Pythonを使った機械学習やデータ分析の備忘録

エンベデッドシステムスペシャリスト試験 2017年午後IIの計算問題解説

情報処理技術者試験の高度試験の1つである、エンベデッドシステムスペシャリスト試験 (ES) の2017年午後IIの計算問題を解説する。

目次

はじめに

このページでは解説のみ載せるため、問題文は以下のIPA情報処理推進機構)のページから取得されたい。
IPA 独立行政法人 情報処理推進機構:過去問題

ESの他の過去問は以下の通り。
2017年午後I

問1(スマートグリッド

設問1(2)
FCから電力コントローラに出力できる最大電力量を求める問題。
表2より、水素タンクの最大貯蔵量は100m3である。
また、FCは1m3の水素から4kWhの電力量を発生し、定格運転時には発電電力の2%を消費して冷却器で冷却する必要がある。
図3より、冷却電力はFCから直接取得されており、残りの電力が電力コントローラに出力される。
すなわち、FCから電力コントローラに出力できる電力は、発生した電力の98%である。

したがって、解は、
100[m3]×4[kWh/m3]×0.98=392.04[kWh]
小数第1位を四捨五入して、392[kWh]となる。

設問1(4)
表1より、FCは起動指示を受けると出力が直線的に上昇し、20kWの出力に達するまでに12分間掛かる。
すなわち、10kWの出力に達するまでに6分間(0.1時間)掛かる(下図参照)。
よって、FCの起動時に必要な蓄電池の残量は、
(10[kW]×0.1[h])/2=0.5[kWh]
であるから、全体の容量に対する割合は、
0.5[kWh]/100[kWh]=0.5[%]
となる。

f:id:Helve:20190414061313p:plain

設問1(5)(a)
WG部:
表1より、WG部の出力電力は風速10m/秒以下のとき風速に比例する。
また、風速10m/秒のとき最大出力となり、最大出力は20kWである。
図8より、10~11時の風速は6m/秒であるから、WG部の発電出力は次の通り。
6[m/秒]×(20[kW]/10[m/秒])×1[h]=12[kWh]

PV部:
表1より、PV部の出力電力は日射強度1000W/m2以下のとき日射強度に比例する。
また、日射強度1000W/m2のとき最大出力となり、最大出力は20kWである。
図9より、10~11時の日射強度は1000W/m2であるから、PV部の発電出力は次の通り。
1000[W/m2]×(20[kW]/1000[W/m2])×1[h]=20[kWh]

解はWG部とPV部の各発電出力の和であるから、以下の通り。
12+20=32[kWh]

設問1(5)(b)

まず、発電ステーションの余剰電力を求める。
設問1(5)(a)と同様に、13~14時におけるWG部とPV部の出力電力を求めると、それぞれ8[kW], 20[kW]であり、合計は28[kW]である。
また、問題文より、13~14時における外部出力への電力の供給は10[kW]であるから、28-10=18[kW]の電力が余剰となる。

p. 6の[管理CPUの制御](2)より、発電した電力に余剰がある場合は、蓄電池の充電、水電解装置の運転、商用電力網への売電の優先順位で電力を使用する。
問題文より、蓄電池の充電率は100%, 水素の貯蔵率は100%であるから、蓄電池の充電と、水電解装置の運転は不可能である。
また、図2の短期売電情報より、13~14時に売電可能な電力は12[kW]である。
余剰電力18[kW]は12[kW]より大きいため、売電可能な電力は12[kW]である。
よって、13~14時に売電可能な電力量は次の通り。
12[kW]×1[h]=12[kWh]

設問2(1)(a)
図10, 11より、0~6時のWG部の出力は10[kW], PV部の出力は0[kW]である。
また、図12より、外部出力への電力の供給予測は4[kW]である。
よって、(10[kW]-4[kW])×6[h]=36[kWh]の電力量が余剰となる。

表1より蓄電池の容量は100[kWh]であり、問題より充電率は64%である.
すなわち、蓄電池の空き容量は36[kWh]である。
p. 6の[管理CPUの制御](2)より、発電した電力に余剰がある場合は、蓄電池の充電を優先して電力を使用する。
余剰電力は全て蓄電可能である。
よって、電力コントローラへの指示は、次の通り。
「WG部で発電した電力を外部出力し、余剰電力で蓄電池を充電する。」

設問2(2)
管理CPUがタイマ割込み1の周期の間に、メインプログラムの演算を実行できる時間を求める。
表2より、タイマ割込み1の周期は1ミリ秒である。
この間、伝送受信割込みと伝送送信割込みが、合計5回発生する。
また、タイマ割込み2が最大1回発生する。

次に、各割込み処理の実行時間を求める。
実行ステップ数は表2に示されている。
また、表1より、管理CPUのクロック周期は1GHzであり、2クロックで1ステップのプログラムを実行する。
よって、管理CPUで1ステップの実行に掛かる時間は、
2[クロック/ステップ]÷(1×10^9[クロック/秒])=2×10^(-9)[秒/ステップ]
となる。
各割込み処理の実行時間を計算すると、下表の通り。

処理名 実行ステップ数 実行時間(マイクロ秒)
タイマ割込み1 2k 4
伝送受信割込み 2k 4
伝送送信割込み 2k 4
タイマ割込み2 20k 40

よって、1ミリ秒の間に、割込み処理が実行される最大の時間は、
4+4×5+40=64[マイクロ秒]
となる。
したがって、メインプログラムの演算を実行できる時間は次の通り。
1000-64=936.0[マイクロ秒]

問2(駐輪場管理システム)

計算問題は含まれない。

※Adblockが有効の場合やモバイル版ページでは、シェアボタンをクリックできません