FBD

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2016. augusztus 8-án áttekintett verziótól ; az ellenőrzések 12 szerkesztést igényelnek .

Funkcionális blokkdiagram nyelv

Az FBD ( angol  Function Block Diagram ) az IEC 61131-3 szabvány grafikus programozási nyelve . Programozható logikai vezérlők (PLC) programozására tervezték . A program felülről lefelé egymás után végrehajtott áramkörök listájából áll össze. A láncok feliratozhatók. Az Ugrás a címkére utasítás lehetővé teszi az áramkörök végrehajtási sorrendjének megváltoztatását a programozási feltételek és hurkok függvényében.

A programozás FBD vagy más IEC 61131-3 nyelven írt könyvtári blokkkészleteket és egyéni blokkokat használ . A blokk (elem) egy szubrutin, funkció vagy funkcionális blokk (ÉS, VAGY, NEM, triggerek , időzítők, számlálók, analóg jelfeldolgozó blokkok, matematikai műveletek stb.).

Minden egyes lánc az egyes elemekből grafikusan összeállított kifejezés. A következő blokk a blokk kimenetéhez csatlakozik, láncot alkotva. A láncon belül a blokkok végrehajtása szigorúan a kapcsolódási sorrendben történik. Az áramköri számítás eredményét egy belső változóba írjuk, vagy a PLC kimenetére tápláljuk.

Példa egy programrészletre FBD-n: A osztva B -vel, megszorozva 2 -vel és az eredmény változóba írva

┌────────┐ │ │ ┌────────┐ A───────┤ │ │ * │ │ / ├────────┤ ├───eredmény │ │ │ │ B ──────┤ │ 2 ──┤ │ │ │ └────────┘ └────────┘

Ugyanez a funkció pszeudokódban:

eredmény  := 2 *( A / B );

Ha a blokkok hívását kell vezérelni, akkor speciális EN (enable) bemenetek és ENO kimenetek kerülnek hozzáadásra. Az EN bemeneten lévő logikai nulla letiltja a blokkhívást. Az ENO kimenet a blokk hibájának jelzésére és a létrafok fennmaradó részének számításának leállítására szolgál.

Az FBD nyelv könnyen megtanulható, vizuális és kényelmes az alkalmazott szakemberek számára, akik nem rendelkeznek speciális számítástechnikai képzettséggel. A merev végrehajtási szekvencia egyszerű belső utasításstruktúrát eredményez, amely gyors és megbízható kódot eredményez. Az FBD nagyon világosan tükrözi a diagram bemeneteinek és kimeneteinek kapcsolatát. Az algoritmus jelátviteli helyzetéből történő kvalitatív tanulmányozása mellett annak FBD diagram formájában történő megjelenítése vizuálisabb, mint a szöveges programozási nyelvekben [1] .

Az FBD nyelvnek számos gyakorlati megvalósítása létezik, bizonyos kiterjesztésekkel vagy korlátozásokkal. Létezik egy gyakorlat, amelyben különböző szervezetek kifejleszthetik az FBD speciális verzióit , beleértve azokat is, amelyek bizonyos típusú programozható logikai vezérlőkre optimalizáltak. Ilyen például a C anny Function D iagram ( CFD ) nyelv, valamint az FBD nyelv kiterjesztése a CoDeSys környezetben , amely kiegészíti az objektum-orientált programozás módszertanával [2] .

Az FBD egyik változata a CFC ( Continuous Function Chart ) programozási nyelv . Lehetővé teszi a blokkok végrehajtási sorrendjének tetszőleges beállítását. A CFC diagramok nagyobb cselekvési szabadságot adnak a programozónak, de a kompromisszum valamivel nagyobb hibalehetőséget és nagyobb kódot jelent.

Az FBD -nek van egy olyan módosítása, amely csak tiszta függvények használatát teszi lehetővé egy kimenettel, közbenső állapotok nélkül. Megvalósítja a funkcionális programozási paradigmát .

Lásd még

IEC 61131-3 programozási nyelvek :

Linkek

Irodalom

Jegyzetek

  1. Loskutov A. B., Loskutov A. A. Zyrin N. V., Shumsky D. V. PLC programozás a CoDeSys-ben / Nyizsnyij Novgorod: NSTU. 2018. S. 34-35.
  2. Hess D. Objektumorientált kiterjesztések az IEC 61131-3 szabványhoz // STA. 2006. 2. sz. 90-92. o. Archivált : 2022. január 24. a Wayback Machine -nél