Bloga geri dön

Nesne Yönelimli Düşünceyi PLC Programlamaya Taşımak

Nesne yönelimli PLC tasarımı; kapsüllenmiş bileşenler, açık arayüzler, bileşim, durum modelleri, test ve sürüm denetimi sayesinde kopyala-yapıştır kaynaklı riskleri azaltırken her denetleyici platf...

Nesne yönelimli düşünme, PLC yazılımının yeniden kullanılmasını, test edilmesini ve bakımını kolaylaştırabilir; ancak bu, her yerde geçerli tek bir özellik kümesi değildir. Bazı IEC 61131-3 ortamları yöntemleri, arayüzleri, özellikleri, kalıtımı ve çok biçimliliği destekler. Diğer kontrolör platformları ise tam nesne yönelimli modeli uygulamadan yeniden kullanılabilir fonksiyon blokları, eklenti talimatları, kullanıcı tanımlı veri türleri veya kütüphaneler sunar. Mühendisler, tasarımı tam olarak kullanılan platforma ve sürüme göre yapmalıdır.

Pratik amaç, kurumsal yazılımı taklit etmek değildir. Amaç, her valfi, motoru, analog kanalı ve paket üniteyi yeniden bir kopyala-yapıştır çalışması olarak ele almayı bırakmaktır. İyi tanımlanmış bir yazılım bileşeni; her cihaz için tutarlı bir arayüz, durum modeli, alarm davranışı, simülasyon yolu ve tanılama kaydı sağlarken makineye özgü kablolamayı ve proses sınırlarını yeniden kullanılabilir çekirdeğin dışında tutar.

Yeniden kullanılabilir kontrol yazılımı bileşenleri tarafından desteklenen modüler PLC ve I/O donanımı

Donanım tasarım gereği modülerdir; yeniden kullanılabilir yazılım da her modülün arayüzünü, durumunu ve arıza davranışını aynı ölçüde açık hale getirmelidir.

Kalıtımla Değil, Kapsüllemeyle Başlayın

Kapsülleme, ilişkili durum ve davranışın tanımlı bir arayüzün arkasına yerleştirilmesi anlamına gelir. Bir valf bileşeni komutları, izinleri, geri bildirimi, modu ve yapılandırmayı kabul edebilir. Açık, kapalı, hareket ediyor, arızalı, kilitli ve tanılama durumlarını dışa sunabilir. Dahili zamanlayıcı, geçiş algılama, yeniden deneme politikası ve alarm mantığı bileşenin sorumluluğunda kalır.

Bu yaklaşım, kalıtımı desteklemeyen bir platformda bile değerlidir. Bir fonksiyon bloğu veya eklenti talimatı, dahili durumu koruyabilir, davranışı standartlaştırabilir ve yinelenen kodu azaltabilir. Kalıtım yalnızca gerçek bir “türüdür” ilişkisi olduğunda ve türetilmiş tür temel arayüze uyabildiğinde yararlıdır. Derin kalıtım ağaçlarının çevrim içi tanılanması zordur ve temel sınıfta yapılan küçük bir değişikliğin birçok makineyi etkilemesine yol açabilir.

Tür Tanımını, Örnek Verisini ve I/O Eşlemesini Ayırın

Yeniden kullanılabilir bir tanım davranışı açıklar. Bir örnek, fiziksel veya mantıksal bir cihazın durumunu saklar. I/O eşlemesi bu örneği gerçek sinyallere bağlar. Bu sorumlulukların karıştırılması, kütüphane mantığını raf adreslerine bağımlı hale getirir ve güvenli çevrim dışı testi engeller.

Fiziksel giriş ve çıkış etiketlerini entegrasyon sınırında tutun. Ham sinyalleri anlaşılır Boolean veya mühendislik birimi değerlerine dönüştürün, ardından yeniden kullanılabilir bileşeni çağırın ve onaylanmış çıkış isteklerini donanıma geri eşleyin. Bu yapı simülasyonu, yedek I/O kullanımını ve aşamalı geçişi destekler. Ayrıca üst düzey programın tekrarlanan adres işlemleri yerine proses amacını göstermesini sağlar.

Kontrolörler ve I/O aileleri PLC ve PAC sistemleri koleksiyonu üzerinden incelenebilir; ancak seçilen yazılım mimarisi, kontrolörün desteklediği dillere, bellek modeline, çevrim içi değişiklik kurallarına ve güvenlik sertifikasyonuna uygun olmalıdır.

Arayüzleri Davranış Sözleşmeleri Olarak Kullanın

Platform arayüzleri destekliyorsa, çağıranların güvenebileceği işlemleri uygulama ayrıntılarını açığa çıkarmadan tanımlayın. Örneğin CODESYS, yöntemleri, arayüzleri, özellikleri, kalıtımı ve sanal yöntem çağrılarını içeren nesne yönelimli fonksiyon bloklarını resmî nesne yönelimli programlama başvurusunda belgeler. Bu özellik gerçektir; ancak her PLC ortamında varmış gibi varsayılmamalıdır.

Bir arayüz, farklı motor uygulamalarının ortak komutları ve durumları sunmasını sağlayabilir. Basit bir yol verici, frekans konvertörü ve servo; etkinleştirme, durdurma, sıfırlama, mod, hazır, çalışıyor ve arıza bilgilerini desteklerken farklı dahili tanılama bilgilerini koruyabilir. Böylece çağrı sırası, üreticiye özgü her parametreye değil, sözleşmeye bağlı olur.

Makineler ve Skidler İçin Kompozisyonu Tercih Edin

Endüstriyel ekipmanların çoğu doğal olarak bileşik yapıdadır. Bir pompa paketi motor, izolasyon valfleri, izinler, analog ölçümler ve sıra mantığı içerir. Bir tank sistemi seviye cihazları, valfler, pompalar, alarmlar ve çalışma modlarından oluşur. Bu büyük üniteleri, her cihazı tek bir evrensel temel sınıftan türetmek yerine, test edilmiş daha küçük bileşenleri içerecek şekilde oluşturun.

Kompozisyon, sorumluluğu görünür tutar. Pompa sırası motorunu ve valflerini kumanda edebilir; ancak motor bileşeni yol verici geri bildiriminden, çalıştırma zaman aşımından ve motora özgü arıza durumlarından sorumlu olmaya devam eder. Analog bileşen sinyal geçerliliğini ve ölçeklendirmeyi yönetir. Ünite bunları koordine eder ve üst düzey mantığa özlü bir durum bildirir.

Proses pompası ve valf ekipmanlarının bileşik PLC yazılımı bileşenleri olarak modellenmesi

Kompozisyon, ekipman hiyerarşisini yansıtırken her motor, valf ve cihaz bileşeninin kendi tanılamasını korumasını sağlar.

Açık Bir Durum Modeli Tasarlayın

Bir bileşen, çalışma durumunu gözlemlenebilir hale getirmelidir. Yalnızca Boolean komut mantığı kullanmak; çalışıyor ve durmuş, otomatik ve manuel veya sağlıklı ve arızalı gibi aynı anda gerçekleşmesi imkânsız birleşimler oluşturabilir. Numaralandırılmış bir durum modeli; boşta, başlatılıyor, çalışıyor, duruyor, arızalı ve bakım durumlarını kasıtlı geçişlerle ifade edebilir.

Her geçiş için giriş koşulları, tamamlanma kanıtı, zaman aşımı davranışı ve iptal kuralları gerekir. Komutlar, duruma doğrudan atama yapmak yerine istek olmalıdır. Sıfırlama, yalnızca temel koşul izin verdiğinde kilitlenmiş bir arızayı temizlemelidir. Manuel mod, hangi korumaların etkin kalacağını ve çıkışın sorumluluğunun kimde olduğunu tanımlamalıdır.

Yapılandırmayı Çalışma Zamanı Durumundan Ayırın

Yapılandırma; zaman sınırlarını, mühendislik aralıklarını, alarm eşiklerini, ekipman seçeneklerini ve özellik etkinleştirmelerini içerir. Çalışma zamanı durumu ise zamanlayıcı birikimlerini, mevcut modu, komut sahipliğini, arıza geçmişini ve geçiş durumunu kapsar. Bunları ayırmak, değişiklik incelemesini ve reçete yönetimini daha anlaşılır hale getirir.

Her ayarın bir HMI üzerinden yazılabilir olması gerekmez. Aralık kontrollerini, rol izinlerini, değişiklik günlüğünü ve yeni değerin ne zaman etkinleşeceğini tanımlayın. Kalıcı veriler için de açık bir politika gerekir. Güç döngüsünden sonra devam eden bir bileşen, tüm dahili değişkenleri kalıcı olarak yapılandırıldığı için güvenli olmayan bir komutu geri yüklememelidir.

Örnekleri Çoğaltmadan Önce Bileşenleri Test Edin

Yeniden kullanımın avantajı ancak tanım güvenilir olduğunda ortaya çıkar. Normal geri bildirimi, gecikmiş geri bildirimi, çelişkili girişleri, iletişim kaybını, hatalı analog kalitesini, mod değişikliklerini, sıfırlama girişimlerini, güç açılışını ve zaman aşımı sınırlarını uygulayan bir test düzeneği oluşturun. Her durum için çıkışları, alarmları ve durum geçişlerini doğrulayın.

Ardından paylaşılan durum hatalarını ortaya çıkarmak için birden çok örneği test edin. Gerçekçi ölçekte tarama süresini ve bellek etkisini doğrulayın. Üst düzeydeki kısa bir çağrı, uygulamanın işlemci açısından maliyetsiz olduğu anlamına gelmez. Çevrim içi düzenlemeler, kütüphane yükseltmeleri ve örnek verisi geçişi, devreye almadan önce hedef kontrolörde prova edilmelidir.

Kütüphane Değişikliklerini ve Sürümlemeyi Kontrol Edin

Yeniden kullanılabilir bir bileşen bir düzeltmeyi geniş ölçekte yayabilir; ancak bir kusuru da aynı ölçekte yayabilir. Her yayımlanan türe bir sürüm, belgelenmiş arayüz, test kaydı ve değişiklik geçmişi verin. Değişiklikleri uyumlu veya kırıcı olarak sınıflandırın. Yerleşik bir tanımda alarm anlamını, varsayılan zamanlamayı, çıkış davranışını veya kalıcı veri düzenini sessizce değiştirmeyin.

Projeler, hangi kütüphane sürümlerinin derlendiğini ve indirildiğini kaydetmelidir. Bir platform kaynak kopyalarını gömüyorsa, onaylanmış güncellemelerin nasıl karşılaştırılacağına ve içe aktarılacağına karar verin. Yönetilen bir kütüphaneye başvuruyorsa kullanılabilirlik ve geri alma planı oluşturun. Operatör grafikleri ve yüz ekranları, eski üye adlarının geçerli kalacağını varsaymak yerine kontrol arayüzüyle birlikte geliştirilmelidir.

Tanılamayı Operatör Katmanıyla Entegre Edin

Yararlı bir bileşen, neden çalışamadığını bildirir: izin yok, geri bildirim uyuşmazlığı, geçiş zaman aşımı, yerel sahiplik, geçersiz yapılandırma, kötü giriş kalitesi veya güvenlik işlevi etkin. HMI, bu yapılandırılmış durumu, kontrolörün yetkisini geçersiz kılmadan eyleme dönüştürülebilir bir mesaja çevirmelidir. Uygun operatör donanımı HMI ve endüstriyel bilgi işlem bölümünde bulunabilir; ancak tanılama sözleşmesi kontrol kodunda başlar.

Mühendislik Bakış Açısı

PLC programlamada nesne yönelimli yaklaşım; açık arayüzler, kapsüllenmiş durum, kompozisyon, test ve kontrollü yeniden kullanım disiplinleri açısından en değerlidir. Tam kalıtım ve çok biçimlilik, bunları uygulayan platformlarda yararlı olabilir; ancak başlangıç için zorunlu değildir. Sınırları belirlenmiş tek bir cihaz türüyle başlayın, arıza davranışını kanıtlayın, arayüzünü belgeleyin ve yalnızca test kanıtları sağlamlaştıktan sonra ölçeklendirin. Sonuç, kaynak kodunu yalnızca daha gelişmiş göstermemeli; bir sonraki mühendisin devreye alma ve sorun giderme işlerini de kolaylaştırmalıdır.

Yorum bırakın

Lütfen unutmayın, yorumların yayınlanmadan önce onaylanması gerekmektedir.