هذه التعليمات التي سوف نتعرض لها تتعلق غالبا باستدعاء وظائف معينة أو إنهاء جزء معين من البرنامج وسوف نعرض لها بالتفصيل أمرا أمرا
BE Block End
وهذا الأمر يأخذ الصيغة BE في الكتابة وهو ببساطة يقوم بإنهاء Block قيد التنفيذ سواء كان OB أو FC أو FB أو أي نوع وينتقل مباشرة إلى الأمر التالي في ترتيب تشغيل البرنامج ولو كان هذا مثلا في OB1 فإن هذا يعني بدء التنفيذ من أول Block مرة أخرى وعدم استكمال التنفيذ بشكل تسلسلي
مثال :
A I 1.0
JC NEXT //Jump to NEXT jump label if RLO = 1 , I 1.0 = 1
L IW4 //Continue here if no jump is executed
T IW10
A I 6.0
A I 6.1
S M 12.0
BE //Block end
NEXT: NOP 0
//Continue here if jump is executed
BEC Block End Conditional
وهذا الأمر مثل السابق تماما عدا أنه لا يتم تنفيذه إلا إذا تحقق الشرط السابق له أي تكون RLO=1 أما في حالة عدم تحقق الشرط RLO=0 عند مرور البرنامج على الأمر BEC فإنه لا يتم التنفيذ
مثال :
A I 1.0 //Update RLO
BEC //End block if RLO = 1
L IW4 //Continue here if BEC is not executed, RLO = 0
T MW10
BEU Block End Unconditional
لا أجد فرق بينه وبين BE حيث يقوم بإنهاء Block دون الاعتماد على شرط أو نتيجة RLO
CALL Block Call
Format
CALL : logic block identifier
حيث أن logic block identifier يمكن أن يكون :
FC : Function --> CALL FCn
SFC : System function --> CALL SFCn
FB : Function block --> CALL FBn1,DBn2
SFB : System function block --> CALL SFBn1,DBn2
وهذا الأمر يستخدم لاستدعاء FC,FB,SFC,SFB سواء برقمها أو باسمها الرمزي مع الوضع في الاعتبار وجوب إدراج رقم Data Block DB المصاحب لكل من FB , SFB كما هو واضح في طريقة كتابة الأمر في الأسطر السابقة وهو يقوم بنقل تنفيذ البرنامج إلى FC,FB,SFC,SFB المطلوب دون أي اعتبار لمحتوياته وبعد انتها التنفيذ يعود البرنامج إلى السطر الذي يلي أمر Call في التسلسل الطبيعي للبرنامج
كذلك يجب الوضع في الاعتبار أن هذا الأمر يستعمل لاستدعاء دوال موجودة بالفعل أي يتم إنشاؤها أو إدراجها قبل الاستدعاء حتى لا تعطي CPU خطأ في تنفيذ االبرنامج
ومن الأمور الهامة جدا عند استدعاء أي دالة وظيفية من الأنواع الأربعة عملية تمرير المتغيرات إلى الدالة الوظيفية في حالة وجودها Passing parameters
وسوف يتضح ذلك من الأمثلة الآتية :
Example : Assigning parameters to the FC6 call
CALL FC6
Formal parameter Actual parameter
NO OF TOOL := MW100
TIME OUT := MW110
FOUND := Q 0.1
ERROR := Q 100.0
حيث أن المتغيرات باللون الأحمر هي ما يتم تسميته داخل FB أما اللون الأزرق فهي إما القيم المحددة للمتغيرات أو العنوان الذي يحتوي على تلك القيم المطلوبة للتنفيذ
Example : Calling FB99 with instance data block DB1
CALL FB99,DB1
Formal parameter Actual parameter
MAX_RPM := #RPM1_MAX
MIN_RPM := #RPM1
MAX_POWER := #POWER1
MAX_TEMP := #TEMP1
على وعد بلقاء لاستكمال باقي التعليمات الخاصة بالموضوع إن شاء الله