우리는 귀하의 프라이버시를 소중히 여깁니다
"모든 쿠키 허용"을 클릭하면 사이트 탐색을 개선하고, 사이트 사용을 분석하며, 마케팅 및 성능 노력에 도움을 주기 위해 쿠키를 귀하의 장치에 저장하는 데 동의한 것으로 간주됩니다. 이 주제에 대한 추가 정보는 당사의 정책에서 확인할 수 있습니다. 개인정보 보호정책
Smart Display UART 프로토콜은 호스트 컨트롤러와 WINSTAR Smart Display 간의 통신 및 제어를 UART 인터페이스를 통해 구현할 수 있도록 WINSTAR에서 개발한 독자적인 통신 프로토콜입니다. WINSTAR GUI Builder와 함께 사용하면 사용자 인터페이스 설계부터 장치 통신 및 제어까지 HMI 개발 과정을 보다 효율적으로 구성할 수 있습니다.
GUI Builder에서는 기본적인 Button과 Text부터 Gauge, Keypad까지 다양한 Widget을 활용하여 HMI 인터페이스를 구성할 수 있습니다. 이러한 시각적 개발 방식은 UI 설계를 간소화하고, 각 애플리케이션의 요구사항에 맞는 인터페이스를 보다 유연하게 구현할 수 있도록 지원합니다.
사용자 인터페이스 구성이 완료되면 호스트 컨트롤러는 UART를 통해 Smart Display와 통신하고, WINSTAR의 독자적인 통신 프로토콜과 명령을 사용하여 장치를 제어할 수 있습니다. UI 설계와 UART 통신을 연계함으로써 HMI 개발 및 시스템 통합 과정을 간소화할 수 있습니다.
WINSTAR는 Smart Display 애플리케이션을 보다 효율적이고 유연하게 개발할 수 있도록 GUI Builder를 지속적으로 개선하고 있습니다.
Smart Display GUI Builder는 직관적이고 사용하기 편리한 인터페이스를 제공하여 HMI 프로젝트를 효율적으로 구성할 수 있도록 지원합니다. GUI Builder에서 다양한 Widget을 페이지에 드래그 앤 드롭하면 Smart Display에 해당 객체를 표시하고 상호 작용할 수 있습니다. 간편한 조작과 유연한 기능을 통해 다양한 애플리케이션 요구사항에 대응하고 개발 효율을 높일 수 있습니다.
다음에서는 Smart Display GUI Builder를 사용하여 UART 프로젝트를 생성하고 UART를 통해 객체를 제어하는 방법을 설명합니다.
UART 프로젝트를 생성하려면 프로젝트 이름을 입력하고 요구사항에 맞는 Smart Display 장치 유형을 선택한 다음, Protocol 항목에서 "SmartDisplay protocol (UART)"을 선택합니다.

Widget을 추가하면 각 객체에는 고유한 Index ID가 지정되며, Page Index와 Object ID 설정이 제공됩니다. Host는 이 두 설정을 이용하여 UART 명령으로 해당 객체를 제어할 수 있습니다.

"Simulator With GUI" 아이콘을 클릭하여 시뮬레이터를 실행합니다.

시뮬레이터를 실행한 후 화면 하단의 GAUGE_0으로 표시된 슬라이더를 움직여 Host가 GAUGE_0으로 데이터를 전송하는 동작을 시뮬레이션할 수 있습니다. 시뮬레이터에서 Gauge의 변화를 확인하고 오른쪽 Message Log에서 UART 명령 로그를 확인할 수 있습니다. 또한 시뮬레이터의 Horizontal Slider를 조작하여 Device 측에서 데이터를 전송하는 동작을 시뮬레이션할 수 있습니다.

시뮬레이터에서 기능을 확인한 후 정상적으로 동작하면 장치를 연결하고 프로젝트 설정을 Smart Display에 업로드합니다.

업로드 및 업데이트가 완료될 때까지 기다립니다.

프로젝트를 장치에 업로드한 후 Smart Display에서 기능을 추가로 확인할 수 있습니다. GUI Builder를 사용하여 장치에 연결한 다음 "Test Device"를 클릭하면 Host와 Device 간의 상호 작용을 테스트할 수 있습니다.

이 테스트 화면에서는 Host가 객체 값을 변경하는 동작을 시뮬레이션할 수 있습니다. 화면 하단의 GAUGE_0으로 표시된 슬라이더를 움직여 Host가 Object 0의 값을 전송하도록 시뮬레이션하고 장치에서 Gauge의 변화를 확인합니다. 또한 하단의 Message Log에서 Send command와 Response command를 확인할 수 있습니다. 장치의 Horizontal Slider를 조작하여 Device 측에서 전송되는 Event command도 확인할 수 있습니다.

위의 Test Device 창을 통해 Host가 UART 명령을 전송하여 Smart Display를 제어하는 동작을 시뮬레이션할 수 있습니다. Smart Display에서 실행 결과를 확인하고 Touch Panel을 통해 Smart Display를 조작하여 Host가 해당 Event command를 수신하는지 확인할 수 있습니다.

Smart Display GUI Builder에서 제공하는 기본 Widget이 디자인 요구사항을 충족하지 못하는 경우, 해당 이미지를 교체하여 Widget 아이콘을 사용자 정의하고 애플리케이션에 적합한 인터페이스를 구성할 수 있습니다. 간단한 버튼이나 토글 버튼은 On/Off 이미지를 변경하여 사용자 정의할 수 있습니다. 보다 복잡한 Widget의 경우에는 올바르게 표시되도록 이미지 교체와 함께 관련 파라미터를 추가로 설정해야 할 수 있습니다.
이미지를 변경하고 해당 Gauge 파라미터를 조정하여 사용자 정의 Gauge를 구성할 수 있습니다.

Smart Display의 Text Widget은 Unicode를 지원하므로 여러 언어의 텍스트를 표시할 수 있습니다. 아래 단계에 따라 필요한 언어의 텍스트를 설정할 수 있습니다.
1. Custom Font를 추가하고 원하는 글꼴과 크기를 선택한 다음, 표시할 Unicode 문자 범위를 지정합니다. Unicode 범위는 Unicode Character Blocks에서 확인할 수 있습니다. 한자와 같이 필요한 문자 범위가 넓어 Flash 공간이 부족한 경우에는 Custom Characters에 실제로 사용할 문자만 지정하여 글꼴에 필요한 저장 공간을 줄일 수 있습니다.

2. Text Widget의 글꼴을 설정합니다. 글꼴 설정을 변경할 Text Widget을 선택합니다.

3. Text Widget을 추가하고 시뮬레이터에서 텍스트가 올바르게 표시되는지 확인합니다.

다음에서는 UART 통신에 사용되는 명령 프로토콜을 설명합니다. Host는 이러한 명령을 사용하여 Smart Display의 페이지 전환, 백라이트 밝기 조절, 부저 작동 등의 기능을 제어할 수 있습니다.
Default baud rate: 115200 (GUI 빌더를 통해 수정 가능)
Parity Bit: None
Data Bit: 8
Stop Bit: 1
| Header Byte(1 Byte) | Length(1 Byte) | Payload(N Byte) | CRC(2 Byte) |
|---|---|---|---|
| Command Header | Value: 4 + Payload length Payload max size: 250 |
Payload data max size: 250 | Modbus CRC16 (Calculate Modbus CRC16 https://www.modbustools.com/modbus_crc16.html) |
UART 프로토콜은 주로 세 가지 주요 명령 유형이 있습니다: 송신 명령(Send command), 응답 명령(Response command), 이벤트 명령(Event Command), 각 명령의 형식은 다음과 같습니다.
송신 명령은 호스트 측에서 스마트 디스플레이 측으로 명령을 전송하는 데 사용됩니다.
| Header Byte(1 Byte) | Length(1 Byte) | Payload(N byte) | CRC(2 Byte) |
|---|---|---|---|
| Start with 0x53 (S) | Value: 4 + Payload length Payload max size: 250 |
Command code: 1 byte Command parameter: 0 ~ N bytes |
Modbus CRC16 |
응답 명령은 스마트 디스플레이 측에서 호스트 측에 송신 명령의 결과를 회신하는 데 사용됩니다.
| Header Byte(1 Byte) | Length(1 Byte) | Payload(N byte) | CRC(2 Byte) |
|---|---|---|---|
| Start with 0x52 (R) | Value: 4 + Payload length Payload max size: 250 |
Command Code: 1 byte Error Code: 1 byte Response Data: 0 ~ N bytes |
Modbus CRC16 |
스마트 디스플레이 측에서 데이터를 능동적으로 보고해야 할 때 이 명령을 사용합니다. 예를 들어 버튼이 눌릴 때입니다.
| Header Byte(1 Byte) | Length(1 Byte) | Payload(N byte) | CRC(2 Byte) |
|---|---|---|---|
| Start with 0x45 (E) | Value: 4 + Payload length Payload max size: 250 |
Event Command Code: 1 byte Event Data: 0 ~ N bytes |
Modbus CRC16 |
* 자세한 송신 명령 코드 및 이벤트 명령 코드는 SmartDisplay UART 사용자 가이드를 참조하시기 바랍니다.
다음은 각 명령 페이로드에 대한 데이터 형식과 예시를 순차적으로 설명합니다.
송신 명령 (Send Command)
| Command Code | 1 Byte | 0x3 |
| Parameter data | 8 Byte | uint16 PageIndex; uint16 ObjectId; int32 value; |
응답 명령 (Response command)
| Command Code | 1 Byte | 0x3 |
| Error Code | 1 Byte | 0: Success 1: Failed |
예시: Set Object value

송신 명령 (Send Command)
| Command Code | 1 Byte | 0x5 |
| Parameter data | N Byte | uint16 PageIndex; uint16 ObjectId; uint8 [] data (max 100 bytes) // Unicode String for Text // Clock setting for Digital Clock |
응답 명령 (Response command)
| Command Code | 1 Byte | 0x5 |
| Error Code | 1 Byte | 0: Success 1: Failed |
예시: Set Object Text: test

예시: Set Clock Widget date time: 2024/09/01 04:05:06

송신 명령 (Send Command)
| Command Code | 1 Byte | 0x6 |
| Brightness | 1 Byte | Brightness value |
응답 명령 (Response command)
| Command Code | 1 Byte | 0x6 |
| Error Code | 1 Byte | 0: Success 1: Failed |
예시: Set brightness to 90.

송신 명령 (Send Command)
| Command Code | 1 Byte | 0x7 |
| Cycle | 1 Byte | Cycle value |
| High | 1 Byte | High value (Unit: 10 ms) |
| Low | 1 Byte | Low value (Unit: 10 ms) |
응답 명령 (Response command)
| Command Code | 1 Byte | 0x7 |
| Error Code | 1 Byte | 0: Success 1: Failed |
예시: Emitting buzzer: Cycle:1, High: 200 ms, Low: 0 ms

송신 명령 (Send Command)
| Command Code | 1 Byte | 0x8 |
| Page Index | 1 Byte | Page Index value |
응답 명령 (Response command)
| Command Code | 1 Byte | 0x8 |
| Error Code | 1 Byte | 0: Success 1: Failed |
예시: Switching Page Index to 1.
페이지를 전환하려면 먼저 장치 상태를 ConfigMode로 설정해야 합니다. 그런 다음 페이지 변경 명령을 전송합니다. 페이지 변경 명령을 완료한 후 장치 상태 모드를 Display Mode로 설정하여 페이지 전환 작업을 완료합니다. 관련 명령의 순서는 다음과 같습니다:

송신 명령 (Send Command)
| Command Code | 1 Byte | 0x20 |
| Device State | 1 Byte | 0: ConfigMode 1: DisplayMode |
응답 명령 (Response command)
| Command Code | 1 Byte | 0x20 |
| Error Code | 1 Byte | 0: Success 1: Failed |
예시: Refer to the example of switching pages
이벤트 명령 (Event Command)
| Event Code | 1 Byte | 0x01 |
| Parameter data | 2 Byte | Uint16 PageIndex |
예시: SmartDisplay switches to Page 1.

이벤트 명령 (Event Command)
| Event Code | 1 Byte | 0x02 |
| Parameter data | N +2 Byte | Uint16 ObjectId N byte Unicode Text |
예시: Keypad widget sends the text "1234"

이벤트 명령 (Event Command)
| Event Code | 1 Byte | 0x03 |
| Parameter data | 6 Byte | Uint16 ObjectId int32 value |
예시: Object value change event.

GUI Builder에서는 Widget을 드래그 앤 드롭하여 사용자 인터페이스를 구성할 수 있으며, WYSIWYG(What You See Is What You Get) 방식으로 보다 직관적이고 효율적인 UI 개발이 가능합니다. 또한 내장 시뮬레이터를 활용하면 실제 디스플레이를 사용하기 전에 화면을 미리 확인하고 UI 디자인을 검토할 수 있습니다.
UI 구성이 완료되면 호스트 컨트롤러는 UART를 통해 Smart Display와 통신하고, WINSTAR의 독자적인 통신 프로토콜을 사용하여 장치 제어 및 데이터 교환을 수행할 수 있습니다. UI 설계, 시뮬레이션, 장치 통신으로 이어지는 개발 프로세스를 통해 HMI 개발 및 시스템 통합을 보다 효율적으로 진행할 수 있습니다.
UART Smart Display를 도입하기 전에 GUI Builder와 내장 시뮬레이터를 사용하여 UI 디자인과 기능이 실제 애플리케이션 요구사항에 적합한지 확인할 수 있습니다.
GUI Builder 다운로드 신청 — 온라인 신청서를 작성하면 다운로드 링크를 받을 수 있습니다.
"모든 쿠키 허용"을 클릭하면 사이트 탐색을 개선하고, 사이트 사용을 분석하며, 마케팅 및 성능 노력에 도움을 주기 위해 쿠키를 귀하의 장치에 저장하는 데 동의한 것으로 간주됩니다. 이 주제에 대한 추가 정보는 당사의 정책에서 확인할 수 있습니다. 개인정보 보호정책