MPC プログラム 青 文 字 が AD の 主 要 な 部 分 です CUNET 4 4 7 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



Similar documents
OUT P_CNT 2032~Lng /* CUnet グローバルメモリに現在点番号 PRINT P_CNT HEX$(X(P_CNT)) Y(P_CNT) P_CNT=P_CNT+1 TIME 2000 /*============================================

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

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 *

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

adr(Byte)

第 7 章プログラム例 7-1 ロボットアプリケーション ここでは 簡単なプログラム例で 基本的なプログラム記述を例示します 想定は 以下のような 4 3 のマトリクス配置されたガラス玉をつかんで 原点で排出するものです こうしたアプリケーションでも PG の設定や原点復帰などが必要となります CO

PowerPoint プレゼンテーション

MPC-816ファミリ

D0050.PDF

D0020.PDF

コンピュータ概論

1. 入力画面

コンピュータ概論

CommandMatrix_8230E

Lesson 1 1 EXVBA2000 Lesson01 Lesson01.xls 2

6.1 工 程 管 理 (ネットワーク 工 程 表 ) 159 VBA( 実 行 結 果 例 ) 出 力 結 果 シート 出 力 結 果 を 図 に 描 くと 下 図 のようになる. 図 6.3 ネットワーク 工 程 表 ( 出 力 結 果 より 作 図 )

D0120.PDF

Module1 には 損 益 入 力 シートのデータに 関 連 するマクロが 格 納 されている( 表 1) 以 下 に Module1 を 構 成 するマクロを 掲 載 する 表 1 Module1 の 構 成 Module 設 置 されたシート 名 登 録 されたマクロ 作 業 内 容 データの

1. 入力画面

<4D F736F F D208DEC90AC837D836A B81698F4390B394C5816A2E646F63>

USB-CUnet 製品別マニュアル


untitled

untitled

PowerPoint プレゼンテーション

Microsoft Word - SCRIPT.doc

D0090.PDF

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)

I

Microsoft Word - 第3章.doc

グラフの 作 成 タイトルを 含 めたデータの 範 囲 と 系 列 の 設 定 をしてグラフを 作 成 する *データ 範 囲 の 設 定 データ 範 囲 タイトルを 含 む SetSourceData:=データ 範 囲 * 系 列 の 指 定 引 数 PlotBy:= xlcolumns 系 列

PowerPoint プレゼンテーション

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

(Microsoft Word - Excel\211\236\227p2\217\315.docx)

(18,26) 10/ GHz.xls [ (18GHz) ] GHz.xls [ (26GHz) ] +----all.sh [ 2 10 ] +----mesure-ryudai/ / _csv.log [


Microsoft Word - VBA基礎(3).docx

AccessVBA−‹ŠpŁÒ-flO“Z

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

PC 移 行 は 以 下 の 流 れで 行 います 次 ページ 以 降 に 各 手 順 を 記 載 しますのでご 確 認 ください ( をクリックすると 該 当 の 説 明 にジャンプします ) 移 行 元 のPCでの 作 業 Step1 移 行 するデータをバックアップする (3ページ) [データ

Koblitz Miller field Fp p prime field Fp E Fp Fp Hasse Weil 2.2 Fp 2 P Q R R P Q O P O R Q Q O R P P xp, yp Q xq, yq yp yq R=O

文科省様式3-2集計オプションマニュアル

Excel Excel Excel = Excel III 7 ( ) 1

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

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

<リスト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

MetaMoJi ClassRoom/ゼミナール 授業実施ガイド

1. 分 布 図 作 成 の 手 順 (1) 手 順 概 要 ; MT4(チャート)からデータを 出 力 し エクセルで 分 布 図 を 作 るまで MT4 チャート テキスト ファイル mytext.txt experts\files\ フォルダ 内 に 作 成 される エクセル シート 分 布

MS-ExcelVBA 基礎 (Visual Basic for Application)

計算式の取り扱い

節 実 施 期 間 実 施 級 実 施 期 間 情 報 処 理 第 回 は 級 と 級 のみ 実 施 各 期 間 内 回 の 受 験 となります C 言 語 Java Visual Basic ワードプロセッサ 第 回 は 級 のみ 実 施 第 回 は 級 のみ 実 施 第 回 は 級 と 級 のみ

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

Ngraph for Windowsの使用法

BASICとVisual Basic


sinfI2005_VBA.doc

Thunderbird のメール/設定を別PCへ移行する方法(「MozBackup」を使って)

目 次 機 能 概 要 配 信 管 理 1. メールの 配 信 履 歴 と 予 約 を 確 認 する

B 5 (2) VBA R / B 5 ( ) / 34

国 税 クレジットカード 納 付 の 創 設 国 税 のクレジットカード 納 付 については マイナンバー 制 度 の 活 用 による 年 金 保 険 料 税 に 係 る 利 便 性 向 上 に 関 するアクションプログラム( 報 告 書 ) においてその 導 入 の 方 向 性 が 示 されている

役員退職手当規程

untitled

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

動的串刺し計算のコツ

Microsoft PowerPoint - 医用工学概論実習3.ppt [互換モード]

ii

HDC-EDI BaseのAny変換における閏年の取り扱いに関する重要なお知らせ

<4D F736F F F696E74202D F C A082B882AF816082E ED2834B F91808DEC90E096BE95D C782AF A95D2816A E C5817A2E B8CDD8AB B83685D>

Microsoft Word - ŁtŸ^‡S

医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート - 目 次 - < 第 1 章 > 共 通 事 項 説 明 医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート 目 次 1.1 本 システムの 注 意 点 入 力 項 目 について 基 本 情

DN6(R04).vin

45 VBA Fortran, Pascal, C Windows OS Excel VBA Visual Basic Excel VBA VBA Visual Basic For Application Microsoft Office Office Excel VBA VBA Excel Acc

電子申告簡易マニュアル【所得税実践編】

( 別 紙 ) 以 下 法 とあるのは 改 正 法 第 5 条 の 規 定 による 改 正 後 の 健 康 保 険 法 を 指 す ( 施 行 期 日 は 平 成 28 年 4 月 1 日 ) 1. 標 準 報 酬 月 額 の 等 級 区 分 の 追 加 について 問 1 法 改 正 により 追 加

6-1 第 6 章 ストック オプション 会 計 設 例 1 基 本 的 処 理 Check! 1. 費 用 の 計 上 ( 1 年 度 ) 2. 費 用 の 計 上 ( 2 年 度 )- 権 利 不 確 定 による 失 効 見 積 数 の 変 動 - 3. 費 用 の 計 上 ( 3 年 度 )-

Excel Excel Excel = Excel ( ) 1

目 次 1. Web メールのご 利 用 について Web メール 画 面 のフロー 図 Web メールへのアクセス ログイン 画 面 ログイン 後 (メール 一 覧 画 面 ) 画 面 共 通 項 目

電子申告直前研修会(所得税編)

設定フロー ★印は必須の設定です

2X Y Y X θ 1, θ 2,... Y = f(x, θ 1, θ 2,...) θ k III 8 ( ) 1 / 39

ギリシャ文字の読み方を教えてください

Ⅰ.2015 年 度 (2016 年 3 月 期 ) 決 算 概 要 1

<8FEE95F AD D2E786C73>

前 書 き 広 域 機 関 システム System for Organization for Cross-regional Coordination of Transmission Operators(OCCTO) 商 標 類 Windows Office Excel Word

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

情報処理実習(工基3)

<4D F736F F D B68F918DEC90AC89898F4B899E977095D2816A2E646F63>

<4D F736F F F696E74202D2082C882E982D982C DD8ED88EE688F882CC82B582AD82DD C668DDA9770>

をかける 待 受 画 面 で 番 号 を 入 力 し Nを 押 す がかかります をかける 前 に 波 の 状 態 を 確 認 してください(1-6ページ) 一 般 へかける 場 合 は 必 ず 市 外 局 番 から 入 力 してください 携 帯 自 動 車 PHSへかける 場 合 は 0 から 始

病 棟 担 当 者 の 操 作 I. 毎 月 の 病 棟 年 月 ファイルの 作 成 起 動 用 ファイル を 開 き 年 月 と 病 棟 を 指 定 して[ 病 棟 年 月 ファイルを 開 く]ボタンを 押 す か 病 棟 セルをダブルクリックすることで 対 象 の 年 月 ファイルが 開 く 該

01_07_01 データのインポート_エクスポート_1

検 索 文 字 列 が 住 所 にマッチするならば 地 図 画 面 を 表 示 します 検 索 文 字 列 が 住 所 の 一 部 ならば キーワードを 含 む 検 索 結 果 画 面 を 表 示 します

PowerPoint プレゼンテーション

取扱説明書

2.2 文 がセルの 行 の 高 さの 限 界 値 を 超 えた 場 合 の 処 理 本 アドインは 文 がセルの 行 の 高 さの 限 界 値 (409.5 ポイント)を 超 えている 場 合 に 行 を 追 加 し 自 動 調 整 する 機 能 を 備 えています 文 がセルの 行 の 高 さの

に 対 して 消 磁 装 置 によるデータ 破 壊 を 行 い データの 復 旧 を 不 可 能 とするこ と 2 消 去 が 終 了 したことが 識 別 できるシール 等 を 媒 体 に 貼 付 すること(このシール は 本 委 託 契 約 の 範 囲 内 で 受 託 者 が 用 意 すること)

配 当 支 払 調 書 合 計 表 のご 利 用 について 配 当 支 払 調 書 合 計 表 は 配 当 の 支 払 調 書 と 配 当 等 とみなす 金 額 の 支 払 調 書 および 支 払 調 書 合 計 表 を 作 成 するシステムです システムのご 利 用 について 配 当 支 払 調

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

研究者情報データベース

2 X Y Y X θ 1,θ 2,... Y = f (X,θ 1,θ 2,...) θ k III 8 ( ) 1 / 39

Transcription:

テーマ 使 用 機 器 機 器 構 成 計 測 装 置 Application Note 資 料 作 成 100210 資 料 番 号 an2k-017 1mSec で AD サンプリングし CUnet で EXCEL に 入 力 する MPC-2000 システム Windows XP MS-EXCEL 他 XY03-X 軸 原 点 LS ドライバ 原 点 パルス MPC-2000 MPC-AD12 MPG-2314 MPC-CUnet CUnet USB-CUnet USB MS-EXCEL VBA usbcunet.dll アナログ OUT 0~5V AD MPC は SLAVE パルス 発 生 1msec 毎 AD MBK 配 列 に 格 納 パルス 終 了 したら BREAK 計 測 終 了 計 測 一 回 分 のシーケンス CUnet グローバルメモリ メール 転 送 START PC は HOST データ 読 み 込 み ワークシートに 貼 り 付 け データ 数 に 達 したら Exit グラフ 描 画 概 要 定 速 でパルスモータを 回 しながら 1mSec 単 位 で AD を 読 みます 計 測 中 はデータを MBK 配 列 に 格 納 し 計 測 終 了 後 CUnet メール 転 送 でワークシートにデータを 入 力 グラフを 描 画 します このサンプルは MPC-2000 で 作 成 しましたが MPC-1000/2100 でも 可 能 です MPC-AD12 の AD レンジは 標 準 ( 搭 載 デバイス AD7890-4)で 0~4095mV です EXCEL は 2003 を 使 用 しました MPC プログラムの 注 意 点 1mSec で 読 み 込 むためには 効 率 良 くタスクを 回 さなければなりません このプログラムは 実 機 を 想 定 してダミ ータスクを 走 らせていますが その 中 に TIME や SWAP を 入 れてタスクディスパッチの 効 率 を 上 げています 例 えば *DUMMY の 1 の SWAP がある 場 合 プログラムを Ctrl+A で 停 止 したとき # *0_ [100] *1 [210] *10 [530] *11 [530] *12 [530] *13 [490] *14 [470] *15 [530] *16 [530] *17 [530] *18 [530] *19 [530] *20 [530] # のように 表 示 されますが SWAP を 無 くしてしまうと # *0_ [100] *1 [660] *10! [520] *11! [520] *12! [520] *13! [520] *14! [520] *15! [520] *16! [520] *17! [520] *18! [520] *19! [520] *20! [520]!は 時 間 浪 費 タスクです # というように!マークが 付 くタスクが 発 生 します これらは 効 率 の 悪 いタスクで これがあると 1mSec の 入 力 はできなくなります TIME や SW(),IN()には SWAP と 同 等 の 機 能 が 含 まれますが FOR~NEXT や IF で 演 算 が 連 続 したり 空 っぽの ~ 等 は 要 注 意 です マルチタスクで 高 速 計 測 をする 場 合 計 測 している 間 は 他 のタスクを PAUSE させるのも 有 効 な 手 段 です ACCEL page 1

MPC プログラム 青 文 字 が AD の 主 要 な 部 分 です CUNET 4 4 7 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 /* CUnet サーバ 起 動 /* PULSE, AD /* 実 機 を 想 定 したダミータスク END *PULSE_AD PG 0 GOSUB *XY03_HOME_X /* 原 点 復 帰 ACCEL X_A 20000 1000 1000 /* 0 位 置 に 戻 る 時 のスピード MOVS X_A 0 WAIT RR(X_A)==0 ACCEL 10000 1000 10000 /* 計 測 時 のスピード MAX=MIN( 加 減 速 無 しの 定 速 移 動 ) PRINT "Wait Start from PC" I=1000 WAIT SW(2000)==1 FILL MBK(1000) 2000 0 RMVS X_A 10000 SYSCLK=1000 WAIT I<=SYSCLK SC=SYSCLK MBK(I)=AD(0) IF RR(X_A)==0 THEN BREAK END_IF I=I+1 PR I SC IF I<>SC THEN PRINT "TIME ERROR" END_IF OUT I-1000 2036~Lng PRINT "DATA SET COMPLETED" ON 2256 WAIT SW(2000)==0 OFF 2256 /* PC MPC スタート /* 使 用 エリアクリア /* X 軸 パルス 発 生 /* 1mSec 待 ち これがないと 8000 を 超 える /* 確 認 用 /* AD 入 力 /* X 軸 パルス 停 止 待 ち /* サンプリング 回 数 と 時 間 の 確 認 /* データ 数 /* MPC PC 計 測 終 了 *DUMMY ON 0 1 2 TIME 100 OFF 0 1 2 TIME 100 A_=0 FOR A_=0 TO 1000 B_=A_*A_ SWAP /* 1 NEXT A_ WAIT SW(192)==0 *XY03_HOME_X ACCEL X_A 10000 100 100 IF HPT(XIN0)<>0 THEN RMVS X_A 10000 /* X 軸 原 点 復 帰 /* 原 点 復 帰 スピード /* X 軸 IN0 がオンなら 退 避 移 動 ACCEL page 2

WAIT RR(ALL_A)==0 END_IF TIME 100 SHOM X_A IN0_ON HOME -100000 0 0 0 WAIT RR(ALL_A)==0 STPS 0 0 VOID VOID PRINT "HOME" RETURN /* X,Y 軸 ここを'0'にセット 実 行 後 の MPC の MBK データ 第 1 パラメータは AD 値 第 2 パラメータは MBK 配 列 番 号 s_mbk 1626 1000 s_mbk 1626 1001 s_mbk 1621 1002 s_mbk 1621 1003 s_mbk 1584 1004 s_mbk 1584 1005 s_mbk 1563 1006 ( 以 下 略 ) VBA Module1.bas コード ( 使 っている 関 数 のみ) 'CUnet 初 期 化 情 報 Declare Function cunet_usb_open Lib "usbcunet.dll" () As Long Declare Function cunet_dll_ver Lib "usbcunet.dll" () As Long Declare Function cunet_fw_ver Lib "usbcunet.dll" () As Long Declare Sub cunet_init Lib "usbcunet.dll" (ByVal sa As Long, ByVal ow As Long, ByVal en As Long) 'CUnet グローバルメモリ Declare Function cunet_in Lib "usbcunet.dll" _ (ByVal adr As Long, ByVal siz As Long) As Long Declare Sub cunet_on Lib "usbcunet.dll" (ByVal adr As Long) Declare Sub cunet_off Lib "usbcunet.dll" (ByVal adr As Long) Declare Function cunet_sw Lib "usbcunet.dll" (ByVal adr As Long) As Long 'CUnet メール 転 送 Declare Function cunet_req_mbk Lib "usbcunet.dll" _ (ByVal req_sa As Long, ByVal ar_top As Long, ByRef rcv_ar As Any) As Long 'cunet Register Declare Function cunet_chk_mfr Lib "usbcunet.dll" (ByVal sa As Long) As Long 'cunet 定 数 Public Const Cu_Lng As Long = 8 '4Byte 符 号 付 Public toral_rc As Long Public Declare Sub Sleep Lib "kernel32" (ByVal dwmilliseconds As Long) Public Declare Function timegettime Lib "winmm.dll" () As Long VBA UserForm1.frm コード 青 文 字 が CUnet の 関 数 です 1000 データを 入 力 するのは 約 1.9 秒 でした(PC の 性 能 により 異 なります) 'Input ボタン Private Sub CommandButton1_Click() Dim ar(60) As Long ' 取 得 したデータを 格 納 する 配 列 CUSA = 4 CommandButton1.Enabled = False CommandButton2.Enabled = False ' MPC SA cunet_off 2000 Do Range("A1", "A10000").Select Selection.ClearContents Range("A1").Select Cells(1, 1) = "AD" While cunet_chk_mfr(cusa) = 0 ' MPC SA の 確 認 ACCEL page 3

MsgBox ("missing SA" + CStr(CUSA)) Wend cunet_on 2000 Label2.Caption = "" Do Until cunet_sw(2256) = 1 st1 = timegettime() ' MPC へ Start をかける ' MPC のデータ 取 り 込 み 終 了 待 ち dtcnt = cunet_in(2036, Cu_Lng) ' データ 数 =CUnet グローバルメモリに 書 いてある Label2.Caption = "Data Count=" + CStr(dtcnt) rc = 0 ' ワークシート 行 カウント toral_rc = 0 ' Graph 表 示 のための public 変 数 brk = 0 retry = 0 Label3.Caption = "" Label4.Caption = "" For mbk = 1000 To dtcnt + 1000 Step 60 '60 点 毎 Do 'st2 = timegettime() res = cunet_req_mbk(cusa, mbk, ar(0)) 'MBK データ 取 得 SA,top MBK(), input array 'rt2 = timegettime() - st2 ' 約 100msec/1 回 受 信 If res = 0 Then Exit Do ' 0 なら 正 常 retry = retry + 1 For i = 0 To 59 Cells(rc + 2, 1).Value = ar(i) Label3.Caption = rc rc = rc + 1 If rc >= dtcnt Then brk = 1 Exit For Next i If brk = 1 Then Exit For Next mbk toral_rc = rc Label3.Caption = "Retry " + CStr(retry) cunet_off 2000 Do Until cunet_sw(2256) = 0 rt1 = timegettime() - st1 ' 約 1.9sec/1000 データ 入 力 Label4.Caption = "Time=" + CStr(rt1) graph_draw st1 = timegettime() ' の 時 グラフを 見 るためのディレイ Do Until timegettime() > st1 + 1000 If retry <> 0 Then CheckBox1.Value = False ' させるか If CheckBox1.Value = False Then Exit Do CommandButton1.Enabled = True CommandButton2.Enabled = True CommandButton2.SetFocus 'Graph ボタン Private Sub CommandButton2_Click() graph_draw CommandButton1.SetFocus ACCEL page 4

Private Sub Label3_Click() Private Sub UserForm_Initialize() Label2.Caption = "" CommandButton2.Enabled = False If cunet_usb_open() <> 1 Then MsgBox "USB CUnet Open Error" End Label1.Caption = "DLL Ver:" + CStr(cunet_dll_ver()) + " FW Ver:" + CStr(cunet_fw_ver()) cunet_init 255, 0, 0 Sleep 500 cunet_init 0, 4, 7 ' USB-CUnet 初 期 化 Label3.Caption = "" Label4.Caption = "" Sub graph_draw() Dim WS As Worksheet graph_clear For Each WS In ActiveWindow.SelectedSheets sn = WS.Name Next toral_rc = toral_rc + 1 Range("A1:A" + CStr(toral_rc)).Select Charts.Add ActiveChart.ChartType = xlline ActiveChart.SetSourceData Source:=Sheets(sn).Range("A1:A" + CStr(toral_rc)) ActiveChart.Location Where:=xlLocationAsObject, Name:=sn ' 既 存 グラフを 消 去 する Function graph_clear() As Boolean On Error GoTo errorhandler Range("A1").Select 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 'Selection.Delete Next Range("A1").Select graph_clear = True Exit Function errorhandler: MsgBox "グラフ 消 去 でエラーがありました (Err " + Str(Err) + ")" 'Resume Next 'Error Err graph_clear = False End Function Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If CommandButton1.Enabled = False Then Cancel = True ACCEL page 5

実 行 中 の EXCEL スクリーンショット ACCEL page 6