SLC-5/04 Julian Date Generator Implementation Guide — figure 1

SLC-5/04 Julian tarix generatorunun tətbiqi təlimatı

Etiket printerlərinə ASCII çıxışı üçün SLC-5/04-də Yulian tarix generatorunu tətbiq edin. Compute təlimatlarından istifadə etməklə pillə-məntiqinin addım-add...

1747-L542 kimi prosessorlar daxil olmaqla SLC-5/04 ailəsində daxili Julian gün nömrəsi (JDN) təlimatı yoxdur. Qablaşdırma, partiya kodlaşdırması və etiket printerləri tez-tez ilin günü dəyərini və ya yığcam YYYYDDD sətrini tələb edir, buna görə məntiq adi riyazi və məlumat cədvəli əməliyyatları əsasında qurulmalıdır. Bu təlimatda CPT ifadələrindən, kumulyativ ay-gün cədvəlindən, uzun il emalından və printer məlumatları üçün ASCII çevirməsindən istifadə edən, asan saxlanılan yanaşma təqdim olunur və eyni zamanda bir çox ilkin tətbiqlərdə problem yaradan onaltıbitli riyazi məhdudiyyətlərə diqqət yetirilir.

SLC-5/04 Julian Date Generator Implementation Guide — şəkil 1 SLC-5/04 prosessorları CPT, tamədəd faylları və diqqətlə seçilmiş RTC qiymətlərindən istifadə etməklə ladder məntiqində ilin gününü və Julian tipli kodları hesablayır.

Bəzi mənbələr il, ay və gün üçün S:50–S:52 sahəsindəki status faylı sözlərinə istinad edir, digər sənədlər isə prosessor və proqram təminatı kontekstindən asılı olaraq S:37 ətrafındakı daha geniş real vaxt saatı sahəsini vurğulayır. RTC mənbə sözləri ilə ehtiyatlı davranın: tag ləqəblərini sabitləməzdən əvvəl quraşdırılmış kataloq və seriya üçün dəqiq status-faylı xəritəsini yoxlayın. Təqvim sahələri etibarlı olduqdan sonra alqoritmin özü SLC-5/04 layihələri arasında daşına bilər.

Məlumat cədvəlinin quruluşu

Səliqəli tamədəd quruluşu proqramı növbəti texnik üçün oxunaqlı saxlayır. Tipik nümunədə N7 registrlərindən belə istifadə olunur: N7:0 il, N7:1 ay, N7:2 ayın günü, N7:3 ilin günü nəticəsi, N7:4 uzun il bayrağı və N7:5 aralıq CPT nəticələri üçün müvəqqəti sahə. Aylar üzrə kumulyativ gün sürüşmələrini sabit tamədəd cədvəlində saxlayın — məsələn, N10:1-dən N10:12-yə qədər sıfır, 31, 59, 90, 120, 151, 151, 181, 212, 243, 273, 304 qiymətləri ilə noyabra qədər uzun olmayan il bazası üçün; fevral üzrə emal cədvəli iş vaxtında dəyişdirmək əvəzinə uzun il bayrağı ilə həyata keçirilir. Dəqiq cədvəli seçdiyiniz sıfır əsaslı indeksləməyə uyğunlaşdırın, lakin bunu rung-ların yanında sənədləşdirin.

İlin günü yanaşmasına nümunə (konseptual)
Uzun il = (İl 4-ə bölünür) və lazım olduqda əsr qaydaları tətbiq edilir
İlin günü = Gün + Kumulyativ[Ay] + (Uzun il VƏ Ay>2)
Printerlər üçün ASC / AIF üslublu formatlama ilə YYYYDDD sətri

Bir çox zavod üçün YYYYDDD formatında ilin günü (DOY) kifayətdir və tam astronomik JDN mürəkkəbliyindən qaçmağa imkan verir. Əsrləri əhatə edən tam Julian gün nömrələri üçün daha geniş tamədəd emalı tələb olunur; aralıq hasilatlar mərhələləndirilmədikdə, SLC CPT əməliyyatlarında 16 bitlik tamədədlər daşır. DOY-ni 16 bitlik sahədə hesablamağa, sonra isə tək və həddən artıq böyük tamədəd yaratmaq əvəzinə ili və sıfırlarla tamamlanmış DOY-ni printer üçün ASCII faylında birləşdirməyə üstünlük verin.

Uzun il və CPT quruluşu

Uzun il məntiqi keyfiyyət sisteminizdə istifadə olunan mülki təqvim qaydalarına uyğun olmalıdır. Ən azı, dördə bölünən illər uzun il sayılır; məhsulunuzun istifadə müddəti əsr dəyişikliklərini əhatə edirsə, Qriqorian təqviminin tam istisnalarını tətbiq edin (əsr illəri yalnız 400-ə bölündükdə uzun il sayılır). İl uzun ildirsə, N7:4-ə bir yazın. Kumulyativ ay sürüşməsini əlavə edərkən yalnız uzun il bayrağı aktiv olduqda və ay fevraldan böyük olduqda əlavə bir gün artırın. Bu əlavəni oxunması çətin ifadənin içində iç-içə şərtlərlə gizlətmək əvəzinə ayrıca CPT-də yerinə yetirin.

Yoxlanılmış RTC mənbə sözlərindən ili, ayı və günü yavaş periodik tapşırıqda və ya ilk skanla yanaşı gündəlik keçid zamanı N7 iş registrlərinə köçürün. Sonrakı ASC formatlaması baha başa gəlirsə, hər sərbəst işləyən rung-da RTC sözlərini oxumayın; tarix kodlaşdırması üçün adətən dəqiqədə bir dəfə yeniləmə kifayətdir.

SLC-5/04 Julian Date Generator Implementation Guide — şəkil 2 Sabit barkod uzunluğu tələb olunduqda, sıfırlarla tamamlanmış DOY sətirləri xam tamədədlərlə müqayisədə etiket printerlərini daha etibarlı qidalandırır.

Etiket printerləri üçün ASCII formatlaması

Əksər sənaye printerləri sabit enli sətir gözləyir. DOY N7:3-də hesablandıqdan sonra gün sahəsinin əvvəlinə sıfırlar əlavə etməklə YYYYDDD kimi sətir yaratmaq üçün ASCII fayl təlimatlarından istifadə edin. Çap əl sıxmasını işə salmazdan əvvəl uzunluğu yoxlayın. Printer protokolunda ayırıcılar və ya zavoda məxsus prefikslər tələb olunursa, printerin sıfır əlavə etməsinə güvənmək əvəzinə onları eyni sətir buferində yaradın.

  1. Müəyyən 1747-L542 (və ya quraşdırılmış SLC-5/04) proqram təminatı üçün RTC söz xəritələndirməsini təsdiqləyin.
  2. N7 iş tag-lərini və kumulyativ ay cədvəlini tamədəd faylında yaradın.
  3. Uzun il üçün CPT məntiqini və gün + kumulyativ + uzun il düzəlişini əlavə edən DOY CPT-ni yazın.
  4. ASC vasitəsilə YYYYDDD formatını yaradın və 28 fevral, eləcə də uzun və uzun olmayan illərdə 1 mart daxil olmaqla məlum tarixlərlə sınaqdan keçirin.
  5. Hər hansı proqram tam çoxəsrlik JDN hasilatını hesablamağa cəhd edirsə, 16 bitlik daşmadan qorunun; riyaziyyatı mərhələləndirin və ya həmin hesablamanı SLC-dən kənara çıxarın.

Uzun il və printerdə sıfır doldurma yoxlamaları

Yoxlama tarixlərinə 2024-02-29, 2024-03-01, 2025-02-28 və ilin sonundakı 12-31 keçidləri daxil edilməlidir. PLC DOY dəyərini müstəqil təqvimlə müqayisə edin. Əsas problemlərə yanlış status-faylı ünvanlarına etibar etmək, fevral üzrə uzun il düzəlişini unutmaq, barkod sahələrini sürüşdürən sıfırsız DOY dəyərlərini çap etmək və kimsə proqramı daha sonra tam JDN-ə doğru genişləndirərkən CPT aralıq qiymətlərinin daşması daxildir. Həmin maşında faktiki istifadə olunan RTC mənbə sözlərinə istinad edən şərhləri ladder məntiqində saxlayın.

Tarix kodu daha geniş qablaşdırma hüceyrəsinin bir hissəsidirsə, generatoru təkrar istifadə edilə bilən fayl kimi saxlayın və xətlər üzrə tamədəd quruluşlarını standartlaşdırın. Bu SLC-500 PLC sistemləri üçün ehtiyat prosessorlar və sənədlər tarix-kodu proqramını da əhatə etməlidir ki, prosessor dəyişdirilərkən sistem səssizcə köhnə və səhv təqvim tətbiqinə qayıtmasın.

Müəllif haqqında

Mark Townsend | Baş avtomatlaşdırma mühəndisi – Allen-Bradley sistemləri

Mark Townsend ControlLogix, CompactLogix və köhnə SLC-500 daxil olmaqla Allen-Bradley platformalarında 18 ildən çox təcrübəyə malik baş avtomatlaşdırma mühəndisidir. Onun gündəlik işi köhnəlmiş və qarışıq sistem parklarında RSLogix / Studio 5000 məntiqi və FactoryTalk View HMI-nin işə salınmasıdır.

SLC-5/04 Julian tarix generatorunun tətbiqi təlimatı

Etiket printerlərinə ASCII çıxışı üçün SLC-5/04-də Yulian tarix generatorunu tətbiq edin. Compute təlimatlarından istifadə etməklə pillə-məntiqinin addım-addım izahı.

1747-L542 kimi prosessorlar daxil olmaqla SLC-5/04 ailəsində daxili Julian gün nömrəsi (JDN) təlimatı yoxdur. Qablaşdırma, partiya kodlaşdırması və etiket printerləri tez-tez ilin günü dəyərini və ya yığcam YYYYDDD sətrini tələb edir, buna görə məntiq adi riyazi və məlumat cədvəli əməliyyatları əsasında qurulmalıdır. Bu təlimatda CPT ifadələrindən, kumulyativ ay-gün cədvəlindən, uzun il emalından və printer məlumatları üçün ASCII çevirməsindən istifadə edən, asan saxlanılan yanaşma təqdim olunur və eyni zamanda bir çox ilkin tətbiqlərdə problem yaradan onaltıbitli riyazi məhdudiyyətlərə diqqət yetirilir.

SLC-5/04 Julian Date Generator Implementation Guide — şəkil 1 SLC-5/04 prosessorları CPT, tamədəd faylları və diqqətlə seçilmiş RTC qiymətlərindən istifadə etməklə ladder məntiqində ilin gününü və Julian tipli kodları hesablayır.

Bəzi mənbələr il, ay və gün üçün S:50–S:52 sahəsindəki status faylı sözlərinə istinad edir, digər sənədlər isə prosessor və proqram təminatı kontekstindən asılı olaraq S:37 ətrafındakı daha geniş real vaxt saatı sahəsini vurğulayır. RTC mənbə sözləri ilə ehtiyatlı davranın: tag ləqəblərini sabitləməzdən əvvəl quraşdırılmış kataloq və seriya üçün dəqiq status-faylı xəritəsini yoxlayın. Təqvim sahələri etibarlı olduqdan sonra alqoritmin özü SLC-5/04 layihələri arasında daşına bilər.

Məlumat cədvəlinin quruluşu

Səliqəli tamədəd quruluşu proqramı növbəti texnik üçün oxunaqlı saxlayır. Tipik nümunədə N7 registrlərindən belə istifadə olunur: N7:0 il, N7:1 ay, N7:2 ayın günü, N7:3 ilin günü nəticəsi, N7:4 uzun il bayrağı və N7:5 aralıq CPT nəticələri üçün müvəqqəti sahə. Aylar üzrə kumulyativ gün sürüşmələrini sabit tamədəd cədvəlində saxlayın — məsələn, N10:1-dən N10:12-yə qədər sıfır, 31, 59, 90, 120, 151, 151, 181, 212, 243, 273, 304 qiymətləri ilə noyabra qədər uzun olmayan il bazası üçün; fevral üzrə emal cədvəli iş vaxtında dəyişdirmək əvəzinə uzun il bayrağı ilə həyata keçirilir. Dəqiq cədvəli seçdiyiniz sıfır əsaslı indeksləməyə uyğunlaşdırın, lakin bunu rung-ların yanında sənədləşdirin.

İlin günü yanaşmasına nümunə (konseptual)
Uzun il = (İl 4-ə bölünür) və lazım olduqda əsr qaydaları tətbiq edilir
İlin günü = Gün + Kumulyativ[Ay] + (Uzun il VƏ Ay>2)
Printerlər üçün ASC / AIF üslublu formatlama ilə YYYYDDD sətri

Bir çox zavod üçün YYYYDDD formatında ilin günü (DOY) kifayətdir və tam astronomik JDN mürəkkəbliyindən qaçmağa imkan verir. Əsrləri əhatə edən tam Julian gün nömrələri üçün daha geniş tamədəd emalı tələb olunur; aralıq hasilatlar mərhələləndirilmədikdə, SLC CPT əməliyyatlarında 16 bitlik tamədədlər daşır. DOY-ni 16 bitlik sahədə hesablamağa, sonra isə tək və həddən artıq böyük tamədəd yaratmaq əvəzinə ili və sıfırlarla tamamlanmış DOY-ni printer üçün ASCII faylında birləşdirməyə üstünlük verin.

Uzun il və CPT quruluşu

Uzun il məntiqi keyfiyyət sisteminizdə istifadə olunan mülki təqvim qaydalarına uyğun olmalıdır. Ən azı, dördə bölünən illər uzun il sayılır; məhsulunuzun istifadə müddəti əsr dəyişikliklərini əhatə edirsə, Qriqorian təqviminin tam istisnalarını tətbiq edin (əsr illəri yalnız 400-ə bölündükdə uzun il sayılır). İl uzun ildirsə, N7:4-ə bir yazın. Kumulyativ ay sürüşməsini əlavə edərkən yalnız uzun il bayrağı aktiv olduqda və ay fevraldan böyük olduqda əlavə bir gün artırın. Bu əlavəni oxunması çətin ifadənin içində iç-içə şərtlərlə gizlətmək əvəzinə ayrıca CPT-də yerinə yetirin.

Yoxlanılmış RTC mənbə sözlərindən ili, ayı və günü yavaş periodik tapşırıqda və ya ilk skanla yanaşı gündəlik keçid zamanı N7 iş registrlərinə köçürün. Sonrakı ASC formatlaması baha başa gəlirsə, hər sərbəst işləyən rung-da RTC sözlərini oxumayın; tarix kodlaşdırması üçün adətən dəqiqədə bir dəfə yeniləmə kifayətdir.

SLC-5/04 Julian Date Generator Implementation Guide — şəkil 2 Sabit barkod uzunluğu tələb olunduqda, sıfırlarla tamamlanmış DOY sətirləri xam tamədədlərlə müqayisədə etiket printerlərini daha etibarlı qidalandırır.

Etiket printerləri üçün ASCII formatlaması

Əksər sənaye printerləri sabit enli sətir gözləyir. DOY N7:3-də hesablandıqdan sonra gün sahəsinin əvvəlinə sıfırlar əlavə etməklə YYYYDDD kimi sətir yaratmaq üçün ASCII fayl təlimatlarından istifadə edin. Çap əl sıxmasını işə salmazdan əvvəl uzunluğu yoxlayın. Printer protokolunda ayırıcılar və ya zavoda məxsus prefikslər tələb olunursa, printerin sıfır əlavə etməsinə güvənmək əvəzinə onları eyni sətir buferində yaradın.

  1. Müəyyən 1747-L542 (və ya quraşdırılmış SLC-5/04) proqram təminatı üçün RTC söz xəritələndirməsini təsdiqləyin.
  2. N7 iş tag-lərini və kumulyativ ay cədvəlini tamədəd faylında yaradın.
  3. Uzun il üçün CPT məntiqini və gün + kumulyativ + uzun il düzəlişini əlavə edən DOY CPT-ni yazın.
  4. ASC vasitəsilə YYYYDDD formatını yaradın və 28 fevral, eləcə də uzun və uzun olmayan illərdə 1 mart daxil olmaqla məlum tarixlərlə sınaqdan keçirin.
  5. Hər hansı proqram tam çoxəsrlik JDN hasilatını hesablamağa cəhd edirsə, 16 bitlik daşmadan qorunun; riyaziyyatı mərhələləndirin və ya həmin hesablamanı SLC-dən kənara çıxarın.

Uzun il və printerdə sıfır doldurma yoxlamaları

Yoxlama tarixlərinə 2024-02-29, 2024-03-01, 2025-02-28 və ilin sonundakı 12-31 keçidləri daxil edilməlidir. PLC DOY dəyərini müstəqil təqvimlə müqayisə edin. Əsas problemlərə yanlış status-faylı ünvanlarına etibar etmək, fevral üzrə uzun il düzəlişini unutmaq, barkod sahələrini sürüşdürən sıfırsız DOY dəyərlərini çap etmək və kimsə proqramı daha sonra tam JDN-ə doğru genişləndirərkən CPT aralıq qiymətlərinin daşması daxildir. Həmin maşında faktiki istifadə olunan RTC mənbə sözlərinə istinad edən şərhləri ladder məntiqində saxlayın.

Tarix kodu daha geniş qablaşdırma hüceyrəsinin bir hissəsidirsə, generatoru təkrar istifadə edilə bilən fayl kimi saxlayın və xətlər üzrə tamədəd quruluşlarını standartlaşdırın. Bu SLC-500 PLC sistemləri üçün ehtiyat prosessorlar və sənədlər tarix-kodu proqramını da əhatə etməlidir ki, prosessor dəyişdirilərkən sistem səssizcə köhnə və səhv təqvim tətbiqinə qayıtmasın.

Müəllif haqqında

Mark Townsend | Baş avtomatlaşdırma mühəndisi – Allen-Bradley sistemləri

Mark Townsend ControlLogix, CompactLogix və köhnə SLC-500 daxil olmaqla Allen-Bradley platformalarında 18 ildən çox təcrübəyə malik baş avtomatlaşdırma mühəndisidir. Onun gündəlik işi köhnəlmiş və qarışıq sistem parklarında RSLogix / Studio 5000 məntiqi və FactoryTalk View HMI-nin işə salınmasıdır.

Leave a comment

Please note, comments need to be approved before they are published.