الطابق 03 · الورشة

عدة Modbus

حساب CRC16 لإطار RTU، وفك Float بكل ترتيبات البايتات.

الورشة

حساب 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

الترتيبFloat32Int32UInt32
ABCD12.5600010953005471095300547
CDAB-4.950302e+32-1717531444123214152
BADC198415.812122695571212269557
DCBA-490.5645-10073353593287631937

CRC16 لـ Modbus RTU: كثير الحدود 0xA001 والقيمة الابتدائية 0xFFFF، ويُرسل البايت المنخفض أولاً.

قيمة Float32 تُخزّن في سجلين، وكل جهاز يرتبها بطريقته: ABCD (Big-endian)، CDAB (تبديل الكلمات، شائع جداً)، BADC، DCBA. إذا ظهرت قيمة غريبة، جرّب الترتيبات الأربعة هنا.