사용자 지정 페이로드
사용자 지정 페이로드를 사용하면 MQTT 게시자가 기본 페이로드 구조를 사용하지 않는 시스템에 데이터를 보낼 수 있습니다.
기본 및 사용자 지정 페이로드
기본 페이로드는 고정된 JSON 구조를 사용합니다. 사용자 지정 페이로드는 문자열 포맷터 템플릿을 사용하여 필드 이름, 중첩 또는 일반 텍스트 출력을 변경합니다.
측면 | 기본 페이로드 | 사용자 지정 페이로드 |
|---|---|---|
사용 사례 | 수신 시스템이 내장 JSON 구조를 수락할 때 사용합니다. | 수신 시스템에 다른 필드 이름, 중첩 또는 일반 텍스트가 필요할 때 사용합니다. |
게시자 구성 | PF Enabled 를 비활성화된 상태로 둡니다. | PF Enabled 를 활성화한 다음 PF Header 를 정의하고, 필요한 경우 PFRecord 를 정의합니다. |
중요:
MQTT 구독자는 기본 JSON 페이로드를 예상합니다. 이 주제에서는 MQTT 게시자의 사용자 지정 서식에 대해 설명합니다.
사용자 지정 페이로드에는 머리글, 레코드 또는 둘 다 포함될 수 있습니다. 예:
{ "timestamp": "...", "sensors": [ { "name": "MyVariableA", "value": 23 }, { "name": "MyVariableB", "value": true }, { "name": "MyVariableC", "value": "abc" } ] }
일반 페이로드 구조

FactoryTalk® Optix™
문자열 포맷터 동적 링크를 MQTT 게시자 페이로드 포맷터 속성과 함께 사용합니다. PF Enabled
, PF Header
및 PFRecord
.
팁:
문자열 포맷터에서 레코드에 여러 데이터 유형이 포함된 경우 JSON 규정 준수 형식을 선택합니다. 자세한 내용은 문자열 포맷터 데이터 유형 항목을 참조하십시오.
페이로드 포맷터 구성 요소
PF Header
:- 페이로드의 머리글 부분을 정의합니다.
- 문자열 포맷터를 사용하여 JSON, 일반 텍스트 또는 동적 값이 있는 혼합 텍스트를 정의합니다.
- 타임스탬프 또는 생산 라인 번호와 같은 하나 이상의 변수를 포함할 수 있습니다.
- 머리글이 레코드 출력을 삽입할 때#PFRecord자리 표시자를 사용합니다.
- 여러 변수가 JSON 배열을 형성할 때#PFRecord앞뒤로 대괄호를 사용합니다.
- 폴더에 여러 변수가 있는 경우FactoryTalk Optix는 페이로드를 만드는 동안 변수를 반복합니다.
PFRecord
:- 페이로드의 반복되는 레코드 부분을 정의합니다.
- 문자열 포맷터 동적 링크를 사용하여 찾아보기 이름 및 값과 같은 별칭 항목 속성을 매핑합니다.
- 페이로드가 반복 레코드를 사용하지 않는 경우 비워 둘 수 있습니다.
팁:
문자열 포맷터에서는 구문 오류를 방지하기 위해 첫 번째 여는 중괄호를 이스케이프합니다. 중괄호를 두 번 입력하여 이스케이프합니다. 예:
{{{0}
사용자 지정 페이로드 예시
이러한 예시에서는 문자열 포맷터 형식과
PF 머리글
및 PF 레코드
에 대한 동적 링크를 보여 줍니다.- PF 머리글문자열 포맷터 형식:{"timestamp":"{0:o}","sensors":[#PFRecord]}동적 링크(0):MQTT/MQTTClient/MQTTPublisher/PayloadUpadteTimestamp. 자리 표시자{0:o}은 이 링크에 매핑됩니다.자리 표시자#PFRecord는 형식이 지정된PF 레코드출력을 센서 배열에 삽입합니다.
- PF 레코드문자열 포맷터 형식:{"name":"{0}","value":{1}},동적 링크(0):{Item}@BrowseName. 자리 표시자{0}은 이 링크에 매핑됩니다.동적 링크(1):{Item}@Value. 자리 표시자{1}은 이 링크에 매핑됩니다.
고정된 기본 페이로드 구조는 MQTT를 참조하십시오. 기본 페이로드 형식의 배열 및 복합 데이터 유형에 대해서는 복합 데이터 유형 게시를 참조하십시오.
의견을 작성 부탁드립니다.