FBD
FBD (àíãë. Function Block Diagram) â ãðàôè÷åñêèé ÿçûê ïðîãðàììèðîâàíèÿ ñòàíäàðòà ÌÝÊ 611131-3. Ïðåäíàçíà÷åí äëÿ ïðîãðàììèðîâàíèÿ ïðîãðàììèðóåìûõ ëîãè÷åñêèõ êîíòðîëëåðîâ (ÏËÊ). Ïðîãðàììà îáðàçóåòñÿ èç ñïèñêà öåïåé, âûïîëíÿåìûõ ïîñëåäîâàòåëüíî ñâåðõó âíèç. Öåïè ìîãóò èìåòü ìåòêè. Èíñòðóêöèÿ ïåðåõîäà íà ìåòêó ïîçâîëÿåò èçìåíÿòü ïîñëåäîâàòåëüíîñòü âûïîëíåíèÿ öåïåé äëÿ ïðîãðàììèðîâàíèÿ óñëîâèé è öèêëîâ.
Ïðè ïðîãðàììèðîâàíèè èñïîëüçóþòñÿ íàáîðû áèáëèîòå÷íûõ áëîêîâ è ñîáñòâåííûå áëîêè, òàêæå íàïèñàííûå íà FBD èëè äðóãèõ ÿçûêàõ ÌÝÊ 61131-3. Áëîê (ýëåìåíò) â ýòî ïîäïðîãðàììà, ôóíêöèÿ èëè ôóíêöèîíàëüíûé áëîê (È, ÈËÈ, ÍÅ, òðèããåðû, òàéìåðû, ñ÷¸ò÷èêè, áëîêè îáðàáîòêè àíàëîãîâîãî ñèãíàëà, ìàòåìàòè÷åñêèå îïåðàöèè è äð.).
Êàæäàÿ îòäåëüíàÿ öåïü ïðåäñòàâëÿåò ñîáîé âûðàæåíèå, ñîñòàâëåííîå ãðàôè÷åñêè èç îòäåëüíûõ ýëåìåíòîâ. Ê âûõîäó áëîêà ïîäêëþ÷àåòñÿ ñëåäóþùèé áëîê, îáðàçóÿ öåïü. Âíóòðè öåïè áëîêè âûïîëíÿþòñÿ ñòðîãî â ïîðÿäêå èõ ñîåäèíåíèÿ. Ðåçóëüòàò âû÷èñëåíèÿ öåïè çàïèñûâàåòñÿ âî âíóòðåííþþ ïåðåìåííóþ ëèáî ïîäàåòñÿ íà âûõîä ÏËÊ.
Ïðèìåð öåïè FBD: A ïîäåëèòü íà B , óìíîæèòü íà 2 è çàïèñàòü â ïåðåìåííóþ result
âŒâââââââ
â‚ â‚ âŒâââââââ
Aââââââââ â‚ â‚ * â‚
â‚ / ââââââââââ ââââresult
â‚ â‚ â‚ â‚
B âââââââ â‚ 2 âââ â‚
â‚ â‚ âââââââââ˜
âââââââââ˜
Ïðè íåîáõîäèìîñòè óïðàâëåíèÿ âûçîâîì áëîêîâ â íèõ äîáàâëÿþòñÿ ñïåöèàëüíûå âõîäû EN (enable) è âûõîäû ENO. Ëîãè÷åñêèé íîëü íà âõîäå EN çàïðåùàåò âûçîâ áëîêà. Âûõîä ENO èñïîëüçóåòñÿ äëÿ èíäèêàöèè îøèáêè â áëîêå è ïîçâîëÿåò ïðåêðàòèòü âû÷èñëåíèå îñòàòêà öåïè.
ßçûê FBD ïðîñò â èçó÷åíèè, íàãëÿäåí è óäîáåí äëÿ ïðèêëàäíûõ ñïåöèàëèñòîâ, íå èìåþùèõ ñïåöèàëüíîé ïîäãîòîâêè â îáëàñòè èíôîðìàòèêè. Æåñòêàÿ ïîñëåäîâàòåëüíîñòü âûïîëíåíèÿ ïðèâîäèò ê ïðîñòîé âíóòðåííåé ñòðóêòóðå êîìàíä, êîòîðàÿ òðàíñëèðóåòñÿ â áûñòðûé è íàäåæíûé êîä.
Ñóùåñòâóåò ìíîãî ïðàêòè÷åñêèõ ðåàëèçàöèé ÿçûêà FBD ñ îïðåäåëåííûìè ðàñøèðåíèÿìè èëè îãðàíè÷åíèÿìè.
Îäíèì èç âàðèàíòîâ FBD ÿâëÿåòñÿ ÿçûê ïðîãðàììèðîâàíèÿ CFC (Continuous Function Chart). Îí ïîçâîëÿåò ïðîèçâîëüíî çàäàâàòü ïîðÿäîê âûïîëíåíèÿ áëîêîâ. Äèàãðàììû CFC äàþò ïðîãðàììèñòó áîëüøóþ ñâîáîäó äåéñòâèé, íî ïëàòîé çà ýòî ÿâëÿåòñÿ íåñêîëüêî áîëüøàÿ âåðîÿòíîñòü äîïóñòèòü îøèáêó è áîëåå îáúåìíûé êîä.
Ñóùåñòâóåò ìîäèôèêàöèÿ FBD äîïóñêàþùàÿ èñïîëüçîâàíèå òîëüêî ÷èñòûõ ôóíêöèé ñ îäíèì âûõîäîì, áåç ïðîìåæóòî÷íûõ ñîñòîÿíèé. Îíà ðåàëèçóåò ïàðàäèãìó ôóíêöèîíàëüíîãî ïðîãðàììèðîâàíèÿ.
[ïðàâèòü] Ñì. òàêæå
ßçûêè ïðîãðàììèðîâàíèÿ ñòàíäàðòà ÌÝÊ 61131-3:
- LD â Ðåëåéíî-Êîíòàêòíûå Ñõåìû
- FBD â Ôóíêöèîíàëüíûå Áëîêîâûå Äèàãðàììû
- IL â Ñïèñîê Èíñòðóêöèé
- SFC â Ïîñëåäîâàòåëüíîñòíûå Ôóíêöèîíàëüíûå Äèàãðàììû
- ST â Ñòðóêòóðèðîâàííûé Òåêñò
[ïðàâèòü] Ëèòåðàòóðà
- Ïåòðîâ È. Â. Ïðîãðàììèðóåìûå êîíòðîëëåðû. Ñòàíäàðòíûå ÿçûêè è ïðèåìû ïðèêëàäíîãî ïðîåêòèðîâàíèÿ / Ïîä ðåä. ïðîô. Â. Ï. Äüÿêîíîâà . â Ì.: ÑÎËÎÍ-Ïðåññ, 2004. â 256 c. ISBN 5-98003-079-4
- Ìèíàåâ È.Ã. Ïðîãðàììèðóåìûå ëîãè÷åñêèå êîíòðîëëåðû â àâòîìàòèçèðîâàííûõ ñèñòåìàõ óïðàâëåíèÿ / È.Ã. Ìèíàåâ, Â.Ì. Øàðàïîâ, Â.Â. Ñàìîéëåíêî, Ä.Ã. Óøêóð. 2-å èçä., ïåðåðàá. è äîï. - Ñòàâðîïîëü: ÀÃÐÓÑ, 2010. - 128 ñ. ISBN 978-5-9596-0670-1
| Îñíîâíûå ÿçûêè ïðîãðàììèðîâàíèÿ (ñðàâíåíèå IDE èñòîðèÿ õðîíîëîãèÿ) | |
|---|---|
| Èñïîëüçóåìûå â ðàçðàáîòêå |
Àäà APL ßçûê àññåìáëåðà ActionScript ABAP/4 AutoIt AWK Áåéñèê Ñè Êîáîë C++ C# Cω Clarion Clojure ColdFusion Common Lisp D dBase Delphi Eiffel Erlang Euphoria F# Ôîðò Ôîðòðàí Gambas Go Groovy HAL/S Haskell Icon Java JavaScript Limbo Lua Object Pascal Objective-C OCaml Oz Parser Ïàñêàëü Perl PHP PowerBASIC PureBasic Python ÏË/1 Ïðîëîã Ruby Scala Scheme Smalltalk SQL PL/SQL Tcl Vala Visual Basic (.NET) |
| Àêàäåìè÷åñêèå | |
| IEC 61131-3 |
Instruction List ST FBD Ladder Diagram (LD) SFC |
| Ïðî÷èå | |
| Ýçîòåðè÷åñêèå | |
| Âèçóàëüíûå | |