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

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

شاطر | 
 

 سؤال في برمجة S7-200

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل 
كاتب الموضوعرسالة
Eng Abed
ملازم
ملازم


عدد الرسائل : 88
العمر : 28
تاريخ التسجيل : 25/07/2011

مُساهمةموضوع: سؤال في برمجة S7-200   الأحد 27 مايو 2012 - 2:28

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

تحية طيبة لجميع الاعضاء ..

انا في طور كتابتي لبرنامج لـ S7-224 وواجهت مشكلة بسيطة ، ، ،

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

فمثلا: لنفرض اننا عندنا (مادة 1) و (مادة 2) و (مادة 3) ..
المستخدم سوف يقوم مبدئيا بادخال الاوزان المطلوبة لهذه المواد لكل متر مكعب واحد ..
وسوف تخزن هذه القيم في ميموري خاص في الـ PLC بالتأكيد..
وبعد ذلك ، سوف يقوم المستخدم بادخال الكمية التي يحتاجها بالمتر المكعب .. ومن ثم يضغط Start

فمثلا، لنفرض انه للمتر المكعب الواحد: سوف نحتاج لـ 20 كجم من مادة 1 , و30 كجم من مادة 2 و 40 كجم من مادة 3 ،،
والآن نحن نريد 10 متر مكعب من ناتج هذه الخلطة .. ولكن يوجد مشكلة !! وهي أن الموازين وخطوط الانتاج عندي في المصنع تستحمل فقط 3 متر مكعب للدورة الواحدة ..

فلذلك ، سنحتاج الى تقسيم الكمية المطلوبة (وهي 10 متر مكعب) الى اربع اقسام 3 و 3 و 3 و 1 متر مكعب .. حيث انه لا يمكنني تحميل 10 م مكعب مرة واحدة !!

اتمنى ان تكون واضحة الفكرة ..

الان .. انا امضيت اسبوع كامل افكر في طريقة اتبعها لكتابة البرنامج ولم اصل الى حل !! فكرت في استخدام ال FOR - NEXT LOOP ، ولم تجدي نفعا حيث انني اعتقد انني لم افهم بالشكل الجيد كيفية استخدام هذا الأمر او هذه التعليمة ..

فمثلا .. لو نفترض ان المطلوب 10 متر مكعب ، وان الحمولة القصوى 3 متر مكعب , فنلاحظ:

10 / 3 = 3 وباقي القسمة 1 ..

اذا سوف نحتاج الى 3 دورات بالحمولة القصوى (3 متر مكعب) ،، ومن ثم دورة واحدة بحمولة 1 متر مكعب .. وهي باقي القسمة ..

فأظن انه يمكنني استخدام ال For loop ولست متأكد ..

قد اجد عندكم الحل لمشكلتي ،، سوف اكون شاكر لكم وداعيا على كل حال . .

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


عدد الرسائل : 796
العمر : 44
العمل/الترفيه : مهندس
تاريخ التسجيل : 26/08/2010

مُساهمةموضوع: رد: سؤال في برمجة S7-200   الأحد 27 مايو 2012 - 7:42

اخى الكريم يمكن عمل دورة لمتر مكعب واحد ويتم تكرار على مرات عن طريق ادخال قيمة لكونتر تعبر عن عدد المترات المكعبة ثم يتوقف البرنامج هذا راى

_________________
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
Eng Abed
ملازم
ملازم


عدد الرسائل : 88
العمر : 28
تاريخ التسجيل : 25/07/2011

مُساهمةموضوع: رد: سؤال في برمجة S7-200   الإثنين 28 مايو 2012 - 1:02

اخي الكريم

فكرة صائبة .. الا تعتقد انها تمثل الـ For - Next loop ؟؟

أنا كنت اعتقد ذلك ... ولكني عندما حاولت تطبيقها .. لم تنجح !! لا اعلم ولكن حتى عندما انتهى العد ووصل التكرار للعدد المطلوب لم يتم انهاء البرنامج والخروج من دورة ال For بل استمرت وكأن شيئا لم يكن !! يبدو لي اني لا افهم ال For loop جيدا في S7-200

عموما .. لو تكرمت اخوي هل ممكن منك اعطائي المزيد من التفاصيل حول الفكرة التي طرحتها .. مع اعتبار ان عمليت التحميل لقيمة متر مكعب واحد عملية بسيطة ولا تحتاج الكثير من الاوامر ..

كيف اجعل البرنامج يكررها اكثر من مرة حسب الطلب؟؟ ومن ثم يعود ويفحص اذا كان هناك باقي قسمة .. لكي ينفذ عدد الامتار المتبقي المطلوب ..؟؟


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


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

مُساهمةموضوع: رد: سؤال في برمجة S7-200   الإثنين 28 مايو 2012 - 16:40


الأخ العزيز

فكرة Loop فكرة جيدة ولكن المشكلة الرئيسية فيها أنه لو حدث أي شئ غير منطقي فلن تنتهي أبدا.

وفكرة Loop قائمة في الأساس على العدادات فلماذا لا تستخدام عداد وتقوم بالعد التنازلي أو التصاعدي مع كل دورة حتى تصل للقيمة المطلوبة ويمكنك استخدام أكثر من عداد وهي عمليات بسيطة للغاية ولن تسبب الدخول في دورات لا نهائية من التنفيذ.

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

_________________


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


عدد الرسائل : 88
العمر : 28
تاريخ التسجيل : 25/07/2011

مُساهمةموضوع: رد: سؤال في برمجة S7-200   الثلاثاء 29 مايو 2012 - 0:44

^^

اخي الكريم ،، صباح الخيرات

طيب يا استاذ حسن ، انا لو عملت عداد بسيط .. ونفذت عملية تحميل المواد للمرة الاولى بالشكل المطلوب وبكل اريحية وسهولة ..

سؤالي: كيف اجعل البرنامج يرجع ليعيد نفس الكرّة مع الدورة الثانية والثالثة .... الخ؟؟
وما هو الشرط المنطقي الذي اضعه لكي ينقص العداد بمقدار واحد ؟؟ وهكذا ..

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


عدد الرسائل : 991
العمر : 32
الموقع : الاردن
تاريخ التسجيل : 19/04/2010

مُساهمةموضوع: رد: سؤال في برمجة S7-200   الثلاثاء 29 مايو 2012 - 1:39

استخدم تعليمة Sequence Control Relay

و لو دخلت على ال help

ستجد شرح مفصل عن التعليمة

حيث يمكنك تحديد خطوات متلاحقة Sequence بناء على شروط معينة

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


عدد الرسائل : 88
العمر : 28
تاريخ التسجيل : 25/07/2011

مُساهمةموضوع: رد: سؤال في برمجة S7-200   الخميس 31 مايو 2012 - 1:07

^^

شكرا لك اخي الكريم ... قرأت تعليمات التعليمة وتبدو جيدة وستفي بالغرض ..
ولكن ماذا سيحصل لو كنت داخل SCR Zone وفي طور تنفيذ النظام , وثم تعطل ال Bit الخاص بال SCR zone التي اعمل انا بها؟ اقصد ب "تعطل" : أي انه اصبح De-energized
هل ستتعطل جميع اشارات ال output ايضا ؟

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


عدد الرسائل : 991
العمر : 32
الموقع : الاردن
تاريخ التسجيل : 19/04/2010

مُساهمةموضوع: رد: سؤال في برمجة S7-200   الخميس 31 مايو 2012 - 13:26

السلام عليكم

العملية ستكون حسب البرنامج الذي صممته

لكن عادة يتم استخدام هذه التعليمة بالطريقة التالية:

لاحظ الشكل التالي:





البت SM0.1 و الذي يعمل مع كل بداية ال Scan لمرة واحدة فقط يعمل Set ل S0.1

و بالتالي فان البرنامج سيبدا بالعمل تلقائيا مع بداية تشغيل ال PLC

اضف الى ذلك تجنب الحالة التي ذكرتها حيث ان ال S1 في حالة ال SET.

و من ثم في اخر البرنامج تعيد ال loop مرة اخرى من خلال تفعيل S0.1

بهذه الطريقة يعيد البرنامج نفسه

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


عدد الرسائل : 88
العمر : 28
تاريخ التسجيل : 25/07/2011

مُساهمةموضوع: رد: سؤال في برمجة S7-200   السبت 2 يونيو 2012 - 6:10

^^

الف الف شكر لك اخي العزيز على المعلومات المفيدة جدا ...

سأحاول قدر المستطاع تنفيذ مشروعي باستخدام هذه التعليمة ..

والشكر موصول لكل من المهندس "ميدو" والمهندس "PLCMan" ..

وجزاكم الله كل خير
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
 
سؤال في برمجة S7-200
استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

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