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

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

شاطر | 
 

 دورة تدريبية في البرمجة باستخدام LAD Diagram سيمنس S7-300/400

اذهب الى الأسفل 
انتقل الى الصفحة : الصفحة السابقة  1, 2, 3, 4 ... 9 ... 16  الصفحة التالية
كاتب الموضوعرسالة
4ever
رقيب أول
رقيب أول


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

مُساهمةموضوع: رد: دورة تدريبية في البرمجة باستخدام LAD Diagram سيمنس S7-300/400   السبت 11 أبريل 2009 - 14:02

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

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

مُساهمةموضوع: رد: دورة تدريبية في البرمجة باستخدام LAD Diagram سيمنس S7-300/400   الأحد 12 أبريل 2009 - 16:15

الأخوة الأعزاء

عذرا على الانقطاع للانشغال ونعود معا باستكمال أنواع التايمرز إن شاء الله

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

بقي لنا الآتي :

Pulse timer - Extended pulse timer - Stored On-delay timer

ونبدأ بالنوع الأول Pulse timer وكما هو واضح من اسمه فإن الخرج منه يكون على شكل Pulse يتم تحديدها عن طريق الوقت المدخل إلى التايمر على النقطة TV والتي تمثل هنا وقت تشغيل التايمر

ويشترط هنا لخروج الخرج على Q وجود شرطين هما الدخل S والوقت المحدد ب TV فإذا تحولت قيمة S من 1 إلى صفر فإن الخرج حتى ولو كان داخل الوقت يتحول أيضا إلى الصفر وإذا استمر وجود الشرط S وانتهى الوقت أيضا يتحول الخرج إلى صفر

والشكل التالي يبين تفاصيل الخرج مع شروط التشغيل الوقت و S



كذلك فإن الدخل R يحول قيمة الخرج Q إلى صفر وكذلك يعيد حالة BI , BCD والذان يمثلان القيمة الحالية للوقت إلى قيمة الوقت الأولى

والشكل التالي يوضح تفاصيل المدخلات والمخرجات من وإلى التايمر من النوع Pulse والمدخلات والمخرجات واحدة لكل الأنواع



وكما سبق وذكرنا في النوعين الأولين فإنه يمكن تمثيل التايمر إما مجمعا أو مفرقا أي الوظيفتين S,R معا أو مفترقين مثل الصورة التالية



أما النوع الثاني اليوم والرابع عامة من أنواع التايمرز فهو Extended pulse timer

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



ويمكن أيضا أن يتم تنفيذه بشكل مجمع أو مفرق مثله مثل السابقين

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

غير أنه يأخذ الرمز SE بدلا من SP

النوع الخامس والأخير من أنواع التايمرز وهو Stored On-delay timer

وكما سبق وذكرنا عن On-delay timer فقد كان يشترط وجود الإشارة S وبعد مرور الوقت المحدد تتحول حالته من الصفر إلى 1 ثم عند زوال الإشارة S فإنه يعود إلى الصفر مرة أخرى أو عند وجود قيمة 1 على الدخل R

أما هنا فليس الأمر كذلك فالشرط الأول هو تحول قيمة S من الصفر إلى 1 وهذا التحول يقوم بتفعيل عداد الوقت وبعد مرور الوقت t تتحول قيمة Q من الصفر إلى 1 وتستمر حتى في حالة زوال S ولا تعود إلى الصفر إلا بوجود قيمة 1 على الدخل R

والشكل التالي يوضح هذا المعنى



ويمكن أيضا تمثيله مجمعا أو مفرقا كما في الأنواع السابقة ولكن يأخذ الرمز SS

وله نفس المدخلات والمخرجات تماما مثل الأنواع السابقة

_________________


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

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

مُساهمةموضوع: رد: دورة تدريبية في البرمجة باستخدام LAD Diagram سيمنس S7-300/400   السبت 18 أبريل 2009 - 11:48

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

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

مُساهمةموضوع: رد: دورة تدريبية في البرمجة باستخدام LAD Diagram سيمنس S7-300/400   الإثنين 20 أبريل 2009 - 11:33

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

والآن دعونا نتحدث عن عمليات المقارنة Comparison instructions

وعمليات المقارنة لها عندنا تصنيفان رئيسيان الأول هو حسب نوع العملية وهناك للعمليات 6 أنواع وهي :

- التساوي
- عدم التساوي
- أكبر من
- أقل من
- أكبر من أو يساوي
- أقل من أو يساوي

أما بناء على نوع البيانات التي يتم مقارنتها (( والتي يجب أن تكون من نفس النوع )) فهناك ثلاثة أنواع متاحة وهى :

- المتغيرات الصحيحة Integers
- المتغيرات الصحيحة ذات الدقة المضاعفة Double integers
- المتغيرات العشرية ( الكسرية ) Floating point : reals

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



وقد وضعت على هذا الشكل كل التفاصيل المطلوبة

فالشكل يحتوي على جميع عمليات مقارنة الأرقام الصحيحة الستة وهي :

- التساوي Equal : ==I

وفي الشكل الموضح لدينا مدخلان هما IN1,IN2 حيث يتم اختبار التساوي بينهما فإذا حدث التساوي فإن خرج البلوك والذي بناء عليه تتغير حالة RLO مع الربط وما قبلها فإن تحقق الشرط وكانت RLO قبلها 1 فإن النتيجة تكون 1 وإن لم يتحقق الشرط ( التساوي ) تكون النتيجة بعدها على النقطة A تساوي صفر

مع ملاحظة أن نوع البيانات على المدخلين IN1,IN2 يمكن أن يكون ثابت صحيح أو IW , QW , MW , LW , DBx.DBWy مثل الموضح بالشكل وقد تم استخدام الأصناف الستة في المقارنات كلها

- عدم التساوي Not Equal : <>I

وهنا ينطبق نفس الكلام عن التساوي والاختلاف الوحيد فقط في الشرط فالشرط هنا هو عدم التساوي بين IN1,IN2

- أكبر من Greater than >I if IN1 is greater than IN2

والشرط في هذه الحالة هو هل IN1 أكبر من IN2 فلو تحقق الشرط يكون الخرج على النقطة C=1 لو كان A,B=1 مع الوضع في الاعتبار كل الكلام السابق في مقارنة التساوي

- أقل من Less than : <I if IN1 is less than IN2

والشرط في هذه الحالة هل IN1 أقل من IN2

- أكبر من أو يساوي Greater than or Equal : >=I if IN1 is greater than or equal IN2

والشرط في هذه الحالة يشمل جزئين الأول هو هل IN1 أكبر من IN2 والثاني هو التساوي

- أقل من أو يساوي Less than or Equal : <=I if IN1 is less than or Equal to IN2

والشرط في هذه الحالة يشمل جزئين أيضا هما هل IN1 أقل من IN2 أو التساوي

والنوع الثاني من المقارنات هو مقارنة الأرقام الصحيحة ذات الدقة المضاعفة Double integers

وقد جمعت في الشكل التالي بنفس الطريقة كل الأنواع وبنفس الطريقة السابقة يتم فهم الأمور ولاحظ الفرق هو الحرف D بدلا من I



والنوع الثالث من المقارنات وهو مقارنة الأنواع العشرية Floating point numbers

وقد جمعته أيضا في الشكل التالي ولاحظ الفرق الوحيد هو في الحرف R والذي يعني Real

ولكن كل شئ كما في السابق ما عدا أن حجم ونوع البيانات أصبح 32-bit floating point



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

_________________


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

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

مُساهمةموضوع: رد: دورة تدريبية في البرمجة باستخدام LAD Diagram سيمنس S7-300/400   الثلاثاء 5 مايو 2009 - 14:49

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

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

وموضوعنا اليوم هو عمليات التحويل بين صيغ الأرقام المختلفة Conversion instructions


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

Binary coded decimal BCD
Integer numbers 16-bit
Double integers 32-bit
Floating point numbers-Real numbers


وسوف نحتاج لهذا بالتأكيد خلال مشوارنا معا وأثناء عملنا إن شاء الله

والعمليات بشكل إجمالي المتاحة لنا كالآتي :

- التحويل من BCD إلى Integers ورمزها BCD_I ( دقة 16 خانة )
- التحويل من Integers إلى BCD ورمزها I_BCD ( دقة 16 خانة )
- التحويل من Integers 16-bit إلى Double integers 32-bit ورمزها I_DI
- التحويل من BCD 32-bit إلى Double integers 32-bit ورمزها BCD_DI
- التحويل من Double integers 32-bit إلى BCD 32-bit ورمزها DI_BCD
- مكمل Integers 16-bit أي تحويل الأصفار إلى الحالة 1 والعكس ورمزها INV_I
- الضرب في -1 للأرقام الصحيحة Integers 16-bit ورمزها NEG_I
- مكمل Double integers 32-bit أي تحويل الأصفار إلى الحالة 1 والعكس ورمزها INV_DI
- الضرب في -1 للأرقام الصحيحة Double integers 32-bit ورمزها NEG_DI
- الضرب في -1 للأرقام العشرية Floating point numbers ورمزها NEG_R
- التحويل من رقم صحيح Double integers 32-bit إلى رقم عشري Real ورمزها DI_R
- التقريب وهو تحويل الرقم العشري Real إلى رقم صحيح Double integers 32-bit ورمزها ROUND
- التقريب بحذف الجزء العشري من Real إلى رقم صحيح Double integers 32-bit ورمزها TRUNC
- التقريب إلى أقل رقم صحيح أكبر من أو يساوي الجزء الصحيح من الرقم العشري من Real إلى رقم صحيح Double integers 32-bit ورمزها CEIL
- التقريب إلى أكبر رقم صحيح أقل من أو يساوي الجزء الصحيح من Real إلى رقم صحيح Double integers 32-bit ورمزها FLOOR


كل هذه الأوامر عند التعامل بطريقة LADDER DIAGRAM فإنها يعبر عنا ببلوك وداخله الرمز الذي ذكرناه وهناك عنوان لإدخال البيانات IN وعنوان لإخراج البيانات OUT ونستعرض بالتفصيل كما في الأشكال والشرح التالي :

المجموعة الأولى



وفي الشكل كما يظهر لنا هناك خمسة أنواع من التحويلات الأول هو BCD_I :

وتم الإشارة إلى أن حجم البيانات في الدخل IN والخرج OUT هو 16 خانة وبالتالي فإن الدخل يمكن أن يكون Input word-IW أو Output word-QW أو Data word DW أو Global memory word-MW أو Local memory word-LD أو ثابت في صيغة BCD

كذلك فإن OUT يأخذ نفس الأشكال ما عدا الثابت

وهذا الأمر كما أسلفنا يقوم بتحويل الأرقام في صيغة BCD إلى أرقام صحيحة

وينطبق ما ذكرناه على الأمر التالي I_BCD مع اختلاف الوظيفة حيث يقوم بالتحويل من الصيغة الصحيحة إلى الصيغة BCD

أما الأمر الثالث وهو I_DI وهو يقوم بإضافة أصفار إلى يسار الرقم الصحيح ونقل خانة الإشارة من Bit-15 إلى Bit-31 للحفاظ على إشارة الرقم بعد تحويله من Integer 16-bit إلى Double integer 32-bit

الأمر الرابع والخامس لهما نفس وظيفة الأمرين الأول والثاني ولكن مع حجم بيانات 32 خانة data size 32-bits

المجموعة الثانية



وفيها خمس أوامر أيضا منها أمران لإيجاد المكمل Complement للرقم على IN وهنا يتم إيجاده بعكس قيم الخلايا Bits وذلك بتحويل الأصفار إلى القيمة 1 والعكس وهذا على مستوى Integers 16-bits وكذلك Double integers 32-bits

الأمران هما : INV_I , INV_DI

كذلك لدينا ثلاثة أوامر للضرب في -1 على مستوى Integers 16-bits و Double integers 32-bits والأرقام العشرية Real numbers

وهذه الأوامر هي NEG_I , NEG_DI , NEG_R

المجموعة الثالثة وهي خاصة بالتحويل من الأرقام Double integers 32-bits إلى Reals والعكس



وتحتوي هذه المجموعة على خمس أوامر الأول هو تحويل الأرقام Double integers 32-bits إلى أرقام عشرية Real numbers

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

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

أما لو كان المطلوب حذف الكسر حتى لو كان 0.99 فيتم ذلك باستخدام الأمر TRUNC

ولو كان التقريب للأقل دائما مثلا 4.9 تقرب إلى 4 وذلك -5.9 تقرب إلى -6 فيتم ذلك عن طريق الأمر FLOOR

ولو كان التقريب للأكبر دائما مثلا 4.1 تقرب إلى 5 و-6.9 تقرب إلى -6 فيتم ذلك باستخدام الأمر CEIL

_________________


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

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

مُساهمةموضوع: رد: دورة تدريبية في البرمجة باستخدام LAD Diagram سيمنس S7-300/400   الخميس 14 مايو 2009 - 14:08

السلام عليكم إخواني الأعزاء ونعود معا إن شاء الله لنتكلم عن العدادات

Counter Instructions

بداية نتكلم عن العدادات بشكل عام ثم ندخل إلى كيفية التنفيذ داخل البرنامج

- لابد أن يتوفر في العداد وظائف أولية وهي :

العد لأعلى (( زيادة القيمة الحالية )) Count up
العد لأسفل (( نقصان القيمة الحالية )) Count down
تصفير قيمة العداد Counter reset
إمكانية ضبط قيمة أولية للعداد يبدأ العد منها Preset value
إمكانية قراءة القيمة الحالية للعداد Actual counter value
حالة العداد هل وصل إلى Preset value أم لا

والآن دعونا نستعرض معا هذه الصور بالشكل الذي تعودناه معا ونضيف بعض الملاحظات عليها لتوضح الاستخدامات المختلفة لعناصر العداد



الصورة التي سبقت تشتمل على عدادين أحدهما للعد لأعلى والآخر للعد لأسفل

وبالتالي فإن أول العناصر Count-up , Count-down متوفران ويمكن استخدامهما بشكل منفصل مثل الشكل السابق أو بشكل مجمع مثل الشكل التالي



ومدخلات العداد هي حسب الشكلين السابقين هي :

CU ويستخدم للعد لأعلى حيث أنه عند تغير حالة الدخل من الصفر إلى 1 يتم زيادة قيمة العداد بمقدار 1 ويلاحظ أنه إذا انتهت دورة التنفيذ قبل أن تتغير القيمة مرة أخرى أي لو ظلت محتفظة بالقيمة 1 يتم أيضا زيادة قيمة العداد (( لهذا يفضل لو كنت تستخدم عداد فعلي أن تستخدم بعد آخر نقطة وقبل CU مباشرة Positive edge detection ))

CD ويستخدم للعد لأسفل أي نقصان قيمة العداد 1 وينطبق عليه نفس الكلام على CU

R وهذا الدخل عند تحول حالته من الصفر إلى 1 يتم تصفير قيمة العداد الحالية فتصبح قيمته صفرا

PV وهو يمثل القيمة الأولية للعداد والتي يتم ضبط قيمة العداد عليها عندما تتحول حالة الدخل S من الصفر 1 وأقصى قيمة له 999 ويمكن أن يكون IW,QW,MW,LW,DBW أو ثابت

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

CV وهو يمثل قيمة العداد الحالية Count value في الصيغة السداسي عشر Hex.

CV_BCD وهو يمثل قيمة العداد الحالية في صورة Binary coded decimal

ويمكن لأن تتم وظائف العداد بشكل منفصل كالصورة التالية



وفي الصور التالية سوف تجد توضيحات تساعد أكثر في فهم العدادات




_________________


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

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

مُساهمةموضوع: رد: دورة تدريبية في البرمجة باستخدام LAD Diagram سيمنس S7-300/400   الإثنين 18 مايو 2009 - 15:04

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

نستعرض اليوم معا أوامر التعامل المنطقي على مستوى Word , Double word أي على مستوى 16 خانة وعلى مستوى 32 خانة

Word Logic Instructions



هناك ثلاث عمليات تتم على مستوى Word وثلاثة تتم على مستوى Double word

القسم الأول Word Logic instructions

والشكل التالي يبين تفاصيل العمليات الثلاثة وهي AND ورمز العملية هو WAND_W

والعملية الثانية هي OR ورمز العملية هو WOR_W

والعملية الثالثة هي XOR ورمز العملية هو WXOR_W



والبلوك المخصص لكل عملية يكتب داخله رمز العملية مثل الشكل السابق ولها مدخلان رئيسيان هما IN1,IN2 وهما الذان تتم بينهما العملية ويتم تخزين النتيجة في المخرج OUT

أما المدخل EN فهو يمثل شرط تنفيذ العملية ففي حالة وجود الحالة 1 عليه يتم تنفيذ العملية والمخرج ENO يمثل تمام تنفيذ العملية

المدخلان IN1,IN2 يمكن أن يكونا في أحد الصور الآتية :

Input word from digital input module IW
Output word from digital output image table QW
Memory Address ( Global ) MW
Local memory address LW
Data word of data block DBW
Constant as W#2#1010_1000_0001_1101 or W#16#F10B

أما المخرج OUT فيمكن أن يكون أحد الأنواع الخمسة الأولى ولا يكون ثابت


الفسم الثاني وهو Double word logic instructions

وله أيضا ثلاثة أنواع وهي :

AND ورمز العملية داخل البلوك WAND_DW
OR ورمز العملية داخل البلوك WOR_DW
XOR ورمز العملية داخل البلوك WXOR_DW





والعمليات الثلاثة لها مدخلان هما IN1,IN2 واللذان يمكن أن يكونا بأحد الصيغ

Input double word from digital input module ID
Output double word from digital output image table QD
Memory Address ( Global ) MD
Local memory address LD
Data double word of data block DBD
Constant as W#2#1010_1000_0001_1101_1110_0001_1111_0000 or W#16#F10BA23D

أما الخرج فيمكن أن يكون أحد الأصناف الخمسة الأولى ولا يكون ثابتا

_________________


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

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

مُساهمةموضوع: رد: دورة تدريبية في البرمجة باستخدام LAD Diagram سيمنس S7-300/400   الإثنين 25 مايو 2009 - 15:20

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

واليوم نتكلم عن عمليات Shift and Rotate instructions الإزاحة والدوران

وهي عمليات تتمثل في تغيير ترتيب البيانات داخل موقع الذاكرة المقصود

فعملية الإزاحة Shift سواء لليمين أو الشمال تعتمد على إزاحة الكونات لليمين أو الشمال بعدد معين من الخانات مع ملئ الخانات الخالية حسب حالة الإزاحة


وفي الشكل التالي ملخص للعمليات المتاحة وهي :

- الإزاحة لليمين لرقم صحيح 16 خانة Shift right 16-bits integer ورمزها SHR_I
- الإزاحة لليمين لرقم صحيح 32 خانة Shift right 32-bits integer ورمزها SHR_DI
- الإزاحة للشمال لمحتويات 16 خانة Shift left word ورمزها SHL_W
- الإزاحة لليمين لمحتويات 16 خانة Shift right word ورمزها SHR_W
- الإزاحة للشمال لمحتويات 32 خانة Shift left double word ورمزها SHL_DW
- الإزاحة لليمين لمحتويات 32 خانة Shift right double word ورمزها SHR_DW
- الدوران للشمال لمحتويات 32 خانة Rotate left double word ورمزها ROL_DW
- الدوران لليمين لمحتويات 32 خانة Rotate right double word ورمزها ROR_DW



العملية الأولى SHR_I وهي تمثل إزاحة محتويات المدخل IN والذي يمكن أن يكون IW,QW,MW,LW,DBW بعدد N من الخانات إلى اليمين مع ملاحظة أنه يتم ملئ الخانات التي يتم إخلاؤها من الشمال بمحتويات خانة الإشارة فلو كانت المحتويات أقل من الصفر يتم ملئ الخانات بالرقم 1 وفي حالة رقم أكبر من الصفر يتم ملئ الخانات المزاحة بالرقم صفر



ويمكن قول نفس الكلام تماما على العملية SHR_DI ولكن في هذه الحالة على مستوى 32 خانة

مع ملاحظة أن العدد N والذي يمثل عدد الخانات المزاحة لو زاد عن 16 في حالة الأرقام الصحيحة 16 خانة يتم اعتباره 16 ولو زاد عن 32 في حالة الأرقام الصحيحة المضاعفة الدقة 32 خانة يتم اعتباره 32

أما العمليات SHL_W , SHR_W والتي تتم على مستوى Word-16 bits فهنا لا يوجد أي اعتبار لخانة الإشارة حيث يتم ملئ الخانات المزاحة بأصفار سواء من اليمين أو الشمال والمدخل IN والمخرج OUT يمكن أن يكونا أحد الأنواع الخمسة IW,QW,MW,LW,DBW

ونفس الكلام عن N في كل الحالات ثابت لا يتغير

أما الأمران SHR_DW,SHL_DW فهما على مستوى Double word 32-bits بغض النظر عن خانة الإشارة حيث يتم ملئ الخانات المزاحة بأصفار

ويمكن أن يكون كل من المدخل IN والمخرج OUT أحد الأنواع الخمسة ID,QD,MD,LD,DBD

أما بالنسبة للأمران ROL_DW , ROR_DW فهو يمثل عملية تدوير البيانات كما في الشكل الآتي حسب الخانات المطلوبة بالرقم N


_________________


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

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

مُساهمةموضوع: رد: دورة تدريبية في البرمجة باستخدام LAD Diagram سيمنس S7-300/400   الإثنين 25 مايو 2009 - 16:33

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

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

مُساهمةموضوع: رد: دورة تدريبية في البرمجة باستخدام LAD Diagram سيمنس S7-300/400   الإثنين 25 مايو 2009 - 22:23

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

الأخ العزيز

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

- العملية نفسها التي يتم التحكم فيها Process (( ولابد أن تكون مفهومة تماما )) حيث يتم تقسيم العملية إلى عمليات فرعية صغيرة تتم كل منها بشكل منفرد
- عناصر التنفيذ Actuators وهي الأجزاء المنفذة لقرارات التحكم سواء كانت محركات أو فالفات هواء أو سخانات أو ضواغط وغيرها من أدوات التنفيذ
- حساسات Sensors للوقوف على حالة التنفيذ التي وصلت إليها المنظومة سواء كانت للسرعة أو الضغط أو الحرارة أو غيرها
- وسائل تحويل من الصيغة الرقمية إلى الصيغة الطبيعية للإشارات Digital to Analog D/A converter وهو ما يمكن من توصيل قرارات النظام إلى أدوات التنفيذ Actuators
- وسائل التحويل من الصيغة الطبيعية إلى الصيغة الكهربية Transducers حيث يتم في النهاية التوصل إلى صيغة كهربية مفهومة لأي وسيلة من وسائل الإحساس Sensors
- وسائل التحويل من الصيغة الكهربية التماثلية إلى الصيغة الرقمية Analog to Digital A/D converter وهو ما تفهمه نظم التحكم المبرمج
- أخيرا نظام التحكم والذي يكون مكانه هنا بين A/D و D/A حيث يقوم بتنفيذ المهام التي تطلبها منه حسب الإمكانيات المتاحة في النظام

فلو توفرت هذه العناصر (( وهي بالفعل متوفرة في منظومات التحكم المبرمج الحديثة )) لأمكن التحكم في أي شئ

وهناك مبادئ عامة في عالم التحكم أخي العزيز أهمها من وجهة نظري هو


" ما لا يمكن قياسه لا يمكن التحكم فيه "


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

والمنظومة الأكثر تماثلا والتي يمكنك أخذها كمثال عملي لفهم ما أردت قوله هو جسم الإنسان

فالإنسان فاقد الحواس لا يمكنه تنفذ أي شئ ولا يعتمد عليه في أي شئ وكلما زادت حواس الإنسان أمكن الاعتماد عليه بحسب ما يتوافر لديه من أدوات تنفيذ

وكلما زاد وعي وإدراك الإنسان وعلمه (( منظومة التحكم )) كانت قراراته سليمة وتنفيذه دقيق

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

عموما أرجو أن يكون الأمر واضحا لك وإلى الأمام دائما إن شاء الله تعالى

_________________


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

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

مُساهمةموضوع: رد: دورة تدريبية في البرمجة باستخدام LAD Diagram سيمنس S7-300/400   الخميس 4 يونيو 2009 - 11:11

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

لنكمل معا إن شاء الله بعض الأوامر الخاصة بالانتقال Jump instructions وكذلك فتح Data block للتعامل معه

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



فالأمر الأول وهو فتح Open data block : OPN وهو يقوم بفتح بلوك بيانات للتعامل معه داخل البلوك الذي نحن بداخله سواء كان Function FC أو Function block FB أو OB

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

والجزء الثاني من الأوامر وهو هام جدا وهو Jump instructions

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

الأول غير شرطي وبالتالي لا يعتمد على نتيجة آخر عملية منطقية مخزن نتيجتها في RLO ولكن يتم تنفيذه بشكل تلقائي وإهمال كل الأوامر بين JMP وبين LABEL وفي هذه الحالة لا يوجد أي كونتاكت سواء NO , NC قبل الأمر -----(JMP) وإنما السطر يحتوي فقط على الأمر JMP

النوع الثاني وهو الشرطي وهو بنفس الصيغة ولكن هناك شروط قبل الأمر في نفس السطر وهنا يعتمد تنفيذ الأمر على نتيجة RLO فإن كانت TRUE يتم التنفيذ وإن كانت FALSE لا يتم تنفيذ الأمر JMP

والأمر الثاني في هذا النوع الشرطي هو JUMP-NOT : JMPN وهو أيضا مرتبط بالشرط قبله ولكن هنا الوضع عكسي فلو كانت قيمة RLO = TRUE لا يتم الانتقال ولو كانت القيمة FALSE يتم الانتقال إلى المنطقة LABEL

ويجب هنا ملاحظة أن الأمر JMP والرمز LABEL يكونا في نفس البلوك ويمكن أن يكون الرمز LABEL قبل أو بعد الأمر داخل نفس البلوك

وهذه الأوامر تتشابه تماما مع الأوامر GOTO --- LABEL في لغات البرمجة العادية

_________________


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

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

مُساهمةموضوع: رد: دورة تدريبية في البرمجة باستخدام LAD Diagram سيمنس S7-300/400   الثلاثاء 9 يونيو 2009 - 13:16

فعلا لغه الSTL تتعبر افضل اللغات حيث يفضلها الاجانب

حيث انها تعطى تحكم عالى فى الCPU

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

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

مُساهمةموضوع: رد: دورة تدريبية في البرمجة باستخدام LAD Diagram سيمنس S7-300/400   الثلاثاء 9 يونيو 2009 - 14:09

metwally.mustafa كتب:
فعلا لغه الSTL تتعبر افضل اللغات حيث يفضلها الاجانب

حيث انها تعطى تحكم عالى فى الCPU

كما يمكننا ان نعمل برامج غايه فى التعقيد باستخدامها
على عكس الLAD



الأخ العزيز

هناك مستوى نتمنى أن يصل إليه الجميع وهو أن تبني البرنامج كأنك تتحاور مع PLC مهما كانت طريقة البرمجة

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

لكن معظم المبتدئين والذين يحصرون تفكيرهم في البرامج في الدوائر الكهربية البسيطة فقط والتي يقومون بتحويلها من رسم كهربي إلى مخطط سلمي يفضلون استعمال Ladder لكن هناك وقت معين سوف تجد نفسك لا محالة مقبل على STL وياحبذا لو استخدمت اللغات الأعلى في البرمجة مثل C وأدمجت برامجها مع Simatic manager فعندها سوف تتمكن من استخدام إمكانيات لغة عظيمة مثل C مع الإمكانيات المتاحة بالفعل في PLC

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

_________________


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

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

مُساهمةموضوع: رد: دورة تدريبية في البرمجة باستخدام LAD Diagram سيمنس S7-300/400   الأربعاء 10 يونيو 2009 - 12:45

هل بالفعل يمكن ادماج لغه ال C++
مع برنامجsimatic manager؟
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
robinhood_01225
جندي
جندي


عدد الرسائل : 3
تاريخ التسجيل : 08/06/2009

مُساهمةموضوع: رد: دورة تدريبية في البرمجة باستخدام LAD Diagram سيمنس S7-300/400   الأحد 14 يونيو 2009 - 7:04

HI, I want to modify the software for data communication, we have a Siemens PLC with S7-400 controlling a Fuel Treatment Plant. The Tank Level is coming real value i.e. if the actual level is 5.7 the reading is displayed as 6 meters however if the level is 5.3 the displayed value is 5 meters, No decimal values are considered. I need to modify the software to include the decimal value (2 digits). Can you help me in this and can I connect to the PLC through the ethernet cable, knowing that I'm new in using the S7 program.
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
PLCMan
Admin
avatar

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

مُساهمةموضوع: رد: دورة تدريبية في البرمجة باستخدام LAD Diagram سيمنس S7-300/400   الثلاثاء 16 يونيو 2009 - 11:26


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

نبدأ معا اليوم إن شاء الله في الحسابات وأول شئ نبدأ به هو العمليات الحسابية على الأرقام الصحيحة Integer mathematics


وكما نعلم فإن للأرقام الصحيحة نوعين حسب دقة الرقم فهناك أرقام صحيحة مكونة من 16 خانة Integers وهناك أرقام صحيحة مكونة من 32 خانة Double integers ولكل منها حساباته الخاصة ولا يجب أن يحدث خلط في الحسابات بين الاثنين

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

أولا : عمليات الجمع والطرح للأرقام الصحيحة 16 خانة ADD_I , SUB_I

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

كذلك فإن الدخل IN1,IN2 من نفس النوع Integers وكذلك النتيجة وهذا عام في جميع العمليات الحسابية

ثانيا : عمليات الضرب والقسمة للأرقام الصحيحة 16 خانة MUL_I , DIV_I

مراعاة عدم القسمة على صفر

مراعاة الحد الأقصى للنتيجة

مراعاة أيضا أن الخرج OUT والمدخلان IN1 , IN2 من نفس النوع Integers

وفي الصورة التالية شكل فعلي لاستخدام الدوال الأربعة مصحوبا ببعض الملاحظات عليها




يضاف هنا أن Status bits تتأثر تأثير مباشر بالنتيجة سواء كانت أكبر من الصفر أو تساوي صفر أو أقل من الصفر أو حدث Overflow للنتيجة أو كانت النتيجة غير محسوبة Unorder فكل هذا يؤثر على خانات Status word

فإذا كانت النتيجة صفر فإن كل من CC0,CC1 تساوي صفرا
وإن كانت النتيجة أقل من صفر وأكبر من الحد الأدني للقيمة السالبة -32768 فإن CC0=1 , CC1=0
وإن كانت النتيجة أكبر من صفر وأقل من الحد الأقصى للقيمة الموجبة 32767 فإن CC0=0, CC1=1

أما إن كانت النتيجة أقل من الحد الأدنى للقيمة السالبة فإن OV=OS=1 و CC0=1,CC1=0
وإن كانت النتيجة أكبر من الحد الأقصى للقيمة الموجبة فإن OV=OS=1 و CC0=0,CC1=1

وفي حالة القسمة على صفر فإن CC0=CC1=OV=OS=1

وهذا الكلام ينطبق في الحالتين Integers , Double integers كل حالة على مستوى دقتها


أما بالنسبة لحسابات الأرقام الصحيحة ذات الدقة المضاعفة Double integers 32-bits فلدينا خمس عمليات هي الجمع والطرح والضرب والقسمة وباقي القسمة ورموزها كالتالي :

الجمع ADD_DI
الطرح SUB_DI
الضرب MUL_DI
القسمة DIV_DI
باقي القسمة MOD_DI

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

والشكل التالي به العمليات الخمسة وبعض الملاحظات عليها


_________________


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


عدد الرسائل : 8
تاريخ التسجيل : 20/06/2009

مُساهمةموضوع: رد: دورة تدريبية في البرمجة باستخدام LAD Diagram سيمنس S7-300/400   الجمعة 26 يونيو 2009 - 8:40

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

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

مُساهمةموضوع: رد: دورة تدريبية في البرمجة باستخدام LAD Diagram سيمنس S7-300/400   الجمعة 26 يونيو 2009 - 10:56

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


عدد الرسائل : 1
تاريخ التسجيل : 27/06/2009

مُساهمةموضوع: رد: دورة تدريبية في البرمجة باستخدام LAD Diagram سيمنس S7-300/400   السبت 27 يونيو 2009 - 1:18

فعلا اشكرك على هذا المجهود الرائع و إن شاء الله عند تفوقى فى plc programming سوف أقوم بتعليم من بعدى حتى ارد هذا الجميل و الله المستعان ..........................
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
moahmed saad
جندي
جندي


عدد الرسائل : 2
تاريخ التسجيل : 10/06/2009

مُساهمةموضوع: رد: دورة تدريبية في البرمجة باستخدام LAD Diagram سيمنس S7-300/400   السبت 27 يونيو 2009 - 10:59

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

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

مُساهمةموضوع: رد: دورة تدريبية في البرمجة باستخدام LAD Diagram سيمنس S7-300/400   الخميس 2 يوليو 2009 - 14:43


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

اليوم إخواني الأعزاء اسمحوا لي بأن ننتقل إلى نوع آخر من الحسابات وهي حسابات الأرقام العشرية Real numbers or Floating point numbers

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

والمدخلات والمخرجات يمكن أن تكون أي من الأنواع الستة ID - Double word from Digital input module

أو QD - Double word from Digital output module

أو MD - Global memory double word

أو LD - Local memory double word

أو DBx.DBDy أو DBDy وهو رقم Data double word in data block

أو PID - Peripheral input double word

وسوف تجدون في الصورة التالية نظرة شاملة على العمليات كلها :



مع ملاحظة أن جميع العمليات تؤثر على خانات CC0,CC1,OV,OS في Status word حسب حالة النتيجة

فالخانات CC0,CC1 تحدد إشارة الرقم هل هو موجب أم سالب أم صفر

والخانات OV,OS تحدد حالة تجاوز حدود الرقم

ومع CC0,CC1 يتم تحديد حالة Overflow أو Underflow

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

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



ففي عملية الجميع يتم جمع قيمة المدخلين IN1,IN2 وإخراج النتيجة إلى العنوان OUT مع ملاحظة الأنواع الستة الممكنة للبيانات كما أشرنا سابقا وتأثير حالة النتيجة على Status word

وفي الطرح يتم طرح محتوى IN2 من IN1 ووضع النتيجة في العنوان OUT

وفي الضرب يتم ضرب الرقمين IN1,IN2 ووضع النتيجة في OUT

وفي القسمة يتم قسمة IN1 على IN2 ووضع النتيجة في OUT مع ملاحظة أن القسمة على الصفر تعطي خطأ في الحسابات يتم تحديده عن طريق Status word


وننتقل إلى جزء آخر من العمليات وهي العمليات الأحادية وهي قسمان أيضا من دوال غير مثلثية ودوال مثلثية نبدأ بالدوال الغير مثلثية وهي :




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

الجذر التربيعي SQRT ويجب أن يتم على قيمة موجبة وتكون النتيجة دائما موجبة وفي حالة النتيجة سالبة يكون هناك تغيير في Status word حيث يكون الرقم غير محدد

مربع الرقم ( حاصل ضرب الرقم في نفسه ) SQR وهو أيضا موجب دائما

اللوغاريتم الطبيعي LN للأساس e وهو القيمة 2.718 كما نعلم جميعا

القيمة الأسية للأساس e وهو الثابت الطبيعي كما أشرنا EXP


والجزء الأخير من الدوال وهو الدوال المثلثية كما في الشكل التالي :




وهي الدوال الثلاث الأساسية sin, cos ,tan جيب الزاوية وجيب التمام والظل مع ملاحظة أن قيمة الزوايا تكون بالتقدير الدائري وليس بالدرجات فيجب مراعاة ذلك

كذالك هناك الدوال العكسية بإيجاد الزوايا التي لها قيم الجيب sin أو جيب التمام cos أو الظل tan وذلك عن طريق الدوال العكسية وهي :

asin - acos - atan


وإليكم تغير حالات Status bits حسب حالة النتائج



_________________


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

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

مُساهمةموضوع: رد: دورة تدريبية في البرمجة باستخدام LAD Diagram سيمنس S7-300/400   الخميس 2 يوليو 2009 - 14:52


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



_________________


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

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

مُساهمةموضوع: رد: دورة تدريبية في البرمجة باستخدام LAD Diagram سيمنس S7-300/400   الجمعة 3 يوليو 2009 - 7:24

البرنامج مكتوب ب STL

a=mw2
b=mw10
c=mw 14







L MW 10
L -1
*R
T MW 6
L MW 10
SQR
T MW 12
L MW 2
L MW 14
*R
T MW 16
L MW 16
L 4.000000e+000
*R
T MW 20

L MW 12
L MW 20
-R
T MW 24
L MW 24
SQRT
T MW 28
L MW 2
L 2.000000e+000
*R
T MW 32
L MW 6
L MW 28
+R
T MW 36
L MW 36
L MW 32
/R
T MW 40
L MW 6
L MW 28
-R
T MW 44
L MW 44
L MW 32
/R
T MW 48
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
PLCMan
Admin
avatar

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

مُساهمةموضوع: رد: دورة تدريبية في البرمجة باستخدام LAD Diagram سيمنس S7-300/400   الجمعة 3 يوليو 2009 - 8:27



الأخ العزيز

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

جميع العمليات تتم على مستوى Real أي أرقام حقيقية وحجم البيانات 32 خانة أي أنها على مستوى double word وليس على مستوى word وهنا يتم استخدام MD بدلا من MW ولاحظ أخي العزيز مساحات التخزين أي إذا استخدمت MD2 فالتالي يكون MD6 ثم MD10 وهكذا

الملحوظة الثانية : نريد الحل باستخدام LAD حتى تتم الفائدة من متابعة الموضوع إن شاء الله

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

_________________


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

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

مُساهمةموضوع: رد: دورة تدريبية في البرمجة باستخدام LAD Diagram سيمنس S7-300/400   الجمعة 3 يوليو 2009 - 10:37

شكرا لك اخى الكريم

فالفضل لله ثم لذلك المنتدى الاكثر من رائع واصحابه
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
 
دورة تدريبية في البرمجة باستخدام LAD Diagram سيمنس S7-300/400
الرجوع الى أعلى الصفحة 
صفحة 3 من اصل 16انتقل الى الصفحة : الصفحة السابقة  1, 2, 3, 4 ... 9 ... 16  الصفحة التالية

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