PLCアドレス入力 — プロトコル別完全ガイド
タグ登録画面で最も混乱しやすい PLCアドレス と データ型 / format を、プロトコル別に一箇所へまとめたリファレンスです。各PLCごとの詳細ガイドは PLC種類別ガイド の該当ページへリンクしています。
1. 共通 — 登録フォームの4フィールド
タグ登録画面 (タグ登録) でPLCアドレスとともに入力する4フィールド:
| フィールド | 意味 | 例 |
|---|---|---|
| PLCアドレス | ドライバがPLCへ送る 生の アドレス | D00309 (LS), D100 (Melsec), DB1.DBW0 (S7) |
| データ型 | Java/JSが受け取る型 | Integer / Long / Float / Double / String / Boolean |
| format (形式補助) | 同じアドレスを別解釈するオプション | DW / UI / REAL / STR[10] / BIN[3] など |
| 計算式 (fomula) | read後に適用する算術式 | ${VALUE}*0.1 / sqrt(${VALUE}) |
💡 formatが要点: PLCの同じアドレスでも 16-bit / 32-bit / 実数 / 文字列 / ビット と解釈が分かれます。formatを空欄にすると16-bit signed integerとみなされます (ほとんどのドライバのdefault)。
2. LS XGT (XGI / XBC / XBM) — LS ドライバ
メモリ領域
| 文字 | 領域 | よく使う |
|---|---|---|
D | Data Register | ✅ データ (最も一般的) |
M | Memory (ビット) | ✅ 状態ビット |
K | Keep Relay (不揮発) | ✅ 停電保持 |
F | Flag | システムビット |
T | Timer | タイマ現在値 |
C | Counter | カウンタ現在値 |
R | File Register | (シリーズにより) |
P | I/O | 外部入出力 |
表記例
| PLCの値 | データ型 | format | アドレス例 | 備考 |
|---|---|---|---|---|
| 16-bit signed | Integer | (空欄) | D00309 | default |
| 16-bit unsigned | Integer | UI または UW | D00300 | 0–65535 |
| 32-bit signed | Integer | DW | D00600 | D00600~D00601 |
| 32-bit unsigned | Long | UDW または DUW | D00690 | 0–4_294_967_295 |
| 64-bit signed | Long | (空欄 + dt=Long) | D00700 | D00700~D00703 |
| 32-bit float | Float | REAL | D00450 | IEEE 754 |
| 64-bit double | Double | LREAL | D00500 | IEEE 754 |
| ビット (M/K/F/T/C/P) | Boolean | (空欄) | M02704 | ビット領域 |
| ワードのN番ビット | Boolean | BIN[N] | D00309 (BIN[3]) | 3番ビット |
| 文字列Nワード (= 2N文字) | String | STR[N] | D00500 (STR[10]) | low-byte-first |
| Byte | Integer | B または UB | D00100 | 1バイト |
詳細: LS産電
3. 三菱 MELSEC (Q / L / iQ-R) — MELSEC ドライバ
メモリ領域
ドライバが読み書きできるデバイスは以下がすべてです。
| 文字 | 領域 | 単位 | よく使う |
|---|---|---|---|
D | Data Register | ワード | ✅ 最も一般的 |
M | Internal Relay | ビット | ✅ |
B | Link Relay | ビット | ✅ |
X / Y | Input / Output | ビット | I/O |
W | Link Register | ワード | |
R | File Register | ワード | |
T / C | Timer / Counter | ワード | 現在値 |
L | Latch Relay | ビット | |
F | Annunciator | ビット | 警報 |
V | Edge Relay | ビット | |
S | Step Relay | ビット | |
Z | Index Register | ワード |
SD · SM · ZR は読み出せませんシステムデバイス(SD / SM)と拡張ファイルレジスタ(ZR)は、このドライバでは未対応です。
タグに登録しても読み出しは失敗します。システム状態値が必要な場合は、PLCプログラムで
D 領域へコピーし、そのアドレスを読み出してください。
表記例
| データ | 型 | format | アドレス例 |
|---|---|---|---|
| 16-bit signed | Integer | (空欄) | D100 |
| 16-bit unsigned | Integer | UW | D100 |
| 32-bit signed | Integer | DW | D100 (D100~D101) |
| 32-bit unsigned | Long | UDW | D100 |
| 32-bit float | Float | REAL | D100 |
| ビット | Boolean | (空欄) | M100, B0010 |
| 文字列 | String | STR[N] | D200 (Nワード) |
⚠ コントローラタイプ (
controller-type) オプションが登録フォームにあります — Q/LシリーズとiQ-Rで デバイスコード が異なるためです。誤設定するとWrong device codeになります。
詳細: 三菱 MELSEC
4. シーメンス S7 (S7-300 / 400 / 1200 / 1500) — S7 ドライバ
メモリ領域
| 領域 | 表記 | 意味 |
|---|---|---|
| DB (Data Block) | DB<n>.DB<X>0 | 最も一般的 — ユーザー定義データブロック |
| M (Merker) | M<X>0 | 内部メモリ |
| I (Input) | I<X>0 または E<X>0 | 入力 |
| Q (Output) | Q<X>0 または A<X>0 | 出力 |
| C / T | C0 / T0 | Counter / Timer |
<X> = データ幅:
B= Byte (8-bit)W= Word (16-bit)D= DWord (32-bit、整数またはfloat)X<bit>= ビット (例:M0.3)
表記例
| データ | 型 | format | アドレス例 |
|---|---|---|---|
| 16-bit signed | Integer | (空欄) | DB1.DBW0 |
| 32-bit signed | Integer | DW | DB1.DBD0 |
| 32-bit float | Float | REAL | DB1.DBD4 |
| ビット | Boolean | (空欄) | DB1.DBX0.0 (DB1のbyte 0のビット0) |
| 文字列 | String | STR[N] | DB1.DBB0 (S7 STRINGヘッダを含む) |
⚠
rack / slotオプション — TIA PortalでのPLCの Rack / Slot 番号 (通常 0/1 または 0/2)。誤ると connection refused になります。
詳細: シーメンス S7
5. Modbus TCP — MODBUS ドライバ
領域 / ファンクションコード
| 領域 | ファンクションコード | ビット/ワード | 表記 |
|---|---|---|---|
| Coil | FC1 / FC5 / FC15 | ビット | coil:<n> |
| Discrete Input | FC2 | ビット (read-only) | discrete-input:<n> |
| Holding Register | FC3 / FC6 / FC16 | ワード | holding-register:<n> |
| Input Register | FC4 | ワード (read-only) | input-register:<n> |
表記例
| データ | 型 | format | アドレス例 |
|---|---|---|---|
| 16-bit signed | Integer | (空欄) | holding-register:1 |
| 16-bit unsigned | Integer | UI | holding-register:1 |
| 32-bit signed | Integer | DW | holding-register:1 (HR1+HR2) |
| 32-bit float | Float | REAL | holding-register:1 |
| 32-bit float (byte-swap) | Float | REAL_BS | (ドライバオプションにより) |
| ビット | Boolean | (空欄) | coil:5 |
| 入力ビット (read-only) | Boolean | (空欄) | discrete-input:0 |
ベンダーごとに異なります (Modbusスレーブの開始番号)。ゲートウェイの MODBUS ドライバは 入力をそのまま PDUとして送信するため、スレーブのマニュアルに記載された PDUアドレス をそのまま入力してください。
詳細: Modbus TCP
6. OPC-UA — OPCUA ドライバ
NodeId表記
OPC-UA は NodeId で識別します — 標準形式:
ns=<NamespaceIndex>;s=<StringId>
ns=<NamespaceIndex>;i=<NumericId>
ns=<NamespaceIndex>;g=<GuidId>
ns=<NamespaceIndex>;b=<ByteStringId>
表記例
| サーバ | NodeId | 備考 |
|---|---|---|
| Kepware | ns=2;s=Channel1.Device1.Tag1 | チャネル.デバイス.タグ |
| Ignition | ns=1;s=[default]Tag1/Sub | タグパス |
| PlantPulse 自体のOPC-UAサーバ | ns=2;s=SITE_00001.OPC_00303.TAG_TEST_00042 | site.opc.tag |
| 数値型ID | ns=2;i=1234 | 数値ID |
データ型
OPC-UA は サーバ自身が型を持つ ため、ゲートウェイの 데이터 타입 / format は 解釈のヒント としてのみ使われます。一般的には:
| サーバノード型 | 登録時 | format |
|---|---|---|
Int16 / Int32 / Int64 | Integer / Long | (空欄) |
Float / Double | Float / Double | (空欄) |
Boolean | Boolean | (空欄) |
String | String | (空欄) |
詳細: OPC-UA
7. AB EtherNet/IP / Logix — EIP / LOGIX ドライバ
表記 (Logixタグ名ベース — Symbol Addressing)
ControlLogix / CompactLogix は タグ名 で直接アクセスします:
| データ | 型 | format | アドレス例 |
|---|---|---|---|
| DINT | Integer | DW | MyTag |
| INT | Integer | (空欄) | Pump.Speed |
| REAL | Float | REAL | Tank.Level |
| BOOL | Boolean | (空欄) | Motor.Run |
| STRING | String | (Logix STRING構造体) | Recipe.Name |
| 配列 | (スカラ) | (空欄) | Array[5] (インデックス直接指定) |
表記 (PLC-5 / SLC-500 — Logical Addressing)
AB-ETH カードは別の形式です:
| データ | アドレス例 |
|---|---|
| Word | N7:0 (file 7, element 0) |
| Float | F8:0 |
| Bit | B3:0/0 |
backplane / slotオプション — PLCがどのスロットにあるか。1(CPU) が一般的です。
詳細: AB EtherNet/IP
8. HTTPプッシュ — HTTP ドライバ (逆方向)
ゲートウェイが PLCへreadしない — 外部からゲートウェイへpushするモードです。
| 表記 | 意味 |
|---|---|
<area>/<key> | 自由な識別子 — 外部が送るpathとマッチング |
POST bodyの例:
{ "tag_id": "TAG_OUTDOOR_TEMP", "value": "23.4" }
format / 데이터 타입 は単純な保管メタです。PLCアドレスは 任意のキー — 外部がどのキーでpushするかに応じて自由に命名します。
詳細: HTTPプッシュ
9. Motor Sense — MOTOR_SENSE ドライバ (OPC-UA経由)
KOPENS モーターセンスデバイスをOPC-UAで受信します。資産(asset)単位で自動検索されます。
| 種類 | 自動で入力されるPLCアドレス |
|---|---|
| HEALTH INDEX | <ASSET_ID>.health.<metric> |
| SIGNAL | <ASSET_ID>.signal.<metric> |
手動入力は通常行いません — 資産の自動検索が働きます。
詳細: モーターセンス
10. OMRON FINS — FINS ドライバ
メモリ領域
| 文字 | 領域 |
|---|---|
D | DM (Data Memory) — 最も一般的 |
H | Holding Relay |
W | Work Area |
A | Auxiliary |
T / C | Timer / Counter |
CIO | Core I/O |
表記例
| データ | 型 | format | アドレス例 |
|---|---|---|---|
| 16-bit signed | Integer | (空欄) | D100 |
| 32-bit signed | Integer | DW | D100 |
| Float | Float | REAL | D100 |
| ビット | Boolean | (空欄) | H0.05 (ワード0のビット5) |
Network/Node/Unitオプション — FINSヘッダのルーティング情報 (
SA1/DA1など)。PLCマニュアルに従って設定します。
11. PANASONIC MEWTOCOL — MEWTOCOL ドライバ
メモリ領域
| 文字 | 領域 |
|---|---|
DT | Data Register |
R | Internal Relay |
X / Y | Input / Output |
T / C | Timer / Counter |
表記例
| データ | 型 | format | アドレス例 |
|---|---|---|---|
| 16-bit signed | Integer | (空欄) | DT0 |
| 32-bit signed | Integer | DW | DT0 |
| ビット | Boolean | (空欄) | R0.0 |
12. FATEK FACON — FATEK ドライバ
メモリ領域
| 文字 | 領域 |
|---|---|
R | Register (Word) |
M / Y / X | Memory / Output / Input (Bit) |
D | Discrete |
表記例
| データ | 型 | format | アドレス例 |
|---|---|---|---|
| 16-bit signed | Integer | (空欄) | R0 |
| ビット | Boolean | (空欄) | M0, Y10 |
13. GE SRTP — GE ドライバ
メモリ領域 (GE Fanuc / Emerson PACSystems)
| 文字 | 領域 |
|---|---|
R | Register |
AI / AQ | Analog Input / Output |
I / Q | Discrete Input / Output |
M | Internal |
表記例
| データ | 型 | format | アドレス例 |
|---|---|---|---|
| 16-bit signed | Integer | (空欄) | R1 |
| 32-bit signed | Integer | DW | R1 |
| Float | Float | REAL | R1 |
| Discrete | Boolean | (空欄) | I1 |
14. EMERSON DELTAV — DELTAV ドライバ (予定)
DeltaV の DST (Data Service Tag) または I/O reference 表記:
| 表記 | 意味 |
|---|---|
MODULE/PARAMETER.FIELD | 例: MOD01/AI1.PV |
正式ドライバ実装前 — OPC-UA または OPC-DA ゲートウェイ (Kepware) 経由を推奨します。
15. AB EtherNet (PLC-5 / SLC-500) — AB-ETH ドライバ
7. EIP / Logix のPLC-5/SLC-500表記の節と同じです:
| 領域 | 表記 |
|---|---|
| Word | N7:0 |
| Float | F8:0 |
| Bit | B3:0/0 |
| Output | O:0/0 |
| Input | I:0/0 |
16. Beckhoff TwinCAT/ADS — ADS ドライバ (予定)
TwinCAT変数名表記 (Symbol-based):
| データ | 表記例 |
|---|---|
| Variable | MAIN.PumpSpeed |
| Array | MAIN.Tanks[5].Level |
| Struct | GVL.Recipe.Name |
NetID + Port (PLC1では通常
851) の追加オプションがあります。
17. PROFINET — PROFINET ドライバ (予定)
Siemens / 一般的な Profinet IO の Slot/Subslot ベース表記:
| 表記 | 意味 |
|---|---|
<slot>/<subslot>/<index> | 例: 1/1/0 |
リアルタイム制御プロトコル — ゲートウェイは 非リアルタイム readのみ対応予定です。
18. CANopen — CANOPEN ドライバ (予定)
CANopen の OD (Object Dictionary) 表記:
| 表記 | 意味 |
|---|---|
<index>:<sub> | 例: 0x6041:0 (Statusword) |
CAN-busインターフェースカード (USB-CAN / PCIe-CAN) が必要です。
19. BACnet/IP — BACNET ドライバ (予定)
BACnet object 表記:
| 表記 | 意味 |
|---|---|
<object-type>:<instance>.<property> | 例: analog-input:1.present-value |
| Object types | analog-input / analog-output / analog-value / binary-input / binary-output / binary-value / multi-state-* |
ビルオートメーション / HVAC / 照明ドメイン。
20. KNXnet/IP — KNXNET ドライバ (予定)
KNX Group Address (3-level) 表記:
| 表記 | 意味 |
|---|---|
<main>/<middle>/<sub> | 例: 1/0/5 (照明チャネル5) |
| DPT (Data Point Type) | DPT_Switch / DPT_Value_Temp など |
ビルオートメーション標準 (EU中心)。
21. Open Protocol (Atlas Copco) — OP ドライバ
締結 (スクリュードライバ / トルクコントローラ) の結果メッセージベース:
| 表記 | 意味 |
|---|---|
MID:<msg-id>.<param> | 例: MID:0061.tightening_id (締結結果ID) |
| Common MIDs | 0001(通信開始) / 0030(パラメータセット) / 0061(締結結果) |
ライン締結 / 組立工程に特化 — PLCではなく コントローラ と連携します。
22. formatオプション — 全ドライバ統合表
登録フォームの 形式補助 欄によく入力する値です。ドライバごとに対応が異なります:
| format | 意味 | 対応ドライバ |
|---|---|---|
| (空欄) | 16-bit signed integer (ほとんどのdefault) | すべて |
B | 8-bit signed byte | LS / Melsec |
UB | 8-bit unsigned byte | LS / Melsec |
UI / UW / UWORD | 16-bit unsigned word | LS / Melsec / Modbus |
DW | 32-bit signed dword | LS / Melsec / S7 / Modbus / EIP / Logix |
UDW / DUW / UDWORD | 32-bit unsigned dword | LS / Melsec / Modbus |
UL | 64-bit unsigned long | LS |
REAL | 32-bit float (IEEE 754) | すべて |
LREAL | 64-bit double | LS / S7 |
STR[N] | Nワード / Nバイト文字列 | LS (ワード) / Melsec / S7 / Modbus |
BIN[N] | ワードのN番目のビットを抽出 | LS |
X または BIT | ビット (Booleanの同義語) | LS / Modbus |
オプションが完全に一致しない場合は 大文字小文字を無視 + 空白を除去 してマッチングします。
dw/Dw/D WはすべてDWとして認識されます。
23. 陥りやすい落とし穴 — 全ドライバ共通
| 症状 | 原因 / 対処 |
|---|---|
| 32-bit値が まったく違う数値 | formatが空欄 → 16-bitとして解釈。DW または REAL を明示 |
| 実数が0またはNaN | byte order (endianness) の問題。REAL_BS (byte-swap) または fomula swap32 を試す |
| ビットが常にfalse | ワード領域 (D) にビット表記をしている — ビット領域 (M/B/coil:) または BIN[N] を使用 |
| 文字列の文字化け | low-byte-first と high-byte-first の違い。LSは自動処理、S7 STRINGはヘッダを含む — STR[N] の長さを正確に |
Wrong device code (Melsec) | controller-type が Q/L と iQ-R で誤設定。フォームで変更後にOPCを再起動 |
BadTypeMismatch (OPC-UA) | 登録したデータ型がサーバノードの型と異なる。サーバ側の型に合わせる |
connection refused (S7) | rack / slot が誤り。TIA Portalで正確な値を確認 |
| すべてのタグのreadが0 | アドレス領域は正しいが、PLCがそのアドレスへ 値を出力していない。PLCプログラムでそのメモリに値を書くロジックを点検 |
24. さらに詳しく
- 登録手順 (開始前の準備 + ステップ別): 新しいPLC接続の追加
- タグ登録 (単件/CSV): タグ登録
- 登録後のモニタリング: 接続一覧 / タグ一覧
- 各PLCごとの詳細: PLC種類別ガイド
- ドライバ動作の内部: 上級 → ドライバ技術リファレンス