11/06/2026
🚀 INT vs WORD & REAL vs DWORD
من أكتر الحاجات اللي بتلخبط مهندسين الـ PLC خصوصًا في الـ Communication والـ Data Mapping
كتير بنشوف متغيرين واخدين نفس حجم الذاكرة، لكن طريقة تفسير البيانات مختلفة تمامًا!
تعالوا نبسط الموضوع 👇
🔹 INT vs WORD
الاتنين حجمهم:
✅ 16 Bit = 2 Bytes
لكن الفرق في طريقة قراءة البيانات.
INT
رقم صحيح Signed
يعني يقدر يخزن قيم موجبة وسالبة.
المدى:
-32768 → +32767
أمثلة:
✔ Temperature Offset
✔ Speed Reference
✔ Position Error
WORD
مش رقم Signed
ده عبارة عن 16 Bits خام.
المدى:
0 → 65535
غالبًا بنستخدمه في:
✔ Status Words
✔ Alarm Words
✔ Bit Mapping
✔ Communication Registers
مثال:
WORD = 16 #0005
Binary:
0000 0000 0000 0101
هنا:
Bit0 = ON
Bit2 = ON
📌 نفس الـ 16 Bit ممكن تتفسر بطريقتين مختلفتين.
مثال:
16
لو WORD:
65535
لو INT:
-1
🔹 REAL vs DWORD
الاتنين حجمهم:
✅ 32 Bit = 4 Bytes
لكن الاستخدام مختلف تمامًا.
REAL
Floating Point Number
بيخزن أرقام عشرية.
أمثلة:
✔ Pressure = 6.75 bar
✔ Temperature = 25.4°C
✔ Flow = 123.56 m³/h
مثال:
25.75
DWORD
32 Bits خام.
المدى:
0 → 4,294,967,295
بيستخدم في:
✔ Bit Mapping
✔ Communication
✔ Raw Data
✔ Status Information
مثال:
DWORD = 16
لو DWORD:
4294967295
لكن لو نفس الـ Bits اتفسرت REAL:
هتدي قيمة مختلفة تمامًا وغير منطقية غالبًا.
🎯 نقطة مهمة جدًا
في الـ PLC Communication أحيانًا بتستقبل:
DWORD
لكن القيمة الحقيقية المفروض تكون:
REAL
ساعتها لازم تعمل:
✔ MOVE
✔ CAST
✔ Conversion
حسب نوع الـ PLC والبروتوكول.
📌 قاعدة سهلة للحفظ
✅ INT = Signed Integer (16 Bit)
✅ WORD = 16 Raw Bits
✅ REAL = Floating Point (32 Bit)
✅ DWORD = 32 Raw Bits
💡 مش كل Data Types اللي حجمها متساوي تعتبر نفس الحاجة.
نفس الـ Bits ممكن تديلك رقم مختلف تمامًا حسب طريقة تفسيرها داخل الـ PLC.
❓ حصل معاك قبل كده إنك قرأت قيمة غريبة واكتشفت في الآخر إن المشكلة كانت Data Type Mismatch؟