콘텐츠로 이동
공식 웹사이트로 돌아가기

Modbus RTU로 Modbus Slave 데이터 수집

Modbus Slave 시뮬레이션 도구로 Modbus RTU 슬레이브 장치를 시뮬레이션합니다. Modbus 클라이언트【마스터】 플러그인의 Modbus RTU 프로토콜로 시뮬레이터 데이터를 수집하고 처리한 후 실시간으로 표시합니다.

2. 사용할 시뮬레이터, 장치 및 플러그인

섹션 제목: “2. 사용할 시뮬레이터, 장치 및 플러그인”
  • 시뮬레이터

Modbus Slave: 주로 Modbus 슬레이브 장치를 시뮬레이션하는 도구로, 마스터의 명령 패킷을 수신하고 데이터 패킷을 반환합니다.

시뮬레이션할 연결 및 데이터 포인트 정보는 다음과 같습니다.

key name
프로토콜(Connection) Serial Port
전송 속도 19200
데이터 비트 8
패리티 None
정지 비트 1
Slave ID 1
레지스터 유형 Holding Registers
데이터 유형 Unsigned
  • 장치

    RSB-3720 장치

  • 플러그인

    Modbus 클라이언트【마스터】, 데이터 처리 플러그인, MQTT 업로드 플러그인

(1) USB 케이블로 컴퓨터와 장치를 연결합니다.

(2) Modbus Slave에서 세 개의 데이터 포인트를 시뮬레이션합니다.

- 프로토콜: Modbus RTU
- 레지스터 유형: Holding Register
- 데이터 유형: uint16
- 바이트 순서: 빅 엔디언(AB)
- 데이터 포인트 주소: 0, 1, 2

(3) Modbus RTU 프로토콜로 Modbus 데이터 포인트 세 개를 수집합니다. 데이터 이름은 “X”, “Y”, “Z”이며, “X”의 계산식은 {X}/10+8, “Y”는 {Y}*3.1412, “Z”는 ({Z}-10)*5입니다.

(4) 위 규칙에 따른 연결 구성은 다음과 같습니다.

(1) Modbus Slave 시뮬레이션 설정

a. 【Modbus slave】를 열고 【File】 → 【New】를 클릭하여 Mbslave를 추가합니다.

  • No Connection: 어떤 장치에도 연결되지 않음
  • ID=1: 슬레이브 장치의 Slave ID가 1이며, 사용자가 변경 가능
  • F=3: Function이 03 Holding Registers(4x)이며, 선택한 값은 수집 플러그인의 데이터 레지스터 유형 설정과 일치
  • 왼쪽의 숫자 0-7: 데이터 주소를 나타냄

b. 【Connection】 → 【Connect…】 → 관련 매개변수 입력 → 【OK】 순서로 진행합니다.

  • Connection: 현재 Modbus Slave가 시뮬레이션하는 연결 프로토콜은 Serial Port입니다.
  • Serial Settings: 시리얼 연결 설정
  • 시리얼 포트: Prolific PL2303GT USB Serial COM Port(COM8)
  • 전송 속도: 19200 Baud
  • 데이터 비트: 8 Data bits
  • 패리티: None Parity
  • 정지 비트: 1 Stop Bit

c. 【SetUp】 → 【Slave Definition…】 → 관련 매개변수 입력 → 【OK】 순서로 진행합니다.

  • Slave ID: 슬레이브 장치 주소 ID, 기본값 1
  • Funtion: 레지스터 유형으로 03 Holding Register(4x) 선택
  • Address: 시작 주소에 0 입력
  • Quantity: 레지스터 수에 3 입력

d. 데이터 포인트 세 개 선택 → 【Didplay】 클릭 → 【Unsigned】 선택

e. 첫 번째 행을 두 번 클릭 → value에 88 입력 → 【OK】 클릭

f. 두 번째와 세 번째 데이터 포인트에 각각 12와 35 입력

(2) Modbus 클라이언트【마스터】 수집 설정

a. 연결 설정(참고: 구성 이름은 필수)

Modbus Slave 시뮬레이터의 매개변수에 따라 다음과 같이 설정합니다.

  • 구성 이름: RTU 수집
  • 프로토콜: Modbus RTU
  • 인터페이스: ttyUSB5
  • 전송 속도: 19200
  • 데이터 비트: 8
  • 패리티: None
  • 정지 비트: 1
  • 동기 수집: Yes
  • 수집 주기(ms): 1000
  • 제한 시간: 500
  • 수집 유효 시간(ms): 500

b. 그룹 추가

【그룹 추가】 → 【데이터 입력】 → 【완료】 순서로 진행합니다. 설정은 다음과 같습니다.

  • 그룹 이름: 그룹 1
  • Slave ID:1

참고: IP, 포트 및 Slave ID는 Modbus Slave 시뮬레이터와 일치해야 합니다. IP 주소는 시뮬레이터가 실행되는 장치의 IP 주소입니다.

c. 데이터 포인트 추가

【데이터 추가】 → 【데이터 입력】 → 【확인】 순서로 진행합니다. 설정은 다음과 같습니다.

  • 데이터 별칭: X
  • 주소: 0
  • 레지스터 유형: Holding Registers
  • 데이터 유형: uint16
  • 레지스터 수: 1
  • 바이트 순서: AB
  • 읽기/쓰기 모드: r
  • 계산: {X}/10+8

(1) 【장치 연결】의 【배포】 버튼을 클릭하여 배포합니다.

(2) 【스마트 트윈】으로 전환하고 Modbus 클라이언트【마스터】 노드 위로 마우스를 이동한 후 【RTU 수집】을 클릭하여 수집한 【실시간 데이터】를 확인합니다.

(3) 데이터 처리 노드 위로 마우스를 이동한 후 【RTU 수집】을 클릭하여 처리된 【실시간 데이터】를 확인합니다.