Данас делим практичан чланак који ће вам помоћи да разумете како изгледа савршен ПЛЦ програм и пружа стандарде за програмирање ПЛЦ-а и предлоге за практичан рад.
Захтеви за пројектовање за савршени ПЛЦ програм:
Комплетан ПЛЦ програм није само покретање система; такође захтева комплетне коментаре, добро{0}}структурисану архитектуру, добру скалабилност, свеобухватан систем аларма и заштите и систем за симулацију пре{1}}покретања.
1. Једноставност
Учините ПЛЦ програм што једноставнијим. Једноставност подразумева коришћење стандардизованог програмског оквира и једноставних инструкција. Уопштено говорећи, ово укључује оптимизацију структуре програма и поједностављење програма са упутствима за контролу тока. Тачније, то значи замену инструкција једне-функције моћнијим и обраћање пажње на редослед инструкција.
2. Читљивост
Дизајнирани програм треба да буде веома читљив. Ово не само да помаже програмеру да боље разуме програм и олакшава отклањање грешака, већ и другима олакшава разумевање и корисницима одржавање. Такође би требало да олакша ширење програма када је то потребно.
Да би се обезбедила добра читљивост, дизајн програма треба да буде што јаснији. Обратите пажњу на хијерархију и модуларност, чак и користећи објектно{1}}оријентисане методе дизајна. Користите стандардне праксе дизајна што је више могуће.
Ако се програмски језици користе у посебним случајевима, у већини случајева треба користити лествице дијаграма ради лакше читљивости. И/О алокација треба да буде систематска ради лакшег памћења и разумевања. Додајте коментаре када је потребно. Употреба унутрашњих компоненти такође треба да буде систематска; избегавајте да их користите насумично.
Читљивост треба узети у обзир од почетка дизајна програма. Ово није лако постићи у потпуности, јер током отклањања грешака у програму, додавање или уклањање инструкција и промене у коришћењу унутрашњих компоненти могу изворно јасан програм учинити помало неуредним. Због тога, дозволите подешавања током отклањања грешака у фази пројектовања, а затим их средите након отклањања грешака. Ово ће резултирати квалитетнијим програмом.
Коментари програма треба да садрже најмање следеће:
А. Системски коментари: Власник ауторских права и сврха целог програма; Б. Коментари блока: Основна сврха и аутор блока; Ц. Коментари на сегменте: Сврха сегмента кода; Д. Коментари променљивих: важност је очигледна-, укључујући И/О коментаре и коментаре средњих променљивих. Што се тиче поверљивости, њих треба решити алгоритмом за шифровање или блок шифровањем програма, а не смањењем коментара.
3. Исправност
ПЛЦ програм мора бити исправан и верификован кроз стварни рад да би доказао његову исправну функцију. Ово је најосновнији захтев за ПЛЦ програм; ако се то не постигне, без обзира на то колико су други аспекти добри, бескорисни су.
Да би се осигурала тачност програма, упутства и интерни уређаји морају се користити тачно. Тачна употреба упутстава повезана је са њиховим тачним разумевањем; стога, значење и услови употребе инструкција морају бити темељно схваћени. Ако је потребно, могу се написати мали програми за тестирање неких нејасних инструкција.
За исту инструкцију, због разлика у ПЛЦ производним серијама или серијским моделима, неки детаљи инструкција могу да варирају. Приручник за програмирање треба пажљиво консултовати.
Важна је и правилна употреба унутрашњих уређаја. На пример, неки ПЛЦ-ови имају заштиту од{1}}искључивања, док други немају. Од суштинског је значаја да обезбедите да се користе уређаји који захтевају{3}}заштиту од искључивања и обрнуто.
Укратко, најосновнији захтев за ПЛЦ програме је да тачно користе упутства и правилно користе унутрашње компоненте како би се осигурало да се програмирани програм исправно извршава.
За једноставан пример, Сиеменс ПЛЦ-овима су потребне променљиве са функцијом складиштења као међупроменљиве за растуће и опадајуће ивице, као што су М-тачке или ДБ-тачке. Коришћење ФЦ-ове темп променљиве би изазвало проблеме.
4. Поузданост
Програми морају бити не само исправни већ и поуздани. Поузданост одражава стабилност ПЛЦ програма, што је такође основни захтев.
Неки ПЛЦ програми раде исправно у нормалним радним условима или током легалних операција, али не успевају да правилно функционишу у ненормалним радним условима (као што је привремени нестанак струје праћен брзим обнављањем струје) или након незаконитих операција (као што је притискање дугмади ван редоследа или притискање неколико дугмади истовремено). Такви програми су непоуздани, нестабилни или лоше дизајнирани.
Добри ПЛЦ програми могу идентификовати абнормалне услове рада и неприметно их интегрисати са нормалним условима, омогућавајући програму да се прилагоди различитим ситуацијама. Добар ПЛЦ програм може одбити нелегалне операције без остављања "трага", прихватајући само легалне операције.
Преклапање је уобичајена метода за одбијање нелегалних операција; релејна кола често користе ову методу, а ПЛЦ-ови такође могу наследити овај приступ.
5. Лакоћа модификације
Програм треба да се лако мења. Једна од карактеристика ПЛЦ-а је његова погодност и флексибилност у прилагођавању различитим ситуацијама. Ово се постиже модификацијом или редизајнирањем програма.
Редизајнирање програма се користи када је потребно променити захтеве апликације процеса ПЛЦ-а. Не само да је програм поново написан, већ И/О такође треба да се прерасподели. У већини случајева, поновно писање програма није неопходно; мале модификације су довољне. Ово захтева да се програм лако мења.
Лакоћа модификације такође значи флексибилност, која захтева само мање промене да би се постигла сврха промене параметара или модификовања радњи.
6. Проширивост
Многи програми могу бити унапред-програмирани пре постављања на сајт, али ће можда морати да се додају додатни програми на-сајт. Да би се избегло нарушавање целокупне структуре система, потребно је резервисати довољно простора у свакој функционалној области за резервни хардвер. Софтвер треба да буде дизајниран са ручним, аутоматским и полу{4}}аутоматским радом на уму, а простор треба да се додели у складу са тим.
7. Свеобухватан алармни систем
ПЛЦ системи се често користе у индустријским окружењима, где свака незгода може проузроковати губитке, велике или мале. Да би се осигурала превенција незгода или минимизирали губици током несреће, морају се нагласити функције аларма и заштите ПЛЦ-а. Стога је ово истакнуто као важна компонента система.
8. Симулација програма
Да би се обезбедио-напредак отклањања грешака на локацији или за демонстрације клијената, често је потребна потпуно аутоматска симулација програма пре примене. Ово захтева додавање одељка симулационог програма постојећем програму, који је прекинут након нормалног-функционисања на локацији. Да бисте омогућили програму да изврши симулацију, потребни су следећи кораци:
(1) Претворите стварне ПЛЦ И/О тачке у међупроменљиве или променљиве блока података;
(2) Напишите симулационе програме за сваки комад опреме у складу са захтевима процеса.
Добар ПЛЦ програм се може сматрати програмом који испуњава горе наведене захтеве.
Спецификације за програмирање ПЛЦ-а
1. Изаберите одговарајући модел ПЛЦ-а и број И/О тачака. Изаберите посебне функционалне модуле за специфичне функционалне захтеве.
2. Будите упознати са одабраним упутствима за програмирање ПЛЦ-а и софтвером за компилацију.
3. Планирајте софтверске компоненте, укључујући интерне релеје, релеје за задржавање, регистре података, тајмере и бројаче.
4. Планирајте програм, углавном пратећи редослед издвајања грешака, руковања грешкама, ручног руковања, аутоматског руковања и руковања излазом. Веће пројекте или опрему треба поделити на функционалне јединице, као што су лифтови, уређаји за пренос и уређаји за подизање/ротирање у аутоматизованој производној линији. Они треба да буду програмирани у сегментима и блоковима према горе наведеној структури јединице.
5. Додајте кратке коментаре сегмената пре сваког сегментираног или блоковног-програма, објашњавајући његову функцију. Ако је потребно, наведите одговарајући ток процеса. Редослед сегментираних или блокова{4}}базираних програма у оквиру целокупног програма треба генерално да прати редослед тока процеса ради читљивости.
6. Пре израде програма потребно је апстраховати опрему. Уобичајени фактори као што су заустављање, заустављање у случају нужде, преоптерећење, прекорачење-ограничења, временско ограничење, сигурносна светлосна завеса, заустављање у случају судара и прекидач на вратима треба да се издвоје и ставе у -коло за покретање или покретање-главно коло управљања и блокаде. Ово служи као свеобухватна премиса целокупне програмске структуре. На основу тога, програм се затим дели на две главне функционалне области: аутоматско и ручно.
7. Уобичајене факторе у области ручне функције у структури програма, као што су ручни рад и фактори који угрожавају опрему и личну безбедност, треба издвојити и ставити у ручни главни управљачки и блокадни круг ради заштите, заштите и аларма за ручну контролу.
8. Уобичајене факторе у области аутоматске функције програмске структуре, као што су аутоматски рад, прекорачење-ограничења и фактори временског ограничења, треба издвојити и ставити у кола аутоматске главне контроле и блокаде ради заштите, заштите и аларма за опрему под аутоматском контролом. Општи принцип је да се стриктно ограничи улазак у опрему док се лабаво ограничи излазак опреме, осигуравајући безбедност.
9. Функција главног ресетовања треба да буде дизајнирана у програму како би се олакшало брзо и лако обнављање нормалног рада опреме у случају квара. Главно ресетовање треба у потпуности да узме у обзир безбедност опреме и особља током процеса ресетовања.
10. Приликом преласка из аутоматског режима у ручни режим, програм треба да очисти излазе и међустања из аутоматског режима. Нарочито када користите инструкцију СЕТ у аутоматском режиму, она се мора обрисати помоћу РЕСЕТ инструкције у ручном режиму.
11. Двоструки излази су строго забрањени у програмирању; односно исти излазни исказ или исти излазни калем који се појављује два или више пута у програму. За исту излазну тачку под различитим условима режима, користите средњи релеј за пренос и на крају их комбинујте у једну излазну тачку.
12. Када користите екран осетљив на додир, контролна област и област статуса које деле екран осетљив на додир и ПЛЦ не смеју се користити за друго функционално програмирање.
13. Пре употребе било ког специјалног ПЛЦ модула, проверите да ли његова контролна област и статусна област заузимају радне речи. Ако јесте, немојте програмирати ове радне речи у друге сврхе.
14. ПЛЦ улази, излази, међурелеји, тајмери, бројачи и регистри података морају бити означени кинеским знаковима. Улази и излази такође морају да садрже називе компоненти и бројеве ознака. Одговарајуће улазне тачке су генерално подразумеване као НО контакти повезани са екстерним прекидачима. За улазе који захтевају НЦ контакте, ово се мора навести у коментарима. Сви коментари треба да буду јасни и недвосмислени, избегавајући неспоразуме и минимизирајући употребу генеричких термина.
15. Након што је отклањање грешака у пројекту завршено, коначни софтверски програм мора бити задржан. Име сачуване датотеке треба да садржи број пројекта, аутора, датум и број верзије.
16. У вези са шифровањем програма: Лозинка за шифровани програм мора бити ускладиштена у наменској датотеци, јасно наводећи корисничко име, лозинку и дозволе. Ову датотеку треба дистрибуирати најмање двема људима како би научили лозинку и спречили да програм буде недоступан због губитка лозинке.
Предлози за програмирање
1. Када ПЛЦ и хост рачунар (или екран осетљив на додир) формирају систем за надзор, екран често треба да прикаже режиме контроле као што су „ручни“ и „аутоматски“ (генерално, више режима може имати само један). У програму се може користити инструкција "МОВ". На пример, када је изабрано "ручно", константа 1 се премешта у регистар ВБ10; када је изабрано "аутоматски", 2 се премешта у исти регистар ВБ10. Провером података у регистру може се одредити начин управљања системом. Предност овог приступа је његова лакоћа разумевања и избегава се потреба за сложеним процедурама као што је међусобно закључавање.
2. Када програм укључује контролу аналогног сигнала, ако очитани аналогни сигнал практично нема грешке, временско филтрирање се може користити за одлагање улаза. Ако очитани подаци имају велику грешку, потребне су друге методе филтрирања, као што је усредњавање. За додатне информације погледајте релевантну документацију.
3. Током отклањања грешака у програму, ако је услов испуњен, али излазни калем није активиран, проверите да ли се овај одељак вашег програма налази у таквим изјавама, као што је `СКОЧИ иди на`. Друга могућност је да је након прекида програма услов испуњен, али нема излаза; ово обично указује да се овај одељак програма не скенира.
4. У секвенцијалним контролним програмима, тј. када је једна радња завршена, а следећа иницирана, режим контроле +10+10 је веома згодан. Идеја је следећа: Регистар је унапред подешен на 0 током иницијализације. Након покретања система, он се повећава за 10, чиме се вредност регистра доводи на 10. Са регистром на 10, прва радња се може извршити. Након прве акције, регистар се поново повећава за 10, чиме се вредност регистра доводи на 20, омогућавајући да се изврши друга радња. После друге акције, поново се повећава за 10, чиме се вредност регистра доводи на 30. На овај начин, провером вредности у регистру, може се одредити жељена радња. Када је потребна акција скока, инкремент се може променити од 10 до 20, 30, итд., у зависности од специфичних захтева.
Зашто повећавати за 10 уместо за 1? Јер након повећања за 10, ако сегмент треба да се убаци, он се може уметнути у било који од 10 доступних слотова.
5. Приликом дизајнирања програма, ако дође до грешке-у вези са процесом (коју не контролише контролни систем), најбоље је одржавати феномен грешке и обезбедити визуелне и звучне аларме док оператер не ресетује систем, тако да је свестан грешке. У супротном, ако се систем заустави, други могу претпоставити да постоји проблем са програмом. Ове тачке генерално треба узети у обзир при дизајнирању новог система.
6. Често позиване потпрограме се могу претворити у подмодуле за честе позиве.
7. Пошто сваки корак у радном циклусу производне машине захтева одређено време за извршење, а ова времена имају одређена ограничења, тајмер се може покренути истовремено са почетком корака који се прати. Подешавање времена тајмера треба да буде 20%–30% дуже од нормалног трајања радње. Излазни сигнал тајмера може се користити за аларме или уређаје за аутоматско искључивање. Када време корака премаши одређено време, достижући одговарајуће унапред подешено време тајмера, и пре него што почне следећи корак, тајмер издаје сигнал грешке. Овај сигнал зауставља нормалан радни циклус и покреће поступак аларма или гашења; ово је оно што обично називамо заштитом од-циклуса.
8. Неки прекидачи за сигурносну детекцију (као што су дугмад за хитно заустављање, сигурносне светлосне завесе, гранични прекидачи, итд.) треба да користе нормално затворене (НЦ) улазе.
9. Ради безбедности и уштеде енергије, излази треба да буду пројектовани да се активирају само када је потребно и да се зауставе када се радња заврши, уместо да буду пројектовани да излазе непрекидно док се не захтева заустављање.
10. Принцип рада за актуаторе треба да буде: боље да остану мирни него да се нестално крећу.
11. Управљање опремом једне-јединице: Свака јединица мора имати функцију ручног/аутоматског пребацивања и функцију старт/стоп током ручног рада. Приликом преласка са аутоматског на ручни рад, опрема не сме стати; при преласку са ручног на аутоматски, старт/стоп опреме зависи од аутоматског програма.
12. Свака јединица опреме (пумпа, вентилатор и друга велика опрема) мора се ротирати након 24 сата рада, и мора постојати кумулативни запис времена рада, осим ако секвенцу покретања/заустављања не поставља главни рачунар; у супротном, оператер га мора подесити ручно.





