القائمة الرئيسية

الصفحات

لغات البرمجة المستخدمة لبرمجة الـ PLC و مستقبل لغة الـ Ladder Diagram فى برمجة الـ PLC

لغات البرمجة المستخدمة لبرمجة الـ PLC :


طبعا كلنا عارفين ان من أشهر لغات البرمجة المستخدمة للـ PLC هى لغة Ladder Diagram لكن معظمنا عارف انها مش اللغة الوحيدة للبرمجة وان كانت هى الأشهر بالذات فى مصر لسهولتها ولقربها من رسم دواير الكونترول اللى بتتعمل بالكلاسيك كونترول ..

الـ (International Electrotechnical Commission (IEC عمل ستاندرد اسمه IEC 61131-3 وعرف فيه الـ 5 لغات الاستنادرد لبرمجة الـ PLC وهما :

لغات البرمجة المستخدمة لبرمجة الـ PLC


1- Instruction list (IL)
2-Ladder logic
3-Function block diagrams (FBD)
4- Structured text (ST)
5- The sequential function charts (SFC)

والحقيقة وان كانت لغة الـ Ladder هى الأشهر فى مصر الا اننا بنلاقى ان لغات تانية زى Instruction List ليها الشهرة الأكبر فى بلاد تانية .

طيب ايه الفروقات بين اللغات دى وبعضها ؟

1- Instruction list (IL)

plc Instruction list (IL)

دى لغة نصية قريبة من الـ Machine language أو الـ Assembly . ويمكن المبرمجين اللى من خارج اطار الهندسة الكهربية واللى ملهمش دعوة بالكونترول والكهربا عموما بيلاقو انها أفضل فى البرمجة ليهم واللغة دى هى الأكثر انتشارا فى أوربا .

2-Ladder logic

plc Ladder logic

دى لغة رسومية بتمثل فيها عملية الكونترول داخل الـ PLC بأقرب ما يكون لتصميم دواير الكلاسيك كونترول وهى الأفضل فى الاختيار للفنيين مش المبرمجين لما بيتعلمو PLC لأنهم بيلاقو سهولة فى ربطها مع دواير الكلاسيك كونترول اللى كانو بيتعاملو بيها .

3-Function block diagrams (FBD)

plc Function block diagrams (FBD)

دى كمان لغة رسومية بيتم التعبير عن البرنامج فيها بما يشبه الدواير والعمليات المنطقية AND/OR/NOT/......

4- Structured text (ST)

plc Structured text (ST)

دى لغة نصية بس أقرب ما يكون للـ High level programming languages واللى بتستخدم فيها البرمجة المتعارف عليها فى لغات زى الباسكال والسى

وبتلاقى فيها عمليات زى الـ If....Then والـ While Loop وبتعتبر بالنسبة للمبرمجين هى اللغة الأفضل والأكتر Flexability .

5- The sequential function charts (SFC)

 plc The sequential function charts (SFC)
وبتسمى أيضا بالـ Gracet وهى لغة بتحاول تصميم الـ System فيها كأنه Flow chart وتمثيل عملية البرمجة بالشكل ده .

طبعا حد يقول احنا سمعنا اسامى لغات تانية غير دى فى سيمنز بس الحقيقة انها مش لغات وانما هى سيمنز مسمياها بمسميات تانية كنوع من الـ Branding مش أكتر


  • زى مثلا ان سيمنز أطلقت على Instruction list IL اسم Statment List STL
  • وعلى Structured Text اسم (Structured Control Language (SCL
  • وعلى (The sequential function charts (SFC اسم S7 Graph


وزى ما قولنا ده نوع من الـ Branding مش اكتر علشان تبقى ديما اساميهم مرتبطة فى ذهنك بسيمنز .

فى الصور هتلاقو برنامج مكتوب بالـ 5 لغات كنوع من التفريق بينهم "الصور جايبها من على النت علشان الشرح يكون أوضح مش برنامج انا اللى كاتبه "



طيب مع التطورات اللى بتحصل حوالينا فى الأنظمة وتعقيدها والبرمجة ايه مستقبل أكتر اللغات المنتشره فى مصر Ladder diagram ؟

مستقبل لغة الـ Ladder Diagram فى برمجة الـ PLC :


طبعا كلنا لغة الـ Ladder diagram هى أول لغة اتعملت لبرمجة الـ PLC أول ما اتصنع وانه بما ان الـ PLC أصلا اتعمل كبديل للـ Relay system فجت اللغة دى بشكل مبسط انها بتستبدل الـ Contact network اللى كنا بنعملها فى لوحة الكلاسيك كونترول لشكل تانى بنفس المنطق ولكن سوفت وير مش هارد وير ...

لكن مع الزمن بدأت الأنظمة تتعقد ومبقتش مجرد نقط مفتوحه ومقفولة فى سكة بعض علشان تشغل Coil لكونتاكتور أو ريلاى فى الاخر ...

فالسؤال هنا لحد امتى اللـ Ladder diagram هتصمد قصاد التعقيد والتطور اللى بيحصل للـ Control & Automation Systems وهل هنيجى فى وقت من الأوقات نقول خلاص اللـ Ladder ده للتطبيقات السهلة بس واللى حابب يشتغل فى التطبيقات الكبيرة والمعقده لازم يشتغل باللغات التانية الـ more high level زى Instruction list و Structured Text ؟

لغة Ladder diagram لما اتعملت فى بداية صناعة الـ PLC اتعملت بنفس منطق الريلاى لوجيك فكان ومازال من السهل جدا تعلمها بالنسبة للمهندسين أو الفنيين اللى كانو شغالين فى نفس المجال ده قبل كده وبقو Familiar بيها بنسبة كبيرة وبقينا نسمع مصطلح " علشان تشتغل PLC " لازم تتعلم كلاسيك كونترول كويس الأول مع ان المصطلح ده مبقاش ليه وجود فى الشركات الكبيرة علشان شغل الكونترول بقى حاجة وشغل الاوتوميشن بقى حاجة تانية زى لما اتكلمت فى بوست قبل كده ان مع الوقت مهندس الاوتوميشن فى طريقه انه يبقى مبرمج أكتر ماهو مهندس كهربا وبقى فيه انفصال فى المشروعات الكبيرة بين المهندس اللى بيصمم وبينفذ لوحة الكونترول والمهندس اللى بيبرمج السيستم .

والانفصال التدريجى اللى بيحصل بالبطئ ده خلى منظورنا للغة الـ Ladder Diagram يختلف شوية ..

لأن اللى عارفها عارف انها مش برمجة بالمعنى الحقيقى وانما رسم محاكى لعملية الكونترول اللى انا عايز أوصلها عكس اللغات التانية اللى بتكتب فيها كود حقيقى وبتحس انك بتبرمج فعلا .

بس مش ده السبب اللى يخلينا نحكم عليها وعلى مستقبلها لأن ببساطة مش معنى ان فى المستقبل اللى هيبقى شغال اوتوميشن هيبقى حد المفروض انه فاهم برمجة أكتر من كهربا ان لغة الـ Ladder diagram مبقتش ملاءمه للمستقبل لأن مادام هى بتؤدى الغرض خلاص اللى يقدر يبرمج بيها يبرمج واللى يقدر يبرمج بلغة تانية يبرمج لكن احنا عايزين نعرف هل هى هتقدر تواكب التقدم والتعقيد اللى بيحصل ولا لا ....

علشان نعرف الموضوع ده لازم نسأل نفسنا سؤالين مهمين جدا ونقيسها على أى لغة من لغات البرمجة المختلفة الخاصة بالـ PLC :

1 - هل اللغة دى سهلة القراءة والفهم والتعلم لأى مهندس ولا لأ ؟


اجابة السؤال ده هى فى صالح لغة الـ Ladder جدا لأنها من أسهل لغات او طرق برمجة الـ PLC والفنى يقدر يتعلمها بسهولة جدا مش المهندس بس ....

عكس اللغات التانية اللى بتكتب أكواد ممكن تبقى أصعب شوية على المهندس اللى بخلفية كهربية مش برمجيه وأكيد أصعب بكتير جدا على الفنيين .

فالنقطة دى تخلينا نقول مبدئيا لحد ما نعرف اجابات السؤال التانى ان الـ Ladder diagram هى اللغة الأولى للـ PLC لأنها سهلة التعامل والمعرفة من أى حد حابب يتعلم PLC .

2 - التعامل مع الـ Functions المعقدة بيتم ازاى فى اللغة دى ؟


لو شوفنا لغة الـ Ladder diagram من 20 سنه وشوفناها دلوقتى هنلاقى ان مع الوقت بينضاف حاجات جديدة بتخليها تواكب التطور اللى بيحصل ..

بمعنى ان بتلاقى فى أى نوع من شركات الـ PLC بينزل Family أو Series جديدة وتفتح السوفت وير بتاعها ممكن تلاقى وظايف جديدة وبلوكات جديدة مكانتش موجوده قبل كده ...

أى نعم فى الـ Ladder diagram بيبقى الموضوع أصعب من اللغات النصية العادية فى كتابة وظائف معينة أو معادلات معينة ...

يعنى تخيل معادلوة معقده انت ممكن تكتبها فى الـ Ladder فى كذا Network ممكن تعملها فى لغة زى Instruction List فى كام سطر وبشكل أسهل .

بس طول ماده بيحصل وان الشركات كلها مازالت بتعمل Support للغة دى وكل ما بييجى جديد بتلاقى Block بيخليك تقدر تعمل الـ Function دى يبقى مش هيحصل اننا فجأة هنبقى شغالين فى مشروع بالـ Ladder Diagram ونقف فى نصه ونقول ان احنا مش عارفين نعمل جزء معين بالـ Ladder ولازم نشتغل Structured Text مثلا أو Instruction list .

بس فى نفس الوقت لما بتتعلم لغة نصية من دول وبتشتغل بيها بتلاقى نفسك البرمجة بقت أمتع وأسهل بكتير جدا ,,,

وفى نفس الوقت لو اتكلمنا فى نقطة ان مع تطور المشروعات وفى الشركات الكبيرة هيبقى دورك كمهندس اوتوميشن هو انك مبرمج فقط فهتلاقى ان خريجين أقسام كونترول وحاسبات بقو هما اللى داخلين فى المجال أكتر من كهربا شوية وهما أصلا متعودين على البرمجة الكوديه فهيبقى الـ Ladder بالنسبة ليهم صعبة ومش Flexible .

علشان كده ممكن نقول ان مع الوقت لغة الـ Ladder هيقل استخدامها جدا ومش هتبقى اللغة الأولى للبرمجة زى دلوقتى ...وانما هتفضل موجودة وأى تطبيق بيتعمل بلغة تانية ممكن يتعمل بيها ...لحد ما نصحى فى يوم نلاقى الشركات المصنعه قالت انها بطلت تدعم الـ Ladder ومعنى انها بطلت تدعمها انها هتبطل تنزل تحديثات ليها وتغييرات فى الـ Functions بتاعتها فهنلاقى ان عمليات وتكنولوجيات معقده بدأت تظهر وهى مش قادرة تواكبها أو تتعامل معاها ساعتها ممكن نقول ان الـ Ladder diagram فى طريقها للاندثار .

مقالات ذات صلة

تعليقات