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 .
IEC 61131-3 programozási nyelvek :
Programozási nyelvek | |
---|---|
|