You are on page 1of 146

https://www.electrobrahim.

com

https://www.facebook.com/AB.Electromecanique
‫‪1‬‬

‫محتويات المادة‬
‫مقدمة عامة‬
‫ماهو ‪PLC‬‬ ‫‪.6‬‬
‫مكونات ‪PLC‬‬ ‫‪.3‬‬
‫نبذة تاريخية عن نظام ‪PLC‬‬ ‫‪.2‬‬
‫كيف يعمل ‪PLC‬‬ ‫‪.6‬‬
‫أهم الشركات المنتجة ‪PLC‬‬ ‫‪.5‬‬
‫مميزات وعيوب ‪PLC‬‬ ‫‪.1‬‬
‫أنواع اللغات المستخدمة فى برمجة ‪PLC‬‬ ‫‪.7‬‬
‫أنواع الذاكرات فى ‪PLC‬‬ ‫‪.8‬‬
‫كيف يمكنك أختيار ‪ PLC‬فى التطبيقات الصناعية‬ ‫‪.9‬‬

‫أعداد وتجهيز وحدة ‪PLC‬‬


‫التعرف على الشكل الخارجى ‪LAYOUT‬‬ ‫‪.6‬‬
‫المكثف السوبر ‪SUPER CAPACITOR‬‬ ‫‪.3‬‬
‫أعداد وحدة ‪ S7 200‬داخل لوحات التحكم‬ ‫‪.2‬‬
‫كيفية توصيل وحدة ‪ S7 200‬داخل لوحة التحكم ‪WIRING DIAGRAM‬‬ ‫‪.6‬‬

‫برمجة ‪ S7 200‬بأستخدام برنامج الميكرو وين‬


‫التعرف على وجهة برنامج ‪MICRO WIN‬‬ ‫‪.6‬‬
‫أعداد كابل االتصال بين الكمبيوتر و ‪PLC‬‬ ‫‪.3‬‬
‫عمل ‪ RUN‬و ‪ STOP‬من خالل برنامج الميكرو وين‬ ‫‪.2‬‬
‫التعرف على االدوات العامة للبرمجة‬ ‫‪.6‬‬
‫خطوات التفكير فى أنشاء برنامج ‪PLC‬‬ ‫‪.5‬‬
‫مدخل للبرمجة ( أمثلة بسيطة )‬ ‫‪.1‬‬
‫محاكاة ‪) SIMULATOR ( S7 200‬‬ ‫‪.7‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪2‬‬

‫اوامر الميكرو وين‬


‫‪MICRO WIN INSTRUCTIONS‬‬
‫شرح االوامر المنطقية ‪BIT LOGIC INSTRUCTION‬‬ ‫‪.6‬‬
‫أمثلة وتطبيقات صناعية‬ ‫‪.3‬‬
‫المثال االول‪ :‬عكس حركة محرك‬ ‫‪-‬‬
‫المثال الثانى ‪ :‬نظام أنذار لميناء بترول‬ ‫‪-‬‬
‫المثال الثالث ‪ :‬ماكينة أسطنمبات‬ ‫‪-‬‬
‫شرح اوامر المؤقتات الزمنية ‪TIMERS‬‬ ‫‪.2‬‬
‫مؤقت زمنى تأخير التشغيل ‪ON DELAY TIMER‬‬ ‫‪-‬‬
‫مؤقت زمنى تأخير محتفظ بالحالة ‪RETENTIVE ON DELAY TIMER‬‬ ‫‪-‬‬
‫مؤقت زمنى تأخير الفصل ‪OFF DELAY TIMER‬‬ ‫‪-‬‬
‫مؤقت المدة او الفترة ‪INTERVAL TIMERS‬‬ ‫‪-‬‬
‫تطبيقات صناعية على ‪TIMER‬‬ ‫‪.6‬‬
‫مثال خزان سوائل‬ ‫‪-‬‬
‫مثال لعملية صناعية تتكون من سيرين‬ ‫‪-‬‬
‫شرح العدادات ‪COUNTERS‬‬ ‫‪.5‬‬
‫العداد التصاعدى ‪UP COUNTER‬‬ ‫‪-‬‬
‫العداد التنازلى ‪DOWN COUNTER‬‬ ‫‪-‬‬
‫العداد التنازلى والتصاعدى ‪UP / DOWN COUNTER‬‬ ‫‪-‬‬
‫تطبقات صناعية على العدادات‬ ‫‪.1‬‬
‫مثال لجراج دراجات نارية‬ ‫‪-‬‬

‫معالجة االخطاء فى ‪S7 200‬‬

‫أنواع االخطاء و طريقة أكتشافها من داخل البرنامج‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪3‬‬

‫نقاط هامة داخل برنامج الميكرو وين‬


‫‪ .6‬طريقة تخصيص العناوين والمتغيرات فى ‪DATA BLOCK‬‬
‫‪ .3‬جدول ‪STATUS CHART‬‬
‫‪ .2‬أستخدام عنوان فى الذاكرة لدخول البيانات‬

‫أنواع البيانات‬
‫‪1. Input register‬‬
‫‪2. Output register‬‬
‫‪3. Variable memory area‬‬
‫‪4. Bit memory‬‬
‫‪5. Sequence control relay memory area‬‬
‫‪6. Special memory bit‬‬
‫‪7. Local memory area‬‬
‫‪8. Timer memory area‬‬
‫‪9. Counter memory area‬‬
‫‪10. Analog input‬‬
‫‪11. Analog output‬‬
‫‪12. Constants values‬‬

‫أسئلة هامة‬
‫مالذى يحدث عند عمل ‪ DOWNLOAD‬لمشروعك على ‪CPU‬‬ ‫‪.6‬‬
‫مالذى يحدث عند عمل ‪ UPLOADING‬من ‪ CPU‬الى الكمبيوتر‬ ‫‪.3‬‬
‫كيفية نسخ البرنامج من ذاكرة ‪ PLC‬الى الذاكرة الخارجية‬ ‫‪.2‬‬
‫كيفية تحديد ‪ INPUT FILTER‬لمنع حدوث ‪NOISE‬‬ ‫‪.6‬‬
‫أستخدام جدول الخرج ‪ OUTPUT TABLE‬للتحكم فى حالة الخرج‬ ‫‪.5‬‬

‫المواصفات الفنية ‪CPU – S7 200‬‬


‫‪ .6‬شرح المواصفات الفنية ألنواع ‪CPU‬‬
‫‪ .3‬أكواد االخطاء ‪ERROR CODE‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪4‬‬

‫االعطال والصيانة فى ‪PLC‬‬


‫أهم أعطال ‪PLC‬‬ ‫‪.6‬‬
‫صيانة ‪ ( PLC‬الصيانة الوقائية – الصيانة الطارئة )‬ ‫‪.3‬‬
‫أستخدام وظيفة ‪CROSS REFERENCE‬‬ ‫‪.2‬‬
‫تعديل البرنامج أثناء ‪PLC RUN‬‬ ‫‪.6‬‬
‫عمل أخراج اجبارى لل ‪OUTPUT‬‬ ‫‪.5‬‬

‫لوحات العرض‬
‫‪ .6‬شاشات عرض النصوص‬
‫‪ .3‬شاشات عرض اللمس‬

‫أوامر النقل ‪MOVE INSTRUCTIONS‬‬


‫‪1.‬‬ ‫‪Move byte‬‬
‫‪2.‬‬ ‫‪Move word‬‬
‫‪3.‬‬ ‫‪Move double word‬‬
‫‪4.‬‬ ‫‪Move real‬‬
‫‪5.‬‬ ‫‪Move block byte‬‬
‫‪6.‬‬ ‫‪Move block word‬‬
‫‪7.‬‬ ‫‪Move block double word‬‬

‫االوامر الحسابية‬
‫اوامر جمع والطرح‬ ‫‪.6‬‬
‫اوامر ضرب والقسمة‬ ‫‪.3‬‬
‫اوامر ضرب عددين مختلفين مع اختالف الناتج فى نوع البيانات‬ ‫‪.2‬‬
‫اوامر الزيادة و النقصان‬ ‫‪.6‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪5‬‬

‫اوامر االرقام العشرية‬


‫‪1.‬‬ ‫‪Add real‬‬
‫‪2.‬‬ ‫‪Subtract real‬‬
‫‪3.‬‬ ‫‪Multiply real‬‬
‫‪4.‬‬ ‫‪Divide real‬‬
‫‪5.‬‬ ‫‪Square root‬‬
‫‪6.‬‬ ‫‪Sin‬‬
‫‪7.‬‬ ‫‪Cos‬‬
‫‪8.‬‬ ‫‪Tan‬‬
‫‪ .9‬مثال فرن لتصنيع زجاج‬
‫‪ .60‬مثال لطلمبة مياة وعرض حالة التشغيل وااليقاف على شاشة ‪TD‬‬

‫اوامر المقارنة‬
‫اوامر المقارنة لبيانات من نوع ‪BYTE‬‬ ‫‪.6‬‬
‫مثال لمقاومة متغيرة‬ ‫‪.3‬‬
‫اوامر المقارنة لبيانات من نوع ‪INTEGER‬‬ ‫‪.2‬‬
‫اوامر المقارنة لبيانات من نوع ‪DOUBLE INTEGER‬‬ ‫‪.6‬‬
‫اوامر مقارنة من نوع ‪REAL‬‬ ‫‪.5‬‬
‫مثال مقارنة بين منتجات على خط انتاج‬ ‫‪.1‬‬
‫نظام االسكى كود فى ‪PLC‬‬ ‫‪.7‬‬

‫اوامر التحكم‬
‫‪ .6‬أمر ايقاف ‪STOP‬‬
‫‪ .3‬أمر أنهاء ‪END‬‬
‫‪ .2‬أمر القفز ‪JUMP , LABEL‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪6‬‬

‫رؤيا عامة عن الشبكات واالتصاالت فى ‪S7 200‬‬


‫شبكة ‪SINGLE MASTER‬‬ ‫‪.6‬‬
‫شبكة ‪MULTIPLE MASTER‬‬ ‫‪.3‬‬
‫خطوات انشاء شبكة ‪PPI‬‬ ‫‪.2‬‬
‫مثال على وصف شبكة‬ ‫‪.6‬‬
‫أنواع بروتوكوالت االتصال‬ ‫‪.5‬‬
‫منفذ االتصال ‪COMMUNICATION PORT‬‬ ‫‪.1‬‬
‫معلومات عن ‪PROFI BUS CABLE‬‬ ‫‪.7‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪7‬‬

‫مقدمة عامة‬

‫كلمة ‪ PLC‬هى اختصار لكلمة ‪programmable logic controller‬‬

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

‫ويتكون من ستة مكونات رئيسية ( الرف – وحدة الدخل – وحدة الخرج – وحدة مصدر‬
‫القدرة الكهربية – وحدة المعالجة المركزية – وحدة الذاكرة )‬

‫وهو عبارة عن جزء معدنى يثبت داخل لوحة التحكم ويقوم بتجميع مكونات ‪PLC‬‬

‫وينقسم الى قسمين ‪ :‬وحدة دخل رقمية ‪ digital input module‬ووحدة دخل تناظرية او‬
‫تماثلية ‪ . analog input module‬ومن وظائف وحدة الدخل االتى ‪:‬‬

‫‪ .6‬تقوم بعمل عزل كهربى بين االجهزة التى تتصل معها وبين وحدة ‪CPU‬‬
‫‪ .3‬تقوم بأستقبال االشارات من االجهزة الخارجية مثل ‪switches , transmitter ,‬‬
‫‪ contact‬ثم تحويلها الى اشارة منطقية يمكن ان تتعامل معها وحدة المعالجة‬
‫المركزية‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪8‬‬

‫وينقسم الى قسمين وحدة خرج رقمية ‪ digital output module‬ووحدة خرج تناظرية‬
‫او تماثلية ‪ . analog output module‬ومن وظائف وحدة الخرج االتى ‪:‬‬

‫‪ .6‬تقوم بعمل عزل كهربى بين االجهزة التى تتصل معها وبين وحدة ‪CPU‬‬
‫‪ .3‬تقوم بأستقبال االشارات من ‪ CPU‬وتحويلها الى اشارات رقمية او تناظرية الى‬
‫االجهزة الخارجية سواء كانت ملف كونتاكتور او ريالى او بلوف تحكم‬

‫ويستخدم لتحويل الجهد من ‪ 220 VAC‬الى ‪ 24 VDC‬وذلك لتغذية جميع مكونات ‪PLC‬‬
‫واالجهزة المتصلة معه ‪ .‬ويتم اختيار ‪ power supply‬على حسب التيار الخارج ويكون‬
‫احيانا ‪2A , 5A , 10A‬‬

‫وهى عبارة عن معالج دقيق او اكثر من معالج يحتوى على ذاكرة النظام ‪ .‬ويقوم المعالج‬
‫بالوظائف االتية ‪:‬‬
‫‪ .6‬استقبال وارسال االشارات من وحدة الدخل ثم معالجتها وارسالها لوحدة الخرج‬
‫‪ .3‬تنفيذ االوامر طبقا للبرنامج المخزن بالذاكرة‬
‫‪ .2‬تقوم بمجموعة من العمليات الحسابية والمنطقية لالشارات المرسلة من وحدة الدخل‬
‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬
‫‪9‬‬

‫ويوجد نوعين من الذاكرة ‪:‬‬


‫‪ .6‬ذاكرة ‪)Read Only Memory( ROM‬‬
‫وهى ذاكرة للقراءة فقط اى يتم كتابة البيانات بها مرة واحدة وال يمكن كتابة البيانات بها‬
‫مرة اخرى وتستخدم هذه الذاكرة لحماية البيانات او البرامج المخزنه عليها من المحو وهى‬
‫ذاكرة دائمة أى ال تتأثر بأنقطاع التيار الكهربى ويتم وضع نظام التشغيل لل ‪PLC‬عليها‬
‫وهو برنامج موضوع من المصنع وال يمكن تغيره ‪.‬‬
‫‪ .3‬ذاكرة ‪) Random Access Memory( RAM‬‬

‫وهى ذاكرة يمكن الكتابة والقراءة منها حيث تحتوى على متغيرات النظام وبرنامج‬
‫المستخدم وهى ذاكرة تتأثر بأنقطاع التيار الكهربى حيث تفقد البيانات بمجرد انقطاع التيار‬
‫الكهربى عنها لذلك يتم وضع بطارية فى ‪ PLC‬لحفظ البرنامج الذى يتحكم فى العملية‬
‫الصناعية ‪.‬‬

‫وهو جهاز يتم توصيله بوحدة ‪ PLC‬يقوم بنقل البرنامج من خالله الى وحدة ‪ . PLC‬كما‬
‫يمكن كتابة البرنامج عليه ‪ .‬وقد يتمثل جهاز البرمجة فى كمبيوتر ‪. PC‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪10‬‬

‫اعتمدت نظم التحكم االلى قديما على التحكم فى العمليات الصناعية بأستخدام ‪ relay‬وكان‬
‫يتسبب فى ظهور مشكالت مثل ‪:‬‬
‫‪ .6‬صعوبة الوصول الى العطل‬
‫‪ .3‬الصعوبة فى تعديل الدوائر‬
‫‪ .2‬تحتاج دوائر ‪ relay‬الى مساحة كبيرة‬

‫فتم تصميم أول ‪ PLC‬من خالل مجموعة مهندسيين من شركة ‪ general motors‬كنظام‬
‫تحكم لتطوير السيارات فتم تركيب اول ‪ PLC‬فى المصانع عام ‪ 6919‬وقد أثبت كفاءة‬
‫عالية من حيث سهولة الفك والتركيب والبرمجة والتعديل ‪ .‬وبعد ذلك ظهر فى السبعينيات‬
‫تكنولوجيا الميكروبرسيسور فتم استخدامه فى صناعة ‪ . PLC‬مما أعطى ميزة لنظم ‪PLC‬‬
‫القدرة على القيام بالتحكم فى العمليات الصناعية المعقدة ‪.‬‬

‫تعتمد عمل وحدة ‪ PLC‬على عملية ‪ scan time‬للبرنامج وتتمثل فى ثالث خطوات ‪:‬‬

‫‪ .6‬فحص حالة المدخالت ‪ inputs‬اذا كانت ‪ on‬او ‪ off‬ثم تقوم بتخزين حالة‬
‫المدخالت فى الذاكرة ‪.‬‬
‫‪ .3‬تقوم وحدة ‪ CPU‬بجلب حالة المدخالت من الذاكرة ثم يتم تنفيذ البرنامج المخزن‬
‫عليها‬
‫‪ .2‬بعد عملية المعالجة وتنفيذ االوامر يقوم ‪ CPU‬بأعطاء االوامر الجديدة الى‬
‫المخرجات ‪ outputs‬التى تقوم بالتحكم فى العمليات الصناعية ‪.‬‬

‫ويمكن تعريف ‪ scan time‬على أنه الزمن الذى يأخذه ‪ PLC‬فى تنفيذ البرنامج ‪ .‬وكلما‬
‫كان ‪ scan time‬اقل كان اداء ‪ PLC‬افضل واسرع‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪11‬‬

‫‪1.‬‬ ‫‪Siemens‬‬
‫‪2.‬‬ ‫‪ABB‬‬
‫‪3.‬‬ ‫‪HIMA‬‬
‫‪4.‬‬ ‫‪LG‬‬
‫‪5.‬‬ ‫‪ALEN BREADLY‬‬
‫‪6.‬‬ ‫‪Omron‬‬

‫اوال المميزات ‪:‬‬


‫سهولة البرمجة والتعديل‬ ‫‪.6‬‬
‫سهولة الصيانة وأكتشاف االعطال‬ ‫‪.3‬‬
‫صغر الحجم‬ ‫‪.2‬‬
‫استهالك اقل قدرة كهربية بعكس ملفات الريالهات‬ ‫‪.6‬‬
‫سرعة االستجابة‬ ‫‪.5‬‬
‫يمكن ربط ‪ PLC‬مع العديد من االجهزة‬ ‫‪.1‬‬
‫امكانية الحصول على تقارير عند حدوث االعطال بواسطة الكمبيوتر المتصل مع‬ ‫‪.7‬‬
‫‪PLC‬‬

‫ثانيا العيوب ‪:‬‬


‫تكلفته مرتفعة عند استخدامه فى التطبيقات الصناعية الكبيرة‬ ‫‪.6‬‬
‫احيانا يتأثر بدرجة الحرارة العالية عند تعطل وسائل التبريد‬ ‫‪.3‬‬
‫اذا حدث فيه عطل يؤدى الى توقف تام بالمصنع بعكس دوائر الريالهات اذا حدث‬ ‫‪.2‬‬
‫عطل فيها تؤدى الى توقف اجزاء معينة من دائرة التحكم‬
‫اليصلح للتطبيقات الصغيرة من حيث التكلفة ‪ .‬حيث من االرخص تركيب دائرة‬ ‫‪.6‬‬
‫تحكم تقليدى عن تركيب نظام ‪ PLC‬غالى الثمن‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪12‬‬

‫من أشهر لغات البرمجة ‪:‬‬


‫)‪1. Ladder diagram (LAD‬‬
‫)‪2. Function block diagram (FBD‬‬
‫)‪3. Statement list (STL‬‬

‫تنقسم الذاكرة فى ‪ PLC‬الى ‪:‬‬

‫‪ .1‬ذاكرة نظام التشغيل ‪:‬‬


‫وهو البرنامج الذى تعده الشركة المصنعة وهو غير قابل للتعديل من قبل المستخدم‬
‫‪ .2‬ذاكرة المستخدم ‪:‬‬
‫حيث يخزن بها البرنامج الذى يكتبه المستخدم سواء كان ‪ LADDER‬او اى لغة أخرى‬

‫ويتم التحديد على اساس النقط التاليه ‪:‬‬


‫حسب الحجم فى لوحة التحكم‬ ‫‪.6‬‬
‫عدد نقاط الدخل والخرج ‪I/O‬‬ ‫‪.3‬‬
‫درجة حرارة التى يتحملها ‪ PLC‬داخل لوحة التحكم‬ ‫‪.2‬‬
‫زمن الفحص ‪scan time‬‬ ‫‪.6‬‬
‫جهد تغذية ‪ PLC‬اذا كان ‪ 24 VDC‬او ‪220 VAC‬‬ ‫‪.5‬‬
‫نوع الوحدة المستخدمة اذا كان ‪ compact‬او ‪modular‬‬ ‫‪.1‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪13‬‬

‫أعداد وتجهيز ‪PLC‬‬


‫"‪" Installation hardware‬‬

‫بعد شراء وحدة ‪PLC‬عليك بمعرفة االتى ‪:‬‬

‫‪ .6‬وظائف المفاتيح والليدات ‪ LED‬الموجودة على ‪PLC‬‬


‫‪ .3‬طريقة توصيل االسالك بوحدة ‪PLC‬‬

‫ولتوضيح االمور السابقة سوف يتم التدريب فى هذا الكورس على وحدة‬
‫‪ SIEMENS S7- 200‬نوع ‪CPU 222‬‬

‫ومن مواصفات هذه الوحدة انها تحتوى على ‪8 Digital input / 6 Digital output‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪14‬‬

‫من الشكل السابق ‪: CPU 222‬‬

‫يمكن تقسيم ‪ layout‬الى ‪ 1‬اقسام ‪:‬‬

‫االول ‪ :‬مبينات حالة ‪: “states LED” CPU‬‬

‫وتحتوى على ثالث مبينات ‪:‬‬


‫‪ .6‬مبين ‪ : RUN‬ويوضح ان ‪ CPU‬فى حالة التشغيل ويقوم بتنفيذ البرنامج‬
‫‪ .3‬مبين ‪ : STOP‬ويوضح ان ‪ CPU‬فى وضع ايقاف وتم ايقاف تنفيذ البرنامج‬
‫‪ .2‬مبين ‪ : SF/DAIG‬ويوضح وجود عطل ‪ Fault/Diagnostic‬وله لونين ‪ ,‬اللون‬
‫االصفر وجود عطل فى النظام ‪ ,‬اللون االحمر وجود عطل خارجى فى االتصال‬
‫مثال ‪.‬‬
‫الثانى ‪ :‬العبوات " ‪: " cartridge‬‬

‫حيث يتيح ‪ S7 – 200‬بتركيب عبوات اضافية فى هذا المدخل ويوجد منها ‪:‬‬

‫‪1. Clock and battery modules :‬‬

‫ويتم تركيب مايسمى ‪ real time and calendar‬ويمكنها االحتفاظ بالبرنامج فى حالة‬
‫فقدان القدرة الكهربية عن الوحدة لمدة تصل الى ‪ 300‬يوم‬

‫‪2. Flexible memory modules :‬‬

‫وهى عبارة عن ذاكرة من نوع ‪ EEPROM‬وظيفتها عمل نسخ احتياطية ‪BACK UP‬‬
‫للبرنامج المخزن على ‪CPU‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪15‬‬

‫ثالثا ‪ :‬منفذ االتصال ‪:communication port‬‬

‫وهو منفذ اتصال من نوع ‪ RS 485‬وله عدة وظائف منها ‪:‬‬

‫‪1. Communicate‬‬ ‫‪with TD :‬‬

‫وفيها يتم االتصال مع شاشات عرض النصوص ‪text display‬‬

‫‪2. Freeport Mode :‬‬

‫حيث يتم االتصال بأجهزة حساسات ذكية ‪ intelligent sensing‬مثل ‪bar code‬‬
‫‪reader‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪16‬‬

‫‪3. Printer :‬‬

‫ويتم االتصال مع طابعات وذلك لطباعة التقرير وحاالت التشغيل و ‪ alarm‬للماكينات او‬
‫الوحدات‬

‫‪4. Interconnection:‬‬

‫ويتم ربط عدد من ‪ PLC‬مع جهاز كمبيوتر واحد قد يصل الى ‪ 26‬بدون استخدام‬
‫‪repeater‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪17‬‬

‫رابعا ‪ :‬باب االطراف العلوى " ‪: " top terminal door‬‬

‫ويحتوى على مخارج ‪ ) DIGITAL OUTPUT( PLC‬مع مدخل لتغذية ‪ PLC‬بالقدرة‬


‫الكهربية ‪.‬‬

‫خامسا ‪ :‬باب االطراف السفلية ( ‪: ) BUTTOM TERMINAL DOOR‬‬

‫ويحتوى على مداخل ‪ PLC‬مع مخرج االحساس بجهد ‪ 24 VDC‬ويمكن استخدامه‬


‫كمصدر تغذية لل ‪DIGITAL INPUT‬‬

‫سادسا ‪ :‬باب الدخول االمامى ( ‪: ) FRONT ACCESS DOOR‬‬

‫ويحتوى على ‪:‬‬


‫‪1. Mode switch :‬‬

‫لهذه المفتاح ثالث اوضاع ‪:‬‬


‫وضع ‪ : RUN‬وتقوم وحدة المعالجة المركزية بتنفيذ البرنامج‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪18‬‬

‫وضع ‪ : STOP‬وتقوم وحدة المعالجة المركزية بأيقاف تنفيذ البرنامج‬

‫وضع ‪ :TERM‬حيث وضع االيقاف والتشغيل لوحدة المعالجة المركزية ال يتم أال عن‬
‫طريق البرنامج ‪.‬‬
‫‪2. Analog adjustment :‬‬

‫وهى تتيح للمستخدم الزيادة او النقصان من القيم المخزنة فى الذاكرة الخاصة ‪Special‬‬
‫‪ )SM( memory‬هذه القيم من الممكن ان تكون مستخدمة فى ‪counter , timers‬‬

‫‪3. Expansion modules :‬‬

‫يتيح ‪ S7 200‬تركيب موديالت اخرى تتصل مع بعضها عن طريق هذه الفتحة ‪.‬‬

‫فمن الممكن زيادة عدد ‪ input output‬او تركيب كروت لها وظائف اخرى ويتم‬
‫االتصال عن طريق كابل يسمى ‪ ribbon connector‬كما بالشكل التالى‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪19‬‬

‫الشكل التالى يوضح انواع الوحدات التى تتيح ان تتصل بكروت التوسعة‬

‫وقد سمى بهذا االسم لقدرته على االحتفاظ بالشحنة الكهربية لفترة طويلة من الزمن‬
‫وذلك لحفظ البيانات المخزنة على ‪ RAM‬من الضياع عند فقد القدرة الكهربية ‪ .‬ففى‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪20‬‬

‫‪ CPU 221 , CPU 222‬قادر على االحتفاظ فى مدة ‪ 50‬ساعة بينمت فى ‪CPU 224 ,‬‬
‫‪ CPU 226‬تكون حوالى ‪ 690‬ساعة ‪.‬‬

‫توجد طريقتين لتثبيت الوحدة داخل لوحة التحكم ‪:‬‬


‫الطريقة االولى ‪:‬‬
‫تسمى ‪ Panel mounting‬حيث يتم تثبيت وحدة ‪ PLC‬عن طريق ربطها بمسامير على‬
‫جسم لوحة التحكم كما بالشكل التالى‬

‫الطريقة الثانية ‪:‬‬


‫تسمى ‪ Standard rail mounting‬حيث يتم تثبيت ‪ rail‬على لوحة التحكم ثم يتم تثبيت‬
‫‪ PLC‬على ‪ Rail‬بأستخدام الكلبس او المشبك الموجود اسفل ‪PLC‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


21

: CPU 221 : ‫اوال‬

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


22

: CPU 222 : ‫ثانيا‬

: CPU 224 : ‫ثالثا‬

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


23

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


24

: CPU 226 : ‫رابعا‬

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


25

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


‫‪26‬‬

‫برمجة ‪ S7 200‬بأستخدام برنامج الميكرو وين‬


‫‪Step 7 micro/win software‬‬

‫وهو من انتاج شركة سيمينس حيث يتيح للمستخدم كتابة البرنامج عليه ‪ .‬ويوجد الكثير‬
‫من الخصائص واالوامر المستخدمة فى أنشاء برامج ‪ PLC‬كما يمكنه التعامل مع وحدة‬
‫‪ S7 200‬بجميع انواعه ‪.‬‬

‫هيا بنا نتعرف على واجهة الميكرو وين ‪:‬‬

‫يتكون البرنامج من مجموعة قوائم وثالث اجزاء رئيسية ‪:‬‬


‫‪ .1‬شريط القوائم الرئيسية ‪: main menu‬‬

‫ويحتوى على جميع القوائم التى يمكن التحكم من خاللها فى البرنامج وكذلك وحدة ‪PLC‬‬

‫‪ .2‬شريط االدوات القياسى ‪:standard toolbar‬‬

‫ويوجد به االدوات التى يستخدمها المستخدم بأستمرار‬


‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬
‫‪27‬‬

‫‪ .3‬شريط ادوات تصحيح االخطاء ‪: debug toolbar‬‬

‫ويحتوى على ادوات تحديد االخطاء فى البرنامج وكذلك فحص البرنامج ككل للتأكد من‬
‫عدم وجود اخطاء به ‪.‬‬

‫‪ .4‬شريط ادوات اوامر البرمجة ‪: instruction toolbar‬‬

‫ويحتوى على عناصر البرمجة التى تستخدم بأستمرار فى انشاء البرنامج‬


‫‪ ‬بالنسبة للثالث اجزاء لبرنامج الميكروين ‪:‬‬
‫اوال ‪: navigation bar :‬‬
‫من اهم العناصر التى تحتويها ومستخدمه بأستمرار فى البرنامج ‪:‬‬
‫‪Program block :‬‬
‫وهى البيئة التى يتم من خاللها انشاء برنامج المستخدم‬
‫‪Symbol table :‬‬

‫وفيها يتم وصف للعناوين ‪ input / output‬مع كتابة التعليقات المناسبة لكل عنوان‬

‫‪Communications :‬‬

‫‪PLC‬‬ ‫ويتيح ضبط االتصال بين ‪ PC‬و‬

‫‪Set PG / PC interface :‬‬

‫ويتم من خاللها تعريف نوع كابل االتصال المستخدم فى عملية االتصال بين ‪ PC‬و ‪PLC‬‬
‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬
‫‪28‬‬

‫ثانيا ‪: instruction tree :‬‬


‫وتحتوى على جميع اوامر البرمجة المستخدمة فى بناء البرنامج‬
‫ثالثا ‪: program editor :‬‬

‫وهى بيئة العمل او البرمجة وهى مقسمة الى مجموعة شبكات ‪network‬‬

‫‪ ‬التحكم فى أظهار واخفاء ( ‪- instruction tree - navigation bar‬‬


‫‪) program editor‬‬

‫‪ ‬التحكم فى اظهار واخفاء اشرطة االدوات ‪:‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪29‬‬

‫نوع كابل االتصال المستخدم ‪ USB / RS 485‬فئة ‪PC /PPI‬‬

‫خطوات اعداد االتصال بين ‪: PC / PLC‬‬

‫نضغط على ايقونة االتصال ‪ Communication‬الموجودة فى ‪navigation bar‬‬ ‫‪.6‬‬


‫نالحظ ظهور نافذة ‪ communication‬على يمين النافذة نضغط على ‪double‬‬ ‫‪.3‬‬
‫‪ click to refresh‬فى هذه الحالة سوف يظهر اذا كان ‪ PC‬متصل مع ‪ PLC‬ام ال‬
‫اذا كان غير متصل نقوم بالضغط على مفتاح ‪set PG / PLC interface‬‬ ‫‪.2‬‬
‫من النافذة نختار نوع كابل االتصال وهو ‪PC / PPI cable‬‬ ‫‪.6‬‬
‫نضغط على ‪ properties‬الموجودة فى نفس النافذة ونحدد ‪ PPI tab‬نختار منها‬ ‫‪.5‬‬
‫‪ address 0‬و ‪transmission rate 9.6KbPS‬‬
‫فى نفس النافذة نختار ‪ local connection tab‬ونختار نوع البورت اذا كان ‪USB‬‬ ‫‪.1‬‬
‫او ‪COM‬‬
‫نكرر الخطوة رقم ‪ 3‬حتى نتأكد من وجود اتصال‬ ‫‪.7‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪30‬‬

‫نقوم بضبط المفتاح الموجود فى ‪ CPU‬على وضع ‪ RUN‬او وضع ‪ STOP‬بعد ذلك من‬
‫خالل البرنامج يتم التحكم فى حالة ‪CPU‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪31‬‬

‫فى الميكرووين توجد ادوات برمجة كثيرة ولكن هيا بنا لنتعرف على االدوات الشائعة‬
‫االستخدام ‪.‬‬
‫‪1. PASS :‬‬

‫وهو عبارة عن ‪ contact‬مفتوح عندما تأتى له اشارة يتحول من حالة ‪ 0‬الى ‪1‬‬

‫‪2. INVERSE :‬‬

‫وهو عبارة عن ‪ contact‬مغلق عندما تأتى لة االشارة ‪ 1‬يتحول الى ‪ 0‬وعندما تأتى له‬
‫االشارة ‪ 0‬يتحول الى ‪1‬‬

‫‪3. OUTPUT :‬‬

‫وهى تشير الى اشارة الخرج‬

‫قبل البدء فى عمل برنامج ‪ PLC‬عليك التفكير جيدا ‪ .‬ومن خطوات التفكير الجيد ‪:‬‬

‫‪ .6‬فهم وتحليل العملية الصناعية المراد عمل برنامج ‪ PLC‬لها‬


‫‪ .3‬تحديد ‪ input / output‬فى جدول مع الوصف ‪address‬‬
‫‪ .2‬تقسيم العملية الصناعية الى اجزاء ووضع برنامج لكل جزء‬

‫ملحوظة ‪:‬‬
‫عنوان ‪ input‬او ‪ output‬يأخذ الوصف التالى‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪32‬‬

‫‪I0.0 – I0.1 – I0.2‬‬

‫‪I ------ input‬‬

‫‪0 ---- byte‬‬

‫‪0, 1 , 2 --- bit‬‬

‫‪ ‬المثال االول ‪:‬‬


‫فى مصنع غزل ونسيج ‪ .‬عند وضع احد المشغوالت على صنية الماكينة والضغط على مفتاح‬
‫التشغيل يعمل المحرك ‪ .‬وعندما يراد ايقاف المحرك يتم الضغط على مفتاح الفصل ‪ .‬مع‬
‫مالحظة انه اذا لم توجد اى من المشغوالت على صنية الماكينة ال يتم تشغيل المحرك حتى‬
‫ولو تم الضغط على مفتاح التشغيل ‪.‬‬

‫‪Input‬‬ ‫‪description‬‬ ‫‪output‬‬ ‫‪description‬‬


‫‪I0.0‬‬ ‫‪Start motor switch‬‬ ‫‪Q0.0‬‬ ‫‪Output to motor‬‬
‫‪I0.1‬‬ ‫‪Stop motor switch‬‬
‫‪I0.2‬‬ ‫‪Limit switch product‬‬
‫بعد تحديد نوع ‪ CPU‬من قائمة ‪ PLC‬نختار ‪ type‬ثم يتم انشاء البرنامج كما يلى ‪:‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪33‬‬

‫ثم يتم كتابة ‪ symbol table‬وهو يسهل عملية البحث داخل البرنامج مع معرفة‬
‫‪ comment‬الخاصة بمداخل ومخرجات ‪PLC‬‬

‫ويتم الحصول على ‪ symbol table‬من قائمة ‪ view‬يتم اختيار ‪ component‬ثم‬


‫‪symbol table‬‬

‫واالن اذا اردنا ظهور التفصيل البرنامج من البيانات التى تم ادخالها بواسطة ‪symbol‬‬
‫‪ table‬يتم عمل االتى ‪:‬‬

‫من قائمة ‪ view‬نختار ‪ symbol table‬ثم ‪apply symbol to project‬‬

‫نالحظ ظهور تفاصيل البرنامج كما بالشكل ‪.‬‬

‫واالن اذا اردنا الرجوع للوضع السابق اى عناوين البرنامج فقط يتم اختيار ‪symbolic‬‬
‫‪ addressing‬من قائمة ‪view‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪34‬‬

‫بعد انشاء البرنامج نريد ان نحدد هل يوجد اخطاء ام ال ‪.‬‬


‫من قائمة ‪ PLC‬نختار ‪ compile all‬ونالحظ فى نافذة المخرجات عدم وجود اى اخطاء‬
‫‪total error : 0‬‬

‫نريد االن تحميل البرنامج الى ‪. CPU‬‬

‫يوجد سهمين باللون االزرق االول رأس السهم ألسفل اى تحميل البرنامج من ‪ PC‬الى ‪CPU‬‬
‫والسهم الثانى ويكون رأس السهم ألعلى اى رفع البرنامج من ‪ CPU‬الى ‪PC‬‬

‫بعد الضغط على عالمة ‪ download‬تظهر النافذة التالية‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪35‬‬

‫نضغط على مفتاح ‪ download‬ثم يتم تحميل البرنامج الى ‪ CPU‬ولكن مع مالحظة ان‬
‫عند تحميل البرنامج يجب ان تكون وحدة ‪ CPU‬فى وضع ‪ STOP‬واال سوف يطلب منك‬
‫ذلك ‪.‬‬

‫يوجد اداة تبين حالة البرنامج من حيث المدخالت والمخرجات وكذلك تساعد المبرمج فى‬
‫اكتشاف االعطال بسهولة ويسر ‪.‬‬
‫وتسمى هذه االداة ‪program status‬‬

‫واالن نستمتع بتشغيل البرنامج‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪36‬‬

‫وهو برنامج يقوم بعمل محاكاة ‪ CPU‬بحيث يسهل عملية المتابعة واالضافة والتعديل‬
‫للبرنامج ‪.‬‬
‫حيث نقوم بفتح ‪ simulator‬وادخال كلمة المرور وهى ‪ 1591‬ونالحظ فتح نافذة‬
‫‪ simulator‬كما بالشكل ‪.‬‬

‫ولكن قم بحفظ البرنامج اوال فى الميكرووين من قائمة ‪ file‬ثم نختار ‪ export‬وذلك للحفظ‬
‫بصيغة ‪.AWL‬‬

‫بعد فتح ‪ simulator‬نختار نوع ‪ CPU‬من قائمة ‪ configuration‬ثم نختار ‪cpu type‬‬

‫وبعد ذلك نقوم بتحميل البرنامج الى ‪ CPU‬الموجود فى ‪ simulator‬وذلك عن طريق‬


‫اختيار من قائمة ‪ program‬نختار ‪ load program‬ثم نحدد مسار البرنامج‬

‫ونقوم بتشغيل البرنامج على ‪simulator‬‬

‫من الممكن معرفة ‪ status program‬او حالة البرنامج وذلك بالضغط على مفتاح ‪status‬‬
‫‪ program‬الموجود فى ‪simulator‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪37‬‬

‫‪ ‬المثال الثانى ‪:‬‬


‫خط انتاج يتكون من سيرين ‪ .‬االول يعمل بواسطة المحرك ‪ M1‬والثانى يعمل بمحرك ‪. M2‬‬
‫فالمحرك االول ال يعمل اال فى حالة توقف المحرك الثانى والمحرك الثانى ال يعمل اال فى‬
‫حالة توقف المحرك االول ‪ .‬المطلوب تصميم برنامج يقوم بأدارة هذة العملية ‪.‬‬

‫‪INPUT‬‬ ‫‪DESCRIPTION‬‬ ‫‪OUTPUT‬‬ ‫‪DESCRIPTION‬‬


‫‪I0.0‬‬ ‫‪STOP M1, M2‬‬ ‫‪Q0.0‬‬ ‫‪RUN M1‬‬
‫‪I0.1‬‬ ‫‪START M1‬‬ ‫‪Q0.1‬‬ ‫‪RUN M2‬‬
‫‪I0.2‬‬ ‫‪START M2‬‬

‫واثناء عمل ‪program status‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


38

: ‫ ملحوظة‬

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


‫‪39‬‬

‫يمكن تقسيم اوامر الميكرو وين المستخدمة فى برمجة ‪ CPU‬الى االوامر االتية ‪:‬‬

‫‪1. Bit logic‬‬


‫‪2. Compare‬‬
‫‪3. Convert‬‬
‫‪4. Counters‬‬
‫‪5. Floating – point math‬‬
‫‪6. Integer math‬‬
‫‪7. Logical operations‬‬
‫‪8. Move‬‬
‫‪9. Program control‬‬
‫‪10. Shift / rotate‬‬
‫‪11. Timer‬‬

‫ويمكن تقسم االوامر المنطقية الى االتى ‪:‬‬


‫‪1. Standard contact :‬‬

‫ويكون ‪ normally open‬وتكون اشارته فى الوضع الطبيعى ‪0‬‬


‫اما اذا وصل الية جهد تكون اشارته ‪6‬‬

‫ويكون ‪ normally close‬وتكون اشارته فى الوضع الطبيعى ‪6‬‬


‫اما اذا وصل الية جهد تكون اشارته ‪0‬‬

‫نوع البيانات المستخدمة فى البرنامج منطقية ( ‪)bool‬‬

‫‪2. Immediate Contacts :‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪40‬‬

‫ويسمى ‪ normally open immediate‬ويعتمد على حالة‬


‫‪ physical input‬حيث فى الحالة الطبيعية يكون ‪ 0‬اما اذا وصل‬
‫اليه جهد تحول الى ‪6‬‬

‫ويسمى ‪ normally close immediate‬ويعتمد على حالة‬


‫‪ physical input‬حيث فى الحالة الطبيعية يكون ‪ 1‬اما اذا وصل‬
‫اليه جهد تحول الى ‪0‬‬

‫‪ ‬ملحوظة ‪:‬‬
‫الفرق الحقيقى بين ‪ immediate contacts & standard contacts‬؟‬
‫اوال ‪: standard contacts :‬‬
‫يحصل ‪ CPU‬على قيم ‪ contact‬سواء كانت ‪ NC‬او ‪ NO‬من ‪ memory‬او من‬
‫‪ process image register‬وهو يعتمد على ‪ scan cycle‬وفى كل مرة يتم عمل‬
‫تحديث للقيم ‪I/O‬‬
‫ثانيا ‪: immediate contacts :‬‬
‫وفى هذه الحالة ال يعتمد على ‪ scan cycle‬حيث يعتمد على ‪ physical device‬المتصل‬
‫سواء بالدخل او الخرج وال يتم عمل تحديث فى ‪ process image register‬ولكن ستم‬
‫وضع القيمة بة مباشرة معتمدا على حالة ‪physical device‬‬

‫‪3. Not‬‬

‫ووظيفتها تقوم بتغير ‪ power flow‬بمعنى اذا كان ‪power flow‬‬


‫‪ 0‬يكون خرج ‪ not‬ب ‪ 6‬بينما اذا كان ‪ power flow‬ب ‪ 6‬يكون‬
‫الخرج ‪0‬‬

‫‪4. Positive, Negative Transition :‬‬

‫ويطلق علية ‪ Positive Transition‬وهو يكشف حالة تغير المفتاح‬


‫من ‪ off‬الى ‪ on‬ثم يعطى اشارة لحظية ب ‪6‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪41‬‬

‫ويطلق عليه ‪ Negative Transition‬وهو يكتشف حالة تغير المفتاح‬


‫من ‪ on‬الى ‪ off‬ثم يعطى اشارة لحظية ب ‪6‬‬

‫مثال ‪:‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪42‬‬

‫‪5. Output :‬‬

‫اشارة الخرج ويشير اليها بالرمز ‪Q‬‬

‫‪6. Output Immediate‬‬

‫يكون ‪ physical output‬ب ‪6‬‬ ‫عندما تكون اشارته ب ‪6‬‬

‫‪7. Set, Reset (N Bits):‬‬

‫وتجعل الخرج دائما بواحد عندما تكون اشارتها ب ‪6‬‬

‫وتجعل الخرج دائما بصفر عندما تكون اشارتها ب ‪6‬‬

‫الرمز ‪ N‬يشير الى بداية ‪ BIT‬الذى من خالله يتم التشغيل ‪ OUTPUT‬فعلى سبيل المثال‬
‫اذا كانت ‪ N = 1‬يشير الى ان االمر سوف ينفذ على ‪ Q0.0‬بينما اذا كان ‪ N=2‬يشير الى ان‬
‫االمر سوف ينفذ على ‪ Q0.0 , Q0.1‬واذا كانت ‪ N = 3‬يشير الى ان االمر سوف ينفذ على‬
‫‪Q0.0 , Q0.1 , Q0.2‬‬

‫مثال ‪:‬‬
‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬
‫‪43‬‬

‫مثال على زيادة عدد ‪: N‬‬

‫مع مالحظة ان ‪ N‬تأخذ من ‪ 6‬الى ‪355‬‬

‫‪8. Set Immediate, Reset Immediate (N Bits) :‬‬

‫ويجعل اشارة الخرج دائما ب ‪ )physical output ( 6‬عندما تكون‬


‫اشارة ‪ set‬ب ‪6‬‬
‫وتجعل اشارة الخرج دائما ب ‪ )physical output ( 0‬عندما تكون‬
‫اشارة ‪ rest‬ب ‪6‬‬
‫وتأخذ ‪ N‬من ‪ 6‬الى ‪638‬‬

‫‪9. No Operation :‬‬

‫هذا االمر ال يؤثر على برنامج المستخدم ‪ .‬وتاخذ ‪ N‬من ‪ 6‬الى‬


‫‪355‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪44‬‬

‫‪10. (RS) and (SR) instructions :‬‬

‫وهى تشبة الفكرة العامة لل ‪ set‬و ‪ reset‬ولكن‬

‫امر ‪ : SR‬تكون االولية ألشارة ‪ SET‬بمعنى ‪:‬‬


‫اذا جاءت اشارتين ‪ SET‬و ‪ RESET‬فى نفس الوقت فأنه يتم تنفيذ اشارة ‪ SET‬اوال وال‬ ‫‪.6‬‬
‫يتم تنفيذ اشارة ‪RESET‬‬
‫اذا جاءت اشارة مستمرة على ‪ RESET‬ثم اشارة على ‪ SET‬فأنة سوف يتم تنفيذ ‪SET‬‬ ‫‪.3‬‬
‫اوال ثم تنفيذ ‪RESET‬‬
‫امر ‪ RS‬تكون االولية ألشارة ‪ RESET‬بمعنى ‪:‬‬
‫اذا جاءت اشارتين ‪ SET‬و ‪ RESET‬فى نفس الوقت فأنه يتم تنفيذ اشارة ‪ RESET‬اوال‬ ‫‪.6‬‬
‫وال يتم تنفيذ اشارة ‪SET‬‬
‫اذا جاءت اشارة مستمرة على ‪ RESET‬ثم اشارة على ‪ SET‬فأنة سوف يتم تنفيذ‬ ‫‪.3‬‬
‫‪ RESET‬اوال وال يتم تنفيذ ‪SET‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


45

: ‫المثال االول‬
. ‫ فاز المطلوب تصميم برنامج يقوم بعمل عكس حركة دوران المحرك‬2 ‫محرك‬

INPUT DESCRIPTION OUTPUT DESCRIPTION


I0.0 STOP_MOTOR Q0.0 FROWARD_MOTION
I0.1 START_FORWARD Q0.1 REVERSE_MOTION
I0.2 START_REVERSE

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


46

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


‫‪47‬‬

‫المثال الثانى ‪:‬‬


‫ميناء بترول تحتوى على نظام انذار مبنى على اربع مناطق تصنف خطورتها على اشتراك‬
‫هذه المناطق مابين بعضها ‪ .‬المنطقة االولى – المنطقة الثانية – المنطقة الثالثة – المنطقة‬
‫الرابعة ‪.‬‬
‫عند حدوث خطر فى المنطقة االولى يتم اعطاء اشارة ضوئية لونها أصفر‬
‫عند حدوث خطر فى المنطقة االولى والثانية يتم اعطاء اشارة ضوئية لونها احمر‬
‫عند حدوث خطر فى المنطقة االولى والثانية والثالثة يتم تشغيل سرينة االنذار الصوتى‬
‫عند حدوث خطر فى المنطقة االولى والثانية والثالثة والرابعة يتم اخالء المكان و تشغيل نظام‬
‫االطفاء االلى ‪.‬‬

‫‪INPUT‬‬ ‫‪DESCRIPTION‬‬ ‫‪OUTPUT‬‬ ‫‪DESCRIPTION‬‬


‫‪I0.0‬‬ ‫‪INPUT_ZONE 1‬‬ ‫‪Q0.0‬‬ ‫‪YELLOW‬‬
‫‪I0.1‬‬ ‫‪INPUT_ZONE 2‬‬ ‫‪Q0.1‬‬ ‫‪RED‬‬
‫‪I0.2‬‬ ‫‪INPUT_ZONE 3‬‬ ‫‪Q0.2‬‬ ‫‪HORN‬‬
‫‪I0.3‬‬ ‫‪INPUT_ZONE 4‬‬ ‫‪Q0.3‬‬ ‫‪AUTOMATIC FIRE FIGHTING‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


48

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


‫‪49‬‬

‫المثال الثالث ‪:‬‬


‫ماكينة ‪ stamper‬تقوم بكبس كتل من المعدن ‪ .‬عند وضع الكتلة على السير فيعطى الحساس‬
‫‪ LS1‬اشارة بتشغيل السير ‪ .‬الى ان تمر الكتلة بالحساس ‪ LS2‬فيتوقف السير ويتم تشغيل مكبس‬
‫ماكينة ‪ stamper‬فيتم كبس المعدن ثم يتم تشغيل السير الى ان يصل الى الحساس ‪LS3‬‬
‫فيتوقف السير حتى يأتى العامل ويأخذ الكتلة من على السير فيعمل السير مرة اخرى وهكذا ‪.‬‬
‫مع مالحظة انة يوجد على ماكينة ‪ stamper‬حساسين احدهما ‪ LSUP‬وهو يشير الى وضع‬
‫المكبس ألعلى واالخر ‪ LSDN‬وهو يشير الى وضع المكبس ألسفل ‪ .‬مع وجود مفتاح لتشغيل‬
‫الماكينة ولمبات بيان ( تشغيل الماكينة – وضع المكبس اذا كان ألعلى او ألسفل – تشغيل‬
‫السير )‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪50‬‬

‫‪INPUT‬‬ ‫‪DESCRIPTION‬‬ ‫‪OUTPUT‬‬ ‫‪DESCRITION‬‬


‫‪I0.0‬‬ ‫‪Start machine‬‬ ‫‪Q0.0‬‬ ‫‪START CONVEYOR‬‬
‫‪I0.1‬‬ ‫‪LS1‬‬ ‫‪Q0.1‬‬ ‫‪START PISTION‬‬
‫‪I0.2‬‬ ‫‪LS2‬‬
‫‪I0.3‬‬ ‫‪LS3‬‬
‫‪I0.4‬‬ ‫‪LS_UP‬‬
‫‪I0.5‬‬ ‫‪LS_DOWN‬‬

‫من الممكن ان يكون المكبس عبارة عن سولنيد ومكبس هواء اذا تم اعطاء اشارة كهربية‬
‫للسولنيد يتم تشغيل المكبس واذا تم قطع االشارة الكهربية عن السولنيد يرجع المكبس لوضعة‬
‫االصلى ‪.‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


51

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


52

: ‫) وهما‬timers( ‫ ثالث انواع من المؤقتات الزمنية‬s7 – 200 ‫يمتلك‬

1. On delay timer (TON)


2. Retentive on delay timer (TONR)
3. Off delay timer (TOF)

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


‫‪53‬‬

‫حيث ‪:‬‬
‫‪ -TXXX‬تمثل ‪current value‬‬

‫‪ -IN‬تمثل تمكين المؤقت للعمل اى اذا كان هناك اشارة علية يعمل المؤقت وفى حالة‬
‫ازالة هذه االشارة يتوقف المؤقت عن العمل‬
‫‪ -PT‬تمثل ‪ preset time‬القيمة التى تمثل الزمن‬

‫‪ ‬يقارن المؤقت بين قيمة ‪ current time‬و قيمة ‪: preset time‬‬

‫قيمة ‪ current time‬اقل من قيمة ‪ preset time‬ففى هذه الحالة ال يعمل المؤقت‬

‫قيمة ‪ current time‬اكبر من قيمة ‪ preset time‬ففى هذه الحالة يعمل المؤقت‬

‫يوجد ثالث انواع من ‪ resolution‬فى ‪ S7 – 200‬هما‬ ‫‪‬‬


‫‪ 6‬مللى ثانية‬ ‫‪.6‬‬
‫‪ 60‬مللى ثانية‬ ‫‪.3‬‬
‫‪ 600‬مللى ثانية‬ ‫‪.2‬‬

‫اوال ‪ :‬مؤقت زمنى تأخير التشغيل ‪: on delay timer‬‬

‫حيث يقوم بتأخير زمن تغير ‪ . contact‬اى بعد مرور الزمن المضبوط علية يعطى‬
‫اشارة ‪ enable‬لخرج المؤقت ‪ .‬بشرط تثبيت اشارة الدخل على ‪IN‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪54‬‬

‫نالحظ ظهور القائمة الصفراء للبرنامج السابق وهى توضح رقم المؤقت والزمن المربوط به‬
‫فمثال ‪ T32 , T96‬يأخذ ‪ 6‬مللى ثانية فقط‬

‫)‪ T33‬الى ‪ (T36‬و )‪ T97‬الى ‪ (T100‬يأخذ الزمن ‪ 60‬مللى ثانية‬

‫( ‪ T37‬الى ‪ ) T63‬و ( ‪ T101‬الى ‪ ) T255‬يأخذ الزمن ‪ 600‬مللى ثانية‬

‫‪ ‬كيفية حساب الزمن ؟؟‬


‫اذا فرضنا انارة مصباح بعد ‪ 65‬ثانية فأننا سوف نقوم بأستخدام ‪resolution 100ms‬‬

‫‪TIME = PT X 100ms‬‬

‫‪15 = PT X 100/1000‬‬

‫‪15 = PT X 0.1‬‬

‫‪PT = 15/0.1 = 150‬‬

‫كما يمكنك تغيير ‪ contact‬المؤقت وتجعله نقطة مغلقة ‪ NC‬كما فى البرنامج التالى‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪55‬‬

‫ثانيا ‪ :‬مؤقت زمنى تأخير التشغيل محتفظ بالحالة )‪: Retentive on delay timer (TONR‬‬

‫وهو يشبة ‪ TON timer‬ولكن يوجد اختالف واحد وهو ان دخل ‪ TONR‬يحتفظ بحالتة لذلك‬
‫نحتاج الى امر ‪ RESET‬حتى يتم ايقاف المؤقت وقت الحاجة ‪.‬‬

‫نالحظ ايضا القائمة الصفراء ولكن مختلفة عن ‪TON‬‬

‫ولكى نوضح عمل هذا المؤقت نأخذ مثال بسيط ‪.‬‬


‫اضاءة مصباح بعد مرور ‪ 65‬ثانية مع ايقافة يدويا ‪.‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪56‬‬

‫ثالثا ‪ :‬مؤقت زمنى تأخير الفصل )‪: off delay timer ( TOF‬‬

‫عند تشغيل المؤقت يقوم بأعطاء اشارة خرج وبعد مرور الزمن المضبوط علية يتم قطع‬
‫االشارة عن الخرج ‪.‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪57‬‬

‫‪ ‬يحتوى ‪ S7 200‬على ‪ 351‬مؤقت زمنى بحيث يتم وضع اسم المؤقت معه الرقم‬
‫والجدول التالى يوضح انواع الموقتات ‪.‬‬

‫‪ ‬مالحظة ‪:‬‬
‫ال تستخدم اثنين ‪ TIMER‬لهم نفس االسم فعلى سبيل المثال ‪:‬‬

‫‪TON------- T32‬‬

‫‪TOF ------- T32‬‬

‫فى هذه الحالة سوف يقع البرنامج فى أخطاء‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


58

: Interval Timers ‫ مؤقت المدة او الفترة‬: ‫رابعا‬

: ‫وينقسم الى‬
1. Beginning Interval Time
2. Calculate Interval Time
: Beginning Interval Time

: ‫حيث‬
)enable input ( EN

) enable output ( ENO

‫ اقصى قيمة زمنية‬. output ‫ الداخلية ويخزنها فى‬current value ‫وهو يقوم بقراءة‬
‫ او يمثل‬6396917395 ‫ اى‬DWORD millisecond value ‫موجودة عبارة عن‬
‫ يوم‬49.7

: Calculate Interval Time

‫ وهذا الفرق‬time provided (IN) ‫ و‬current value ‫وهو يحسب الفرق الزمنى بين‬
DWORD millisecond ‫ اقصى قيمة زمنية موجودة عبارة عن‬. OUT ‫يتم تخزينة فى‬
‫ يوم‬49.7 ‫ او يمثل‬6396917395 ‫ اى‬value

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


‫‪59‬‬

‫مثال ‪:‬‬
‫المطلوب عمل مؤقت زمنى ‪ on delay‬يعمل على تشغيل ‪ Q0.0‬بعد ‪ 2‬ثوانى من الضغط‬
‫على ‪ I0.0‬مع ‪positive edge‬‬

‫حيث ‪ VD‬هى عبارة عن متغير من نوع ‪double word‬‬

‫المثال االول ‪:‬‬


‫يتم ملىء خزان بسوائل كميائية بأستخدام الطلمبة رقم ‪ 6‬والطلمبة رقم ‪ 3‬ثم يتم خلطهم‬
‫بأستخدام ‪ mixer‬ثم يتم السحب من الخزان ‪ .‬حيث وصف العملية الصناعية ‪process‬‬
‫فى الخطوات التالية ‪:‬‬
‫‪ .6‬بعد الضغط على مفتاح ‪ start‬يتم تشغيل ‪ pump 1‬لمدة ‪ 5‬ثوانى لملىء الخزان‬
‫بالمادة الكيمائية االولى ثم يتم ايقاف الطلمبة‬
‫‪ .3‬يتم تشغيل ‪ pump 2‬لمدة ‪ 2‬ثوانى لملىء الخزان بالمادة الكيمائية الثانية ثم يتم‬
‫ايقاف الطلمبة‬
‫‪ .2‬تشغيل ‪ mixer‬لمدة ‪ 10‬ثانية لخلط المادتين مع بعضهم ثم يتم ايقاف ‪mixer‬‬
‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬
60

‫ ثوانى ثم يتم غلق البلف‬8 ‫ لمدة‬2 ‫ وتشغيل طلمبة السحب رقم‬drain ‫ فتح بلف‬.6
‫وايقاف الطلمبة‬
‫ ايقاف العملية الصناعية‬.5

input description output description


I0.0 Start push button Q0.0 Pump1
I0.1 Stop push button Q0.1 Pump2
Q0.2 Mixer
Q0.3 Drain valve
Q0.4 Pump3
M0.0 Memory bit start process
T37 (timer pump1)

T38 (timer pump2)

T39 (timer mixer)

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


61

T40 (timer drain valve and pump 3)

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


62

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


‫‪63‬‬

‫المثال الثانى ‪:‬‬


‫نظام صناعى يتكون من سيرين ‪ .‬اذا تم الضغط على مفتاح التشغيل سوف يتم تشغيل السير‬
‫االول ‪ .‬بعد ‪ 5‬ثوانى سوف يتم تشغيل السير الثانى ‪ .‬وبعد مرور ‪ 65‬ثانية سوف يتم تشغيل‬
‫‪ whole system‬وايقاف السير االول ‪ .‬ثم بعد ذلك يتم ايقاف السير الثانى ‪.‬‬

‫ويمكن تبسيط العملية الصناعية كما يلى ‪:‬‬


‫‪ .6‬تشغيل السير االول‬
‫‪ .3‬بعد ‪ 5‬ثوانى تشغيل السير الثانى‬
‫‪ .2‬بعد ‪ 65‬ثانية ايقاف السير االول وايقاف السير الثانى وتشغيل ‪whole system‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


64

input description output description


I0.0 Start system Q0.0 Conveyor 1
I0.1 Stop system Q0.1 Conveyor 2
Q0.2 whole system

(T37) timer conveyor 2

(T38) timer whole system

M0.0 memory bit for start whole system

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


65

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


‫‪66‬‬

‫تعتمد وظيفة العداد على المقارنة بين قيمة ‪ accumulated value‬و ‪preset value‬‬
‫فاذا تساوت القيمتين يكون خرج العداد ‪6‬‬

‫يمتلك ‪ S7 200‬ثالث انواع من العدادات ‪:‬‬

‫)‪1. Up counter ( CTU‬‬


‫) ‪2. Down counter ( CTD‬‬
‫) ‪3. Up/down counter ( CTUD‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪67‬‬

‫يمتلك ‪ S7 200‬حوالى ‪ 351‬عداد يبدأ الترقيم من ‪ C0‬الى ‪ C256‬و أقصى قيمة للعد هى من‬
‫‪ -23717‬الى ‪. +23717‬‬

‫اوال العداد التصاعدى ‪up counter :‬‬

‫حيث‬
‫‪) count input ( CU‬‬

‫‪) reset (R‬‬

‫‪) preset value (PV‬‬

‫وهو يبدأ العد من القيمة االبتدائية ولكن تصاعدى بمعنى اذا كانت قيمة ‪ PV‬تساوى ‪ 65‬فأنة‬
‫يبدأ العد من صفر الى العدد ‪ 65‬وبعدها يجعل الخرج ‪6‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


68

: down counter ‫ثانيا العداد التنازلى‬

‫حيث‬
CD (count input)

LD (load input)

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


‫‪69‬‬

‫)‪PV (preset value‬‬

‫وهو يبدأ العد من القيمة االبتدائية ولكن تنازلى بمعنى اذا كانت قيمة ‪ PV‬تساوى ‪65‬‬
‫فأنة يبدأ العد من ‪ 65‬الى العدد ‪ 0‬وبعدها يجعل الخرج ‪ 6‬ولكن بشرط تحميل العداد‬
‫بالقيمة من ‪LD‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪70‬‬

‫ثالثا ‪ :‬العداد التنازلى والتصاعدى ‪: up/down counter‬‬


‫وهو يجمع بين العددين التنازلى والتصاعدى السابق شرحهم‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪71‬‬

‫جراج يسمح بدخول ‪ 60‬دراجات نارية ‪ .‬يوجد على مدخل شاشتين االولى توضح انة‬
‫يسمح بالدخول للجراج واالخرى توضح انه ال يسمح بالدخول للجراج‬
‫فى حالة وجود ‪ 60‬دراجات نارية داخل الجراج ال يسمح بالدخول‬

‫فى حالة وجود اقل من ‪ 60‬دراجات نارية داخل الجراج يسمح بالدخول‬

‫‪input‬‬ ‫‪description‬‬ ‫‪output‬‬ ‫‪description‬‬


‫‪I0.0‬‬ ‫‪enter‬‬ ‫‪Q0.0‬‬ ‫‪Access dined‬‬
‫‪I0.1‬‬ ‫‪exit‬‬ ‫‪Q0.1‬‬ ‫‪Allow access‬‬
‫‪I0.2‬‬ ‫‪Reset system‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


72

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


‫‪73‬‬

‫معالجة االخطاء فى ‪S7 – 200‬‬


‫‪Handling errors in the s7 200‬‬

‫يمكن تقسيم االخطاء فى وحدة ‪ S7 200‬الى نوعين ‪:‬‬

‫‪1. Fatal errors :‬‬

‫ويحدث فى ‪error code‬‬

‫‪2. Non-fatal error :‬‬

‫ويحدث فى ‪user program‬‬

‫ومن الممكن معرفة معلومات عن حالة ‪ CPU‬اذا كان موجود بداخله اخطاء ام ال ‪ ,‬وذلك‬
‫عن طريق شريط القوائم نختار‬
‫‪PLC ---- information‬‬

‫سوف نالحظ ظهور مربع حوارى كما بالشكل يعرض ‪ , fatal error‬وكذلك يعرض‬
‫حالة ‪ CPU‬اذا كانت فى وضع ‪stop or run‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪74‬‬

‫عند حدوث ‪ fatal error‬يقوم ‪ CPU‬بعمل ‪ STOP‬ويضىء الليد ‪ SF/DIAG‬باللون‬


‫االحمر ‪.‬‬
‫ومن الممكن اصالح اى ‪ Fatal error‬وذلك عن طريق اتباع الخطوات التالية ‪:‬‬

‫‪ .6‬عمل ‪ turn off‬لل ‪ CPU‬ثم تشغيلة‬


‫‪ .3‬نغير حالة المفتاح من وضع ‪ RUN‬الى ‪STOP‬‬
‫‪ .2‬من شريط القوائم نختار ‪PLC --- power up reset‬‬

‫سوف يقوم بمسح اى ‪ fatal error‬بالجهاز وبعد ذلك تظهر رسالة نجاح‬

‫يوجد بعض االخطاء التى ال يمكن عالجها وذلك بسبب تلف وحدة ‪S7 – 200‬‬

‫نقاط هامة داخل الميكرو وين‬

‫‪Assigning Addresses and Initial Values in the Data Block Editor‬‬

‫يسمح ‪ data block‬الموجود فى ‪ navigation bar‬بأدخال قيم المتغيرات داخل‬


‫‪ variable memory‬مثل ( ‪) byte – words – double words‬‬

‫بعد االنتهاء من كتابة المتغيرات يتم الضغط على مفتاح ‪ enter‬حتى يتم التنسيق االلى‬
‫داخل المحرر‬

‫سوف نقوم بأعطاء مثال ‪:‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


75

VB0 ‘TD’

VB2 16#10

VB3 16#70

VB4 1

VB62 ‘TEMPERTURE ‘

VB28 16#00

VB30 16#00

// ‫ بواسطة‬data block ‫ويتم كتابة التعليقات داخل‬

Using the Status Chart to Monitor Your Program

status ‫ ويمكن الدخول الى‬. ‫حيث نقوم من خاللة بمراقبة وتعديل القيم الموجودة فى البرنامج‬
‫ بواسطة‬chart

View --- component---- status chart

input – output – timer – counter ‫كما يمكن عرض حاالت‬

: ‫ نقوم بعمل االتى‬status chart ‫و ألنشاء جدول‬

address ‫ فى حقول‬address ‫ نقوم بأدخال‬.6


format ‫ فى حقل‬data type ‫ نختار نوع البيانات‬.3
‫ نختار‬process variables ‫ ولمشاهدة حالة‬.2

‫ وذلك من شريط القوائم‬Debug ---- chart status

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


‫‪76‬‬

‫كما يمكنك انشاء صفوف جديدة بواسطة ‪:‬‬


‫‪Edit ---- insert --- row‬‬

‫‪Using the Memory Address to Access Data‬‬

‫اوال يجب تحديد عنوان البيانات فى الذاكرة فأذا فرضنا ان العنوان هو ‪ I3.4‬وبياناته هى‬
‫الصفر او الوحد المنطقى ‪ .‬حيث ‪:‬‬
‫)‪I (INPUT‬‬

‫)‪3(BYTE = 3 BYTE IN MEMORY‬‬

‫)‪4(BIT = 4 BIT IN MEMORY‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


77

DATA TYPE ‫انواع البيانات‬

1. Input Register (I):

bits , bytes , words , double words ‫و تمثل فى‬


: ‫وتأخذ التنسيق التالى‬
Bit I[byte address].[bit address] I0.1

Byte, Word, Double Word I[size][starting byte address] IB4

2. Output Register (Q):

bits , bytes , words , double words ‫و تمثل فى‬

: ‫وتأخذ التنسيق التالى‬


Bit Q [byte address].[bit address] Q1.1

Byte, Word, Double Word Q[size][starting byte address] QB5

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


78

3. Variable (V) Memory Area :

‫ ويمكن تمثيلها ب‬. ‫وتستخدم لتخزين نتائج العمليات وذلك الستخدامها للتحكم فى البرنامج‬
: ‫ وتأخذ التنسيق التالى داخل البرنامج‬. bits , bytes , words , double words

Bit V[byte address].[bit address] V10.2

Byte, Word, Double Word V[size][starting byte address] VW100

4. Bit Memory (M) Area:

‫وتستخدم لتخزين حالة عملية فى البرنامج ألستخدامها مرة او عدة مرات داخل البرنامج‬
‫ وتأخذ التنسيق التالى داخل‬. bits , bytes , words , double words ‫ ويمكن تمثيلها ب‬.
: ‫البرنامج‬
Bit M[byte address].[bit address] M26.7

Byte, Word, Double Word M[size][starting byte address] MD20

5. Sequence Control Relay (S) Memory Area:

. ‫وتستخدم فى تنظيم خطوات عمل البرنامج‬


‫ وتأخذ التنسيق التالى داخل‬. bits , bytes , words , double words ‫ ويمكن تمثيلها ب‬.
: ‫البرنامج‬
Bit S[byte address].[bit address] S3.1

Byte, Word, Double Word S[size][starting byte address] SB4

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


79

6. Special Memory (SM) Bits :

CPU ‫ بمعنى انه يمكن ان تتحكم فى‬CPU ‫وهى تعنى ان يتم االتصال المباشر بين البرنامج و‬
: ‫من خالل برنامج المستخدم مثل‬
) A bit that turns on for the first scan cycle( SCAN CYCLE ‫التحكم فى عملية‬

‫ وتأخذ التنسيق التالى داخل‬. bits , bytes , words , double words ‫ويمكن تمثيلها ب‬
: ‫البرنامج‬
Bit SM[byte address].[bit address] SM0.1

Byte, Word, Double Word SM[size][starting byte address] SMB86

7. Local (L) Memory Area:

bits , bytes , words , double words ‫ ويمكن تمثيلها ب‬. V memory ‫وهى تشبه‬
: ‫ وتأخذ التنسيق التالى داخل البرنامج‬.
Bit L [byte address] . [bit address] L0.0

Byte, Word, Double Word L [size] [starting byte address] LB33

8. the Timer (T) Memory Area:

‫ ولكن عدد صحيح‬16 bit ‫ ويخصص ب‬current value : ‫ويأخذ متغيرين احداهما‬

preset value ‫ و‬current value ‫ وهى نتيجة المقارنة بين‬timer bit : ‫واالخر‬

: ‫ التنسيق التالى‬timer ‫ويأخذ‬

T[timer number] T24

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


80

9. the Counter (C) Memory Area:

‫ ولكن عدد صحيح‬bit 61 ‫ ويخصص ب‬: current value ‫ويأخذ متغيرين احداهما‬

preset value ‫ و‬current value ‫ وهى نتيجة المقارنة بين‬: counter bit ‫واالخر‬

: ‫ التنسيق التالى‬counter ‫ويأخذ‬

C[counter number] C20

10. the Analog Inputs (AI) :

word ‫ بتحويل القيمة التناظرية سواء كانت فولت او مللى فولت او حرارة الى‬S7 200 ‫يقوم‬
16 bit ‫ولكن بقيمة رقيمة تمثل ب‬

AIW[starting byte address] AIW4

(such as AIW0, AIW2, or AIW4)

11. the Analog Outputs (AQ):

‫ الى قيمة تناظرية سواء كانت فولت‬16 BIT ‫ بتحويل القيمة الرقيمة الممثلة فى‬S7 200 ‫يقوم‬
‫او مللى فولت‬
AQW[starting byte address] AQW4

such as) AQW0, AQW2, or AQW4)

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


81

12. Constant Values:


: ‫وهى عبارة عن ثوابت يتم استخدامها داخل البرنامج وتأخذ التنسيق التالى‬
Decimal Format: [decimal value]

Hexadecimal Format: 16#[hexadecimal value]

ASCII Format: .’[ASCII text]’

Real or Floating-Point Format: ANSI/IEEE 754-1985

The binary format is in the form of: 2#1010_0101_1010_0101

: ‫على سبيل المثال‬


 Decimal constant: 20047
 Hexadecimal constant: 16#4E4F
 ASCII constant: ’Text goes between single quotes.’
 Real or floating-point format: +1.175495E-38 (positive)

-1.175495E-38 (negative)

 Binary format 2#1010_0101_1010_0101

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


‫‪82‬‬

‫أسئلة هامة‬

‫يتكون مشروعك من ثالث عناصر ‪:‬‬


‫‪1. User program‬‬
‫)‪2. Data block (optional‬‬
‫) ‪3. CPU configuration ( optional‬‬

‫فعند عمل ‪ download‬لمشروعك يتم تخزين العناصر الثالث فى ‪ RAM‬الموجودة ب‬


‫‪ CPU‬ثم يقوم ‪ CPU‬بنسخ العناصر الثالث اوتوماتيكيا من ‪ RAM‬الى ‪EEPROM‬‬

‫اوال يتم رفع ‪ CPU configuration‬من ‪ RAM‬بينما ‪ user program‬و ‪data block‬‬
‫من ذاكرة ‪EEPROM‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪83‬‬

‫‪:‬‬

‫من شريط القوائم نختار‬


‫‪PLC ------ program memory cartridge‬‬

‫والشكل التالى يوضح االحداث داخل ‪ CPU‬عند نسخ البرنامج الى ‪Memory cartridge‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


84

‫ نستخدم الخيار التالى من شريط‬cartridge ‫وعند مسح جميع البيانات الموجودة ب‬


. ‫القوائم‬
PLC ------ erase memory cartridge

 Restoring Memory on Power On (with Memory Cartridge


Installed) :

Using the Selectable Input Filter to Provide Noise Rejection

0.2 ms to 12.8 ms ‫ ويمكن اختياره من‬delay time ‫ويتم ذلك من خالل‬

‫ معتمد على‬digital input ‫ فى تأخير حالة تغير‬filter input ‫ يساعد‬Delay time


‫الزمن الذى تم وضعه‬
‫ يحمل ويخزن فى‬CPU configuration data ‫ جزء من اجزاء‬input filter ‫يعتبر‬
. CPU ‫ذاكرة‬

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


85

‫ يتم التحديد من شريط القوائم حيث نختار‬Input filter ‫ولتغيير زمن‬

View ----- component ------ system block

Using the Output Table to Configure the States of the Outputs

‫ لحالة‬forced ‫ حيث يقوم بعمل‬stop ‫ الى‬run ‫يعمل هذا الجدول فى حالة التحويل من‬
download ‫ ثم يتم عمل‬output ‫ ولكن بشرط تحديد عنوان‬. ‫الخرج‬

View ----- component ------ system block

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


‫‪86‬‬

‫ويوجد خيارين فى حالة استخدام ‪ output table‬هما ‪:‬‬

‫‪ .6‬استخدام حالة ‪ : freeze‬وهو يسمح باالحتفاظ بحالة الخرج عند وجود ‪ input‬عندما‬
‫يكون ‪ CPU‬فى وضع ‪ . RUN‬فأذا فرضنا ان ‪ I0.0‬بواحد وان حالة ‪ Q0.0‬بواحد‬

‫نتيجة حالة الدخل ‪ .‬فعند تغير وضع ‪ CPU‬من ‪ RUN‬الى ‪ STOP‬نالحظ وجود خرج‬
‫على ‪Q0.0‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪87‬‬

‫‪ .3‬الحالة الثانية وهى تحديد حالة الخرج من الجدول وعند عمل تغير لحالة ‪ CPU‬من‬
‫‪ RUN‬الى ‪ STOP‬نالحظ ظهور خرج على ‪ OUTPUT‬الذى تم تحديده من الجدول‬
‫ولكن بشرط عمل ‪ download‬بعد التحديد‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪88‬‬

‫المواصفات الفنية ‪CPU – S7 200‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


89

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


90

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


91

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


‫‪92‬‬

‫عند حدوث توقف لوحدة ‪ . CPU‬فمن الممكن الدخول عليه ومعرفة سبب توقف ‪ CPU‬وذلك‬
‫عن طريق اكواد االخطاء‬
‫‪PLC ---- information‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


93

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


‫‪94‬‬

‫االعطال والصيانة ‪PLC‬‬

‫تلف فى دوائر الخرج االلكترونية لل ‪CPU‬‬


‫وجود أخطاء فى البرنامج‬
‫فقد فى مصدر القدرة الكهربية المتصل بالخرج‬
‫وجود ‪ forced‬على ‪output‬‬

‫وجود أخطاء فى البرنامج‬


‫وجود ‪ NOISE‬كهربية تتعرض لها ‪CPU‬‬
‫وجود تلف فى وحدة ‪CPU‬‬

‫وجود مشكلة فى برنامج االتصال او مشكلة فى الكابل او ‪connector‬‬

‫يمكن تقسيم الصيانة فى ‪ PLC‬الى نوعين ‪ :‬صيانة وقائية – صيانة طارئة‬

‫اوال الصيانة الوقائية ‪:‬‬


‫تنظيف الفالتر الخاصة بالكبائن ‪ PLC‬وذلك فى حالة انسداد هذه الفالتر قد يعوق دخول‬ ‫‪.6‬‬
‫هواء التبريد الى الكبائن‬
‫تنظيف كروت واجزاء ‪ PLC‬من االتربة ‪ .‬ألن تراكم التراب على االجزاء االلطترونية‬ ‫‪.3‬‬
‫يمكنه عمل ‪ Short circuit‬مما يؤدى الى تلفها‬
‫االحتفاظ بنسخة من برنامج ‪ PLC‬المسئول عن تشغيل الماكينة وذلك حتى ال يسبب‬ ‫‪.2‬‬
‫توقف الماكينة عند فقد البرنامج‬
‫االحتفاظ بقطع الغيار المطلوبة حتى ال يكون وقت ايقاف الماكينة كبير عند طلب قطع‬ ‫‪.6‬‬
‫الغيار‬
‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬
‫‪95‬‬

‫ثانيا الصيانة الطارئة ‪:‬‬


‫يجب اعداد االرضى بطريقة جيدة وفصل ‪ dirty Erath‬عن ‪ clean Erath‬مع قياس‬ ‫‪.6‬‬
‫مقاومة االرضى بأستمرار‬
‫عزل اشارات الدخل او الخرج عن كروت الدخل او الخرج بواسطة اجهزة العزل مثل‬ ‫‪.3‬‬
‫استخدام الريالهات‬
‫عند تحديد االعطال يتم قراءة االشارات بواسطة ‪ LED‬الموجودة على كروت الدخل او‬ ‫‪.2‬‬
‫الخرج او بأستخدام مراقبة البرنامج ‪program status‬‬
‫معرفة اعطال ‪ CPU‬عن طريق لمبات االخطاء الموجودة علية او تحديد نوع الخطأ‬ ‫‪.6‬‬
‫بواسطة البرنامج ‪FATAL ERROR‬‬

‫‪Using the Cross Reference Table to Check Your Program References‬‬

‫يسمح لك لعرض كل العناصر المستخدمة فى البرنامج ومعلومات عنها‬


‫فعند الضغط بالماوس ‪ double click‬على اى عنصر موجود بالجدول سوف يتم تحديد مكان‬
‫العنصر فى ‪program block‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪96‬‬

‫‪Editing Your Program in RUN Mode‬‬

‫يسمح لك ‪ S7 200‬بتعديل البرنامج اثناء ‪ RUN‬ولكن بشرط حفظ البرنامج واختيار من‬
‫شريط القوائم االختيار التالى ‪:‬‬
‫‪Debug ------ program edit in RUN‬‬

‫‪Forcing Specific Values‬‬

‫ويتم ذلك من خالل ‪ status chart‬حيث نقوم بتحديد الخرج المراد عمل له ‪ forced‬ثم‬
‫ندخل قيمة ‪ 6‬فى خانة ‪ new value‬ونضغط ‪ enter‬ونضغط بزر الفأرة االيمن على الخانة‬
‫المراد عمل لها ‪ force‬ونختار من القائمة ‪ forced‬اذا اردنا ان نرجع عن هذا االجراء‬
‫نختار من القائمة ‪unforced‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


97

‫لوحات العرض‬
Display Panels

: ‫يمكن تقسيم لوحات العرض الى نوعين‬


text display (TD) ‫ شاشة عرض النصوص‬.6
operator and touch panel display ‫ شاشات عرض الرسوميات والنصوص‬.3

: ‫ شاشة عرض النصوص‬: ‫اوال‬


‫ وتعتبر من الوسائل‬. ‫وهى تقوم بعرض رسائل الخطأ وبيانات عن العملية الصناعية‬
‫ من خالل برنامج‬configuration ‫الرخيصة ألستخدامها فى التطبيقات ويتم عمل‬
‫الميكرووين‬
: TD ‫ويوجد عدة أنواع من‬

1. TD 100 C:

4-line text display with 2 font choices

2. TD 200 C:

2-line text display with 20 characters per line for a total of 40


characters

3. TD 200:

Four keys with predefined, set-bit functions and allows up to eight


set-bit functions

4. TD 400 C:

Have a 2- or 4-line text display depending on your font and


character choice.

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


‫‪98‬‬

‫ثانيا ‪ :‬شاشات عرض المشغل واللمس ‪: Operator and Touch Panel Displays‬‬

‫ويوجد منها ‪OP73 MICRO – TP177 MICRO‬‬

‫حيث تقوم بعملية التشغيل والمراقبة للعملية الصناعية ‪ .‬ويتم عمل لها ‪configuration‬‬
‫من خالل برنامج ‪WINCC flexible‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


99

‫أوامر النقل‬
move instructions

: ‫ اوامر‬7 ‫يمكن تقسيم أوامر النقل الى‬

8. Move byte
9. Move word
10. Move double word
11. Move real
12. Move block byte
13. Move block word
14. Move block double word

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


‫‪100‬‬

‫اوال ‪: move byte :‬‬

‫من المعروف ان مساحة البايت تأخذ فى الذاكرة ‪ 8 bit‬اى تأخذ الرقم من ‪ 0‬الى ‪355‬‬

‫وتكون نوع البيانات سواء فى ‪ input‬او ‪: output‬‬

‫‪VB – IB – QB – MB – SB – SMB – LB – AC - CONSTANT‬‬

‫مثال ‪ :‬اذا فرضنا أننا عندنا )‪ 2 input ( I0.0 – I0.1‬ونريد تحميل العدد ‪ 3‬فى عنوان‬
‫الذاكرة ‪ VB30‬من خالل ‪ I0.0‬وتصفير العنوان مرة أخرى من خالل ‪I0.1‬‬

‫ثانيا ‪: move word :‬‬

‫من المعروف ان مساحة ‪ word‬فى الذاكرة تأخذ ‪ 16 bit‬وتكون نوع البيانات سواء فى‬
‫‪ input‬او ‪: output‬‬

‫‪VW – IW – QW – MW – SW – SMW – LW – AC – T – C –AIW -AQW‬‬


‫‪CONSTANT‬‬

‫مثال ‪ :‬اذا فرضنا أننا عندنا ‪ 2 input‬االول يقوم بتحميل العدد ‪ 200‬فى مكان الذاكرة‬
‫‪ VW 50‬والثانى يقوم بتحميل العدد ‪ 3000‬فى مكان الذاكرة ‪VW 100‬‬
‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬
‫‪101‬‬

‫ثالثا ‪: move double word :‬‬

‫وتأخذ مساحة فى الذاكرة مقدارها ‪ 32 bit‬تأخذ نوع البيانات سواء كان فى حالة ‪input‬‬
‫او ‪output‬‬

‫‪VD – ID – QD – MD – SD – SMD – LD – HC – AC – constant‬‬

‫وللتوضيح نأخذ مثال ‪:‬‬


‫اذا فرضنا اننا عندنا الرقم ‪ 600000‬ونريد تحميلة فى مكان الذاكرة ‪ VD40‬من خالل‬
‫‪ I0.0‬وعندنا الرقم ‪ 600005‬ونريد تحميلة فى المكان ‪VD60‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪102‬‬

‫رابعا ‪: move real :‬‬

‫وتأخذ مساحة فى الذاكرة مقدارها ‪ bit 23‬تأخذ نوع البيانات سواء كان فى حالة ‪input‬‬
‫او ‪output‬‬

‫‪VD – ID – QD – MD – SD – SMD – LD – AC – constant‬‬

‫نفس طريقة االمثلة السابقة‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪103‬‬

‫خامسا ‪: move block byte :‬‬

‫ووظيفتها تقوم بنقل عدد من قوالب ‪ byte‬يتم اختيار عددهم من خالل ‪ N‬والتى تأخذ العدد‬
‫من ‪ 6‬الى ‪355‬‬

‫بفرض اننا عندنا ‪ 4 block‬بدايتهم من ‪ VB20‬الى ‪ VB23‬ونريد نقل بيانات هذه ‪block‬‬
‫الى ‪ VB100‬اى سوف تأخذ ‪VB100 – VB101 – VB102 – VB103‬‬

‫حيث ‪VB20 ---- 1‬‬

‫‪VB21------- 2‬‬

‫‪VB22--------- 3‬‬

‫‪VB23----------- 4‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


104

: move block word and double word : ‫سادسا وسابعا‬

‫وهى تشبة الحاالت السابقة التى تم شرحها‬


ENO : ERROR CONDITIONS set ENO = 0

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


‫‪105‬‬

‫أمر ‪: SWAP‬‬

‫وهو يقوم بعملية التبديل بين ‪16 BIT‬‬

‫‪0000 0000 0000 0100 = 4‬‬

‫بعد عمل ‪SWAP‬‬

‫‪0000 0100 0000 0000 = 1024‬‬

‫و تأخذ ‪ SWAP‬نوع البيانات االتية ‪:‬‬

‫‪VW – IW – QW – MW – SW – SMW – LW – T – C – AC‬‬

‫المثال التالى يراد عمل ‪ SWAP‬للعدد ‪ 6‬؟‬

‫مثال أخر على ‪: SWAP BYTE‬‬

‫تحميل العدد ‪ 5‬فى ‪ VB0‬ثم تحميله فى المراكم ثم يتم عمل له ‪SWAP‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


106

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


‫‪107‬‬

‫االوامر الحسابية‬
‫‪Math instruction‬‬
‫تنقسم االوامر الحسابية فى ‪ micro win‬الى‬

‫‪Add – subtract – multiply – divide – increment – decrement‬‬

‫وتأخذ ثالث أنواع من البيانات ‪integer – double integer – real‬‬

‫) ‪Integer ( 16 bit‬‬

‫) ‪Double integer – real (32bit‬‬

‫ويتم التعامل مع البيانات فى ‪ IN1 ,IN2 , OUT‬بالجدول التالى ولكن فى حالة أستخدام‬
‫أوامر الجمع والطرح والضرب والقسمة‬

‫‪add integer - subtract integer‬‬

‫مثال ‪:‬‬
‫جمع عددين ‪ , integer‬االول العدد ‪ 300‬و الثانى العدد ‪ 200‬ثم تخزين الناتج فى‬
‫‪ VW10‬وبعد ذلك طرح الناتج من العدد ‪ 1000‬ثم تخزين الناتج فى ‪VW20‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪108‬‬

‫‪Add double integer – subtract double integer‬‬

‫نفس المثال السابق ولكن االرقام ومكان التخزين مختلف‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


109

Multiply integer – divide integer

Multiply double integer – divide double integer

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


110

Input (integer 16 bit)

Output (double integer 32 bit)

: ‫مثال‬

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


‫‪111‬‬

‫‪Increment byte – decrement byte‬‬

‫حيث يتم زيادة او نقصان ‪ input‬بمقدار واحد‬

‫‪IN+1=OUT‬‬

‫‪IN-1=OUT‬‬

‫مثال ‪ :‬يتم زيادة العدد ‪ 6‬بمقدار ‪ 6‬ثم تخزينة فى ‪ VB33‬ثم نقصان العدد ‪ 6‬بمقدار ‪ 6‬وتخزينة‬
‫فى ‪ VB33‬مرة أخرى‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


112

Increment word – decrement word

Increment double word – decrement double word

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


113

‫اوامر االرقام العشرية‬


floating point math
: ‫ وتنقسم الى االوامر االتية‬32 bit ‫وتأخذ مساحة فى الذاكرة‬

Add real – subtract real

Multiply real – divide real

Square root

Sin calculation

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


114

Cos calculation

Tan calculation

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


‫‪115‬‬

‫فرن لتصنيع زجاج ‪ .‬يوجد على الفرن ‪ thermocouple‬متصل مع جهاز ارسال يعطى‬
‫أشارة خرج من ‪ 0‬الى ‪ 60‬فولت المطلوب قراءة درجة حرارة الفرن على شاشة ‪TD 200‬‬

‫الخطوة االولى ‪ :‬نقوم بأنشاء البرنامج ‪:‬‬

‫حيث ‪ sm0.0‬اول ‪ scan cycle‬وتكون دائما ب ‪6‬‬

‫‪ VW37‬وهو الخرج الذى سوف يتصل بشاشة ‪TD‬‬

‫‪ V14.7‬وهى ‪Message enable bit‬‬

‫الخطوة الثانية ‪ :‬يتم عمل ‪ TD CONFIGRATION‬ويتم ذلك من قائمة االدوات نختار‬

‫‪Tool ----------- TD 200 wizard‬‬

‫ونتبع الصور التالية ‪:‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


116

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


117

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


118

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


119

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


120

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


‫‪121‬‬

‫اذا تم فتح ‪ data block‬سوف نالحظ ظهور كود ‪ configuration‬الشاشة والذى وف يتم‬
‫نسخة فى ‪simulation‬‬

‫و‬

‫والنتيجة سوف يتم تشغيل ‪ simulation‬وتحميل البرنامج‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪122‬‬

‫طلمبة مياة يتم التحكم بها عن طريق مفتاحين تشغيل وايقاف والمطلوب عمل برنامج يقوم‬
‫بعرض ثالث رسائل على شاشة ‪ TD 200‬وهما ‪:‬‬

‫‪Please start system‬‬

‫‪On pump‬‬

‫‪Off pump‬‬

‫البرنامج كما هو موجود بالصور التالية‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


123

VB14.7 ----------------------- please start system

VB14.6 --------------------- pump on

VB14.5 --------------------- pump off

VB14.7 – VB14.6 – VB14.5

configuration TD 200 ‫يتم الحصول عليهم أثناء عمل‬

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


124

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


‫‪125‬‬

‫أوامر المقارنة‬
‫‪compare instructions‬‬

‫وتستخدم للمقارنة بين متغيرين سواء كانوا من نوع‬


‫‪Byte, integer, double integer, real‬‬
‫ويمكن تقسيم المقارنة الى ‪ :‬يساوى – ال يساوى – اكبر من او يساوى – اقل من او يساوى –‬
‫اكبر من – اصغر من‬

‫يساوى‬

‫ال يساوى‬

‫اكبر من او يساوى‬

‫اقل من او يساوى‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪126‬‬

‫اكبر من‬

‫اصغر من‬
‫مثال ‪:‬‬
‫نقوم بأستخدام المقاومة المتغيرة الموجودة ‪ CPU 214‬فى التساوى بين قيمتين من نوع ‪Byte‬‬
‫القيمة االولى ‪ SMB28‬يتم تحميلها فى ‪ VB1‬بينما القيمة الثانية ‪ SMB29‬يتم تحميلها فى‬
‫‪ VB2‬ويتم المقارنة بينهما فأذا تساوت القيمتين يتم اعطاء اشهرة خرج على ‪Q0.0‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪127‬‬

‫ويمكن تطبيق المثال السابق على اوامر ‪ BYTE‬الباقية‬

‫وتأخذ مساحة من البيانات مقدارها ‪16 bit‬‬

‫يساوى‬

‫ال يساوى‬

‫اكبر من او يساوى‬

‫اقل من او يساوى‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪128‬‬

‫اكبر من‬

‫اصغر من‬

‫مثال ‪ :‬يتم تحميل قيمة ‪ SMB28‬فى ‪ VW7‬ولكن بعد تحويلها من ‪ BYTE‬الى ‪ WORD‬ألن‬
‫‪ SMB28‬يمثل ‪ , BYTE‬قيمة ‪ VW7‬المطلوب مقارنتها مع العدد ‪50‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪129‬‬

‫يساوى‬

‫ال يساوى‬

‫اكبر من او يساوى‬

‫اقل من او يساوى‬

‫اكبر من‬

‫اصغر من‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪130‬‬

‫مثال ‪ :‬المقارنة بين قيمتين ‪ VD1‬و العدد ‪ 50‬فاذا تساوت القيمتين يتم اخراج اشارة على‬
‫‪ ( Q0.0‬نفس فكرة المثال السابق )‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪131‬‬

‫وتحتوى ايضا على يساوى – ال يساوى – اكبر من او يساوى – اصغر من او يساوى –‬


‫اكبرمن – اصغر من‬

‫مثال ‪ :‬المقارنة بين قيمة ‪ VD6‬و قيمة ‪ 0.0‬وعند التساوى يعطى اشارة خرج‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


132

06031862010 ‫ محمد محمود‬.‫م‬ PLC INTRODUCTION


‫‪133‬‬

‫عداد يقوم بعد المنتجات على خط انتاج ‪ ,‬فاذا وصل عدد المنتجات الى ‪ 5‬يتم تشغيل لمبة‬
‫خضراء بينما اذا وصل عدد المنتجات الى ‪ 60‬يتم تشغيل لمبة حمراء واذا وصل عدد‬
‫المنتجات الى ‪ 65‬منتج يتم تشغيل انذار صوتى ( استخدم عداد واحد )‬

‫وهى اختصار ‪American Standard Code for Information Interchange‬‬

‫اى الشفرة االمريكية لتبادل المعلومات وهى مكونة من ‪8 bit‬‬


‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬
‫‪134‬‬

‫حيث يتم تخزين كل الملفات على شكل ارقام‬


‫حيث ‪ 0‬الى ‪ 26‬هى اوامر التحكم‬

‫‪ 15‬الى ‪ 90‬هى الحروف الكابتيل باللغة االنجليزية‬

‫‪ 97‬الى ‪ 633‬هى الحروف الصغيرة باللغة االنجليزية‬


‫باقى االرقام هى رموز الفاصلة واالقواس و عالمة االستفهام‬
‫الجدول التالى يوضح الرموز وما يقابلها من ارقام‬

‫ويستخدم نظام االسكى كود فى اوامر ‪convert‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪135‬‬

‫اوامر التحكم‬
‫‪program control instruction‬‬

‫وهو يقوم بأيقاف تنفيذ برنامج المستخدم وتحويل حالة ‪ CPU‬من ‪ RUN‬الى ‪STOP‬‬

‫ويستخدم فى انهاء برنامج المستخدم الكلى ويمكن وضعه فى البرنامج من غير وضع خرج‬
‫كما بالشكل فهو يقوم بأنهاء تنفيذ البرنامج الرئيسى اذا تم الضغط على ‪I0.0‬‬

‫ويستخدم هذا االمر عندما نريد اهمال جزء معين من البرنامج اذا تحقق شرط ما يؤدى الى‬
‫القفز الى ‪ label‬وتحقيق جزء اخر من البرنامج‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪136‬‬

‫وتأخذ ‪ n‬من ‪ 0‬الى ‪355‬‬

‫فى المثال التالى عند الضغط على ‪ i0.0‬ال يتم تحقيق ‪ network 2‬ويتم القفز على‬
‫‪ network 4‬بينما اذا لم يتم الضغط على ‪ i0.0‬سوف يتحقق البرنامج كامال‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪137‬‬

‫رؤيا عامة عن الشبكات و االتصاالت فى ‪S7 200‬‬

‫اى شبكة تحتوى على اكثر من ‪ PLC‬يجب ان تتكون من ‪master and slave‬‬

‫مما يتيح لك من خالل ‪ master‬ان تقوم بعمل االتى ‪:‬‬

‫‪ .6‬معرفة جميع المعلومات عن الشبكة هل جميع االجهزة متصلة مع بعضها ام يوجد‬


‫جهاز خرج من الشبكة‬
‫‪ .3‬معرفة حالة كل ‪ CPU‬موجود على الشبكة‬

‫يمكن تقسيم الشبكات فى ‪ PLC‬الى االتى ‪:‬‬

‫وتتكون هذه الشبكة من جهاز واحد يمثل ‪ master‬متصل مع مجموعة من االجهزة‬


‫تمثل ‪ slave‬كما بالشكل‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪138‬‬

‫وتتكون هذه الشبكة من مجموعة من اجهزة تمثل ‪ master‬ومجموعة أخرى تمثل‬


‫‪ slave‬متصلة مع بعضها‬

‫ويتم عمل ‪ configuration‬للشبكة بواسطة الكمبيوتر ‪PC‬‬

‫كما يمكنك أختيار ‪ configuration‬الخاص بالشبكة بواسطة الجدول التالى‬

‫فى حالة استخدام كمبيوتر عادى يتم شراء كارت ‪ CP‬يتم تركيبة داخل الكمبيوتر‬
‫وتوصيلة بالشبكة مثل ‪ CP5511‬كل كارت يحتوى على منفذ ‪ RS485‬ويتم اختيار نوع‬
‫البروتكول ‪PPI – MPI – PROFIBUS‬‬

‫بخصوص خطوات اعدادات الشبكة تشبة خطوات اتصال ‪ CPU‬مع كابل االتصال‬
‫‪ PPI‬والكمبيوتر والتى تم شرحها فيما سبق‬
‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬
‫‪139‬‬

‫بعد تحديد نوع االتصال )‪PC / PPI (CABLE PPI‬‬

‫تحديد عنوان االتصال ‪ address‬مع مالحظة عدم تشابه االتصال مابين‬ ‫‪.6‬‬
‫االجهزة وبعضها‬
‫يتم اختيار وقت انشاء االتصال مابين االجهزة ‪time out‬‬ ‫‪.3‬‬
‫اذا كانت الشبكة من نوع ‪ multiple master‬يتم وضع عالمة امام‬ ‫‪.2‬‬
‫‪multiple master network‬‬
‫تحديد سرعة ارسال واستقبال البيانات ‪transmission rate‬‬ ‫‪.6‬‬
‫يتم تحديد اقصى عدد لألجهزة الموجودة على الشبكة ‪highest station‬‬ ‫‪.5‬‬
‫‪address‬‬
‫فى تبويت ‪ local connection‬يتم اختيار منفذ االتصال ‪ com port‬فى‬ ‫‪.1‬‬
‫حالة استخدام ‪ modem‬يتم وضع عالمة علية وتحديد منفذ االتصال‬
‫يتم الضغط على مفتاح ‪ok‬‬ ‫‪.7‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪140‬‬

‫يقوم الكمبيوتر بمراقبة ‪ station 2‬بينما شاشات العرض ‪ station 1‬تراقب ‪station 4‬‬
‫وشاشة العرض الثانية ‪ station 5‬تراقب ‪station 3‬‬

‫يقوم ‪ station 3‬يمكنه ارسال واستقبال البيانات من والى ‪station 2 and station 4‬‬

‫يقوم ‪ station 4‬يمكنه ارسال واستقبال البيانات من والى ‪station 2 and station 3‬‬
‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬
‫‪141‬‬

‫يوجد ثالث انواع من البروتوكوالت ‪:‬‬


‫)‪1. Point to point interface (PPI‬‬
‫)‪2. Multipoint interface (MPI‬‬
‫‪3. PROFIBUS‬‬

‫ويعمل مع ‪master / slave‬‬

‫وليس محدد بعدد معين من ‪ master‬على الشبكة ولكن اليزيد عن ‪32 master‬‬

‫ثانيا ‪: MPI protocols :‬‬

‫ويعمل مع كال من ‪master / master protocol , master / slave protocols‬‬


‫ولكن عليك اوال تحديد نوع جهاز االتصال فعلى سبيل المثال ‪:‬‬
‫اذا كان االتصال مع ‪ S7 300‬ففى هذه الحالة نستخدم ‪ master / master‬بينما فى‬
‫حالة االتصال مع ‪ S7 200‬ففى هذه الحالة نستخدم ‪master / slave‬‬

‫ثالثا ‪: PROFIBUS :‬‬


‫وتعطى اعلى سرعة فى ارسال واستقبال البيانات من خالل الشبكة ‪.‬‬
‫وتتكون الشبكة من جهاز واحد يمثل ‪ master‬ومجموعة اجهزة تمثل ‪slave‬‬
‫ويستخدم ‪ PROFIBUS‬كابل ‪ RS485‬بسلكين مما يسمح بتوصيل اعلى من ‪ 23‬جهاز‬
‫على الشبكة‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪142‬‬

‫منفذ االتصال فى ‪ S7 200‬عبارة عن ‪ D connector‬بتسعة أطراف ممثال فى ‪RS‬‬


‫‪485‬‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


‫‪143‬‬

‫جدول المسافات وانتقال البيانات ‪:‬‬


‫حيث يعتمد تحديد المسافات على سرعة انتقال البيانات‬

‫‪06031862010‬‬ ‫م‪ .‬محمد محمود‬ ‫‪PLC INTRODUCTION‬‬


https://www.electrobrahim.com

https://www.facebook.com/AB.Electromecanique

You might also like