SLC-5/04 Jülyen Tarihi Oluşturucu Uygulama Kılavuzu
Etiket yazıcılarına ASCII çıktısı almak için SLC-5/04 üzerinde bir Jülyen Tarihi oluşturucu uygulayın. Compute komutlarını içeren, adım adım ladder mantığı.
1747-L542 gibi işlemcileri içeren SLC-5/04 ailesinde yerleşik bir Jülyen gün numarası (JDN) komutu bulunmaz. Ambalajlama, parti kodlama ve etiket yazıcıları sıklıkla yılın günü değerini veya kompakt bir YYYYDDD dizesini gerektirir; bu nedenle mantığın sıradan matematik ve veri tablosu işlemleri kullanılarak oluşturulması gerekir. Bu kılavuzda CPT ifadeleri, kümülatif ay-gün tablosu, artık yıl işleme ve yazıcı yükleri için ASCII dönüşümü kullanan, bakımı kolay bir yaklaşım sunulurken ilk uygulamalarda sıkça sorun çıkaran on altı bitlik matematik sınırlarına da dikkat çekilmektedir.
SLC-5/04 işlemcileri, dikkatle alınan RTC değerleriyle CPT, tamsayı dosyaları ve ladder kullanarak yılın gününü ve Jülyen tarzı kodları hesaplar.
Kaynak materyaller bazen yıl, ay ve gün için S:50–S:52 bölgesindeki durum dosyası sözcüklerini gösterirken, diğer belgeler işlemciye ve ürün yazılımı bağlamına bağlı olarak S:37 çevresindeki daha geniş gerçek zamanlı saat alanını vurgular. RTC kaynak sözcüklerini dikkatle ele alın: etiket takma adlarını kesinleştirmeden önce, kurulu katalog ve seri için durum dosyasının tam eşlemesini doğrulayın. Takvim alanlarına güvenildikten sonra algoritmanın kendisi SLC-5/04 projeleri arasında taşınabilir.
Veri tablosu düzeni
Temiz bir tamsayı düzeni, rutinin sonraki teknisyen tarafından kolayca okunmasını sağlar. Tipik bir düzen N7 kayıtlarını şu şekilde kullanır: N7:0 yıl, N7:1 ay, N7:2 ayın günü, N7:3 yılın günü sonucu, N7:4 artık yıl bayrağı ve N7:5 ara CPT sonuçları için hazırlama alanı. Ayların kümülatif gün ofsetlerini sabit bir tamsayı tablosunda saklayın; örneğin N10:1 ile N10:12 arasında, çalışma zamanında tabloyu değiştirmek yerine artık yıl bayrağıyla Şubat işlemesi uygulanarak, artık olmayan yıl temelinde Kasım ayına kadar 0, 31, 59, 90, 120, 151, 151, 181, 212, 243, 273, 304 değerleri bulunabilir. Kesin tabloyu tercih ettiğiniz sıfır tabanlı indekslemeye göre ayarlayın, ancak bunu rung'ların yanında belgeleyin.
Örnek DOY yaklaşımı (kavramsal)
Artık yıl = (Y 4'e bölünebilir) ve gerektiğinde yüzyıl kuralları
DOY = Gün + Kümülatif[Ay] + (Artık yıl VE Ay>2)
Yazıcılar için ASC / AIF tarzı biçimlendirmeyle YYYYDDD dizesi
Birçok fabrika için YYYYDDD biçimindeki yılın günü (DOY) yeterlidir ve tam astronomik JDN karmaşıklığını ortadan kaldırır. Yüzyılları kapsayan tam Jülyen gün numaraları daha geniş tamsayı kullanımı gerektirir; ara çarpımlar hazırlama adımlarına bölünmezse SLC CPT işlemleri 16 bitlik tamsayılarda taşma yapar. DOY'yi 16 bitlik alanda hesaplamayı, ardından tek bir aşırı büyük tamsayı oluşturmaya çalışmak yerine yılı ve başında sıfır bulunan DOY'yi yazıcı için bir ASCII dosyasında birleştirmeyi tercih edin.
Artık yıl ve CPT yapısı
Artık yıl mantığı, kalite sisteminizde kullanılan medeni takvim kurallarını izlemelidir. En azından dörde bölünebilen yıllar artık yıldır; ürün yaşam döngünüz yüzyıl sınırlarını kapsıyorsa tam Gregoryen istisnalarını uygulayın (yüzyıl yılları yalnızca 400'e bölünebiliyorsa artık yıldır). Yıl artık yılsa N7:4'ü bir olarak ayarlayın. Kümülatif ay ofsetini eklerken yalnızca artık yıl bayrağı ayarlanmışsa ve ay Şubat'tan sonraysa bir ek gün ekleyin. Bu eklemeyi, okunması zor bir ifadenin içine iç içe koşullar gömmek yerine özel bir CPT'de gerçekleştirin.
Doğrulanmış RTC kaynak sözcüklerindeki yıl, ay ve günü yavaş periyodik bir görevde veya ilk tarama artı günlük kenar tetiklemesinde N7 çalışma kayıtlarına kopyalayın. Aşağı akıştaki ASC biçimlendirmesi maliyetliyse RTC sözcüklerini sürekli çalışan her rung'da okumayın; tarih kodlama için dakikada bir yenileme genellikle yeterlidir.
Çubuk kod uzunluğunun sabit kalması gereken durumlarda, başında sıfır bulunan DOY dizeleri etiket yazıcılarını ham tamsayılardan daha güvenilir biçimde besler.
Etiket yazıcıları için ASCII biçimlendirmesi
Çoğu endüstriyel yazıcı sabit genişlikte bir dize bekler. DOY N7:3'te hesaplandıktan sonra, gün alanının başına sıfırlar eklenmiş YYYYDDD gibi bir dize oluşturmak için ASCII dosya komutlarını kullanın. Yazdırma el sıkışmasını tetiklemeden önce uzunluğu doğrulayın. Yazıcı protokolü ayraçlar veya tesise özgü ön ekler gerektiriyorsa bunları yazıcının dolgu yapmasına güvenmek yerine aynı dize arabelleğinde oluşturun.
- Belirli 1747-L542 (veya kurulu SLC-5/04) ürün yazılımı için RTC sözcük eşlemesini doğrulayın.
- N7 çalışma etiketlerini ve kümülatif ay tablosunu bir tamsayı dosyasında oluşturun.
- Artık yıl CPT mantığını ve gün + kümülatif + artık yıl düzeltmesini ekleyen bir DOY CPT'si yazın.
- YYYYDDD'yi ASC üzerinden biçimlendirin ve artık yıl ile artık olmayan yıllarda 28 Şubat ve 1 Mart dahil olmak üzere bilinen takvim tarihleriyle test edin.
- Herhangi bir rutin tam, birden çok yüzyılı kapsayan JDN çarpımları deniyorsa 16 bitlik taşmaya karşı koruma sağlayın; matematiği aşamalara bölün veya bu hesabı SLC dışında gerçekleştirin.
Artık yıl ve yazıcıda başa sıfır ekleme kontrolleri
Doğrulama tarihleri 2024-02-29, 2024-03-01, 2025-02-28 ve yıl sonu 12-31 geçişlerini içermelidir. PLC DOY değerini bağımsız bir takvimle karşılaştırın. Yaygın sorunlar arasında yanlış durum dosyası adreslerine güvenmek, Şubat ayındaki artık yıl düzeltmesini unutmak, barkod alanlarını kaydıran dolgulanmamış DOY değerleri yazdırmak ve birisi rutini daha sonra tam JDN yönünde genişlettiğinde CPT ara sonuçlarında taşma oluşması bulunur. Ladder içinde, o makinede fiilen kullanılan RTC kaynak sözcüklerine atıfta bulunan yorumları koruyun.
Tarih kodu daha geniş bir ambalajlama hücresinin parçası olduğunda üreteci yeniden kullanılabilir bir dosya olarak saklayın ve hatlar arasında tamsayı düzenlerini standartlaştırın. Bu SLC-500 PLC sistemleri için yedek işlemciler ve belgeler, bir işlemci değişiminin fark edilmeden daha eski ve hatalı bir takvim uygulamasına dönmesini önlemek amacıyla tarih kodu rutinini içermelidir.
Yazar hakkında
Mark Townsend | Kıdemli Otomasyon Mühendisi – Allen-Bradley Sistemleri
Mark Townsend, ControlLogix, CompactLogix ve eski SLC-500 platformlarını kapsayan Allen-Bradley sistemlerinde 18 yılı aşkın deneyime sahip kıdemli bir otomasyon mühendisidir. Günlük çalışmaları, eski ve karma sistem filolarında RSLogix / Studio 5000 mantığı ile FactoryTalk View HMI devreye alma işlemlerini kapsar.