संरचित पाठ
संरचित पाठ, जिसे ST या STX के रूप में संक्षिप्त किया गया है, IEC 61131-3 मानक द्वारा समर्थित पाँच भाषाओं में से एक है, जिसे निर्देशयोग्य तर्क नियंत्रक ्स (PLCs) के लिए डिज़ाइन किया गया है।[1][2] यह एक उच्च स्तरीय भाषा है जो ब्लॉक (प्रोग्रामिंग) है और वाक्यात्मक रूप से पास्कल (प्रोग्रामिंग भाषा) से मिलती जुलती है, जिस पर यह आधारित है।[3] सभी भाषाएँ IEC61131 सामान्य तत्वों को साझा करती हैं। चर और फ़ंक्शन कॉल सामान्य तत्वों द्वारा परिभाषित किए जाते हैं इसलिए IEC 61131-3 मानक के भीतर विभिन्न भाषाओं का उपयोग एक ही कार्यक्रम में किया जा सकता है।
जटिल कथन और नेस्टेड निर्देश समर्थित हैं:
- पुनरावृति लूप (दोहराएँ-जब तक; जबकि-करें)
- सशर्त निष्पादन (IF-THEN-ELSE; CASE)[3]* कार्य (एसक्यूआरटी (), एसआईएन ())
नमूना कार्यक्रम
(* simple state machine *)
TxtState := STATES[StateMachine];
CASE StateMachine OF
1: ClosingValve();
StateMachine := 2;
2: OpeningValve();
ELSE
BadCase();
END_CASE;
कुछ अन्य प्रोग्रामिंग भाषाओं के विपरीत, CASE स्टेटमेंट के लिए कोई स्विच स्टेटमेंट # फॉलथ्रू नहीं है: पहली मिलान स्थिति दर्ज की जाती है, और इसके स्टेटमेंट चलाने के बाद, अन्य शर्तों की जाँच किए बिना CASE ब्लॉक छोड़ दिया जाता है।
अतिरिक्त एसटी प्रोग्रामिंग उदाहरण
// PLC configuration
CONFIGURATION DefaultCfg
VAR_GLOBAL
b_Start_Stop : BOOL; // Global variable to represent a boolean.
b_ON_OFF : BOOL; // Global variable to represent a boolean.
Start_Stop AT %IX0.0:BOOL; // Digital input of the PLC (Address 0.0)
ON_OFF AT %QX0.0:BOOL; // Digital output of the PLC (Address 0.0). (Coil)
END_VAR
// Schedule the main program to be executed every 20 ms
TASK Tick(INTERVAL := t#20ms);
PROGRAM Main WITH Tick : Monitor_Start_Stop;
END_CONFIGURATION
PROGRAM Monitor_Start_Stop // Actual Program
VAR_EXTERNAL
Start_Stop : BOOL;
ON_OFF : BOOL;
END_VAR
VAR // Temporary variables for logic handling
ONS_Trig : BOOL;
Rising_ONS : BOOL;
END_VAR
// Start of Logic
// Catch the Rising Edge One Shot of the Start_Stop input
ONS_Trig := Start_Stop AND NOT Rising_ONS;
// Main Logic for Run_Contact -- Toggle ON / Toggle OFF ---
ON_OFF := (ONS_Trig AND NOT ON_OFF) OR (ON_OFF AND NOT ONS_Trig);
// Rising One Shot logic
Rising_ONS := Start_Stop;
END_PROGRAM
फ़ंक्शन ब्लॉक उदाहरण
<वाक्यविन्यास हाइलाइट लैंग = एक्शनस्क्रिप्ट लाइन = 1> //
संदर्भ
- ↑ Bacidore, Mike (16 May 2018). "Should I limit programming to ladder logic or use all standards within IEC 61131?". Control Design.
- ↑ Stevic, Tom (5 May 2017). "पीएलसी प्रोग्रामिंग प्लेटफॉर्म का एक बहुत छोटा इतिहास". Control Design.
- ↑ 3.0 3.1 Roos, Nieke. "संरचित पाठ का उपयोग करते हुए प्रोग्रामिंग पीएलसी". Department of Computing Science, University of Nijmegen. CiteSeerX 10.1.1.49.2016.
{{cite journal}}
: Cite journal requires|journal=
(help)