본문으로 건너뛰기

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 하는 모드.

표기의미
<영역>/<키>자유 식별자 — 외부가 보내는 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 (보통 851 for 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 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 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. 더 알아보기