تكوين الباص

مساحة الاسم

https://forgeiec.io/v2/bus-config

يصف هذا المخطط امتداد ForgeIEC لتنسيق PLCopen XML لتخزين تكوين الباص الميداني داخل ملفات مشروع .forge. يستخدم آلية <addData> المتوافقة مع معيار PLCopen TC6.

نظرة عامة

يحدد تكوين الباص الطوبولوجيا الفيزيائية للمنشأة: تحتوي المقاطع (شبكات الباص الميداني) على أجهزة، وكل جهاز مرتبط بمتغيرات المدخلات/المخرجات في المشروع عبر ربط الباص.

مشروع .forge
  +-- المقاطع (شبكات الباص الميداني)
  |     +-- الأجهزة
  |           +-- المتغيرات (عبر ربط الباص في مجمع العناوين)
  +-- مجمع العناوين (FAddressPool)
        +-- متغير: DI_1, %IX0.0, busBinding -> Maibeere
        +-- متغير: DO_1, %QX0.0, busBinding -> Maibeere

هيكل XML

يتم تخزين تكوين الباص كـ <addData> على مستوى المشروع:

<project>
  <!-- محتوى PLCopen القياسي -->
  <types>...</types>
  <instances>...</instances>

  <!-- تكوين باص ForgeIEC -->
  <addData>
    <data name="https://forgeiec.io/v2/bus-config"
          handleUnknown="discard">
      <fi:busConfig xmlns:fi="https://forgeiec.io/v2">

        <fi:segment id="a3f7c2e1-..."
                    protocol="modbustcp"
                    name="باص ميداني صالة 1"
                    enabled="true"
                    interface="eth0"
                    bindAddress="192.168.24.100/24"
                    gateway=""
                    pollIntervalMs="0">

          <fi:device hostname="Maibeere"
                     ipAddress="192.168.24.25"
                     port="502"
                     slaveId="1"
                     anvilGroup="Maibeere"/>

          <fi:device hostname="Stachelbeere"
                     ipAddress="192.168.24.26"
                     port="502"
                     slaveId="1"
                     anvilGroup="Stachelbeere"/>

        </fi:segment>

      </fi:busConfig>
    </data>
  </addData>
</project>

العناصر

fi:busConfig

العنصر الجذر. يحتوي على عنصر fi:segment واحد أو أكثر.

الخاصيةمطلوبالوصف
xmlns:fiنعممساحة الاسم: https://forgeiec.io/v2

fi:segment

مقطع باص ميداني (شبكة فيزيائية).

الخاصيةمطلوبالنوعالوصف
idنعمUUIDمعرف المقطع الفريد
protocolنعمStringالبروتوكول: modbustcp، modbusrtu، ethercat، profibus
nameنعمStringاسم العرض (حر)
enabledلاBoolالمقطع نشط (true) أو معطل (false). الافتراضي: true
interfaceلاStringواجهة الشبكة (مثل eth0، /dev/ttyUSB0)
bindAddressلاStringIP/CIDR للواجهة (مثل 192.168.24.100/24)
gatewayلاStringعنوان البوابة (فارغ = بدون بوابة)
pollIntervalMsلاIntفترة الاستقصاء بالميلي ثانية (0 = بأسرع ما يمكن)

fi:device

جهاز داخل مقطع.

الخاصيةمطلوبالنوعالوصف
hostnameنعمStringاسم الجهاز (يستخدم كمعرف)
ipAddressلاStringعنوان IP (Modbus TCP)
portلاIntمنفذ TCP (الافتراضي: 502)
slaveIdلاIntمعرف العبد Modbus
anvilGroupلاStringمجموعة Anvil IPC للنقل بدون نسخ

ربط المتغير بالجهاز

لا يتم إدراج متغيرات المدخلات/المخرجات داخل عنصر fi:device. بدلاً من ذلك، يحمل كل متغير في مجمع العناوين خاصية busBinding تشير إلى hostname الجهاز:

FLocatedVariable
  name: "DI_1"
  address: "%IX0.0"
  anvilGroup: "Maibeere"
  busBinding:
    deviceId: "Maibeere"
    modbusAddress: 0
    count: 1

تعيين عناوين IEC

يتم اشتقاق عنوان IEC للمتغير المرتبط من الطوبولوجيا الفيزيائية:

قاعدة المقطع + إزاحة الجهاز + موضع السجل
نطاق العناوينالمعنىالمصدر
%IX / %IW / %IDمدخل فيزيائيربط الباص
%QX / %QW / %QDمخرج فيزيائيربط الباص
%MX / %MW / %MDعلامة (بدون مدخلات/مخرجات فيزيائية)مخصص المجمع

البروتوكولات المدعومة

البروتوكولقيمة protocolالوسطعفريت الجسر
Modbus TCPmodbustcpإيثرنتtongs-modbustcp
Modbus RTUmodbusrtuRS-485 (تسلسلي)tongs-modbusrtu
EtherCATethercatإيثرنت (الوقت الحقيقي)tongs-ethercat
Profibus DPprofibusتسلسلي (باص ميداني)tongs-profibus

التوافق

تضمن خاصية handleUnknown="discard" أن أدوات PLCopen التي لا تعرف ForgeIEC يمكنها تجاهل تكوين الباص بأمان دون توليد أخطاء. وبالعكس، يقرأ ForgeIEC كتل <addData> غير المعروفة من موردين آخرين ويحافظ عليها عند الحفظ.


تكوين باص ForgeIEC — يعمل بدون اتصال، متوافق مع PLCopen، بدون تكرار.

blacksmith@forgeiec.io