シリアル通信設定ダイアログ
このページでは、[シリアル通信設定] ダイアログについて説明します。
Note
AUTOmeal では UART 通信のみ対応しています。以下は UART 通信の設定になります。
AUTOmeal では最大 8 ポートまで通信設定が可能です。
シリアル通信の通信設定を行います。
[追加] ボタンでダイアログ上部のタブが追加されます。 使用するポート数分タブを追加してください。
[削除] ボタンで現在表示されている設定を削除できます。
[保存] ボタンで設定が反映され、ダイアログを閉じます。
[キャンセル] ボタンで変更を破棄しダイアログを閉じます。
注意
シリアル通信ポートを使用しない場合は、すべてのタブを削除してください。
基本設定
通信に関する基本的な設定を行います。
| 設定項目 | 入力値 | 初期値 |
|---|---|---|
| ポート ID | ポート設定の識別名を自由に入力してください。 半角英数字のみ使用可能です。 |
※1 |
| ポート | 使用する COM ポートを選択してください。 PC 検出された COM ポートが一覧で表示されます。 |
空欄 |
| 送信パケットサイズ | 送信パケットの最大サイズ (byte) を入力してください。 1 ~ 1024(byte) で指定可能です。 |
1024 |
| コマンド定義ファイル | ①ファイルを読み込む場合は、ドロップダウンからコマンド定義ファイルを選択してください。 ②ファイルを新規作成する場合は、ファイル名を入力してください。 |
※2 |
| ボーレート | 通信ボーレートを選択してください。 ボーレートは 110 ~ 921600 から選択できます。 |
9600 |
| データビット | データビット長を選択してください。 | 8 bit |
| ストップビット | ストップビット長を選択してください。 | 1 bit |
| パリティ | パリティ設定を選択してください。 | None |
| ハンドシェイク | ハンドシェイク設定を選択してください。 | None |
| DTREnable | DTR の有効無効を選択してください。 | False |
| RTSEnable | RTS の有効無効を選択してください。 | False |
※1 ポート ID の初期値
はじめに「Port1」が自動的に入力されます。
他のタブで「Port1」が既に使用されている場合、自動的に「Port2」、「Port3」のように連番付きのポート ID が生成され、重複しない ID が自動で入力されます。
※2 コマンド定義ファイルの初期値
「SerialCommand_<連番>.csv」が自動入力されます。
<連番>は 1 から始まり、タブの位置 (左から何番目か) によって決定されます。
同じ名前のファイルがすでに設定フォルダ内に存在する場合、ファイル名拡張子の前に自動的に「(<重複番号>)」が追加されます。
<重複番号>は、1から始まる連番で、重複ファイルの識別に使用されます。
注意
コマンド定義ファイルは必ず <プロジェクトルート>\Settings 以下に配置してください。Settings フォルダ以下ではない場所に配置されたコマンド定義ファイルは読み取ることができません。
Note
可変長パケットについては下記ページも参照してください。
固定長・可変長パケットについて
パケット受信設定
シリアル通信では、受信する固定長・可変長パケットの扱いについて設定できます。
Note
COM ポートを介したシリアル通信では、受信するパケットデータが分割・結合されることがあります。 この設定は、分割・結合されたパケットデータをどのように受信するかを指定するものです。
| 設定項目 | 入力値 | 初期値 |
|---|---|---|
| 受信モード | 以下から選択してください。 ・固定長パケット ・可変長パケット (受信間隔時間) ・可変長パケット (パケット解析) |
固定長パケット |
固定長パケット
受信するパケットのサイズが固定の場合に使用します。
[受信パケットサイズ] 分のデータを受信するたびに 1 パケットとして受信します。[受信パケットサイズ] を超えたデータは次のパケットとして記録されます。
| 設定項目 | 入力値 | 初期値 |
|---|---|---|
| 受信パケットサイズ | 受信するパケットのサイズをバイト単位で入力してください。 1 ~ 1024 の範囲で指定可能です。 |
1024 |
可変長受信 (受信間隔時間)
可変長のパケットを時間で区切る場合に使用します。
1 つ目のデータ受信完了から一定時間内に受信した通信データを 1 パケットとして受信します。
| 設定項目 | 入力値 | 初期値 |
|---|---|---|
| 最大受信パケットサイズ | 受信するパケットの最大サイズをバイト単位で入力してください。 確定していないパケットデータがこの値を超えた時点でパケットを確定します。 1 ~ 1024 の範囲で指定可能です。 |
1024 |
| 受信間隔時間 | 受信から確定までの時間間隔を ms 単位で指定してください。 1 ~ 2,147,483,647 の範囲で指定可能です。 |
1 |
可変長受信 (パケット解析)
可変長のパケットをパケット内部のデータを使用して区切る場合に使用します。
| 設定項目 | 入力値 | 初期値 |
|---|---|---|
| 最大受信パケットサイズ | 受信するパケットの最大サイズをバイト単位で入力してください。 確定していないパケットデータがこの値を超えた時点でパケットを確定します。 1 ~ 1024 の範囲で指定可能です。 |
1024 |
| 受信タイムアウト時間 | 受信までにかかる最大時間以上の時間長を指定してください。タイムアウトが発生した時点で確定していないパケットを確定します。 1 ~ 2,147,483,647 の範囲で指定可能です。 |
10000 |
| パケット解析設定 | 解析を行う方法を指定してください。 詳細は以下を参照してください。 |
設定なし |
フィールド区切り単位
パケット解析で使用するフィールド区切りの単位を指定します。
| 設定項目 | 入力値 | 初期値 |
|---|---|---|
| フィールド区切り単位 | [byte] もしくは [bit] を選択してください。[byte] の場合は byte 単位で判定が行われます。[bit] の場合は bit 単位で判定が行われます。 | byte |
先頭マーカー
パケットの先頭を示すマーカーが存在する場合に使用します。
先頭マーカーを検知するたびに、それまでに受信したデータをパケットとして確定します。
検知された先頭マーカーは次のパケットデータに含まれます。
| 設定項目 | 入力値 | 初期値 |
|---|---|---|
| 先頭マーカーを使用する | チェックをオンにすると先頭マーカーを使用します。 | オフ |
| 先頭マーカー | フィールド区切り単位に従って先頭マーカーを入力してください。 byte の場合: スペースまたはカンマ区切りで 16 進数を入力 (例: 0xAA 0x03、AA,03、0xAA, 0x03など)bit の場合: 0/1 の 2 進数 (例: 1010 または 111100001100) |
空欄 |
終端マーカー設定
パケットの終端を示すマーカーが存在する場合に使用します。
終端マーカーを検知するたびに、それまでに受信したデータをパケットとして確定します。
検知された終端マーカーは該当のパケットデータに含まれます。
| 設定項目 | 入力値 | 初期値 |
|---|---|---|
| 終端マーカーを使用する | チェックをオンにすると終端マーカーを使用します。 | オフ |
| 終端マーカー | フィールド区切り単位に従って終端マーカーを入力してください。 byte の場合: スペースまたはカンマ区切りで 16 進数を入力 (例: 0x0D 0x0A、0D,0A、0x0d, 0x0aなど)bit の場合: 0/1 の 2 進数 (例: 1010 または 111100001100) |
空欄 |
長さフィールド設定
パケット内に可変長を示す Length データが含まれている場合に使用します。
パケットを受信するたびに、下記の判定が行われます。
-
オフセット + サイズ 分のデータを受信するまで受信を継続する。
-
Length フィールドを読み込み、Length フィールドが示す長さ分のデータを受信するまで受信を継続する。
-
可変長フィールド以外のフィールド合計サイズを加えた長さ分のデータを受信した時点でパケットを確定します。
| 設定項目 | 入力値 | 初期値 |
|---|---|---|
| 長さフィールドを使用する | チェックをオンにすると長さフィールドを使用します。 | オフ |
| 長さフィールドが示す対象 | [パケット全体] もしくは [可変長フィールドのみ] を選択してください。 Length データがパケットデータ全体の長さを表している場合は [パケット全体] を指定します。 パケットデータの一部の長さを表している場合は [可変長フィールドのみ] を指定します。 |
パケット全体 |
| オフセット | パケット先頭から長さフィールドまでのバイト数を入力してください。 0 以上の整数が指定可能です。 |
0 |
| サイズ | 長さフィールド自体のバイト数を入力してください。 0 以上の整数が指定可能です。 |
1 |
| エンディアン | 長さフィールドが複数バイトある場合、エンディアンを指定します。[フィールド区切り単位] が [bit] の場合は [Big Endian] 固定です。 ・Little Endian ・Big Endian |
Big Endian |
| 可変長フィールド以外のフィールド合計サイズ | 長さフィールドが示す可変長フィールドのサイズに含まれないフィールドの合計サイズをバイト単位で指定します。 チェックサム領域などの固定フィールドがある場合にその合計サイズを指定してください。 [フィールド区切り単位] が [bit] の場合もバイトサイズで指定します。 1 以上の整数が指定可能です。 |
1 |
Note
終端マーカー設定と長さフィールド設定はいずれか一方のみ設定可能です。両方を設定することはできません。
Note
先頭マーカー設定と終端マーカー設定および長さフィールド設定を同時に有効にした場合、先頭マーカーを検知するまで他の設定は適用されません。先頭マーカー検知~パケット確定までの間だけ、終端マーカーおよび長さフィールド設定の判定が有効になります。