メインコンテンツまでスキップ

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 ドライバ

メモリ領域

文字領域よく使う
DData Register✅ データ (最も一般的)
MMemory (ビット)✅ 状態ビット
KKeep Relay (不揮発)✅ 停電保持
FFlagシステムビット
TTimerタイマ現在値
CCounterカウンタ現在値
RFile Register(シリーズにより)
PI/O外部入出力

表記例

PLCの値データ型formatアドレス例備考
16-bit signedInteger(空欄)D00309default
16-bit unsignedIntegerUI または UWD003000–65535
32-bit signedIntegerDWD00600D00600~D00601
32-bit unsignedLongUDW または DUWD006900–4_294_967_295
64-bit signedLong(空欄 + dt=Long)D00700D00700~D00703
32-bit floatFloatREALD00450IEEE 754
64-bit doubleDoubleLREALD00500IEEE 754
ビット (M/K/F/T/C/P)Boolean(空欄)M02704ビット領域
ワードのN番ビットBooleanBIN[N]D00309 (BIN[3])3番ビット
文字列Nワード (= 2N文字)StringSTR[N]D00500 (STR[10])low-byte-first
ByteIntegerB または UBD001001バイト

詳細: LS産電


3. 三菱 MELSEC (Q / L / iQ-R) — MELSEC ドライバ

メモリ領域

ドライバが読み書きできるデバイスは以下がすべてです。

文字領域単位よく使う
DData Registerワード✅ 最も一般的
MInternal Relayビット
BLink Relayビット
X / YInput / OutputビットI/O
WLink Registerワード
RFile Registerワード
T / CTimer / Counterワード現在値
LLatch Relayビット
FAnnunciatorビット警報
VEdge Relayビット
SStep Relayビット
ZIndex Registerワード
SD · SM · ZR は読み出せません

システムデバイス(SD / SM)と拡張ファイルレジスタ(ZR)は、このドライバでは未対応です。 タグに登録しても読み出しは失敗します。システム状態値が必要な場合は、PLCプログラムで D 領域へコピーし、そのアドレスを読み出してください。

表記例

データformatアドレス例
16-bit signedInteger(空欄)D100
16-bit unsignedIntegerUWD100
32-bit signedIntegerDWD100 (D100~D101)
32-bit unsignedLongUDWD100
32-bit floatFloatREALD100
ビットBoolean(空欄)M100, B0010
文字列StringSTR[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 / TC0 / T0Counter / Timer

<X> = データ幅:

  • B = Byte (8-bit)
  • W = Word (16-bit)
  • D = DWord (32-bit、整数またはfloat)
  • X<bit> = ビット (例: M0.3)

表記例

データformatアドレス例
16-bit signedInteger(空欄)DB1.DBW0
32-bit signedIntegerDWDB1.DBD0
32-bit floatFloatREALDB1.DBD4
ビットBoolean(空欄)DB1.DBX0.0 (DB1のbyte 0のビット0)
文字列StringSTR[N]DB1.DBB0 (S7 STRINGヘッダを含む)

rack / slot オプション — TIA PortalでのPLCの Rack / Slot 番号 (通常 0/1 または 0/2)。誤ると connection refused になります。

詳細: シーメンス S7


5. Modbus TCP — MODBUS ドライバ

領域 / ファンクションコード

領域ファンクションコードビット/ワード表記
CoilFC1 / FC5 / FC15ビットcoil:<n>
Discrete InputFC2ビット (read-only)discrete-input:<n>
Holding RegisterFC3 / FC6 / FC16ワードholding-register:<n>
Input RegisterFC4ワード (read-only)input-register:<n>

表記例

データformatアドレス例
16-bit signedInteger(空欄)holding-register:1
16-bit unsignedIntegerUIholding-register:1
32-bit signedIntegerDWholding-register:1 (HR1+HR2)
32-bit floatFloatREALholding-register:1
32-bit float (byte-swap)FloatREAL_BS(ドライバオプションにより)
ビットBoolean(空欄)coil:5
入力ビット (read-only)Boolean(空欄)discrete-input:0
アドレスbase — 1それとも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備考
Kepwarens=2;s=Channel1.Device1.Tag1チャネル.デバイス.タグ
Ignitionns=1;s=[default]Tag1/Subタグパス
PlantPulse 自体のOPC-UAサーバns=2;s=SITE_00001.OPC_00303.TAG_TEST_00042site.opc.tag
数値型IDns=2;i=1234数値ID

データ型

OPC-UA は サーバ自身が型を持つ ため、ゲートウェイの 데이터 타입 / format解釈のヒント としてのみ使われます。一般的には:

サーバノード型登録時format
Int16 / Int32 / Int64Integer / Long(空欄)
Float / DoubleFloat / Double(空欄)
BooleanBoolean(空欄)
StringString(空欄)

詳細: OPC-UA


7. AB EtherNet/IP / Logix — EIP / LOGIX ドライバ

表記 (Logixタグ名ベース — Symbol Addressing)

ControlLogix / CompactLogix は タグ名 で直接アクセスします:

データformatアドレス例
DINTIntegerDWMyTag
INTInteger(空欄)Pump.Speed
REALFloatREALTank.Level
BOOLBoolean(空欄)Motor.Run
STRINGString(Logix STRING構造体)Recipe.Name
配列(スカラ)(空欄)Array[5] (インデックス直接指定)

表記 (PLC-5 / SLC-500 — Logical Addressing)

AB-ETH カードは別の形式です:

データアドレス例
WordN7:0 (file 7, element 0)
FloatF8:0
BitB3: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 ドライバ

メモリ領域

文字領域
DDM (Data Memory) — 最も一般的
HHolding Relay
WWork Area
AAuxiliary
T / CTimer / Counter
CIOCore I/O

表記例

データformatアドレス例
16-bit signedInteger(空欄)D100
32-bit signedIntegerDWD100
FloatFloatREALD100
ビットBoolean(空欄)H0.05 (ワード0のビット5)

Network/Node/Unitオプション — FINSヘッダのルーティング情報 (SA1 / DA1 など)。PLCマニュアルに従って設定します。


11. PANASONIC MEWTOCOL — MEWTOCOL ドライバ

メモリ領域

文字領域
DTData Register
RInternal Relay
X / YInput / Output
T / CTimer / Counter

表記例

データformatアドレス例
16-bit signedInteger(空欄)DT0
32-bit signedIntegerDWDT0
ビットBoolean(空欄)R0.0

12. FATEK FACON — FATEK ドライバ

メモリ領域

文字領域
RRegister (Word)
M / Y / XMemory / Output / Input (Bit)
DDiscrete

表記例

データformatアドレス例
16-bit signedInteger(空欄)R0
ビットBoolean(空欄)M0, Y10

13. GE SRTP — GE ドライバ

メモリ領域 (GE Fanuc / Emerson PACSystems)

文字領域
RRegister
AI / AQAnalog Input / Output
I / QDiscrete Input / Output
MInternal

表記例

データformatアドレス例
16-bit signedInteger(空欄)R1
32-bit signedIntegerDWR1
FloatFloatREALR1
DiscreteBoolean(空欄)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表記の節と同じです:

領域表記
WordN7:0
FloatF8:0
BitB3:0/0
OutputO:0/0
InputI:0/0

16. Beckhoff TwinCAT/ADS — ADS ドライバ (予定)

TwinCAT変数名表記 (Symbol-based):

データ表記例
VariableMAIN.PumpSpeed
ArrayMAIN.Tanks[5].Level
StructGVL.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 typesanalog-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 MIDs0001(通信開始) / 0030(パラメータセット) / 0061(締結結果)

ライン締結 / 組立工程に特化 — PLCではなく コントローラ と連携します。


22. formatオプション — 全ドライバ統合表

登録フォームの 形式補助 欄によく入力する値です。ドライバごとに対応が異なります:

format意味対応ドライバ
(空欄)16-bit signed integer (ほとんどのdefault)すべて
B8-bit signed byteLS / Melsec
UB8-bit unsigned byteLS / Melsec
UI / UW / UWORD16-bit unsigned wordLS / Melsec / Modbus
DW32-bit signed dwordLS / Melsec / S7 / Modbus / EIP / Logix
UDW / DUW / UDWORD32-bit unsigned dwordLS / Melsec / Modbus
UL64-bit unsigned longLS
REAL32-bit float (IEEE 754)すべて
LREAL64-bit doubleLS / 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またはNaNbyte 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. さらに詳しく