- Jelina 개요
- CommBridge
- 데이터 수집
시리얼 통신 수집
시리얼 포트 읽기/쓰기 기능을 제공하여 지정 형식으로 로컬 시리얼 포트와 통신하고 데이터를 읽거나 기록합니다.
1. 노드 생성
섹션 제목: “1. 노드 생성”(1) CommBridge 페이지의 【스마트 트윈】으로 이동한 후 왼쪽에서 【장치 연결】로 전환합니다.

(2) 시리얼 통신, 데이터 처리 및 MQTT 업로드 플러그인을 차례로 플러그인 작업 영역에 끌어 놓아 세 개의 노드를 생성합니다.

(3) 세 노드를 차례로 연결합니다. 연결 순서는 시리얼 통신 → 데이터 처리 → MQTT 업로드입니다.

2. 구성 생성
섹션 제목: “2. 구성 생성”(1) 【시리얼 통신】을 두 번 클릭하고 【구성 추가】 버튼을 클릭합니다.

(2) 연결 설정을 입력하고 【다음】을 클릭합니다.

(3) 【설정 추가】를 클릭하고 설정 정보를 입력한 후 【확인】을 클릭합니다.

(4) 다음을 클릭하여 데이터 프레임 파싱 페이지로 이동합니다.
(5) 【파싱 추가】를 클릭하고 데이터 포인트 정보를 입력한 후 【확인】을 클릭합니다.

(6) 【완료】를 클릭하여 수집 구성을 추가합니다.

(7) 구성의 스위치를 켜고 【저장】을 클릭합니다.

3. 결과 확인
섹션 제목: “3. 결과 확인”(1) 【장치 연결】의 【배포】 버튼을 클릭하여 배포합니다.

(2) 【스마트 트윈】으로 전환한 후 【시리얼 통신】 노드 위로 마우스를 이동하면 노드 정보 목록이 표시됩니다.

(3) 구성을 클릭하여 해당 구성의 각 그룹에 속한 데이터 포인트의 실시간 데이터와 이력 데이터를 확인합니다.
수집한 실시간 데이터 값은 16진수입니다.

4. 설정 설명
섹션 제목: “4. 설정 설명”연결 설정
섹션 제목: “연결 설정”| 매개변수 | 설명 | 형식 | 예 | 비고 |
|---|---|---|---|---|
| 구성 이름 | 사용자가 지정하는 구성 이름 | 필수 | 온습도 수집 | |
| 인터페이스 | 실제 장치의 시리얼 포트에 따라 결정 | ttyS0, ttyS1 | ttyO3 | 일반적으로 RS485를 사용하며 USB 연결 순서에 따라 달라짐 |
| 데이터 비트 | 데이터 묶음에 실제로 포함된 데이터 비트 수 | 7, 8 | 8 | |
| 정지 비트 | 개별 패킷의 마지막 비트를 표시하는 데 사용 | 1, 2 | 1 | |
| 패리티 | 시리얼 통신의 간단한 오류 검출 방식 | Odd, Even 또는 None | None | |
| 전송 속도 | 초당 전송되는 심벌 수로 심벌 전송률을 나타내는 매개변수 | 11520, 57600, 38400, 19200, 9600 또는 4800 | 19200 |
데이터 프레임 설정
섹션 제목: “데이터 프레임 설정”| 매개변수 | 조건 | 설명 | 형식 | 예 | 비고 |
|---|---|---|---|---|---|
| 이름 | 사용자가 지정하는 이름 | 필수, 숫자로 시작할 수 없고 .,[]{}();=를 포함할 수 없음 | 거리 그룹 1 | ||
| 프레임 모드 | 데이터 프레임 전송 모드 | HEX, ASCII | HEX | ASCII는 드물게 사용 | |
| 데이터 프레임 형식 | 프레임 모드에 따라 결정 | 정규식: ^(?:[0-9a-fA-F]{2} )*[0-9a-fA-F]{2}$ | 공백으로 구분된 16진수 문자열 | 0f 03 00 00 00 01 85 24 | |
| 반복 주기(ms) | 숫자 | 1000 | |||
| 활성화 | disabled를 선택하면 데이터 프레임 파싱에 표시되거나 설정할 수 없음 | disabled, enabled | enabled |
참고: Serial은 한 번에 데이터 20개만 읽을 수 있습니다.
데이터 프레임 파싱
섹션 제목: “데이터 프레임 파싱”| 매개변수 | 설명 | 형식 | 예 | 비고 |
|---|---|---|---|---|
| 이름 | 사용자가 지정하는 이름 | 필수 | H | |
| 파싱 | byte[3]byte[4] | |||
| 활성화 | disabled를 선택하면 데이터 프레임 파싱에 표시되거나 설정할 수 없음 | disabled, enabled | enabled |
5. 시리얼 통신 프로토콜 관련 매개변수 설명
섹션 제목: “5. 시리얼 통신 프로토콜 관련 매개변수 설명”프레임 모드:
- HEX: 16진수로, 0~F의 서로 다른 16개 문자를 나타냅니다.
- ASCII: 서로 다른 128개 문자를 표현할 수 있는 문자 집합입니다.
ASCII와 Hex의 주요 차이는 표현하는 문자 범위입니다.
다음은 Modbus RTU의 홀딩 레지스터 읽기(기능 코드 0x03) HEX 요청 예제입니다.
| 장치 주소[1바이트] | 기능 코드[1바이트] | 시작 주소[2바이트] | 레지스터 수[2바이트] | CRC 검사[2바이트] |
|---|---|---|---|---|
| address | 03 | AddrH AddrL | NumH NumL | CRCL CRCH |
CRC(순환 중복 검사)는 CRC-16/MODBUS를 사용하며, 다항식은 X16+X15+X2+1입니다. 검사값은 하위 바이트부터 전송합니다.
예: 01 03 00 10 00 01 85 CF
| 명령 | 01 | 03 | 00 | 10 | 00 | 01 | 85 | CF |
|---|---|---|---|---|---|---|---|---|
| 설명 | 장치 주소 | 읽기 명령 | 레지스터 시작 주소 상위 바이트 | 레지스터 시작 주소 하위 바이트 | 읽기 수량 상위 바이트 | 읽기 수량 하위 바이트 | CRCL | CRCH |
다음은 Modbus ASCII의 홀딩 레지스터 읽기(기능 코드 0x03) 요청 예제입니다. 각 원시 바이트는 ASCII 16진수 문자 두 개로 인코딩됩니다. 아래 표에는 시작 문자 “:“와 종료 문자 CR/LF가 포함되지 않습니다.
| 장치 주소[2문자] | 기능 코드[2문자] | 시작 주소[4문자] | 레지스터 수[4문자] | LRC 검사[2문자] |
|---|---|---|---|---|
| address | 03 | AddrH AddrL | NumH NumL | LRC의 16진수 문자 두 개 |
LRC(종방향 중복 검사)는 주소, 기능 코드 및 데이터의 원시 바이트를 더한 뒤, 8비트를 초과하는 올림을 버리고 2의 보수를 취하여 1바이트 검사값을 구합니다. 시작 문자 “:“와 종료 문자 CR/LF는 계산에 포함하지 않습니다.