FCR
سيساعدك هذا الدليل على تكوين FCR على SmartgridOne Controller للتحكم في تركيبات البطاريات ومراقبتها عن بُعد.
قبل المتابعة، تأكد من أن شبكتك وأجهزتك جاهزة من خلال اتباع دليل إعداد MQTT.
نظرة عامة
تنبيه
ملاحظة: يتجاوز FCR الوظائف الأصلية لوحدة التحكم.
الأجهزة المدعومة
| Device Type | Variants | Supported |
|---|---|---|
| Solar Inverters | All | ❌ |
| Storage Devices | ✅ | |
| EV Chargers | ❌ |
البلدان المدعومة
| Country | Supported |
|---|---|
| Belgium | ❌ |
| Netherlands | |
| Switzerland | ✅ |
المتطلبات الأساسية
ملاحظة
يمكن إعداد تركيبات محددة فقط عبر FCR. يُرجى التحقق من اعتماد التركيبة.
1. إضافة الأجهزة
وتأكد من إلى SmartgridOne Controller.
2. التحقق من حدود طاقة الشبكة
في الإعدادات، يجب تعيين حدود طاقة الشبكة بشكل صحيح. انقر على الإعدادات وتحقق من الإعداد المميز في الصورة. إذا لزم الأمر، اضبط الإعدادات.
3. التحقق من العنوان
تأكد من .
تحذير
قد لا يعمل التكامل بشكل صحيح إذا لم يكن العنوان صحيحًا!
تمكين FCR
من واجهة التكليف، انتقل إلى تبويب "الإشارات الخارجية".

انقر على "أسواق الطاقة".

حدد Eniris، ثم حدد FCR وانقر على "التالي".
تشغيل FCR
احتياطي احتواء التردد (FCR) هو أسرع احتياطي تلقائي يُستخدم للحفاظ على تردد الشبكة قريبًا من قيمته الاسمية (50 هرتز في أوروبا). ويُعد تردد الشبكة مقياسًا مباشرًا للتوازن بين الإنتاج والاستهلاك: عندما يتجاوز الاستهلاك الإنتاج، ينخفض التردد إلى أقل من 50 هرتز، وعندما يتجاوز الإنتاج الاستهلاك، يرتفع إلى أكثر من 50 هرتز. يستجيب FCR لهذه الانحرافات خلال ثوانٍ لاستعادة التوازن.
بصفته نظام EMS، يقوم SmartgridOne Controller باستمرار بقياس تردد الشبكة محليًا وبشحن البطارية أو تفريغها استنادًا إلى التردد، وفق منحنى انخفاض محدد مسبقًا:
- التردد أقل من 50 هرتز (نقص الطاقة في الشبكة): تقوم البطارية بالتفريغ، حيث تضخ الطاقة للمساعدة على رفع التردد مجددًا إلى القيمة الاسمية.
- التردد أعلى من 50 هرتز (فائض الطاقة في الشبكة): تقوم البطارية بالشحن، حيث تمتص الطاقة للمساعدة على خفض التردد مجددًا.
- التردد عند 50 هرتز (شبكة متوازنة): تبقى البطارية في وضع الخمول ضمن النطاق الميت.
يحدد منحنى الانخفاض مقدار الطاقة التي توفرها البطارية عند انحراف ترددي معين. ويمنع النطاق الميت الصغير، الذي يبلغ عادةً 10mHz، حول 50 هرتز الاستجابة للتقلبات الطفيفة، بينما تتدرج الاستجابة خطيًا مع الانحراف حتى الوصول إلى أقصى طاقة احتياطية عند حافة نطاق التشغيل. في سوق FCR الأوروبية، يتم الوصول إلى التفعيل الكامل عند انحراف قدره ±200 mHz (أي عند 49.8 هرتز و50.2 هرتز).
نظرًا إلى أن وحدة التحكم تقيس التردد بنفسها وتطبق منحنى الانخفاض بشكل مستقل، تستجيب البطارية تلقائيًا وفي الوقت الفعلي لتغيرات تردد الشبكة — ولا يلزم تعيين قيمة خارجية لتفعيل الاحتياطي.
يتحكم مشغل الشبكة في المشاركة عبر (المحددة أدناه). وتحدد هذه الرسائل ما يلي:
- ما إذا كان FCR نشطًا أم لا — يفعّل مشغل الشبكة الاحتياطي أو يعطله. عندما يكون FCR غير نشط، لا تستجيب وحدة التحكم للانحرافات الترددية.
- السعة المخصصة — مقدار الطاقة الاحتياطية التي يجب أن توفرها البطارية. يمكن أن تختلف هذه السعة المخصصة عن القدرة الاسمية للبطارية (nompower)؛ إذ يتم تحجيم منحنى الانخفاض وفقًا لهذه السعة المخصصة بدلًا من القدرة الاسمية الكاملة للبطارية.
رسائل FCR عبر MQTT
يتم تشغيل FCR بواسطة رسائل MQTT المرسلة إلى SmartgridOne Controller. لكل ما يتعلق بالاتصال بوسيط MQTT — متطلبات الشبكة وبيانات الاعتماد — اتبع أولًا دليل . يستخدم FCR الوسيط والاتصال نفسيهما، لكن له مواضيع مخصصة خاصة به موضحة أدناه.
مواضيع MQTT
يستخدم FCR مجموعة منفصلة من المواضيع عن التحكم عن بُعد القياسي. استبدل <Controller SN> بالرقم التسلسلي لـ SmartgridOne Controller الذي تنوي التحكم فيه.
| الموضوع | الاتجاه | الغرض |
|---|---|---|
standard1/rp_one_s/remoteFCRMetrics/<Controller SN> | إلى وحدة التحكم | الموضوع الوارد — يُستخدم لإرسال أمر FCR (رسالة JSON أدناه). |
standard1/outbound/remoteFCRMetrics/ack/<Controller SN> | من وحدة التحكم | موضوع الإقرار — تقر وحدة التحكم هنا باستلام الأمر وحفظه. |
standard1/outbound/remoteFCRMetrics/feedback/<Controller SN> | من وحدة التحكم | موضوع الملاحظات — تنشر وحدة التحكم الملاحظات هنا كل ثانية. |
تنسيق الرسالة
تتكون رسالة FCR من البنية التالية:
{
"time": 1714652046,
"extraTags": {
"nodeId": "<Controller SN>_site_0"
},
"fields": {
"fcr": {
"active": true,
"capacity_kW": 100.0,
"start_time": 1714652046,
"end_time": 1714655646
},
وصف الحقول
- time (عدد صحيح): طابع زمني لنظام Unix بالثواني يوضح وقت إرسال الرسالة.
- extraTags (كائن):
- nodeId (نص): معرّف فريد لعقدة الموقع. وهو رقمك التسلسلي متبوعًا بـ
_site_0لمعظم أجهزة SmartgridOne Controller.
- nodeId (نص): معرّف فريد لعقدة الموقع. وهو رقمك التسلسلي متبوعًا بـ
- fields (كائن): يحتوي على تعليمات FCR، مقسمة إلى الكتل
fcrوmanagementوtestأدناه. كل كتلة اختيارية؛ أدرج الكتل المنطبقة فقط.
fcr
يحدد المشاركة الفعلية في FCR. وهذه هي الكتلة الرئيسية التي تحدد ما إذا كان الاحتياطي نشطًا وكيفية تحجيم .
- active (قيمة منطقية): يحدد ما إذا كان FCR نشطًا. عندما تكون القيمة
true، تستجيب وحدة التحكم للانحرافات الترددية باتباع منحنى الانخفاض. وعندما تكون القيمةfalse، يكون FCR معطلًا ولا تتفاعل وحدة التحكم مع تردد الشبكة. - capacity_kW (عدد عشري): سعة الاحتياطي المخصصة، بالكيلوواط، التي يجب أن توفرها البطارية. يتم تحجيم منحنى الانخفاض وفقًا لهذه القيمة. وكما ذُكر أعلاه، يمكن أن تختلف هذه القيمة عن القدرة الاسمية للبطارية (nompower).
- start_time (عدد صحيح): الطابع الزمني لنظام Unix بالثواني الذي تصبح عنده تعليمات FCR هذه نشطة.
- end_time (عدد صحيح): الطابع الزمني لنظام Unix بالثواني الذي تنتهي عنده صلاحية تعليمات FCR هذه.
management
يطبق تعيينًا صريحًا للطاقة بالإضافة إلى استجابة FCR أو بدلًا منها — مثلًا لتوجيه حالة شحن البطارية مجددًا إلى نطاق عملي أثناء المشاركة في FCR.
- setpoint_W (عدد عشري): تعيين الطاقة المطلوب بالواط. تؤدي القيمة الموجبة إلى شحن البطارية، بينما تؤدي القيمة السالبة إلى تفريغها.
- start_time (عدد صحيح): الطابع الزمني لنظام Unix بالثواني الذي يصبح عنده تعيين الإدارة نشطًا.
- end_time (عدد صحيح): الطابع الزمني لنظام Unix بالثواني الذي تنتهي عنده صلاحية تعيين الإدارة.
test
يُستخدم لإجراء اختبار تأهيل أو تحقق على التركيبة. أدرج هذه الكتلة فقط عند إجراء اختبار.
- mode (نص): الاختبار المراد القيام به. من الخيارات:
"frequency_injection": محاكاة انحراف في التردد عن طريق رفع إشارة التردد، للتحقق من استجابة المنحنى. يتطلب كائنrampأدناه."usable_energy": التحقق من طاقة البطارية القابلة للاستخدام.
- ramp (كائن): يُستخدم فقط عندما تكون قيمة
modeهي"frequency_injection". يصف منحدر التردد المُحاكى:- f_start_Hz (عدد عشري): التردد عند بداية المنحدر، بالهرتز.
- f_target_Hz (عدد عشري): التردد المستهدف للمنحدر، بالهرتز.
- duration_s (عدد عشري): مدة المنحدر، بالثواني.
- t_start (عدد صحيح): الطابع الزمني لنظام Unix بالثواني الذي يبدأ عنده المنحدر.
- target_soc (عدد عشري): يُستخدم فقط عندما تكون قيمة
modeهي"usable_energy". حالة الشحن المستهدفة، كقيمة من 20 إلى 100، التي يجب أن تصل إليها البطارية أثناء اختبار الطاقة القابلة للاستخدام. تقوم وحدة التحكم بشحن البطارية أو تفريغها للوصول إلى حالة الشحن هذه، مع قياس الطاقة المنقولة للتحقق من الطاقة القابلة للاستخدام للبطارية.
رسالة الإقرار
بعد استلام أمر في الموضوع الوارد، تنشر SmartgridOne Controller إقرارًا في . ويُبلغ الإقرار ما إذا كان الأمر قد قُبل وحُفظ أو رُفض. ويأتي بأحد التنسيقين التاليين.
عند استلام الأمر:
{
"requestTime": "<Unix Timestamp>",
"time": "<Unix Timestamp>",
"siteNodeId": "<Controller SN>_site_0",
"data": {
"status": "accepted" or "rejected",
"error": "<error message>"
},
"fields": {}
}وصف الحقول
- requestTime (عدد صحيح): الطابع الزمني لنظام Unix بالثواني للأمر الأصلي الذي يتم الإقرار به. ويطابق حقل
timeفي الأمر المُرسل، مما يتيح لك ربط الإقرار بالطلب. - time (عدد صحيح): الطابع الزمني لنظام Unix بالثواني الذي أُرسل عنده الإقرار.
- siteNodeId (نص): قيمة
nodeIdللموقع الذي يرسل الإقرار. - data (كائن):
- status (نص): إما
"accepted"عند استلام الأمر وحفظه، أو"rejected"عندما يتعذر تطبيقه. - error (نص): يظهر فقط عندما تكون قيمة
statusهي"rejected". ويصف سبب رفض الأمر.
- status (نص): إما
- fields (كائن): كائن فارغ.
رسالة الملاحظات
أثناء تشغيل FCR، تنشر SmartgridOne Controller رسالة ملاحظات في كل ثانية. ويتيح لك ذلك مراقبة الحالة المباشرة للتركيبة واستجابة FCR في الوقت الفعلي.
{
"time": "<Unix Timestamp>",
"siteNodeId": "<Controller SN>_site_0",
"data": {
"fcr_active": <bool>,
"frequency_Hz": <float>,
"actualPowerTot_W": <float>,
"setpoint_W": <float>,
"fcrSetpoint_W":
وصف الحقول
- time (عدد صحيح): الطابع الزمني لنظام Unix بالثواني الذي أُرسلت عنده رسالة الملاحظات.
- siteNodeId (نص): قيمة
nodeIdللموقع الذي يرسل الملاحظات. - data (كائن):
- fcr_active (قيمة منطقية): يحدد ما إذا كان FCR نشطًا حاليًا.
- frequency_Hz (عدد عشري): تردد الشبكة المحلي الذي تقيسه وحدة التحكم، بالهرتز.
- actualPowerTot_W (عدد عشري): القدرة الفعلية النشطة للبطارية، بالواط. تشير القيمة الموجبة إلى الشحن، والسالبة إلى التفريغ.
- setpoint_W (عدد عشري): تعيين الطاقة الإجمالي الحالي، بالواط. وهو مجموع
fcrSetpoint_WوmanagementSetpoint_Wأدناه. تؤدي القيمة الموجبة إلى شحن البطارية، بينما تؤدي القيمة السالبة إلى تفريغها. - fcrSetpoint_W (عدد عشري): مساهمة FCR في تعيين الطاقة، بالواط. وهذا هو الجزء من التعيين الناتج عن الانحراف الترددي و.
- managementSetpoint_W (عدد عشري): مساهمة الإدارة في تعيين الطاقة، بالواط. وهذا هو الجزء من التعيين الناتج عن إشارة الشحن/التفريغ ، والمطبقة بالإضافة إلى استجابة FCR.
- min_soc_perc (عدد عشري): الحد الأدنى المسموح به لحالة الشحن، كنسبة مئوية. تحت هذا المستوى، تتوقف البطارية عن التفريغ للحفاظ على طاقة كافية في الاحتياطي لـ FCR.
- max_soc_perc (عدد عشري): الحد الأقصى المسموح به لحالة الشحن، كنسبة مئوية. فوق هذا المستوى، تتوقف البطارية عن الشحن للحفاظ على سعة كافية في الاحتياطي لـ FCR.
- soc_perc (عدد عشري): متوسط حالة شحن البطارية، كنسبة مئوية.
- droop_perc (عدد عشري): الانخفاض النشط، كنسبة مئوية — حصة سعة FCR المخصصة التي يتم توفيرها حاليًا استجابةً للانحراف الترددي.
