/

超簡単!標準アプリのUART機能

UART機能で利用するデータ形式
超簡単!標準アプリ(App_Twelite)の UART 機能で使用するデータ形式を解説します。

デジタル・アナログ入出力

0x81:相手端末からの状態通知

受信した入力信号の状態を出力します。

データ形式

#データ内容備考
charヘッダ:のみ
0uint8送信元の論理デバイスID
1uint8コマンド番号0x81のみ
2uint8パケット識別子アプリケーションIDより生成
3uint8プロトコルバージョン0x01のみ
4uint8LQI0-255
5uint32送信元のシリアルID0x8???????
9uint8送信先の論理デバイスID
10uint16タイムスタンプ1秒で64カウント
12uint8中継回数
13uint16電源電圧単位はmV
15int8-(未使用)
16uint8デジタル信号LSBから順にDIxへ対応、0がHigh
MSBが1なら定期送信
17uint8デジタル信号マスクLSBから順にDIxへ対応、1が有効
18uint8AI1の変換値アナログ信号の計算を参照、0xFFで未使用
19uint8AI2の変換値アナログ信号の計算を参照、0xFFで未使用
20uint8AI3の変換値アナログ信号の計算を参照、0xFFで未使用
21uint8AI4の変換値アナログ信号の計算を参照、0xFFで未使用
22uint8AIxの補正値LSBから2ビットずつ順にAIxへ対応
uint8チェックサムLRC8
charフッタCR (0x0D/'\r')
charフッタLF (0x0A/'\n')

アナログ信号の計算

AIxの入力電圧 \(V\)は、受信した変換値\(e_{r}\)および補正値\(e_{fr}\)を使って次のように表すことができます。

$$\begin{align*} V &= e+e_f \\ \text{where} \\ e &= 16e_r \\ e_f &= 4e_{fr} \\ \end{align*}$$

単位は mV

出力データの例

:78811501C98201015A000391000C2E00810301FFFFFFFFFB

0x80:相手端末の出力変更

相手端末の出力信号を制御します。

データ形式

#データ内容備考
charヘッダ:のみ
0uint8送信先の論理デバイスID親機0x00,子機0x01-0x64,全子機0x78
1uint8コマンド番号0x80のみ
2uint8書式バージョン0x01のみ
3uint8デジタル信号LSBからDOxに対応、0でHigh
4uint8デジタル信号マスクLSBからDOxに対応、1で有効
5uint16PWM1信号0-1024,0xFFFFで無効
7uint16PWM2信号0-1024,0xFFFFで無効
9uint16PWM3信号0-1024,0xFFFFで無効
11uint16PWM4信号0-1024,0xFFFFで無効
uint8チェックサムLRC8
charフッタCR (0x0D/'\r')
charフッタLF (0x0A/'\n')

UART 入出力

0x01:任意のデータの送信

データ形式

#データ内容備考
charヘッダ:のみ
0uint8送信先の論理デバイスID親機0x00,子機0x01-0x64,全子機0x78
1uint8コマンド番号0x01のみ
2[uint8]任意のデータ長さ\(N\)のバイト列(\(N\leqq80\)を推奨)
uint8チェックサムLRC8
charフッタCR (0x0D/'\r')
charフッタLF (0x0A/'\n')

0x01:任意のデータの受信

データ形式

#データ内容備考
charヘッダ:のみ
0uint8送信元の論理デバイスID親機0x00,子機0x01-0x64,未設定子機0x78
1uint8コマンド番号0x01のみ
2[uint8]任意のデータ長さ\(N\)のバイト列
uint8チェックサムLRC8
charフッタCR (0x0D/'\r')
charフッタLF (0x0A/'\n')

I2C 入出力

0x88:I2C 入力

データ形式

#データ内容備考
charヘッダ:のみ
0uint8送信先の論理デバイスID親機0x00,子機0-0x7F,全子機0x78,自身0xDB
1uint8パケット識別子0x88のみ
2uint8応答番号応答メッセージへ出力する番号
3uint8コマンド番号書き込み0x1,読み出し0x2,読み書き0x4
4uint8I2Cアドレス7ビット
5uint8I2Cコマンド最初のコマンドバイト
6uint8データサイズ0はなし
7[uint8]データ長さ\(N\)のバイト列
uint8チェックサムLRC8
charフッタCR (0x0D/'\r')
charフッタLF (0x0A/'\n')

0x89:I2C 出力

データ形式

#データ内容備考
charヘッダ:のみ
0uint8送信元の論理デバイスID親機0x00,子機0-0x7F,全子機0x78,自身0xDB
1uint8パケット識別子0x89のみ
2uint8応答番号応答メッセージへ出力する番号
3uint8コマンド番号書き込み0x1,読み出し0x2,読み書き0x4
4uint8結果失敗0、成功1
5uint8データサイズ0はなし
6[uint8]データ長さ\(N\)のバイト列
uint8チェックサムLRC8
charフッタCR (0x0D/'\r')
charフッタLF (0x0A/'\n')