من فضلك ادعم الموقع على جوجل بالضغط على علامة g+1

الأربعاء، 27 سبتمبر 2017

شرح اوامر bit logic فى siemens plc

الكاتب elec engineer   بتاريخ   1:12 ص   STL

كنا وقفنا عند الدرس الثالث اللى شرحنا فيه ان scan cycle و عرفنا ازاى CPU بيقرا البرنامج و ينفذه
الرابط شرح scan cycle فى PLC Siemens

نكمل الدرس الرابع و ها نشرح اوامر البرمجة الاساسية فى لغة Ladder و لغة Statement list
ها نفتح FC 1 اللى عملناها و نفتح قائمة bit logic اللى على اليسار
نجد مجموعة من الاوامر اساسية فى اى برنامج بكتبه

شرح كل رمز حسب الرقم بجانبه
رقم 1 و 2
النقطة المفتوحة open contact و النقطة المغلقة closed contact  و ليهم حالتين
اول حاجة لو جه معاهم input خارجى من اى digital input module زى ما استخدم معاهم I0.0 مثلا
كدا لو استخدمت open contact يعنى بقول ان حالة النقطة ديه مماثل لحالة النقطة خارج PLC
و لو استخدمت closed contact معناها ان حالة النقطة مخالف لحالة النقطة خارج PLC
مثال : لو استخدمت I0.2 مع closed contact كدا لو الدخل حالته on خارج PLC ها يقوم البرنامج بعكس حالتها و جعلها OFF داخل network
و العكس صحيح يعنى لو حالة النقطة off خارج plc يقوم البرنامج بجعلها on داخل network


طب لو استخدمت open contact و closed contact مع marker M او timer T او اى حاجة software
كدا open contact معناها نقطة مفتوحة عادى خالص و closed contact معناها نقطة مقفولة
مثال على كدا مثلا فى الصورة السابقة ده برنامج start stop و تم شرحه بالتفصيل فى درس شرح blocks فى PLC Siemens


عايزين نكتب نفس البرنامج ده بس بلغة statement list
عشان ابدل بين لغات البرمجة الثلاثة بختار view ثم بختار اللغة المطلوبة

لاحظ ان تم التحويل تلقائيا من Ladder Diagram الى statement list
ملحوظة : اى برنامج Ladder diagram يمكن تحويله بالكامل الى statement list و العكس غير صحيح
يعنى بعض اكواد statement list يمكن تحويلها Ladder و البعض لا يمكن 

لكتابة نقطة مفتوحة فى statement list بكتب A + عنوان و اسم النقطة مثال
A I0.0
A M10.6
و هكذا
لحتابة نقطة مغلقة بكتب AN + عنوان و اسم النقطة
AN  I9.3
AN Q0.0
و هكذا

قبل الانتقال لرقم 3 لازم نفهم يعنى ايه RLO
RLO هو اختصار Result of Logic Operations اى نتيجة العمليات المنطقية
و ديه بتكون bit بيتخزن عليها نتيجة اى عملية منطقية على هيئة 0 او 1
مثال :
لو انا كتبت AN I0.0
و رحت شغلت الدخل I0.0 خليته ON
عند تطبيق السطر ده من البرنامج CPU ها يلاقى I 0.0 بواحد بس AN تقوم بعكس النقطة من open الى close و العكس
عشان كدا RLO فى حالة السطر ده من البرمجة ها يكون 0
لاحظ ان RLO بيتغير كل ما بعمل اى logic operation 


شرح رقم 3 : الامر NOT 
و ده يقوم بعكس حالة RLO قبله
يعنى لو قبل الامر NOT كانت RLO بصفر ها يحولها 1
و لو كانت RLO بواحد ها يحولها 0


انظر الصور التوضيحية


هام جدا : شرح حالة RLO عند كل خطوة و تأثيره على الخرج
بفرض ان كل الدخل شغال يعنى انا مشغل I0.0 و I0.1 و I0.2


رقم 1 : RLO = 1 و ده سببه ان I0.0 =1
رقم 2 :  RLO = 1 و ده سببه عملية AND بين عدد 2 دخل يعملان فتكون النتيجة 1
رقم 3 : RLO = 0 لان امر NOT قام بعكس حالة RLO قبله
رقم 4 : RLO = 0 و السبب عملية AND بين I0.2 التى تعمل و حالة RLO قبلها التى قيمتها 0
رقم 5 :  الخرج لا يعمل لان حالة RLO قبله مباشرا تساوى 0


شكل الكلام ده عند التحويل للغة Statement List

لاحظ الاتى : 

عشان اعمل coil او خرج يتم كتابة الرمز = و بعده اسم و عنوان الخرج و فى الحالة ديه رمز = يسمى assign
عشان اكتب اى كومنت فى اى سطر داخل statement list بكتب علامة / مرتين و اكتب اى كومنت و كدا CPU شايف الكلام بعد // مجرد كلام ليس له اى علاقة بالبرمجة
رقم 4 : الخرج او coil و ده ممكن يكون Q ( خرج من output module ) او marker M و غيرها


رقم 5 : علامة (#) :
ده معناه خرج وسطى Midline Output
و يتم استخدامه عند الحاجة لعمل خرج داخل سطر البرمجة نفسه



فى حالة الكود فى network رقم 2
بفرض ان I1.0 = 1
I 1.2 = 0
I 1.3 = 0
شرح كل خطوة
(1) RLO = 1 لان I 1.0 =1 اى يعمل
(2) RLO = 1 لان I 1.2 = 0 و عكسها = 1 و عند عمل AND بينها و بين RLO قبلها تكون النتيجة 1
(3) output Q1.0 =1 اى يعمل لان RLO قبله =1
(4) RLO = 0 لان I 1.3 = 0 و تم عمل عملية AND بينها و بين ما قبلها فكانت النتيجة = 0
(5) output Q0.2 = 0 اى لا يعمل لان RLO قبله = 0


البرنامج السابق بلغة steatement list 

لاحظ ان فى حالة statement list عشان اعمل midline output بستخدم الامر (=) عادى جدا
لاجظ كمان انى اضطريت استخدم السطر A Q 0.1 بعد midline output لان فى حالة statement list عند استخدام اى خرج يقوم البرنامج بعدها بالبدء من جديد اى لا يتذكر ما سبق
رقم 6 : امر Reset و اختصاره R
رقم 7 : امر Set و اختصاره S
اولا امر set
و هو يعتبر خرج عادى مثله مثل امر =
و لكن الفرق انه يقوم بتشغيل الخرج المكتوب عنده حتى بعد انقطاع التغذية قبله
مثال


لو  M5.0 = 1 الى يعمل
نجد ان Q10.0 = 1
طيب لو M5.0 اصبحت بصفر اى لا تعمل
نجد ان Q 10.0 تبقى ما هى تعمل اى = 1
و لكى يتم اطفاء Q 10.0 نحتاج الى امر Reset ( اختصاره R ) و هو عكس امر SET اى يقوم بتحويل الخرج المكتوب عليه الى 0

هنا عندما تكون M6.1 = 1 يتم اطفاء Q10.0 اى يصبح 0
المشكله هنا لو M5.0 =1 و فى نفس الوقت M6.1 = 1 كدا CPU ها يشغل Q10.0 و لا ها يطفيه ؟
الاجابة ان CPU دائما ينفذ اخر امر مر عليه
اذا هنا سوف يتم جعل Q10.0 =0


شكل اوامر set و reset فى حالة STL

رقم 8 و 9 : و هى اوامر RS و SR
و هى اوامر تجمع بين عملية set و عملية reset فى بلوك واحد و هذا فقط لتسهيل الاستخدام
RS اختصار reset and set : اى ان اخر عملية يتم تنفيذها هى set اى ان set لها الاولوية

بكتب اسم و عنوان الخرج المراد تشغيله فوق البلوك
هنا لو I 15.3 =1 نجد ان الخرج Q20.2 لا يعمل
و لو I 15.4 =1 نجد ان الخرج Q20.2  يعمل
و لكن ماذا لو ان I 15.3 =1 و I 15.4 =1 ؟
سوف يقوم البرنامج بتنفيذ الامر الاخير و هو امر set اى Q20.2 =1


العكس عند استخدام SR اى set and reset و هنا امر reset هو الاخير و له الاولوية 

فى حالة network 6
لو M2.0 =1 و M2.1 =1
نجد ان Q25.1 =0
لان امر reset هو الاخير

الكود فى حالة استخدام STL


ملحوظة : السطر NOP 0 هو اختصار no operation
و ده سطر احيانا يقوم البرنامج بكتابته عند التحويل من LAD الى STL
و هو هنا ليس له اى اهمية و يمكن حذفه ايضا


رقم 12 : الامر SAVE
و ده امر يستخدم فى نقل القيمة الموجودة فى RLO الى bit تسمى BR و ديه ها يتم شرحها لاحقا عند شرح status bits و ده كمان اكثر من درس لانها حاجة more advanced


رقم 10 و 11 و 13 و 14 خاصين positive and negative edge و ده ها يتم شرحه الدرس القادم مباشرة


عملية OR بين اكثر من bit
امر OR فى حالة LAD يشابه بشكل كبير التوصيل توازى فى الكلاسيك كنترول 

مثال


لو M2.7 =1
و M2.6 =1
اذا تكون محصلتهم = 1
و اذا كانت I2.0 =1
اذا يعمل الخرج M8.0


شكل الكود بلغة STL


لاحظ ان قبل بداية عملية OR يجب استخدام  )
و بعد انتهاء العملية يجب استخدام (   


انتهى الشرح و اى استفسار اتفضل اسأل فى تعليقات facebook

هذا الموضوع حصرى لموقع electrical engineering يرجى عدم النقل

معلومات كاتب الموضوع

مهندس كهرباء مصرى متخصص فى مجال التحكم الالى
شاهد جميع موضوعاتي: مهندس مصرى

navright

متابعى الموقع

Back to top ↑
كن على تواصل واتصال معنا

احذر.. الموقع محمى بحقوق الملكية الفكرية

© 2013 موقع الهندسة الكهربية . WP Mythemeshop Converted by Bloggertheme9
Blogger templates . Proudly Powered by Blogger .