Back to blog

PLC бағдарламалауға объектіге бағытталған ойлау тәсілін енгізу

Объектіге бағытталған PLC жобалауы инкапсуляцияланған компоненттер, айқын интерфейстер, композиция, күй модельдері, тестілеу және нұсқаларды басқару арқылы көшіру-қою тәуекелін азайтады, бұл ретте ...

Объектіге бағытталған ойлау PLC бағдарламалық жасақтамасын қайта пайдалануды, тестілеуді және сүйемелдеуді жеңілдетуі мүмкін, бірақ оның бірыңғай әмбебап мүмкіндіктер жиынтығы жоқ. Кейбір IEC 61131-3 орталарында әдістер, интерфейстер, қасиеттер, мұрагерлік және полиморфизм қолдау табады. Ал басқа контроллер платформалары толық объектіге бағытталған модельді енгізбестен, қайта пайдаланылатын функционалдық блоктарды, қосымша нұсқауларды, пайдаланушы анықтайтын деректер типтерін немесе кітапханаларды ұсынады. Инженерлер нақты платформа мен нұсқаға бейімделіп жобалауы керек.

Практикалық мақсат — кәсіпорындық бағдарламалық жасақтамаға еліктеу емес. Мақсат — әрбір клапанды, қозғалтқышты, аналогтық арнаны және жинақтық қондырғыны қайта-қайта көшіру және қою жұмысы ретінде қарастыруды тоқтату. Жақсы анықталған бағдарламалық компонент әр құрылғыға бірізді интерфейс, күй моделі, дабыл әрекеті, модельдеу жолы және диагностикалық жазба береді, ал машинаға тән сымдар мен процесс шектерін қайта пайдаланылатын ядродан тыс қалдырады.

Қайта пайдаланылатын басқару бағдарламалық жасақтамасы компоненттері қолдайтын модульдік PLC және енгізу/шығару жабдығы

Аппараттық құралдар бастапқыдан модульдік етіп жасалады; қайта пайдаланылатын бағдарламалық жасақтама әр модульдің интерфейсін, күйін және ақау кезіндегі әрекетін дәл сондай анық көрсетуі керек.

Мұрагерліктен емес, инкапсуляциядан бастаңыз

Инкапсуляция байланысты күй мен әрекетті анықталған интерфейс артына орналастыруды білдіреді. Клапан компоненті командаларды, рұқсат шарттарын, кері байланысты, режимді және конфигурацияны қабылдауы мүмкін. Ол ашық, жабық, қозғалыста, ақаулы, бұғатталған және диагностикалық күйлерді көрсетуі мүмкін. Ішкі таймер, ауысуды анықтау, қайталау саясаты және дабыл логикасы компоненттің өзіне тиесілі болып қалады.

Бұл мұрагерлік қолдауы жоқ платформада да пайдалы. Функционалдық блок немесе қосымша нұсқау ішкі күйді қорғай алады, әрекетті стандарттай алады және қайталанатын кодты азайтады. Мұрагерлік шынайы «болып табылады» қатынасы болғанда және туынды тип негізгі интерфейсті сақтай алғанда ғана пайдалы. Терең мұрагерлік тармақтарын онлайн диагностикалау қиын, ал негізгі типтегі шағын өзгеріс көптеген машиналарға әсер етуі мүмкін.

Тип анықтамасын, экземпляр деректерін және енгізу/шығару бейнелеуін ажыратыңыз

Қайта пайдаланылатын анықтама әрекетті сипаттайды. Экземпляр бір физикалық немесе логикалық құрылғының күйін сақтайды. Енгізу/шығару бейнелеуі сол экземплярды нақты сигналдармен байланыстырады. Осы міндеттерді араластыру кітапхана логикасын сөре мекенжайларына тәуелді етеді және қауіпсіз офлайн тестілеуге кедергі келтіреді.

Физикалық кіріс және шығыс тегтерін интеграция шекарасында ұстаңыз. Шикі сигналдарды түсінікті логикалық немесе инженерлік бірлік мәндеріне түрлендіріп, қайта пайдаланылатын компонентті шақырыңыз, содан кейін мақұлданған шығыс сұрауларын жабдыққа қайта бейнелеңіз. Бұл құрылым модельдеуді, ауыстырылатын енгізу/шығаруды және кезең-кезеңімен көшіруді қолдайды. Сонымен қатар жоғарғы деңгейдегі бағдарламада мекенжайларды қайта-қайта өңдеудің орнына процесс мақсаты көрсетіледі.

Контроллерлер мен енгізу/шығару отбасыларын PLC және PAC жүйелері топтамасы арқылы қарастыруға болады, бірақ таңдалған бағдарламалық архитектура контроллер қолдайтын тілдерге, жад моделіне, онлайн өзгерту ережелеріне және қауіпсіздік сертификатына сәйкес болуы керек.

Интерфейстерді әрекеттік келісімшарт ретінде пайдаланыңыз

Платформа интерфейстерді қолдаса, іске асыру егжей-тегжейлерін ашпай, шақырушы тараптар тәуелді бола алатын операцияларды анықтаңыз. Мысалы, CODESYS өзінің объектіге бағытталған бағдарламалау жөніндегі ресми анықтамалығында әдістері, интерфейстері, қасиеттері, мұрагерлігі және виртуалды әдістерді шақыруы бар объектіге бағытталған функционалдық блоктарды сипаттайды. Бұл мүмкіндік нақты бар, бірақ оны әрбір PLC ортасына телуге болмайды.

Интерфейс әртүрлі қозғалтқыш іске асыруларына ортақ командалар мен күйді ұсынуға мүмкіндік береді. Қарапайым іске қосқыш, жиілік түрлендіргіші және сервожетек әртүрлі ішкі диагностикасын сақтай отырып, іске қосу рұқсатын, тоқтатуды, бастапқы күйге келтіруді, режимді, дайындықты, жұмыс күйін және ақау ақпаратын қолдай алады. Сонда шақыру реті өндірушіге тән әр параметрге емес, келісімшартқа тәуелді болады.

Машиналар мен жинақтық қондырғылар үшін композицияны таңдаңыз

Өнеркәсіптік жабдықтың басым бөлігі табиғи түрде құрамдас бөліктерден тұрады. Сорғы қондырғысына қозғалтқыш, оқшаулау клапандары, рұқсат шарттары, аналогтық өлшемдер және реттілік логикасы кіреді. Резервуар жүйесіне деңгей аспаптары, клапандар, сорғылар, дабылдар және жұмыс режимдері кіреді. Әр құрылғыны бір әмбебап базалық кластан туындатудың орнына, осы ірі бірліктерді тексерілген шағын компоненттерді қамту арқылы құрыңыз.

Композиция жауапкершілікті көрнекі етеді. Сорғы реттілігі қозғалтқышы мен клапандарына команда беруі мүмкін, бірақ қозғалтқыш компоненті іске қосқыш кері байланысын, іске қосылу таймаутын және қозғалтқышқа тән ақау күйлерін өзі басқарады. Аналогтық компонент сигналдың жарамдылығы мен масштабталуына жауап береді. Қондырғы оларды үйлестіріп, жоғары деңгейлі логикаға ықшам күй туралы хабарлайды.

Процесс сорғысы мен клапан жабдығы композициялық PLC бағдарламалық жасақтама компоненттері ретінде модельденген

Композиция жабдық иерархиясын қайталайды және әр қозғалтқыш, клапан мен аспап компонентіне өз диагностикасын сақтауға мүмкіндік береді.

Нақты күй моделін жобалаңыз

Компонент өзінің жұмыс күйін бақыланатын етуі керек. Тек логикалық командаларға негізделген логика бір уақытта жұмыс істеп әрі тоқтап тұрған, автоматты әрі қолмен басқарылатын немесе сау әрі ақаулы сияқты мүмкін емес үйлесімдер туғызуы мүмкін. Санамаланатын күй моделі бос, іске қосылуда, жұмыс істеп тұр, тоқтатылуда, ақаулы және техникалық қызмет көрсету күйлерін әдейі орындалатын ауысулармен көрсете алады.

Әр ауысу үшін кіру шарттары, аяқталғанын растайтын белгі, таймаут әрекеті және болдырмау ережелері қажет. Командалар күйге тікелей тағайындау емес, сұрау болуы керек. Бастапқы күйге келтіру бекітілген ақауды негізгі шарт мүмкіндік бергенде ғана жоюы тиіс. Қолмен басқару режимінде қай қорғаныс функциялары белсенді болып қалатынын және шығысты кім басқаратынын анықтаңыз.

Конфигурацияны орындалу күйінен бөлек ұстаңыз

Конфигурацияға уақыт шектері, инженерлік диапазондар, дабыл шектері, жабдық опциялары және функцияларды қосу параметрлері кіреді. Орындалу күйіне таймер жинақтағыштары, ағымдағы режим, команда иесі, ақау тарихы және ауысу күйі жатады. Оларды бөлу өзгерістерді қарауды және рецепттерді басқаруды айқынырақ етеді.

Әр параметр HMI арқылы жазыла бермеуі керек. Диапазон тексерулерін, рөлдік рұқсаттарды, өзгерістер журналын және жаңа мәннің қашан күшіне енетінін анықтаңыз. Сақталатын деректер де нақты саясатты қажет етеді. Қуат өшкеннен кейін қайта іске қосылатын компонент барлық ішкі айнымалысы тұрақты деп белгіленгені үшін ғана қауіпті команданы қалпына келтірмеуі керек.

Экземплярларды көбейтпес бұрын компоненттерді тексеріңіз

Қайта пайдаланудың артықшылығы анықтаманың сенімділігі болғанда ғана көрінеді. Қалыпты кері байланысты, кешіккен кері байланысты, қайшы кірістерді, байланыс жоғалуын, аналогтық сигнал сапасының нашарлауын, режим өзгерістерін, бастапқы күйге келтіру әрекеттерін, қуат қосылуын және таймаут шектерін беретін тестілеу стендін құрыңыз. Әр жағдай үшін шығыстарды, дабылдарды және күй ауысуларын растаңыз.

Содан кейін ортақ күйге қатысты қателерді анықтау үшін бірнеше экземплярды тексеріңіз. Нақты ауқымда цикл уақыты мен жад әсерін тексеріңіз. Жоғарғы деңгейдегі ықшам шақыру іске асыру есептеу ресурсын мүлде пайдаланбайды дегенді білдірмейді. Онлайн түзетулерді, кітапхана жаңартуларын және экземпляр деректерін көшіруді енгізу алдында мақсатты контроллерде сынақтан өткізу керек.

Кітапхана өзгерістері мен нұсқаларын бақылаңыз

Қайта пайдаланылатын компонент ақауды кең көлемде түзете алады, бірақ оны кең көлемде тарата да алады. Әр шығарылған типке нұсқа, құжатталған интерфейс, тест жазбасы және өзгерістер тарихын беріңіз. Өзгерістерді үйлесімді немесе бұзушы деп жіктеңіз. Қолданыстағы анықтамада дабыл мағынасын, әдепкі уақыт параметрлерін, шығыс әрекетін немесе сақталатын деректер құрылымын үнсіз өзгертпеңіз.

Жобаларда қай кітапхана нұсқалары компиляцияланып, жүктелгені жазылуы керек. Егер платформа бастапқы код көшірмелерін енгізсе, мақұлданған жаңартулардың қалай салыстырылып, импортталатынын анықтаңыз. Егер ол басқарылатын кітапханаға сілтеме жасаса, оның қолжетімділігі мен кері қайтару жоспарын жасаңыз. Оператор графикасы мен беткөріністері ескі мүше атаулары өзгермейді деп күтпей, басқару интерфейсімен бірге жаңартылуы керек.

Диагностиканы оператор деңгейімен біріктіріңіз

Пайдалы компонент неге әрекет ете алмайтынын хабарлайды: рұқсат шарты жоқ, кері байланыстар сәйкес емес, ауысу таймауты орын алды, жергілікті басқару иеленілген, конфигурация жарамсыз, кіріс сапасы нашар немесе қауіпсіздік функциясы белсенді. HMI бұл құрылымдалған күйді контроллер өкілетін айналып өтпей, әрекет етуге болатын хабарға түрлендіруі керек. Тиісті оператор жабдығын HMI және өнеркәсіптік есептеу бөлімінен табуға болады, бірақ диагностикалық келісімшарттың негізі басқару кодында қаланады.

Инженерлік көзқарас

PLC-ні объектіге бағытталған бағдарламалау анық интерфейстер, инкапсуляцияланған күй, композиция, тестілеу және бақыланатын қайта пайдалану тәртібі ретінде ең құнды. Толық мұрагерлік пен полиморфизм оларды іске асыратын платформаларда көмектесе алады, бірақ олар бастапқы талап емес. Шектеулері анық бір құрылғы типінен бастаңыз, оның ақау кезіндегі әрекетін дәлелдеңіз, интерфейсін құжаттаңыз және тек тест дәлелдері жеткілікті болғаннан кейін ғана ауқымын кеңейтіңіз. Нәтиже бастапқы кодты күрделірек етіп көрсетіп қана қоймай, келесі инженер үшін іске қосу мен ақауларды жоюды жеңілдетуі керек.

Leave a comment

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