一、S19格式是啥
? ? ? ? 在電控文件管理的初期階段,我首次接觸到的是 A2L 和 HEX 文件。其中,A2L 文件主要承擔著描述性功能,它詳細地描述了各種參數和配置等相關信息。而 HEX 文件則是一種刷寫文件,其內部明確記錄了具體的地址以及對應的值,用于設備的刷寫操作。
????????隨著工作的深入,我又遇到了 S19 文件。S19 文件是遵循 S - RECORD 標準的一種文件格式。在內容方面,它與 HEX 文件大體相似,同樣存儲了設備刷寫所需的關鍵信息,即地址和相應的值。這些文件在電控系統中都扮演著重要的角色,分別從不同角度為電控文件的管理、使用和設備的正常運行提供了必要的支持。
三、S19示例解析
? ? ? ? 下面我將拆解一個S19文件從而了解它到底存了什么,如何進行存儲的。S19格式不像HEX文件是以“:”開頭,S19格式每行是以“S”開頭。如下所示:
S00600004844521B
S32580023F20FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19
S32580023F40FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9
S32580023F60FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9
S32580023F80FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9
S32580023FA0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99
S32580023FC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79
S32580023FE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59
S5031200EA
S70500000000FA
那么我們就針對其格式進行一下介紹:
(當前行)起始字符(1Byte)+記錄類型(1Byte)+長度(2Byte,長度表示的是地址+數據+校驗和)+地址(取決于記錄類型)+數據(0~64Byte取決于長度)+校驗和(2byte)??
上述數據:S00600004844521B
上述數據:S32580023FE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFF59
上述數據:S5031200EA
上述數據:S70500000000FA
以上就是Demo拆解,那么我們進一步說一下S19都有哪些記錄類型分別對應
該行類型 | 該行記錄意義 | 地址長度(位) | 是否有數據字段 |
---|---|---|---|
S0 | 開始行,也是標題行 | 16 | 有 |
S1 | 數據行 | 16 | 有 |
S2 | 數據行 | 24 | 有 |
S3 | 數據行 | 32 | 有 |
S4 | 保留行 | 不適用 | 否 |
S5 | 計數行 | 16 | 否 |
S6 | 計數行 | 24 | 否 |
S7 | 終止行 | 32 | 否 |
S8 | 終止行 | 24 | 否 |
S9 | 終止行 | 16 | 否 |