Kategorijos: Namų automatizavimas, Programuojami valdikliai
Peržiūrų skaičius: 28074
Straipsnio komentarai: 0

Funkcinių blokų diagramos kalba (FBD) ir jos taikymas

 

Viena iš populiariausių PLC programavimo kalbų - programuojami loginiai valdikliai - yra funkcinių blokų schemų FBD - Function Block Diagram - grafinė kalba. Ši kalba, kaip ir kitos IEC 61131-3 kalbos, pavyzdžiui, pvz kopėčių loginė kalba (LD), savo architektūroje naudoja tam tikrą elektroninę grandinę.

Programa, parašyta šia kalba valdikliui, sudaro tam tikras grandinių, kurios vykdomos viena po kitos, iš viršaus į apačią, sąrašas. Be to, yra galimybė priskirti etiketes atskiroms grandinėms, tokiu atveju bus naudojamos instrukcijos, skirtos pereiti prie etiketės, norint pakeisti grandinių vykdymo seką ir sudaryti sąlygas bei ciklus.

Funkcijų bloko diagramos kalba (FBD)

Taigi, grafine kalba FBD parašyta programa yra funkcinių blokų, sujungtų vienas su kitu, rinkinys, kurio išėjimai ir įėjimai yra sujungti ryšio linijomis. Ryšio linijos atspindi tam tikrus programos kintamuosius, per kuriuos keičiamasi duomenimis iš bloko į bloką.

Atskiras blokas vykdo tam tikrą funkciją (logiška „ir“, „ne“, skaitiklis ir tt), tuo tarpu vienas blokas gali turėti keletą išėjimų ir įėjimų. Iš pradžių kintamųjų vertės nustatomos konstantomis arba iš specialių įėjimų, o jų išėjimai toliau sujungiami su kitais programos kintamaisiais arba su PLC išėjimais.

Paveikslėlyje parodytas programos pavyzdys, parašytas funkcine blokų diagramų kalba FBD. Kaip matote, toks programos vaizdas labai aiškiai atspindi algoritmą, todėl ši kalba yra gana paprasta ir patogi kuriant PLC programinę įrangą.

Programaujant FBD kalba, naudojami tiek standartiniai bibliotekų blokai, tiek FBD ar kitomis IEC 61131-3 standarto kalbomis parašyti blokai. Blokas yra programos elementas, tam tikros rūšies paprogramė, funkcijų blokas ar funkcija (logiška „NE“, „ARBA“, „IR“, laikmatis, skaitiklis, trigeris, matematinė operacija, analoginio signalo apdorojimas ir kt.).

Iš šių blokų grafiškai sudaromos išraiškos, sudarančios grandines: kitas blokas yra sujungtas su vieno bloko išvestimi, tada kitas blokas, ir taip formuojamos grandinės. Grandinės eigoje blokų vykdymo tvarka atitinka jų sujungimo tvarką, o grandinės vykdymo rezultatas arba tiekiamas į PLC išėjimą, arba užrašomas kažkokiam vidiniam kintamajam.

Funkcijų blokai

Apsvarstykite programos dalį, parašytą FBD kalba: Padauginkite iš 4, tada padalykite iš A ir parašykite rezultatą į kintamąjį rezultatą. Pseudokode jis atrodys taip: rezultatas: = B * 4 / A. Taip pat prie blokų galima pridėti specialius valdymo įvestis EN ir ENO, kad būtų galima valdyti atskirų blokų iškvietimus: EN įvestims pritaikytas loginis nulis uždraus šio bloko iškvietimą, o ENO išėjimas praneš apie tai klaidos atveju ir tokiu būdu nutraukia grandinės vykdymą iki galo. .


Kaip matote, FBD kalba yra ypač vizuali, patogi, todėl ją lengva išmokti net programų specialistams, neturintiems specialių kompiuterių mokymų. Kodas vykdomas nuosekliai, komandų struktūra kode yra paprasta, todėl programa transliuojama labai greitai ir užduotis vykdoma patikimai.

FBD programavimo kalba

Yra įvairių FBD programavimo kalbos modifikacijų, kurioms būdingi tam tikri apribojimai ar plėtiniai.

Pavyzdžiui, yra FBC variantas, leidžiantis naudoti grynąsias funkcijas tik su vienu išėjimu be tarpinių kintamųjų - funkcinio programavimo modifikacija.

Arba CFC (nenutrūkstamų funkcijų diagrama) modifikacija, leidžianti nustatyti diagramos vykdymo tvarką ne tik nuoseklia grandine, bet ir programinės įrangos kūrėjo nuožiūra. Naudodamas CFC, kūrėjas gauna daugiau laisvės, nors kodas yra ilgesnis.

Taip pat žiūrėkite šia tema:PLC programavimo kalbos ir „CoDeSys“ automatizavimo programinės įrangos platforma

Taip pat žiūrėkite tinklalapyje bgv.electricianexp.com:

  • LD kopėčių kalba ir jos taikymas
  • PLC programavimo kalbos ir „CoDeSys“ automatizavimo programinės įrangos platforma
  • Variklio užvedimo schemos kopėčių diagramų kalba LD PLC
  • Krovininio lifto elektros grandinės modernizavimo pavyzdys naudojant ...
  • Vaizdo kursai apie darbą su Avinų valdikliu PLC110 CODESYS2.3 aplinkoje

  •