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と見なされます(ほとんどのドライバのデフォルト)。
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のbit 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 (通常
851for PLC1) 追加オプション。
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 vs high-byte-firstの違い。LSは自動処理、S7 STRINGはヘッダー含む — STR[N] の長さを正確に |
Wrong device code (Melsec) | controller-type がQ/L vs iQ-Rで誤設定。フォームで変更後OPC再起動 |
BadTypeMismatch (OPC-UA) | 登録したデータタイプがサーバノードタイプと異なる。サーバ側タイプと一致させる |
connection refused (S7) | rack / slot誤り。TIA Portalで正確な値を確認 |
| 全タグread 0 | アドレス領域はOKだがPLCがそのアドレスをエクスポートしていない。PLCプログラムでそのメモリに値を書き込むロジックを点検 |
24. さらに学ぶ
- 登録手順(開始前準備 + ステップ別): 新しいPLC接続の追加
- タグ登録(単件/CSV): タグ登録
- 登録後のモニタリング: 接続一覧 / タグ一覧
- 各PLCの詳細: PLC種類別ガイド
- ドライバ動作内部: 詳細 → ドライバ技術リファレンス