본문으로 건너뛰기

지멘스 S7

지멘스 (SIEMENS) SIMATIC S7 시리즈의 표준 통신 규약(ISO-on-TCP / S7 프로토콜) 으로 통신합니다.

지원 시리즈: S7-300 / S7-400 / S7-1200 / S7-1500 (+ S7-200 / S7-200 SMART / SINUMERIK 828D)


등록 폼 입력값

입력 칸무엇을 적나요예시
IP 주소PLC 의 IP192.168.0.70
포트S7 통신 포트102 (표준 / 변경 비추천)
Controller Type (controller-type)PLC 시리즈S7_400 (기본) / S7_300 / S7_200 / S7_200_SMART / S7_1200 / S7_1500 / SINUMERIK_828D
Rack (local-rack)rack 번호보통 0
Slot (local-slot)CPU slot 번호시리즈별 다름 (아래 표) — 미지정 시 3
멀티 리드 (multi-read)청크별 1왕복 일괄 읽기 사용 여부체크 시 true (기본 미사용 — 태그별 개별 읽기)
멀티 리드 최대 아이템 (multi-read-max-items)청크당 아이템 수 상한18 (기본, PDU 240 예산)

시리즈별 rack / slot

시리즈rackslot
S7-30002
S7-40003 (CPU 슬롯에 따라 다를 수 있음)
S7-120000 (또는 1)
S7-150000 (또는 1)

TIA Portal 측 사전 설정

지멘스 PLC 는 보안상 외부에서 값을 읽으려면 다음 설정이 필요합니다.

  1. TIA Portal 에서 PLC 속성 → Protection & Security → “Permit access with PUT/GET communication from remote partner” 활성화
  2. 데이터 블록(DB) 의 속성 → Optimized block access OFF (절대주소 모드로 변경)

이 두 설정이 안 되어 있으면 “Address out of range” 또는 “Connection rejected” 가 발생합니다.


태그의 PLC 주소 표기

지멘스 표준 메모리 표기를 그대로 사용합니다. % 로 시작합니다.

표기의미
%DB1.DBX0.0DB1 의 byte 0 의 bit 0 (불 값)
%DB1.DBB0DB1 의 byte 0 (8-bit)
%DB1.DBW0DB1 의 word 0 (16-bit)
%DB1.DBD0DB1 의 double word 0 (32-bit / 실수)
%I0.0입력 비트 0.0
%Q0.0출력 비트 0.0
%M0.0메모리 비트 0.0
%MW100메모리 word 100
%MD100메모리 double 100 (32-bit)

% 없이 적어도 동작은 하지만 매뉴얼 / 다른 도구와의 일관성을 위해 % 를 붙이시기를 권장합니다.


데이터 형식 매칭

PLC 의 값데이터 형식형식 보조PLC 주소 예
불 (Bool)Boolean(비움)%DB1.DBX0.0, %I0.0, %M0.0
8-bitIntegerB%DB1.DBB0
16-bit 정수Integer(비움)%DB1.DBW0, %MW100
32-bit 정수IntegerDW%DB1.DBD0, %MD100
32-bit 실수 (가장 흔한 실수형)FloatREAL%DB1.DBD0
64-bit 실수DoubleLREAL%DB1.DBD8
문자열 (S7 STRING)StringSTR[N]%DB1.DBB100
Bool 표기 확인

Bool 은 반드시 %DB1.DBX{byte}.{bit} 형식. 끝의 .0 ~ .7 빠뜨리지 마세요.


흔한 문제와 해결

증상 / 메시지가능한 원인해결
“Connection refused”포트 102 차단, PUT/GET 비활성TIA Portal 의 PUT/GET 통신 허용 활성화
“Connection rejected by remote”rack/slot 불일치위 표 참고하여 rack/slot 정정
“Address out of range”DB 가 Optimized 모드 (절대주소 모드 아님)TIA Portal 에서 DB 속성 → Optimized block access 끄기
모든 값 0DB 번호 / 오프셋 오류TIA Portal Watch table 에서 같은 주소가 실제로 동작하는지 확인
Bool 만 안 읽힘.bit 누락%DB1.DBX0.0 처럼 .bit 까지 정확히

자주 쓰는 예시

라인 PLC 한 대에 자주 묶이는 태그

태그 이름PLC 주소데이터 형식형식 보조
펌프 가동 (DB)%DB1.DBX0.0Boolean(비움)
입력 신호%I0.0Boolean(비움)
압력 (kPa, 실수)%DB1.DBD8FloatREAL
누적 카운터%MD100IntegerDW
배치 이름%DB1.DBB100StringSTR[16]

더 자세한 예제 / 자동화 등록

고급 — REST API 의 S7 예제를 참고하세요.