電験三種 学習ノート

理論・電力・機械・法規を、試験科目の範囲の順に記事と練習問題で学ぶ

機械-22 電気機器・パワーエレクトロニクス・応用・制御

情報伝送と処理

  • フローチャート
  • アルゴリズム
  • 変数
  • 条件分岐
  • 繰り返し
  • 情報伝送
  • 通信プロトコル

はじめに

1 / 6

「電験で、プログラムの問題まで出るの……?」

前回の記事では、2進数と16進数、論理回路とブール代数、フリップフロップを学びました。0 と 1 だけで、数も判断も記憶も扱えるのでした。今回は、その上でコンピュータに仕事をさせる「手順」と、情報を遠くへ届ける「伝送」の話をします。

電力の世界は、今やコンピュータと通信なしには動きません。給電指令所では、各地の発電所や変電所の電圧・電流を画面で見ながら、発電の量を指令しています。山奥の無人の変電所の遮断器も、遠く離れた制御所から操作できます。家庭の電力量計も、検針員が見に行かなくても、使った量を自動で送るスマートメーターに置きかわってきました。

実は、こうしたしくみを支えているのは、「決まった手順で処理すること」と「決まった約束で情報をやりとりすること」の2つです。手順が1つでも抜けていれば計算は狂い、約束が合っていなければデータは届きません。

そこで登場するのが、今回の主役 アルゴリズム と 通信プロトコル です。

今回の記事では、アルゴリズムと変数、フローチャートの条件分岐と繰り返し、情報伝送のしくみ、そして通信プロトコルについて解説します。電験三種では、フローチャートをたどって結果を求める問題や、空欄を埋める問題が出ます。

アルゴリズムと変数:手順と、値を入れる箱

1 / 7

はじめに、アルゴリズムと変数について紹介します。

1. アルゴリズム

ある問題を解くための、はっきり決まった手順のことを アルゴリズム と呼びます。どの順番で、何をするかが、誰がやっても同じ結果になるように決まっていて、必ず有限の手順で終わることが条件です。

料理のレシピにたとえると分かりやすくなります。「卵を2個割る」「塩を小さじ1杯入れる」「3分焼く」のように、手順がはっきりしていれば、誰が作っても同じ料理ができます。「いい感じに焼く」では、人によって結果が変わってしまいます。コンピュータは「いい感じ」が分からないので、すべてをはっきりした手順で伝える必要があります。

2. 変数と代入

アルゴリズムの中で、値を入れておく名前付きの箱を 変数 と呼びます。xx や SS のような名前を付けて、数を入れたり、取り出したり、入れかえたりします。

変数に値を入れることを代入と呼び、矢印で x←5x \leftarrow 5 のように書きます。「箱 xx に 5 を入れる」という意味です。箱には1つの値しか入らないので、新しい値を入れると古い値は消えます。

ここで1つ注意があります。x←x+1x \leftarrow x + 1 は、数学の等式としては成り立ちませんが、代入としては「今の xx に 1 を足して、それを新しい xx にする」という意味です。xx が 5 なら、実行したあとは 6 になります。数を数えるときによく使う形です。

具体的に追ってみましょう。

【手順】

  1. a←5a \leftarrow 5
  2. b←3b \leftarrow 3
  3. a←a+ba \leftarrow a + b
  4. b←a×2b \leftarrow a \times 2

3 で aa は 5+3=85 + 3 = 8 になります。4 では、新しくなった aa を使うので、bb は 8×2=168 \times 2 = 16 です。最後は a=8a = 8、b=16b = 16 です。4 で古い aa の 5 を使って 10 としないように気をつけましょう。手順は上から順に実行され、そのときの箱の中身を使います。

このように、アルゴリズムは誰がやっても同じ結果になる決まった手順で、変数はその途中の値を入れておく名前付きの箱です。

以上が、アルゴリズムと変数についてです。

フローチャート:条件分岐と繰り返し

1 / 9

次に、フローチャートについて紹介します。

1. フローチャートの記号

アルゴリズムを、決まった形の記号と矢印で図にしたものを フローチャート(流れ図)と呼びます。手順の流れが一目で分かるので、プログラムを書く前の設計や、手順の確認に使われます。

【フローチャートの主な記号】

  • 端子(角の丸い長方形): 始まりと終わり
  • 処理(長方形): 計算や代入
  • 判断(ひし形): 条件で流れを分ける
  • 入出力(平行四辺形): データの入力や結果の出力
  • ループ端(角を切った長方形): 繰り返しの始まりと終わり

2. 3つの基本の流れ

どんなアルゴリズムも、次の3つの流れの組み合わせで書けます。

【3つの基本の流れ】

  • 順次: 上から順に処理を実行する
  • 条件分岐: 条件が成り立つかどうかで、次に進む道を分ける
  • 繰り返し: 条件が成り立つ間、同じ処理を何度も実行する

条件分岐 は、分かれ道の標識のようなものです。「雨なら傘を持つ、そうでなければ持たない」のように、判断の記号で「はい」と「いいえ」の2つの道に分かれます。

繰り返し は、運動場を何周も走るようなものです。「10周走るまで走り続ける」のように、終わりの条件を決めておき、それを満たすまで同じ処理をくり返します。終わりの条件がないと、永久に止まらなくなってしまいます。

3. 最大値を探すアルゴリズム

電力の分野でよく使う例を見てみましょう。30分ごとに測った電力のデータ x1,x2,…,xnx_1, x_2, \dots, x_n から、最大値を探すアルゴリズムです。

【最大値を探す手順】

  1. M←x1M \leftarrow x_1、i←2i \leftarrow 2
  2. i≤ni \leq n なら 3 へ、そうでなければ 5 へ(条件分岐)
  3. xi>Mx_i > M なら M←xiM \leftarrow x_i(条件分岐)
  4. i←i+1i \leftarrow i + 1 として 2 へ戻る(繰り返し)
  5. MM を出力して終わる

データが 320、450、410、480、390kW なら、MM は 320 → 450 → 450 → 480 → 480 と変わり、最大値 480kW が出力されます。いちばん高い人を探すとき、1人ずつ順に背比べをして、高い人が出てきたら入れかえていくのと同じ考え方です。

例題:フローチャートをたどる

次の手順で表されるフローチャートを実行したとき、出力される SS の値はいくつでしょうか?

【手順】

  1. S←0S \leftarrow 0、i←1i \leftarrow 1
  2. i≤5i \leq 5 なら 3 へ、そうでなければ 5 へ
  3. S←S+iS \leftarrow S + i
  4. i←i+2i \leftarrow i + 2 として 2 へ戻る
  5. SS を出力する

【解き方】

  1. 1回目: i=1i = 1 は 5 以下なので、S=0+1=1S = 0 + 1 = 1、i=3i = 3
  2. 2回目: i=3i = 3 は 5 以下なので、S=1+3=4S = 1 + 3 = 4、i=5i = 5
  3. 3回目: i=5i = 5 は 5 以下なので、S=4+5=9S = 4 + 5 = 9、i=7i = 7
  4. i=7i = 7 は 5 より大きいので、繰り返しを抜けて SS を出力する

答えは 9 です。ii が 2 ずつ増えるので、1・3・5 の奇数だけを足しています。変数の値を、1回ごとに表に書きながらたどるのが確実です。

試験のポイント:フローチャートの問題は、変数の値を1回ずつ書き出して追うのが基本です。繰り返しの終わりの条件が「以下」か「より小さい」かで、最後の1回が入るかどうかが変わります。

このように、フローチャートは記号と矢印でアルゴリズムを表した図で、順次・条件分岐・繰り返しの3つの流れを組み合わせて書きます。

以上が、フローチャートについてです。

情報伝送:電力システムの情報を届ける

1 / 9

続いて、情報伝送について紹介します。

1. 電力システムと情報

データを、ある場所から別の場所へ送り届けることを 情報伝送 と呼びます。電力システムでは、次のような情報が毎日行き来しています。

【電力システムを行き来する情報】

  • 計測: 発電所や変電所の電圧・電流・電力を、制御所へ送る
  • 状態: 遮断器や断路器が入っているか切れているかを、制御所へ送る
  • 制御: 制御所から、遮断器の開閉や発電の量の指令を送る
  • 検針: スマートメーターから、30分ごとの使用量を送る

離れた所の設備を、その場に行かずに見張り、操作することを遠方監視制御と呼びます。無人の変電所が増えたのは、この情報伝送のおかげです。

2. 伝送路と伝送速度

情報を運ぶ道(伝送路)には、銅線のメタルケーブル、光ファイバ、無線などがあります。中でも 光ファイバ は、電気ではなく光で信号を送るので、送電線のそばでも電磁誘導の雑音を受けません。送電線の上に張る架空地線の中に光ファイバを入れたものも使われています。

データを1本の線で1ビットずつ順に送る方式をシリアル伝送、何本もの線で同時に送る方式をパラレル伝送と呼びます。遠くへ送るときは、線が少なくて済むシリアル伝送が一般的です。

1秒間に送れるビット数を伝送速度と呼び、単位は ビット毎秒[bit/s](bps)です。ここで1つ注意があります。ファイルの大きさはふつうバイトで表しますが、伝送速度はビットで表します。1バイト = 8ビットの換算を忘れないようにしましょう。

具体的に計算してみましょう。4MB(メガバイト)のデータを、16Mbit/s の回線で送ります。1MB = 8Mbit とすると、データは 4×8=324 \times 8 = 32 Mbit なので、かかる時間は 32÷16=232 \div 16 = 2 秒です。

3. 誤りの検出

伝送の途中で雑音が入ると、0 が 1 に、1 が 0 に化けることがあります。そこで、データに確かめ用のビットを付けて送ります。いちばん簡単なのが パリティビット です。

例えば偶数パリティでは、データの中の 1 の数が偶数になるように、0 か 1 を1ビット付け足します。データ 1011001 は 1 が4個なので、パリティビットは 0 です。受け取った側で 1 の数が奇数になっていれば、どこかで1ビット化けたと分かります。荷物の個数を送り状に書いておき、届いた数と比べるのと似ています。

このように、情報伝送は電力システムの計測・状態・制御の情報を伝送路で送り届けるもので、伝送速度の計算ではバイトとビットの換算に注意します。

以上が、情報伝送についてです。

通信プロトコル:やりとりの約束ごと

1 / 7

最後に、通信プロトコルについて紹介します。

1. 通信プロトコルとは

機器どうしがデータをやりとりするには、前もって約束を決めておく必要があります。どんな順番で信号を送るか、データの区切りをどう表すか、誤りがあったらどうするか、といった約束です。この約束ごとを 通信プロトコル と呼びます。

人どうしの会話にたとえると分かりやすくなります。電話をかけたら、まず「もしもし」と言い、相手の名前を確かめてから用件を話し、最後に「失礼します」と言って切ります。同じ言葉を使い、同じ順番で話すから、話がかみ合います。片方が日本語、もう片方が別の言葉で話していたら、声は届いても中身は伝わりません。

【通信プロトコルで決めること】

  • データの形式: 何ビットを1まとまりにし、どこに宛先や誤り検出のビットを置くか
  • 手順: 接続の始め方と終わり方、受け取ったら返事をするかどうか
  • 誤りへの対応: 誤りを見つけたら、もう一度送ってもらうかどうか

2. 階層に分けて決める

通信の約束は、一度に全部を決めると複雑になります。そこで、「電気信号の送り方」「隣の機器への届け方」「宛先までの道順」「アプリどうしのやりとり」のように、役割ごとに階層に分けて決めます。代表的なものに、7つの階層に分けた OSI 参照モデルがあります。インターネットで使われる TCP/IP も、階層に分けたプロトコルの集まりです。

階層に分けておくと、ある層を取りかえても、ほかの層はそのまま使えます。手紙で言えば、中身を書く人は、郵便局がトラックで運ぶか飛行機で運ぶかを気にしなくてよいのと同じです。

電力の分野でも、変電所の保護装置や制御装置、スマートメーターのデータのやりとりのために、メーカーが違う機器どうしでもつながるよう、決められたプロトコルが使われています。プロトコルがそろっていることで、違う会社の機器を組み合わせても、1つのシステムとして動かせるのです。

試験のポイント:通信プロトコルは、データの形式や手順など、通信する機器どうしが前もって決めておく約束ごとです。伝送路の種類(光ファイバなど)と混同しないようにしましょう。

このように、通信プロトコルは機器どうしが情報をやりとりするための約束ごとで、役割ごとに階層に分けて決められています。

以上が、通信プロトコルについてです。

今回のまとめ

1 / 5

それでは、今回の内容を振り返ります。

今回は、情報伝送と処理について紹介しました。コンピュータに仕事をさせるには、アルゴリズムという決まった手順が要り、それをフローチャートで表します。電力システムの情報は、伝送路を通って送り届けられ、通信プロトコルという約束ごとがそのやりとりを支えています。

今回のポイントを振り返りましょう。

振り返り

  • アルゴリズムは決まった手順。変数は値を入れる箱で、x←x+1x \leftarrow x + 1 は「1 を足して入れ直す」。
  • フローチャートは、順次・条件分岐・繰り返しの組み合わせ。変数の値を1回ずつ追ってたどる。
  • 情報伝送では、伝送速度は[bit/s]。1バイト = 8ビットの換算に注意し、誤りはパリティビットなどで見つける。
  • 通信プロトコルは、データの形式や手順を決めた約束ごとで、階層に分けて決められる。

キーワードのおさらい

  • フローチャート: アルゴリズムを、決まった記号と矢印で表した図(流れ図)
  • アルゴリズム: 問題を解くための、はっきり決まった有限の手順
  • 変数: 値を入れておく、名前の付いた箱
  • 条件分岐: 条件が成り立つかどうかで、次に進む処理を分けること
  • 繰り返し: 条件が成り立つ間、同じ処理を何度も実行すること
  • 情報伝送: データを、ある場所から別の場所へ送り届けること
  • 通信プロトコル: 通信する機器どうしが前もって決めておく、データの形式や手順の約束ごと

以上が、今回のまとめです。

これで、機械の科目はすべて終わりです。直流機・変圧器・誘導機・同期機という電気機器から、パワーエレクトロニクス、照明・電熱・電気化学、そして制御と情報まで、電気を「使う」側の技術を一通り学びました。

さて、ここまで学んできた発電所も、送電線も、モーターも、安全に使うためのルールがなければ社会では使えません。電気の設備は、どんな法律で守られているのでしょうか?

次回からは、最後の科目である法規に入ります。最初は、電気事業法の目的と電気事業の種類を学ぶ「電気事業法と電気事業」について紹介します。

それでは、次の記事へ進んでいきましょう。

練習問題5問開いて挑戦する
問1. 次の手順を実行したとき、出力されるSの値として正しいものはどれか。(1)S←0、i←1 (2)i≦4ならば(3)へ、そうでなければ(5)へ (3)S←S+2×i (4)i←i+1として(2)へ戻る (5)Sを出力する
問2. フローチャートで、条件によって処理の流れを分ける「判断」を表す記号として、正しいものはどれか。
問3. 3MB(メガバイト)のデータを、伝送速度6Mbit/sの回線で送るのにかかる時間として、正しいものはどれか。ただし、1MB = 8Mbitとし、伝送の効率は100%とする。
問4. 通信プロトコルの説明として、正しいものはどれか。
問5. 次の手順を実行したとき、最後の x と y の値の組合せとして正しいものはどれか。(1)x←3 (2)y←5 (3)x←x+y (4)y←x−y (5)x←x−y