• 締切済み

チェックサムについて

現在、古い機械の通信データの解析を行っています。 その通信データには末尾にチェックサムのようなコードが付与されていて それがどういうロジックで計算されているものなのかが判らず困っております。 通信で取得したデータを以下に添付しておりますので、 演算法則を解明していただけないでしょうか。 データ    チェックサム 080  → 80 180  → 03 280  → 53 380  → D0 480  → F3 580  → 70 680  → 20 780  → A3 880  → 66 980  → E5 A80  → 4C B80  → 1C C80  → 9F D80  → BC E80  → 3F F80  → 6F 以上、よろしくお願いいたします。

みんなの回答

  • nak777r
  • ベストアンサー率36% (49/136)
回答No.2

データだけで流れてくるのですか? ヘッダとかありますか? あと、この掲示板は余分なスペース等がカットされるので 全ての受信バッファの内容を正確に提示してもらわないと 計算方法は判らないと思いますよ 普通は、先頭からの XOR だったり 加算して 0xFF でAND したり 或いは、バーコード等で使われるモジュラス11のようなものも あったりします いずれにしても全ての流れを見ないことにはわかりません。

neko_tankentai
質問者

補足

回答ありがとうございます。 ご連絡が遅くなり申し訳ございません。 08080といったようにデータとチェックサムが合わされて送られてきます。 XORやAND演算等を試してはおりますが、データの値が1変更されただけで チェックサムの値が大きく変わっているので、単純な演算での計算ではないと 考えております。 流れとしては、 1.A→Bへ制御コマンド 2.B→Aへ応答コマンド 3.B→Aへ制御処理完了コマンド 4.A→Bへ応答コマンド を繰り返しています 以上、よろしくお願いいたします。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

えぇと.... 「データ」のところに書いてある 3文字とか「チェックサム」に書かれている 2文字は何を意味するのですか? そして, 「データ」はここにある 16種類以外はないということでいいですか?

neko_tankentai
質問者

補足

質問の閲覧、ありがとうございます。 ご質問への回答をいたします。 「データ」のところに書いてある 3文字とか「チェックサム」に書かれている 2文字は何を意味するのですか? →「データ」080の「チェックサム」が80であり、通信データとして08080が  送受信されております。 「データ」はここにある 16種類以外はないということでいいですか? →16種類以外にも複数通信データはございます。 データ         チェックサム 304MZ,C  →    01 404MZ,M  →    EF                   等々 以上、よろしくお願いいたします。

関連するQ&A