منتدى التحكم الآلي والإلكترونيات
مرحبا بك عزيزي الزائر يشرفنا أن تقوم بالدخول إذا كنت من الأعضاء أو التسجيل إذا كنت زائرا ويمكنك إنشاء حسابك ببساطة ويمكنك التفعيل عن طريق البريد أو الانتظار قليلا حتى تقوم الإدارة بالتفعيل
منتدى التحكم الآلي والإلكترونيات

Automatic control , PLC , Electronics , HMI , Machine technology development , Arabic & Islamic topics , Management studies and more
 
الرئيسيةالبوابة*مكتبة الصوراليوميةس .و .جبحـثالتسجيلالأعضاءالمجموعاتدخول

شاطر | 
 

 دورة متقدمة في البرمجة S7

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل 
انتقل الى الصفحة : الصفحة السابقة  1, 2, 3, 4, 5, 6 ... 11 ... 18  الصفحة التالية
كاتب الموضوعرسالة
PLCMan
Admin
avatar

عدد الرسائل : 12319
العمر : 48
العمل/الترفيه : Maintenance manager
تاريخ التسجيل : 02/03/2008

مُساهمةموضوع: رد: دورة متقدمة في البرمجة S7   السبت 23 مايو 2009 - 12:49

السلام عليكم ورحمة الله وبركاته

نبدأ معا إخواني الأعزاء في استعراض المنظومة جزءاً جزءاً حتى تتضح الصورة تماما للزملاء الجدد وتتأكد لدى الأخوة الذين حضروا معنا المنظومة الأولى FB41

وأول مرحلة في المنظومة هي مرحلة تكوين الخطأ بين القيمة المطلوبة Set value والقيمة الفعلية Actual value والتي تسمى Error حيث أن

Error value = Set value - Actual value



وكما هو واضح على الصورة فلدينا 3 أفرع لهذا الجزء من المنظومة

الفرع الأول لأعلى ويمثل القيمة المطلوبة Set point : SP_INT ويمكن أن يكون نسبة مئوية أو قيمة رقمية (( عشرية )) تحتوي على علامة عشرية

الفرع الثاني وهو القيمة الفعلية في صورة رقم عشري عن طريق البرنامج Process value : PV_IN وأيضا يكون بنفس طريقة القيمة المطلوبة سواء كان نسبة أو رقم ويتم اختيار العمل بينه وبين المدخل الطرفي المباشر عن طريق المتغير PVPER_ON والذي يجب أن يكون " False " لتكون القيمة PV_IN فعالة

الفرع الثالث ويمثل Periphiral input value : PV_PER وهي القيمة مباشرة من مدخل تماثلي طرفي PIW يتم أيضا ضبط قيمه عن طريق المتغيرات معه ليعطي قيم تماثل القيمة المطلوبة حتى يكون القيمتان من نفس النوع عن طريق PV_FAC , PV_OFFS

أما المتغير CRP_IN فله أحد ثلاث قيم 0,1,2

حيث 0 يمثل أن القراءة تضرب في 0.1 للحصول على القيمة الفعلية
و القيمة 1 تعني أن القيمة تضرب في 0.01 للحصول على القيمة الفعلية
والقيمة 2 تعني أن القيمة تمثل نسبة وتقسم القراءة على 27648 ثم تضرب في 100 للحصول على النسبة وذلك في حالة استخدام القيمة المطلوبة نسبة

ولابد لتفعيل PV_PER أن يكون المتغير PVPER_ON على الحالة "TRUE "

وفي النهاية نحصل على القيمة PV والتي تمثل القيمة الفعلية النهائية والتي يتم طرحها من القيمة المطلوبة SP_INT ثم يتم طرح Deadband منها للحصول على الخطأ في النهاية ER

وتدخل هذه الإشارة وهي Error : ER بعد ذلك على منظومة PID كما في الشكل التالي



وأول مرحلة تمر بها هي عملية التكبير عن طريق Gain حيث يتم تكبير أو تصغير الإحساس بقيمة الخطأ للتعامل معه بعد ذلك وهذا العامل هو الذي يؤثر في حساسية المنظومة لأي خطأ فيمكن أن نكون المنظومة حساسة جدا بتكبير Gain فيشعر النظام بأي تغيير ولو طفيف جدا ويمكن أن تكون درجة الإحساس بطيئة بتقليل قيمة Gain

ثم تتم المعالجة بعد ذلك في ثلاثة خطوط متوازية تاما

الأول يمثل عملية Scaling للخطأ المكبر من قبل حيث يدخل الخطأ مباشرة في تحديد سلوك المنظومة

والثاني ويمثل Integral والثالث يمثل Diffrential

ويتم جمع المركبات الثلاثة LMN_P , LMN_I , LMN_D لتعطي النتيجة الإجمالية LMN_SUM

_________________


أبـوروان
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://hassanheha.forumn.org
شرشابيل
نقيب
نقيب
avatar

عدد الرسائل : 165
العمر : 48
العمل/الترفيه : مطور انظمة تحكم
تاريخ التسجيل : 25/05/2009

مُساهمةموضوع: رد: دورة متقدمة في البرمجة S7   الثلاثاء 26 مايو 2009 - 21:53

ومن واقع الخبرة العملية فإننا سوف نكتفي إن شاء الله باستخدام PI فقط أن أن D سوف يلغى من حساباتنا

يا اخي ابو روان انا متابع معك هذه الدوره مع اني قمت بالتسجيل في هدا المنتدي متاخرا وعندي استفساران

الاول متي نحدد استخدام التشكيلة المناسبة من pid فمتي نستخدم pi ومتي pd ....الخ هل يوجد معيار علمي معين للاستخدام وان كان من واقع الخبره فبماذا تنصح ؟

ثانيا لاحظت بان يوجد تشابة الي حد ما في البرمجة اولا ما بين الشركات المصنعة لاجهزه التحكم المبرمج فانا ابرمج مثلا لاجهزه شنايدر الفرنسة وليس لي خبره في اجهزه سيمنس ولاكني بعد متابعتي لهده الدوره فوجدت تشابة كبيرفي اساليب البرمجة في كثير من الاحيان كما وجدت وارجو التصحيح ان كنت مخطئا بان لغة البرمجة stl تتشابة بلغة التجميع المستخدمة في برمجة الميكروبوسيسورمن نوع انتل علي سبيل المثال اي ان المبرمجين المحترفيين في لغة التجميع لا يجدون كثير من العناء في فهم لغة البرمجة stl
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
PLCMan
Admin
avatar

عدد الرسائل : 12319
العمر : 48
العمل/الترفيه : Maintenance manager
تاريخ التسجيل : 02/03/2008

مُساهمةموضوع: رد: دورة متقدمة في البرمجة S7   الثلاثاء 26 مايو 2009 - 22:31

شرشابيل كتب:
ومن واقع الخبرة العملية فإننا سوف نكتفي إن شاء الله باستخدام PI فقط أن أن D سوف يلغى من حساباتنا

يا اخي ابو روان انا متابع معك هذه الدوره مع اني قمت بالتسجيل في هدا المنتدي متاخرا وعندي استفساران

الاول متي نحدد استخدام التشكيلة المناسبة من pid فمتي نستخدم pi ومتي pd ....الخ هل يوجد معيار علمي معين للاستخدام وان كان من واقع الخبره فبماذا تنصح ؟

ثانيا لاحظت بان يوجد تشابة الي حد ما في البرمجة اولا ما بين الشركات المصنعة لاجهزه التحكم المبرمج فانا ابرمج مثلا لاجهزه شنايدر الفرنسة وليس لي خبره في اجهزه سيمنس ولاكني بعد متابعتي لهده الدوره فوجدت تشابة كبيرفي اساليب البرمجة في كثير من الاحيان كما وجدت وارجو التصحيح ان كنت مخطئا بان لغة البرمجة stl تتشابة بلغة التجميع المستخدمة في برمجة الميكروبوسيسورمن نوع انتل علي سبيل المثال اي ان المبرمجين المحترفيين في لغة التجميع لا يجدون كثير من العناء في فهم لغة البرمجة stl

الأخ العزيز

على الرغم من وجود مجموعة كبيرة من الكتب التي تشرح المنظومة (( وليس البرمجة )) والتي قمت بتحميلها بنفسي ومازلت قائما على دراسة تفاصيلها إلا أنه من واقع الخبرة العملية كما ذكرت سابقا في كل المنظومات التي تعاملت معها فإن استخدام D لا يأتي بنتائج إيجابية في المنظومات التي تعاملت معها ودائما تؤدي بالنظام إلى حالة التأرجح أو عدم الثبات اللانهائي وهما ما يطلق عليهما Oscillating and Overdamped systems وبالتالي لا يحدث التقارب المطلوب للوصول إلى القيمة المطلوبة للتشغيل

وربما نفرغ موضوعا كاملا لمناقشات PID فقط فالأمر يستحق خاصة وأن التطبيقات تشمل تقريبا كل مجالات الحياة

أما بخصوص البرمجة فبالفعل الأصل واحد والأسس واحدة ولك أن تعلم أخي أنه توجد مواصفات فياسية للحد الأدنى المطلوب من الإمكانيات في أي نظام وأي لغة برمجة وبالتالي فهو متوفر لدى الجميع وسوف تجد تقريبا STL واحد في جميع المنظومات

ولكن هناك اختلاف في Library وطريقة تنفيذ بعض الأوامر وسهولة تنفيذها وإمكانيات المنظومة نفسها سواء العزل الكهربي أو ثبات الأداء وغيرها من المواصفات الخاصة والتي تظهر على المدى البعيد

والبرمجة أخي العزيز كما تعلمنا قديما من أول لغة Assembly مرورا بالبيسك والسي والفورتران والباسكال والبرولوج والفوكس وغيرها الكثيرووصولا إلى المستويات الحالية من البرمجة باستعمال إمكانيات الويندوز المرئية العالية كلها تعتمد على نفس الأسس

فلابد من وجود قسم للتوصيف وتحديد أنواع البيانات ولابد من عمليات منطقية ولابد من عمليات حسابية ولابد من عمليات للتعامل مع المدخلات والمخرجات الطرفية --- إلخ

ولكن هناك إمكانيات كما ذكرت خاصة فقد تجد في Library الخاصة بشنايدرأشياء ودوال لا تجدها في إل جي وقد تجد في سيمنس مالا تجده في أومرون مثلا

لكن في النهاية طرق البرمجة واحدة لهذا سوف تجد الكثير من الكتب الذي يتخصص في طرق البرمجة دون تحديد لغة أو شركة معينة

وقد سلكنا هنا منهج التحديد لسهولة التطبيق وللانتشار أيضا

مع خالص التمنيات بالتوفيق

_________________


أبـوروان
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://hassanheha.forumn.org
شرشابيل
نقيب
نقيب
avatar

عدد الرسائل : 165
العمر : 48
العمل/الترفيه : مطور انظمة تحكم
تاريخ التسجيل : 25/05/2009

مُساهمةموضوع: رد: دورة متقدمة في البرمجة S7   الأربعاء 27 مايو 2009 - 1:27

شكرا لك اخي علي الرد والحقيقة لقد اثبت لجميع بانك رجل البي ال سي الاول وانك مبرمج محترف لا يشق لة غبار ونحن ننتظر بفارغ الصبر استكمال هذه الدوره للمحترفيين كما نرجو منك التركيز علي البرمجة باستخدام LD لانها الاسهل والاكثر انتشارا

كما ان لي اقتراح لما لا نقوم بتكريس خانة في الموقع للمحترفيين ومن خلالها يقومون بتبادل برامج التطبيقات المختلفة الخاصة بهم كما تقوم بعض المواقع الاجنبية الاخري بذلك بشرط ان تكون هذه البرامج ليست منقولة عن الغير فهناك الكثير من المبدعيين في هذا المجال والتطبيقات كثيره وانا متاكد من ان الفائده ستعم الجميع كما اني اجزم بان الوصول الي الاحتراف في مجال برمجة البي ال سي هو من باب دراسة ومحاكات برامج التطبيقات الجاهزه
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
PLCMan
Admin
avatar

عدد الرسائل : 12319
العمر : 48
العمل/الترفيه : Maintenance manager
تاريخ التسجيل : 02/03/2008

مُساهمةموضوع: رد: دورة متقدمة في البرمجة S7   السبت 30 مايو 2009 - 14:28

السلام عليكم ورحمة الله وبركاته

نتجاوز الآن للمرحلة الثالثة وهي عملية تكوين صورة الخرج الذي يخرج من المنظومة Output forming



وبحسب الشكل السابق فإن المطلوب إخواني الأعزاء هو ترجمة تصرف المنظومة والذي حصلنا عليه في الدرس السابق في القيمة LMN_SUM إلى قيمة يمكن الاستفادة منها خارجيا بشكل عملي

وأول شئ هو تحديد تصرف المنظومة في حالة تجاوز هذه القيمة حدود يتم تحديدها عن طريق CON_ZONE عند تفعيل المتغير CONZONE = 'TRUE' والمعنى هنا أنه لوتجاوز الفرق بين القيمة المطلوبة Setvalue:SP_INT والقيمة الفعلية Actualvalue:PV الحدود المسموح بها

فلو كان الخطأ ER أكبر من قيمة CON_ZONE الموجبة فإن تصرف المنظومة لا يخرج LMN وإنما يخرج القيمة LMN_HLM ولو كان الخطأ ER أقل من القيمة السالبة CON_ZONE فإن المنظومة لا تخرج LMN ولكن تخرج القيمة LMN_LLM

ولو كان الخطأ ER داخل الحدود بين CON_ZONE الموجبة والسالبة فإن المنظومة تخرج LMN بالشكل الطبيعي

هذا كله لو تم تفعيل CONZONE

ولتقريب الفهم قليلا نفترض أن CON_ZONE كانت قيمتها 10 درجات وكانت القيمة القصوى LMN_HLM تساوي 95 وكانت القيمة الدنيا LMN_LLM تساوي 5 فإنه عندما يكون الفارق في درجة الحرارة أكبر من 10 درجات أي أن الفعلية أقل من المضبوط عليها النظام بعشر درجات فهنا يكون الخرج 95% من الوقت المتاح أو 95% من قيمة الخرج التماثلي دون النظر إلى خرج المنظومة

ولو كانت القيمة المضبوطة أقل من القيمة الحالية بعشر درجات فإن الخرج يكون 5% من وقت دورة التسخين أو أن الخرج التماثلي يكون 5% من القيمة القصوى

- بعد هذا نأتي لمرحلة التحويل بين العمل اليدوي والآلي للمنظومة حيث لابد من عمل Switching للمنظومة على الوضع الآلي وذلك عن طريق وضع المتغير MAN_ON=False سواء عند كتابة Data block كقيمة إنشائية أو تمرير القيمة إلى المتغير

- كذلك لابد من تفعيل Pulse generator في حالة الرغبة في الحصول على Pulse يمكن استخدامها مع Solid state relay لتفعيل دورة التسخين والتي يتم تحديد خرج Digital لإخراج Pulse عليه

أو تحديد خرج تماثلي أو برقم Data word في بلوك بيانات لتمرير البيانات إليه

وهو ما سنتحدث عنه في الموضوع التالي وهو كتابة Data block الخاص بمنظومة الحرارة

_________________


أبـوروان
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://hassanheha.forumn.org
metwally.mustafa
فريق أول
فريق أول
avatar

عدد الرسائل : 4222
العمر : 31
الموقع : Egypt
العمل/الترفيه : automation engineer
تاريخ التسجيل : 12/01/2009

مُساهمةموضوع: رد: دورة متقدمة في البرمجة S7   الأحد 31 مايو 2009 - 13:59

شكرا لك اخى الكريم على هذا المجهود الرائع
جعله الله فى ميزان حسناتك
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
RAMA
رائد
رائد


عدد الرسائل : 276
العمر : 47
الموقع : almadinah almnora
العمل/الترفيه : PLC PROGRAMMER
تاريخ التسجيل : 25/06/2008

مُساهمةموضوع: رد: دورة متقدمة في البرمجة S7   الخميس 4 يونيو 2009 - 17:40

مشكور ابو روان على شرحك الرائع
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
RAMA
رائد
رائد


عدد الرسائل : 276
العمر : 47
الموقع : almadinah almnora
العمل/الترفيه : PLC PROGRAMMER
تاريخ التسجيل : 25/06/2008

مُساهمةموضوع: رد: دورة متقدمة في البرمجة S7   الخميس 4 يونيو 2009 - 17:45

الحمد لله اولا وثانيا للاخ ابو روان
لقد استفدت في مجال pid من هذه الدوره الشئ الكثير
شكر جزيلا للاخ ابو روان مره اخرى و ارجو المتابعه
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
RAMA
رائد
رائد


عدد الرسائل : 276
العمر : 47
الموقع : almadinah almnora
العمل/الترفيه : PLC PROGRAMMER
تاريخ التسجيل : 25/06/2008

مُساهمةموضوع: رد: دورة متقدمة في البرمجة S7   الخميس 4 يونيو 2009 - 17:50

الاخ ابو روان المحترم
حتى تكتمل الفائده في مجال التحكم في الحراره عن طريق pid+pulse generator
ارجو وضع ميثال مشروح
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
RAMA
رائد
رائد


عدد الرسائل : 276
العمر : 47
الموقع : almadinah almnora
العمل/الترفيه : PLC PROGRAMMER
تاريخ التسجيل : 25/06/2008

مُساهمةموضوع: رد: دورة متقدمة في البرمجة S7   الخميس 4 يونيو 2009 - 18:01

الاخ ابو روان المحترم

من خلال متابعتي لموضوع الدوره
fb41 contain pid code
ولكن من اجل التحكم في الحراره ذكرت اننا بحاجه الى pid +pulse
في اي fb موجود pid+pulse code
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
PLCMan
Admin
avatar

عدد الرسائل : 12319
العمر : 48
العمل/الترفيه : Maintenance manager
تاريخ التسجيل : 02/03/2008

مُساهمةموضوع: رد: دورة متقدمة في البرمجة S7   الإثنين 8 يونيو 2009 - 14:57

RAMA كتب:
الاخ ابو روان المحترم

من خلال متابعتي لموضوع الدوره
fb41 contain pid code
ولكن من اجل التحكم في الحراره ذكرت اننا بحاجه الى pid +pulse
في اي fb موجود pid+pulse code



يوجد أخي العزيز في FB58

ويوجد هناك دالة منفصلة لتوليد Pulse

كل هذا يمكن استعراضه ببساطة في Library الخاصة ببرنامج Simatic manager وهي موجودة بكل الإصدارات

ويوجد معها ملفات مساعدة مجهزة بطريقة ممتازة تساعد بشدة في فهم الأمور وسوف نواصل قريبا جدا إن شاء الله

_________________


أبـوروان
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://hassanheha.forumn.org
metwally.mustafa
فريق أول
فريق أول
avatar

عدد الرسائل : 4222
العمر : 31
الموقع : Egypt
العمل/الترفيه : automation engineer
تاريخ التسجيل : 12/01/2009

مُساهمةموضوع: رد: دورة متقدمة في البرمجة S7   الثلاثاء 9 يونيو 2009 - 11:22

مشكور اخى الكريم
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
RAMA
رائد
رائد


عدد الرسائل : 276
العمر : 47
الموقع : almadinah almnora
العمل/الترفيه : PLC PROGRAMMER
تاريخ التسجيل : 25/06/2008

مُساهمةموضوع: رد: دورة متقدمة في البرمجة S7   الخميس 11 يونيو 2009 - 15:12

مشششششششششششششششششششششششششششكور جدا اخي ابو روان
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
denger741
نقيب
نقيب
avatar

عدد الرسائل : 198
تاريخ التسجيل : 02/09/2008

مُساهمةموضوع: رد: دورة متقدمة في البرمجة S7   الإثنين 15 يونيو 2009 - 8:38

اخي ابوروان......
هل توقفنا الى هذا الحد ....
الرجاء الاهتمام في هذه الدوره حتى لا تنسى هذه المعلومات ...لان الدروس مرتبطه مع بعضها البعض ...تحيتي وشكري لااستاذي العظيم ..ابوروان
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
metwally.mustafa
فريق أول
فريق أول
avatar

عدد الرسائل : 4222
العمر : 31
الموقع : Egypt
العمل/الترفيه : automation engineer
تاريخ التسجيل : 12/01/2009

مُساهمةموضوع: رد: دورة متقدمة في البرمجة S7   الإثنين 15 يونيو 2009 - 13:05

ممكن شرح نظام ال PID فى كورس STL


حيث اننى حاولت كثيرا فهم هذا النظام فى الSTL
ولكن تمرير متغيرات الداله تبدو صعبه الى حد ما
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
PLCMan
Admin
avatar

عدد الرسائل : 12319
العمر : 48
العمل/الترفيه : Maintenance manager
تاريخ التسجيل : 02/03/2008

مُساهمةموضوع: رد: دورة متقدمة في البرمجة S7   الثلاثاء 16 يونيو 2009 - 10:05

السلام عليكم إخواني الأعزاء ورحمة الله وبركاته

وعذرا لهذا الانقطاع والذي أتمنى أن لا يؤثر على حماسكم الجميل والذي يزداد يوما بعد يوم للتقدم خطوة بعد خطوة إن شاء الله

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

يجب أن لا يأخذ الحماس الزائد الأخوة الزملاء (( خاصة الذين بدأوا معنا التعرف على برامج سيمنس وهذا ليس عيبا فيهم فكلنا مبتدئون )) فيجب أن لا يأخذهم الحماس الزائد بعيدا وإنما عليهم التحلي ببعض الصبر وأخذ الأمر بشكل منظم تدريجي وعندها سوف يجدون الأمور واضحة تماما وسوف يحصلون بمعدلات أعلى إن شاء الله

عليهم أن يبدأوا بالدورة الأولى وقراءة الجزء الأول من الدورة وتطبيقه باهتمام تام فهو الأساس الذي بني عليه ما نقوله هنا ومن غير المعقول أن يصعد إنسان السلم من آخر درجة

وبعد الانتهاء من الدورة الأولى STL ويمكنهم في نفس الوقت المتابعة في دورة LADDER ثم بعد ذلك البدء معنا في هذه الدورة المجهدة ذهنيا والتي تحتاج إلى المزيد من التركيز والتفرغ ولو قليلا لها

يمكن للزملاء الاستعانة بالكتب في هذه المرحلة التي نحن فيها خصوصا Step-7 in 7-steps وكتاب Automating with simatic step-7

فهذان الكتابان يتعرضان للأسس الأولية بشكل إجمالي رائع ثم يتقدمان بشكل مختصر للبرمجة المتقدمة التي نحن بصددها

ومن يصل معنا إلى هذه المرحلة من الدورة فهو بالتأكيد قادر على خوض نقاش فني مثمر وفاعل إن شاء الله

أكرر مرة أخرى اعتذاري عن الانقطاع للمرض والذي أبعدني قليلا عن الدورة رغم أنه لم يمنعني عن متابعة المنتدى وأعدكم أنه مادام في العمر بقية وفي البدن قدرة على المواصلة فنحن معا إن شاء الله لتحقيق الهدف المنشود إن شاء الله

بارك الله فيكم إخواني وبارك في سعيكم

_________________


أبـوروان
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://hassanheha.forumn.org
metwally.mustafa
فريق أول
فريق أول
avatar

عدد الرسائل : 4222
العمر : 31
الموقع : Egypt
العمل/الترفيه : automation engineer
تاريخ التسجيل : 12/01/2009

مُساهمةموضوع: رد: دورة متقدمة في البرمجة S7   الثلاثاء 16 يونيو 2009 - 10:38

فعلا اخى الكريم فان الموضوع ليس سهلا

ولكن مع الصبر سوف نصل الى غايتنا
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
RAMA
رائد
رائد


عدد الرسائل : 276
العمر : 47
الموقع : almadinah almnora
العمل/الترفيه : PLC PROGRAMMER
تاريخ التسجيل : 25/06/2008

مُساهمةموضوع: رد: دورة متقدمة في البرمجة S7   الثلاثاء 16 يونيو 2009 - 12:29

مشكور اخي ابو روان
والله يعطيك الصحه والحمد لله على سلامتك

اخي لدي استفسارعن استخدم امر pointer مثال على ذللك
l p#m8.0
t db10.dbd10

اجد صعوبه في فهم هذا الامر
ارجو توضيحه ان امكن في اي من الدورات المنعقده حسب ما تراه مناسبا
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
denger741
نقيب
نقيب
avatar

عدد الرسائل : 198
تاريخ التسجيل : 02/09/2008

مُساهمةموضوع: رد: دورة متقدمة في البرمجة S7   الثلاثاء 16 يونيو 2009 - 12:38

يعطيك العافيه اخي ابوروان ....
الحمدلله على سلامتك ....
اطلب من الله ان يمن عليك بالصحه والعافيه ويحفضك من كل شر
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
4ever
رقيب أول
رقيب أول


عدد الرسائل : 32
العمر : 40
تاريخ التسجيل : 06/04/2009

مُساهمةموضوع: رد: دورة متقدمة في البرمجة S7   الخميس 18 يونيو 2009 - 11:27

الف الف الف شكر على الموضوع الاكثر من رائع
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
PLCMan
Admin
avatar

عدد الرسائل : 12319
العمر : 48
العمل/الترفيه : Maintenance manager
تاريخ التسجيل : 02/03/2008

مُساهمةموضوع: رد: دورة متقدمة في البرمجة S7   الجمعة 19 يونيو 2009 - 12:18

السلام عليكم ورحمة الله وبركاته إخواني الأعزاء

تعالوا بنا نطبق عمليا مثال على نظام التحكم في الحرارة باستخدام PID حيث سوف نضع الحدود الآتية للمنظومة :

- استعمال ثرموكبل من النوع K الدقة 0.1 درجة مئوية
- استعمال مقاومة متغيرة خرجها من 0 حتى 10 فولت DC لإدخال قيمة الحرارة المطلوبة
- إخراج عدد 2 خرج تماثلي الأول يدل على قيمة الضبط والثاني يدل على القيمة الفعلية
- إخراج خرج يمثل التسخين في شكل Pulse يتم توصيله على SSR

والشكل التالي يمثل المطلوب تنفيذه



ولنبدأ معا تنفيذ هذا المشروع البسيط والذي ينطبق ما سنقوله عليه على أي منظومة تحكم في الحرارة أخرى إن شاء الله

- الخطوة الأولى :

تحديد المكونات Hardware المطلوبة

- مطلوب وحدة CPU
- مطلوب مصدر جهد PS
- مطلوب وحدة إدخال تماثلي Thermocouple analoge input
- مطلوب وحدة إخراج تماثلي Analoge output module
- مطلوب وحدة إدخال رقمية ووحدة إخراج رقمية

ولنبدأ إنشاء المشروع وعمل Hardware configuration والذي يشمل ضبط المكونات لتناسب ظروف التشغيل

وقد اخترت المكونات التي بالشكل الآتي وعليها العناوين Addresses التي سوف أستخدمها




وهذا هو ضبط موديول الحرارة ليقرأ من النوع K-Thermocouple



ثم ضبط الخرج التماثلي ليعطي 0-10 فولت مستمر



وعلى هذا فسوف نستخدم المدخلات الآتية للوظائف :

- تشغيل عملية التسخين I 124.0
- خطأ خارجي في التسخين I 124.1
- دخل الثرموكبل PIW 256
- دخل المقاومة المتغيرة لضبط الحرارة ( 0-10 فولت ) PIW 752
- خرج قيمة الضبط للحرارة PQW 752
- خرج القيمة الفعلية للحرارة PQW 754
- خرج التسخين إلى SSR في شكل نبضات Q 124.0

هذا وسوف نحتاج في هذا المثال إلى الآتي :

- دالة Scaling لضبط قيمة ضبط الحرارة لتحويلها من فولت إلى رقم مناسب
- دالة Unscaling لإخراج قيمة ضبط الحرارة والقيمة الفعلية إلى خرج تماثلي
- دالة PID لتنظيم الحرارة ومعها Pulse generator

أترك لكم مساحة تفكير ((( داخلي ))) بسيطة وأعود إليكم حالا لاستكمال المثال وليقارن كل واحد منا ما فكر فيه وما طبقناه

إلى اللقاء قريبا إن شاء الله

_________________


أبـوروان
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://hassanheha.forumn.org
PLCMan
Admin
avatar

عدد الرسائل : 12319
العمر : 48
العمل/الترفيه : Maintenance manager
تاريخ التسجيل : 02/03/2008

مُساهمةموضوع: رد: دورة متقدمة في البرمجة S7   الإثنين 22 يونيو 2009 - 15:02


السلام عليكم ورحمة الله وبركاته

أرجو أن يكون الزملاء قد فكروا في الأمر

والآن سوف أعرض عليكم مجموعة من الصور تبين خطوات التنفيذ خطوة خطوة من أول إدراج PID Block FB58 ومرورا بإنشاء Data block DB10 وحتى كتابة البيانات داخل DB10

صورة البرنامج قبل إدراج أي شئ ويحتوى فقط على OB1 , OB35 والذين تم إدراجهما عند إنشاء المشروع



وفي الصورة التالية فتح OB35 وكيفية الوصول إلى FB58



وفي الصورة التالية بعد إدراج البلوك FB58 ولاحظ طلب رقم DB فوق البلوك وقد كتبنا DB10 ثم يطلب البرنامج في مربع الحوار إنشاء البلوك حيث أنه غير موجود أجب Yes



لاحظ في الصورة التالية التغيرات التي حدثت على البرنامج بعد إدراج FB58 , DB10



ولاحظ في الصورة التالية شكل بلوك PID وأماكن التعامل المباشر مع المدخلات والمخرجات PV_PER , Q_PULSE

حيث سنستخدم دخول الثرموكبل مباشرة إلى موديول PID ونستخدم خرج Q_PULSE مباشرة إلى الخرج Q 124.0



ولنفتح Data block DB10 أولا في صورة Parameter assignment view كما في الصورة وهذه النظرة افضل وأسرع لعمل ضبط للمنظومة بعد ذلك



ثم قم بعد ذلك بالتعديل إلى Data view وذلك لضبط بعض البيانات الأولية وسوف نختصرها إلى ثلاثة بيانات كما في الصورة التالية

وهي PVPER_ON , MAN_ON , PULSE_ON



_________________


أبـوروان
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://hassanheha.forumn.org
PLCMan
Admin
avatar

عدد الرسائل : 12319
العمر : 48
العمل/الترفيه : Maintenance manager
تاريخ التسجيل : 02/03/2008

مُساهمةموضوع: رد: دورة متقدمة في البرمجة S7   الثلاثاء 23 يونيو 2009 - 12:46

السلام عليكم ورحمة الله وبركاته

الآن بعد أن أدرجنا FB58 داخل OB35 وقمنا بإنشاء DB10 والذي يحتوي بيانات التعامل مع PID ويمثل Instance data block فإنه يتبقى لنا تحديد باقي بيانات البرنامج وتمرير البيانات إلى الدالة والذي مثل خلال الفترة السابقة استفسارات كثيرة للأخوة الزملاء

ونتذكر أننا افترضنا أن الدخل الخاص بضبط قيمة الحرارة سوف يكون عن طريق مقاومة متغيرة تعطي جهد كهربي من صفر إلى 10 فولت DC

وقلنا أن هذا سوف يكون على الدخل التماثلي PIW 752 ولاحظ أخي العزيز أنه حسب تصميم PID فإن رقم ضبط الحرارة يكون في الصيغة العشرية Real ويمثل درجة الحرارة الفعلية

وسوف نقوم بإنشاء دالة Function FC1 لتنفيذ عمليات التحويل التماثلية داخلها

فإذا افترضنا أن القيمة من 0-10 فولت تمثل الحرارة من 0-500 درجة مئوية فإننا سوف نستخدم الدالة Scaling FC105 داخل FC1 مثل الصورة التالية :




كذلك فإنه لإخراج الإشاراتين الخاصتين بالقيمة المطلوبة والقيمة الفعلية فإننا نستخدم الدالة Unscaling FC106 داخل FC1 مثل الصورة التالية ولكن بعد تحويل القيمة الفعلية إلى رقم عشري يمثل القيمة الحقيقة للحرارة بتحويل الرقم من Integer إلى Double ثم إلى Real ثم القسمة على 10.0



تذكروا إخواني الأعزاء أننا في المرة السابقة قد أخذنا خرج Pulse من PID مباشرة إلى Q 124.0 وهذا بالطبع لا يتوفر على أي حماية وسوف نمرره على شرطين آخرين هما عدم وجود خطأ Fault واختيار التشغيل وهما المدخلان الرقميان الذين أشرنا إليهما I 124.0 , I 124.1 وسوف يكون الأمر توالي مثل الشكل التالي على أن نأخذ الخرج الفعلي لتوصيله على SSR هو Q 124.1 ويصبح Q124.0 اختباري فقط كالشكل التالي



ولنفترض إخواننا الأعزاء أننا نريد تمرير بعض المتغيرات إلى منظومة PID فإننا نقوم بالتمرير بالشكل التالي :

عند تحميل القيم الرقمية نقوم بتحميل القيم سواء باستخدام Load/Transfer أو الأمر Move من العناوين أو الثوابت إلى DB10 إلى أماكن القيم المطلوب تحميلها مثل الشكل الآتي :



والآن نستطيع القول أنه لدينا منظومة تحكم في الحرارة كما خططنا تماما بقي فقط شئ واحد هو أن نقوم بإدراج الجملة الآتية في OB1 وهي استدعاء FC1 لإتمام تنفيذ كل المطلوب إن شاء الله

CALL FC1


وسوف نقوم في المرة القادمة إن شاء الله تعالى بعمل Autotune أي توليف تلقائي للمنظومة إن شاء الله

ولكن عذرا فيتوجب الأمر لظروف خارجة عن إرادتي أخذ أجازة لمدة أسبوع وأتمنى أن تتاح لي الفرصة للتواصل معكم خلال هذه الفترة وسوف أحاول جاهدا وعذرا لو لم أستطع ذلك

_________________


أبـوروان
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://hassanheha.forumn.org
PLCMan
Admin
avatar

عدد الرسائل : 12319
العمر : 48
العمل/الترفيه : Maintenance manager
تاريخ التسجيل : 02/03/2008

مُساهمةموضوع: رد: دورة متقدمة في البرمجة S7   الثلاثاء 23 يونيو 2009 - 12:50


وإليكم إخواني الأعزاء المشروع بعد تنفيذه على الوجه الذي شرحناه ويمكنكم فتح باب المناقشة والاستفسارات الآن قبل الدخول في موضوع جديد

mediafire.com file/w3njjznmq3i/Tempcont.zip


_________________


أبـوروان
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://hassanheha.forumn.org
AUTOMATISME
جندي
جندي


عدد الرسائل : 3
تاريخ التسجيل : 02/05/2009

مُساهمةموضوع: رد: دورة متقدمة في البرمجة S7   الأربعاء 24 يونيو 2009 - 20:09

هل من الممكن وضع موقع لتحميل هذه الدورة و شكرا
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
 
دورة متقدمة في البرمجة S7
استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة 
صفحة 5 من اصل 18انتقل الى الصفحة : الصفحة السابقة  1, 2, 3, 4, 5, 6 ... 11 ... 18  الصفحة التالية

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتدى التحكم الآلي والإلكترونيات :: منتديات الحاكمات المنطقية PLC :: منتدى الدورات التدريبية PLC-
انتقل الى: