コンテンツにスキップ
JelinaJelina Documentation技術ドキュメント
公式サイトに戻る

シリアル通信収集

シリアルポートの読み書き機能を提供します。指定形式でローカルシリアルポートと通信し、データの取得や書き込みを行います。

(1) CommBridge の【スマートツイン】を開き、左側で【デバイス接続】に切り替えます。

(2) シリアル通信、データ処理、MQTT アップロードの各プラグインをプラグインワークスペースへ順にドラッグし、3 つのノードを作成します。

(3) シリアル通信 → データ処理 → MQTT アップロードの順に 3 つのノードを接続します。

(1) 【シリアル通信】をダブルクリックし、【プランを追加】をクリックします。

(2) 接続設定を入力し、【次へ】をクリックします。

(3) 【設定を追加】をクリックし、設定情報を入力して【確認】をクリックします。

(4) 【次へ】をクリックし、データフレーム解析画面を開きます。

(5) 【解析を追加】をクリックし、データポイントを入力して【確認】をクリックします。

(6) 【完了】をクリックし、収集プランの追加を完了します。

(7) プランを有効にし、[保存]をクリックします。

(1) 【デバイス接続】の【デプロイ】をクリックし、デプロイを完了します。

(2) 【スマートツイン】に切り替え、【シリアル通信】ノードにマウスポインターを合わせると、ノード情報の一覧が表示されます。

(3) プランをクリックし、そのプランの各グループに含まれるデータポイントのリアルタイムデータと履歴データを確認します。

収集したリアルタイムデータの値は 16 進数です。

パラメーター 説明 形式 例 備考
プラン名 ユーザーが設定するプランの名前 必須 温湿度収集
インターフェース デバイスに実装されているシリアルポートに応じて選択します ttyS0、ttyS1 ttyO3 通常は RS485 を使用し、USB の挿入順序に依存します
データビット 1 組のデータに実際に含まれるデータビット数 7、8 8
ストップビット 1 つのパケットの終端を示します 1、2 1
パリティ シリアル通信で使用する簡易的な誤り検出方式 Odd、Even、None None
ボーレート シンボルの伝送速度を表すパラメーター。1 秒間に伝送するシンボル数 11520、57600、38400、19200、9600、4800 19200
パラメーター 前提条件 説明 形式 例 備考
名前 ユーザーが定義する名前 必須。数字で始めることはできず、.,[]{}();= は使用不可 距離グループ 1
フレームモード データフレームの伝送モード HEX、ASCII HEX ASCII はあまり使用しません
データフレーム形式 フレームモードにより決定 正規表現:^(?:[0-9a-fA-F]{2} )*[0-9a-fA-F]{2}$ 空白で区切った 16 進文字列 0f 03 00 00 00 01 85 24
周期 (ms) 数値 1000
有効化 disabled を選択すると、データフレーム解析で表示・設定できません disabled、enabled enabled

注意:Serial は 1 回に最大 20 件のデータを読み取れます。

パラメーター 説明 形式 例 備考
名前 ユーザーが定義する名前 必須 H
解析 byte[3]byte[4]
有効化 disabled を選択すると、データフレーム解析で表示・設定できません disabled、enabled enabled

5. シリアル通信プロトコルの関連パラメーター

Section titled “5. シリアル通信プロトコルの関連パラメーター”

フレームモード:

  • HEX:16 進数。0~F の 16 種類の文字を表します。
  • ASCII:128 種類の文字を表現できる文字集合。

ASCII と Hex の主な違いは、表現する文字の範囲です。

以下は、Modbus RTU で保持レジスターを読み取る HEX 要求(機能コード 0x03)の例です。

デバイスアドレス [1 バイト] 機能コード [1 バイト] 開始アドレス [2 バイト] レジスター数 [2 バイト] CRC [2 バイト]
address 03 AddrH AddrL NumH NumL CRCL CRCH

CRC(巡回冗長検査)は CRC-16/MODBUS を使用します。多項式は X16+X15+X2+1 で、検査値は下位バイトから送信します。

例:01 03 00 10 00 01 85 CF

コマンド 01 03 00 10 00 01 85 CF
説明 デバイスアドレス 読み取りコマンド レジスター開始アドレス上位 レジスター開始アドレス下位 読み取り数の上位 読み取り数の下位 CRCL CRCH

以下は、Modbus ASCII で保持レジスターを読み取る要求(機能コード 0x03)の例です。元の各バイトは 2 文字の ASCII 16 進文字に符号化されます。下表には開始文字「:」と終了文字 CR/LF は含まれていません。

デバイスアドレス [2 文字] 機能コード [2 文字] 開始アドレス [4 文字] レジスター数 [4 文字] LRC [2 文字]
address 03 AddrH AddrL NumH NumL LRC の 2 桁の 16 進文字

LRC(縦方向冗長検査)は、アドレス、機能コード、データの元のバイトを加算し、8 ビットを超える桁上がりを切り捨ててから 2 の補数を取ることで、1 バイトの検査値を求めます。開始文字「:」と終了文字 CR/LF は計算に含めません。