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

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

شاطر | 
 

 دورة تدريبية في الحاكمات المنطقية قابلة للبرمجة طراز Siemens S7

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

هل تشعر أنه يمكن أن نلحق بمن سبقنا في مجال التحكم الآلي ؟
نعم بالتأكيد
75%
 75% [ 849 ]
ربما يوما ما
16%
 16% [ 179 ]
لا أظن الأمر بهذه البساطة
8%
 8% [ 95 ]
لا يمكن
1%
 1% [ 8 ]
مجموع عدد الأصوات : 1131
 

كاتب الموضوعرسالة
PLCMan
Admin
avatar

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

مُساهمةموضوع: دورة تدريبية في الحاكمات المنطقية قابلة للبرمجة طراز Siemens S7   الثلاثاء 4 مارس 2008 - 7:50

سوف نبدأ إن شاء الله دورة تدريبية في الحاكمات المنطقية قابلة للبرمجة طراز Siemens S7 300,400



أولا : لابد أن يكون للمتدرب معرفة بأسس الدوائر الكهربية ومصطلحاتها
ثانيا : لابد أن يكون عند المتدرب فكرة ولو بسيطة عن نظم الترقيم - العشري , الثنائي , السداسي عشري , ...
ثالثا : لابد أن يكون لدى المتدرب معرفة ولو بنسبة بسيطة عن اللغة الانجليزية
رابعا : أن يكون لدى المتدرب معرفة ولو بسيطة بالحاسب الآلي ومصطلحاته
خامسا : يفضل أن يكون لدى المتدرب معرفة سابقة بنظم التحكم العادية باستخدام الدوائر الكهربية المعتادة
سادسا : لابد أن يكون لدى المتدرب الرغبة والعزيمة في التغلب على أي نقص أو قصور في الجوانب والمتطلبات السابق ذكرها ووجود هدف واضح من حضور هذه الدورة

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

ونتمنى من الله التوفيق والاستمرار ولكم مني خالص التحية

م/ حسن الشحات hassanheha@yahoo.com


عدل سابقا من قبل PLCMan في الإثنين 7 ديسمبر 2009 - 6:29 عدل 8 مرات
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://hassanheha.forumn.org
PLCMan
Admin
avatar

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

مُساهمةموضوع: الدرس رقم - 1   الثلاثاء 4 مارس 2008 - 8:17

مقدمة
سوف ينقسم موضوع الدورة إلى التعريف ب Hardware وكذلك بيئة العمل أو برنامج التشغيل Simatic manager وبعد ذلك البرمجة باستخام Simatic S7 PLC

بيئة العمل Simatic manager
يوجد اصدارات من شركة سيمنس لبرنامج التشغيل Simatic s7 آخرها حاليا هو V5.4 والذي نزل معه كثير من التحديث آخرها من على موقع سيمنس هو SP3 وبرامج كلها تحتاج إلى رخصة License يمكن مراسلتي للمساعدة في ذلك عن طريق البريد الإلكتروني hassanheha@yahoo.com

وبرنامج Simatic manager مثل كل تطبيقات الويندوز سوف تجد فيه وظائف الملفات المعتادة مثل :
Open , new , close , save , save as , delete , print , ....

كذلك سوف تجد أوامر خاصة بنظام سيمنس مثل :
Upload station , download , debug , Cross reference , new project , open project , .....

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

هذا الأمر عموما لن يأخذ الكثير للتعرف عليه إذا قمت بتنزيل البرنامج على جهازك

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

حمل ملف شرح البرنامج من هنا


عدل سابقا من قبل PLCMan في الثلاثاء 7 أبريل 2009 - 7:38 عدل 1 مرات
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://hassanheha.forumn.org
PLCMan
Admin
avatar

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

مُساهمةموضوع: الدرس رقم - 2   الخميس 6 مارس 2008 - 9:49

[size=18][center]

بعد أن تعرضنا سريعا إلى مكونات منظومة PLC نحيط علم الأخوة الزملاء إلى أنه قد تم وضع لينك لبرنامج Siemens simatic step 7 V5.4 SP3 على المنتدى للتحميل ومعاينة الأحداث أولا بأول كذلك تم وضع لينك لرخصة سيمنس ومع الملف ملفات لشرح كيفية تنزيل الرخصة بالتفصيل

بعد تحميل البرنامج Siemens simatic step 7 V5.4 SP3 يتم استعمال برنامج winrar للفك والتشغيل مع ملاحظة أن البرنامج موجود على عدد 2 فولدر CD-1 , CD-2 يتم تثبيت البرنامج من CD-1 بالضغط على ملف setup ثم بعد ذلك المتابعة حتى نصل إلى شاشة طلب الرخصة فقم باختيار skip أي تجاوز هذا الآن مع التحميل بعد ذلك ثم قم بعد ذلك بالمواصلة حتى ينتهي

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

اذهب إلى القائمة واختار image ثم extract واختر الاختيار الأخير مع اختيار partition D لا تختر partition c ثم OK

[/center][/size]


عدل سابقا من قبل PLCMan في الثلاثاء 7 أبريل 2009 - 7:40 عدل 4 مرات
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://hassanheha.forumn.org
PLCMan
Admin
avatar

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

مُساهمةموضوع: الدرس رقم - 3   السبت 8 مارس 2008 - 10:51

السلام عليكم ورحمة الله و بركاته
اليوم سوف نبدأ فعليا في كيفية عمل برنامج بواسطة Simatic s7
من المفروض بعد أن قمنا بتنزيل البرنامج أن يكون لدينا الآن وسيط التعامل مع PLC كذلك لدينا ما يمكن أن ننفذ فيه البرنامج الذي سوف نكتبه

والآن نبدأ في كيفية إنشاء أول مشروع لنا ولنجعل هذا المشروع مع النوع S7-300
- أولا نقوم بتحديد عدد Inputs/Outputs التي سوف نستخدمها ونوعها بالتحديد لنفترض أن النظام الذي لدينا به 40 دخل - Input - وعدد 20 خرج - Outputs
- بناء على ذلك سوف نقوم بتحديد المكونات اللازمة كالآتي :
* مصدر جهد كهربي طراز Siemens - 5A
* وحدة CPU S7-314
* عدد 3 موديول دخل 16 طرف Digital input module 16 input 24 VDC
* عدد 2 موديول خرج 16 طرف Digital output module 16 output 24VDC/0.5A
* راك Rail لتثبيت المكونات عليه

نقوم بفتح البرنامج ونختار من قائمة file --> new project



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



من قائمة insert اختر station ثم اختر s7-300 plc



سوف يظهر تحت اسم المشروع سطر آخر يمثل منظومة PLC S7-300



اضغط عليه مرتين سوف يظهر في النافذة المجاورة Hardware configuration وهو الذي سوف نستعمله لإدخال بيانات مكونات النظام التي اخترناها من قبل



اضغط على Hardware configuation سوف يفتح نافذة جديدة بها مكان لإدخال المكونات



أول شئ من قائمة insert



نختار Rail سوف يفتح نافذة تمثل Rail بها 11 مكان



وبعد ذلك ندخل المكونات المكان رقم-1 محجوز لمصدر الجهد Power supply نقف عليه وبزر الماوس اليمين تظهر قائمة نختار insert سوف يفتح قائمة للاختيار بها كل أنواع مصادر الجهد الممكن استعمالها من انتاج سيمنس



نقف على المكان رقم 2 وهو المحجوز لوحدة CPU ونضغط ماوس يمين ونختار insert تفتح قائمة اختيار تشمل كل أنواع CPU الممكن استعمالها نختار منها CPU S7-300 ثم أي CPU 314 هناك أرقام موديلات خاصة بسيمنس تظهر مع كل وحدة منها مثلا 6ES7 314-1AE04-0AA0 سوف نركز الآن على الأرقام الثلاثة على يمين 6ES7 هنا هي 314 فإذا كان الرقم المئات 3 فهو يمثل S7-300 وإذا كان رقم العشرات صفر 0 كان يمثل مصدر جهد وإذا كان رقم العشرات 1 فهو يمثل CPU وإذا كان رقم العشرات 2 فهو يمثل موديول رقمي دخول أو خروج وإذا كان رقم العشرات 3 فهو يمثل موديول تناظري Analog دخول أو خروج أما رقم الآحاد فهو خاص بكل نوع أما الأرقام الخمسة التالية فلها علاقة برقم الإصدار وجهد التشغيل والمواصفات الفنية الأخرى للجزء لن نهتم بها الآن



بعد أن أدخلنا رقم CPU في الخانة رقم 2 نترك الخانة رقم 3 خالية حيث أنها محجوزة لوحدات التوصيل بين أكثر من راك عند الحاجة إلى ذلك ونبدأ من رقم 4 ماوس يمين ثم insert ونختار SM300 و هو يشمل جميع وحدات الإدخال والإخراج ومنها نختار Digital input module ثم نختار الموديول المطلوب Digital input module sm321 16/24VDC





ثم نكمل بنفس الطريقة إلى أن ننتهي من جميع المكونات مع ملاحظة أنه في الأجزاء المتماثلة يمكن استعمال Copy/past كذلك يجب ملاحظة وجود نافذة أسفل الشاشة يظهر فيها نفس المكونات التي نختارها مع وجود تفاصيل عليها نهتم منها الآن بخانة Address ونقوم بتسجيل Addresses التي تظهر لكل من المكونات



بعد الانتهاء نغلق النافذة وهكذا نكون قد أدخلنا المكونات إلى البرنامج

في انتظار التعليقات قبل الخطوات القادمة

إلى اللقاء - السلام عليكم ورحمة الله وبركاته


عدل سابقا من قبل PLCMan في الثلاثاء 7 أبريل 2009 - 3:51 عدل 2 مرات
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://hassanheha.forumn.org
PLCMan
Admin
avatar

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

مُساهمةموضوع: الدرس رقم -4 Block types   الأحد 16 مارس 2008 - 17:03

لابد أن نعرف أن كل ما نريد تنفيذه من برامج أو تعليمات أو بيانات تكتب داخل ما يسمى Blocks
ولها أنواع عديدة في Simatic S7 كالآتي :
Organization blocks OB
Function blocks FB
Functions FC
Data blocks DB
System function SFC
System function blocks SFB
وسوف نتعرض في هذا الدرس بشرح كل نوع على حده

OB-Organization block
وهو بكل بساطة يمثل الوسيط بين CPU و البرنامج ولا يتم تنفيذ أي تعليمات أو برنامج مالم تكن متضمنة بشكل ما في أي OB والبلوك الأساسي الذي يشمل البرنامج هو OB1 وهو يشمل ما يتم تنفيذه كل دورة من دورات تنفيذ البرنامج حيث يتم تنفيذ البرنامج بشكل متسلسل أولا بأول ثم يعاد التنفيذ بعد ذلك ووقت تنفيذ دورة كاملة للبرنامج يطلق عليه one cycle time

وهناك بلوكات خاصة بالقطع المفاجئ للتسلسل بشكل دوري Real time interrupts وهي أيضا من فصيلة OB ويكون عددها بحسب نوع CPU المستعملة وهي من OB31 وحتى OB40

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

والآن لنبدأ بشكل بسيط إنشاء أول برنامج باستعمال OB1 فقط بعد أن أنشأنا المكونات Hardware config في الدرس السابق :
أولا نفتح Project الذي تم انشاؤه ثم ندخل بالضغط على + مرة واحدة حتى نصل إلى blocks ويظهر معنا الشكل التالي :



وعند الضغط مرتين على OB1 تظهر الشاشة التالية وهي تبين بيانات OB1 نضغط OK فتفتح شاشة الكتابة داخل OB1


عدل سابقا من قبل PLCMan في الثلاثاء 7 أبريل 2009 - 7:36 عدل 1 مرات
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://hassanheha.forumn.org
PLCMan
Admin
avatar

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

مُساهمةموضوع: الدورة لم تتوقف ولكن نحن في انتظار تجاوب الأعضاء   الأحد 30 مارس 2008 - 14:07

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

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

مُساهمةموضوع: الدرس رقم - 5   الإثنين 7 أبريل 2008 - 13:38

والآن سوف نبدأ بالتعرض لمكونات البرنامج وكيفية عمل البرنامج :

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

أول تقسيم سنتعرض له هو عدد خانات المتغير وهو إما خانة واحدة Bit أو 8 خانات Byte أو كلمة 16 خانة word أو كلمة مزدوجة 32 خانة double word أما من حيث نوع البيانات

النوع الأول : الثنائي Binary type
وهو يأخذ القيمة 0 أو 1 فقط أو كهربيا ON - OFF فقط وعند التعامل مع هذا النوع يتم كتابة ذلك على النحو الآتي :
تمثيل رقم مكون من 16 خانة : b#1001 0110 0011 0001
b هنا معناها أن الرقم ثنائي وعلامة # هي الفاصل بين الرقم والتميز أما مجموعة الأرقام فهي قيمة الرقم

النوع الثاني : الأرقام الصحيحة Integer numbers
وهي أرقام عشرية صحيحة وهي إما دقة 16 رقم أو 32 رقم ثنائي
الأرقام ذات الدقة 16 خانة تكتب كما تكتب في النظام العشري العادي دون علامة عشرية مثلا 120
وهي تتراوح مابين 32768- إلى 32767+ في حالة الأرقام ذات الإشارة signed integers
وتتراوح بين 0 و65535+ في حالة الأرقام الموجبة الصحيحة unsigned integers
أما الأرقام ذات الدقة 32 خانة الصحيحة double integers فعند كتابتها نكتبها بالشكل الآتي :
L#150

النوع الثالث : وهو الأرقام العشرية Real ( floating point ) numbers
وتكتب على الصيغة الآتية :
x.ye+/-z
حيث x الجزء الصحيح من الرقم العشري لخانة واحدة
y الجزء الكسري في الرقم العشري
e تعني أس الرقم 10
+/- وهي إشارة الأس
z تمثل الأس
بمعني 23000 مثلا تكتب كالآتي : 2.3e+4
0.0354 تكتب : 3.54e-2
وإذا كان الرقم ككل موجب لا تكتب أمامه إشارة وإذا كان سالبا تكتب أمامه إشارة -

النوع الرابع وهو : نوع متغير زمني للتايمر Timer type
ويكتب كالآتي : s5t#100ms
هذا الرقم معناه زمن تايمر قيمته 100 مللي ثانية

النوع الخامس : متغير يدل عل التاريخ date
ويكتب كالآتي : d#2008-04-08 كتاريخ 8 أبريل 2008

متغير وقت حقيقي time of day
ويكتب كالآتي : tod#hh:mm:ss.ms مثلا tod#23:30:24.500

متغير وقت مطلق time
ويكتب كالآتي :t#Od_0h_0m_0s_0ms مثلا t#Od_10h_50m_28s_880ms

متغير وقت وتاريخ ويكتب كالآتي :
DT#2008-04-08-20:25:30.850

وهناك متغيرات حرفية String وتكتب بين علامات تنصيص 'xyz' كذلك هناك للعدادات وتكتب على الشكل
c#897

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

وسوف نبدأ معا الدرس القادم إن شاء الله في أول نوع من أنواع العمليات وهي العمليات الثنائية المنطقية
Binary ( bit logic ) operations
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://hassanheha.forumn.org
PLCMan
Admin
avatar

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

مُساهمةموضوع: الدرس رقم - 6 العمليات الثنائية المنطقية Bit logic operations   الأربعاء 9 أبريل 2008 - 14:44

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

قبل تمثيل العمليات لابد أن نتعرض لعنونة المعاملات Addressing :
المدخلات الرقمية Digital inputs :
تأخذ الشكل : Ix.y حيث I رمز أنه دخول و x رقم Byte وهي تتراوح من 0 وحتى الحد الأقصى ل CPU المستعملة يمكن أن يكون 127 أو 255 أما y فهي رقم الخانة bit داخل الكلمة Byte ويتراوح بين 0 و 7
مثلا : I0.2 - I10.7 - I127.5

المخرجات الرقمية Digital outputs :

وهي مثل المدخلات تماما غير أن الرمز Q بدلا من I مثلا : Q1.3 - Q7.6 - Q47.3

الذاكرة المؤقتة Memory flags :
وتأخذ الرمز M مثلا : M100.0 - M4.5 - M0.7

العدادات Counters
:
وتأخذ الرمز C متبوعا برقم العداد طبقا لنوع CPU مثلا : C1 - C10 - C126

المؤقتات Timers
:
وتأخذ الرمز T متبوعا برقم التايمر طبقا لنوع CPU مثلا : T2 - T10 - T70

Data block قوالب البيانات
:
وتأخذ الشكل الآتي : DByDBXz.u
حيث y هو رقم بلوك البيانات و z رقم الكلمة Data byte و u رقم الخانة bit
مثلا : DB10.DBX1.2 - DB100.DBX10.7 - DB120.DBX34.6


A And
وهي مثل عملية التوصيل على التوالي كهربيا وتتم بين معاملين لكي يكون هناك نتيجة لابد أن يكون الاثنان 1
حسب الجدول الآتي مثلا :
z=A And B

A B z
----------------
0 0 0
1 0 0
0 1 0
1 1 1

من هذا الجدول لا يكون Z لها قيمة 1 إلا كان A , B معا لهما قيمة 1

تمثيل العملية بشكل السلم Ladder diagram LAD
--------I0.0---------I0.1-------------Q1.2
|-------( )--------------| |----------| |------|

تمثيل العملية بنظام الكود Statement list STL
A I0.0
A I0.1
Q1.2 =

وهي تنطبق على الأنواع الآتية من Data type
I-Inputs , Q-Outputs, M-Memory flag, L-Local variable, D-Data block bit, T-Timer, C-Counter

AN And Not

وهي مثل عملية التوصيل على التوالي كهربيا وتتم بين معاملين أحدهما وضعة الطبيعي مغلق NC
حسب الجدول الآتي مثلا :
z=A And Not B

A B B' z
------------------
0 0 1 0
1 0 1 1
0 1 0 0
1 1 0 0

تمثيل العملية بشكل السلم Ladder diagram LAD
--------I0.0---------I0.1-------------Q1.2
|-------( )--------------|/|----------| |------|

تمثيل العملية بنظام الكود Statement list STL
A I0.0
AN I0.1
Q1.2 =

وهي تنطبق على الأنواع الآتية من Data type
I,Q,M,L,D,T,C

O Or

وهي مثل عملية التوصيل على التوازي كهربيا وتتم بين معاملين لكي يكون هناك نتيجة لابد أن يكون واحد فقط 1
حسب الجدول الآتي مثلا :
z=A Or B

A B z
----------------
0 0 0
1 0 1
0 1 1
1 1 1


تمثيل العملية بنظام الكود Statement list STL
O I0.0
O I0.1
Q1.2 =

وهي تنطبق على الأنواع الآتية من Data type
I,Q,M,L,D,C,T


ON Or Not

وهي مثل عملية التوصيل على التوازي كهربيا وتتم بين معاملين أحدهما أو كلاهما NC
حسب الجدول الآتي مثلا :
z=A Or Not B

A B B' z
----------------
0 0 1 1
1 0 1 1
0 1 0 0
1 1 0 1


تمثيل العملية بنظام الكود Statement list STL
O I0.0
ON I0.1
Q1.2 =

وهي تنطبق على الأنواع الآتية من Data type
I,Q,M,L,D,C,T

X Exclusive Or


وهي مثل عملية التوصيل المتداخل حيث يكون هناك فرعان توازي معا كل فرع به اثنان توالي حيث لا يكون هناك نتيجة إلا إذا كان الاثنان مختلفان
حسب الجدول الآتي مثلا :
z=A XOr B

A B z
----------------
0 0 0
1 0 1
0 1 1
1 1 0


تمثيل العملية بنظام الكود Statement list STL
X I0.0
X I0.1
Q1.2 =

وهي تنطبق على الأنواع الآتية من Data type
I,Q,M,L,D,C,T

XN Exclusive Or Not


وهي مثل عملية التوصيل المتداخل حيث يكون هناك فرعان توازي معا كل فرع به اثنان توالي حيث لا يكون هناك نتيجة إلا إذا كان الاثنان متطابقان
حسب الجدول الآتي مثلا :
z=A XN Or B

A B z
----------------
0 0 1
1 0 0
0 1 0
1 1 1


تمثيل العملية بنظام الكود Statement list STL
XN I0.0
XN I0.1
Q1.2 =

وهي تنطبق على الأنواع الآتية من Data type
I,Q,M,L,D,C,T


Assign =


وهو أمر يسجل نتيجة العملية التي تمت في العنوان الذي يلي علامة = وهو ينطبق علي الأنواع
I, Q, M, L, D
كما سبق واستخدمناه في الأمثلة السابقة

R Reset

وهو يقوم بتخزين 0 في العنوان الذي يليه
مثل : R Q0.1 - R M20.7 - R DB100.DBX2.1

S Set

وهو يقوم بتخزين 1 في العنوان الذي يليه
مثل : S M10.2 - S Q3.1 - S DB10.DBX14.6

NOT Negate RLO

وهو يقوم بعكس نتيجة آخر عملية تمت من 0 إلى 1 أو من 1 إلى 0

ويكتب كما هو NOT

SET Set RLO --> 1

وهو يقوم بتخزين 1 في مكان نتيجة العمليات المنطقية Result of Logic Operation RLO
وذلك لإمكان استخدام ذلك في عمليات Set

مثلا :
SET
= Q10.3

CLR Clear RLO --> 0

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

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

مُساهمةموضوع: الدرس رقم -7 المؤقتات Timers   الأحد 13 أبريل 2008 - 12:27

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

والآن لنذهب إلى موضوع اليوم وهو التايمر Timers


أنواع التايمر الموجودة في سيمنس والتي يمكن استخدامها داخل البرنامج هي كالآتي :
- تايمر تشغيل مؤخر On-Delay Timer : SD
- تايمر فصل مؤخر Off-Delay Timer : SF
- تايمر نبضي Pulse Timer : SP
- تايمر نبضي ممتد Extended Pulse Timer : SE
- تايمر تشغيل مؤخر مسجل Retentive (Stored) On-Delay Timer : SS

والآن لنستعرض الفرق الوظيفي بين الأنواع الخمسة :


لنفترض أن إشارة التشغيل هي الشرط الواجب توافره لتشغيل التايمر والخرج من التايمر هو الحالة التي يكون فيها التايمر ON ووقت الضبط للتايمر هو t :

ففي النوع الأول وهو تشغيل مؤخر On-Delay Timer تنتقل حالة الخرج من 0 إلى 1 إذا كانت إشارة التشغيل موجودة وتجاوز وقت وجودها من وقت بدايتها الزمن t وتنزل من 1 إلى 0 مع إشارة التشغيل

وفي النوع الثاني تايمرفصل مؤخر Off-Delay Timer ينتقل حالة الخرج من 0 إلى 1 مع إشارة التشغيل وعند انتقال إشارة التشغيل من 1 إلى 0 تتأخر حالة الانتقال من 1 إلى 0 في الخرج بزمن قدره t

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

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

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

لنعلم أنه يتم حجز one word لكل تايمر مكونة من 16 خانة في ذاكرة CPU

وأنه يتم تخصيص الخانات من 0-9 لقيمة الوقت في شكل ثنائي ويمكن نقل هذه القيمة إلى Accumulator-1 في شكل Hexadecimal H, BCD وذلك للتعامل معها في البرنامج عند الاحتياج لذلك
كذلك يمكن تحميل قيمة أولية للتايمر بإحدى الصيغ التالية :
W#16#txyz
حيث W#16 تعني رقم مكون من 16 خانة
t طريقة حساب الوقت - 00 , 01 , 10 , 11 - 10 مللي ثانية , 100 مللي ثانية , 1 ثانية , 10 ثانية
xyz قيمة الوقت معبرا عنها بشكل BCD

أو يمكن التعبير عن الوقت بالشكل : S5t#aH_bM_cS_dMS
حيث أن a قيمة الساعات , b الدقائق , c الثواني , d مللي ثانية و H,M,S,MS هو تمييز الوقت

والآن لنستعرض الأوامر المستعمله مع التايمر :

FR Enable Timer

والصورة العامة لتشغيل هذا الأمر تكون في STL فقط وتكون بالشكل الآتي :
FR <Timer> where Timer --> T1,T2,...,T256

مثلا :
ِA I0.1
FR T2

L Load Current Timer Value into ACCU 1 as Integer

الصورة العامة لتشغيل هذا الأمر هو :
L <Timer> where Timer : T1,T2,...,T256
ويستعمل لتحميل قيمة التايمر في Accumulator-1 في شكل رقم صحيح Integer

مثلا :
L T1

LC Load Current Timer Value into ACCU 1 as BCD


الصورة العامة لتشغيل هذا الأمر هو :
LC <Timer> where Timer : T1,T2,...,T256
ويستعمل لتحميل قيمة التايمر في Accumulator-1 في شكل BCD

مثلا :
LC T1

R Reset Timer

الصورة العامة لتشغيل هذا الأمر هو :
R <Timer> where Timer : T1,T2,...,T256
ويستعمل لإيقاف التايمر وإعادة وضع التايمر إلى الوضع الأولي

مثلا :
A I2.3
R T25

SP Pulse Timer

الصورة العامة لتشغيل هذا الأمر هو :
SP <Timer> where Timer : T1,T2,...,T256
ويستعمل لتشغيل تايمر نبضي

مثال :

A I 2.0
FR T1 //Enable timer T1.
A I 2.1
L S5T#10s //Preset 10 seconds into ACCU 1.
SP T1 //Start timer T1 as a pulse timer.
A I 2.2
R T1 //Reset timer T1.
A T1 //Check signal state of timer T1.
= Q 4.0


SE Extended Pulse Timer

الصورة العامة لتشغيل هذا الأمر هو :
SE <Timer> where Timer : T1,T2,...,T256
ويستعمل لتشغيل تايمر نبضي ممتد

مثال :

A I 2.0
FR T1 //Enable timer T1.
A I 2.1
L S5T#10s //Preset 10 seconds into ACCU 1.
SE T1 //Start timer T1 as an extended pulse timer.
A I 2.2
R T1 //Reset timer T1.
A T1 //Check signal state of timer T1.
= Q 4.0
L T1 //Load current timer value of timer T1 as binary.
T MW10
LC T1 //Load current timer value of timer T1 as BCD.
T MW12


SD On-Delay Timer

الصورة العامة لتشغيل هذا الأمر هو :
SD <Timer> where Timer : T1,T2,...,T256
ويستعمل لتشغيل تايمر تشغيل مؤخر

مثال :

A I 2.0
FR T1 //Enable timer T1.
A I 2.1
L S5T#10s //Preset 10 seconds into ACCU 1.
SD T1 //Start timer T1 as an on-delay timer.
A I 2.2
R T1 //Reset timer T1.
A T1 //Check signal state of timer T1.
= Q 4.0
L T1 //Load current timer value of timer T1 as binary.
T MW10
LC T1 //Load current timer value of timer T1 as BCD.
T MW12


SS Retentive On-Delay Timer

الصورة العامة لتشغيل هذا الأمر هو :
SS <Timer> where Timer : T1,T2,...,T256
ويستعمل لتشغيل تايمر تشغيل مؤخر مخزن

مثال :

A I 2.0
FR T1 //Enable timer T1.
A I 2.1
L S5T#10s //Preset 10 seconds into ACCU 1.
SS T1 //Start timer T1 as a retentive on-delay timer.
A I 2.2
R T1 //Reset timer T1.
A T1 //Check signal state of timer T1.
= Q 4.0
L T1 //Load current time value of timer T1 as binary.
T MW10
LC T1 //Load current time value of timer T1 as BCD.
T MW12


SF Off-Delay Timer

الصورة العامة لتشغيل هذا الأمر هو :
SF <Timer> where Timer : T1,T2,...,T256
ويستعمل لتشغيل تايمر فصل مؤخر

مثال :

A I 2.0
FR T1 //Enable timer T1.
A I 2.1
L S5T#10s //Preset 10 seconds into ACCU 1.
SF T1 //Start timer T1 as an off-delay timer.
A I 2.2
R T1 //Reset timer T1.
A T1 //Check signal state of timer T1.
= Q 4.0
L T1 //Load current timer value of timer T1 as binary.
T MW10
LC T1 //Load current timer value of timer T1 as BCD.
T MW12
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://hassanheha.forumn.org
PLCMan
Admin
avatar

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

مُساهمةموضوع: الدرس رقم 8 : عمليات التحميل والتخزين Load and Transfer Operations   الأربعاء 16 أبريل 2008 - 17:59

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

Load L

L <Address>

وهو يقوم بتحميل البيانات الموجودة في Address إلى ACCU1
وإذا كان هناك أمر Load تالي فإنه يتم نقل محتويات ACCU1 إلى ACCU2 وتحميل البيانات الجديدة في ACCU1 أي يحدث عملية ترحيل

وينطبق الأمر Load على أي من أحجام البيانات سواء كانت Byte أو Word أو Double Word

كذلك فإن Address يمكن أن يكون Digital input(Byte/Word/DWord) أو يكون Digital output بنفس الطريقة أو Memory أو Analogue input أو Data block أو متغير داخلي L

أمثلة :
L IB20
L MW200
L QD10
L PIW224
L DB50.DBD20


ويجب أن نلاحظ أنه إذا تم تحميل Byte فإنه يتم تحميلها في الخانات من 1 إلى 8 الخاصة ب ACCU1 وتكون الخانات من 9 - 32 أصفار 00000000-00000000-00000000 وإذا تم تحميل Word يتم تحميلها في الخانات من 1 إلى 16 في ACCU1 وتكون الخانات من 17 - 32 كلها أصفار 00000000-00000000 وإذا تم تحميل Double word فيتم تحميل الرقم بالكامل في ACCU1 في الخانات من 1-32

الأمر Load status word into Accumulator-1 L STW


وكما هو واضح من اسم الأمر فهو يقوم بتحميل Status word والتي تعبر عن حالة CPU بعد إتمام آخر عملية عند الرغبة في عمل اختبار لذلك ويتم تحميلها في الخانات من 1 وحتى 8 أما بقية الخانات فتكون أصفار

الأمر Load Address register-1 Or 2 From Accumulator-1 LAR1 , LAR2


هذا الأمر يستخدم كذلك وهو لا يؤثر على محتويات ACCU1 ,ACCU2
ويستخدم هذا الأمر في العمليات الخاصة والتي يقصد بها التعامل مع جزء محدد من الذاكرة ( برمجة متقدمة )

الأمر Transfer T <Address>


يقوم هذا الأمر بنسخ محتويات ACCU1 إلى المكان المشار إليه ب Address والذي يمكن أن يكون :
QB/QW/QD/PQW/MB/MW/MD/L/DBB/DBW/DBD

أمثلة :
T QB10
T MW32
T DB20.DBD48
T PQW446


الأمر Transfer contents of Accumulator-1 into Status word T STW

وهو يقوم بنقل الخانات التسعة الأول إلى Status word عند الرغبة في وضعها في حالة معينة دون النظر إلى النتائج الأخرى

والأمران L,T هما من أكثر الأوامر استخداما خلال عمليات البرمجة وسوف يظهر ذلك جليا خلال الفترات القادمة إن شاء الله
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://hassanheha.forumn.org
aliali
مقدم
مقدم
avatar

عدد الرسائل : 300
تاريخ التسجيل : 17/04/2008

مُساهمةموضوع: نشكركم ونذكركم   الخميس 17 أبريل 2008 - 18:17

عذرا فقد فاتكم ذكر شئ بسيط في باب Binary logic operations وهو الأمران fp , fn برجاء التذكير بهما لعموم الفائدة

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

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

مُساهمةموضوع: رد على مشاركة الأخ aliali   الجمعة 18 أبريل 2008 - 15:21

aliali كتب:
عذرا فقد فاتكم ذكر شئ بسيط في باب Binary logic operations وهو الأمران fp , fn برجاء التذكير بهما لعموم الفائدة

وشكرا لهذا الجهد

الأخ aliali شكرا على مساهمك وبخصوص هذا الأمر فلم يسقط سهوا من حساباتنا وإنما تم تأجيله هو وتداخل العمليات nested AND ,OR وغيرها من الأوامر على أن يتم استكمالها قبل الدخول في العمليات الحسابية وذلك حتى لا نثقل على الأخوة المبتدئين وسوف نكمل إن شاء الله قريبا

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

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

مُساهمةموضوع: الدرس رقم -9 : Word Logic Instructions   السبت 19 أبريل 2008 - 12:35

ملحوظة : في جميع الأمثلة الكلام بعد // يعتبر تعليق على السطر أي شرح لمساعدة المستخدم في فهم الأمور Comments

هذه العمليات تتم كلها بين محتويات Accumulator-1 و Accumulator-2 وتخزن النتيجة مكان القديمة في Accumulator-1 بحيث تتم مقارنة كل خانة bit بما يماثلها طبقا للعملية المطلوبة

AW AND Word : 16-Bit


ويأخذ الأمر الصورة :
AW
AW Constant


حيث يتم قبل الأمر تحميل الكلمة الأولى في ACCU1 وتحميل الكلمة الثانية ACCU2

مثال :

L IW20 //Load contents of IW20 into ACCU 1-L.
L IW22 //Load contents of ACCU 1 into ACCU 2. Load contents of IW22 into ACCU 1-L.
AW //Combine bits from ACCU 1-L with ACCU 2-L bits by AND; store result in ACCU
1-L.
T MW 8 //Transfer result to MW8


وفي حالة عمل AND مع ثابت Constant يتم بتحميل الكلمة الأولى في ACCU1 ويتم عمل AND مباشرة مع الرقم ويكون الناتج في ACCU1 مثل الآتي :

L IW20 //Load contents of IW20 into ACCU 1-L.
AW W#16#0FFF //Combine bits of ACCU 1-L with bit pattern of 16-bit constant
(0000_1111_1111_1111) by AND; store result in ACCU 1-L.
JP NEXT //Jump to NEXT jump label if result is unequal to zero, (CC 1 = 1)


OW OR Word :16-Bit



ويأخذ الأمر الصورة :
OW
OW Constant


حيث يتم قبل الأمر تحميل الكلمة الأولى في ACCU1 وتحميل الكلمة الثانية ACCU2

مثال :

L IW20 //Load contents of IW20 into ACCU 1-L.
L IW22 //Load contents of ACCU 1 into ACCU 2. Load contents of IW22 into ACCU
1-L.
OW //Combine bits from ACCU 1-L with ACCU 2-L by OR, store result in ACCU
1-L.
T MW8 //Transfer result to MW8


وفي حالة عمل OR مع ثابت Constant يتم بتحميل الكلمة الأولى في ACCU1 ويتم عمل OR مباشرة مع الرقم ويكون الناتج في ACCU1 مثل الآتي :

L IW20 //Load contents of IW 20 into ACCU 1-L.
OW W#16#0FFF //Combine bits of ACCU 1-L with bit pattern of 16-bit constant
(0000_1111_1111_1111) by OR; store result in ACCU 1-L.
JP NEXT //Jump to NEXT jump label if result is unequal to zero (CC 1 = 1)


XOW Exclusive OR Word : 16-Bit


ويأخذ الأمر الصورة :
XOW
XOW Constant


حيث يتم قبل الأمر تحميل الكلمة الأولى في ACCU1 وتحميل الكلمة الثانية ACCU2

مثال :

L IW20 //Load contents of IW20 into ACCU 1-L.
L IW22 //Load contents of ACCU 1 into ACCU 2. Load contents of ID24 into ACCU 1-L.
XOW //Combine bits of ACCU 1-L with ACCU 2-L bits by XOR, store result in ACCU
1-L.
T MW8 //Transfer result to MW8


وفي حالة عمل XOR مع ثابت Constant يتم بتحميل الكلمة الأولى في ACCU1 ويتم عمل XOR مباشرة مع الرقم ويكون الناتج في ACCU1 مثل الآتي :

L IW20 //Load contents of IW20 into ACCU 1-L.
XOW 16#0FFF //Combine bits of ACCU 1-L with bit pattern of 16-bit constant
(0000_1111_1111_1111) by XOR, store result in ACCU 1-L.
JP NEXT //Jump to NEXT jump label if result is unequal to zero, (CC 1 = 1)


AD AND Double Word : 32-Bit

وهو يقوم بعمل AW ولكن على مستوى 32 خانة أي كل محتويات ACCU1, ACCU2

ويأخذ الأمر الصورة :
AD
AD Constant


حيث يتم قبل الأمر تحميل الكلمة الأولى في ACCU1 وتحميل الكلمة الثانية ACCU2

مثال :

L ID20 //Load contents of ID20 into ACCU 1.
L ID24 //Load contents of ACCU 1 into ACCU 2. Load contents of ID24 into ACCU
1.
AD //Combine bits from ACCU 1 with ACCU 2 by AND, store result in ACCU
1.
T MD8 //Transfer result to MD8


وفي حالة عمل AD مع ثابت Constant يتم بتحميل الكلمة الأولى في ACCU1 ويتم عمل AD مباشرة مع الرقم ويكون الناتج في ACCU1 مثل الآتي :

L ID 20 //Load contents of ID20 into ACCU 1.
AD DW#16#0FFF_EF21 //Combine bits of ACCU 1 with bit pattern of 32-bit constant
(0000_1111_1111_1111_1110_1111_0010_0001) by AND; store result in
ACCU 1.
JP NEXT //Jump to NEXT jump label if result is unequal to zero, (CC 1 = 1)


OD OR Double Word : 32-Bit


ويأخذ الأمر الصورة :
OD
OD Constant


حيث يتم قبل الأمر تحميل الكلمة الأولى في ACCU1 وتحميل الكلمة الثانية ACCU2

مثال :

L ID20 //Load contents of ID20 into ACCU 1.
L ID24 //Load contents of ACCU 1 into ACCU 2. Load contents of ID24 into
ACCU 1.
OD //Combine bits from ACCU 1 with ACCU 2 bits by OR; store result in
ACCU 1.
T MD8 //Transfer result to MD8


وفي حالة عمل OD مع ثابت Constant يتم بتحميل الكلمة الأولى في ACCU1 ويتم عمل OD مباشرة مع الرقم ويكون الناتج في ACCU1 مثل الآتي :

L ID20 //Load contents of ID20 into ACCU 1.
OD DW#16#0FFF_EF21 //Combine bits of ACCU 1 with bit pattern of 32-bit constant
(0000_1111_1111_1111_1110_1111_0010_0001) by OR, store result in
ACCU 1.


JP NEXT //Jump to NEXT jump label if result is not equal to zero, (CC 1 =
1)



XOD Exclusive OR Double Word : 32-Bit


ويأخذ الأمر الصورة :
XOD
XOD Constant


حيث يتم قبل الأمر تحميل الكلمة الأولى في ACCU1 وتحميل الكلمة الثانية ACCU2

مثال :

L ID20 //Load contents of ID20 into ACCU 1.
L ID24 //Load contents of ACCU 1 into ACCU 2. Load contents of ID24 into
ACCU 1.
XOD //Combine bits from ACCU 1 with ACCU 2 by XOR; store result in ACCU
1.
T MD8 //Transfer result to MD8



وفي حالة عمل XOD مع ثابت Constant يتم بتحميل الكلمة الأولى في ACCU1 ويتم عمل XOD مباشرة مع الرقم ويكون الناتج في ACCU1 مثل الآتي :

L ID20 //Load contents of ID20 into ACCU 1.
XOD DW#16#0FFF_EF21 //Combine bits from ACCU 1 with bit pattern of 32-bit constant
(0000_1111_1111_1111_1111_1110_0010_0001) by XOR, store result in
ACCU 1.
JP NEXT //Jump to NEXT jump label if result is unequal to zero, (CC 1 = 1)
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://hassanheha.forumn.org
anasabsi
جندي
جندي
avatar

عدد الرسائل : 4
العمر : 33
تاريخ التسجيل : 20/04/2008

مُساهمةموضوع: جزاك الله خيرا   الأحد 20 أبريل 2008 - 4:44

سلام :

فعلا انا اشكرك من اعماق قلبي على طرحك لهذه الدورة القيمة ...
لقد اكمات تسجيلي في المنتدى الآن بعد اطلاعي على محتوى الدورة ...
وبما ان عملي كمهندس صيانة فأنا ارغب في اتقان عملية البرمجة ....
و لقد عملت على برمجة plc من قبل ولكنني أرغب في الاحتراف
و عندما قرأت الشروط الازمة للمبرمج اعتقد انها متوفرة عندي

اشكرا مرة اخرى

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

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

مُساهمةموضوع: مرحبا بك أخ anasabsi   الأحد 20 أبريل 2008 - 14:32

anasabsi كتب:
سلام :

فعلا انا اشكرك من اعماق قلبي على طرحك لهذه الدورة القيمة ...
لقد اكمات تسجيلي في المنتدى الآن بعد اطلاعي على محتوى الدورة ...
وبما ان عملي كمهندس صيانة فأنا ارغب في اتقان عملية البرمجة ....
و لقد عملت على برمجة plc من قبل ولكنني أرغب في الاحتراف
و عندما قرأت الشروط الازمة للمبرمج اعتقد انها متوفرة عندي

اشكرا مرة اخرى

وننتظر المزيد
[list][*]

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

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

عدد الرسائل : 4
العمر : 33
تاريخ التسجيل : 20/04/2008

مُساهمةموضوع: مشكور يا مهندس حسن   الثلاثاء 22 أبريل 2008 - 2:49

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

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

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

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

مُساهمةموضوع: الدرس رقم -10 Conversion Instructions   الأربعاء 23 أبريل 2008 - 15:54

هذه العمليات تمكننا من تحويل الأرقام من صيغة إلى أخرى والصيغ الأهم التي تقوم عليها كل أنواع الحسابات هي :
- الأرقام الصحيحة Integer numbers 16 bits
- الأرقام الصحيحة المضاعفة الدقة Double integers 32 bits
- الأرقام العشرية Real numbers
- الأرقام المعبر عنها بكود Binary coded decimal BCD

BTI BCD to Integer


وهذا الأمر يقوم بتحويل محتويات Accumulator-1 من صيغة BCD مكون من 3 أرقام تتراوح بين 000 , 999 إلى رقم صحيح مثلا :
الرقم 689 يكون كالآتي في نظام BCD كل رقم يمثل بأربع خانات : 1001 - 1000 - 0110 - 0000
وعند التحويل إلى الصيغة Integer يكون كالآتي : 0001 - 1011 - 0010 - 0000

مثال :

L MW10 //Load the BCD number into ACCU 1-L.
BTI //Convert from BCD to integer; store result in ACCU 1-L.
T MW20 //Transfer result (integer number) to MW20


ITB Integer (16-Bit) to BCD

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

مثال :

L MW10 //Load the integer number into ACCU 1-L.
ITB //Convert from integer to BCD (16-bit); store result in ACCU 1-L.
T MW20 //Transfer result (BCD number) to MW20


BTD BCD to Integer-32 bits

هذا الأمر يقوم بتحويل رقم 32 خانة من صيغة BCD إلى الصيغة Double integer
وتكون القيمة القصوى للرقم BCD هي : 9,999,999 موجبة أو سالبة كالآتي :
الرقم 235648- يكون : 1000-0100-0110-0101-0011-0010-0000-1111
وعند تحويله إلى صحيح : 0000-1000-1000-1001-0011-0000-0000-1000

مثال :

L MD10 //Load the BCD number into ACCU 1.
BTD //Convert from BCD to integer; store result in ACCU 1.
T MD20 //Transfer result (double integer number) to MD20


ITD Integer - 16 Bit to Double Integer - 32-Bit


وهو يقوم بتحويل محتويات Accumulator-1 من صورة الصحيح 16 خانة إلى 32 خانة وذلك بإضافة أصفار 0000000000000000 إلى الخانات من 16 وحتى 31 في Accumulator-1
ونقل خانة الإشارة من الخانة 16 إلى الخانة 32

مثال :

L MW12 //Load the integer number into ACCU 1.
ITD //Convert from integer (16-bit) to double integer (32-bit); store result in
ACCU 1.
T MD20 //Transfer result (double integer) to MD20


DTB Double Integer (32-Bit) to BCD

وهو يقوم بتحويل الأرقام من صحيحة ذات دقة مضاعفة 32 خانة إلى الصورة BCD

مثال :

L MD10 //Load the 32-bit integer into ACCU 1.
DTB //Convert from integer (32-bit) to BCD, store result in ACCU 1.
T MD20 //Transfer result (BCD number) to MD20


DTR Double Integer - 32-Bit to Floating-Point - 32-Bit
IEEE-FP


وهو يقوم بتحويل محتويات Accumulator-1 من الصيغة الصحيحة دقة مضاعفة إلى الصورة العشرية بالشكل الآتي :
x.ye+/-z+/-
حيث +/- قبل x هي الإشارة العامة للرقم أما x فهو الجزء الصحيح من الرقم و y الجزء العشري و +/- الثانية هي إشارة الأس و z هي أس الرقم 10 بعد اختصار الرقم مثلا :
10245.5- تمثل كالآتي : 1.02455e+4-

مثال :

L MD10 //Load the 32-bit integer into ACCU 1.
DTR //Convert from double integer to floating point (32-bit IEEE FP); store result
in ACCU 1.
T MD20 //Transfer result (BCD number) to MD20


INVI Ones Complement Integer -16-Bit

هذا الأمر يقوم بتحويل محتويات Accumulator-1 إلى المعكوس الأحادي للمحتويات وتخزين النتيجة في Accumulator-1

والمعكوس الأحادي بكل بساطة هو قلب كل 0 إلى 1 وكل 1 إلى 0 مثلا :
الرقم : 1010-0011-1100-0100
يكون : 0101-1100-0011-1011

مثال :

L IW8 //Load value into ACCU 1-L.
INVI //Form ones complement 16-bit.
T MW10 //Transfer result to MW10


INVD Ones Complement Double Integer -32-Bit


وهو مثل الأمر السابق تماما ولكن على مستوى 32 خانة Double integer

مثال :

L ID8 //Load value into ACCU 1.
INVD //Form ones complement (32-bit).
T MD10 //Transfer result to MD10


NEGI Twos Complement Integer -16-Bit


وهو يقوم بتحويل محتويات Accumulator-1 إلى المعكوس الثنائي للرقم وتخزين المحتويات في Accumulator-1
والمعكوس الثنائي بكل بساطة هو المعكوس الأحادي + 1

مثلا الرقم : 1011-1001-0001-1010
الأحادي : 0100-0110-1110-0101
الثنائي : 0101-0110-1110-0101

مثال :

L IW8 //Load value into ACCU 1-L.
NEGI //Form twos complement 16-bit.
T MW10 //Transfer result to MW10


NEGD Twos Complement Double Integer -32-Bit


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

NEGR Negate Floating-Point Number -32-Bit, IEEE-FP


في هذا الأمر يقوم بعكس إشارة الرقم العشري ( ذو العلامة العشرية ) إذا كانت + تكون - والعكس

مثال :

L ID8 //Load value into ACCU 1 example: ID 8 = 1.5E+02
NEGR //Negate floating-point number (32-bit, IEEE-FP); stores the result in ACCU
1.
T MD10 //Transfer result to MD10 example: result = -1.5E+02


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

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

مُساهمةموضوع: الدرس رقم -11 استكمال Conversion Instructions   السبت 26 أبريل 2008 - 8:35

CAW Change Byte Sequence in ACCU 1-L 16-Bit

وهذا الأمر يقوم بتبديل وضع ترتيب خانات Accumulator-1 الكلمة الأولى حيث أن Accumulator-1 يتكون من عدد كلمتين عليا وسفلى ( High and Low ) وكل كلمة بها مجموعتين Bytes عليا وسفلى وإذا نظرنا إلى Accumulator-1 بهذا المفهوم فهو يتكون من 4 Bytes يكون ترتيبها كالآتي :
ACCU1-H-H , ACCU1-H-L , ACCU1-L-H , ACCU1-L-L
كل مجموعة تتكون من 8 خانات bits
وهذا الأمر يقوم بتبديل ACCU1-L-H , ACCU1-L-L مع الإبقاء على ACCU1-H-H , ACCU1-H-L كما هي مثلا :
1101-0010-0000-1010 بعد اسصتعمال CAW تكون :
1101-0010-1010-0000

مثال :

L MW10 //Load the value of MW10 into ACCU 1.
CAW //Reverse the sequence of bytes in ACCU 1-L.
T MW20 //Transfer the result to MW20


CAD Change Byte Sequence in ACCU 1 32-Bit

وهذا الأمر يقوم يتبديل ترتيب Accumulator-1 على مستوى Words , Bytes كالآتي :
إذا كان الترتيب الأصلي :
ACCU1-H-H , ACCU1-H-L , ACCU1-L-H , ACCU1-L-L يكون الترتيب بعد CAD
ACCU1-L-L , ACCU1-L-H , ACCU1-H-L , ACCU1-H-H

مثلا إذا كانت محتويات Accumulator-1 :
0010-1111-1011-0001 تكون بعد استعمال CAD كالآتي :
0001-1011-1111-0010

مثال :

L MD10 //Load the value of MD10 into ACCU 1.
CAD //Reverse the sequence of bytes in ACCU 1.
T MD20 //Transfer the results to MD20


RND Round

هذا الأمر يعتبر محتويات Accumulator-1 رقم عشري ويقوم بتحويل محتوياته إلى أقرب رقم صحيح وإذا كان الكسر في نصف المسافة بين رقمين فردي وزوجي فإن التقريب يكون للرقم الزوجي

مثلا الرقم : 100.5 يتم تقريبه إلى 100 والرقم 100.5- يتم تقريبه إلى 100-

مثال :

L MD10 //Load the floating-point number into ACCU 1-L.
RND //Convert the floating-point number (32-bit, IEEE-FP) into an integer (32-bit)
and round off the result.
T MD20 //Transfer result (double integer number) to MD20


TRUNC Truncate

وهذا الأمر يقوم بتحويل الأرقام العشرية دقة 32 خانة إلى رقم صحيح دقة مضاعفة 32 خانة وذلك بحذف الكسر تماما مثلا الرقم 100.7 يصبح 100 والرقم 150.9- يصبح 150-

مثال :

L MD10 //Load the floating-point number into ACCU 1-L.
TRUNC
//Convert the floating-point number (32-bit, IEEE-FP) to an integer (32-bit)
and round result. Store the result in ACCU 1.
T MD20 //Transfer result (double integer number) to MD20


RND+ Round to Upper Double Integer

وهذا الأمر يعتبر محتويات Accumulator-1 رقم عشري ويقوم بتقريب المحتويات إلى أصغر رقم صحيح أكبر من أو يساوي الرقم العشري وتخزين تلك المحتويات في Accumulator-1

مثلا : الرقم 140.5 يكون 141 والرقم 141.7- يكون 141-

مثال :

L MD10 //Load the floating-point number (32-bit, IEEE-FP) into ACCU 1-L.
RND+ //Convert the floating-point number (32-bit, IEEE-FP) to an integer (32-bit)
and round result. Store output in ACCU 1.
T MD20 //Transfer result (double integer number) to MD20


RND- Round to Lower Double Integer

وهذا الأمر أيضا يعتبر محتويات Accumulator-1 رقم عشري ويقوم بتحويلها إلى أكبر رقم صحيح أصغر من أو يساوي الرقم العشري وتخزين الناتج في Accumulator-1

مثلا الرقم 120.4 يكون 120 والرقم 140.3- يكون 141-

مثال :

L MD10 //Load the floating-point number into ACCU 1-L.
RND- //Convert the floating-point number (32-bit, IEEE-FP) to an integer (32-bit)
and round result. Store result in ACCU 1.
T MD20 //Transfer result (double integer number) to MD20


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

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

مُساهمةموضوع: الدرس رقم 12 - Comparison instructions   الخميس 1 مايو 2008 - 12:13

المقارنة Comparison instructions

هذه الأوامر كلها تقارن محتويات ACCU1 , ACCU2 وتغيير RLO بما يتناسب مع النتيجة كما يلي في الشرح التالي :

يتم استعمال العلامات الآتية للمقارنة كالآتي :

علامات المقارنة Comparison signs
== ACCU1 is equal to ACCU2
<> ACCU1 is not equal to ACCU2
> ACCU1 is greater than ACCU2
< ACCU1 is less than ACCU2
>= ACCU1 is greater than or equal to ACCU2
<= ACCU1 is less than or equal to ACCU2


كذلك يتم تحديد نوع المقارنة من حيث دقة الرقم عن طريق حرف يكتب بعد علامة المقارنة I , D , R كالآتي :

I Compare Integer 16-Bit
D Compare Double Integer 32-Bit
R Compare Floating-Point Number 32-Bit


مقارنة الأرقام الصحيحة ذات الدقة 16 خانة
Compare Integer 16-Bit - ? I


ٍFormat
==I, <>I, >I, <I, >=I, <=I


وهنا تتم مقارنة محتويات ACCU1 , ACCU2 في صورة رقم صحيح 16 خانة وتغيير RLO طبقا للنتيجة

مثال :

L MW10 //Load contents of MW10 (16-bit integer).
L IW24 //Load contents of IW24 (16-bit integer).
>I //Compare if ACCU 2-L (MW10) is greater (>) than ACCU 1- L (IW24).
= M 2.0 //RLO = 1 if MW10 > IW24


مع ملاحظة أن محتويات RLO تتغير كالآتي :
إذا تحقق الشرط المطلوب تكون محتويات RLO هي - 1
إذا لم يتحقق الشرط تكون محتويات RLO هي - 0

أيا كانت العلاقة والشرط

مقارنة الأرقام الصحيحة ذات الدقة المضاعفة 32 خانة
Compare Double Integer 32-Bit


Format
==D, <>D, >D, <D, >=D, <=D



وهنا تتم مقارنة محتويات ACCU1 , ACCU2 في صورة رقم صحيح ذو دقة مضاعفة 32 خانة وتغيير RLO طبقا للنتيجة

مثال :

L MD10 //Load contents of MD10 (double integer, 32 bits).
L ID24 //Load contents of ID24 (double integer, 32 bits).
>D //Compare if ACCU 2 (MD10) is greater (>) than ACCU 1 (ID24).
= M 2.0 //RLO = 1 if MD10 > ID24


مقارنة الأرقام العشرية ذات الدقة 32 خانة
Compare Floating-Point Number 32-Bit


Format
==R, <>R, >R, <R, >=R, <=R



وهنا تتم مقارنة محتويات ACCU1 , ACCU2 في صورة رقم عشري ذو دقة 32 خانة وتغيير RLO طبقا للنتيجة

مثال :

L MD10 //Load contents of MD10 (floating-point number).
L 1.359E+02 //Load the constant 1.359E+02.
>R //Compare if ACCU 2 (MD10) is greater (>) than ACCU 1 (1.359-E+02).
= M 2.0 //RLO = 1 if MD10 > 1.359E+02
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://hassanheha.forumn.org
anasabsi
جندي
جندي
avatar

عدد الرسائل : 4
العمر : 33
تاريخ التسجيل : 20/04/2008

مُساهمةموضوع: رد: دورة تدريبية في الحاكمات المنطقية قابلة للبرمجة طراز Siemens S7   الإثنين 5 مايو 2008 - 0:16

السلام عليكم

يعطيك العافية يا مهندس حسن

انا حابب اشكرك اولا

ثانيا عندي لك سؤال - كيف الطريقة لتحميل برنامج من PLC الى الكمبيوتر عن طريق برنامج simatic manger ??
و السؤال مهم علشان اعمل Backup لجميع البرامج الموجودة عندي في المصنع , علما ان كل plc الموجودة في
المصنع هي S300

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

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

مُساهمةموضوع: رد: دورة تدريبية في الحاكمات المنطقية قابلة للبرمجة طراز Siemens S7   الإثنين 5 مايو 2008 - 4:14

anasabsi كتب:
السلام عليكم

يعطيك العافية يا مهندس حسن

انا حابب اشكرك اولا

ثانيا عندي لك سؤال - كيف الطريقة لتحميل برنامج من PLC الى الكمبيوتر عن طريق برنامج simatic manger ??
و السؤال مهم علشان اعمل Backup لجميع البرامج الموجودة عندي في المصنع , علما ان كل plc الموجودة في
المصنع هي S300

انتظر الاجابة و شكرا

الأخ anasabsi شكرا على حسن المتابعة وإليك أخي كيفية تحميل البرامج من PLC إلى الكمبيوتر Uploading

أولا افتح Simatic manager ثم أغلق أي Projrct مفتوح ليكون مثل الصورة التالية :


بعد ذلك قم بإنشاء مشروع جديد new project مثل الصورة التالية :


بعد ذلك قم بكتابة اسم المشروع وليكن machine1 في المكان name وتحديد مكان التخزين مثل الصورة التالية


سوف يتم إنشاء مشروع خالي باسم machine1 كما بالصورة التالية :


بعد ذلك من قائمة PLC اختر Upload station to PG كما في الصورة التالية :


سوف يظهر مربع حوار به أنواع الاتصالات مع CPU مثل الصورة الآتية , اختر نوع الاتصال سواء كان MPI أو PROFIBUS ثم اضغط VIEW


سوف تظهر قائمة بأنواع CPU الموجودة Online ( في حالة CPU واخدة فقط ليست على شبكة سوف تظهر هي فقط ) اضغط على الوحدة المطلوب تحميل محتوياتها ثم Upload

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


وهكذا يكون قد تم تحميل البرنامج وتخزينه بالاسم الذي اخترته سابقا في مثالنا هذا machine1

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

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

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

مُساهمةموضوع: الدرس رقم -13 ( استكمال الدرس رقم -6 ) Bit logic operations   الخميس 8 مايو 2008 - 14:11

والآن قد آن الأوان لنستكمل ما كنا قد تركناه من عمليات منطقية في الدرس رقم-6 والتي أشار إليها أحد الزملاء وقتها

أولا : العمليات المتداخلة Nested operations


فليست كل العمليات توصيل توالي مطلق أو توصيل توازي مطلق وإنما في معظم الأحيان هناك تداخل بين العمليات يستدعي الخلط بين هذا وذاك مثل المثال التالي :


ففي المثال السابق هناك عملية AND بين عمليتي OR أساسيتين ونبدأ بسرد العمليات

O And before Or

والصيغة العامة لها هي : O
في هذه يتم عمل ORing على نتائج عمليات ANDing سابقة ويتضح هذا من المثالى التالي :


A( And with Nesting Open

والصيغة العامة لها : A(

وهذا الأمر يقوم بعمل ANDing لنتائج عمليات ORing سابقة مثل المثال التالي :


AN( And Not with Nesting Open

ولهذا الأمر نفس التفصيلات الخاصة ب A( تماما ومثله ما يلي

O( Or with Nesting Open


ON( Or Not with Nesting Open


X( Exclusive Or with Nesting Open


XN( Exclusive Or Not with Nesting Open

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

) Nesting Closed

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

والآن إلى أوامر اكتشاف حافة إشارة ولنفهم الأمر ننظر أولا إلى الصورة لنعرف ما المقصود بحافة الإشارة :


فهنا عندنا الحافة الأولى وهي عند الانتقال من 0 إلى 1 وتسمى Positive edge أو الحافة الموجبة والثانية عند الانتقال من 1 إلى 0 وتسمى Negative egde الحافة السالبة وهناك أمر لاكتشاف هذا التغير كالآتي :

FN Edge Negative


وهو لاكتشاف الحافة السالبة ولكي نفهم الأداء الوظيفي مع التنفيذ المثال التالي على كيفية التنفيذ :


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

FP Edge Positive



وهو لاكتشاف الحافة الموجبة ولكي نفهم الأداء الوظيفي مع التنفيذ المثال التالي على كيفية التنفيذ :



_________________


أبـوروان


عدل سابقا من قبل PLCMan في السبت 27 فبراير 2010 - 13:13 عدل 1 مرات
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://hassanheha.forumn.org
semsem
رائد
رائد
avatar

عدد الرسائل : 249
العمر : 38
تاريخ التسجيل : 05/04/2008

مُساهمةموضوع: رد: دورة تدريبية في الحاكمات المنطقية قابلة للبرمجة طراز Siemens S7   الخميس 15 مايو 2008 - 15:25

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

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

مُساهمةموضوع: رد: دورة تدريبية في الحاكمات المنطقية قابلة للبرمجة طراز Siemens S7   الخميس 15 مايو 2008 - 17:31

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

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

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

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

عدد الرسائل : 4
العمر : 33
تاريخ التسجيل : 20/04/2008

مُساهمةموضوع: سؤال على الماشي   السبت 17 مايو 2008 - 22:38

سلام :
كيفك يا مهندس حسن و بشكرك على نشاطك الدائم
انا ما عملت تحميل البرنامج من plc لحد الآن ولكن لما ابدا عمل راح اتواصل معك ان شاء الله

بس حابب اتأكد هل في خطر على البرنامج الموجود على plc اذا سحبناه على الكمبيوتر ؟؟؟؟

عندي كمان سؤال صغير ... ما هي احسن انواع plc هل هي siemens ولا omron ولا غيرها ؟؟؟؟

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

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