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

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

شاطر | 
 

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

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


عدد الرسائل : 106
العمر : 28
تاريخ التسجيل : 25/09/2008

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

السلام عليكم
اولا انا اسف على تاخرى فى الاسئله وذلك لمحاولتى فى فهم الامور وارجو منك سعه صدرك الى وذلك لانى اريد ان اتمكن من plc وليس فهمه فقط
ثانيا --- كيف اضبط initial values for data block ؟

وشكرا لامداداتكم

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

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

مُساهمةموضوع: رد: دورة متقدمة في البرمجة S7   الخميس 16 أبريل 2009 - 16:42

maher كتب:
السلام عليكم
اولا انا اسف على تاخرى فى الاسئله وذلك لمحاولتى فى فهم الامور وارجو منك سعه صدرك الى وذلك لانى اريد ان اتمكن من plc وليس فهمه فقط
ثانيا --- كيف اضبط initial values for data block ؟

وشكرا لامداداتكم

maher

الأخ العزيز maher

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

وأدعو الله وأسألكم الدعاء لي بأن يجعل هذا العمل خالصا لوجهه الكريم وأن يبعد عنه أي محبطات للعمل من تكبر أو من أو أي شئ من هذا القبيل

أما بخصوص استفسارك عن تغيير القيم الافتراضية للداتا بلوك فيمكنك أن تفتح البلوك وسوف تكون لديك صورة مثل الصورة التالية



حيث يمكنك أن تغير في العمود Actual value ولكن هذه القيم لن تكون فعالة في البرنامج إلا إذا قمت بعمل داونلود لها

كذلك يمكنك استعمال الأمر transfer لنقل القيم لأي داتا بلوك في أي وقت من البرنامج ويمكنك أن تقوم بتحميل القيم الافتراضية مثلا في OB100 مثلا :

L 10.0
T db10.dbd20
L 1.0
T db10.dbd24


بافتراض أن DB10 هو المصاحب ل FB41

_________________


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


عدد الرسائل : 106
العمر : 28
تاريخ التسجيل : 25/09/2008

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

السلام عليكم
هل من الممكن ان ارى ناتج العمليات output الموجوده فى ob100 وذلك باستخدام plcsim

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


عدد الرسائل : 50
العمر : 40
العمل/الترفيه : مهندس صيانة صناعية
تاريخ التسجيل : 18/03/2009

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

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


عدد الرسائل : 38
العمر : 32
الموقع : سورية
العمل/الترفيه : مهندس كهرباء
تاريخ التسجيل : 11/02/2009

مُساهمةموضوع: رد: دورة متقدمة في البرمجة S7   الإثنين 20 أبريل 2009 - 11:08

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

عدد الرسائل : 12319
العمر : 48
العمل/الترفيه : 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




_________________


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

عدد الرسائل : 12319
العمر : 48
العمل/الترفيه : 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 وفي انتظار استفساراتكم بخصوص هذه التوضيحات حيث قد بينا فقط ما يمكن الاتفاق عليه من أمور الاستخدام وهذه التوضيحات والملاحظات عند تجميعها سوف تعطينا استخداما طيبا للمنظومة إن شاء الله

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

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

_________________


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

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

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

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

عدد الرسائل : 4222
العمر : 31
الموقع : 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
avatar

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

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

RAMA كتب:
الاخ ابو روان المحترم
ارجو المساعده في عمليه التحكم في ضغط الماء
حيث ان لدي
PLC S7312,ANALOGUE INPUT AND OUTPUT MODULE
AC FREQUENCY DRIVE
CENTRIFUGAL WATER PUMP
ANALOGUE PRESSURE SENSOR
المطلوب ضبط ضغط الماء في الخط على 2.3BAR
وشكرا

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

يتم قياس الضغط عن طريق حساس ضغط Pressure transducer (( وسوف أفترض أن الحساس يعطي من صفر حتى 500 مللي فولت حسب الضغط من صفر حتى 10 بار ما يقم الزميل RAMA بتصحيح هذه المعلومة ))

يعمل الموتور عن طريق Frequency inverter يتم تشغيله عن طريق وحدة PLC siemens step7-312 وقد ذكر زميلنا العزيز أنه هناك Analoge input , Analoge output module دون أن يذكر لنا التفاصيل

وفي الشكل التالي توضيح لما يمكن أن يتم أو التصور العام للمنظومة



وأرجو من الزميل RAMA إمدادنا بتفاصيل الوحدات لديه مثل Part number لوحدات Siemens

كذلك نوع حساس الضغط هل هو مللي فولت أو مللي أمبير أو فولت أو ماذا وما هم نطاق العمل

كذلك هل inverter يعمل فولت أم مللي أمبير بالنسبة للخرج التماثلي ل PLC

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

_________________


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

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

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

اخي ابوروان....الله يعطيك الصحه والعافيه
اخي اريد عمل برنامح عن طريق PID
وهو قياس مستوى سائل عن طريق Level Transmaeter عندما يكون مستوى السائل
30% يتم تشغيل الموتور الى ان يصبح مستوى السائل الى 90% وبعده يتوقف .حيث ان
Level Transmaeter يستخدم داخل و حدة الدخل التماثلي mA
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
PLCMan
Admin
avatar

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

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

denger741 كتب:
اخي ابوروان....الله يعطيك الصحه والعافيه
اخي اريد عمل برنامح عن طريق PID
وهو قياس مستوى سائل عن طريق Level Transmaeter عندما يكون مستوى السائل
30% يتم تشغيل الموتور الى ان يصبح مستوى السائل الى 90% وبعده يتوقف .حيث ان
Level Transmaeter يستخدم داخل و حدة الدخل التماثلي mA

الأخ العزيز denger

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

أما النقطتين فيتم استخدام مقارنة على النقطة الأولى 30% فلو كان المستوى أقل منها أو يساويها يتم التشغيل (( مثلا يتم عمل Set لخرج التشغيل )) حتى يصل المستوى إلى مستوى الإيقاف 90% فيتم عمل مقارنة أيضا فإن كان أكبر منها أو يساويها يتم عمل Reset لخرج التشغيل مثل برنامج المراوح الذي نفذناه معا من قبل والفرق الوحيد في حالتك تلك هو نوع الحساس والذي لن يختلف في شئ عن حساس الحرارة من وجهة نظر البرنامج وسوف يتم ضبط نوعه في hardware configuration ثم عمل Scaling له ليكون من صفر حتى 100% ليمكن المقارنة بالنسب كما ذكرت

_________________


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

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

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

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

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

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

denger741 كتب:
هل توقفنا الى هنا اخي ابوروان ...
وياشباب اين تعليقكم

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

دعواتكم ثم دعواتكم ثم دعواتكم بتيسير الأمور

_________________


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

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

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

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

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

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

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

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




لتحميل المشروع اضغط هنا

_________________


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

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

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

اخي ابوروان

بالنسبه OB1 و FB41 وFC127 .لاتوجد بداخله برنامج !!
هل INTERFACE التي يكون فيها IN و OUT و TEMP نحن نقوم بكتابتها ..
الرجاء التوضيح وماهي اهميتها..
وما هي طريقة كتابة DB10
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
PLCMan
Admin
avatar

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

مُساهمةموضوع: رد: دورة متقدمة في البرمجة S7   الجمعة 15 مايو 2009 - 5:40

denger741 كتب:
اخي ابوروان

بالنسبه OB1 و FB41 وFC127 .لاتوجد بداخله برنامج !!
هل INTERFACE التي يكون فيها IN و OUT و TEMP نحن نقوم بكتابتها ..
الرجاء التوضيح وماهي اهميتها..
وما هي طريقة كتابة DB10


الأخ العزيز

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

أما FB41,FC127 فهي دوال عليها حماية وليست خالية (( بل لا يمكن أن نرى محتوياتها )) وهي من الدوال الجاهزة التي أشرنا إليها في معرض حديثنا السابق وأردنا اليوم أن نستخدم الدوال الجاهزة كبديل آخر بدلا من عمل Scaling بشكل تفصيلي كما قمنا به من قبل ومطلوب منك فقط تحديد المدخلات والمخرجات لها

أما DB10 فهو Instance data block يتم توليده وصياغة مكوناته وإدخال القيم الأولية لعناصره بمجرد كتابة اسمه فوق دالة FB41 ولا دخل للمبرمج بطريقة صياغته إنما فقط يمرر القيم لمحتوياته وقد أشرنا لذلك تفصيليا عند شرح PID


_________________


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

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

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

اخي ابوروان
الدخل التماثلي عندي من النوع Analog input module AI8/12 to 14 bits
6ES7 331-7KF02-0AB0
كيف يتم توصيل Potentiometer داخل الموديول
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
PLCMan
Admin
avatar

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

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

denger741 كتب:
اخي ابوروان
الدخل التماثلي عندي من النوع Analog input module AI8/12 to 14 bits
6ES7 331-7KF02-0AB0
كيف يتم توصيل Potentiometer داخل الموديول

الأخ العزيز denger

لا مشكلة إطلاقا في اختلاف نوع الموديول طالما أنت تقوم بإنشاء المشروع فيمكنك أن تضع ما تشاء وتقوم بوضع ذلك في Hardware configuration باختيار المكونات الموجودة لديك وضبط مواصفات الأجزاء تماما

أما عن توصيل Potentiometer فله 3 أطراف سوف تجد في الغالب مرسوم بينها مقاومة متغيرة بحيث يمثل أحد أرقامها الصفر والآخر القيمة القصوى والوسط يمثل الخرج بالنسبة للمقاومة وتقوم بتوصيل 10 فولت مستمر DC بين الاطراف التي تعطي المقاومة الكلية وغالبا تكون أرقامها 1،3 ثم توصل الطرف رقم 2 بالدخل التماثلي والطرف رقم 1 بالنقطة M الخاصة بالدخل التماثلي المطلوب

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

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

فالكلام عن PID في منظومة السرعة هو نفسه في منظومة الضغط هو نفسه في منظومة الحرارة هو نفسه في منظومة flow وهكذا

والكلام عن المدخلات التماثلية بالنسبة ل PLC هو هو سواء كان القياس للسرعة أو الضغط أو السريان أو الحرارة أو غيرها

فكل نوع من هذه الأنواع من القياسات لابد في النهاية أن يتوفر في صورة كهربية وإلا فلن تستطيع PLC التعامل معه وهذه الصورة لن تخرج عن الآتي :

الفولت - الأمبير - المللي فولت - المقاومة - الثرموكبل كما سبق أن تحدثنا في بداية الدورة

إذا دور التعامل مع المدخل التماثلي ينتهي بمجرد التحديد الصحيح لنوع القياس ( أي نوع من الأربعة هو ؟ ) ثم تحديد الموديول المناسب لذلك وعمل Configuration له ومعرفة عنوان التعامل معه داخل PLC

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

- قيمة الضبط ، القيمة الفعلية ، إشارة الخطأ ومعاملات الاستجابة لها سواء سرعة الاستجابة أو سرعة التغيير ثم مقدار تأثير المنظومة

ويمكن ببساطة استكشاف تلك العوامل من كلامنا السابق عن PID

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

وجزاكم الله خيرا

_________________


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


عدد الرسائل : 38
العمر : 32
الموقع : سورية
العمل/الترفيه : مهندس كهرباء
تاريخ التسجيل : 11/02/2009

مُساهمةموضوع: رد: دورة متقدمة في البرمجة S7   السبت 16 مايو 2009 - 13:51

أعمل الآن على مشروع أتمتتة مرجل وفيه العديد من حلقات ال PID المترابطة مع بعضها (حلقة للماء وحلقة للفيول وحلقة للهواء) فهل يسمح الأستاذ والأخوة الأعضاء بتقديم هذا المشروع للمناقشة والمساعدة علماً أني مبتدأ في هذا المجال كما أنن أستطيع أن أقدم شروح جيدة عن آلية عمل المرجل أرجو الرد وشكرا على هذه الدورة الممتعة.
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
PLCMan
Admin
avatar

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

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

majid hijazy كتب:
أعمل الآن على مشروع أتمتتة مرجل وفيه العديد من حلقات ال PID المترابطة مع بعضها (حلقة للماء وحلقة للفيول وحلقة للهواء) فهل يسمح الأستاذ والأخوة الأعضاء بتقديم هذا المشروع للمناقشة والمساعدة علماً أني مبتدأ في هذا المجال كما أنن أستطيع أن أقدم شروح جيدة عن آلية عمل المرجل أرجو الرد وشكرا على هذه الدورة الممتعة.

الأخ العزيز

مرحبا بك معنا وأهلا وسهلا بك ونسعد بشروحك ويسعدنا المساعدة ولكن لي طلب بسيط أن ننقل هذه المناقشة أو المشاركة لموضوع آخر فتحناه للمناقشة الحرة حول PLC وذلك للحفاظ على استمرارية موضوعات الدورة والانتظام فيها مع وعدنا بأخذ الأمر مأخذ الجدية تماما مثل وجوده هنا تماما

رابط الموضوع المذكور هو

http://hassanheha.forumn.org/montada-f1/topic-t2045-20.htm?sid=21d8d518f5e486386bcb5f55833b7970


وجزاكم الله خيرا على حسن المتابعة

_________________


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

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

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

السلام عليكم إخواني الأعزاء

لنبدأ اليوم الحديث عن مكمل الجزءالذي بدأنه وهو منظومة التحكم في الحرارة Temperature controller

PID Temperature controller

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

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

فمثلا في بداية التسخين يكون الوقت اللازم لتشغيل السخان بنسبة 100% أي أن السخان يكون ON طوال الوقت حتى يصل فرق درجة الحرارة بين القيمة المطلوبة والقيمة الفعلية إلى حوالي 15 درجة مثلا فيبدأ وقت التوصيل ON في الانخفاض ويزداد معدل الوضع OFF حتى نصل إلى لحظة التساوي أي أن الخطأ بين القيمة المطلوبة والقيمة الفعلية صفر وهنا يكون تقريبا وقت التشغيل بنسبة قليلة تكون بقدر المطلوب للحفاظ على درجة الحرارة أو بناء على معدل الاستهلاك من كمية الحرارة الموجودة

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

إذا مما سبق فهناك مجموعة من العناصر لابد من توافرها كعناصر أساسية لتعريفات وضبط المنظومة وهي :

- القيمة المطلوبة Set value
- القيمة الفعلية Actual value
- زمن دورة التسخين الكامل وهو يشمل مجموع وقت التسخين + وقت الإيقاف وهذا الزمن ثابت باستمرار
- مولد ذبذبات Pulse generator بقدر الزمن السابق ذكره حيث أنه بناء على قيمة الخطأ Error بين القيمة المطلوبة والقيمة الفعلية يتم تكوين Pulse يتناسب زمنها وقيمة الخطأ
- تحديد أقصى زمن تسخين وهذا يتحدد بناء على قدرة السخانات فيمكن استخدام سخانات أكبر وبالتالي فسوف تزداد قدرة التسخين ويقل الوقت اللازم للتسخين وبالتالي يجب أن يتوافر ضبط لهذا الوقت وكذلك الحد الأدنى وكذلك وقت التبريد

كذلك فيمكننا القول أن منظومة الحرارة هي منظومة PID السابقة تماما مضاف إليها مولد ذبذبات Pulse generator يقوم بتحويل LMN وهي المعالجة الناتجة من PID إلى Pulse والتناسب بينهما طرديا أي بزيادة LMN يزداد زمن Pulse وبنقص LMN تقل قيمة زمن Pulse



وفيما يلي البلوك الكامل للمنظومة



ويلاحظ عند المقارنة بالمنظومة السابقة والتي درسناها معا الفارق هو دخول القيمة LMN على Pulse generator

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

_________________


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


عدد الرسائل : 35
العمر : 37
تاريخ التسجيل : 21/05/2009

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

السلام عليكم

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

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