데이터 파싱
사용 시나리오
이 스텝은 주로 수신한 원시 데이터를 구조화하여 파싱하는 데 사용되며, 사용자 정의 통신 시스템, 데이터 형식 변환 또는 프로토콜 파싱에 적합합니다. 일반적으로 “데이터 수신” 스텝 뒤에 연결하며, 데이터 처리 또는 결과 표시 스텝과 함께 사용할 수도 있습니다.
기본 개념
-
데이터 파싱 방식
이 스텝은 다음 두 가지 데이터 파싱 방식을 지원합니다.
-
텍스트 파싱: 입력 문자열을 지정한 구분자로 나누어 여러 필드로 분할합니다. 프로토콜 데이터가 인쇄 가능한 문자열 형식인 시나리오에 적합합니다. 예를 들어 외부 장치가
SN,001,98.5\n형식의 메시지를 전송하면, 쉼표 구분자로 나누어 SN, 001, 98.5 세 필드로 분할할 수 있습니다. -
바이트 파싱: 입력 바이트 스트림을 지정한 시작 위치와 길이에 따라 여러 필드로 분할하고, 지정한 데이터 유형에 따라 파싱합니다. 프로토콜 데이터가 바이너리 형식인 시나리오에 적합합니다. 예를 들어 수신한 바이트 스트림 `0x12 0x34 0x56 0x78`은 빅엔디언 순서와 데이터 유형(Int32 등)을 조합하여 10진수 값으로 파싱할 수 있습니다.
-
-
포트와 필드 매핑
사용자 정의 출력 포트와 데이터 필드를 1:1로 매핑하여 구조화된 출력을 효율적으로 설정할 수 있습니다.
-
바이트 순서
바이트 스트림 파싱 시의 순서(빅엔디언, 리틀엔디언 등)는 수치 및 필드의 실제 의미와 읽기 결과에 영향을 줍니다.
사용 절차
이 스텝의 사용 절차는 다음과 같습니다.
-
파싱할 데이터 입력 포트를 연결하고 필요한 입력 데이터를 선택합니다.
-
파싱 방식을 설정하고, 적합한 파싱 방식(텍스트 파싱 또는 바이트 파싱)을 선택합니다.
-
텍스트 파싱을 선택한 경우: 구분자를 설정하고 사용자 정의 출력 포트(포트 이름, 데이터 유형)를 구성합니다.
-
바이트 파싱을 선택한 경우: 바이트 순서를 설정하고 사용자 정의 출력 포트(시작 위치, 바이트 길이, 포트 이름, 데이터 유형)를 구성합니다.
-
-
실제 요구에 따라 각 파라미터를 조정하여 필드 분할이 중첩되지 않고 유형 설정이 올바른지 확인합니다.
-
스텝을 실행하여 각 지정 포트에 출력된 파싱 결과를 확인합니다.
파라미터 설명
| 파라미터 | 설명 |
|---|---|
파싱 방식 |
이 파라미터는 데이터 파싱 방식을 지정하는 데 사용됩니다. 값 목록:
입력 데이터 유형(문자열 또는 바이트 스트림)에 따라 적절한 파싱 방식을 선택하여 올바르게 파싱되도록 하세요. |
텍스트 파싱
| 파라미터 | 설명 |
|---|---|
구분자 |
이 파라미터는 문자열을 분할하는 데 사용할 구분 문자를 지정하며, 데이터는 이 구분자에 따라 여러 필드로 분할됩니다. 값 목록:
기본값은 쉼표(,)입니다. 실제 데이터 내용에 맞는 구분자를 선택하여 필드가 올바르게 파싱되도록 하세요. |
사용자 정의 출력 |
이 파라미터는 데이터 필드의 파싱 규칙을 구성하고 각 필드에 대응하는 출력 포트 이름을 지정할 수 있도록 합니다. 분할된 필드 순서(필드1, 필드2…)에 따라 차례대로 설정하세요. 각 필드마다 명확한 포트와 데이터 유형을 설정하여 파싱 구조의 일관성을 보장하는 것이 좋습니다. |
포트 이름 |
사용자 정의 출력 포트의 이름을 지정하며, 이 이름은 출력 필드 포트 식별자로 사용됩니다. 출력 가독성을 높이기 위해 포트 이름이 필드 내용의 의미와 관련되도록 설정하는 것이 좋습니다. |
데이터 유형 |
이 파라미터는 현재 필드의 파싱 유형을 지정합니다. 값 목록:
기본값은 문자열입니다. 파싱할 필드 내용에 따라 적절한 유형을 선택하여 유형 오류로 인한 데이터 처리 이상을 방지하세요. |
바이트 파싱
| 파라미터 | 설명 |
|---|---|
바이트 순서 |
이 파라미터는 멀티바이트 데이터가 바이트 스트림에서 배열되는 방식을 지정하는 데 사용됩니다. 바이트 순서가 다르면 최종적으로 읽히는 값이 달라집니다. 값 목록:
기본값은 ABCD(빅엔디언)입니다. 통신 프로토콜 또는 데이터 소스 요구에 따라 바이트 순서를 설정하여 데이터 해석이 정확하도록 하세요. |
사용자 정의 출력 |
데이터 필드의 파싱 규칙을 구성하고 각 필드에 대응하는 출력 포트 이름을 지정합니다. 시스템은 시작 위치와 바이트 길이에 따라 읽기 범위를 정하고, 지정한 유형으로 파싱한 후 출력합니다. 필드의 바이트 범위는 중첩될 수 없습니다. 바이트 스트림 구조에 따라 엄격히 필드를 구성하여 중첩을 피하고, 올바르게 파싱되도록 하는 것이 좋습니다. |
포트 이름 |
사용자 정의 출력 포트의 이름을 지정하며, 이 이름은 출력 필드 포트 식별자로 사용됩니다. 출력 가독성을 높이기 위해 포트 이름이 바이트 데이터 내용의 의미와 관련되도록 설정하는 것이 좋습니다. |
데이터 유형 |
현재 필드의 데이터 파싱 유형을 지정하며, 다양한 수치 및 문자 파싱에 적용할 수 있습니다. 값 목록:
기본값은 Char8입니다. 실제 요구와 데이터 구조에 따라 적절한 유형을 선택하여 오버플로 또는 데이터 불일치를 방지하세요. |
시작 위치 |
현재 데이터 필드가 바이트 스트림에서 시작하는 바이트 인덱스(0부터 시작)를 지정합니다. 시작 위치를 합리적으로 설정하고 바이트 순서에 따라 필드를 순차적으로 구성하여 중첩이 없도록 하는 것이 좋습니다. |
바이트 길이 |
현재 데이터 필드가 차지하는 바이트 수를 지정합니다. 시작 위치와 바이트 길이가 함께 읽기 범위를 결정합니다. 시작 위치와 필요한 데이터 유형 크기를 함께 고려하여 설정함으로써 오버플로 또는 필드 불완전 파싱을 방지하는 것이 좋습니다. |
오류 분석
|