前回は令和3年度 エンベデッドシステムスペシャリスト試験 午後Ⅱ試験 問2の設問2-(2)まで自分勝手な解説を行ってみた。
今回は設問2-(3)以降の続きを自分勝手に解説していきたいと思う。
前回の振り返り
前回は設問1および設問2-(2)まで解説した。
投稿記事はこちら。
設問2のきっとこうだろうと思う解説 ※続き
設問2の(3)を解いてみよう。
設問2の(3)は、問題文の適用例を参考にタスク間のシーケンスについて問われている。
まずは設問2の(3)の問題文を見てみよう。
全部で4つの小問に分かれている。
ただし、問題文を解く過程で(a)~(d)の小問を少しずつ解いていけるため埋められるところから順に解答するやり方をお勧めする。
まず、(a)は図6のシーケンス図の空欄d~fのドライバタスク内にセンサ名を埋める問題である。
問題文には、投入センサ、電流センサ、産出センサのいずれかで答えよという条件が付いている。
まず、わかりやすい空欄fから解説する。
ちなみに空欄fを埋めることで併せていくつかの小問にも解答できる。
空欄fは工程2タスクにメッセージを送信した後、すぐ工程2タスクが工程1タスクにメッセージを送信している。
このようなことを行っていないかを表9のタスク処理概要から確認してみる。
すると、工程タスクの箇条書きの3つ目に以下のような記述を見つけることができる。
「通知元が投入センサのドライバで、かつ、前の工程が存在する場合、通知された投入量を、前の工程の工程タスクに”投入量通知”で通知する。」と書かれている。
実はこの一文で多くの空欄を埋めることができる。
まずは、(a)の空欄fが「投入センサ」と確定する。
次に、(b)の空欄gのメッセージ名が「投入量通知」と確定する。
さらに、(c)の圧造工程は工程1 or 工程2どっち?そしてその理由はの問いに対しても解答ができる。
それは、上記の問題文の記述から、工程2が転造工程であることが分かるからだ。
よって、圧造工程は「工程1」であり、理由は「転造工程の工程2から前工程に投入量を通知しているから」となる。
ここまでの解答欄をまとめると以下の通り。
—————————————————————————————————–
設問2 (3)(a)
空欄d:
空欄e:
空欄f:投入センサ
設問2 (3)(b)
空欄g:投入量通知
空欄h:
空欄i:
設問2 (3)(c)
圧造工程:工程1
理由:転造工程の工程2から前工程に投入量を通知しているから
設問2 (3)(d)
工程:
ライン:
—————————————————————————————————–
次に空欄dが埋められやすい。
改めて図6と表9を見てみよう。
空欄dから工程2タスクにメッセージを送信した後、出力タスクと生産ラインにメッセージを送信している。
このような処理が行われていないかを表9から見てみると該当箇所が見つかる。
通知元が、状態センサのドライバである場合でかつ決定した設備の稼働状態が”設備異常”の場合、出力タスクに”出力指示”、生産ラインタスクに”工程情報通知”を通知するとの記載がある。
まさに合致する。
空欄dは状態センサの1つである「電流センサ」が解答となる。
空欄dと空欄fが埋まったため、空欄eは消去法で「産出センサ」となる。
ちなみに、電流センサが状態センサであることは表3に記載されている。
さらに、表9の工程タスクで確認した赤枠部分で「決定した設備の稼働状況が”設備異常”の場合」との記載に注目する。
これは(d)の工程の稼働状態が「設備異常」、ラインの稼働状態が「ライン異常」であることが言える。
ラインの稼働状態が上記になる根拠は表5に記載されている。
ここまでの解答をまとめる。
—————————————————————————————————–
設問2 (3)(a)
空欄d:電流センサ
空欄e:産出センサ
空欄f:投入センサ
設問2 (3)(b)
空欄g:投入量通知
空欄h:
空欄i:
設問2 (3)(c)
圧造工程:工程1
理由:転造工程の工程2から前工程に投入量を通知しているから
設問2 (3)(d)
工程:工程異常
ライン:ライン異常
—————————————————————————————————–
最後に残ったのは(b)の空欄hとiである。
ここはタッチパネルタスクから中断ボタンが押された場合と再開ボタンが押された場合に通知するメッセージを解答する。
メッセージの通知元は生産ラインタスクとなるため、表9の生産ラインタスクを見てみる。
生産ラインタスクの箇条書き2つ目に「”中断”、”再開”を受けると、全ての工程タスクに転送する。」との記載がある。
よって、空欄hが「中断」、空欄iが「再開」となる。
これで設問2の(3)に全て解答できたため、最後まとめたいと思う。
—————————————————————————————————–
設問2 (3)(a)
空欄d:電流センサ
空欄e:産出センサ
空欄f:投入センサ
設問2 (3)(b)
空欄g:投入量通知
空欄h:中断
空欄i:再開
設問2 (3)(c)
圧造工程:工程1
理由:転造工程の工程2から前工程に投入量を通知しているから
設問2 (3)(d)
工程:工程異常
ライン:ライン異常
—————————————————————————————————–
設問3のきっとこうだろうと思う解説
設問3は機能追加に関する設計変更の問題だよ。
設問3は、それぞれの工場の可視化装置をインターネットで接続し、工程情報を連携できるように機能追加するという内容である。
それでは、まず問題文を見てみよう。
設問3は6つの小問に分かれている。
それでは順番に解いていこう。
設問1-(1)-(a)はモデルで管理するバイト数の再計算問題だよ。
(1)の(a)は、機能追加によってモデルで管理するバイト数がどのように変更されるかを計算する問題である。
まずは変更前のモデルの構成を図2から見てみよう。
図2の注記1に括弧内がバイト数を示していることが読み取れる。
この現状のモデルに対して、機能追加後のバイト数がどのように変化するのか整数で答えよという内容だ。
ただし、この小問は相当難しかったのではないかと思う。
まずは機能追加した際のバイト情報に関する記述がないかを確認してみる。
設問3の問題文に3点記載がある。
最初の2点はすぐ見つけられるが、最後の箇条書き1点がバイト数に関係することが短時間で判断できなかった。
具体的にどういうことかを見ていこう。
分かりやすい所から見ていくと、モデルの全体構成に”サーバへの接続情報”、工程に関する情報に”工場ID”が追加される。
これで、64バイト+4バイト=68バイトとなる。 ・・・①
次からがとても複雑になる。
S工場は圧造工程と転造工程の2つの工程が存在するため、工場に関する情報も2つ必要となる。
つまり、①の計算式は以下のようにする必要がある。
64バイト+8バイト(圧造工程の工場ID分と転造工程の工場ID分)=72バイト ・・・②
次にT工場とU工場も考慮する必要があるが、ここでモデルの変更点の最後の箇条書きが必要になる。
T工場とU工場の工程に関する情報には、工程名の32バイトと工場IDの4バイト分のみ必要となる。
工程に関する情報のその他項目と設備に関する情報には情報を記述しないため0バイトなのだ。
よって、②の計算式にT工場とU工場の工程に関する情報分を反映する。
すると、64バイト+8バイト+36バイト(T工場分)+36バイト(U工場分)=「144」バイトとなる。
これがこの小問の解答となる。
次は(1)の(b)を解いていこう。
(1)の(b)はS工場とT工場の可視化装置で稼働する工程タスクで計算するが、U工場では計算しないものが何かが問われている。
問題文に表6中の生産指標で答えよと指定されているため、表6を見てみよう。
なんとなく「工程間滞留量」だと雰囲気から伝わるが、確定させるために問題文をもう少し見てみよう。
すると、表9のタスク処理概要の工程タスクの箇条書き2点目にしっかりと書かれている。
工程間滞留量は次の工程が存在する場合のみ算出することが書かれている。
U工場は工程的には最後の工程となる。
それはこちらからも確認が取れる。
よって、(1)の(b)の解答は「工程間滞留量」で確定となる。
(1)の(c)を解いていこう。
S工場が稼働、T工場が休業状態の場合の転造工程の工程間滞留量はどのように表示されるかという問題である。
工程間滞留量は、工程生産量 – 次の工程への投入量 で求められる。
ただし、上記の計算式の「次の工程への投入量」はT工場が休業しているため渡すことができない。
つまり「0」となる。
よって、S工場が稼働中でT工場が休業状態における工程間滞留量は、「転造工程の生産量が表示される」などが解答となる。
次は(2)に進もう!あと少しだから頑張ろう!!
(2)は制御プログラムのタスク変更について表11を中心に解答する問題だ。
まずは(a)である。
表11の工程タスクでサーバ接続タスクにメッセージを送信する内容が問われている。
表11を確認してみると、それ以外のタスクにはヒントがない。
このようなケースは、変更前のタスク処理概要を確認すると答えやヒントが記載されていることが多い。
では、表9を参照してみると、工程タスクにしっかりと答えが書いてある。
先に解答を言ってしまうと、「工程情報通知」である。
根拠は問題文の図7近辺に隠されている。
工場間の可視化装置間で工程情報を連携しないと、それぞれの工場の情報が正しく伝わらない。
変更前のシステムは自工場のみを考えればよかったため、自工場の生産ラインタスクにだけ工程情報を通知していた。
しかし、変更後のシステムではこの工程情報を他工場の生産ラインタスクに連携しなければならない。
インターネットを経由してデータ連携するのはサーバ接続タスクを経由して他工場工程タスクに工程情報を連携する必要がある。
だから、表11の工程タスクの箇条書き1つ目は”工程情報通知“をサーバ接続タスクにも通知する。という内容になる。
(2)の(b)を見ていくよ!
次は、表11の他工場工程タスクの空欄kに入る条件は何かが問われている。
他工場工程タスクは(a)で解答した工程情報通知を受取り、収集情報及び分析情報の更新と生産ラインタスクに通知している。
そして、もう1つ条件に合致する場合に投入量を転送している。
この条件は表11では見当たらないし、設問3の問題文にもヒントがない。
こういうときは、表9のタスク処理概要を改めて確認する。
すると、工程タスクの箇条書き3点目の2つ目の項目に「前の工程が存在する場合、通知された投入量を前の工程の工程タスクに”投入量通知”で通知する」という記載が見つかる。
この「前の工程が存在する場合」が条件が空欄kに当てはまりそうである。
ただし、注意が必要である。
それは、表11の他工場工程タスクの最後に「サーバ接続タスク」というキーワードが含まれていない。
つまり、自分の工場の前工程という条件を加味しないと正しく動作しない状態になるのだ。
だから、IPAの解答例は「前の工程があり、前の工程を自工場が担当する」という内容になっているのだと思われる。
最後の(c)を解いていこう
最後の(c)は、表11のサーバ接続タスクが無線LAN I/Fを介してサーバと通信する場合の条件を空欄lに埋めてという問題である。
これはかなり簡単な問題だ。
ヒントは設問3の問題文にしっかりと書いてある。
もうお分かりだろう。
サーバに接続する場合は、上記の問題文の真逆の条件を当てはめればよい。
つまり、「“サーバへの接続情報”の先頭バイトが0」でない場合に無線LAN I/Fを介してサーバと通信する。という解答になる。
まとめ
私自身の総仕上げとして令和3年度の午後Ⅱ過去問題を解いてみた。
しかし、解説を持ち合わせていないため自分で間違った問題含めてIPAの解答例となる理由を探ってみた。
結果として、間違っているかもしれないが一応全ての解答例にたどり着くことができた。
本試験でもこのように問題文を駆使して解答していく必要があるため、今回の自己解説はとても勉強になった。
最後に、午後Ⅰ試験、午後Ⅱ試験に共通して本試験に取り組む際に意識したほうが良いと感じることをまとめたいと思う。
- 分かる問題から解答して確実に得点を積み重ねる
- 設問の順番通りに解答しないほうが短時間で解ける場合がある
- 難しい問題は後で解いた方が精神的に楽になる場合がある
- 計算問題は単位を揃えて計算する
- 計算問題はなるべく桁数を少なくするように工夫して解くと短時間で解ける場合がある
- 記述式問題は解答例通りでなくても得点がもらえる可能性がある
そして、最後の最後に一言言わせて欲しい。
本試験では自分の苦手な問題や全く新しい形式の問題が出題される場合がある。
それでも最後の終了の合図がかかるまで諦めずに考え、解き続けよう!
合格を勝ち取るか否かは意外とここにかかっていると思う。
コメント