Microsoft PowerPoint - 講義資料-mlib

Similar documents
情報システム設計論II ユーザインタフェース(1)

プログラミング実習I

論文番号 分 2-2 平成 24 年度全国情報技術教育研究会第 41 回全国大会 ( 新潟大会 ) Xbee を活用した無線通信の研究 期日平成 24 年 8 月 9 日 ( 木 )~10 日 ( 金 ) 場所長岡市シティホールプラザ アオーレ長岡 香川県立三豊工業高等学校 電子科 本行

プログラミング基礎

プロセス間通信

AquesTalk プログラミングガイド

AquesTalk Win Manual

AquesTalk for WinCE プログラミングガイド

Microsoft PowerPoint - 説明用_2016_ver2.6.pptx

AI1608AYUSB手順V3

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>

ウインドウの基礎編

第 1 章 : はじめに RogueWave Visualization for C++ の Views5.7 に付属している Views Studio を使い 簡単な GUI アプリケーションの開発手順を紹介します この文書では Windows 8 x64 上で Visual Studio2010

4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ

HP Primeバーチャル電卓

C#の基本

画像ファイルを扱う これまでに学んだ条件分岐, 繰り返し, 配列, ファイル入出力を使って, 画像を扱うプログラムにチャレンジしてみよう

タッチパネル式表示ユニットの装着や システム組み込みにも対応した次世代データ収録器 誕生 各種ユニットを着脱可能 アンプユニットは最大10ユニットまで混在装着可能 1 最大で10台のアンプユニットが取付けでき 本体ユニット1台で最大112chの多チャネル測定が可能です 表示ユニットは本体ユニットへの

ウィンドウ操作 応用

情報処理 Ⅰ 前期 2 単位 年 コンピューター リテラシー 担当教員 飯田千代 ( いいだちよ ) 齋藤真弓 ( さいとうまゆみ ) 宮田雅智 ( みやたまさのり ) 授業の到達目標及びテーマ コンピューターは通信技術の進歩によって 私達の生活に大きな影響を与えている 本講座は 講義と

目次 はじめに 4 概要 4 背景 4 対象 5 スケジュール 5 目標点 6 使用機材 6 第 1 章 C# 言語 7 C# 言語の歴史 7 基本構文 8 C 言語との違い 9 Java 言語との違い 10.Netフレームワーク 10 開発資料 10 第 2 章 Mono 11 Monoの歴史 1

Microsoft PowerPoint - kougi2.ppt

問題 1 次の文章は Excel の作業環境について述べたものである 下線部の記述の正誤を判断し 解答群 { } の記号で答えよ ただし 下線部以外の記述に誤りはないものとする 設問 1. クイックアクセスツールバーには アプリケーション名やファイル名が表示される 設問 2. 数式バーのる ボタンを

Viewgo波形の連続格納ソフト

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

ファイル入出力

AquesTalk2 Win マニュアル

Windows Web Windows Windows WinSock

Windows 10 はマイクロソフト社の OS(Operating System: 基本ソフト ) です OS は パソコンの本体とプリンター キーボード マウスなどのハードウェアを仲介します また Word Excel などのアプリの制御や ファイルの作成 削除などを階層的に管理します を使うと

PowerPoint プレゼンテーション

目次 1. 概要 動作環境

コンピュータ工学講義プリント (7 月 17 日 ) 今回の講義では フローチャートについて学ぶ フローチャートとはフローチャートは コンピュータプログラムの処理の流れを視覚的に表し 処理の全体像を把握しやすくするために書く図である 日本語では流れ図という 図 1 は ユーザーに 0 以上の整数 n

改訂履歴 改訂日付 改訂内容 2014/11/01 初版発行 2017/01/16 Studuino web サイトリニューアルに伴う改訂 2017/04/14 Studuino web サイトリニューアルに伴うアクセス方法の説明変更 2018/01/22 Mac 版インストール手順変更に伴う改訂

2. 仕様 電源 :USB バスパワー (USB 入力の 5V 電源を使用します ) 出力 : 3.5mm ステレオジャック アナログステレオ出力 最大 20mArms 対応ヘッドホンインピーダンス 1Ω~500Ω RCA ピンジャック アナログ 2ch 出力 (L R) ラインレベル ヘッドホンア

CommCheckerManual_Ver.1.0_.doc

A&D社製データロガーを初めてお使いになる方へ

monologue Sound Librarian 取扱説明書

Wordの学習

多機種のAndroid(TM)端末でテストシナリオを流用可能に - Androidアプリケーション自動テストツール QCWing for Android Ver.2.7 -

MS916 バッチ操作ガイド FW バージョン 0.52 向け バッチ操作の基本 MS916 のバッチ操作について バッチ操作では 読取ったバーコードデータはすべて 不揮発性のメモリ (1MB ROM JAN-13 約 50,000 件 ) に保存されます メモリに保存されたデータは任意のタイミング

平成 29 年度卒業研究 初心者のためのゲームプログラミング用 教材の開発 函館工業高等専門学校生産システム工学科情報コース 5 年 25 番細見政央指導教員東海林智也

RW-5100 導入説明書 Windows7 用 2017 年 7 月 シャープ株式会社

テキストファイルの入出力1

製品開発の現場では 各種のセンサーや測定環境を利用したデータ解析が行われ シミュレーションや動作検証等に役立てられています しかし 日々収集されるデータ量は増加し 解析も複雑化しており データ解析の負荷は徐々に重くなっています 例えば自動車の車両計測データを解析する場合 取得したデータをそのまま解析

Microsoft PowerPoint - RL78G1E_スタータキットデモ手順_2012_1119修正版.pptx

智美塾 ゆもつよメソッドのアーキテクチャ

OHP シートの作成 OHP でプレゼンテーションをする際に必要な OHP シートを作成できます 配布資料の作成プレゼンテーションの参加者に配布する資料を簡単に作成できます 参加者はメモ等この資料に書き込むことができ 理解を深めることができます 発表者用資料の作成プレゼンテーション中に発表者が参考に

目次 1. ログイン ログアウト デスクトップ ( 例 :Word Excel 起動中 ) Dock( 例 :Word Excel 起動中 ) Finder ウィンドウ メニューバー ( 例 :Word 起動中 )...

CR-USB 仕様書 株式会社測商技研 JS カード用データ転送用カードリーダー CR-USB 仕様書 取扱説明書 2012 年 07 月 31 日版 株式会社測商技研 1. 概要 本器は当社製自動観測装置で記録した JS カードデータ

PowerPoint Presentation

情報工学実験 C コンパイラ第 2 回説明資料 (2017 年度 ) 担当 : 笹倉 佐藤

CMOS リニアイメージセンサ用駆動回路 C CMOS リニアイメージセンサ S 等用 C は当社製 CMOSリニアイメージセンサ S 等用に開発された駆動回路です USB 2.0インターフェースを用いて C と PCを接続

EnSight 10.1の新機能

CCD リニアイメージセンサ用駆動回路 C CCD リニアイメージセンサ (S11155/S ) 用 C は 当社製 CCDリニアイメージセンサ S11155/S 用に開発された駆動回路です S11155/S11156-

コマンドラインから受け取った文字列の大文字と小文字を変換するプログラムを作成せよ 入力は 1 バイトの表示文字とし アルファベット文字以外は変換しない 1. #include <stdio.h> 2. #include <ctype.h> /*troupper,islower,isupper,tol

<91808DEC90E096BE8F91322E786C73>

起動画面

CodeRecorderでカバレッジ

Microsoft PowerPoint - prog04.ppt

タッチパネルの概要

NFC EXPRESS ASUS NFC Express は Windows 8 対応の外付けデバイスです NFC 対応のスマートデバイス または付属の NFC タグをタッチするだけで 簡単に様々なアクションを実行することができます NFC Express をインストールする NFC Experss

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

RW-4040 導入説明書 Windows 7 用 2017 年 7 月 シャープ株式会社

Microsoft Word - macマニュアル【 】.doc

Arduino をドリトルから 制御する教材の試行 鈴木裕貴 1

USB_IR_Remote_Controller_Advance_Library 取扱説明書 2015/8/21 Assembly Desk USB_IR_Remote_Controller_Advance_Library を使用すると 弊社製 USB IR Remote controller Ad

現行のICカードリーダRW4040インストーラの課題

機能検証トレーニング コース一覧

04Les01.fm

Transcription:

計測制御工学特論 B 電気電子工学専攻情報通信システム分野第 1 三輪 ー Windows ベース C プログラミングによる視覚化技術ー 講義形態 : 座学 & 実習 場所 :ATEC 2F PC 室 (PC 24 台 ) 講義目的 :Windows の Visual C をベースとしたグラフ化 データ処理 計測のための実践的プログラミングを習得する 講義内容 :Microsoft Visual C++ 2010 Express フリーのグラフ作成用 C 言語ライブラリ mlib をベースに 波形描画 信号処理 アニメーション等の演習を行い 最終的に PC ベースの簡易デジタルオシロスコープ を自作する 毎回演習を行う 大きなテーマに関する総合演習と発表 ( 全員 ) が 3 回ある 履修条件 :Windows による数値計算やその視覚化 信号処理等のデータ解析をする必要のある人を優先

講義の流れ ( 予定 ) 9 回以降は人数により変更の可能性あり http://www.vector.co.jp/soft/winnt/prog/se408868.html 1. ガイダンス 2.mlib の使い方 ウインドウ初期設定関連 3.mlib での文字列の扱い 4.mlib の使い方 図形描画 5. 図形描画の総合演習 発表 6.mlib の使い方 Plot 関数 7.mlib の使い方 2DPlot 関数 8.Plot 関数の総合演習 発表 9.AD コンバータ TUSBK02AD 概要 10. ソフトトリガによるサンプリング 11. 外部トリガによるサンプリング 12.FFT ライブラリの使い方 13. 簡易オシロスコープの製作実習 (1) 14. 簡易オシロスコープの製作実習 (2) 15. 簡易オシロスコープの製作発表

この講義を履修することにより WindowsベースのC 言語アプリケーション開発のとっかかり C 言語による波形処理 統計処理 信号処理の土台 AD 変換器のPCへのデータ取り込みの基礎 PCベース計測システム構築のノウハウ この講義を履修するには C 言語プログラミング経験者 (C 言語の文法は教えません 自分でいくらでも調べられます ) C 言語でシミュレーション 数値計算等を行い 結果を気軽に見たい PC を用いてリアルタイムなデータ取得をしたい http://www.el.gunma u.ac.jp/~miwalab/lec/mlib.html

PC での計測プログラム開発 1 何らかの測定ボード (PCI スロットや USB 等でデータを取得 ) を使う 2 計測器にコマンドを与えて制御 (RS-232C,GPIB) 3GUI を用いてリアルタイムでのデータの取得 グラフ化 4 スペクトル推定 信号処理 LABVIEW MATLAB Visual Basic C++ builder XE Delphi Visual C グラフィカルプログラミング環境 独自のプログラミング概念フローチャート方式 解析 データの可視化 高価 計測が得意 グラフィカルプログラミング環境 計測用の GUI を作成可能独自のプログラミング言語 非常に多くの関数を持つ解析 データ可視化が得意 高価 インタープリタ ドライバの対応は中 GUI プログラミング開発環境 様々なボタンを配置し そのボタンに対するアクションを記述する ( イベントドリブン ) フリー 計測器のドライバが対応していない場合がある GUI プログラミング開発環境 様々なボタンを配置し そのボタンに対するアクションを記述する 高価 ドライバの対応は良信号処理等のプログラムは自作する C++ プログラミング統合開発環境 GUI は簡単には作れない フリー ドライバの対応は良 信号処理等のプログラムは自作する

Microsoft Visual C++ による計測プログラミング C++ 言語 コンソールアプリケーションプログラミング応用 (Linux) でやったような端末画面でのテキストベースのプログラミング GUI(Graphical User Interface) プログラミングウインドウ内に様々なボタンが配置された ボタンに対応した処理を行うプログラミング Windows で GUI を使ったプログラミングを作るには MFC アプリケーション オブジェクト指向を行う為に C に追加された仕様 C++ 言語は C 言語とはベツモノ DLL(Dynamic Link library) プログラミング例えば C 言語の関数のように 入力を指定して なんらかの処理後の出力を返すような関数のライブラリで Windows で動くアプリケーションから利用できる Windows の GUI を司る便利な関数を C++ のクラスの概念を使って オブジェクト指向プログラミングを容易に開発できるようにしたもの 概念の理解に難 Win32 アプリケーション Windows の GUI を司る便利な関数群 Win32API を使った C 言語プログラミング Windows が制御しているウインドウ処理に入り込めるようにプログラムされないといけない

Windows プログラミング マウスカーソルがウインドウ内にあるよ ウインドウがドラッグされたよ ウインドウ内のボタンが押されたよ X ウインドウを消すボタンが押されたよ Windowsは以下を繰り返しているだけである個々のウインドウはマウスの様々な応答 ( イベント ) が発生したときOSに知らせる OSはあらゆるイベントに対応した処理を呼び出して実行する 我々がウインドウを使用して新たに何かの仕事をさせるときは 1. ウインドウを新たに作らないといけない 2. そのウインドウで起こったイベントを知らせないといけない 3. そのイベントに対応する処理内容を書かないといけない Win32API(Application Programming Interfaces) を操作

Win32 アプリケーションによるウィンドウの表示 #include <windows.h> #include <tchar.h> // プロトタイプ宣言 LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp); // 開始位置 int WINAPI WinMain(HINSTANCE hinst, HINSTANCE hprevinst, LPSTR pcmdline, int showcmd) { WNDCLASSEX wc; HWND hwnd; MSG msg; // ウィンドウクラスの情報を設定 wc.cbsize = sizeof(wc); // 構造体サイズ wc.style = CS_HREDRAW CS_VREDRAW; // スタイル wc.lpfnwndproc = WndProc; // ウィンドウプロシージャ wc.cbclsextra = 0; // 拡張情報 1 wc.cbwndextra = 0; // 拡張情報 2 wc.hinstance = hinst; // インスタンスハンドル wc.hicon = (HICON)LoadImage( // アイコン NULL, MAKEINTRESOURCE(IDI_APPLICATION), IMAGE_ICON, 0, 0, LR_DEFAULTSIZE LR_SHARED); wc.hiconsm = wc.hicon; // 子アイコン wc.hcursor = (HCURSOR)LoadImage( // マウスカーソル NULL, MAKEINTRESOURCE(IDC_ARROW), IMAGE_CURSOR, 0, 0, LR_DEFAULTSIZE LR_SHARED); wc.hbrbackground = (HBRUSH)GetStockObject(WHITE_BRUSH); // ウィンドウ背景 wc.lpszmenuname = NULL; // メニュー名 wc.lpszclassname = _T("Default Class Name");// ウィンドウクラス名 // ウィンドウクラスを登録する if( RegisterClassEx( &wc ) == 0 ){ return 1; // ウィンドウを作成し そのハンドル番号を取得 hwnd = CreateWindow( wc.lpszclassname, // ウィンドウクラス名 _T("Sample Program"), // タイトルバーに表示する文字列 WS_OVERLAPPEDWINDOW, // ウィンドウの種類 CW_USEDEFAULT, // ウィンドウを表示する位置 (X 座標 ) CW_USEDEFAULT, // ウィンドウを表示する位置 (Y 座標 ) CW_USEDEFAULT, // ウィンドウの幅 http://www.geocities.jp/ky_webid/win32c/002.html mlib 3.7 の利用が便利 ); CW_USEDEFAULT, // ウィンドウの高さ NULL, // 親ウィンドウのウィンドウハンドル NULL, // メニューハンドル hinst, // インスタンスハンドル NULL // その他の作成デー if( hwnd == NULL ){ return 1; // ウィンドウを表示する ShowWindow( hwnd, SW_SHOW ); UpdateWindow( hwnd ); // メッセージループ while( 1 ) { BOOL ret = GetMessage( &msg, NULL, 0, 0 ); // メッセージを取得する if( ret == 0 ret == -1 ) { // アプリケーションを終了させるメッセージが来ていたら // あるいは GetMessage() が失敗したら ( -1 が返されたら ) ループを抜ける break; else {// メッセージを処理する TranslateMessage( &msg ); DispatchMessage( &msg ); return 0; // ウィンドウプロシージャ LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp) { switch( msg ) { case WM_DESTROY: // ウィンドウを破棄するとき PostQuitMessage( 0 ); return 0; // 他のメッセージは デフォルトの処理を行う return DefWindowProc( hwnd, msg, wp, lp );

mlib によるプログラム作成 mlib は 1. ウインドウ作成,2 イベントのお知らせ処理をある程度やってくれる 加えてグラフ化の便利な関数を備えている 我々は処理内容のみを書けばよい ボタン ラジオボタン チェックボックス テキスト入出力 1 次元グラフ 2 次元グラフ

http://www.el.gunma u.ac.jp/~yamalab/mlib.html

使用する AD 変換器 Turtle 工業製 TUSB ー K02AD 約 1 万円 2チャンネル12ビットAD 変換器内臓 20kHzの最高サンプリング速度 USBケーブルによる信号伝送サポート外部トリガ ソフトトリガ 外部同期 C 言語用の関数ライブラリが付属 信号入力端子 AD コンバータ IC USB 端子接続ポート トリガ信号入力端子 波形のサンプリングを行うタイミング信号 ( トリガー信号 ) を入力 実際には波形発生器のトリガ信号出力を入力する 電源ランプ電源はUSBからのバスパワーを利用 USBをつなげば 赤く点灯する

PC ベースの簡易オシロスコーププログラム プラットフォームは Microsoft visual C++ 2010 Express Edition ( フリー ) で作製 AD 変換器のドライバ 波形取り込み等の c 言語関数ライブラリは付属無料グラフ作成 c 言語ライブラリ mlib 3.7 を使用 描画ウインドウの移動 離散フーリエ変換の実行サンプリングを実行波形演算処理 全描画ウインドウのコピー 現在の描画ウインドウのクリア 描画ウインドウ (1 6 番まで ) 現在のウインドウ ( 太枠で表示 )