حساب CRC16 لإطار RTU
- CRC (البايت المنخفض أولاً)
- C5 CD
- الإطار الكامل
- 01 03 00 00 00 0A C5 CD
- الدالة
- 3 · Read Holding Registers
تحويل قيمة إلى سجلات
ABCD4148 F5C3
CDABF5C3 4148
BADC4841 C3F5
DCBAC3F5 4841
فك سجلين إلى Float32 / Int32
| الترتيب | Float32 | Int32 | UInt32 |
|---|---|---|---|
| ABCD | 12.56000 | 1095300547 | 1095300547 |
| CDAB | -4.950302e+32 | -171753144 | 4123214152 |
| BADC | 198415.8 | 1212269557 | 1212269557 |
| DCBA | -490.5645 | -1007335359 | 3287631937 |
CRC16 لـ Modbus RTU: كثير الحدود 0xA001 والقيمة الابتدائية 0xFFFF، ويُرسل البايت المنخفض أولاً.
قيمة Float32 تُخزّن في سجلين، وكل جهاز يرتبها بطريقته: ABCD (Big-endian)، CDAB (تبديل الكلمات، شائع جداً)، BADC، DCBA. إذا ظهرت قيمة غريبة، جرّب الترتيبات الأربعة هنا.