لوحة الخصائص
نظرة عامة
لوحة الخصائص هي العرض التفصيلي على الجانب الأيمن من النافذة الرئيسية للمحرر. تُظهر كل حقل من العنصر المحدد حالياً في شجرة المشروع وتجعل تلك الحقول قابلة للتحرير داخلياً — دون الحاجة إلى فتح نافذة مشروطة لكل تحرير.
Project tree Properties panel
+-- Bus +-- Name: OG-Modbus
| +-- segment_modbus <-- click | Protocol: [modbustcp ▼]
| +-- device_motor | Interface: eth0
| +-- slot_0 | Bind Addr: 192.168.1.10/24
+-- Programs | Poll: 100 ms
| +-- PLC_PRG | Enabled: [x]
| Port: 502
| Timeout: 2000 ms
نقرة واحدة على عقدة شجرة تُصيّر فوراً قائمة الحقول المطابقة — نقرة مزدوجة تفتح إضافة إلى ذلك حوار التكوين المشروط (تكوين الناقل) بنفس مجموعة الحقول بالضبط.
اللوحة ملفوفة في QScrollArea وتتمرر عمودياً: الأجهزة ذات
امتدادات FDD مع جدول الحالة تصل بسهولة إلى 40+ حقلاً، ويجب أن
تبقى جميعها قابلة للوصول حتى عندما تكون اللوحة ضيقة.
شريحة ناقل
عند تحديد شريحة ناقل، تُظهر اللوحة:
| الحقل | المعنى |
|---|---|
| الاسم | الاسم المعروض في شجرة المشروع. |
| البروتوكول | modbustcp، modbusrtu، ethercat، profibus، ethernetip. |
| الواجهة | واجهة الشبكة التي يربط بها الجسر (eth0، eth1، …). |
| عنوان الربط | تدوين CIDR، مثل 192.168.1.10/24. مُتحقق منه. |
| البوابة | البوابة الافتراضية لعملية الجسر. |
| فترة الاستقصاء | الفترة بـ ms التي يستقصي بها الجسر أجهزته. |
| مفعّل | ما إذا كانت العملية الفرعية للجسر نشطة. |
الشبكة المتقدمة (كل اختياري)
يعكس نفس المجموعة في FSegmentDialog ويتجاوز افتراضيات نظام التشغيل / الجسر:
- Subnet CIDR (
192.168.24.0/24) - نطاق منفذ المصدر (
30000-39999) - Keep-Alive Idle / Interval / Count (نبضة TCP)
- الحد الأقصى للاتصالات (
0= غير محدود) - VLAN ID (
0= بدون علامة)
خاصة بالبروتوكول
| البروتوكول | الحقول |
|---|---|
modbustcp | Port (الافتراضي 502)، Timeout بـ ms (الافتراضي 2000). |
modbusrtu | Serial Port (مثل /dev/ttyUSB0)، Baud Rate، Parity (none/even/odd). |
profibus | Serial Port، Baud Rate (حتى 12 Mbit/s)، Master Address (0..126). |
التسجيل
- مستوى السجل —
off/error/warn/info/debug. - ملف السجل — مثل
/var/log/forgeiec/segment.log. فارغ = stdout.
جهاز ناقل
| الحقل | المعنى |
|---|---|
| اسم المضيف | DNS أو الاسم المعروض. |
| عنوان IP | IPv4 للجهاز. |
| المنفذ | منفذ Modbus على العبد (الافتراضي 502). |
| معرّف العبد | معرّف وحدة Modbus (0..247). |
| مجموعة Anvil | اسم مجموعة Anvil IPC — وأيضاً اسم AnvilVarList المولّد تلقائياً. إعادة تسميته يعيد تسمية علامة GVL، AnvilVarList وكل متغير مجمّع بـ anvilGroup = oldGroup بشكل متزامن. |
تجاوزات متقدمة (كل اختياري، فارغ = الوراثة من الشريحة)
- عنوان MAC —
AA:BB:CC:DD:EE:FF. مُتحقق منه. - Endianness —
ABCD/DCBA/BADC/CDAB. - المهلة بـ
ms.0= الوراثة من الشريحة. - عدد إعادة المحاولات.
0= الوراثة من الشريحة. - وضع الاتصال —
always connectedأوon demand. - البوابة (تجاوز) — فقط عندما يعيش الجهاز في شبكة فرعية مختلفة.
- الوصف — نص حر (مثل
South irrigation valve).
متغيرات الحالة (للقراءة فقط)
كل جهاز يكشف تلقائياً نموذج الخطأ المشترك — سبعة حقول ضمنية تُنشر كموضوع حالة للقراءة فقط عبر Anvil:
| الاسم | نوع IEC | المعنى |
|---|---|---|
xOnline | BOOL | TRUE عندما eState = Online أو Degraded. |
eState | eDeviceState | حالة الخطأ الحالية. |
wErrorCount | UDINT | إجمالي الأخطاء منذ بدء الجسر. |
wConsecutiveFailures | UDINT | الإخفاقات منذ آخر Online (تُعاد عند Online). |
wLastErrorCode | UINT | 0 = لا شيء؛ 1..99 شائعة؛ 100+ خاصة بالبروتوكول. |
sLastErrorMsg | STRING[48] | UTF-8، مبطّن بأصفار. |
tLastTransition | ULINT | وقت Unix (ms) لآخر انتقال حالة. |
عندما يكون الجهاز مرتبطاً بـ FDD (وصف جهاز ميداني) عبر
catalogRef، يسرد جدول الحالة إضافة إلى ذلك امتدادات FDD المعرفة،
مُعلَّمة بـ FDD +<offset> في عمود Source.
في كود ST كل متغير حالة قابل للوصول كـ
anvil.<seg>.<dev>.Status.*:
IF NOT anvil.OG_Modbus.K1_Mains.Status.xOnline THEN
Lampe_Stoerung := TRUE;
END_IF;
وحدة ناقل
وحدات الناقل هي شرائح I/O داخل جهاز. تُظهر اللوحة:
البيانات الوصفية
- الوحدة (الاسم المعروض أو
catalogRef) - الفتحة (فهرس الفتحة داخل الجهاز)
- الكتالوج (مرجع FDD، مثل
Beckhoff.EL2008) - العنوان الأساسي (إزاحة قاعدة IEC)
جدول متغيرات IO
يسرد كل متغير مجمّع busBinding.deviceId و
busBinding.moduleSlot فيه يطابقان هذه الوحدة. الأعمدة:
| العمود | المحتوى |
|---|---|
| الاسم | اسم المجمّع (قابل للتحرير، مثل Motor_Run). |
| النوع | نوع IEC (قابل للتحرير، مثل BOOL، INT). |
| العنوان | عنوان IEC (%IX0.0، للقراءة فقط). |
| عنوان الناقل | إزاحة سجل Modbus (للقراءة فقط). |
| الاتجاه | in أو out (للقراءة فقط). |
ترتيب الفرز: المدخلات قبل المخرجات، ثم تصاعدياً بعنوان الناقل.
سلوك التحرير
كل تحرير في اللوحة يعمل مباشرة مقابل النموذج:
- تحرير على الواجهة (
editingFinished/valueChanged/toggled). - يُحدَّث حقل النموذج (
seg->name = ...). project->markDirty()يرفع علم القذر.- تُطلق إشارة
busConfigEdited. - تنعش النافذة الرئيسية تسمية شجرة المشروع عند الحاجة.
لا يوجد Apply صريح ولا Cancel — التحريرات سارية فوراً.
Ctrl+Z (تراجع) على شجرة المشروع يعكس آخر تحرير.
مواضيع ذات صلة
- تكوين الناقل — حوارات مشروطة بنفس مجموعة الحقول، للمستخدمين المحترفين بحجم تحرير عالٍ.
- لوحة المتغيرات — المجمّع الذي يغذي
جدول
IO variables.