부가 정보를 전송하는 방법
펌웨어가 데이터 원천인 수집 장치에서 데이터를 얻지 못하였을 때 이런 부가 정보를 서버로 전송하는 방법에 대하여 안내합니다.
에러코드 (필수)
펌웨어는 센서나 디지털 컨트롤러(PLC)등 외부에 위치한 데이터 원천에서 데이터를 읽습니다. 이때 노후나 단선과 같은 물리적인 문제, 센서/디바이스 고장과 같이 하드웨어적인 문제 등 펌웨어가 예외를 제어할 수 없는 상황이 발생하여 데이터 원천에서 데이터를 수집하지 못할 수 있습니다.
이럴 때에는 해당 상황을 메시지에 기록하여 서버로 전송해야 됩니다. 데이터 필드와 별도로 errCode 라는 필드를 정의하고 서버로 전송합니다. 수집에 실패한 필드는 null 로 기록합니다.
에러 코드 정의
코드
설명
1
정상 수집
2
수집 장치 단선 의심
(MODBUS 단선)
3
수집 장치 무응답
(PLC 타임아웃)
4
데이터 변환 설정 오류
5
수집 실패
전송 데이터 예
예제는 오일 게이지와 오일 압력 2가지 데이터를 수집하는 장치입니다. 오일게이지는 12.34 라는 값, 그리고 오일 압력은 56.78 이라는 값을 정상적으로 수집했습니다. 그러므로 에러코드 필드를 1로 하여 서버로 전송합니다.
위 데이터 예제는 수집 장치와 전면적인 단선이 발생해서 아무런 데이터를 얻지 못한 경우입니다. 에러코드를 2로 하고 수집하지 못한 필드에 null 을 기록하여 서버로 전송합니다.
예제는 특정 필드만 수집을 실패한 경우입니다. 해당 필드를 null 로 작성하고 에러코드를 3으로 하여 서버로 전송합니다.
센서 상태 (선택)
센서의 현재 상태를 서버로 전송할 수 있습니다. sensorStatus 라는 별개의 필드를 정의하고 필요한 정보를 기록하여 전송합니다. 펌웨어 OTA 를 지원하는 디바이스는 반드시 이 필드를 이용하여 현재 동작하는 펌웨어 정보를 서버로 전송해야 합니다.
예제는 펌웨어 버전(fwVer), 디스크 여유율(50), 배터리 잔량(90)을 기록하여 서버로 전송하고 있습니다. 이러한 정보들은 보다 효율적으로 관리하는데 도움이 될 수 있을 것입니다.
부가 정보 필드는 기술 협의 과정에서 협의하여 정의될 수 있습니다.
설비 상태 (선택)
설비에 연결되어 동작하는 센서들은 설비의 가동 여부를 추가 정보로 서버로 전송할 수 있습니다. assetStatus 라는 필드를 사용하면 됩니다.
데이터 예제는 assetStatus 에 1 즉 설비가 가동 중인 상태임을 나타냅니다. 0은 설비가 비가동임을 뜻합니다. 이 필드 역시 기술 협의 세션에서 적용 여부를 결정할 수 있습니다.
Last updated