スマートディスプレイUARTプロトコルの紹介
顧客がUARTインターフェースを通じてHMI(ヒューマンマシンインターフェース)画面を簡単に制御できるように設計されています。この革新的なプロトコルは、Winstarの使いやすいGUIビルダーと組み合わせており、顧客に直感的で強力なツールを提供し、ニーズに合ったウィジェットを迅速にカスタマイズおよび構築できます。
GUIビルダーを使用すると、顧客はシンプルなボタンやテキストから複雑なゲージやキーパッドまで、さまざまなHMIオブジェクトを簡単にデザインでき、多様なアプリケーションシナリオに対応できます。これにより、顧客は時間とコストを節約できるだけでなく、インターフェースデザインの柔軟性と独自性が向上します。
WINSTARのカスタムUARTプロトコルコマンドを使用することで、Smart Displayとのインタラクションと制御が容易に実現できます。私たちは最高の顧客体験を提供し続け、GUIビルダーを継続的に改善して、顧客の進化するニーズに応えられるよう努めています。
プロのデザイナーであろうと初心者であろうと、SmartDisplay UARTプロトコルは優れたHMIインターフェースを作成するための理想的な選択であると信じています。このエキサイティングな革新技術を一緒に探求し、あなたの製品により多くの活力とインスピレーションを注入しましょう。
Smart Display GUIビルダー – UARTプロジェクト設定手順
SmartDisplay GUIビルダーは、直感的で使いやすいインターフェースを提供し、HMIプロジェクトを簡単に作成できるようにします。GUIビルダーを使用して、さまざまなウィジェットをページにドラッグ&ドロップするだけで、SmartDisplayデバイス上で簡単に表示および操作できます。シンプルな操作と柔軟な機能により、さまざまなニーズに応え、作業をより効率的にします。
以下では、Smart Display GUIビルダーを使用してUARTプロジェクトを作成する方法と、UARTを介してオブジェクトを制御する方法について説明します。
■ UARTプロトコルプロジェクトの作成
UARTプロジェクトを作成するには、プロジェクト名を入力し、SmartDisplayデバイスタイプを選択し、要件に応じてプロトコルオプションの下でSmartDisplayプロトコル(UART)を選択します。
■ メインページにゲージと水平スライダーウィジェットを追加
ウィジェットを追加すると、各オブジェクトには一意のインデックスIDが付与されます。また、各オブジェクトにはページインデックスとオブジェクトIDの設定があります。これらの2つの設定を把握することで、ホスト側はUARTコマンドを介してこのオブジェクトを制御できます。
■ UARTとウィジェット間のインタラクションをシミュレート
「GUI付きシミュレーター」アイコンをクリックしてシミュレーターを起動します。
シミュレーターを起動したら、下部にある「GAUGE_0」とラベル付けされたスライダーをドラッグして、ホストがGAUGE_0にデータを送信するシミュレーションを行います。シミュレーターのゲージの変化を観察し、右側のメッセージログでUARTコマンドログを確認します。また、シミュレーターの水平スライダーと対話して、デバイス側から送信されるデータをシミュレートすることもできます。
■ SmartDisplayデバイス設定の更新
シミュレーターを通じて機能を確認した後、すべてが正常に動作している場合は、デバイスに接続してプロジェクト設定をSmart Displayデバイスにアップロードします。
アップロードと更新プロセスが完了するのを待ちます。
■ デバイスとウィジェット間のインタラクションの検証
プロジェクトをデバイスにアップロードした後、Smart Displayデバイス側で機能をさらに検証できます。GUIビルダーでデバイスに接続し、「デバイステスト」をクリックすると、ホストとデバイス間のインタラクションをテストできます。
■ テストデバイスウィンドウ
このテストインターフェースを通じて、ホスト側がオブジェクトの値を変更するシミュレーションを行うことができます。下部にある「GAUGE_0」とラベル付けされたスライダーをドラッグして、ホストがオブジェクト0の値を送信するシミュレーションを行います。デバイス上のゲージの変化を観察し、下部のメッセージログで送信コマンドと応答コマンドの変動を確認できます。また、デバイスの水平スライダーと対話して、デバイス側から送信されたイベントコマンドを確認します。
上記のテストデバイスウィンドウを通じて、ホストがUARTコマンドを送信してSmartDisplayを制御するシミュレーションが可能です。SmartDisplay上の結果画面を確認し、タッチパネルを通じてSmartDisplayを操作することでホスト側でイベントコマンド情報を受信したことを確認します。
SmartDisplay GUIビルダー – カスタムウィジェット
SmartDisplayのデフォルトウィジェットが設計要件に合わない場合、顧客はカスタムウィジェットアイコンを自分でデザインできます。対応する画像を更新することで、カスタマイズされたウィジェットインターフェースを実現できます。シンプルなボタンやトグルボタンの場合、オン/オフの画像を変更することでカスタマイズニーズを満たすことができます。ただし、より複雑なウィジェットの場合は、画像の置き換えに加えて、ウィジェットが正しく表示されるようにさらなるパラメータ設定が必要になる場合があります。
■ カスタムゲージの説明と例
画像とゲージパラメータを順番に変更することで、カスタムウィジェットインターフェースを実現できます。
■ マルチランゲージテキスト
SmartDisplayテキストウィジェットはUnicodeをサポートしており、マルチランゲージテキストの表示が可能です。顧客は以下の手順に従って、希望のマルチランゲージテキストを表示するための設定を行います。
1. カスタムフォントの追加: 希望するフォントとサイズを順番に選択し、表示するUnicodeテキスト範囲を選択します(表示するテキストのUnicode範囲を確認するには、ウェブサイト https://unicode-table.com/en/blocks/ を参照してください)。表示するテキストの範囲が広すぎる場合(例えば、中国語の文字など)、フラッシュメモリが不足することがあります。この場合、カスタムキャラクターセクションで含める文字のみを設定することでフォントのフラッシュメモリ容量を減らすことができます。
2. テキストウィジェットの表示フォント設定: どのテキストウィジェットの設定を変更するかを選択します。
3. テキストウィジェットを追加し、シミュレーターでテキスト表示が正しいことを確認します。
カスタムCANコマンドの紹介
次に、UARTで使用されるコマンドプロトコルについて説明します。この手順を通じて、ホスト側はSmartDisplayを簡単に制御できるようになります。ページの変更、バックライトの明るさの調整、ブザー音の発生などが可能です。
The following are the default UART settings:
Default baud rate: 115200 (GUIビルダーを通じて変更可能)
Parity Bit: None
Data Bit: 8
Stop Bit: 1
UARTの主なデータフォーマットは以下の通りです:
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プロトコルには主に3種類のコマンドがあります:送信コマンド、応答コマンド、イベントコマンドであり、それぞれのフォーマットは以下の通りです。
(1) 送信コマンドフォーマット (Send Command format)
送信コマンドは、ホスト側がSmartDisplay側にコマンドを送信するために使用されます。
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 |
(2) 応答コマンドフォーマット (Response command format)
応答コマンドは、SmartDisplay側がホスト側に送信コマンドの結果を返すために使用されます。
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 |
(3) イベントコマンド (Event Command)
SmartDisplay側がデータを積極的に報告する必要がある場合、このコマンドを使用します。例えば、ボタンがトリガーされたときなどです。
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ユーザーガイドドキュメントを参照してください。
■ 送信/応答コマンドプロトコルの説明と例
以下に、各コマンドペイロードのデータフォーマットと例を順に示します。
● Set Object Value: 0x3
送信コマンド (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
● Set Object Buffer Data: 0x5
送信コマンド (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 |
例:Example: Set Object Text: test
例: Set Clock Widget date time: 2024/09/01 04:05:06
● Set Brightness: 0x6
送信コマンド (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.
● Set Buzzer: 0x7
送信コマンド (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
● Set Page Index: 0x8
送信コマンド (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に設定して、ページ変更操作を完了します。関連コマンドの順序は以下の通りです:
● Set Device State: 0x20
送信コマンド (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
■ イベントコマンドプロトコルの説明と例
● Page change event: 0x1
イベントコマンド (Event Command)
Event Code | 1 Byte | 0x01 |
Parameter data | 2 Byte | Uint16 PageIndex |
例: SmartDisplay switches to Page 1.
● Object Text change event: 0x2
イベントコマンド (Event Command)
Event Code | 1 Byte | 0x02 |
Parameter data | N +2 Byte | Uint16 ObjectId N byte Unicode Text |
例: Keypad widget sends the text "1234"
● Object Value change event: 0x3
イベントコマンド (Event Command)
Event Code | 1 Byte | 0x03 |
Parameter data | 6 Byte | Uint16 ObjectId int32 value |
例: Object value change event.
顧客はGUIビルダーを使用してウィジェットをドラッグ&ドロップすることでUIをデザインでき、WYSIWYG(What You See Is What You Get)効果を実現し、UIデザインを直感的かつ効率的に行えます。また、シミュレーターを通じてデザインした結果をプレビューすることで、顧客はUIのプレゼンテーションを瞬時に確認でき、最終的な効果を早期に理解し、時間と労力を節約できます。最終的に、WINSTARのカスタムUARTプロトコルを通じて、顧客はデバイスを簡単に制御できます。このエンドツーエンドのデザインプロセスは、顧客にとってデザインと制御のシームレスな統合を可能にし、操作の便利さと精度を向上させます。SmartDisplay UARTプロトコルの適用は、顧客にさらなる運用の可能性と便利さをもたらし、製品開発と応用の幅を広げます。この包括的なソリューションは、顧客の作業効率を向上させるだけでなく、製品の創造性と競争力を高めます。ワクワクしていますか?ぜひSmartDisplay GUIビルダーをダウンロードしてください。SmartDisplayを購入する前に、シミュレーターを試してSmart Displayがニーズに合っているか確認できます!お問い合わせ