ソフトウェア開発-UML図 記号

機能ブロック図(Functional Block diagram)とは?

FBDのすべてを学びましょう

機能ブロック図で書くならEdrawMax(エドラマックス)

100%安全・安心 | マルウェアなし | 広告なし

Part 1: 機能ブロック図とは何?

1.1 機能ブロック図とは

機能ブロック図(ファンクション・ブロック・ダイアグラム:略称FBD)は、ブロックと図を用いて機能的なプロセスを図で表したもので、読み手がより簡単に理解したり、解釈したりできる図です。FBDは、「関連付け」を示す矢印を用いて基本的なブロックと図を使ってアウトプット(出力)変数とインプット(入力)変数間の機能を決定する際に役立ちます。

機能ブロック図

上図:EdrawMaxで作成した機能ブロック図

☞☞無料ダンロード可能なテンプレートこちらへ☜☜

機能ブロック図は、1つまたは複数の変数(インプットとアウトプットの両方)間の関係性を構築し、システムで調整される機能的なプロセスの理解を促す際に役立ちます。

1.2 機能ブロック図を使う場とは

これらの図は、ソフトウェアエンジニアリング、システムエンジニアリング、グラフィカルプログラミング言語で広く使われている2つ以上の変数の関係性や機能の理解に役立ちます。ソフトウェアエンジニアやプログラマーにとって、FBDは2つ以上の変数間の関連性を矢印で示して、理解したり、作り出したりする際に役立つ欠かせないツールです。

機能ブロック図

上図:EdrawMaxで作成した機能ブロック図

☞☞無料ダンロード可能なテンプレートこちらへ☜☜

1.3 FBDの歴史と発展

機能ブロック図は、機能フロー図としても知られています。 その名前が意味するとおり、ワークプロセスを簡素化し、より良く理解できるよう、機能的な流れを段階的に表したものです。このアイデアは、1921年に変数間の複数の機能と関係を簡素化した多層プロセスモデルを開発したエンジニア科学者らを継承したフランク・ギルブレスによって確立されました。
最近の機能ブロック図は1960年代、NASAが参入して宇宙関連システムユニットの時系列を可視化して表す概念が普及するまでその開発が続けられました。

機能ブロック図

上図:EdrawMaxで作成した機能ブロック図

☞☞無料ダンロード可能なテンプレートこちらへ☜☜

そして現在、機能ブロック図は確立され、ビジネスプロセスの再設計、ビジネスプロセス管理、プロセス管理、コンピュータシステムエンジニアリング、システムエンジニアリングなどのさまざまな分野で広く使われています。



Part 2: 機能ブロック図の基礎

機能ブロック図はワークプロセスを簡素化し、規模の大きいプロセスを小さなユニットに細分化し、2つ以上の変数間の関係を理解するのに役立ちますが、それでもプロセスの理解やモデルの解釈がしづらいことがあるので、解消と利便性を目的にFBDの基本について触れていきます。
機能(関数)はすべて、ボックスで示される機能ブロックの中に納められています。四角形のボックスには、以下の図に示されているように機能のシンボルが存在します。

機能のシンボル

機能ブロックには、2つ以上のインプットが入っています。これらのインプットとアウトプットはすべて、別の機能ブロックのインプットとアウトプットに関連付けることができます。例えば、以下の図に示されているように、ある関数のアウトプットとまた別のインプット間で関係を作ることもできます。

インプットとアウトプット

基本的な機能ブロックもありますが、ブロックをカスタマイズすることもできます。皆さんのPLCプログラムで同じ機能ブロックを使うのであれば、ある関数に特化した機能ブロックを使い、ほかのインスタンスで複数回それを利用できます。



Part 3: 機能ブロックの種類

3.1 ビット論理機能ブロック

機能ブロックの基本は「論理」で、アルゴリズムの最もシンプルな形とされています。AND 論理とOR論理の2つの異なるゲートウェイのメカニズムと論理があります。

AND 論理演算

両方のインプットが正であれば、アウトプットも正になります。

AND論理演算

OR 論理演算

インプットのうちの1つが正であれば、出力も正になります。

OR論理演算

3.2 双安定機能ブロック

双安定機能ブロックは、メモリの最もシンプルな形式とされています。アウトプットをresetまたはsetにするかはそれぞれです。アウトプットにより、setインプットの直近のポイントが学習され、思い出されます。

Set/Reset機能ブロック(setドミナント)

setドミナント

Reset/Set機能ブロック(resetドミナント)

resetドミナント

3.3 エッジ検出

次の機能ブロックの種類はEdge Detection(エッジ検出)です。この機能ブロックは非常に便利で、PLCプログラミング電子工学において広く使われています。インプットにより、アウトプットが設定される前方向のエッジが検出されるため、この名前が付けられています。また正のエッジが検知されたとき、アウトプットがパルスを生み出すので検出されます。

エッジ信号の上昇を検知するR_TRIG機能ブロック

R_TRIG機能ブロック

エッジ信号の減少を検知するF_TRIG機能ブロック

R_TRIG機能ブロック

3.4 Timer機能ブロック

この機能ブロックもPLCエンジニアリングで幅広く使われます。timer機能ブロックは、on遅延タイマー、off遅延タイマーとパルスタイマーの3種類があります。1つのタイマーを使い、そのタイマー以外のすべてのタイマーを関連付ける必要があります。

Pulse Timer (TP)機能ブロック

(TP)機能ブロック

On Delay Timer (TON)機能ブロック

(TON)機能ブロック

Off Delay Timer (TOF)機能ブロック

(TOF)機能ブロック

3.5 カウンター機能ブロック

実際に、カウンター機能ブロックは、インプットとアウトプットの両方を受け、ほかの種類のデータを含みます。カウンター機能ブロックには、Upカウンター、DownカウンターとUp-Downカウンターの3種類があります。

Upカウンター(CTU)機能ブロック

(CTU)機能ブロック

Downカウンター(CTD)機能ブロック

(CTD)機能ブロック

Up Downカウンター(CTUD)機能ブロック

(CTUD)機能ブロック



Part 4: 機能ブロック図の作成方法と図例

4.1 カウンター機能ブロック

FBDは容易には作成できませんが、皆さんのFBDを作成する際に使えるヒントとテクニックについて説明します。

■ ステップ1

まず、TIAポータルやCodesysなどの自動ツールを使ってみることから始めます。プログラマーによるFBDを望む方には、これらの自動ツールを強くお奨めします。

■ ステップ2

シンプルで簡単なPLCプログラムを使うことから始めるなら、機能ブロック図 のプログラミングを使います。

■ ステップ3

これらに加え、皆さんのFBD全体像を表す際には、機能別に標準的なブロックを数種用いることができます。

多数のテンプレートを選択するとき、表記記号を変更するとき、最終的にファイルを共有するとき…どのシチュエーションでも迷うことなくストレスが少ない作業が可能です。

4.2 機能ブロック図の例-システムの機能フローブロック図

(CTUD)機能ブロック

図に示されているように、CPUは機能を実行し、ユーザーのインプットを受け取り、ユーザーに出力デバイスを使って、そのインプットをアウトプットに変換します。これは、コンピュータシステムで発生する通常のプロセスの機能ブロック図です。コンピュータのシステムエンジニアが複数の種類の機能ブロックを使い、図にしたものです。



Part 5: まとめ

機能ブロック図は、コンピュータデザイン、システムエンジニアリング、ビジネスプロセスエンジニアリングなどのさまざまな分野で幅広く利用されている極めて強力なツールです。 このため、機能ブロック図の作成は、幾分理解しづらいときもあります。 このプロセスを簡素化し、時に理解が難しい2つ以上のインプットとアウトプット変数間の関係を理解するために利用します。
インターネット上では、機能ブロック図の作成を支援してくれるさまざまなインテリジェントツールを利用できます。2D図を描くこととなれば、数多くのツールやソフトウェアの中でも、EdrawMaxは上位に位置するソフトウェアです。さまざまな機能ブロックが必要な皆さんのFBの作成を簡単で使い勝手の良いインターフェイスを備え、支援します。 また、EdrawMaxは、異なる種類のFBDを描く際に利用できるさまざまなビルトインツールも内蔵しています。

Edraw Max -- All In One の作図ツール
  • 豊富なテンプレートと図形
  • 様々なファイル形式に対応
  • フローチャート、マインドマップ、組織図などを作成
  • Officeライクの操作感覚 初心者もすぐ使える

関連記事