テーマ 使用機器 機器構成 Application Note 資料作成 資料番号 an2k-002 RS-485 接続温湿度計の記録と取り出しその 1 USB メモリと CUnet を使った 2 通りのデータログ方法です MPC-2100,MPC-Cunet,MRS-MCOM,USB-

Similar documents
MPC プログラム CUNET CU_POST MEWNET S_MBK &H20 8 OFF CNFG# 5 RS485 "9600b7pes1NONE" FOR I=100 TO 131 S_MBK 0 I NEXT I S_MBK 0 200~Wrd *

MPC プログラム 青 文 字 が AD の 主 要 な 部 分 です CUNET TIME 5 CU_POST QUIT 1 FORK 1 *PULSE_AD FOR I=10 TO 20 QUIT I FORK I *DUMMY NEXT I /* SA,OWN,EN /* CUne

adr(Byte)

ThisWorkbook のコード 'アドイン 登 録 Private Sub Workbook_AddinInstall() Set Menu = Application.CommandBars("Worksheet Menu Bar").Controls.Add(Type:=msoControl

1) 書込 読出機器構成 KEYENCE KV-7500~MPC 接続 KV-7500 の PLC リンクモードを用いて MPC と通信します KV STUDIO Ver9 KV-7500 KV-XL202 Ref No:ti2K Last Modify バス接続ユニット

D0020.PDF

起動画面

CommandMatrix_8230E


Ethernet 開発支援ツール ACCEL ti2k (LastUpdate Mar 1, 2019) 概要ターミナルツール (1) TcpTermS.exe ターミナルツール (2) TcpTermM.exe ターミナルツール (3) UdpTermS.exe ターミナルツール (

CashDrawer ライブラリ API 仕様書 2014/07/09 CashDrawer ライブラリ API 仕様書 Rev / 10

コンピュータ概論

2013 年 8 月 14 日 管理図作成マニュアル ( 案 ) 益永八尋 Ⅰ. プログラムの概要 品質管理において必要な QC7 道具の一つである管理図作成のプログラムを作成した このプログラムは 下記の管理図を作成するものである 1 BerX-R 管理図 2Me 管理図 3X 管理図 4np 管

コンピュータ概論

<リスト1> AD コンバータへのデータの出力例 NEC PC98 用 mov al,22h // CLK -> 1, CS -> 0, DI -> 0 out 32h,al // シリアル ポートにデータ出力 PC/AT 互換機用 mov al,00h // CLK -> 1 mov dx,3fb

作成 承認 簡単取扱説明書 (S&DL 水位計 ) 応用計測サービス株式会社 (1.1)

2 1 F M m r G F = GMm r 2 (1.1) (1.1) (r = r ) F = GMmr r 3 (1.2) a F m F = kma k 1 F = ma (1.3) (1.2) (1.3) ma = GMmr r 3 (1.4)

PR300 電力モニタ 通信インタフェース (RS-485通信,Ethernet通信)

D0090.PDF

D0120.PDF

VFD256 サンプルプログラム

API 連携方式 外部 DLL の呼び出し宣言 外部 DLL の呼び出し宣言のサンプルコード (Microsoft Visual C#.NET の場合 ) プログラムコードの先頭で using System.Runtime.InteropServices; が必要 クラスの内部に以下のような外部 D

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

1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート )

RsMulti の取扱説明 「RS232C で直接接続する(LAN を使用しない場合)」

CoIDE 用 F4D_VCP の説明 V /07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x

UIOUSBCOM.DLLコマンドリファレンス

MPC-816ファミリ

の包絡線を求めることになる 包絡線は一次式で表せるのでこのときの係数 ( 切片 ) を求 めればよいことになる この係数 ( 切片 ) が粘着力となる 包絡線はモールの応力円に外 接する直線であるため 包絡線の式は下記三式を解くことにより求めることができる 包絡線の式 Y=A1 X + B1 ---

MS-ExcelVBA 基礎 (Visual Basic for Application)

Lesson 1 1 EXVBA2000 Lesson01 Lesson01.xls 2

sinfI2005_VBA.doc

Microsoft Word - HOBO雨量専用説明書_v1.1.doc

GS1-128 の描画 DLL について (ver. 2.3) 動作環境など動作環境 WindowsXP Windows Vista Windows7 Windows8/8.1 Windows10 上記 OS について すべて日本語版を対象としております 32bit アプリケーションから呼び出される

目次 1 I2Cとは 13 結線写真 2 センサの多くがI2Cに対応 14 WHO_AM_I 3 マイコンでのI2C通信例 15 I2C読込みプログラム 4 とは 16 I2C読込みスクリプト概要① 5 タイミングパラメータ 17 I2C読込みスクリプト概要② 6 書込み 18 センサ読込みプログラ

IM_J_BIND

PowerPoint プレゼンテーション

Microsoft Word - VBA基礎(3).docx

PowerPoint プレゼンテーション

untitled

1. UART について UART は Universal Asynchronous Receiver Transmitter の頭文字をとったもので 非同期シリアル通信と呼ばれます シリアル通信とは 一本の信号線でデータをやりとりするために 1bit ずつデータを送出することをいいます データを受

ルーレットプログラム

DS-3300 プログラミングマニュアル 設定項目 ページ 初期値設定マップ 1-2 ファームウェアバージョン情報 2 システム設定 3 読取機能設定 4 インターフェース設定 5 バーコード規格別読取設定 6-7 チェックデジット設定 8 読取桁数設定 9 キャラクタ付加設定 10 数字バーコード

untitled

SDC_SDIO_STM32F4 の説明 2013/09/17 SDIO インターフェースで SD カードをアクセスするプログラムのプロジェクトサンプルです FAT でファイルアクセスするために FatFs( 汎用 FAT ファイルシステム モジュール ) を使用しています VCP(USB 仮想 C

DA100データアクイジションユニット通信インタフェースユーザーズマニュアル

プログラマブル LED 制御モジュール アプリ操作説明書 プログラマブル LED 制御モジュール設定アプリ操作説明書 適用モジュール 改訂番号 エレラボドットコム 1


3軸加速度センサーモジュール MM-2860 書込み済みマイコンプログラム通信コマンド概要

メモリー MAP Data エリア [MPC] [ パネル ] MBK(0) = DT00000 : : MBK(7899) = DT07899 DT10000 DT10012 : タッチパネル DT (MPC Control) MPC 変数 2word SYSCLK の値 (2word Syste

卒業論文.PDF

II ( ) prog8-1.c s1542h017%./prog8-1 1 => 35 Hiroshi 2 => 23 Koji 3 => 67 Satoshi 4 => 87 Junko 5 => 64 Ichiro 6 => 89 Mari 7 => 73 D

ブロック パニック

PBASIC 2.5 PBASIC 2.5 $PBASIC directive PIN type New DEBUG control characters DEBUGIN Line continuation for comma-delimited lists IF THEN ELSE * SELEC

BASICとVisual Basic

ExcelVBA

1. A/D 入力について分解能 12bit の A/D コンバータ入力です A/D 入力電圧とディジタル値との対応は理論上 入力電圧 0V : 0 入力電圧 +3V : 4095 です 実際はオフセットと傾きがあり ぴったりこの数値にはなりません 2. A/D 入力に使用する信号 STM32L_A

PowerPoint プレゼンテーション

RTC_STM32F4 の説明 2013/10/20 STM32F4 内蔵 RTC の日付 時刻の設定および読み込みを行うプログラムです UART2( 非同期シリアル通信ポート 2) を使用して RTC の設定および読み込みを行います 無料の開発ツール Atollic TrueSTUDIO for

よくわかる Microsoft Excel 2019/2016/2013 マクロ/VBA(FPT1910)

PowerPoint プレゼンテーション

94 expression True False expression FalseMSDN IsNumber WorksheetFunctionIsNumberexpression expression True Office support.office.com/ja-jp/ S

基礎情報処理 I (文字型)

PIC

I ASCII ( ) NUL 16 DLE SP P p 1 SOH 17 DC1! 1 A Q a q STX 2 18 DC2 " 2 B R b

tri_s_tg12864_vcp の説明 2014/02/05 飛石伝ひ CPU 基板 の LCD TG12864 の表示プログラムです 漢字表示 (JIS208) を行うことができます USB の VCP ( 仮想 COM ポート ) を使用して非同期シリアル通信により 表示試験を行うことができ

1. 使用する信号 1.1. UART 信号 UART 通信に使用する信号と接続相手との接続は以下の通りです UART 信号表 番号 CPU 機能名 CPU 信号名 基板コネクタピン番号 方向 接続相手の信号名 1 USART1_TX PA9 CN > RxD 2 USART1_R

パソコンで楽チン、電力管理3169編

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

Transcription:

テーマ 使用機器 機器構成 Application Note 資料作成 081127 資料番号 an2k-002 RS-485 接続温湿度計の記録と取り出しその 1 USB メモリと CUnet を使った 2 通りのデータログ方法です MPC-2100,MPC-Cunet,MRS-MCOM,USB-CUnet タッチパネル : パナソニック電工 GT11, 温湿度計 :CHNO HN-CHNS,USB メモリ ( 市販 ) Windows PC(MS-EXCEL) 概要 2 台の温湿度計のデータを一定間隔で USB メモリに CSV 形式で保存します 同時に USB-CUnet 経由で PC(A) の EXCEL のデータシートに直接入力してオンタイムでグラフを更新します USB メモリのデータは計測終了後に PC(B) に差し替えて EXCEL に入力します タッチパネルに現在の温度 湿度 日時を表示します 温湿度計 ( 床 ) タッチパネル画面 手前から MPC-2100,MRS-MCOM,MPC-CUnet 1

RS-485 結線 MRS-MCOM USB メモリ J6 SDB 5 SDA 6 B A B A 温湿度計 ch1 温湿度計 ch2 MRS-MCOM には Fail Safe 回路が組み込まれているので外付け回路はいりません 温湿度計の通信フォーマット 温湿度計に対する測定データ要求フォーマット ENQ 機器番号 STX RPV01 ETX CR LF 温湿度計からの応答フォーマット ACK 機器番号 STX APV01 = 年月日時分温度湿度 ETX CR LF 温湿度計の応答例 ( 応答文字列は固定長です 温湿度計のカレンダは無通電で 2001/01/01 になります ) ( 文字数 ) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 (HEX) 06 30 31 02 41 50 56 30 31 3D 32 30 30 31 2C 20 31 2C 30 31 2C 32 30 2C 34 32 (ASCII) AK 0 1 SX A P V 0 1 = 2 0 0 1, SP 1, 0 1, 2 0, 4 2 ( 文字数 ) 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 (HEX) 2C 30 2C 30 2C 30 2C 20 20 32 32 2E 33 2C 30 2C 20 20 36 31 2E 37 03 0D 0A (ASCII), 0, 0, 0, SP SP 2 2. 3, 0, SP SP 6 1. 7 EX CR LF MPC プログラム CUNET 4 4 8 MEWNET 38400 2 S_MBK &H20 8 CNFG# 5 RS485 "9600b7pes1NONE" OFF 70000 FOR I=100 TO 131 S_MBK 0 I NEXT I S_MBK 0 200 S_MBK 0 300 /* CUnet 初期化 /* タッチパネル通信 /* タッチパネルページ切り替え /* MRS-MCOM ch5 RS-485 モード /* START SW オフ /* タッチパネル使用エリア初期化 /* Write Count /* タッチパネル Msg "Push START" *START WAIT SW(70000)=1 /* タッチパネル START SW ( オルタネート ) S_MBK 1 300 /* タッチパネル Msg "Logging" FILENAME$="test.csv" /* ファイル名 USB_DEL FILENAME$ /* USB メモリ既存ファイル削除 APPEND FILENAME$ /* USB メモリ追記モードでオープン FORMAT "0000/00/00" /* 文字列書式 DT$=HEX$(DATE(0)) S_MBK DT$ 124 10 /* タッチパネル年月日表示 ST$=" 時間, 温度 1, 湿度 1, 温度 2, 湿度 2,"+DT$+"\n" /* scv の表題 PRINT# USB ST$ /* USB メモリ書き込み DELAY=100 /* read 間隔必要に応じて加減 WRITE_COUNT=0 2

DO CH$="01" GOSUB *GET_DATA RES1$=RES$ S_MBK RES1$ 100 9 OUT t 2032~Int OUT h 2034~Int TIME DELAY CH$="02" GOSUB *GET_DATA RES2$=RES$ S_MBK RES2$ 108 9 OUT t 2036~Int OUT h 2038~Int /* 温湿度計 ch1 /* タッチパネル温度, 湿度表示 /* CUnet に温度書き込み /* CUnet に湿度書き込み /* この温湿度計には必要みたい /* 温湿度計 ch2 FORMAT "00:00:00" TM$=HEX$(TIME(0)) S_MBK TM$ 116 8 /* タッチパネル時間表示 ST$=TM$+","+RES1$+","+RES2$+"\n" PRINT ST$ IF (TIME(0)&&HFF)==0 THEN /* 秒が 00 なら書込み =60 秒間隔 INC WRITE_COUNT /* カウンタインクリメント S_MBK WRITE_COUNT 200~Wrd /* タッチパネルカウンタ値表示 PRINT "WRITE TO USB-MEM" WRITE_COUNT PRINT# USB ST$ /* USB メモリ書き込み WAIT (TIME(0)&&H0F)!=0 END_IF TIME DELAY /* 秒!=0 待ち /* この温湿度計には必要みたい IF SW(70000)==0 THEN CLOSE USB S_MBK 2 300 GOTO *START END_IF HH=TIME(0)/&H10000 MM=TIME(0)/&H100 MM=MM&&HFF SS=TIME(0)&&HFF OUT HH 2040 OUT MM 2041 OUT SS 2042 /* タッチパネル STOP SW 押下なら /* タッチパネル Msg "USB Close" /* MPC の日時を CUnet に書き込む LOOP *GET_DATA PRINT# 5 CHR$(5) CH$ CHR$(2) "RPV01" CHR$(3) "\r\n" /* 温湿度計にコマンド送信 INPUT# 5 a$ /* 温湿度計データ受信 /* 表示して温度湿度以外は読み飛ばす例 /* PRINT VAL(a$) VAL(0) VAL(0) VAL(0) VAL(0) VAL(0) VAL(0) VAL(0) VAL(0) VAL(0) /* PRINT t=val(10) VAL(0) h=val(10) /* 表示せず読み飛ばし dummy=val(a$) FOR I=1 to 9 dummy=val(0) NEXT I t=val(10) dummy=val(0) h=val(10) FORMAT "00.0" RES$=STR$(t) FORMAT "00.0" RES$=RES$+","+STR$(h) /* 温度値取得 /* 読み飛ばし /* 湿度値取得 /* 書式 = 整数 2 桁 小数 1 桁 /* 温度文字列 /* 温度文字列, 湿度文字列 RETURN 3

PC(A) の EXCEL VBA プログラムリアルタイムにデータを取得して EXCEL のデータシートに追加 & グラフ化します Label1 Label2 CommandButton2 CommandButton1 TextBox1 標準モジュール usbcunet.dll コマンド宣言 グラフ表示 データ取得 Declare Function usb_open Lib "usbcunet.dll" () As Long Declare Function fw_vid Lib "usbcunet.dll" () As Long Declare Function fw_pid Lib "usbcunet.dll" () As Long Declare Function fw_ver Lib "usbcunet.dll" () As Long Declare Function dll_ver Lib "usbcunet.dll" () As Long Declare Sub init_cunet Lib "usbcunet.dll" (ByVal sa As Long, ByVal ow As Long, ByVal en As Long) Declare Function cunet_in Lib "usbcunet.dll" (ByVal adr As Long, ByVal siz As Long) As Long Declare Sub cunet_out Lib "usbcunet.dll" (ByVal dat As Long, ByVal adr As Long, ByVal siz As Long) Public Declare Sub Sleep Lib "kernel32" (ByVal dwmilliseconds As Long) Public Const CuChr = 1 '1byte 符号無 Public Const CuInt = 2 '2Byte 符号付 Public Const CuWrd = 4 '2Byte 符号無 Public Const CuLng = 8 '4Byte 符号付 Global RunFlg Public Sub graph_create() nchart = ActiveSheet.ChartObjects.Count If nchart > 0 Then ' 既存グラフがあるときは消す For cnt = 1 To nchart ActiveSheet.ChartObjects(1).Activate ' 消すと count は減算されるので常に 1 ActiveChart.ChartArea.Select ActiveWindow.Visible = False ActiveChart.Parent.Delete 4

'Selection.Delete Next Columns("A:E").Select Charts.Add ActiveChart.ChartType = xlline ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A1:E2"), PlotBy _ :=xlcolumns ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1" With ActiveChart.HasTitle = True.ChartTitle.Characters.Text = Date.Axes(xlCategory, xlprimary).hastitle = False.Axes(xlValue, xlprimary).hastitle = False End With Public Sub get_data(r, c) Cells(r, c) = Time$ Cells(r, c + 1) = cunet_in(2032, CuInt) / 10 Cells(r, c + 2) = cunet_in(2034, CuInt) / 10 Cells(r, c + 3) = cunet_in(2036, CuInt) / 10 Cells(r, c + 4) = cunet_in(2038, CuInt) / 10 'ch1 温度 'ch1 湿度 'ch2 温度 'ch2 湿度 ActiveSheet.TextBox1.Text = "Latest Data (row=" + CStr(r) + ") " _ + Time$ + Chr(13) + Chr(10) _ + " 温度 1:" + Format(Cells(r, c + 1), "00.0 ") _ + " 湿度 1:" + Format(Cells(r, c + 2), "00.0%") + Chr(13) + Chr(10) _ + " 温度 2:" + Format(Cells(r, c + 3), "00.0 ") _ + " 湿度 2:" + Format(Cells(r, c + 4), "00.0%") Sheet1 Start ボタンでデータシート グラフ CUnet 初期化 60 秒間隔でデータを取得して cell とグラフに追加 Stop ボタンで停止 Private Sub CommandButton1_Click() Cells.Clear ' 既存データクリア Columns("A:A").Select Selection.NumberFormatLocal = "hh:mm:ss" ' セルの書式 = 時刻 Columns("B:E").Select Selection.NumberFormatLocal = "0.0_ " ' セルの書式 = 数値 Range("A1").Select If usb_open <> 1 Then Cells(1, 7) = "USB OPEN ERROR" Exit Sub CommandButton1.Enabled = False CommandButton2.Enabled = True CommandButton2.Activate DoEvents init_cunet 0, 4, 8 ' CUnet 初期化 Cells(1, 1) = " 時刻 " Cells(1, 2) = " 温度 1" Cells(1, 3) = " 湿度 1" Cells(1, 4) = " 温度 2" Cells(1, 5) = " 湿度 2" Label1.Caption = "FW " + CStr(fw_ver) + " DLL " + CStr(dll_ver) ' グラフ初期化のダミー書込み get_data 2, 1 graph_create RunFlg = 1 cr = 2 ' グラフ作成 ' row 5

Do If (Int(Timer) Mod 60) = 0 Then ' 記録間隔 ( 秒 ) nchart = ActiveSheet.ChartObjects.Count If nchart > 0 Then For cnt = 1 To nchart ActiveSheet.ChartObjects(1).Activate ' 消すと count は減算されるので常に 1 'ActiveChart.ChartArea.Select ActiveWindow.Visible = False Next get_data cr, 1 ActiveWindow.Visible = True ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A1:E" + CStr(cr)), PlotBy _ :=xlcolumns cr = cr + 1 st = Timer st = st + 2 Do If Timer > st Then Exit Do Sleep 1 DoEvents Loop DoEvents If RunFlg = 0 Then Exit Do Sleep 1 ' これが無いと CPU 使用率 100% になる 'MPC の時計 HH = Hex(cunet_in(2040, CUBYTE)) MM = Hex(cunet_in(2041, CUBYTE)) SS = Hex(cunet_in(2042, CUBYTE)) Label2.Caption = "MPC TIME " + Format(HH, "00:") + Format(MM, "00:") + Format(SS, "00") Loop CommandButton2.Enabled = False Private Sub CommandButton2_Click() RunFlg = 0 CommandButton1.Enabled = True CommandButton1.Activate Range("A1").Select 6

USB メモリの記録 測定作業終了後 USB メモリーを PC(B) に移してデータを処理します 1 分間隔 535 個のデータで約 16kByte でした TEST.CSV の内容時間, 温度 1, 湿度 1, 温度 2, 湿度 2,2008/11/19 09:07:00,22.9,23.7,17.3,36.9 09:08:00,23.1,23.5,17.3,37.2 09:09:00,23.3,24.3,17.4,37.4 09:10:00,23.3,24.9,17.5,37.5 09:11:00,23.4,24.7,17.5,37.4 09:12:00,23.4,24.9,17.7,37.4 09:13:00,23.5,24.5,17.8,37.0 ( 中略 ) 17:56:00,22.9,20.4,20.9,24.8 17:57:00,22.9,20.6,20.9,26.9 17:58:00,23.0,20.5,20.9,24.8 17:59:00,22.9,20.2,20.9,24.6 18:00:00,23.0,20.1,20.9,26.5 18:01:00,23.1,19.9,21.0,24.5 PC(B) の EXCEL で TEST.CSV を読み込み グラフウィザードで描画しました エアコン暖房の作動状況 頭熱足寒 状態などがわかります 7