نص غير منظم

نص منظم

النص غير منظم (بالإنجليزية: Structured Text ST)‏ هي واحدة من خمس لغات البرمجة بالنسبة للبرمجة منطق جهاز تحكم الصناعية (API) يحددها معيار IEC 61131-3. وهي لغة عالية المستوى و هيكلها تشير إلى لغات ادا و باسكال.[1]

شكل هذه الملفات كانت موحدة إلى XML عن طريق PLCopen. تعليمات أكثر أو أقل تعقيدًا، معتمدة، على سبيل المثال:

  • التكرار حلقات (كرر حتى، في حين-DO).
  • (IF-THEN-ELSE; الحالة).
  • وظائف (SQRT(), SIN()).

برنامج سبيل المثال[عدل]

(* بسيطة آلة الدولة *) TxtState := الدول[StateMachine]; حالة من StateMachine 1: ClosingValve(); آخر ;;  BadCase(); END_CASE;

مثال آخر من ST البرمجة[عدل]

// PLC التكوين التكوين DefaultCfg VAR_GLOBAL  b_Start_Stop : منطقي; // متغير عمومي إلى تمثل منطقية.  b_ON_OFF : منطقي; // متغير عمومي إلى تمثل منطقية.  Start_Stop في المائة IX0.0:منطقي ؛ / / المدخلات الرقمية من المجلس التشريعي الفلسطيني (عنوان 0.0)  ON_OFF في المائة QX0.0:منطقي ؛ / / الإخراج الرقمي من المجلس التشريعي الفلسطيني (عنوان 0.0). (لفائف) END_VAR   // جدول البرنامج الرئيسي ليتم تنفيذها كل 20 ms  مهمة وضع علامة(الفاصل الزمني := t#20ms);   البرنامج جنب مع القراد : Monitor_Start_Stop; END_CONFIGURATION  برنامج Monitor_Start_Stop // الفعلية البرنامج VAR_EXTERNAL  Start_Stop : منطقي ؛   ON_OFF : منطقي ؛  END_VAR  VAR // المتغيرات المؤقتة عن منطق التعامل مع  ONS_Trig : منطقي ؛   Rising_ONS : منطقي ؛  END_VAR   // بداية من المنطق  // القبض على ارتفاع الحافة طلقة واحدة من Start_Stop الإدخال  ONS_Trig := Start_Stop وليس Rising_ONS;   // الرئيسية المنطق Run_Contact -- تبديل / تبديل قبالة ---  ON_OFF := (ONS_Trig وليس ON_OFF) أو (ON_OFF وليس ONS_Trig);   // ارتفاع طلقة واحدة المنطق   Rising_ONS := Start_Stop; END_PROGRAM

مثال آخر من إعلان وظيفة[عدل]

//======================================================================= // وظيفة كتلة توقيت العداد : تدريجية عدد من توقيت الفاصل //======================================================================= FUNCTION_BLOCK FB_Timed_Counter VAR_INPUT  تنفيذ : منطقي := FALSE; // الزناد إشارة البدء توقيت العد  Time_Increment :: = 1.25; // أدخل دورة الزمن (ثانية) بين التهم  Count_Cycles : الباحث := 20; // عدد المطلوب عد دورات END_VAR  VAR_OUTPUT  Timer_Done_Bit : منطقي := FALSE; // طلقة واحدة بت مشيرا إلى توقيت دورة القيام به  Count_Complete : منطقي := FALSE; // Output بت مشيرا إلى العد كاملة   Current_Count : الباحث := 0; // تراكم قيمة العداد END_VAR  فار  CycleTimer : طن; // الموقت الفيس بوك من الأوامر المكتبة  CycleCounter : الوحدة; // مكافحة الفيس بوك من الأوامر المكتبة  TimerPreset : الوقت; // تحويل Time_Increment في ثوان MS END_VAR   // بداية من وظيفة كتلة البرمجة  TimerPreset := REAL_TO_TIME (: = Time_Increment) * 1000;  CycleTimer(  في := وتنفيذ ليس CycleTimer.س  ,pt := TimerPreset);   Timer_Done_Bit := CycleTimer.Q;  CycleCounter(  cu := CycleTimer.س  r := يتم تنفيذ  pv := Count_Cycles);   Current_Count := CycleCounter.السيرة الذاتية;  Count_Complete := CycleCounter.q;  END_FUNCTION_BLOCK

مراجع[عدل]

  1. ^ برمجة /النص غير منظم.