دليل تنفيذ مُولِّد التاريخ اليولياني لجهاز SLC-5/04
طبّق مولّدًا للتاريخ اليولياني في SLC-5/04 لإخراج ASCII إلى طابعات الملصقات. منطق سُلّمي خطوة بخطوة باستخدام تعليمات الحساب.
عائلة SLC-5/04، بما في ذلك المعالجات مثل 1747-L542، لا توفر تعليمة مدمجة لرقم اليوم اليولياني (JDN). وغالبًا ما تتطلب عمليات التغليف وترميز الدُفعات وطابعات الملصقات قيمة اليوم من السنة أو سلسلة YYYYDDD مختصرة، لذلك يجب إنشاء المنطق باستخدام عمليات الرياضيات العادية وعمليات جداول البيانات. يقدّم هذا الدليل منهجًا سهل الصيانة باستخدام تعبيرات CPT، وجدول تراكمي لأيام الأشهر، ومعالجة السنوات الكبيسة، وتحويل ASCII لبيانات الطابعة، مع التنبيه إلى حدود الحساب ذي الستة عشر بتًا التي تتسبب في فشل العديد من التطبيقات الأولى.
تحسب معالجات SLC-5/04 اليوم من السنة والرموز على نمط التاريخ اليولياني في مخطط السلم باستخدام CPT وملفات الأعداد الصحيحة وقيم RTC المستخرجة بعناية.
تشير بعض المواد المصدرية أحيانًا إلى كلمات ملف الحالة في النطاق S:50–S:52 للسنة والشهر واليوم، بينما تؤكد وثائق أخرى على نطاق الساعة الزمنية الحقيقية الأوسع حول S:37، وذلك بحسب المعالج وسياق البرنامج الثابت. تعامل مع كلمات مصدر RTC بحذر: تحقّق من خريطة ملف الحالة الدقيقة للطراز والسلسلة المثبتين قبل تثبيت الأسماء المستعارة للوسوم. وبمجرد الوثوق في حقول التقويم، تكون الخوارزمية نفسها قابلة للنقل بين مشاريع SLC-5/04.
تخطيط جدول البيانات
يحافظ التخطيط المنظم للأعداد الصحيحة على سهولة قراءة الروتين بالنسبة إلى الفني التالي. ويستخدم النمط المعتاد سجلات N7 كما يلي: N7:0 للسنة، وN7:1 للشهر، وN7:2 ليوم الشهر، وN7:3 لنتيجة اليوم من السنة، وN7:4 لعلامة السنة الكبيسة، وN7:5 للتخزين المؤقت لنتائج CPT الوسيطة. خزّن الإزاحات التراكمية لأيام الأشهر في جدول ثابت للأعداد الصحيحة—على سبيل المثال، في N10:1 حتى N10:12، بحيث تحتوي على 0، 31، 59، 90، 120، 151، 151، 181، 212، 243، 273، 304 لخط أساس غير كبيس حتى نوفمبر، مع تطبيق معالجة فبراير عبر علامة السنة الكبيسة بدلًا من تعديل الجدول أثناء التشغيل. عدّل الجدول الدقيق ليتوافق مع أسلوب الفهرسة الذي تفضله، لكن وثّقه بجوار الدرجات.
مثال على منهجية DOY (تصورية)
Leap = (Y قابل للقسمة على 4) مع تطبيق قواعد السنوات المئوية عند الحاجة
DOY = Day + Cumulative[Month] + (Leap AND Month>2)
سلسلة YYYYDDD عبر تنسيق على نمط ASC / AIF للطابعات
بالنسبة إلى العديد من المصانع، يكفي اليوم من السنة (DOY) بصيغة YYYYDDD، كما أنه يتجنب تعقيد JDN الفلكي الكامل. أما أرقام الأيام اليوليانية الكاملة التي تمتد عبر قرون فتتطلب عناية أكبر بالأعداد الصحيحة؛ إذ تفيض عمليات CPT في SLC عند استخدام أعداد صحيحة من 16 بتًا إذا لم تُقسّم النتائج الوسيطة إلى مراحل. يُفضّل حساب DOY ضمن نطاق 16 بتًا، ثم دمج السنة وDOY المملوء بالأصفار في ملف ASCII للطابعة بدلًا من إجبار قيمة واحدة على احتواء عدد صحيح كبير جدًا.
السنة الكبيسة وبنية CPT
يجب أن يتبع منطق السنة الكبيسة قواعد التقويم المدني المستخدمة في نظام الجودة لديك. وكحد أدنى، تكون السنوات القابلة للقسمة على أربعة سنوات كبيسة؛ وإذا كان نطاق عمر المنتج يشمل حدود السنوات المئوية، فطبّق استثناءات التقويم الغريغوري كاملةً، إذ تكون السنوات المئوية كبيسة فقط إذا كانت قابلة للقسمة على 400. اضبط N7:4 على واحد عندما تكون السنة كبيسة. عند إضافة إزاحة الشهر التراكمية، أضف يومًا واحدًا فقط إذا كانت علامة السنة الكبيسة مضبوطة وكان الشهر بعد فبراير. نفّذ هذه الإضافة في تعليمة CPT مخصصة بدلًا من دفن شروط متداخلة داخل تعبير يصعب قراءته.
انسخ السنة والشهر واليوم من كلمات مصدر RTC التي تم التحقق منها إلى سجلات العمل N7 ضمن مهمة دورية بطيئة أو عند الفحص الأول مع حافة يومية. لا تقرأ كلمات RTC في كل درجة تعمل باستمرار إذا كان تنسيق ASC اللاحق مكلفًا؛ فعادةً ما يكون التحديث مرة واحدة في الدقيقة كافيًا لترميز التاريخ.
تغذي سلاسل DOY المملوءة بالأصفار طابعات الملصقات بموثوقية أكبر من الأعداد الصحيحة الخام عندما يجب أن يبقى طول الرمز الشريطي ثابتًا.
تنسيق ASCII لطابعات الملصقات
تتوقع معظم الطابعات الصناعية سلسلة ذات عرض ثابت. بعد حساب DOY في N7:3، استخدم تعليمات ملف ASCII لإنشاء سلسلة مثل YYYYDDD مع إضافة أصفار بادئة إلى حقل اليوم. تحقّق من الطول قبل تشغيل إشارة مصافحة الطباعة. وإذا كان بروتوكول الطابعة يحتاج إلى فواصل أو بادئات خاصة بالمصنع، فأنشئها في مخزن السلسلة نفسه بدلًا من الاعتماد على الطابعة لإضافة الحشو.
- تأكّد من تعيين كلمات RTC للطراز 1747-L542 المحدد (أو SLC-5/04 المثبت) وإصداره من البرنامج الثابت.
- أنشئ وسوم العمل N7 وجدول الأشهر التراكمي في ملف أعداد صحيحة.
- اكتب منطق CPT للسنة الكبيسة وتعليمة CPT لـ DOY تضيف اليوم + القيمة التراكمية + تصحيح السنة الكبيسة.
- نسّق YYYYDDD عبر ASC واختبره مقابل تواريخ تقويمية معروفة، بما في ذلك 28 فبراير و1 مارس في السنوات الكبيسة وغير الكبيسة.
- احمِ من تجاوز سعة 16 بتًا إذا حاول أي روتين حساب نواتج JDN الكاملة الممتدة لقرون عديدة؛ قسّم الحساب إلى مراحل أو انقله خارج SLC.
فحوصات السنة الكبيسة والحشو بالأصفار للطابعة
يجب أن تتضمن تواريخ التحقق 2024-02-29 و2024-03-01 و2025-02-28 وانتقالات نهاية السنة في 12-31. قارن DOY في PLC مع تقويم مستقل. وتشمل المشكلات الشائعة الوثوق بعناوين ملف الحالة الخاطئة، ونسيان تصحيح فبراير للسنة الكبيسة، وطباعة قيم DOY غير المملوءة بالأصفار مما يؤدي إلى إزاحة حقول الرمز الشريطي، وتجاوز سعة القيم الوسيطة في CPT عندما يوسّع أحدهم الروتين لاحقًا باتجاه JDN الكامل. احتفظ بتعليقات في مخطط السلم تشير إلى كلمات مصدر RTC المستخدمة فعليًا في تلك الآلة.
عندما يكون رمز التاريخ جزءًا من خلية تغليف أوسع، خزّن المولّد كملف قابل لإعادة الاستخدام ووحّد تخطيطات الأعداد الصحيحة عبر الخطوط. يجب أن تتضمن المعالجات الاحتياطية والوثائق الخاصة بـ أنظمة PLC من SLC-500 روتين ترميز التاريخ، حتى لا تؤدي عملية استبدال المعالج بصمت إلى الرجوع إلى تطبيق تقويمي أقدم وغير صحيح.
نبذة عن المؤلف
Mark Townsend | مهندس أتمتة أول – أنظمة Allen-Bradley
Mark Townsend مهندس أتمتة أول يتمتع بخبرة تزيد على 18 عامًا في منصات Allen-Bradley، تشمل ControlLogix وCompactLogix وSLC-500 القديمة. ويتمحور عمله اليومي حول منطق RSLogix / Studio 5000 وتشغيل واجهات HMI في FactoryTalk View ضمن أساطيل قديمة ومختلطة.