Obyekt yönümlü düşüncə tərzini PLC proqramlaşdırmasına gətirmək
Obyekt-yönümlü PLC dizaynı kapsullaşdırılmış komponentlər, aydın interfeyslər, kompozisiya, vəziyyət modelləri, testləşdirmə və versiyaya nəzarət vasitəsilə kopyalayıb-yapışdırma riskini azaldır və...
Obyekt-yönümlü düşüncə PLC proqram təminatını yenidən istifadəni, sınağı və texniki xidməti asanlaşdıra bilər, lakin bu, bütün platformalarda eyni olan vahid xüsusiyyətlər toplusu deyil. Bəzi IEC 61131-3 mühitləri metodları, interfeysləri, xassələri, irsiliyi və polimorfizmi dəstəkləyir. Digər kontroller platformaları isə tam obyekt-yönümlü modeli tətbiq etmədən yenidən istifadə edilə bilən funksional bloklar, əlavə təlimatlar, istifadəçi tərəfindən müəyyən edilən verilənlər tipləri və ya kitabxanalar təqdim edir. Mühəndislər proqramı konkret platforma və versiyanın imkanlarına uyğun layihələndirməlidirlər.
Praktik məqsəd korporativ proqram təminatını təqlid etmək deyil. Məqsəd hər bir klapanı, mühərriki, analoq kanalı və paket qurğusunu hər dəfə yenidən kopyalayıb-yapışdırılan element kimi qəbul etməyi dayandırmaqdır. Düzgün müəyyən edilmiş proqram komponenti hər bir qurğuya ardıcıl interfeys, vəziyyət modeli, siqnalizasiya davranışı, simulyasiya yolu və diaqnostik qeyd verir, maşına xas naqilləri və proses məhdudiyyətlərini isə yenidən istifadə edilə bilən nüvədən kənarda saxlayır.

Aparat konstruksiya baxımından modul şəkildə hazırlanır; yenidən istifadə edilə bilən proqram təminatı hər modulun interfeysini, vəziyyətini və nasazlıq davranışını eyni dərəcədə aydın göstərməlidir.
İrsilikdən deyil, Kapsullaşdırmadan başlayın
Kapsullaşdırma əlaqəli vəziyyəti və davranışı müəyyən edilmiş interfeysin arxasında yerləşdirmək deməkdir. Klapan komponenti əmrləri, icazə şərtlərini, əks əlaqəni, rejimi və konfiqurasiyanı qəbul edə bilər. O, açıq, bağlı, hərəkətdə, nasaz, bloklanmış və diaqnostik vəziyyətlərini təqdim edə bilər. Daxili taymer, keçid aşkarlanması, təkrar cəhd siyasəti və siqnalizasiya məntiqi komponentin məsuliyyətində qalır.
Bu yanaşma irsiliyi dəstəkləməyən platformada belə dəyərlidir. Funksional blok və ya əlavə təlimat daxili vəziyyəti qoruya, davranışı standartlaşdıra və təkrarlanan kodu azalda bilər. İrsilik yalnız həqiqi “bir növüdür” münasibəti olduqda və törəmə tip əsas interfeysə riayət edə bildikdə faydalıdır. Dərin irsilik ağaclarını onlayn diaqnostika etmək çətindir və əsas tipdəki kiçik dəyişikliklərin bir çox maşına təsir etməsinə səbəb ola bilər.
Tip Tərifini, Nümunə Verilənlərini və Giriş-Çıxış Xəritələndirməsini Ayırın
Yenidən istifadə edilə bilən tərif davranışı təsvir edir. Nümunə bir fiziki və ya məntiqi qurğunun vəziyyətini saxlayır. Giriş-çıxış xəritələndirməsi həmin nümunəni real siqnallara bağlayır. Bu məsuliyyətlərin qarışdırılması kitabxana məntiqini şkaf ünvanlarından asılı edir və təhlükəsiz oflayn sınağa mane olur.
Fiziki giriş və çıxış teqlərini inteqrasiya sərhədində saxlayın. Xam siqnalları aydın Boolean və ya mühəndislik vahidi qiymətlərinə çevirin, sonra yenidən istifadə edilə bilən komponenti çağırın və təsdiqlənmiş çıxış tələblərini avadanlığa geri xəritələndirin. Bu quruluş simulyasiyanı, əvəzləyici giriş-çıxışı və mərhələli miqrasiyanı dəstəkləyir. Həmçinin yuxarı səviyyəli proqramın ünvanların təkrar-təkrar idarə edilməsini deyil, proses niyyətini göstərməsinə imkan verir.
Kontrollerlər və giriş-çıxış ailələri PLC və PAC sistemləri kolleksiyasında nəzərdən keçirilə bilər, lakin seçilmiş proqram arxitekturası kontrollerin dəstəklədiyi dillərə, yaddaş modelinə, onlayn dəyişiklik qaydalarına və təhlükəsizlik sertifikatına uyğun olmalıdır.
İnterfeyslərdən Davranış Müqavilələri kimi İstifadə Edin
Platforma interfeysləri dəstəkləyirsə, çağıran tərəflərin asılı ola biləcəyi əməliyyatları müəyyənləşdirin və tətbiq detallarını üzə çıxarmayın. Məsələn, CODESYS öz rəsmi obyekt-yönümlü proqramlaşdırma istinadında metodlar, interfeyslər, xassələr, irsilik və virtual metod çağırışları ilə obyekt-yönümlü funksional blokları sənədləşdirir. Bu imkan realdır, lakin onu hər PLC mühitinə şamil etmək olmaz.
İnterfeys müxtəlif mühərrik tətbiqlərinə ümumi əmrlər və status təqdim etməyə imkan verə bilər. Sadə işəsalma qurğusu, tezlik çeviricisi və servo eyni zamanda aktivləşdirmə, dayandırma, sıfırlama, rejim, hazır, işləyir və nasazlıq məlumatlarını dəstəkləyə, lakin daxili diaqnostikaları fərqli qala bilər. Bu halda çağırış ardıcıllığı hər bir istehsalçıya xas parametrdən deyil, müqavilədən asılı olur.
Maşınlar və Paket Qurğuları üçün Kompozisiyaya Üstünlük Verin
Əksər sənaye avadanlıqları təbii olaraq komponentlərdən ibarətdir. Nasos paketinə mühərrik, izolyasiya klapanları, icazə şərtləri, analoq ölçmələr və ardıcıllıq məntiqi daxildir. Çən sisteminə səviyyə cihazları, klapanlar, nasoslar, siqnallar və iş rejimləri daxildir. Hər qurğunu vahid universal əsas sinifdən törətmək əvəzinə, bu böyük vahidləri sınaqdan keçirilmiş kiçik komponentləri özündə birləşdirərək yaradın.
Kompozisiya məsuliyyəti görünən saxlayır. Nasos ardıcıllığı mühərriki və klapanları idarə edə bilər, lakin mühərrik komponenti işəsalma əks əlaqəsinə, işəsalma vaxt aşımına və mühərrikə xas nasazlıq vəziyyətlərinə yenə də özü cavabdeh olur. Analoq komponent siqnalın etibarlılığına və miqyaslandırılmasına cavabdehdir. Qurğu bunları əlaqələndirir və yuxarı səviyyəli məntiqə yığcam vəziyyət təqdim edir.

Kompozisiya avadanlığın iyerarxiyasını əks etdirir və eyni zamanda hər mühərrik, klapan və cihaz komponentinin öz diaqnostikasını saxlamasına imkan verir.
Aydın Vəziyyət Modeli Hazırlayın
Komponent öz iş vəziyyətini müşahidə edilə bilən etməlidir. Yalnız Boolean əmrlərindən istifadə edilən məntiq çox vaxt işləyir və dayanıb, avtomatik və əl ilə, yaxud sağlam və nasaz kimi bir-birinə zidd kombinasiyalar yaradır. Sadalanan vəziyyət modeli boş, işə düşür, işləyir, dayanır, nasaz və texniki xidmət vəziyyətlərini məqsədli keçidlərlə ifadə edə bilər.
Hər keçid üçün giriş şərtləri, tamamlanma sübutu, vaxt aşımı davranışı və ləğvetmə qaydaları tələb olunur. Əmrlər vəziyyətə birbaşa qiymət mənimsətməsi deyil, sorğu olmalıdır. Sıfırlama yalnız əsas şərt buna imkan verdikdə yaddaşda saxlanılan nasazlığı silməlidir. Əl rejimi hansı mühafizələrin aktiv qalacağını və çıxışa kimin nəzarət etdiyini müəyyən etməlidir.
Konfiqurasiyanı İcra Vəziyyətindən Ayrı Saxlayın
Konfiqurasiyaya vaxt məhdudiyyətləri, mühəndislik diapazonları, siqnalizasiya hədləri, avadanlıq seçimləri və funksiyanın aktivləşdirilməsi daxildir. İcra vəziyyətinə taymer akkumulyatorları, cari rejim, əmr sahibliyi, nasazlıq tarixçəsi və keçid statusu daxildir. Bunların ayrılması dəyişikliklərin nəzərdən keçirilməsini və reseptlərin idarə edilməsini daha aydın edir.
Hər parametr HMI-dan yazıla bilən olmamalıdır. Diapazon yoxlamalarını, rol icazələrini, dəyişikliklərin qeydiyyatını və yeni qiymətin nə vaxt qüvvəyə minəcəyini müəyyənləşdirin. Saxlanılan verilənlər də açıq siyasət tələb edir. Elektrik kəsilməsindən sonra bərpa olunan komponent bütün daxili dəyişənlər davamlı olaraq konfiqurasiya edildiyi üçün təhlükəli əmri bərpa etməməlidir.
Nümunələri Çoxaltmazdan Əvvəl Komponentləri Sınaqdan Keçirin
Yenidən istifadənin üstünlüyü yalnız tərif etibarlı olduqda üzə çıxır. Normal əks əlaqəni, gecikmiş əks əlaqəni, ziddiyyətli girişləri, rabitə itkisini, keyfiyyətsiz analoq siqnalını, rejim dəyişikliklərini, sıfırlama cəhdlərini, işəsalmanı və vaxt aşımı sərhədlərini idarə edən sınaq qurğusu hazırlayın. Hər hal üzrə çıxışları, siqnalları və vəziyyət keçidlərini təsdiqləyin.
Sonra ortaq vəziyyətlə bağlı səhvləri üzə çıxarmaq üçün bir neçə nümunəni sınaqdan keçirin. Real miqyasda skan vaxtını və yaddaş təsirini yoxlayın. Yuxarı səviyyədə yığcam çağırış tətbiqin hesablama baxımından pulsuz olduğu demək deyil. Onlayn redaktələr, kitabxana yeniləmələri və nümunə verilənlərinin miqrasiyası tətbiqdən əvvəl hədəf kontrollerdə sınaqdan keçirilməlidir.
Kitabxana Dəyişikliklərinə və Versiyalara Nəzarət Edin
Yenidən istifadə edilə bilən komponent bir düzəlişi geniş miqyasda tətbiq edə bilər, lakin qüsuru da eyni şəkildə yaya bilər. Hər buraxılmış tipə versiya, sənədləşdirilmiş interfeys, sınaq qeydi və dəyişiklik tarixçəsi verin. Dəyişiklikləri uyğun və pozucu olaraq təsnif edin. Mövcud tərifdə siqnalizasiya semantikasını, standart vaxtlamanı, çıxış davranışını və ya saxlanılan verilənlərin strukturunu gizli şəkildə dəyişdirməyin.
Layihələr hansı kitabxana versiyalarının kompilyasiya edildiyini və yükləndiyini qeyd etməlidir. Platforma mənbə nüsxələrini özündə saxlayırsa, təsdiqlənmiş yeniləmələrin necə müqayisə ediləcəyini və idxal olunacağını müəyyənləşdirin. İdarə olunan kitabxanaya istinad edirsə, əlçatanlıq və geri qaytarma planı hazırlayın. Operator qrafikləri və üz panelləri köhnə üzv adlarının dəyişməz qalacağını fərz etmək əvəzinə, idarəetmə interfeysi ilə birlikdə yenilənməlidir.
Diaqnostikanı Operator Səviyyəsi ilə İnteqrasiya Edin
Faydalı komponent niyə fəaliyyət göstərə bilmədiyini bildirir: icazə şərti yoxdur, əks əlaqə uyğunsuzdur, keçid vaxtı aşıb, yerli idarəetmə aktivdir, konfiqurasiya etibarsızdır, giriş siqnalının keyfiyyəti pisdir və ya təhlükəsizlik funksiyası aktivdir. HMI bu strukturlaşdırılmış statusu icra edilə bilən mesaja çevirməli, lakin kontrollerin səlahiyyətini yan keçməməlidir. Uyğun operator avadanlığını HMI və sənaye hesablama sistemləri bölməsində tapmaq olar, lakin diaqnostik müqavilə idarəetmə kodunda başlayır.
Mühəndislik Baxışı
PLC-də obyekt-yönümlü proqramlaşdırma ən çox aydın interfeyslər, kapsullaşdırılmış vəziyyət, kompozisiya, sınaq və nəzarətli yenidən istifadə intizamı kimi dəyərlidir. Tam irsilik və polimorfizm bunları tətbiq edən platformalarda faydalı ola bilər, lakin başlanğıc tələbi deyil. Bir məhdudlaşdırılmış qurğu tipi ilə başlayın, onun nasazlıq davranışını sübut edin, interfeysini sənədləşdirin və yalnız sınaq sübutları möhkəm olduqdan sonra miqyası artırın. Nəticə mənbə kodunu sadəcə daha mürəkkəb göstərməməli, növbəti mühəndis üçün istismara vermə və nasazlıqların aradan qaldırılmasını asanlaşdırmalıdır.