| دورة متقدمة في البرمجة S7 | |
|
+135jeopenny20 concord SIDALI hesham_scada ابراهيم السقا شادى محمد حسين الحمدى marocautomatique حسني إمام mostafa talat Ali abdelmagid osamarady التقني المتخصص azzouz علام عبدالجليل Eng_abdullah gaber123 saberplc nacer ENG_ELDABLY ehab_abdelaleem mf8044 meziani majdglory achour lamouri djadel yousfi محمد رياض ياسين الصافى عبد اللطيف محمد mohamed_moussaoui 0-1 mjalil80 رياض محمد محمود عليان Sallam ATHEER yahiaadam Ing_dz أحمد جمال مكرم athil kmourad enhassan احمد الجغيفي ELTIYEB KROPI eng_mo7amed_3ly sky hok mikah elec صابر يوسف khaledmosa omr.a MALEK800 tatya007 Mr.Mohamed tamzargot79 ENG.SAMER SALAH kimo malek alsharfi ياسين بوخروبة مهندس نديم mgdy ali hassan ali plctxp1 محمدسوري khaledrefat ahmedhasan حسام رضا اسماعيل محمود سعد rasan eng msmsm احمد سيد englolosoft pizomx ايهاب رمضان thulfiqar2 ميدو ahmedkasmi رفعت القدسي eng_w soliman sharkfish77 hamadaaskar الفقير لله Ghazi-A-Monef بلال درويش احمدسامى mostafasadek79 salah00 قفار fadhel mfarock lotfy esaed MIMOTE ابو احمد الحجي adder محمد زعبوبة ebenazzouz eng_nassar soltan_lil riad1986 احمد سالم kingmohamed falah49 amerelect dobelhadj amr ezzat elwan سيد زايد ticon55 أحمد فاروق أحمد فتحي yakteeno eng_abdelaal hany_omar helyo_tech himahalim adnan hashim mone1 أبو خالد مصطفى engmohallam AUTOMATISME شرشابيل intelligence Mohammed_Mobasher majid hijazy zabat 4ever semsem metwally.mustafa ابو هبة GALALSAIF محمد عبدالقوي RAMA denger741 agadir1sou m_elshatr wael tawfik mm PLCMan 139 مشترك |
|
كاتب الموضوع | رسالة |
---|
PLCMan Admin
عدد الرسائل : 12366 العمر : 55 العمل/الترفيه : Maintenance manager تاريخ التسجيل : 02/03/2008
| موضوع: رد: دورة متقدمة في البرمجة S7 الثلاثاء 21 أبريل 2009 - 11:34 | |
| السلام عليكم ورحمة الله وبركاته إخواني الأعزاء
أولا أود أن أعتذر عن طول الموضوع وتباعد مواضيعه رغما عني للإجابة عن الاستفسارات والتي كان مفترضا أن نؤجلها إلى نهاية المثال حسب البرنامج الذي اقترحناه ولكن حرصا على وضوح كل شئ للزملاء فقد التزمنا بالإيضاح وسوف نكمل إن شاء الله
لعلنا الآن وصلنا إلى مرحلة طيبة من إدراك كيفية تشغيل PID وما بقي لنا في هذا المثال الذي ضربناه هو الربط بين المدخلات والمخرجات
فكما بينا من قبل وحسب الشكل التوضيحي لكيفية عمل الماكينة Block diagram مثل الموضح في الشكل التالي :
حيث أن قراءة السرعة من المقاومة المتغيرة Potentiometer الخاصة بزيادة وتقليل السرعة العامة للماكينة سوف يكون على المدخل التماثلي PIW 304
ولنعامل أولا هذا المدخل التماثلي للشكل الذي نريده :
حسب الضبط الذي قمنا به في Hardware configuration فإن نوع المدخل هنا هو جهد كهربي ومن المفترض أن تكون قراءته داخل PLC رقم صحيح يتراوح بين صفر و 27648 والمطلوب أولا هو ضبط هذه القيمة ليتم تحويلها داخل البرنامج من صفر وحتى السرعة القصوى للماكينة (( مثلا 500 متر/د ))
وبالتالي فإن صفر فولت -- صفر صحيح -- صفر متر/د و 10 فولت -- 27648 صحيح -- 500 متر /د
والأمر بسيط جدا إن شاء الله فإما أن نقوم بعمل دالة تقوم بعمل Scaling المطلوب أو أن نستخدم دوال Scaling إذا كانت موجودة في Library أو أن نقوم بذلك بشكل مباشر داخل البرنامج
وسوف نوضح للزملاء كيفية عمل ذلك مباشرة ويمكنهم بعد ذلك عمل دالة Function لذلك بأنفسهم وجعلها ضمن مكتبتهم Library الخاصة
سوف نقوم بإنشاء Data block DB40 وسوف نقوم باختيار البيانات DBW0,DBW2,DBW4,DBW6,DBW8,DBW10,DBW12,DBW14,DBW16 لتكون من النوع الصحيح Integer
والبيانات DBD20,DBD24,DBD28,DBD32,DBD36,DBD40,DBD44,DBD48 لتكون من النوع الصحيح ذو الدقة المضاعفة Double integers
والبيانات DBD52,DBD56,DBD60,DBD64,DBD68,DBD72,DBD76,DBD80 لتكون من النوع Real
وذلك لاستخدامها داخل البرنامج ستقبلا
أولا عمل Scaling للمدخل PIW 304
L PIW 304 // Load value of PIW 304 ITD // Convert to Double int DTR // Convert double to real and save contents to ACCUM1 L 27648.0 // Load constant 27648 /R // Divide by the constant to get percentage L 500.0 // Load the maximum speed value *R // Multiply the percentage by 500 T DB40.DBD52 // Which is the speed set value as Real with max. value 500 m/min
وبنفس الطريقة نقرأ قيمة الدانسر رقم-1 وهو على المدخل التماثلي PIW 306 ونقوم بتحويله بقيمة قصوى 100 كالآتي :
L PIW 306 // Load value of PIW 306 ITD // Convert to Double int DTR // Convert double to real and save contents to ACCUM1 L 27648.0 // Load constant 27648 /R // Divide by the constant to get percentage L 100.0 // Load the maximum dancer position value *R // Multiply the percentage by 100 T DB40.DBD56 // Which is the pay-off dancer position as Real with max. value 100 m/min
وبنفس الطريقة نقرأ قيمة الدانسر رقم-2 وهو على المدخل التماثلي PIW 308 ونقوم بتحويله بقيمة قصوى 100 كالآتي :
L PIW 308 // Load value of PIW 308 ITD // Convert to Double int DTR // Convert double to real and save contents to ACCUM1 L 27648.0 // Load constant 27648 /R // Divide by the constant to get percentage L 100.0 // Load the maximum dancer position value *R // Multiply the percentage by 100 T DB40.DBD60 // Which is the Take-up dancer position as Real with max. value 100 m/min
وبالتالي فالآن لدينا هذه القيم الثلاثة كالآتي :
قيمة قراءة السرعة بين صفر و 500 ومخزنة في العنوان DB40.DBD52
قيمة قراءة دانسر الإمداد بين صفر و 100 ومخزنة في العنوان DB40.DBD56
قيمة قراءة دانسر الاستقبال بين صفر و 100 ومخزنة في العنوان DB40.DBD60
القيمة DB40.DBD56 سوف يتم تمريرها إلى المتغير PV_INT الخاص بحامل التموين في DB10 باستعمال MOVE أو Load/Transfer القيمة DB40.DBD60 سوف يتم تمريرها إلى المتغير PV_INT الخاص بحامل الاستقبال في DB20 باستعمال MOVE أو Load/Transfer
L DB40.DBD56 // Load Dancer position value for pay-off T DB10.DBD10 // Transfer to PID actual value input
L DB40.DBD60 // Load Dancer position value for Take-up T DB20.DBD10 // Transfer to PID actual value input
القيمة DB40.DBD52 والتي تمثل سرعة الخط يتم تمريرها إلى المتغير DISV وهو بالعنوان DB10.DBD68,DB20.DBD68
L DB40.DBD52 // Load line speed value T DB10.DBD68 // Transfer to PID ,DISV value input
L DB40.DBD52 // Load line speed value T DB20.DBD68 // Transfer to PID ,DISV value input
_________________ أبـوروان | |
|
| |
PLCMan Admin
عدد الرسائل : 12366 العمر : 55 العمل/الترفيه : Maintenance manager تاريخ التسجيل : 02/03/2008
| موضوع: رد: دورة متقدمة في البرمجة S7 الجمعة 24 أبريل 2009 - 11:36 | |
| السلام عليكم ورحمة الله وبركاته إخواني الأعزاء
جاء الدور الآن على توصيل قيم السرعات للمخرجات الطرفية
فلدينا الآن السرعة الخطية للماكينة بالكامل في العنوان DB40.DBD52 في صيغة رقم عشري Real تتراوح بين صفر و500 م/د
ولدينا خرج PID لكل من دانسر التموين والاستقبال على العناوين بالترتيب DB20.DBD72,DB10.DBD72 وهو المشار له بالقيمة LMN وتتراوح قيمته بين 100.0- إلى 100.0+
والمطلوب الآن تحويل هذه القيم بشكل عكسي لتناسب عملية الإخراج وكما سبق وذكرنا فلدينا خيارات للقيام بذلك منها إعادة التحويل اليدوي Unscaling وهذا ما سنقوم به إن شاء الله والثاني هو استخدام دوال Package الجاهزة (( إن توفرت )) من شركة سيمنس أو استعمال المخرجات الطرفية مباشرة من PID
تعالوا بنا نقوم معا بعمل Unscaling للقيم الثلاث على الترتيب على النحو التالي :
L DB40.DBD52 // Load line speed set value L 500.0 // Load maximum speed set value /R // Divide to get speed as percentage L 27648.0 // Load constant max output value *R // Multiply to get value in range 0-27648 RND // Round to get Double int T LD 0 // Transfer result to Local memory double LD 0 L LW 2 // Load high word which contains the value T PQW 320 // Transfer to caterpillar set value output
وبنفس الطريقة نقوم بعمل نفس الدالة لكل من حامل الاستقبال والتموين
L DB10.DBD72 // Load line speed set value L 100.0 // Load maximum speed set value /R // Divide to get speed as percentage L 27648.0 // Load constant max output value *R // Multiply to get value in range 0-27648 RND // Round to get Double int T LD 4 // Transfer result to Local memory double LD 4 L LW 6 // Load high word which contains the value T PQW 322 // Transfer to pay-off set value output
L DB20.DBD72 // Load line speed set value L 100.0 // Load maximum speed set value /R // Divide to get speed as percentage L 27648.0 // Load constant max output value *R // Multiply to get value in range 0-27648 RND // Round to get Double int T LD 8 // Transfer result to Local memory double LD 8 L LW 10 // Load high word which contains the value T PQW 324 // Transfer to take-up set value output
ويفضل أن تضاف هذه المعالجات لقيم المدخلات التي تم شرحها الدرس السابق وقيم المخرجات التي تم توضيحها اليوم داخل OB35 أما بقية معالجات التشغيل والإيقاف وغيرها فهذه بسيطة ويمكن للجميع القيام بها وإن كنا قد تعرضنا لهذه الماكينة بالتحديد كمثال سابق في الدورة الأولى والتي بدأنا بها برنامج الدورات
وأظن أنها كانت فرصة طيبة لنتعامل مع المدخلات والمخرجات التماثلية وكذلك التعامل مع منظومة PID وفي انتظار استفساراتكم بخصوص هذه التوضيحات حيث قد بينا فقط ما يمكن الاتفاق عليه من أمور الاستخدام وهذه التوضيحات والملاحظات عند تجميعها سوف تعطينا استخداما طيبا للمنظومة إن شاء الله
بقي لنا مثالان يمكن أن نبدأ في توضيحهما كما سبق وأشرنا خلال استعراضنا للدروس السابقة في هذا الموضوع وهما منظومة الضغط ومنظومة الحرارة
أرجو أن يكون الزملاء معنا على الخط حتى يتم الهدف من هذه الدورة إن شاء الله تعالى _________________ أبـوروان | |
|
| |
denger741 نقيب
عدد الرسائل : 198 تاريخ التسجيل : 02/09/2008
| موضوع: رد: دورة متقدمة في البرمجة S7 السبت 25 أبريل 2009 - 8:57 | |
| | |
|
| |
metwally.mustafa فريق أول
عدد الرسائل : 4226 العمر : 38 الموقع : Egypt العمل/الترفيه : automation engineer تاريخ التسجيل : 12/01/2009
| موضوع: رد: دورة متقدمة في البرمجة S7 السبت 2 مايو 2009 - 3:59 | |
| | |
|
| |
Mohammed_Mobasher عريف
عدد الرسائل : 15 تاريخ التسجيل : 31/08/2008
| موضوع: رد: دورة متقدمة في البرمجة S7 الإثنين 4 مايو 2009 - 10:39 | |
| [quote] السلام عليكم أعانكم الله وأرجو يابشمهندس الرد على ال E-Mail وهو من Mohammed Mobasher ,ارجو ألا أكون أثقلت عليك
مع وافر الشكر | |
|
| |
PLCMan Admin
عدد الرسائل : 12366 العمر : 55 العمل/الترفيه : Maintenance manager تاريخ التسجيل : 02/03/2008
| |
| |
denger741 نقيب
عدد الرسائل : 198 تاريخ التسجيل : 02/09/2008
| موضوع: رد: دورة متقدمة في البرمجة S7 الأربعاء 6 مايو 2009 - 22:04 | |
| اخي ابوروان....الله يعطيك الصحه والعافيه اخي اريد عمل برنامح عن طريق PID وهو قياس مستوى سائل عن طريق Level Transmaeter عندما يكون مستوى السائل 30% يتم تشغيل الموتور الى ان يصبح مستوى السائل الى 90% وبعده يتوقف .حيث ان Level Transmaeter يستخدم داخل و حدة الدخل التماثلي mA | |
|
| |
PLCMan Admin
عدد الرسائل : 12366 العمر : 55 العمل/الترفيه : Maintenance manager تاريخ التسجيل : 02/03/2008
| |
| |
denger741 نقيب
عدد الرسائل : 198 تاريخ التسجيل : 02/09/2008
| موضوع: رد: دورة متقدمة في البرمجة S7 الأحد 10 مايو 2009 - 11:10 | |
| هل توقفنا الى هنا اخي ابوروان ... وياشباب اين تعليقكم | |
|
| |
PLCMan Admin
عدد الرسائل : 12366 العمر : 55 العمل/الترفيه : Maintenance manager تاريخ التسجيل : 02/03/2008
| |
| |
denger741 نقيب
عدد الرسائل : 198 تاريخ التسجيل : 02/09/2008
| موضوع: رد: دورة متقدمة في البرمجة S7 الأحد 10 مايو 2009 - 11:45 | |
| الله يعطيك الصحه والعافية اخي ابوروان وفقك الله في الدني والاخره اللهم يسر امرك وفرج همك | |
|
| |
PLCMan Admin
عدد الرسائل : 12366 العمر : 55 العمل/الترفيه : Maintenance manager تاريخ التسجيل : 02/03/2008
| موضوع: رد: دورة متقدمة في البرمجة S7 الثلاثاء 12 مايو 2009 - 14:58 | |
| السلام عليكم ورحمة الله وبركاته إخواني الأعزاء لقد قمت بإعداد مشروع للمثال السابق شرحه وأرجو من الزملاء دراسته ومناقشة أي ملاحظات على المشروع وقد استخدمت المكونات التي في الصورة التالية : لتحميل المشروع اضغط هنا _________________ أبـوروان | |
|
| |
denger741 نقيب
عدد الرسائل : 198 تاريخ التسجيل : 02/09/2008
| موضوع: رد: دورة متقدمة في البرمجة S7 الجمعة 15 مايو 2009 - 5:12 | |
| اخي ابوروان
بالنسبه OB1 و FB41 وFC127 .لاتوجد بداخله برنامج !! هل INTERFACE التي يكون فيها IN و OUT و TEMP نحن نقوم بكتابتها .. الرجاء التوضيح وماهي اهميتها.. وما هي طريقة كتابة DB10 | |
|
| |
PLCMan Admin
عدد الرسائل : 12366 العمر : 55 العمل/الترفيه : Maintenance manager تاريخ التسجيل : 02/03/2008
| |
| |
denger741 نقيب
عدد الرسائل : 198 تاريخ التسجيل : 02/09/2008
| موضوع: رد: دورة متقدمة في البرمجة S7 السبت 16 مايو 2009 - 8:49 | |
| اخي ابوروان الدخل التماثلي عندي من النوع Analog input module AI8/12 to 14 bits 6ES7 331-7KF02-0AB0 كيف يتم توصيل Potentiometer داخل الموديول | |
|
| |
PLCMan Admin
عدد الرسائل : 12366 العمر : 55 العمل/الترفيه : Maintenance manager تاريخ التسجيل : 02/03/2008
| |
| |
majid hijazy رقيب أول
عدد الرسائل : 38 العمر : 39 الموقع : سورية العمل/الترفيه : مهندس كهرباء تاريخ التسجيل : 11/02/2009
| موضوع: رد: دورة متقدمة في البرمجة S7 السبت 16 مايو 2009 - 13:51 | |
| أعمل الآن على مشروع أتمتتة مرجل وفيه العديد من حلقات ال PID المترابطة مع بعضها (حلقة للماء وحلقة للفيول وحلقة للهواء) فهل يسمح الأستاذ والأخوة الأعضاء بتقديم هذا المشروع للمناقشة والمساعدة علماً أني مبتدأ في هذا المجال كما أنن أستطيع أن أقدم شروح جيدة عن آلية عمل المرجل أرجو الرد وشكرا على هذه الدورة الممتعة. | |
|
| |
PLCMan Admin
عدد الرسائل : 12366 العمر : 55 العمل/الترفيه : Maintenance manager تاريخ التسجيل : 02/03/2008
| |
| |
PLCMan Admin
عدد الرسائل : 12366 العمر : 55 العمل/الترفيه : Maintenance manager تاريخ التسجيل : 02/03/2008
| موضوع: رد: دورة متقدمة في البرمجة S7 الثلاثاء 19 مايو 2009 - 12:10 | |
| | |
|
| |
intelligence رقيب أول
عدد الرسائل : 35 العمر : 44 تاريخ التسجيل : 21/05/2009
| موضوع: رد: دورة متقدمة في البرمجة S7 الجمعة 22 مايو 2009 - 3:22 | |
| السلام عليكم
مجهود كبير و شرح ممتاز بارك الله فيك و جعله فى ميزان حسناتك | |
|
| |
PLCMan Admin
عدد الرسائل : 12366 العمر : 55 العمل/الترفيه : Maintenance manager تاريخ التسجيل : 02/03/2008
| موضوع: رد: دورة متقدمة في البرمجة S7 السبت 23 مايو 2009 - 12:49 | |
| | |
|
| |
شرشابيل نقيب
عدد الرسائل : 165 العمر : 55 العمل/الترفيه : مطور انظمة تحكم تاريخ التسجيل : 25/05/2009
| موضوع: رد: دورة متقدمة في البرمجة S7 الثلاثاء 26 مايو 2009 - 21:53 | |
| ومن واقع الخبرة العملية فإننا سوف نكتفي إن شاء الله باستخدام PI فقط أن أن D سوف يلغى من حساباتنا
يا اخي ابو روان انا متابع معك هذه الدوره مع اني قمت بالتسجيل في هدا المنتدي متاخرا وعندي استفساران الاول متي نحدد استخدام التشكيلة المناسبة من pid فمتي نستخدم pi ومتي pd ....الخ هل يوجد معيار علمي معين للاستخدام وان كان من واقع الخبره فبماذا تنصح ؟
ثانيا لاحظت بان يوجد تشابة الي حد ما في البرمجة اولا ما بين الشركات المصنعة لاجهزه التحكم المبرمج فانا ابرمج مثلا لاجهزه شنايدر الفرنسة وليس لي خبره في اجهزه سيمنس ولاكني بعد متابعتي لهده الدوره فوجدت تشابة كبيرفي اساليب البرمجة في كثير من الاحيان كما وجدت وارجو التصحيح ان كنت مخطئا بان لغة البرمجة stl تتشابة بلغة التجميع المستخدمة في برمجة الميكروبوسيسورمن نوع انتل علي سبيل المثال اي ان المبرمجين المحترفيين في لغة التجميع لا يجدون كثير من العناء في فهم لغة البرمجة stl | |
|
| |
PLCMan Admin
عدد الرسائل : 12366 العمر : 55 العمل/الترفيه : Maintenance manager تاريخ التسجيل : 02/03/2008
| |
| |
شرشابيل نقيب
عدد الرسائل : 165 العمر : 55 العمل/الترفيه : مطور انظمة تحكم تاريخ التسجيل : 25/05/2009
| موضوع: رد: دورة متقدمة في البرمجة S7 الأربعاء 27 مايو 2009 - 1:27 | |
| شكرا لك اخي علي الرد والحقيقة لقد اثبت لجميع بانك رجل البي ال سي الاول وانك مبرمج محترف لا يشق لة غبار ونحن ننتظر بفارغ الصبر استكمال هذه الدوره للمحترفيين كما نرجو منك التركيز علي البرمجة باستخدام LD لانها الاسهل والاكثر انتشارا
كما ان لي اقتراح لما لا نقوم بتكريس خانة في الموقع للمحترفيين ومن خلالها يقومون بتبادل برامج التطبيقات المختلفة الخاصة بهم كما تقوم بعض المواقع الاجنبية الاخري بذلك بشرط ان تكون هذه البرامج ليست منقولة عن الغير فهناك الكثير من المبدعيين في هذا المجال والتطبيقات كثيره وانا متاكد من ان الفائده ستعم الجميع كما اني اجزم بان الوصول الي الاحتراف في مجال برمجة البي ال سي هو من باب دراسة ومحاكات برامج التطبيقات الجاهزه | |
|
| |
PLCMan Admin
عدد الرسائل : 12366 العمر : 55 العمل/الترفيه : Maintenance manager تاريخ التسجيل : 02/03/2008
| |
| |
| دورة متقدمة في البرمجة S7 | |
|