تحتاج هذه للتهذيب لتتوافق مع أسلوب الكتابة في أرابيكا.
هذه المقالة يتيمة. ساعد بإضافة وصلة إليها في مقالة متعلقة بها
يرجى إضافة قالب معلومات متعلّقة بموضوع المقالة.

نص غير منظم

من أرابيكا، الموسوعة الحرة
اذهب إلى التنقل اذهب إلى البحث
نص منظم

النص غير منظم (بالإنجليزية: 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. ^ برمجة /النص غير منظم.