教材名 Windowsによる計測データ処理
教材名2
教材ID 226
教材作成者名 仲野 忠行; 近藤 一郎
教材作成日 1999-09-01
改訂情報
ジャンル名 高度教材
分野名 電気・電子系
業種名 金属加工機械製造業
職務名 自動化生産技術
職務構成名 制御技術の展開、自動化システム運用
区分名 教材
職業名 電気技術者
指導案

 

「訓練事前準備項目」

    1. 環境設定、ハードの設定及び組み立て
    2. ソフトウェアの確認
    3. テキスト
    4. 自作教材原稿より印刷
    5. 補助教材の購入
    6. プログラム保存用フロッピーディスクの購入
    7. 受講生名簿
    8. 自己啓発シート

「訓練項目と訓練経過時間」

「第一日目」

9:00~9:10 はじめに

    1. 挨拶
    2. 講師自己紹介
    3. テキスト等、教材の確認
    4. センター利用時の注意事項の説明
    5. セミナー日程の説明
    6. Visula Basicを使ったプログラム作成の経験の有無を、受講者に確認。

9:10~9:30 Visual Basicの特徴、用語説明

Visual Basicの最大の特徴はプログラム作成方法がイベントドリブン方式であることである。従来のプログラムは、原則的に上から下に向かって記述していくのに対して、Visual Basicでは、「マウスをクリックした」、「キーボードを押した」などの状態の変化がおきたら何を行いたいのかをプログラムする。このことやその他の用語説明は、後述の「簡単なプログラムの作成」と並行しておこなうこと。また、初学者は、プログラムの作成経験が増すに従って、理解が深まることが多いので、その場で理解できない場合、とりあえず先に進み、あとで、疑問点などを聞き、再度説明したほうが効果的な場合がある。どの程度まで説明を行うかは、受講者の持つVisula Basicの知識の大小により異なるが、全くの初学者であれば、最低限、以下の用語につい て説明しておくほうがよい。

    • イベントドリブン方式
    • プロパティ、メソッド、プロシージャ
    • フォーム、コマンドボタン、テキストボックス

9:30~10:00 簡単なプログラムの作成

コマンドボタンをクリックするとラベルに文字を表示する程度のプログラムを、Visual Basicの特徴、用語説明と並行して作らせる。

つぎに、簡単なプログラムから複雑なプログラムを作らせてプログラム作成に自信を持たせるために、下に書いたプログラムを順次作成させる。

    • テキストボックスの文字をラベルに表示させる
    • テキストボックスの数字をラベルに表示させる
    • テキストボックスの数字を2倍してラベルに表示させる
    • テキストボックスの数字を2倍する部分を別関数(ファンクションプロシージャ)にする

10:00~10:30 温度データを計測するシステムの説明

温度データを計測するシステムの構築は別のセミナーで行うため、ここでは温度センサ(サーミスタ)の扱い方、温度データ取得用関数の使い方、汎用I/O制御ActiveXコントロールの設定方法について説明する。

汎用I/O制御ActiveXコントロールは、A/D変換ボードを制御するのに必要なソフトウエアであり、ラベルやテキストボックスのように、フォームに貼り付けるだけで設定が完了することを説明する。

10:30~10:45 休憩

10:45~11:15 シーケンシャルファイルへの保存、読み出し

(テキストP5~P8)

ファイルの作成が実際に行われることを、実感させるため、エクスプローラで作成ファイルの存在を確認させたり、メモ帳で作成したファイルの中身を見てみるといったことをさせるとよい。以下の項目について説明する。補助教材やオンラインヘルプを使って説明すること。

    • Visual Basicで扱えるファイルの種類とファイル構造
    • Open、Closeステートメントを使ったシーケンシャルファイルへの保存、読み出し

11:15~12:00 ランダムファイルへの保存、読み出し

(テキストP9~P11)

シーケンシャルファイルと比較したランダムファイルの特徴は特定のデータだけを読み書きすることができることである。このことを実習で確認する。また、データの抽出(たとえば25℃以上の温度データ)をランダムファイルで行おうとすると、複雑なプログラムを追加しなければならないことも理解させる。

12:00~13:00 昼食

13:00~13:15 CSV形式ファイルでの保存、読み出し

(テキストP8)

CSV形式ファイルはデータの区切り文字がカンマで、拡張子がcsvのファイルのことである。Visual BasicのWrite#ステートメントの格納データ用引数を複数にすると、データ間に自動的にカンマを挿入してファイルを作成する。したがって、Write#ステートメントで作成するシーケンシャルファイルはCSV形式ファイルと同じ構造である。シーケンシャルファイルをExcelで読み込みたいときは、拡張子をcsvに変更すればよい。受講者に、作成したシーケンシャルファイルのプログラムを変更させ、確認をおこなう。

13:15~14:00 Visual BasicとExcel間のデータ交換法①

(テキストP12~P14)

DDE機能を使ったコマンドボタンによる単純なデータ交換を行うプログラムを作成する。エラー処理については、述べていないので、必要であれば、オンラインヘルプ、マニュアルなどを参照すること。

 

14:00~14:30 Visual BasicとExcel間のデータ交換法②

(テキストP14)

OLE機能を使って、Excelのワークシートのウインドウ画面をVisual Basicのフォームに表示する。

上記の実習は、操作が簡単であるため、実習項目に入れた。しかし、この後にOLE機能を使った実習がないので、省略してもかまわない。

14:30~14:45 休憩

14:45~16:00 Visual BasicとExcel間のデータ交換法③

(テキストP17~P22)

受講者が、ActiveXオブジェクトを使ったデータ交換を理解するためには、オブジェクトやオブジェクト変数について理解する必要がある。

オブジェクトはVisual Basicのフォームという「ひとつのウインドウ」に貼り付けるラベルやテキストボックスのこととである。またExcelのワークシートやセルもExcelという「ひとつのウインドウ」に張り付いているものなので、広い意味でオブジェクトと呼ぶ。これは、ラベルやテキストボックス等本来Visual Basicが持っているオブジェクトと異なることから、ActiveXオブジェクトと呼んで、通常のオブジェクトと区別している。

Excelワークシート上のセルにVisual Basicで作成したデータを書き込みたい場合、Excelワークシートのセルの値を格納する変数にデータを代入すればよい。この変数のことをオブジェクト変数という。GetObject関数、CreateObject関数を使うと、ExcelなどのActiveXオブジェクトから、オブジェクト変数を得ることができる。

ActiveXオブジェクトを使ったデータ交換は、DDEやOLEのように簡単に行うことはできないが、Excelを起動、終了したりファイルに保存するなどの操作も行える。

オブジェクトは階層構造になっている。Excelの場合、ひとつのワークブックオブジェクトの下位層に、複数のワークシートオブジェクトが存在する。Excelオブジェクトの階層構造については、Visual Basicのオンラインヘルプに図が載っている

作成したプログラムではGetObject関数、CreateObject関数を使ってワークブックオブジェクト変数を取得したのち、その下位層にあるワークシートオブジェクト変数を取得している。セルの値を格納する変数は、ワークシートオブジェクト変数のプロパティ(Cells(1,1).Valueの部分)として定義されている。

16:00終了

「第二日目」

9:00~10:30 ExcelVBAを使った計測データの表化、グラフ表示

(テキストP18~P21)

ExcelVBAは、Visual BasicのフォームがExcelのワークシートに変わっただけで、開発環境やプログラム作成方法がVisual Basicとほとんど同じであることを説明し、ワークシートにコマンドボタンなどを貼り付けて、簡単なプログラムを作成させてみる。

Visual Basic側で計測データをExcelに転送するプログラムを、ExcelVBA側でデータ転送イベント(Worksheet_Changeイベント)による表化、グラフ化プログラムをそれぞれ作成する。

Excelを使ったことのない受講者がいる場合、グラフウイザードの使い方を説明しておくこと。

10:30~10:45 休憩

10:45~12:00 ExcelVBAでのファイル処理プログラムの作成

(テキストP21)

ExcelVBAは、Visual Basicと同じプログラムで、シーケンシャルファイルを扱うことができるので、Excelに転送された計測データをシーケンシャルファイルに保存するプログラムを作成させる。また、読み出したシーケンシャルファイルのデータをExcelのセルに書き込むプログラムも作成させる。

12:00~13:00 昼食

13:00~14:30 データベースの概要

データベースにはいろいろな方式のものがある。このセミナーでは、Visual Basicに付属のリレーショナル型データベースを使う。リレーショナル型データベースの定義、用語(テーブル、レコード、フィールド、選択、射影、結合など)について説明する。Visual Basicのオンラインヘルプに詳しい記述があるので、利用すること。ただし、リレーションについては、このセミナーでは使用しないため、説明は行わない。

14:30~14:45 休憩

14:45~16:00 データベースファイルへの保存と表示

(テキストP21~P23)

シーケンシャルファイル、ランダムファイルなどのファイルとデータベースとの違いについての説明をおこなう。ファイルでデータを操作(データ構造の定義やデータの抽出)する場合、ユーザがそのためのプログラムを作成しなければならない。しかし、データベースでは、専用の言語(SQL)を使って、DBMS(データベースマネジメントシステム)とよばれるデータベース管理ソフトウエアと、対話形式でデータを操作することができる。したがって、SQLの使い方を理解すれば、データ操作を行うためのプログラムは不用である。

上記の理由から、計測データの保存先にデータベースを利用することが多くなってきていることを受講者に理解させる。

SQLを使えば、データベースでデータ構造を定義することができる。しかし、その方法を理解するのは大変である。そこで、ここではデータ構造の定義を行うユーティリティソフトであるビジュアルデータマネージャを使う。

データベースにデータを保存することも、SQLで可能である。しかし、このセミナーではSQLをデータ抽出のためだけに使用する。よって、データベースにデータを保存したり、データベースからデータを読み出したりする操作は、データコントロールと呼ばれるオブジェクトを使用する。またデータベースのデータを表示するためにDBグリッドコントロールと呼ばれるオブジェクトを使用する。

16:00終了

「第三日目」

9:00~9:30 SQLの概要

SQLにはいろいろなコマンドがある。そのコマンドに種類について説明する。DDLとDMLの分類、データ構造を定義するCREATEコマンド、データを追加するINSERTコマンド、データを変更するUPDATEコマンドについて説明する。、Visual Basicオンラインヘルプの「JetデータベースエンジンSQL予約語」に詳しい記述があるので、利用すること。

9:30~10:30 SELECTコマンドの使い方

SQLにはいろいろなコマンドがあるが、計測データを処理する場合、一部のデータのみ取り出して処理をおこなうといったことが多い。。この処理はSQLのSELECTコマンドでおこなう。Visual Basicオンラインヘルプの「SELECT ステートメント」に詳しい記述があるので、利用すること。

10:30~10:45 休憩

10:45~11:00 ビジュアルデータマネージャを使ったSELECTコマンドの実行

(テキストP23)

ビジュアルデータマネージャのSQLステートメントウインドウにSELECTコマンドを記述し、SELECTコマンドの動作を確認させる。

11:00~12:00 プログラム上でSELECTコマンドを実行する方法

(テキストP23)

全データを表示するためのデータコントロール、DBグリッドコントロールとSELECTコマンドで抽出したデータを表示するためのデータコントロール、DBグリッドコントロールを一つのフォームにそれぞれ貼り付けて、SELECTコマンドの動作を確認させる。

プログラムの実行中でもいろいろなSELECTコマンドの動作を確認できるようにするため、SELECTコマンドはテキストボックスに入力することができるようにしておくこと。

12:00~13:00 昼食

13:00~14:30 SELECTコマンドで抽出した計測データをファイルに保存する

(テキストP24)

データベースは計測データの抽出を簡単に行うことができるため計測データ処理には有用である。しかし、ファイル形式が異なるため、抽出データを文書ファイルで利用するのは難しい。ここでは、抽出データを文書ファイルで編集可能な形式のファイル(シーケンシャルファイル)に保存するプログラムを作成する。プログラム作成により抽出データを使った報告書などの文書作成が容易になることを受講者に理解させる。

データベースの抽出データを読み出す処理は、抽出データの位置を示すポインタを先頭から後方に向かって一つずつ移動することで行う。これらの移動にはMoveFirst,MoveNextのメソッド、および、抽出データ位置の最後を判定するEOFプロパティを用いる。

データをシーケンシャルファイルに書き込む処理は、1日目で指導した内容と同じため、復習をかねて受講者に考えさせる。

14:30~14:45 休憩

14:45~16:00 SELECTコマンドで抽出した計測データをExcelへ転送し、ExcelVBAを使って計測データを表化、グラフ表示

(テキストP24)

休憩前に行った計測データのファイル保存と同様にExcelへデータ転送を行うことで、データベースで抽出した計測データの表やグラフ表示が容易になること、また、Excelの統計処理等の科学計算関数が利用でき便利であることを受講者に理解させる。

データベースの抽出データを読み出す処理については休憩前と同じである。

データをExcelに書き込む処理は、1日目で指導したCreateObject関数を使ったデータ交換を利用する。

プログラム作成については、復習をかねて受講者に考えさせる。

16:00終了

※上記以外の資料(「教材」と「実技関連説明書」など)は、 こちら(ユーザ名=ユーザIDとパスワードが必要です)。
ユーザ名とは会員登録時に発行されたユーザIDを指します。
ユーザ名とパスワードをお持ちでない方は教材作成支援情報メニュー一覧から会員登録を行って下さい。