ECOMシリアルアシスタント-シリアル送受信、Modbus CRC16検証、エンジニアデバッグツール

Paid ¥1.99Paid ¥1.99

该内容已接入现有会员/付费系统,解锁后可查看完整资料或下载附件。

查看解锁方式
ECOMシリアルアシスタント-シリアル送受信、Modbus CRC16検証、エンジニアデバッグツール

ソフトウェアの説明

ECOM Serial Assistantは、CRC計算を備えたシリアルポートRS232デバッグソフトウェアです。開発はI Love IC Navigation Network Studios。ECOMシリアルアシスタントは、一般的に使用される110 〜 921600bpsボーレートをサポートし、検証、データビット、ストップビットを設定することができ、ASCIIコードまたは16進数で任意のデータや文字(中国語を含む)を受信または送信することができ、任意のサイズのテキストファイルを送信することができ、自動送信サイクルを設定することができ、受信データをテキストファイルに保存することができます。Modbus CRC16チェック、CRC16チェック、累積およびチェック、異種またはチェック、Modbus LRC計算ツールは、シングルチップシリアルポートをデバッグするエンジニアのための優れたヘルパーツールです。

ソフトウェアインタフェース

ECOMシリアルアシスタント-シリアル送受信、Modbus CRC16検証、エンジニアデバッグツールFigure

ソフトウェアの特徴

Windows 9x / 2000 / XP / 2003 / Vista /Win 7システムをサポートします。

グリーンソフトウェア、インストール不要。解凍ソフトウェアを実行して、圧縮パッケージを指定したディレクトリに解凍します。アンインストール時にプログラムディレクトリを削除するだけです。

一般的な110 ~ 921,600 bpsボーレートをサポートします。

4、ポート范囲はCOM1-COM255で、拡张ポートUSBから232をサポートする;

検証、データビット、ストップビットを設定できます。

6、文字または16進数でデータを送受信でき、中国語文字の送受信をサポートします。

文書データの送信をサポートする。

データ送信エリアでは、送信周期を設定し、自動的にデータを送信できます。

9、キーボード入力をサポートし、キーボードデータをシリアルポートに送信します。

10、受信ウィンドウデータの定時保存をサポートし、長時間のデバッグ記録情報を閲覧しやすい;

11、Communicationエラーを有効に検出して、ソフトウェアのパニックを避ける(例えばUSBからシリアルポート機器を引き抜き検出する);

12、データ受信ウィンドウとファイル送信はマルチスレッド設計を採用している。

13、ファイルとデータフレームModebus CRC 16チェック、CRC16チェック、累積和チェック、排他的ORチェック、Modebus LRC計算ツール。送信データフレームには計算結果が追加され、検証結果がデータフレームとともにパッケージ化されて送信されます。

1.3.1 V2.00バージョン追加機能

Xmodem機能の追加(128バイト送信、CRCチェックのみサポート)。

Xmodem-1 k機能の追加(1024バイト送信、CRCチェックのみサポート)。

3、コマンド起動Xmodem-1 k機能(自動ファイル転送機能を行うことができます)をサポートします。

1.3.2 V2.20バージョン追加機能

カスタムデータフレームヘッダ、データフレームテール機能を追加します。

2、データフレームModebus CRC16チェック、CRC16チェック、累積和チェック、排他的ORチェック、Modebus LRCなどのチェック協議を追加します。

3.パケットミラーポストバック機能を追加。

受信ダイアログのフォント変更ボタンを追加します。

エスケープシンボルの選択を追加します。

コマンド列ファイル送信のサポート(コマンド列ファイルテンプレートの使用説明を参照)。

追加ウィンドウは常に先頭ボタンに浮かび、コマンド列を追加して表示ボタンを隠します。

1.3.3 V2.40バージョン追加機能

110、300、600ボーレートを増加させる。

受信フォームフォント設定ボタン機能を修正し、受信フォームの背景色設定ボタンを追加します。

1.3.4 V2.60バージョン追加機能

1、“検証結果”ボタンを追加して、Modebus CRC 16チェック、CRC16チェック、累積和チェック、排他的ORチェック、Modebus LRC計算結果表示を実現します。

2、

1.3.5 V2.80バージョン追加機能

1.検証アルゴリズムのデータ型を修正する。

Linuxコマンドを簡単にデバッグできるTTYエミュレーション端末デバッグプロトコルを追加しました。

受信ウィンドウは送信文字列コマンドを貼り付けられます。

1 Kxmodem、1Kxmodem自動受信ファイル機能を追加

5、端末制御コマンドを増加し、コマンドを受信することによってデバッグシリアルポートの受信ウィンドウを制御することができる。

ソフトウェアの使用方法

ECOMシリアルアシスタント-シリアル送受信、Modbus CRC16検証、エンジニアデバッグツールFigure1

図2コマンドXmodem-1kの起動

ECOMシリアルアシスタント-シリアル送受信、Modbus CRC16検証、エンジニアデバッグツールFigure2

図3命令列ファイル送信

通常の使用。

従来の使用は比較的簡単で、具体的には図1に示されていますが、ここでは詳しく説明しません。

キーボードデータ送信

受信ボックスにマウスカーソルを置き、キーボードキー値を入力すると、ECOMシリアルアシスタントが自動的にシリアルポートにキー値を送信します。

1.4.3 Xmodem と、 Xmodem-1k

XmodemとXmodem-1 kCommunicationプロトコルの詳細はXmodem仕様に記載されているが、ここでは詳しくは述べていない。

コマンド開始 Xmodem-1k

コマンド起動Xmodem-1k方法:通常のシリアルポート設定を選択した後、ファイル転送は“AutoSend”オプションを選択し、ECOMシリアルポートヘルパーソフトウェアが“auto+フォルダ/ファイル名+/auto”コマンドを受信すると、ソフトウェアは自動的にXmodem-1k転送プロトコルを起動し、そして“auto+フォルダ/ファイル名+/auto”内に指定されたファイルをXmodem-1k転送する。コマンド内のフォルダとファイルは、ECOMシリアルアシスタントソフトウェアのディレクトリに配置されます。

コマンド·ストリング·ファイル送信

ECOMシリアルアシスタントV 2.20バージョンは、この機能をサポートし、ユーザーがコマンド列ファイルをカスタマイズできるようにし、送信を選択すると、ECOMシリアルアシスタントはユーザーのコマンドをParseし、各ステップを送信します。コマンド列ファイル送信は、コマンド列ファイル内の特定のラベルコマンド送信をサポートし、送信もサポートしている場合、指定されたコマンド番号にジャンプして送信を開始し、コマンド列ファイルテンプレートは次のとおりです。

[52ic.net]
;コマンドを送信する最初の数。
start_52 ic =0
コマンドバーの総数、間違って書かないでください、さもなければエラーになります、最大100。
total_52 ic =4
何回サイクルした後?最大100円。
cycle_52 ic =5
テストの方法です
check_52 ic =4

[送信する]
;送信ダイアログHEX形式で送信するかどうか
HEX 0 =0
パケットの末尾を確認する
チェック0 =1
;エスケープを使用するかどうか
TAILED 0 =0
データヘッダーを選択する
HEAD 0 =0
;データヘッダ
DATAHEAD0=データヘッダ--
データの選択
TAIL 0 =0
;データの末尾
DATATAIL0=--データの末尾
;ダイアログコマンドバーを送信する
DATA0= I LOVE ICナビゲーションへようこそ
データ送信後、次のコマンドが実行されるまでの時間
DELAY 0 =1000

;送信ダイアログHEX形式で送信するかどうか
HEX 1 =0
パケットの末尾を確認する
CHECK 1 =0
;エスケープを使用するかどうか
Tayled 1 =0
データヘッダーを選択する
HEAD 1 =1
;データヘッダ
DATAHEAD1=データヘッダ--
データの選択
TAIL 1 =1
;データの末尾
DATATAIL1=--データの末尾
;ダイアログコマンドバーを送信する
DATA1= I LOVE ICナビゲーションへようこそ
データ送信後、次のコマンドが実行されるまでの時間
デレイ1 =1000

HEX 2 =1
チェック2 =1
TAILED 2 =0
HEAD 2 =1
AHEAD 2 =AA
TAIL 2 =1
ATAIL2 =BB BB BB BB BB
DATA 2 = 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 A 0 B 0 C 0 D 0 E 0 F 10 12 13 14 15 16 17 18 19
DELAY 2 =1000

Hex 3 =1
チェックポイント3 =1
Tailed 3 =0
HEAD 3 =1
AHEAD 3 =
Til 3 =1
DATATATAIL 3 = BB
DATA 3 = 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 A 0 B 0 C 0 D 0 E 0 F 10 12 13 14 15 16 17 18 19
デレイ3 =1000

[終わり]

表1コマンド列ファイルキーワードの説明

コマンドコマンドコマンドコマンドの説明備考:コメント
[52ic.net]パラメータ設定領域 
start_52ic送信コマンド·バーの開始バー数コマンドバーの合計数未満であること
total_52icコマンドの総数、間違って書かないでください。最大100本
cycle_52icコマンド列を送信する回数、送信完了后终了最大100サイクル
check_52ic検証方式の選択、0以上、ソフトウェアがサポートする検証プロトコルの数未満 
[Sending]コマンドデータ送信エリア 
HEX送信ダイアログHEX形式の送信を選択するかどうか、0は選択しない 
CHECKデータはチェックされ、0は選択しない。 
TAILEDコマンド列の最後にエスケープ文字を追加し、0は選択しない。 
HEADコマンド列にはヘッダがあり、0は選択しない。 
DATAHEADデータヘッダデータ 
TAIL命令列にはデータ末尾が付き、0は選択しない 
DATATAILデータの末尾 
DATAコマンド列データ 
DELAYデータ送信後、次のコマンドが実行されるまでの時間 

データフレームフォーマット

Ecomシリアルソフトウェアは、カスタムデータフレームヘッダ、データフレームテール機能をサポートします。Modebus CRC 16チェック、CRC16チェック、累積和チェック、異種ORチェック、Modebus LRCなど、さまざまなパケット検証プロトコルをサポートしています。データフレームは、データ入力ボックス内のデータのみを検証し、フレームヘッダとフレーム末尾のデータを計算せず、送信するたびに、ソフトウェアは、データ検証のためのユーザーの選択に応じて異なる検証アルゴリズムに応じて、計算結果と元のデータを完全なデータフレームにまとめます。フレーム形式は下表の通りです。

表 2 V 2.20以上のソフトウェアバージョンのデータフレームフォーマットの説明

最初に送る。次に送信する。順次送信します。その後送信。最後に送信。
データフレームヘッダデータはデータフレーム検証データフレームの末尾エスケープ文字
データフレームヘッダーを有効にするボタン送信するデータのデータ検证方式の选択データフレームの末尾を有効にするボタンエスケープの有効化ボタン

ターミナル制御コマンド

ECOMシリアルアシスタントは、コマンドを受信してシリアルアシスタントの受信ウィンドウを制御し、シリアルポート転送データを維持できます。

<ecomclear>ウィンドウ·データの消去
<ecomset>dipset=1</ecomset>ウィンドウの表示フォーマットをHEXに設定する
<ecomset>dipset=0</ecomset>ウィンドウ表示を文字にフォーマットする
<ecomsave></ecomsave>自動保存ウィンドウデータ、保存ファイルはシステム時間で名前を付ける
<ecomsave>+name+</ecomsave>ウィンドウデータの保存、ファイル名ユーザー指定(例)
<ecomsave>data.txt</ecomsave> 
<ecomsave>updata\\data.txt</ecomsave> 
<ecomdel>+name+</ecomdel>ユーザー指定ファイルの削除
<ecomdir>NewDir</ecomdir>ソフトウェアが動作するディレクトリの下に作成されたディレクトリ,

コマンド実行エラーは0 x 15を返し、コマンド実行成功は0 x 0 6を返します。ボーレートが低いほどエラーが発生する可能性が高くなります。これは主にフレームのデータ受信タイムアウトによるものです。

ドキュメントとデータの検証

1.&& nbsp;ファイル検証

計算ファイルModebus CRC 16チェック、CRC16チェック、累積和チェック、異種またはチェック、Modebus LRC計算ツールを備えたEcomシリアルポートソフトウェアは、計算方法は、“伝送プロトコル”ファイルダイアログボックスで計算されるファイルを開き、“データ検証フォーマット”を選択し、“検証結果”ボタンをクリックし、ダイアログボックスに計算結果が表示され、結果を保存する必要がある場合は、“保存ウィンドウ”ボタンをクリックしてください。

ECOMシリアルアシスタント-シリアル送受信、Modbus CRC16検証、エンジニアデバッグツールFigure3

図4ファイルのチェック値の計算

1.&& nbsp;データ検証

Ecomシリアルソフトウェアは、データフレームModebus CRC 16チェック、CRC16チェック、累積和チェック、排他的ORチェック、Modebus LRC計算をサポートし、計算結果をデータフレームとともにシリアルデバイスに送信することができます。計算方法は、まず“転送プロトコル”を開き、“データ検証フォーマット”を選択し、“検証結果”ボタンをクリックすると、ダイアログボックスに検証結果が表示され、結果を保存する必要がある場合は、“保存ウィンドウ”ボタンをクリックするとよい。計算結果をシリアルデバイスに送信する必要がある場合は、“データ検証”選択ボタンを選択し、データを送信することを選択します。

ECOMシリアルアシスタント-シリアル送受信、Modbus CRC16検証、エンジニアデバッグツールFigure4

図5計算データの検証値

相関検証アルゴリズム

Ecomシリアルソフトウェアは、Modebus CRC 16チェック、CRC16チェック、累積和チェック、排他的ORチェック、Modebus LRCおよびその他のプロトコルをサポートしており、特定のアルゴリズムは以下の手順のリストを参照してください。関連するアルゴリズムは、関連する情報を自分で見つけて理解してください、次の手順に問題がある場合は、お問い合わせください、私たちは時間内にアルゴリズムを修正します。

1.&& ModebusCRC16チェックアルゴリズム

//** ********************************************************************************************************
//関数名GetModbusCRC16
//関数機能ModbusCRC16チェック
//ポータルパラメータ    テストする文字。
//            lengの長さ
//値を戻すModbusCRC16
//準備する    注:NDMP
//** ********************************************************************************************************
//修正人我爱 IC网http//www.52ic.net/
//** ********************************************************************************************************
uned GetModbusCRC16 uned * uned int leng {
    unsigned int j i crc = 0xFFFF;

    if leng = 0 {
        リターン0;
    }
    for j = 0; j leng; j++{
        crc = crc ^uned int [j];
        for i = 0; i8; i++{
            if crc1!= 0) {
                crc = crc1 ^ 0xA001;
            (エルゼ)
                CRC = CRC 1。
            }
        }
    }
    return uned crc;
}

2.と。CRC16検査の結果

//** ********************************************************************************************************
//関数名GetCRC16
//関数機能巡回冗長検査CRC16チェック
//ポータルパラメータ    テストする文字。
//           lengの長さ
//値を返すCRC16
//準備する    注CRC   = X ^16 + X ^12 + X ^5 + 1
//** ********************************************************************************************************
//修正人我爱 IC网http//www.52ic.net/
//** ********************************************************************************************************
uned GetCRC16 uned * uned int leng {
    unsigned short crc = 0
    unsigned int i j;
    
    if leng = 0 {
        リターン0;
    }
    
    for j = 0; j leng; j++{
        crc ^= int *cp++8;
        for i = 0; i8; ++i {
            if crc 0x8000 {
                crc = crc1 ^ 0x1021;
            (エルゼ)
                CRC = 1;
            }
        }
    }
    return crc 0 x FFFF;
}

3.     累積和検証アルゴリズム

//** ********************************************************************************************************
//関数名GetCheckSum [かんすうめいGetCheckSum]
//関数機能16ビット·チェックサム16ビット·チェックサム
//ポータルパラメータ    テストする文字。
//           lengの長さ
//値を返すチェックサム結果
//準備する    注:NDMP
//** ********************************************************************************************************
//修正人我爱 IC网http//www.52ic.net/
//** ********************************************************************************************************
unsigned short GetCheckSum unsigned char *cp unsigned int leng {
    unsigned short crc = 0
    符号なしint i;
    
    if leng = 0 {
        リターン0;
    }
    
    for i = 0; i leng; i++{
        cp += cp[I];
    }
    return crc 0 x FFFF;
}

4.と。異なるOR検証アルゴリズム

//** ********************************************************************************************************
//関数名かんすうめいGetBccCheck GetBcCheck
//関数機能BCC排他ORチェック法
//ポータルパラメータ    テストする文字。
//           lengの長さ
//値を返す結果を検証する
//準備する    注:NDMP
//** ********************************************************************************************************
//修正人我爱 IC网http//www.52ic.net/
//** ********************************************************************************************************
uned GetBCheck uned * uned int leng {
    符号なしchar bcc = 0;
    符号なしint i;
    
    if leng = 0 {
        リターン0;
    }
    
    for i = 0; i leng; i++{
        bcc ^= cp[i];
    }
    return bcc; //bccはすでに符号なしchar型なので0 x FFFFは必要ありません
}

1.     LRC検証法

//** ********************************************************************************************************
//関数名かんすうめいGetLRC
//関数機能-LRC値を計算します。
//エントリパラメータuint8ptr、入力データは8ビットポインタであり、LRCの生成に使用するバイナリデータのメッセージバッファポインタを含む
//           usDataLenメッセージバッファのバイト数。
//バック値縦冗長チェックコード
//準備する    注:NDMP
//** ********************************************************************************************************
//修正人我爱 IC网http//www.52ic.net/
//** ********************************************************************************************************

uned GetLRC uned * uint8ptr uned int usDataLen {
    unsigned char uchLRC = 0; // LRCバイトの初期化
    while usDataLen--{ //メッセージバッファをトラバースする
        uchLRC += *uint8ptr++; //バッファバイト加算、キャリーなし
    }
    return unsigned char-uchLRC; //2の補数を返す
}

Put this resource to use in a real project?

Go to the Tool Center for message parsing, CRC verification and device debugging, or submit your requirements for selection and integration advice.

Engineer Membership

Turn this article into actionable debugging resources

After activation, you can use advanced message parsing, resource pack downloads, code examples, engineering cases and priority technical support, suitable for real project delivery.

Unlimited Advanced Tools
Resource & Code Packs
Complete Engineering Case Library
Priority Technical Support

《 “ECOMシリアルアシスタント-シリアル送受信、Modbus CRC16検証、エンジニアデバッグツール” 》 有 6 条评论

Leave a Reply

Your email address will not be published. Required fields are marked *.