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

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

 

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

اذهب الى الأسفل 
+135
jeopenny20
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 مشترك
انتقل الى الصفحة : الصفحة السابقة  1, 2, 3, 4, 5 ... 11 ... 18  الصفحة التالية
كاتب الموضوعرسالة
PLCMan
Admin
PLCMan


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

دورة متقدمة في البرمجة S7 - صفحة 4 Empty
مُساهمةموضوع: رد: دورة متقدمة في البرمجة S7   دورة متقدمة في البرمجة S7 - صفحة 4 Emptyالثلاثاء 21 أبريل 2009 - 11:34

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

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

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

فكما بينا من قبل وحسب الشكل التوضيحي لكيفية عمل الماكينة Block diagram مثل الموضح في الشكل التالي :

دورة متقدمة في البرمجة S7 - صفحة 4 Exampl11


حيث أن قراءة السرعة من المقاومة المتغيرة 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




_________________
دورة متقدمة في البرمجة S7 - صفحة 4 61862110 دورة متقدمة في البرمجة S7 - صفحة 4 32210 دورة متقدمة في البرمجة S7 - صفحة 4 No_us_10

أبـوروان
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://hassanheha.yoo7.com
PLCMan
Admin
PLCMan


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

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

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

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

_________________
دورة متقدمة في البرمجة S7 - صفحة 4 61862110 دورة متقدمة في البرمجة S7 - صفحة 4 32210 دورة متقدمة في البرمجة S7 - صفحة 4 No_us_10

أبـوروان
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://hassanheha.yoo7.com
denger741
نقيب
نقيب
denger741


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

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

يعطيك العافيه
الرجوع الى أعلى الصفحة اذهب الى الأسفل
metwally.mustafa
فريق أول
فريق أول
metwally.mustafa


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

دورة متقدمة في البرمجة S7 - صفحة 4 Empty
مُساهمةموضوع: رد: دورة متقدمة في البرمجة S7   دورة متقدمة في البرمجة S7 - صفحة 4 Emptyالسبت 2 مايو 2009 - 3:59

شكرا لك اخى الكريم
الرجوع الى أعلى الصفحة اذهب الى الأسفل
Mohammed_Mobasher
عريف
عريف



عدد الرسائل : 15
تاريخ التسجيل : 31/08/2008

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

[quote]
السلام عليكم
أعانكم الله وأرجو يابشمهندس الرد على ال E-Mail وهو من Mohammed Mobasher
,ارجو ألا أكون أثقلت عليك

مع وافر الشكر
الرجوع الى أعلى الصفحة اذهب الى الأسفل
PLCMan
Admin
PLCMan


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

دورة متقدمة في البرمجة S7 - صفحة 4 Empty
مُساهمةموضوع: رد: دورة متقدمة في البرمجة S7   دورة متقدمة في البرمجة S7 - صفحة 4 Emptyالإثنين 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 دون أن يذكر لنا التفاصيل

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

دورة متقدمة في البرمجة S7 - صفحة 4 Pressu10


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

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

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

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

_________________
دورة متقدمة في البرمجة S7 - صفحة 4 61862110 دورة متقدمة في البرمجة S7 - صفحة 4 32210 دورة متقدمة في البرمجة S7 - صفحة 4 No_us_10

أبـوروان
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://hassanheha.yoo7.com
denger741
نقيب
نقيب
denger741


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

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

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


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

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

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

الأخ العزيز denger

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

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

_________________
دورة متقدمة في البرمجة S7 - صفحة 4 61862110 دورة متقدمة في البرمجة S7 - صفحة 4 32210 دورة متقدمة في البرمجة S7 - صفحة 4 No_us_10

أبـوروان
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://hassanheha.yoo7.com
denger741
نقيب
نقيب
denger741


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

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

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


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

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

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

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

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

_________________
دورة متقدمة في البرمجة S7 - صفحة 4 61862110 دورة متقدمة في البرمجة S7 - صفحة 4 32210 دورة متقدمة في البرمجة S7 - صفحة 4 No_us_10

أبـوروان
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://hassanheha.yoo7.com
denger741
نقيب
نقيب
denger741


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

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

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


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

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

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

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

دورة متقدمة في البرمجة S7 - صفحة 4 Hw_con12


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

_________________
دورة متقدمة في البرمجة S7 - صفحة 4 61862110 دورة متقدمة في البرمجة S7 - صفحة 4 32210 دورة متقدمة في البرمجة S7 - صفحة 4 No_us_10

أبـوروان
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://hassanheha.yoo7.com
denger741
نقيب
نقيب
denger741


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

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

اخي ابوروان

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


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

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

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

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


الأخ العزيز

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

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

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


_________________
دورة متقدمة في البرمجة S7 - صفحة 4 61862110 دورة متقدمة في البرمجة S7 - صفحة 4 32210 دورة متقدمة في البرمجة S7 - صفحة 4 No_us_10

أبـوروان
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://hassanheha.yoo7.com
denger741
نقيب
نقيب
denger741


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

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

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


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

دورة متقدمة في البرمجة S7 - صفحة 4 Empty
مُساهمةموضوع: رد: دورة متقدمة في البرمجة S7   دورة متقدمة في البرمجة S7 - صفحة 4 Emptyالسبت 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

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

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

_________________
دورة متقدمة في البرمجة S7 - صفحة 4 61862110 دورة متقدمة في البرمجة S7 - صفحة 4 32210 دورة متقدمة في البرمجة S7 - صفحة 4 No_us_10

أبـوروان
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://hassanheha.yoo7.com
majid hijazy
رقيب أول
رقيب أول



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

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

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


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

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

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

الأخ العزيز

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

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

https://hassanheha.yoo7.com/montada-f1/topic-t2045-20.htm?sid=21d8d518f5e486386bcb5f55833b7970


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

_________________
دورة متقدمة في البرمجة S7 - صفحة 4 61862110 دورة متقدمة في البرمجة S7 - صفحة 4 32210 دورة متقدمة في البرمجة S7 - صفحة 4 No_us_10

أبـوروان
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://hassanheha.yoo7.com
PLCMan
Admin
PLCMan


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

دورة متقدمة في البرمجة S7 - صفحة 4 Empty
مُساهمةموضوع: رد: دورة متقدمة في البرمجة S7   دورة متقدمة في البرمجة S7 - صفحة 4 Emptyالثلاثاء 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

دورة متقدمة في البرمجة S7 - صفحة 4 Pid_t_10

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

دورة متقدمة في البرمجة S7 - صفحة 4 Pid_t10

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

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

_________________
دورة متقدمة في البرمجة S7 - صفحة 4 61862110 دورة متقدمة في البرمجة S7 - صفحة 4 32210 دورة متقدمة في البرمجة S7 - صفحة 4 No_us_10

أبـوروان
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://hassanheha.yoo7.com
intelligence
رقيب أول
رقيب أول



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

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

السلام عليكم

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


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

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

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

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

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

Error value = Set value - Actual value

دورة متقدمة في البرمجة S7 - صفحة 4 Errorf10

وكما هو واضح على الصورة فلدينا 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 كما في الشكل التالي

دورة متقدمة في البرمجة S7 - صفحة 4 Errora10

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

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

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

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

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

_________________
دورة متقدمة في البرمجة S7 - صفحة 4 61862110 دورة متقدمة في البرمجة S7 - صفحة 4 32210 دورة متقدمة في البرمجة S7 - صفحة 4 No_us_10

أبـوروان
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://hassanheha.yoo7.com
شرشابيل
نقيب
نقيب
شرشابيل


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

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

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

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

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

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


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

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

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

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

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

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

الأخ العزيز

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

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

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

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

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

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

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

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

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

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

_________________
دورة متقدمة في البرمجة S7 - صفحة 4 61862110 دورة متقدمة في البرمجة S7 - صفحة 4 32210 دورة متقدمة في البرمجة S7 - صفحة 4 No_us_10

أبـوروان
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://hassanheha.yoo7.com
شرشابيل
نقيب
نقيب
شرشابيل


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

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

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

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


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

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

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

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

دورة متقدمة في البرمجة S7 - صفحة 4 Pid_te10

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

_________________
دورة متقدمة في البرمجة S7 - صفحة 4 61862110 دورة متقدمة في البرمجة S7 - صفحة 4 32210 دورة متقدمة في البرمجة S7 - صفحة 4 No_us_10

أبـوروان
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://hassanheha.yoo7.com
 
دورة متقدمة في البرمجة S7
الرجوع الى أعلى الصفحة 
صفحة 4 من اصل 18انتقل الى الصفحة : الصفحة السابقة  1, 2, 3, 4, 5 ... 11 ... 18  الصفحة التالية
 مواضيع مماثلة
-
» دورة متقدمة في البرمجة باستخدام STEP7 - الجزء الثاني
» المشاركه 1001بعنوان دورة متقدمة في البرمجة باستخدام STEP7بصيغه PDF
» دورة متقدمة من سيمنز
» دورة تدريبية في البرمجة باستخدام LAD Diagram سيمنس S7-300/400
» شرح دورة المتقدمة في البرمجة s7 في ملف ورد

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