افعل ذلك بنفسك أتمتة التحكم في التدفئة المنزلية. الجزء 4

نواصل الحديث عن نظام التحكم في التدفئة المنزلية باستخدام الموقت الحرارة NM8036 (بداية هنا ، واصلت هنا و هنا ).

NM8036

برنامج Advanced Manager هو برنامج تم ذكره سابقًا. وحدة التحكم في التدفئة في منزل خاص هي وحدة مستقلة ، ولكن مع هذا البرنامج ، من السهل جدًا ضبط إعدادات وحدة NM8036 ومراقبة تشغيلها.

للحصول على هذه وسائل الراحة وعدم شغل سيارتي ، حفرت في العلية جهاز الكمبيوتر القديم ، الذي مضى عليه أكثر من 10 سنوات ، وأزال الغبار وأعاد تثبيت النظام. عندما تم تثبيت البرنامج الذي أحتاجه ، استقرت وحدة النظام في زاوية بالقرب من وحدة التحكم ووصلتها بكابل عبر منفذ COM.

في البداية ، كان يرطب حولي على مدار الساعة ، مع إيقاف تشغيل الشاشة بشكل أساسي. لقد قمت بتشغيله فقط عندما كنت أعمل مع البرنامج: لقد قمت بتحليل الجداول التي تم الحصول عليها ، وصقلت برنامج التحكم في التدفئة الخاص بي لـ NM8036 .

حاولت اليوم واليوم إظهار جميع ميزات Advanced Manager التي اكتشفتها حتى الآن في هذا الفيديو. قدم مؤلف البرنامج ، في Runet الذي يطلق على نفسه اسم Brokly ، البرنامج مجانًا ، كما هو ، دون أي التزامات لنفسه ومع إذن للتوصية به للمستخدمين الآخرين. لهذا السبب حصلت على الحرية في تقديمها لك ، يا معلمة.



دعونا نفكر بمزيد من التفصيل.

أولاً ، يسألون عما تعنيه تغيرات الألوان في قراءات درجة الحرارة وأجهزة استشعار ADC (الخدمة الطرفية). وهذا يعني ديناميكيات التغييرات ، أي إذا ارتفعت درجة الحرارة خلال فترة زمنية معينة معينة ، يتم تمييز القراءات باللون البرتقالي ، وعندما تنخفض ، يتم تمييزها باللون الأزرق. ولا يتم إبرازه من قبل أي شخص إذا لم يكتشف البرنامج ميلًا للتغيير.



لدى الذواقة تلميحًا حول كيفية تغيير معلمات الحساسية لهذه القياسات. يوجد ملف إعدادات names.ini في دليل البرنامج ، تتم كتابة الكثير من الأشياء في هذا الملف. هنا ، على سبيل المثال ، لدي بداية محتويات هذا الملف:

[PORT]
Name = COM1
IP = 127.0.0.1
PORT = 9999
[RELOAD]
VERS = الإصدار 1.95
LAST_RELOAD = 01/01/2001 1:01:01
[LOG]
Dirrectory = C: \ Program Files \ NM_BM8036 \ Ot Brokly
Ye = 1
STATE_ON = 1
CheckLoads0 = 1
CheckLoads1 = 1
CheckLoads2 = 1
CheckLoads3 = 1
CheckLoads4 = 0
CheckLoads5 = 0
...

الخطوط المؤطرة بأقواس مربعة هي أسماء الأقسام. كل شيء تحت الأسماء هو أسماء المتغيرات وقيمها. في المثال الموضح ، هناك ثلاثة أقسام: [PORT] و [RELOAD] و [LOG]. هناك ثلاثة متغيرات في قسم [PORT]: الاسم ، الذي تم تعيينه للقيمة COM1 و IP بالقيمة 127.0.0.1 و PORT ، التي تحتوي على الرقم 9999.

لن ندخل في مزيد من التفاصيل ، سننتقل إلى التفاصيل. لذا ، لتغيير إعدادات الحساسية لتحديد تغييرات اللون ، يوجد قسم [SHOW] في هذا الملف. يتم وصف المعلمات التالية في هذا القسم:

"DCalm" - تأخير إعادة تعيين سمة اللون لميزان الحرارة ، افتراضي: 5؛
"DSens" - حساسية سمة اللون لميزان الحرارة ، افتراضي: 500 ؛
'ACalm' - تأخير إعادة تعيين سمة اللون عند الإدخال التناظري ، افتراضي: 5 ؛
"ASens" - حساسية سمة اللون عند الإدخال التناظري ، افتراضي: 100 ؛

من خلال تغيير هذه المعلمات ، يمكنك تحقيق تغييرات في إعدادات ألوان المستشعرات حسب رغبتك ، حيث يبدو لك الأكثر صحة. لكن أنا شخصياً لم أغيره ، كل شيء يناسبني. بالمناسبة ، إذا لم يكن لديك في قسمك أي قسم في ملف ini-file ، ولكنك تريد اللعب ، فأنت بحاجة إلى إنشائه. الأمر بسيط: في بداية الملف أو نهايته ، اكتبه على النحو التالي :
[SHOW]
DCalm = 5
DSens = 500
ACalm = 5
ASens = 100

ونبدأ في اللعب ، بمعنى ما ، نغير قيم المتغيرات بعد علامة المساواة. في الوقت نفسه ، نلاحظ تغيرات لون أجهزة الاستشعار.

الآن سننتقل من خدمة المحطة الطرفية إلى خدمة تحليل الرسوم البيانية. في الجزء السفلي ، يمكنك هنا تحديد نمط الرسم البياني: المتوسط ​​، الارتفاعات ، الحدود الدنيا ، النطاق. ماذا يعني كل هذا؟

والحقيقة هي أن كل نقطة على الرسم البياني تقابل فترة زمنية معينة ، على سبيل المثال ، دقيقة واحدة. خلال هذه اللحظة ، كتب البرنامج 20 قيمة في ملف السجل (يتم التسجيل وفقًا للإعدادات كل 3 ثوانٍ). أي من هذه القيم العشرين المطلوب عرضها على الرسم البياني؟ هذا ما تقرره باختيار الأسلوب.

إذا اخترت Averaging ، فسيحسب البرنامج متوسط ​​القيمة من هذه 20. الحد الأدنى والحد الأقصى - من الواضح أيضًا ، إما سيتم عرض الحد الأدنى أو الحد الأقصى للقيمة. في الشكل ، رسم بياني بنمط الحد الأدنى المحدد.



والمدى؟ وعند تحديد النطاق ، سيتم عرض خط عمودي بدلاً من هذه النقطة ، من الحد الأدنى إلى الحد الأقصى للقيمة. كل هذا يمكن فهمه من خلال اللعب باختيار الأسلوب.

إعدادات رسم الرسوم البيانية متاحة أيضًا في ملف إعدادات names.ini. يوجد قسم [رسم بياني] لهذه الإعدادات. هناك الكثير من الأشياء ، سوف نتناول أشياء أكثر إثارة للاهتمام.



"GraphLineSize" - سمك خط الرسم البياني بالبكسل. إذا كانت هذه القيمة = 1 ، فسيكون خط الرسم البياني رفيعًا ، 1 بكسل.



يمكنك تعيين خط أكثر سمكًا ، يصل إلى 3-4 بكسل قبيح أو أكثر.



"LoadsLineSize" - معامل زيادة عرض الرسم البياني للتحميل. بشكل افتراضي ، هذا هو 1 ، ويظهر الرسم البياني للتحميل على أنه على اليسار.



وهنا يتم تعيين عامل التكبير إلى 3. أي شخص مثله.



'ShowMinMax' - عرض القيم الدنيا والقيم القصوى في وسيلة الإيضاح. القيمة الافتراضية هي 0 (لا تظهر).



إذا وضعت 1 ، فسيتم عرض القيم الدنيا والقصوى خلال وقت الرسم البياني. بالمناسبة ، يتم إظهار وسيلة الإيضاح أو إخفاؤها عن طريق النقر بزر الماوس الأيمن في أي مكان على الرسم البياني.



في نفس القسم ، يمكنك تحديد إعدادات العرض للتخطيط الإحداثي للرسم البياني. لهذا ، يتم قبول المتغيرات التالية:
"Ord_XXX" - تعيين خط بدرجة حرارة معينة ؛
"OrdLineSize_XXX" - سمك خط الإحداثي المحدد على الرسم البياني ؛
"OrdLineStyle_XXX" - نمط خط الإحداثي المحدد على الرسم البياني ؛
"OrdLineColor_XXX" - لون خط الإحداثي المحدد على الرسم البياني ؛
"OrdLineName_XXX" - اسم خط الإحداثي المحدد في المخطط.

على سبيل المثال ، قمت بتسجيل المتغيرات التالية في قسم [الرسم البياني]:
Ord_005 = 40 (الرقم المخصص 005 للخط 40 درجة) ؛
OrdLineSize_005 = 2 (تعيين خط سمك 40 درجة) ؛
OrdLineStyle_005 = 2 (تعيين عرض حد 2 بكسل للنمط) ؛
OrdLineColor_005 = 65025 (لون الخط المخصص ، أخضر) ؛
OrdLineName_005 = Reg (مسمى الخط)
ونتيجة لذلك ، لمدة 40 درجة (درجة حرارة الحدود لإدخالات التسجيل) تلقيت ترميزًا أخضر باسم Reg.



يتكون اللون على النحو التالي:
(أزرق (0.255) * 65536) + (أخضر (0.255) * 256) + أحمر (0.255)

على سبيل المثال ، أزرق نقي = 255 * 65536 + 0 * 256 + 0 = 16711680
رمادي 128 * 65536 + 128 * 256 + 128 = 8421504

وبعض الأسرار. إذا نقرت بزر الماوس الأيمن فوق منطقة معينة على الرسم البياني وانتظرت إعادة الحساب ، فسيتم عرض مخطط جديد مع الفترة الزمنية وحدود القيم المحددة بواسطة الماوس. ومع ذلك ، هنا ، على ما يبدو ، لدي نوع من الخطأ في رمز البرنامج ، لأن القطعة المحددة لا تتوافق تمامًا مع القطعة المحددة.

إذا قمت بالضغط على الزر الأيسر على الخط ، نحصل على القيم الفورية للنقطة المحددة في الرسم البياني. إذا قمت بالنقر بزر الماوس الأيمن ، يمكنك تمكين أو تعطيل وسيلة الإيضاح (على الرغم من ذلك ، كما قلت بالفعل).

إذا تم تضمين عناصر إضافية في اسم ملف السجل (خدمة سجلات الخدمة) عن طريق تثبيت daws المقابلة ، فلن يتم إنشاء ملف ضخم واحد والذي من الصعب العمل معه ليس فقط للشخص ، ولكن أيضًا للبرنامج ، ولكن لملفات مختلفة. وفقًا لمربعات الاختيار ، يتم تشكيل ملف جديد كل يوم.



هناك شيء واحد سيء وغير مريح: في علامة التبويب تحليل الرسم ، يمكنك تحديد ملفات السجل التي تم تحليلها لعرض الرسم البياني. إذا لم تقم بإزالة الغربان للملفات القديمة في الوقت المحدد ، فسيقوم البرنامج ، على ما يبدو ، بإعادة سردها كل نصف دقيقة على أي حال ، ويستغرق ذلك بعض الوقت ، يتم إنفاق الموارد.



في هذه الأثناء ، إذا تم تحديد خانة الاختيار Fix range ... ، فسيكون من الجيد إذا تمت إزالة الملفات غير الضرورية في القائمة تلقائيًا.

ومع ذلك ، فإن هذا تافه ، ولكن بشكل عام ، فإن رأيي حول برنامج Advanced Manager قد تطور بشكل إيجابي للغاية.

وهناك شريحة أخرى وضعها المؤلف في البرنامج. صحيح ، هذا بالفعل للمستخدمين المتقدمين القادرين على إنشاء وحدات الماكرو في النظام. هذا هو دعم ملفات الإشارة. Semaphore - ملف بامتداد SEM ، من أي حجم ومحتوى ، يظهر في مجلد العمل بالبرنامج ويحمل أمرًا إلى برنامج العمل باسمه.

في كل ثانية ، يتحقق البرنامج من وجود مثل هذه الملفات في الدليل الخاص به. إذا تم العثور على إشارة في الدليل ، يقوم البرنامج بإزالتها على الفور وتنفيذ الأمر المعين من قبل الإشارة. اليوم ، أعلم اثنين فقط من الإشارات:
إعادة تشغيل. إعادة تشغيل برنامج recalc.sem - إعادة
حساب نافذة الرسم البياني وتغيير حجمها.

يتبع النهاية ...

Source: https://habr.com/ru/post/ar384657/


All Articles