# タグ

> タグのページをカードごとに：見出しとコマンド、全般、すべてのドライバーの項目が並ぶ信号源、値の変換、書き込みの入力欄を持つ現在の値、そしてすべて差し替えを持つ使っている場所。

**タグ**は、機器の上のアドレスを持つ 1 つの点です。バス上のアドレス、データ型、そして生の読み取りを工業値に変える変換でできています。機器の下のタグの行を選ぶか、機器の「タグ」のグリッドの行で「開く」を押すと、そのページが開きます。Connector の表示で読め、Connector の構成で編集でき、タグの校正では校正の段階だけを編集できます。

## 見出し {#the-header}

実時間のドット（タグに値があるあいだは緑、値が代替値であるか、上下限の段階が異常を上げたか、読み取りが途絶えたときは黄色、それ以外は灰色。ステーションが読んでいないタグ、つまり無効なタグや、機器が無効か、無効な回線の下にあるか、ホストがまだ入力されていないタグは、最後に何を表示していても灰色）、タグの名前、そしてその下にタグのアドレス `Connector.<Driver>.<Folders…>.<Device>.<Tag>` が並びます。これが Logic とダッシュボードが書くものです。さらに下には、当てはまるときだけ、検証の助言を添えた注意の一言（名前が空、アドレスがない、傾きが 0）と、最後のエラーが赤で出ます。機器が接続されていないあいだは、接続の失敗を繰り返す代わりに、機器を指す落ち着いた知らせが出ます：「このタグは機器 Furnace を経由しますが、その機器は接続されていません。理由は機器のページにあります。」

## コマンドバー {#the-command-bar}

| コマンド | 何をするか | 灰色になるとき（状況） | 描かれないとき（ロール） |
| --- | --- | --- | --- |
| **値をコピー** | 表示されているとおりの工業値をクリップボードに写します（「「Temperature」の値をクリップボードにコピーしました。」）。 | ありません。 | ありません。 |
| **有効化** | タグをデータ収集と実時間のアドレス空間に戻します。 | すでに有効なとき、またはステーションが変更を拒否しているとき。 | Connector の構成がないとき。 |
| **無効化** | タグをデータ収集と実時間のアドレス空間から引き上げます。機器はほかのタグの読み出しを続けます。 | すでに無効なとき、またはステーションが変更を拒否しているとき。 | Connector の構成がないとき。 |
| **タグを削除**（危険色、右側） | 「「Temperature」を削除しますか？「Furnace」から取り除かれます。 この操作は元に戻せません。」と尋ね、削除して機器を選びます。 | ステーションが変更を拒否しているとき。 | Connector の構成がないとき。 |

どのカードも [Connector](connector#the-detail-panel) で説明したとおりに自動保存します。「全般」と「信号源」のカードは、Connector の構成がないロールでは不活性に保たれ、上に「Connector を変更するには「Connector の構成」の権限が必要です。」という注記が付きます。

## 「全般」のカード {#the-general-card}

| 項目 | 何であるか | 値と既定 | 効果 |
| --- | --- | --- | --- |
| **タグの名前** | その点の名前で、バス識別子とアドレスの両方の最後の区切りになります。 | 必須。 | 入力しているあいだ、名前の変更がいくつの参照を連れていくかを先に見せます。確定するとそれらが書き換えられます：「タグの名前を変え、参照 2 件を更新しました。」空は拒否されます：「タグの名前は必須です。」OCPP のタグは Meter、Status、Transaction のいずれかで終わる必要があります：「OCPP のタグ名は「Meter」「Status」「Transaction」のいずれかで終わる必要があります（例：Connector1Meter）。」 |
| **データ型** | 内蔵サーバーが公開する OPC UA のスカラー型。 | Boolean、SByte、Byte、Int16、UInt16、Int32、UInt32、Int64、UInt64、Float、Double、String、DateTime、Guid、ByteString のうち、ドライバーが扱えるものに絞られます。ドライバーが持てば既定は Float、なければドライバーが出す最初の型です。 | 変えると、それに依存するものが合わせられます。NaN を保持できない型では NaN の上下限の動作が Null になり、数値でない型では NaN の方針がそのまま通すに戻り、型と合わない模擬信号の種類はその型の既定に置き換わり、Modbus のレジスターの種類は型に合わせてビットとレジスターの境を越えます。「値の変換」のカードも、それに合わせて形を変えます。 |
| **アクセス** | ステーションが読むか、書くか、両方かです。 | 読み取りのみ、書き込みのみ、読み書き。既定は読み取りのみ。OCPP と LoRaWAN は読み取りのみだけを出します。Matter のタグは、ドライバーが変えられる値にだけ書き込みを出し、そうでなければ欄の下に理由を示します（[手で作るタグ](driver-matter#a-tag-made-by-hand)）。NI-DAQmx のタグは、測定が許すアクセスを出します（[測定](driver-ni-daqmx#measurements)）。MIB が読み取り専用と宣言する標準オブジェクトの SNMP タグは読み取りのみだけを出し、欄の下に理由を示します（[データ型とアクセス](driver-snmp#data-types-and-access)）。File のタグは、機器が書き込みを許可するまで読み取りのみだけを出し、ファイルの情報は読み取りのみのままです（[タグが読むもの](driver-file#what-a-tag-reads)）。Database のタグは、アクセスが書き込むようになってから、書き込みで何をするかを表示します（[書き込み](driver-database#writing)）。 | 読み書きと書き込みのみでは「現在の値」のカードに書き込みの入力欄が描かれます。書き込みのみのタグは読み出されず、機器の稼働状態にも数えられません。ステーションが読むことがないので、読み取りの失敗に対する方針もありません。 |
| **単位** | 工業単位で、自由記述です。 | 空。 | 各段階の結果と工業値の横、そして値が表示されるあらゆる場所に出ます。 |
| **読み出し周期（ms）** | 機器の読み出し周期をタグごとに上書きします。 | 0（機器の既定を使う）。負の値は 0 として保存されます。 | これを無視する Mitsubishi MC、BACnet、OCPP、LoRaWAN、MQTT では出ません。 |

## 「信号源」のカード {#the-source-card}

「このタグの値がどこから来るのかと、最新の生値です。」項目はドライバーによって変わります。意味はそれぞれのドライバーのページで説明します。ここにあるのは、パネルが描くとおりの一覧です。

### 自由記述のアドレス {#free-text-address}

入力する字句でアドレスを取るドライバーは、ドライバーごとの名前が付いた項目を 1 つ見せます。**ノード ID**（OPC UA）、**シンボル**（Beckhoff ADS）、**デバイスアドレス**（Mitsubishi MC）、**コントローラータグ**（Rockwell）、**リソースパス**（Redfish）、**PI パス**（AVEVA PI）、**パス**（HTTP）、**トピック**か**メトリック**（MQTT。機器のプロトコルが通常の MQTT か Sparkplug B かによります）、**メモリアドレス**か**変数名**（Omron。機器のプロトコルが FINS か NJ/NX のタグ（名前で指定）かによります）、**クエリ**（SCPI instruments）、**物理チャネル**（NI-DAQmx）、**OID**（SNMP）で、その下にドライバーの助言が付きます。これらのドライバーでは必須です：「このドライバーでは ノード ID が必須です。」

### ドライバーごとの型付きの項目 {#typed-fields-per-driver}

| ドライバー | 項目 |
| --- | --- |
| Modbus TCP、Modbus RTU | **レジスターの種類**（コイル（0xxxx）、ディスクリート入力（1xxxx）、入力レジスター（3xxxx）、保持レジスター（4xxxx）。どれも機器のマニュアルのアドレスがその種類に付ける先頭の数字を添えています。既定は型とアクセスに従います。読み取り専用のブール値はディスクリート入力、書き込めるものはコイル、読み取り専用の数値は入力レジスター、書き込めるものは保持レジスター）と**レジスター番号（0 から数えます）**。 |
| Siemens S7 | **エリア**（DataBlock、Merker、ProcessInput、ProcessOutput、Timer、Counter）、**DB 番号**（DataBlock のみ）、**開始バイト**、**ビット（0～7）**（ブール値のタグ）、**最大長（空欄なら 254）**（文字列のタグ）。 |
| Rockwell | コントローラータグの項目のあとに**タグ内のオフセット（バイト単位。BOOL はビット単位）**。0 はタグの先頭です。 |
| BACnet | **オブジェクトの型**（AnalogInput、AnalogOutput、AnalogValue、BinaryInput、BinaryOutput、BinaryValue、MultiStateInput、MultiStateOutput、MultiStateValue）と**インスタンス**。読まれるのは現在値です。 |
| OCPP | **充電コネクター**（充電コネクターの番号、既定は 1）と、「タグの名前は …Meter（電力量の読み値）、…Status（充電コネクターの状態）、…Transaction（走っているトランザクションの番号）のいずれかにしてください。」という注記。 |
| Redfish | リソースパスのあとに **JSON ポインター（空欄なら文書全体）**、「例：/Temperatures/0/ReadingCelsius」。 |
| Matter | **出力（endpoint）**、**Matter のクラスター**、**属性**を 1 行に並べます。クラスターは Matter のカタログから名前で選びます。Matter の機器のタグはふつう機器そのものから来て、ペアリングのあとや機器検出でチェックして作ります（[Matter](driver-matter#tags)を参照）。これらの欄は、手で作るまれなタグのためのものです。 |
| MQTT | 通常の MQTT の機器で、トピックの項目のあとに**値のパス**（JSON のペイロード内で値がある位置。空ならペイロード全体を読みます）、**コマンドトピック**（書き込みを発行する場所。空ならタグは読み取り専用のままです）、**ペイロードのテンプレート**（書き込みが発行する JSON で、値の位置に `{value}` を置きます）。Sparkplug B のメトリックにはどれもありません。[MQTT](driver-mqtt#tag-addressing)を参照してください。 |
| Generic serial and TCP | 入力するアドレスはありません。**取得方法**（要求と応答か受信待ち）、**要求**、**メッセージのフィルター**、**値の取り出し方**とその方法が使う項目、**機器は小数点にカンマを使う**（Float と Double）、書き込むタグでは**書き込みメッセージ**と**期待する返答**です。[Generic serial and TCP](driver-generic-serial-tcp#tag-addressing)を参照してください。 |
| SCPI instruments | クエリの横に、読み取るタグでは**応答内の値**（カンマ区切りの応答のどの値がタグのものかを 1 から数えて指定。空なら応答全体を読みます）、書き込むタグでは**書き込みコマンド**（書き込みで送るもので、値を入れる位置に `{value}` を置きます）。[SCPI instruments](driver-scpi#tag-addressing)を参照してください。 |
| NI-DAQmx | 物理チャネルの横に**測定**と、その測定の欄：測定の単位でのレンジ（**最小値**と**最大値**）、**端子構成**、**シャント抵抗**と**シャント抵抗値 (Ω)**、**熱電対の種類**、**冷接点補償 (CJC)** と **CJC 温度 (°C)**、**数えるエッジ**、**カウント方向**、**初期カウント**、**入力端子**。どれも測定が読むときだけ描かれます。[NI-DAQmx](driver-ni-daqmx#tag-addressing)を参照してください。 |
| SNMP | OID の下に読み取り専用で、**MIB の名前**（オブジェクトの標準名と、MIB がそれについて言うこと。名前がなければ「標準名なし」）と**数字の OID**（すべてのリクエストが運ぶ数字）。[SNMP](driver-snmp#the-oid)を参照してください。 |
| File | 入力するアドレスはありません。**読み取る内容**（値、ファイル全体、ファイルの情報）と、値なら機器の書式の欄：**列**と**読み取る行**（CSV）、**読み取る行**と**値の取り出し方**（自由形式のテキスト）、**JSON パス**または **XML パス**。書き込みを許可した機器では**書き込み時の動作**と**行のテンプレート**。[File](driver-file#tag-addressing)を参照してください。 |
| Database | 入力するアドレスはありません。**読み取る内容**（**テーブルと列** か **独自のクエリ**）とその欄です。**テーブル**、**値の列**、**読み取る行** と、**キー列** と **キーの値**、または **日付列**、あるいは **クエリの本文** です。書き込むタグでは **書き込み時の動作** と **書き込みコマンド** も加わります。[Database](driver-database#tag-addressing)を参照してください。 |
| LoRaWAN | **Cayenne LPP のチャネルと型で指定する**（チェックボックス）、**チャネル / ペイロードのオフセット**、**LPP の型コード**（LPP がオンのとき）、**ビットマスク（16 進数。空欄ならなし）**、**係数（空欄ならなし）**。 |

### バス上の長さとバイト順 {#wire-length-and-byte-order}

| 項目 | 出るドライバー | 何であるか |
| --- | --- | --- |
| **数量（レジスター数。空欄なら自動）** | Modbus、文字列のタグのみ | 読む 16 ビットレジスターの数。空なら 4 つ読みます。ほかの Modbus の型は幅が決まっている（ブール値と Int16 と UInt16 はレジスター 1 つ、Int32 と Float は 2 つ）ので、この項目は描かれません。 |
| **読み取る長さ（バイト。空欄なら自動）** | Beckhoff、Mitsubishi、LoRaWAN | バイト数。空なら型から導かれます。Boolean、Byte、SByte は 1、Int16 と UInt16 は 2、Int32、UInt32、Float は 4、Int64、UInt64、Double は 8、String は 16、それ以外は 4 です。 |
| **長さ（文字数。空欄なら 16）** | Omron（FINS、String のタグだけ） | 文字列が占める文字数で、1 ワードに 2 文字、1 から 1998 です。空欄なら 16 を読みます。FINS のほかの型は型が決めるワード数を占めるので、この欄は描かれません。 |
| **上位バイトを先に（MSB first、ビッグエンディアン）** | Modbus（数値のタグと、レジスターに置いたブール値のタグ）、LoRaWAN | 値のどちらの端がバス上で先に来るか。括弧の中はマニュアルがこの設定に使う言葉です。Modbus では既定でオン、LoRaWAN ではオフです。Modbus は文字にバイト順を定めていないので、Modbus の文字列のタグには出ません。コイルやディスクリート入力にある Modbus のブール値は 1 ビットだけで並べるバイトがないので、これにも出ません。 |
| **上位ワードを先に（high word first）** | Modbus（Int32 と Float のタグ） | 2 レジスターの値で、どちらの 16 ビットの半分が先に来るか。既定でオンです。2 つのチェックの下の**値のバイト順**は、2 つが作る並びをマニュアルが使う文字で示します。両方オンなら ABCD、ワードをオフにすると CDAB、バイトをオフにすると BADC、両方オフなら DCBA です。レジスター 1 つの型（Boolean、Int16、UInt16）には 2 つ目の半分がないので、そこではこの入力欄は描かれません。ペイロードに先に置くワードのない LoRaWAN にも出ません。 |

### 取得元のアドレス（バス上） {#source-address-wire}

Modbus のタグは、項目の並びの最後に**マニュアル上のアドレス**を置きます。機器のマニュアルが印刷する表記でタグがどこにあるかを示すもので、種類の先頭の数字に、1 から数えたレジスターを続けます。入力レジスター 0 は 30001、そこにある Float は 30001 から 30002 まで、9998 を超えるレジスターは 6 桁になります（保持レジスター 9999 は 410000）。**レジスター番号（0 から数えます）**に入力する番号は、要求が運ぶ番号のままです。[Modbus TCP](driver-modbus-tcp#tag-addressing) を見てください。

Simulated 以外のほかのすべてのタグは、項目の並びの最後に、ドライバーが実際に受け取るアドレスの読み取り専用の予告を置きます。上の項目と機器の接続の項目から組み立てられます。S7 のバイトなら `DB1?0`、Rockwell のタグなら `Program:Main.Counter?0`、ADS のシンボルなら `MAIN.fValue?4`、BACnet のオブジェクトなら `0,3`、OCPP なら `ocpp://<charge point>/<connector>`、Redfish なら `<resource>#/Temperatures/0/ReadingCelsius`、LoRaWAN なら `<DevEUI>/<channel>/<lpp>?quantity=<n>`、Matter なら `<endpoint>/<cluster>/<attribute>`、通常の MQTT のタグなら `<topic>?path=<value path>&command=<command topic>`、Sparkplug B のタグならメトリック名、Generic serial and TCP ドライバーの受信待ちのタグなら `listen?extract=position&start=5&length=6`、Omron の FINS のタグなら `D100`（文字列なら `D200?16`）、NJ/NX のタグなら `Motor.Speed?0`、応答の 3 番目の値を読む SCPI のタグなら `ask=READ?&field=3`、NI-DAQmx の電圧入力なら `cDAQ1Mod1/ai0?measurement=voltageInput&terminal=diff&min=0&max=10`、`upsBatteryStatus.0` と書いた SNMP のタグなら `1.3.6.1.2.1.33.1.2.1.0`、CSV ファイルの Force 列を読む File のタグなら `column?name=Force`、指示番号 4711 の数量を読む Database のタグなら `row?table=dbo.Orders&column=Quantity&key=OrderNo&equals=4711`、そして OPC UA、AVEVA PI、HTTP では字句そのもの（HTTP では機器のリソースパスが前に付きます）です。

### 模擬信号のパラメーター {#simulated-signal-parameters}

Simulated のタグにはアドレスの項目がありません。その名前が点そのものだからです。代わりに置かれるのが**信号の種類**で、データ型が動かせる形に絞った一覧が、名前の横に小さな形の絵を添えて並びます（数値には正弦波、ランプ、ランダムウォーク、カウンター、ブール値にはブールの反転、文字列には列挙テキスト、日時には時計、Guid にはランダムな GUID、バイト列にはランダムなバイト列、どの型にも設定値の保持とパルス）。**既定値**はランダムウォーク、カウンター、設定値の保持で出て、テキストの入力欄、ブール値では「既定はオン（true）」のチェックボックス、日時では日付の入力欄になります。**状態（セミコロン区切り）**は列挙テキストで出ます：「例：Run;Stop;Pause（3 秒ごとに 1 つずつ進みます）。」パネルが編集しない形のパラメーター（正弦波の振幅と周期、パルスの保持時間）は、タグとともにそのまま運ばれます。[Simulated](driver-simulated) のページに、すべてのパラメーターが載っています。

### 生値 {#raw-value}

カードの最後は、ドライバーが渡したままの、変換前の直近の生の読み取りで、ステーションの数値の形式で書きます。何もなければダッシュです。

## 「値の変換」のカード {#the-conversion-card}

「生値を工業値に変える方法です。」このカードは数値、ブール値、文字列の型で描かれ、それぞれに固有の変換があります。DateTime、Guid、ByteString はそのまま通るので、そのカードには無効な読み取りの段階だけがあります。

**数値**のタグでは、カードは上から順に段階の並んだ経路です。**生値**、続けて**スケール**（傾き（×）、切片（+）、**2 点法**のボタン）、**校正**（同じ 3 つ）、**無効な読み取り**（2 つの方針）、**上下限**（下限、上限、動作）、**小数桁**（小数桁）、そして単位の付いた**工業値**です。スケール、校正、上下限、小数桁の各段階は、見出しに段階のオンとオフを切り替えるチェックボックスを持ち、右側に結果を持ちます。段階が効いているときは `= 値`、迂回されているときは `→ 値` です。無効な読み取りにはチェックボックスがありません。オフにすることが、すでにその方針のひとつだからです（NaN には**そのまま通す**、機器が応答しなかったときには**エラーを表示する**）。見出しにあるのはタイトルと結果だけで、結果はいつも `= 値` です。上下限の異常があると、上下限の段階が赤くなり、カードの下に「値 130 は、上下限（0 から 100）の外です。」と出ます。計算、既定、方針は[値の変換経路](connector-value-pipeline)に、2 点調整の補助とスケーリングと校正の権限の分け方は[校正](connector-calibration)にあります。

カードの数値はどれも、実時間の値と同じく、ステーションの数値の形式（[言語と形式](settings-localization)）で書きます。段階は結果が持つ桁数を最大 6 桁まで見せ、小数桁の段階はオンのとき宣言した桁数を見せます。Float のタグの段階は、float が保持しているとおりに読めます（239.050003 ではなく 239.05）。**工業値**はタグが渡す値で、「実時間の値」のカード、記録、すべての式が読むのと同じ値です。スケールか校正が値を変える整数のタグは実数を渡します。スケールが 0.1 の Int16 のタグは、小数桁の段階で 62.40、工業値でも 62.40 になります（[値の変換経路](connector-value-pipeline#raw-first)）。スケールと校正が値をそのままにする整数のタグは整数を渡すので、上下限の段階が値を収める境界に小数があり、小数桁の段階がすでに小数なしに丸めていなければ、値の下に「Int16 は整数しか保持できないため、このタグの工業値は最も近い整数に丸められます。変換で生じる小数部を残すには、データ型に Float または Double を選んでください。」という注記が出ます。Int64 または UInt64 のタグでは、実数では正確に保持できないほど大きな生値や工業値（ナノ秒で数えた値など）は、すべての桁を残し、位取りの記号を付けずに書きます。

**ブール**のタグは**反転（生値の否定を報告します）**、**結果**、そして無効な読み値の方針を見せます。**文字列**のタグは**部分文字列の開始**と**長さ（空欄なら末尾まで）**、**結果**、そして無効な読み値の方針を見せます。**DateTime**、**Guid**、**ByteString** のタグはその段階だけを見せます。**機器が応答しなかったとき**の行で、**エラーを表示する**と**最後の良い値を保持する**を選べます。書き込みのみのタグは読まれないので、この段階から機器が応答しなかったときの行が外れます。数値のタグには NaN の方針だけが残り、ブールや文字列のタグには無効な読み取りの段階そのものが出ず、DateTime、Guid、ByteString のタグには「値の変換」のカードが出ません。

スケーリングと校正から先、数値の段階とブール値と文字列の変換は、ふつうの構成です。Connector の構成が編集し、ほかのロールは読むだけです。

## 「現在の値」のカード {#the-live-value-card}

| 項目 | 何を見せるか |
| --- | --- |
| **現在の値** | 単位の付いた工業値を、ステーションの数値の形式（[言語と形式](settings-localization)）で書きます。桁数は小数桁の段階が宣言する桁数で（スケールと校正が値をそのままにする整数の型では小数を書きません）、段階がオフのときは読み取りが持つ桁数で、最大 6 桁です。何もなければダッシュです。 |
| 代替値の注記 | 値が測定でないとき：「測定値がないため、置き換えています。」「最後の良い値です。機器が応答しない間、これを保持します。」「読み取りに失敗したため、置き換えています。」のいずれかが、無効な読み値の方針に応じて出ます。 |
| 途絶えた読み取りの注記 | 読み取りが途絶えたとき、つまりタグの読み出し周期に 10 秒を足した時間のうちに新しい読み取りが届かなかったとき：「アプリケーションの時刻より後、新しい読み取りは届いていません。タグはこれを失敗した読み取りとして扱います。」上の値は、[機器が応答しなかったとき](connector-value-pipeline#the-device-did-not-answer)にタグが示すもので、既定ではダッシュです。タグが最後の正常値を保つか置き換えるときは、代替値の注記と並びます。ドットは黄色になり、機器の稼働状態はこのタグを応答していないものとして数えます。 |
| **取得元の時刻** | 設備がその読み取りを取った時刻。OPC UA の機器では、サーバーが値といっしょに送ってきた取得元の時刻です。サーバーは値かその品質が変わるまでこの時刻を変えないことがあるので、変わらない値ではアプリケーションの時刻より前の時刻が出ることがあります。ほかのドライバーでは、Connector がその読み取りを受け取った時刻で、アプリケーションの時刻と同じです。読み取りが失敗しているあいだ、見出しは**最後の試行**に変わり、時刻はその試みのものになります。最後の正常値を保っているあいだと、読み取りが途絶えているあいだは、見出しは**取得元の時刻**のままで、時刻はその読み取りのままです。 |
| **アプリケーションの時刻** | Connector がそれを受け取った時刻。 |
| **書き込む値** | 読み書きか書き込みのみのタグで、Connector の構成のときだけ：テキストの入力欄（ブール値ではチェックボックス「オン（true）」、日時では日付の入力欄）と**書き込み**。「工業値を入力してください。書き込む前に、スケールと反転が逆向きに適用されます。」状態の行には、何かが出ていく前は「書き込む値を入力してください。」か「値を変換できませんでした。」が、値が道中にあるあいだは「書き込んでいます…」が、そのあとに結末が出ます。 |

書き込みは、実行がステーションを占有しているあいだ、またはランタイムが停止しているあいだ、理由を添えて灰色になります。機器を待つのはロジックではなくこのカードのほうなので、状態の行は、要求が出ていったという事実ではなく、その値に実際に何が起きたかを伝えます。最初のものがまだ道中にあるあいだ、同じタグへの 2 つ目の値は拒否されます。見分ける結末は次のとおりです。

| 状態の行 | 何が起きたか |
| --- | --- |
| 「値を書き込みました。」 | 機器がその値を受け取りました。 |
| 「書き込みを拒否しました：取得元が操作に使われています。」 | 実行かインターロックがそのタグを押さえています。経路が押さえている相手を名指ししたときは、その一文が代わりにここに書かれます（「書き込みを拒否しました：`<reason>`。」）。 |
| 「書き込みを拒否しました：このタグは読み取り専用です。」「書き込みを拒否しました：このタグはもう動いていません。」「書き込みを拒否しました：値がタグの型と合いません。」「書き込みを拒否しました：このステーションは、いま書き込みを受け付けていません。」 | 何かが送られる前に、ステーションが決めました。 |
| 「「Flow」は送信前に新しい値に置き換えられました。」 | 同じタグへの新しい値が、機器のキューの中でこれを追い越して先に出ました。失敗ではありません。機器に伝えられるのは新しいほうの値です。 |
| 「現場設備に届く前に、書き込みを取り消しました。」 | 順番を待っているあいだに、要求が取り下げられました。 |
| 「現場設備が書き込みを拒否しました。」「現場設備が書き込みを拒否しました：`<reason>`。」 | 機器かそのドライバーが値を拒みました。ドライバーが理由を示したときは、その理由がステーションの言語で続きます（「このアドレスは読み取り専用です」「機器が接続されていません」）。現場設備自身のコードは、どの言語でも同じに読めるため、そのまま続きます。たとえば Matter 機器のステータス（CONSTRAINT_ERROR, 0x87）や ADS のエラー（ADS 0x704）です。ステーションが自分の言語で言えない理由の拒否は理由なしで表示され、ドライバー自身の英語の言葉は診断ログに残ります。ステーションが種類を知っている失敗（Modbus のユニットの例外応答、切れた接続、HTTP の状態）は、代わりにタグの赤い行がその失敗に付ける文で、どの言語でも伝えます。[最後のエラー](connector-health#last-error) と同じです。 |
| 「書き込みを確認できませんでした：現場設備が時間内に応答しませんでした。」 | 時間内に答えが来なかったので、現場設備が値を受け取ったかどうかはわかりません。 |
| 「書き込みに失敗しました：現場設備に届きませんでした。」 | 電線が答えたそのほかのすべてで、主に機器が接続していない場合です。 |

生値が出ていく前に何が戻されるかは[値の変換経路](connector-value-pipeline#writes-reverse-the-pipeline)にあります。

## 「使っている場所」のカード {#the-used-by-card}

「このタグを読み書きする、ステーションの中のすべてです。」表はすべての参照を、**種類**（チャネル、停止インターロック、自動化、変数、アクション、警報、ダッシュボード、Modbus サーバー、OPC UA サーバー、MQTT 発行）、**場所**（それを持つモデルやダッシュボード。Logic の最上位の種類と、[Modbus サーバー](connector-modbus-server)のレジスターマップの行では空）、**名前**（マップの行ではレジスターの種別とマニュアル上のアドレス。たとえば 保持レジスター（4xxxx） 40101）とともに並べます。ひとつもなければ「どのチャネルからも、どのプロパティからも参照されていません。」と出ます。この検索は参考のためのもので、失敗するとグリッドは空になります。マップの行はタグを識別子で持つので、名前の変更には付いていきます。タグが削除されたあとも失ったタグを示し続け、その行を読むクライアントには例外 04 を返します。そのため、タグを削除するここに並びます。[OPC UA サーバーの一覧](connector-opcua-served-nodes)の行も同じように並び、名前にはアクセスが出ます。タグを置き換えると、その行は新しいタグに移ります。ブローカーの[発行のカード](driver-mqtt#the-publish-card)の行も同じように並び、場所にはブローカー、名前にはトピックが出ます。タグを置き換えてもトピックは変わりません。

Connector の構成では、カードに差し替えの仕組みが加わります。実時間のアドレス空間のほかのすべてのタグをアドレスで並べる選択肢、**すべて差し替え**のボタン、そして行ごとの差し替えの操作です。すべて差し替えは、並んでいるすべての参照を、選んだタグへ全部まとめてか、まったく行わないかの 1 回の処理で書き換えます（「参照 4 件が Connector.Simulated.Air.Pump.Flow を使うようになりました。」「差し替える参照はありません。」）。行の操作はその 1 件を書き換えます（「「Furnace temperature」は Connector.Simulated.Air.Pump.Flow を参照するようになりました。」、途中で動いていたときは「その間に参照が変わりました。再読み込みしてから、やり直してください。」）。停止インターロックと自動化の参照は Process の構造なので、差し替えにはさらに Process の管理が必要です：「ユニットのインターロック元を差し替えるには「Process の管理」の権限が必要です。」「「すべて差し替え」にはユニットのインターロック元が含まれるため、「Process の管理」の権限が必要です。」タグを選ぶまでは、すべて差し替えと行の操作は灰色のままで、ツールチップに「先に、これらの参照を受け取るタグを選んでください。」と出ます。ロールにない Process の管理を必要とする参照があるあいだは、上の文をツールチップにして灰色のままです。Modbus サーバーのレジスターマップの行は、サーバー自身の規則に従って選んだタグへ移ります。クライアントが書き込める行は書き込みを受け付けないタグを拒み、そのときは何も差し替えられません。

## タグのページがしないこと {#what-the-tag-page-does-not-do}

タグの機器とドライバーは固定です。点を移すには、もう一方の機器に作ってからすべて差し替えを使ってください。ここで段階を編集できるのは一度に 1 つのタグだけです。複数行の編集は機器のグリッドの一括編集で、[機器](connector-devices#mass-edit)で説明しています。ページに履歴やトレンドはありません。実時間のドット、値、時刻は今のサンプルであり、1 秒ごとに更新されます。
