# Fluke NetDAQ

> Fluke NetDAQ (2640A、2645A) と 2680 Series (2680A、2686A) のデータ収集装置です。タグから構成し、32 ビットの補助プロセスで Fluke 自身のライブラリを使って読みます。機器とその測定器カード、タグのポイントと機能、読み取り、書き込み、そしてドライバーが Logic に任せることを説明します。

**Fluke NetDAQ** ドライバーは、Fluke のネットワーク型データ収集装置を読み書きします。対象は NetDAQ 2640A と 2645A、そして 2680 Series の 2680A と 2686A です。機器 1 台がネットワーク上の装置 1 台で、タグ 1 つがそのポイント 1 つです。ポイントは、アナログ チャネルとそこで測るもの (熱電対、直流電圧、抵抗、測温抵抗体)、デジタル ラインの 1 本、2680 Series の DIO モジュールのリレー 1 個、またはトータライザーです。ステーションはタグから装置を構成します。接続するたびに構成全体を送り、装置が持っていた構成を置き換えるので、装置はステーションのタグが示すとおりに測定します。

ドライバーは Fluke 自身のライブラリ `NTOOL32.dll` を通じて装置と通信します。これはこれらの装置のLabVIEW ドライバーの土台と同じライブラリで、ステーションがドライバーと一緒に配布します。ドライバーと機器は [Connector](connector) ページで追加します。

## 始める前に {#before-you-start}

| 必要なもの | 理由 |
| --- | --- |
| コンピューター上の 32 ビット版 Microsoft Visual C++ 2005 ランタイム | Fluke のライブラリが必要とし、Ganter Lab にはこれを含めることができません。ステーションはこれがあるかを自分で確認し、ない間はドライバーのページ、各機器のページ、各機器の最後のエラーがそのことを示し、[Visual C++ 2005 ランタイムのインストール](#installing-the-visual-c-2005-runtime) の手順を案内します。 |
| ネットワーク上の装置。一般ネットワーク モード (General) で、IP アドレスとベース チャネル番号 (BCN) を前面パネルで設定済み | ステーションは装置の IP アドレスに TCP ポート 4369 で接続し、Fluke のライブラリはベース チャネル番号で装置を呼びます。 |
| 同時に 1 台のコンピューター | 装置が通信するコンピューターは 1 台です。ほかのプログラム (Fluke DAQ、NetDAQ Logger、LabVIEW のプログラム) が使っている間、ステーションは装置を開けません。 |
| 組み込みソフトウェアが 2.0 以降の NetDAQ | Fluke のライブラリはそれより古い NetDAQ を構成しません。機器の接続は失敗し、装置の更新が必要だと示します。 |

このドライバーは Windows でのみ動作します。

## Visual C++ 2005 ランタイムのインストール {#installing-the-visual-c-2005-runtime}

ステーションは、機器を待たずに、Windows が Fluke のライブラリを読み込めるかを自分で確認します。ドライバーのページ、その機器のページ、またはエージェントが初めて尋ねたときに確認し、ランタイムがない間は 30 秒ごとに確認し直します。Connector が起動するまでは、ランタイムがあるかどうかはわからないため、何も示しません。ない間は次のようになります。

| 場所 | 示す内容 |
| --- | --- |
| ドライバーのページ | 注意の知らせ「このコンピューターには Microsoft Visual C++ 2005 ランタイムがインストールされていません」と、下の手順。そのリンクは Microsoft のページをコンピューターのブラウザーで開きます。 |
| 各機器のページ | 同じ知らせ。 |
| 各機器の最後のエラー | 同じ手順を、ドライバー自身の原因と同じく英語で示します。 |
| エージェント | `driver_capabilities` が `prerequisite` の下に、`installed` を false として手順を示します。 |

インストールの手順：

1. Microsoft のページ [Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package MFC Security Update](https://www.microsoft.com/download/details.aspx?id=26347) を開きます。Microsoft の「サポートされている最新の Visual C++ ダウンロード」の一覧が Visual C++ 2005 向けに示しているページです。
2. 64 ビット版の Windows でも、ファイル `vcredist_x86.exe` (2.6 MB) を選びます。Fluke のライブラリは 32 ビットなので、`vcredist_x64.exe` では動きません。
3. 管理者として実行します。Windows から再起動を求められることがあります。

インストール済みのプログラムの一覧に「Microsoft Visual C++ 2005 Redistributable」がすでにあっても、そのままインストールしてください。既存のものには C ランタイムしかなく、Fluke のライブラリが必要とする MFC の部分がないことがあります。

インストール後 30 秒以内に知らせは消え、Ganter Lab を再起動しなくても、このドライバーの機器は今の設定のまま接続します。

## 機器 {#device}

このドライバーの機器には、「接続」カードの **ホスト** 欄と、その下の **測定器** カードがあります。

| 欄 | 意味 | 既定値 |
| --- | --- | --- |
| **ホスト** | ネットワーク上の装置の IP アドレス、または IPv4 アドレスに解決される名前。ポートはありません。どの装置も TCP ポート 4369 で応答します。 | 空 |
| **ベース チャネル** | 装置の前面パネルで設定したベース チャネル番号 (BCN) で、1 から 99 です。Fluke のライブラリはこの番号で装置を呼ぶため、ステーションの 2 つの機器で同じ番号は使えません。 | 空 |
| **スキャン速度** | 低速、中速、高速。遅いスキャンほど積分時間が長く、分解能が高く雑音が少なくなります。速いスキャンほど 1 秒あたり多くのチャネルをスキャンします。 | 低速 |
| **読み出し周期（ms）** | ステーションが機器のタグを読む間隔。タグが自分の間隔を決めていればそちらを使います。装置は機器のタグの中で最も短い読み出し周期でスキャンするので、読み出しのたびに新しいスキャンがあります。 | 1000 |

新しい機器にはホストもベース チャネルもなく、ステーションは両方がそろうまで接続しようとしません。その行は、ホストが入力されるまで「ホストがまだ入力されていません」、次にベース チャネルが入力されるまで「ベース チャネルがまだ入力されていません」と表示し、ページは何を入力すべきかを示します。ヘッダーのベース URI は `netdaq://192.168.0.21/1?speed=slow` で、ホスト、ベース チャネル、スキャン速度を表します。

ステーションの別の NetDAQ 機器がすでに使っているベース チャネルを持つ機器は、どのホストでも保存が拒否されます。「ベース チャネル番号 5 はすでに Fluke NetDAQ 機器「Logger」のものです。別のベース チャネル番号を選んでください。」ベース チャネルをまだ待っている機器は番号を持たず、機器は再び保存されても自分の番号を保ちます。

**測定器** カードには、ステーションが最後に接続したときに装置が示した自身の情報も表示されます。**装置の型式** (2640A、2645A、2680A、2686A) と、組み込みソフトウェアの **ファームウェアのバージョン** で、どちらもジャーナルにも記録されます。装置が接続するまでは「まだ読み取っていません」と表示されます。どちらも保存はしないので、同じ機器が今日は 2640A を、明日は 2645A を指してもかまいません。

## タグのアドレス指定 {#tag-addressing}

### ポイント {#the-point}

タグの「信号源」カードには、タグが装置で読むものを選ぶポイントの選択と、そのポイントに必要な欄があります。これらがタグのアドレスのすべてです。

| ポイント | 欄 | データ型 | アクセス | 値 |
| --- | --- | --- | --- | --- |
| **アナログ チャネル** | チャネルと **機能**、および機能ごとの欄 | Double または Float | 読み取りのみ | 機能の単位での測定値 |
| **デジタル ライン** | ライン。NetDAQ では 0 から 7、2680 Series の DIO モジュールでは 0 から 19 | Boolean | 読み取りのみ (既定) または読み書き | ラインが High の間は true |
| **リレー** | リレー。2680 Series の DIO モジュールで 0 から 7 | Boolean | 読み書き (既定) または読み取りのみ | リレーが閉じている間は true |
| **トータライザー** | なし | Int64 または Double | 読み取りのみ (既定) または読み書き | トータライザー入力のカウント |

NetDAQ はアナログ チャネルに 1 から 20 の番号を付けます。2680 Series はモジュールとチャネルで番号を付けます。モジュール (1 から 6) に続けてそのモジュール上のチャネル (01 から 20) なので、モジュール 2 のチャネル 3 は 203 です。別のポイントを選ぶと、タグが許されないデータ型やアクセスを持っていた場合、そのポイントが許すものに変わります。

### アナログ チャネルの機能 {#the-function-of-an-analog-channel}

| 機能 | 単位 | 欄 |
| --- | --- | --- |
| **直流電圧** | ボルト | **レンジ**: 自動、`90 mV`、`300 mV`、`3 V`、`30 V`、`50 V`、`150/300 V` |
| **交流電圧** | ボルト | **レンジ**: 自動、`300 mV`、`3 V`、`30 V`、`150/300 V` |
| **抵抗** | オーム | **レンジ**: 自動、`300 Ω`、`3 kΩ`、`30 kΩ`、`300 kΩ`、`3 MΩ`。**結線** |
| **周波数** | ヘルツ | なし |
| **測温抵抗体 (RTD)** | 摂氏 | **抵抗 R0 (Ω)**、10 から 1010 (Pt100 なら 100)。**結線**、既定は 4 線式。アルファ 0.00385 の白金測温抵抗体です |
| **熱電対** | 摂氏 | **熱電対の種類**: J、K (既定)、E、T、R、S、B、C、N、2680 Series では L と U も。**熱電対の断線を検出する**、既定はオン |
| 電流 | ミリアンペア、またはパーセント | **レンジ**: `100 mA` (ミリアンペアで読む) または **4 から 20 mA (百分率)** (4 mA で 0、20 mA で 100 として読む)。**シャント抵抗値 (Ω)**、電流が流れる抵抗で 10 から 250 (既定は 250) |
| **サーミスター** | 摂氏 | **Steinhart-Hart 係数**: サーミスターのデータシートにある A、B、C。どれも 0 より大きく 0.1 以下。**結線**。2680 Series のみ |

**結線** は **2 線式** または **4 線式** です。4 線式のチャネルは、センス ペアに 10 番上のチャネルを使います (チャネル 3 なら 13)。そのため装置またはモジュールの 4 線式チャネルは 1 から 10 だけで、センス チャネル上のタグは自分の値を読みません。別の機能を選ぶと、その機能のレンジと結線になります。

一部のレンジと結線は、特定の入力部にしかありません。

| 入力部 | 装置 | それにしかないもの |
| --- | --- | --- |
| 高速 | 2645A と 2680 Series の FAI モジュール | `50 V` レンジ。測温抵抗体、`300 Ω` と `3 kΩ` レンジは 4 線式のみ |
| 高精度 | 2640A と 2680 Series の PAI モジュール | `150/300 V` レンジ (チャネル 1 と 11 では 300 V、ほかは 150 V) |

どの装置が応答するかはステーションが接続するまでわからないため、パネルはすべてのレンジを示します。接続した装置が読めないタグは構成から外れ、その理由をエラーとして表示します。装置のほかの部分は構成され、読まれます。

読み取り専用の **取得元のアドレス（バス上）** の行には、ドライバーが受け取るアドレスが表示されます。例: `ch=3&fn=tc&tc=T&otc=on`、`ch=5&fn=vdc&range=3v`、`ch=1&fn=rtd&r0=100&wires=4`、`ch=9&fn=current&range=4-20ma&shunt=250`、`dio=0`、`relay=2`、`totalizer`。

## ステーションによる装置の構成 {#how-the-station-configures-the-instrument}

| 段階 | ステーションが行うこと |
| --- | --- |
| 接続 | ベース チャネル番号で装置を開き、モデルを読みます。 |
| 構成 | 装置のスキャンを止め、タグから組み立てた構成を送り (アナログのタグはそれぞれ自分のチャネルを構成し、ほかのチャネルはオフ)、タグの中で最も短い読み出し周期と機器のスキャン速度でスキャンを再開します。 |
| 装置が拒否したチャネル | そのチャネルは外され、そのタグは装置の理由を表示し、残りがもう一度送られます。 |
| 切断 | 装置のスキャンを止め、接続を閉じます。 |
| 接続の喪失 | 装置はしばらくすると自分でスキャンを止めます。これで PAI モジュールのリレーの消耗を防ぎます。ステーションは再接続したときに装置を構成し直します。 |

装置の前面パネルやほかのプログラムで行った構成は置き換えられます。同じチャネルを異なる設定で構成する2 つのタグは両方とも読めません。2 つ目のタグは 1 つ目のアドレスをエラーとして表示します。

## 読み取り {#reading}

装置は自分の時計でスキャンします。読み取りは装置の最後のスキャンを取得し、1 回のスキャンは、機器のすべてのアナログ タグに、その中で最も短い読み出し周期の半分の間使われます。2680 Series はモジュールごとに読みます。デジタル ライン、リレー、トータライザーも同じように装置から直接読みます。装置の応答によって、タグの表示が決まります ([値の流れ](connector-value-pipeline) を参照)。

| 装置 | タグ |
| --- | --- |
| 測定値 | タグ自身の段で変換される前の、機能の単位での値 |
| オーバーロード | 正または負の無限大 |
| 断線した熱電対 (検出がオン) | NaN。数値でない値に対するタグの方針で扱いが決まります |
| 構成直後でまだスキャンがない | 最初のスキャンまで何もありません |
| 時間内に応答がない | 無応答。応答しなかった機器に対するタグの方針で表示が決まります |
| 接続の喪失、またはほかのコンピューターが使用中 | 機器が再接続し、装置を構成し直します |

## 書き込み {#writes}

| ポイント | 書き込みで行うこと |
| --- | --- |
| **デジタル ライン**、**リレー** | true (または 1) でラインを High にするかリレーを閉じ、false (または 0) でその逆にします。それ以外の値は拒否します。 |
| **トータライザー** | カウントをゼロに戻します。受け付ける値は 0 だけで、それ以外は拒否します。 |
| **アナログ チャネル** | 何もしません。アナログ チャネルは読み取り専用です。 |

装置が拒否した書き込みは拒否として戻り、Fluke のエラー コードとライブラリ自身の言葉がジャーナルに残ります。

## Fluke のライブラリと 32 ビットの補助プロセス {#flukes-library-and-the-32-bit-helper}

Fluke のライブラリは 32 ビットのライブラリで、64 ビットのステーションは読み込めません。そのためこのドライバーは、[OPC DA](driver-opc-da) ドライバーと同じく、ステーションの 32 ビットの補助プロセス `Lab.Desktop.DriverBridge.exe` で動きます。補助プロセスは、ドライバーの機器が初めて接続するとき、またはステーションが Visual C++ 2005 ランタイムを確認するときに起動し、その機器とタグはほかと同じように読み書きされ、ジャーナルに記録されます。補助プロセスが止まると、機器はそれが止まったことを示し、新しい補助プロセスを通じて再接続します。

ライブラリは、接続する装置の一覧を自分のファイル `ccf.cfg` に、補助プロセスの横 (プログラムフォルダーの `bridge-x86\ccf.cfg`) に保持します。このファイルはステーション自身が書きます。設定することは何もなく、削除しても次の接続時に書き直されます。ライブラリは一度に 1 台の装置しか呼ばないため、ステーションの装置は 1 台ずつ順に読まれます。

## 知っておきたい制限 {#limits-worth-knowing}

| 行わないこと | 代わりに行う場所 |
| --- | --- |
| 装置自身のアラームとアラーム出力 | タグの[アラーム](logic-alarms)と、デジタル ラインやリレーを操作する Logic のアクション |
| 演算チャネルとチャネル演算 | Logic の[変数](logic-variables) |
| 2686A の PC Card への記録と装置のスキャン キュー | ステーション自身の履歴: [Process](process) の実行または[データログ](process-datalogs) |
| 検出 | ありません。装置ごとにホストとベース チャネルを入力して追加します |
| macOS | このドライバーは Windows でのみ動作します |
