FBD

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 8. august 2016; checks kræver 12 redigeringer .

Funktionelt blokdiagram sprog

FBD ( engelsk  funktionsblokdiagram ) er et grafisk programmeringssprog i IEC 61131-3 -standarden . Designet til programmering af programmerbare logiske controllere (PLC) . Programmet er dannet ud fra en liste over kredsløb, der udføres sekventielt fra top til bund. Kæder kan mærkes. Spring til etiket-instruktionen giver dig mulighed for at ændre rækkefølgen af ​​udførelse af kredsløb for programmeringsbetingelser og sløjfer.

Programmering bruger biblioteksbloksæt og brugerdefinerede blokke, der også er skrevet på FBD eller andre IEC 61131-3-sprog . En blok (element) er en underrutine, funktion eller funktionel blok (AND, OR, NOT, triggere , timere, tællere, analoge signalbehandlingsblokke, matematiske operationer osv.).

Hver enkelt kæde er et udtryk, der er sammensat grafisk af de enkelte elementer. Den næste blok er forbundet til udgangen af ​​blokken og danner en kæde. Inde i kæden udføres blokke strengt i rækkefølgen af ​​deres forbindelse. Resultatet af kredsløbsberegningen skrives til en intern variabel eller føres til PLC-udgangen.

Et eksempel på et programfragment på FBD: A divideret med B , ganget med 2 og skrevet til resultatvariablen

┌────────┐ │ │ ┌────────┐ A───────┤ │ │ * │ │ / ├────────┤ ├───resultat │ │ │ │ B ──────┤ │ 2 ──┤ │ │ │ └────────┘ └────────┘

Den samme funktion i pseudokode:

resultat  := 2 *( A / B );

Hvis det er nødvendigt at styre opkaldet af blokke, tilføjes specielle input EN (enable) og output ENO til dem. Et logisk nul ved indgangen EN deaktiverer blokkaldet. ENO-udgangen bruges til at indikere en fejl i blokken og stoppe beregningen af ​​resten af ​​trinet.

FBD - sproget er let at lære, visuelt og praktisk for anvendte specialister, der ikke har særlig uddannelse inden for datalogi. Den stive udførelsessekvens resulterer i en enkel intern instruktionsstruktur, der omsættes til hurtig og pålidelig kode. FBD afspejler meget tydeligt forholdet mellem input og output af diagrammet. Under betingelse af en kvalitativ undersøgelse af algoritmen fra positionen for signaltransmission er dens repræsentation i form af et FBD - diagram mere visuel end i tekstprogrammeringssprog [1] .

Der er mange praktiske implementeringer af FBD-sproget med visse udvidelser eller begrænsninger. Der er en praksis, hvor forskellige organisationer kan udvikle specialiserede versioner af FBD , inklusive dem, der er optimeret til visse typer programmerbare logiske controllere. Et sådant eksempel er sproget C anny Function Diagram ( CFD ), samt udvidelsen af ​​FBD - sproget i CoDeSys - miljøet , som tilføjer metoden til objektorienteret programmering [2] .

En af varianterne af FBD er programmeringssproget CFC ( Continuous Function Chart ) . Det giver dig mulighed for vilkårligt at indstille rækkefølgen, som blokke udføres i. CFC-diagrammer giver programmøren mere handlefrihed, men afvejningen er en lidt større chance for fejl og større kode.

Der er en modifikation af FBD , der tillader brug af kun rene funktioner med én udgang, uden mellemtilstande. Den implementerer det funktionelle programmeringsparadigme .

Se også

IEC 61131-3 programmeringssprog :

Links

Litteratur

Noter

  1. Loskutov A. B., Loskutov A. A. Zyrin N. V., Shumsky D. V. PLC-programmering i CoDeSys / Nizhny Novgorod: NSTU. 2018. S. 34-35.
  2. Hess D. Objektorienterede udvidelser til IEC 61131-3 // STA. 2006. Nr. 2. s. 90-92 Arkiveret 24. januar 2022 på Wayback Machine