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

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

 

  الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones

اذهب الى الأسفل 
كاتب الموضوعرسالة
abdmusleh
عميد
عميد



عدد الرسائل : 991
العمر : 39
الموقع : الاردن
تاريخ التسجيل : 19/04/2010

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones Empty
مُساهمةموضوع: الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones    الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones Emptyالخميس 12 مايو 2011 - 4:34


الفصل الرابع: العمل مع برمجيات و بيانات Step 7




الاهداف:

- مبادىء برمجة Step 7.
- انواع القوالب Blocks في Step 7.
- معالجة البرنامج في Step 7.
- منطقة الذاكرة المعنونة Addressing Memory Area.
- انواع البيانات Data Types في Step 7.
- تعليمات لغة السلم Ladder و لغة قوالب الاقترانات Function Block.
- محرر لغة السلم Ladder و لغة قوالب الاقترانات Function Block و لغة التحكم المهيكلة Structured Control Language.
- فتح و تحرير و تخزين القوالب.
- انشاء و استدعاء القوالب و التعليمات.


مقدمة الى مبادىء برمجة step 7

بيئة برمجة Step 7 تدعم هيكلة مهام التحكم Control Tasks الخاصة بالة او عملية صناعية مع الكود التحكم الخاص بالوحدة الوظيفية, بهذه الطريقة, يتم تقسيم النظام الى اجزاء منطقية Logical او وظيفية Functional, و اذا لزم الامر يتم تقسيم كل جزء الى اجزاء فرعية اخرى. عندما يتم تقسيم العملية الصناعية الى اجزاء تعكس مهام التحكم Control Tasks, فان الموارد البرمجية في Step 7 تدعم تطوير الاجزاء الوظيفية من خلال كودات برمجية يطلق عليها قوالب Blocks. يمكنك استدعاء هذه القوالب Blocks متى شئت.

هناك عدة مزايا لاستخدام طريقة القوالب Blocks في البرمجة, كل قالب Block هو عبارة عن وحدة عاملة يمكن استدعاؤها كلما دعت الحاجة الى ذلك, و يمكن حفظها داخل مكتبة Library ليتم استخدماها لاحقا. بما ان كل قالب Block يؤدي وظيفة معينة, فان ذلك يسهل العمل على البرنامج, و يمكن فحص كل قالب Blockعلى حدا. يمكن نسخ الكود في القالب Block و استخدامه اكثر من مرة في نفس البرنامج, كما يمكن التعديل عليه اذا تطلب تطبيق مشابه بعض التغييرات. و اخيرا, يمكن استدعاء القالب في البرنامج على اسس مشروطة Conditional او غير مشروطة.



استراتيجية تصميم البرنامج

ان استراتيجية تصميم البرنامج مرتبطة ارتباط وثيق بهيكلية برنامج Step 7, على الرغم من امكانية استخدام الية خطية بيسطة في برمجة الحاكمات المنطقية PLC, فان استخدام الية مهيكلة Structured Design باستخدام قوالب وظيفية تستخدم كودات لتنفيذ مهام مختلفة,هو الاساس في هيكلية برنامج Step 7. في اي من الحالتين السابقتين, فان افضل استراتيجية تصميم تتم من خلال خطوتين, الخطوة الاولى تجزئة الماكنة او العملية الصناعية الى الى اجزاء برمجية Logical Units, و كل جزء الى اجزاء فرعية و عمليات. اما الخطوة الثانية فتتم من خلال تطوير منطق التحكم Control Logic الخاص بكل جزء و عملية صناعية على حدا. الحزمة القياسية لبرنامج Step 7 تدعم ثلاث لغات برمجة و التي يمكنك استخدامها بشكل منفصل او مدمج للوصول الى الكود المناسب للقالب Block.


تحديد اجزاء الماكنة او العملية الصناعية

اي ماكنة او عملية صناعية يمكن تقسيمها الى اجزاء منطقية, هذه الاجزاء تعكس مفهوم الانظمة الفرعية, كل واحد منها يمثل جزء وظيفي من النظام العام. من خلال تقسيم النظام الى وحدات, سيتمكن اعضاء فريق التصميم و التطوير من التعرف على ما يجب التحكم به بسهولة, ان عملية التقسيم المخططة بشكل جيد تسمح بالعمل الجماعي من خلال مجموعات مختصة بكل قسم, و تؤدي الى استخدام اسهل عند العودة للتعديل على البرنامج مرة اخرى. ان تحديد الوحدات المختلفة هي اول خطوة في تطوير برنامج يستخدم نظام البرمجة باستخدام القوالب Blocks لبرنامج Step 7.

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 44130131



الشكل السابق يمثل تقسيم منطقي لماكنة صناعية تبعا لوظيفة كل جزء من اجزاء الماكنة.


تحديد المهام الفرعية Subtasks العمليات Operations

عادة ما تكون وظيفة الماكنة او عملية الصناعية داخل المنشاة الصناعية الوصول الى منتج نهائي, و لذلك فانه يمكن تقسيم كل جزء على اساس وظيفي, و الذي لا بد من انجازه للوصول الى الهدف النهائي من النظام الكلي. كل مهمة تتكون عادة من مجموعة من العمليات, و التي تتطلب التحكم بمجموعة محددة من الاجهزة, العمليات الصناعية المتتابعة Process Loop, او اي عناصر صناعية اخرى و التي يجب برمجة المنطق الخاص بها Control Logic. هذا المفهوم هو احدى الطرق لتوظيف الاجراءات الرئيسية, المهام الفرعية, و العمليات الصناعية التي لا بد من تطويرها. المهام البرمجية مثل انظمة الاتصالات, الانذارات Alarms, تقارير الانتاج, و الية العمل لا بد ايضا من وضعها في عين الاعتبار.



عدل سابقا من قبل abdmusleh في الأحد 19 يونيو 2011 - 5:51 عدل 1 مرات
الرجوع الى أعلى الصفحة اذهب الى الأسفل
abdmusleh
عميد
عميد



عدد الرسائل : 991
العمر : 39
الموقع : الاردن
تاريخ التسجيل : 19/04/2010

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones Empty
مُساهمةموضوع: رد: الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones    الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones Emptyالإثنين 30 مايو 2011 - 8:14


انشاء البرنامج الذي يحتوي على منطق التشغيل Control Logic


الخطوة الثانية في استراتيجية العمل هي انشاء البرنامج الذي يحتوي على منطق التشغيل Control Logic, للمهام المختلفة التي تم تقسيم المنشاة الصناعية على اساسها, او بكلمات اخرى, تحديد كيف تعمل عملية معينة ( مثل الماكنات, او العمليات الصناعية المتتابعة...) و كيف سيتم استخدامها. فعلى سبيل المثال, قد تتطلب مهمة فرعية التحكم بمجموعة من المشغلات الرقمية و التشابهية. اكمال المهمة من الممكن ان يتطلب ايضا التعامل مع معالجة البيانات المستخدمة. و ربما استخدام انظمة الاتصالات. لعمل منطق التشغيل Control Logic لا بد من تحديد الوظائف الخاصة بكل عملية على حدا و من ثم انشائها.

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 92640094



الشكل السابق يوضح كيفية تقسيم العملية الصناعية الى وظائف تحكم محددة و تقنية, و ثم تقسيم هذه الوظائف الى مهام فرعية حتى الوصول الى الاجهزة و العمليات الصناعية المتتابعة Control Loops.


التقسيم الوحدي الوظيفي للقوالب


كما راينا الى الان, انشاء برنامج تحكم في Step 7 يتمحور حول استخدام قوالب وحدية Modular Block, كل منها يؤدي مهمة معينة في النظام العام, هذا المبدا يتطلب استخدام برنامج مكون من مجموعة من الاجراءات. في Step 7 الاجراء يسمى قالب Block. كل قالب من الممكن ان يستجيب لمهمة فرعية كما هو مبين في الشكل السابق. بمعنى اخر ان المهام المختلفة لكل ماكنة او عملية صناعية متتابعة يتم تقسيمها الى الى قوالب Blocks, كل منها يحتوي منطق التشغيل للجهاز او المعلية الصناعية لاتمام المهمة الفرعية. من الممكن احيانا استخدام عدة قوالب للتحكم بالوحدة من العملية الصناعية.

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


انواع القوالب في Step 7


ان بيئة البرمجة في Step 7 توفر ثلاثة اصناف من القوالب Blocks و التي يمكن من خلالها انشاء برنامج المستخدم. قوالب المستخدم User Block هي المصدر الاساسي لS7 و الذي يمكنك من ادخال البرامج و القوالب. قوالب النظام System Block هي القوالب الداخلة في نظام التشغيل للحاكمات المنطقية, و لكن يمكن استدعاؤها من برنامج المستخدم. القوالب المقياسية Standard Blocks هي القوالب ذات الوظائف الخاصة و التي يمكنك استخدامها في برنامجك, تدعم القوالب المقياسية Standard Blocks بعض التطبيقات مثل متحكمات ال PID, و تعريفات الاتصالات Communication Drivers. مجموعة كبيرة من القوالب المقياسية Standard Blocks موجودة في المكتبة الاساسية Library الخاصة ب S7. بينما يمكن شراء حزمة من القوالب الاخرى بشكل منفصل.

لا بد من التفريق بين المصادر التي يتم استخدامها في البرنامج, الشكل التالي يوضح جميع هذه المصادر, فمثلا يمكنك استخدام ال (OBs, SFCs and SFBs) لترتيب البرنامج و تقسيمه, وتعتمد على وحدة المعالجة المركزية CPU. اما المصادر او القوالب التي يمكنك فعليا برمجتها فهي (FBs, FCs and DBs). اما حجم القالب (عدد البايت) فهو يعتمد ايضا على على وحدة المعالجة المركزية CPU. من الممكن ان تراقب الخصائص الوظيفية Performance Characteristics لوحدة المعالجة المركزية CPU من نافذو الربط بالنظام Online Window من منظم سيماتك Simatic Manager, و ذلك باختيار ال CPU المطلوبة و من ثم من القائمة قم باختيار التالي:

PLC--Module Information.

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 87273940



الشكل السابق يمثل مصادر Step 7.


قوالب النظام System Block


تتضمن قوالب النظام System Block كل من اقترانات النظام System Function (SFCs) و قوالب اقترانات النظام System Function Block (SFBs), و التي هي جزء متضمن من وحدة المعالجة المركزية S7 CPU. بما ان اقترانات النظام System Function (SFCs) هي وظائف مضمنة, فلا يمكن تعديل الكود الخاص بها, و لها دائما ارقام ثابتة من حيث الاولوية. تتعامل اقترانات النظام System Function (SFCs) مع مجموعة من المهام العامة و التي تساهم في تقليل الزمن الكلي للبرمجة. تتيح اقترانات النظام العددية Numerous للمستخدم الدخول الى خدمات وحدة المعالجة المركزية CPU, مثل تفعيل و اطفاء وظائف المقاطعة Interrupt, اعداد و قراءة الساعة الزمنية Real Time Clock, و القيام بمهام التحكم, اعداد الرسائل Message Handling, و اقترانات الاتصالات Communication Functions. هناك قائمة باقترانات النظام System Function (SFCs) و قوالب اقترانات النظام System Function Block (SFBs) في الملحقات.

اخيرا لدينا اقترانات النظام التي تحتوي على بيانات Data Block, و التي يتم استخدامها من ال PLC. اقترانات النظام التي المحتوية على بيانات (SDBs) تحتوي على الاعدادات المدمجة للبيانات المولدة من مكونات النظام Hardware, و ادوات الشبكة, بالاضافة الى اداة اعدادات وحدة الوظائف Function Module Configuration Tool. يتم انزال هذه الاقترانات مباشرة الى وحدة المعالجة المركزية CPU بالاضافة الى وحدات النظام الاخرى (CBs,FMs...).

الرجوع الى أعلى الصفحة اذهب الى الأسفل
abdmusleh
عميد
عميد



عدد الرسائل : 991
العمر : 39
الموقع : الاردن
تاريخ التسجيل : 19/04/2010

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones Empty
مُساهمةموضوع: رد: الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones    الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones Emptyالسبت 4 يونيو 2011 - 23:33


قوالب التنظيم Organization Block OBs


قوالب التنظيم Organization Block (OBs) هي احدى الانواع الثلاث من القوالب التي من الممكن ادخال كود البرمجة اليها, و ظيفة قوالب التنظيم Organization Block (OBs) توفير وسيلة هيكلة و تنظيم لعالجة متطلبات البرمجة المختلفة لبرنامج Step 7 الاساسي. قوالب التنظيم Organization Block (OBs) هي مهمة لانها توفر واجهة بين نظام تشغيل S7 و برنامج المستخدم, حيث يتم كتابتهم من قبل المستخدم كجزء من برنامج التحكم., و لكن يتم استدعاء جميع قوالب التنظيم Organization Block (OBs) من قبل نظام تشغيل S7 بناء على احداث او شروط معينة. فعلى سبيل المثال, عند كل تشغيل لوحدة المعالجة المركزية CPU و بناء على اي نوع من انواع التشغيل تم تحديده, سيتم استدعاء و معالجة OB100 او OB101. و كما هو الحال بالنسبة ل OB100 و OB101 و انهما مخصصتان لوظائف معينة, فان جميع ال OBs لها وظائف محددة ايضا, بناء على الاحداث التي تتم داخل النظام. عند حدوث الشرط او الحدث فان S7 يستجيب باستدعاء ال OB المرتبطة بتلك الوظيفة ليتم معالجتها. و لكن الاستجابة الفعلية هي في الحقيقة حسب الكود الذي قمت ببرمجته داخل ال OB. من خلال برمجة الكود في مجموعة مختلفة من ال OB يمكنك تحديد الطريقة التي يتم بها استدعاء الكود,فمثلا يمكنك استدعاؤه اثناء بدء التشغيل, او خلال دورة المسح Scan Cycle, او عند حدوث مقاطعة زمنية Time Interrupt او مقاطعة بسبب مكونات النظام Hardware Interrupt, او عند حدوث اخطاء في النظام.

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 71611945


 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 49053685



يمثل الشكل السابق عرضا للوظائف الخاصة التي يمكن استدعاء ال OBs عن طريقها.


قوالب الاقترانات Function Block


قوالب الاقترانات Function Block هي احد الانواع الثلاثة (OB,FC and FB) من القوالب التي يمكنك كتابة كود مبرمج داخلها, قوالب ال FB تستخدم لانشاء برامج منطقية او حسابية, هذه البرامج يتم استخدام البيانات المتولدة عنها ليتم استدعائها الى قالب اخر. لاتمام هذه العملية هناك متطلبات لحفظ البيانات في الذاكرة, و لذلك لا بد من تخصيص قالب بيانات Data Block لكل قالب اقتران, يتم استخدام قالب البيانات DB للقراءة و الكتابة كلما تم استدعاء قالب البيانات FB, و لذلك يطلق عليه قالب بيانات لحظي Instance DB. من الممكن تخصيص عدة قوالب DB لكل قالب FB, مما يسمح لقالب ال FB بالعمل مع مجموعة متنوعة من البيانات, كل استدعاء ل FB/DB يطلق عليه استدعاء لحظي Instance. يبين الشكل التالي كيفية برمجة القالب Template لبرمجة قالب ال FB, حيث يظهر لدينا منطقة تعريف المتغيرات Variables (اعلى النافذة), و منطقة لكتابة الكود (اسفل النافذة), لكتابة البرنامج.

عند استخدام قالب ال FB لا بد تعريف متغيرات محلية مؤقتة Temp Local Variables, للقيم المطلوبة عند معالجة قالب ال FB فقط, لا بد ايضا من تعريف متغيرات ثابتة Static Variables, للقيم التي يجب حفظها, و يتم استخدامها عند استدعاء قالب FB لاخر, لا بد ايضا من تعريف مجموعة من الاعدادات Parameters, و هي مجموعة المتغيرات التي تسمح لك بالتعامل مع قالب ال FB على شكل قالب له مداخل و مخارج, حيث يتم تحديد المداخل IN Variables, و هي المتغيرات التي تقرا البيانات من قالب ال FB, و OUT Variables, و هي المتغيرات التي تكتب البيانات داخل قالب ال FB, و IN_OUT Variables, و هي تلك المتغيرات التي يمكنها الكتابة و القراءة في ان واحد. تمثل متغيرات الاعدادات عناوين رسمية Formal Addresses بكل قالب FB, عند كل استخدام لقالب ال FB لا بد من تحديد مجموعة من العناوين الحقيقية Actual Addresses.

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 46398053



يمثل الشكل السابق نافذة تحرير باستخدام لغة السلم لكتابة الكود الخاص بقالب FB.


استدعاء قوالب الاقترانات


يمكن استدعاء قوالب الاقترانات من اي قالب اخر(OB, FB or FC), وذلك باي لغة, لغة السلم او لغة الرسم البياني لقوالب الاقترانات, او لغة التعليمات. اذا تمت كتابة قالب ال FB بدون الاعدادات الرسمية Formal Parameters, فيمكنك ببساطة سحب قالب ال FB من مجلد القوالب FB Block Folder من قائمة العناصر Program Element ووضعه في مكانه المناسب في الشبكة المطلوبة, و ذلك عند البرمجة باستخدام لغتي FBD,LAD. كما يمكنك استدعاء قالب ال FB مرتبطا ببعض الشروط المنطقية, و يمكنك استدعاؤه بدون اي شروط. اما اذا كان قالب ال FB محتويا على الاعدادات الرسمية Formal Parameters فيتم استخدام نفس الاجراء, و لكن لا بد من استخدام العنوان المناسب لكل اعداد حقيقي Actual Parameter كما تتطلب الحاجة من الاعدادات الرسمية Formal Parameters.

استدعاء قالب ال FB بلغة ال STL يتم بستخدام التعليمة CALL, حيث يتم تحديد رقم ال FB و رقم ال Instance DB, فمثلا (CALL FB100,DB100), اذا كان قالب ال FB يحتوي على اعدادات رسمية Formal Parameters, فلا بد من كتابة كل اعداد على سطر منفرد تحت سطر تعليمة ال CALL, مما يتيح لك تحديد عنوان لكل اعداد حقيقي Actual Parameter.
الرجوع الى أعلى الصفحة اذهب الى الأسفل
abdmusleh
عميد
عميد



عدد الرسائل : 991
العمر : 39
الموقع : الاردن
تاريخ التسجيل : 19/04/2010

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones Empty
مُساهمةموضوع: رد: الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones    الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones Emptyالإثنين 6 يونيو 2011 - 5:18


الاقترانات Functions FC


الاقترانات هي احد الانواع الثلاثة (OB,FC and FB) من القوالب التي يمكنك كتابة كود مبرمج داخلها, و على عكس قوالب الاقترانات, فان الاقترانات لا تتطلب قالب بيانات مرتبط بها, و لكن من الممكن ان يدخل الاقتران لاي قالب بيانات عامة Global Data Block. وظيفة الاقترانات تتراوح بين تعليمات المنطق البسيطة الى التعليمات التي تحتوي على عمليات رقمية معقدة, و هي الاساس في اي برنامج S7 حيث ربما تشكل 70-80% من البرنامج. كما هو مبين في الشكل التالي لبرمجة قالب الاقتران Template, و كغيرها من التعليمات هناك منطقة لتعريف المتغيرات Variable Declaration (اعلى النافذة), و منطقة لكتابة كود البرنامج (اسفل النافذة).

من الممكن تعريف متغيرات مؤقتة داخل الاقتران TEMP, و هي تلك القيم التي يتطلبها الاقتران فقط و تتوفر عندما يعمل الاقتران على معالجتها. كل اقتران يسمح لك ايضا بتعريف متغير عودة RETURN و الذي يتم استدعاؤه عند استدعاء القالب. بالاضافة الى امكانية تحديد مجموعة من الاعدادات الرسمية Formal Parameters, و هي مجموعة المتغيرات التي تسمح لك بالتعامل مع الاقتران على شكل قالب له مداخل و مخارج, حيث يتم تحديد المداخل IN Variables, و هي المتغيرات التي تقرا البيانات من الاقتران, و OUT Variables, و هي المتغيرات التي تكتب البيانات داخل الاقتران, و IN_OUT Variables, و هي تلك المتغيرات التي يمكنها الكتابة و القراءة في ان واحد. تمثل متغيرات الاعدادات عناوين رسمية Formal Addresses بكل اقتران, عند كل استخدام اقتران لا بد من تحديد مجموعة من العناوين الحقيقية Actual Addresses.

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 42131470



يمثل الشكل السابق نافذة تحرير باستخدام لغة السلم لكتابة الكود الخاص بالاقتران.


استدعاء الاقتران Function


يمكن استدعاء الاقترانات من اي قالب اخر(OB, FB or FC), وذلك باي لغة, لغة السلم او لغة الرسم البياني لقوالب الاقترانات, او لغة التعليمات. اذا تم استدعاء الاقتران بدون الاعدادات الرسمية Formal Parameters, فيمكنك استدعاء الاقتران من خلال تعليمة ال CALL Coil او CALL Output, لا بد من تحديد رقم للاقتران فوق الملف Coil او المخرج Output. يمكنك ايضا سحب الاقتران من مجلد الاقترانات من قائمة العناصر Program Elements ووضعه في مكانه المناسب في الشبكة. يمكنك استدعاء الاقتران مرتبطا ببعض الشروط المنطقية, و يمكنك استدعاؤه بدون اي شروط. اما اذا كان الاقتران محتويا على الاعدادات الرسمية Formal Parameters فيتم استخدام نفس الاجراء, و لكن لا بد من استخدام العنوان المناسب لكل اعداد حقيقي Actual Parameter كما تتطلب الحاجة من الاعدادات الرسمية Formal Parameters.

استدعاء الاقتران بلغة ال STL يتم باستخدام التعليمة CALL, حيث يتم تحديد رقم الاقتران, فمثلا (CALL FC), اذا كان الاقتران يحتوي على اعدادات رسمية Formal Parameters, فلا بد من كتابة كل اعداد على سطر منفرد تحت سطر تعليمة ال CALL, مما يتيح لك تحديد عنوان لكل اعداد حقيقي Actual Parameter.


قوالب البيانات Data Block DB


قوالب البيانات Data Block (DB) هي المرادف لجدول البيانات Data Table الموجود في اغلب انواع ال PLC. قوالب البيانات DB تستخدم لتخزين و ترتيب البيانات لمختلف المتغيرات و الثوابت المطلوبة للبرنامج داخل Step 7. فمثلا قد تكون الثوابت Constants قيم معايرة لمدخل تشابهي لتحديد القيم القصوى و الدنيا, او قيم المعايرة لحلقة PID Loop, او استلام البيانات من عملية ال Patch Process. اما المتغيرات Variables فقد تكون قيم مداخل او مخارج تشابهية, او حتى قيم لمجموع الانتاج داخل العملية الصناعية.

قوالب البيانات DB من الممكن ترتيبها بالطريقة التي تناسبك, و من الممكن ان تحتوي ايضا على مجموعة من المتغيرات من نفس النوع او من انواع مختلفة. يمكنك تحديد اسم و ترتيب المتغير, و العدد الكلي للمتغيرات داخل ال DB. يمكن تخزين النتائج المتوسطة داخل ذاكرة البت (M) او الذاكرة المحلية (L) للقالب. قوالب البيانات تستخدم بشكل اساسي لخزن البيانات التي تطلب عند الحاجة اليها.

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 44521531



الشكل السابق يمثل قالب بيانات DB و كيفية اعداده بناء على احتياجاتك.

هناك نوعين من قوالب البيانات DB في Step 7, يتم تحديد النوع عند انشاء القالب, و بناء على الطريقة التي سيتم استخدام ال DB مع غيره من القوالب في برنامج المنطق Logic. قوالب البيانات المتشاركة Shared DB او العامة Global هي تلك التي يتم استخدامها لخزن البيانات ليتم قراءتها او كتابتها من قبل اي من القوالب Blocks في البرنامج. اما قوالب البيانات اللحظية Instance DB فهي تلك التي يتم تعريفها حسب متطلبات الذاكرة الخاصة باحد الاقترانات FC. قوالب الاقترانات FB تستطيع الكتابة/القراءة على اي من قوالب البيانات DB بحيث تخزن كلا من الاعدادات الرسمية Formal Parameters و المتغيرات الثابتة Static Variables. عند انشاء قوالب البيانات اللحظية Instance DB لا بد من تخصيصه مباشرة باحد قوالب ال FB.

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 50767189



الشكل الشابق يمثل كيفية الدخول الى قالب البيانات الحظية Instance DB و المتشاركة Shared.


الرجوع الى أعلى الصفحة اذهب الى الأسفل
abdmusleh
عميد
عميد



عدد الرسائل : 991
العمر : 39
الموقع : الاردن
تاريخ التسجيل : 19/04/2010

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones Empty
مُساهمةموضوع: رد: الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones    الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones Emptyالأحد 19 يونيو 2011 - 5:25


الدخول الى عناصر البيانات Data Element داخل قوالب البيانات Data Block


يتم ادخال البيانات الى قوالب البيانات, كل عنصر يخزن حسب الترتيب الذي ادخل به, بدءا من بايت البيانات zero. من الممكن لعناصر البيانات Data Element ان تستخدم اي من انواع البيانات المتوفرة data Types, مثل (BOOL,INT,DINT, REAL, CHAR, S5TIME). عندما يتم ادخال عنصر معين, يتم حجز مكان في الذاكرة يسجيب لذلك النوع من البيانات. عنوان البدء Start Address يظهر في عمود العناوين في كل قالب بيانات Data Block, سواء تم استخدام بت, بايت, كلمة Word, او كلمة مزدوجة Double Word, فان بايت البدء ينعكس مباشرة على عنوان كل عنصر.

قبل ادخال متغير DB, لا بد اولا من قتح قالب البيانات Data Block, و ذلك باستخدام التعليمة المناسبة يليها رقم ال DB, مثلا (OPN DB n), و عندما يتم فتح قالب البيانات Data Block يمكن ادخال اي متغير, باستخدام المعرف Identifier و العنوان Address المبينة في الشكل التالي, فمثلا (DBW4), لكل CPU داخل S7 هناك سجلين Registers يمكن استخدامهما لفتح ال DB حيث تحتفظ بعنوان ال DB داخلهما, احدهما اسمه DB-Register و الاخر DI-Register, يمكن استخدام اي من السجلين لتعريف البيانات العامة Global و البيانات اللحظية Instance, الا انه يفضل استخدام ال DB-Register لفتح البيانات العامة Global, و استخدام ال DI-Register لفتح البيانات اللحظية Instance.

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 26442135



الشكل السابق يمثل توضيح للعناوبن الفرعية Partial Addresses المستخدمة للدخول الى لتعريف البيانات العامة Global و البيانات اللحظية Instance.

بالنسبة ل CPU يتم استخدام سجلات ال DB و DI بنفس الطريقة, الا ان هناك بعض القيود لتجنب الاخطاء errors في البرنامج, فمثلا في لغتي ال LAD/FBD يتم فتح تعريف البيانات العامة Global بعد تعليمة OPN COIL او OPN OUTPUT, و لا يمكن الوصول الى اي من العناصر الاخرى في الشبكة Network الا بعد فتح DB اخرى. اما البيانات اللحظية Instance فهي مرتبطة بقوالب الاقترانات Function Block و يتم استدعاؤها حالما يتم استدعاء ال FB. اما في لغة ال STL فيتم الاستدعاء باستخدام التعليمة OPN, فمثلا (OPN DB 22) او (OPN DI 23), و كما هو مبين في الشكل السابق فان ال كلمة البيانات Word يتم عنونتها DBW اذا استخدمت التعليمة OPN DB و تعنون DIW اذا استخدمت التعليمة OPN DI.

هناك طريقة اخرى لعنونة العناصر الخاصة بال DB, و ذلك باستخدام طريقتين, الاولى هي الدخول المطلق Fully Accessed Address, و هي متوفرة فقط في لغتي ال LAD\FBD. حيث لا تتطلب فتح ال DB و انما يتم كجزء من العنوان, مثلا (DB 10.DBW 4), اما الطريقة الثانية فهي الدخول الرمزي Symbolic Addressing, و تتم من خلال دمج الاسم الرمزي لقالب البيانات data Block, مع الاسم الرمزي لكل عنصر Element, فمثلا (Zone_1.TEMP_PRESET_3), في هذه الحالة فاسم ال DB هو Zone_1 و اسم المتغير هو TEMP_PRESET_3.


معالجة برنامج S7


من الامور الاساسية في برمجة Step 7 معرفة كيفية استدعاء القالب للمعالجة, هذه الخطوة تتضمن تحديد الاسس التي سيتم استدعاء القالب بناء عليها, و كم مرة ستم معالجة القالب. ليتم معالجة القالب لا بد من تحميله على ال CPU اولا و من ثم استدعاؤه من مكان ما من البرنامج, تحديد الاسس التي سيتم استدعاء القالب بناء عليها, و كم مرة سيتم معالجته يحدد اداء القالب, في هذه الحالة يمكن معالجة احتياجات البرنامج بكفاءة باستخدام قوالب ال OB المبينة في الشكل التالي.

عندما تحدد كيف يتم معالجة القوالب داخل برنامجك, لا بد من استخدام قوالب ال OB, فبامكانك استدعاء قوالب Blocks تعمل على تفعيل مجموعة من القيم Values عند كل بدء للتشغيل, فمثلا من خلال قالب بدء التشغيل Startup OB (OB30) تستطيع استدعاء قالب ليتم معالجته كل 500ms. اما القوالب Blocks التي تعمل حسب روتين خدمي و تستجيب لعملية صناعية معينة يمكن ربطها باستخدام المقاطعة Interrupt (OB40) مثلا, اما القوالب التي بحاجة الى معالجة مستمرة فيتم استدعاؤها من خلال OB1(main program).
دورة المسح لوحدة المعالجة المركزية CPU Cycle

يتم التعامل مع دورة العمل داخل Step7 من خلال OB1, بعد التزويد بالطاقة الكهربائية و تشغيل ال CPU, يتم استدعاء OB1 و معالجتها خلال كل دورة مسح, حتى يتم ايقاف ال CPU او نزع مزود الكهرباء. بما ان OB1 يتم معالجتها بشكل مستمر, فان اغلب القوالب Blocks (FBs, FCs, SFCs, SFBs)سيتم استدعاؤها من خلال OB1 اما بشكل مباشر او غير مباشر. و السبب ان البرنامج يتم معالجنه خلال كل دورة مسح, حيث يتم معالجة OB1 اولا, فاذا تم استدعاء اي قالب من خلال OB1, فيتم معالجة ذلك القالب و بعد الانتهاء يرجع البرنامج الى OB1 ليكمل معالجتها, و هكذا حتى يتم الانتهاء من كل القوالب التي يتم استدعاؤها من خلال OB1.


مقاطعة Interrupting دورة المسح لوحدة المعالجة المركزية


عند بدء التشغيل و تنفيذ المعالجة, جميع مهام المهام المعالجة الاخرى لا بد من مقاطعة Interrupting قالب التنظيم OB1. قوالب البدء Startup OBs يتم استدعاؤها قبل دورة المسح, اما المعالجة لبقية المهام قتتم خلال دورة المسح, عند حدوث اي حدث قد يؤدي الى مقاطعة الزمن, او مكونات المنظومة hardware Interrupt, او الاخطاء التزامنية وغير التزامنية, فان النظام يستجيب بمقاطعة OB1 و استدعاء ال OB المناسبة. عند الانتهاء من معالجة ال OB التي تم استدعاؤها يرجع النظام الى OB1.

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 17073865



الشكل السابق يمثل اصناف و اولويات قوالب التنظيم OB في نظام Step 7.
الرجوع الى أعلى الصفحة اذهب الى الأسفل
abdmusleh
عميد
عميد



عدد الرسائل : 991
العمر : 39
الموقع : الاردن
تاريخ التسجيل : 19/04/2010

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones Empty
مُساهمةموضوع: رد: الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones    الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones Emptyالخميس 23 يونيو 2011 - 0:26

تستخدم ال CPU مخطط اولويات لتحديد كيف يمكن لل OBs الاخرى مقاطعة Interrupt القالب OB1, او مقاطعة بعضها البعض, هناك اصناف اولويات Priority Classes من 1-28 الاولوية 28 هي الاعلى, اذا تم استدعاء OB في نفس الوقت الذي يتم فيه معالجة OB ذات اولوية اقل, فسيتم مقاطعة ال OB ذات الاولوية الاقل, بعد الانتهاء من المقاطعة يعود البرنامج الى النقطة في ال OB ذات الاولوية الاقل من حيث حصلت المقاطعة, و يستمر البرنامج بمعالجتها. اما ال OBs التي تاخذ نفس الاولوية فيتم معالجتها بالتوازي, فمثلا (OB10) و (OB17) لهما نفس الاولوية (Priority 2), و لذلك يتم معالجتهما في نفس الوقت. بينما OB 90 لها اولوية منخفضة جدا (Priority 29), غالبا ما تكون الاولويات ثابتة في Step 7 الا ان هناك بعض التغييرات بين S300 و S400.

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 31380143



الشكل السابق يمثل كيفية معالجة قوالب التنظيم OB خلال برنامج Step 7, و يوضح الواجهة بين برنامج Step 7 و المستخدم.


عنونة Addressing الذاكرة في برنامج Step 7:


متحكمات S7 كغيرها من ال PLC تحتوي على مناطق لتخزين الذاكرة الخاصة ببرنامج المستخدم, تتضمن S300 و S400 صورة المداخل (I), صورة المخارج (Q), بت الذاكرة (M), مدخل طرفي Peripheral Input(PI), مخرج طرفي Peripheral output(PO), محلي Local (L), مؤقت Timer (T), و عداد Counter (C), في النقاش التالي سنبحث كيفية عنونة هذه المتغيرات باستخدام اسلوب العنونة المطلقة absolute addressing. من الممكن اعطاء هذه المتغيرات عنوان مميز رمزي Symbolic addressee من خلال اداة Step 7 Symbol Editor.

كل منطقة ذاكرة يتم ترتيبها على شكل مجموعة من البايت, بدءا من البايت Zero, يسمح لك Step 7 بالدخول الى الذاكرة على مستوى البت, البايت (8Bit), الكلمة (16Bit) Word, الكلمة المزدوجة Double Word(32Bit), يتم وضع العنوان بالنسبة الى الكلمة Word من خلال عنوان البايت الاول byte-n و من ثم اضافة 1 الى عنوان البايت الذي يليه byte-n+1. اما الكلمة المزدوجة Double Word قتتم عنونتها بالطريقة التالية: byte-n, byte-n+1, byte-n+2, byte-n+3. كل عنوان حقيقي Absolute Address يرفق به معرف مخصص مثل (I, Q, M, PI, PQ, L, T, C), حسب المنطقة Area التي تم عنونته بها. عنوان البت يتم من خلال وضع حرف المعرف و رقم البايت و من ثم رقم البت مفصولا بنقطة, مثلا (I 35.3) و كما نلاحظ فان معرف الذاكرة يتبع دائما ب (B) او (W) او (D) لتحديد موقع الذاكرة كبايت byte, كلمة Word, او كلمة مزدوجة Double Word. جميع مناطق الذاكرة داخل Step 7 يمكن تعريفها داخل اي قالب Block ما عدا مناطق الذاكرة المحلية Local Memory Area.


ذاكرة المدخل Input Memory(I):


صورة العملية للمداخل Process Image of Inputs(PII) داخل Step 7 هي مشابهة لجدول صورة المداخل Input Image Table في ال PLC, خلال كل دورة مسح تقوم ال CPU باخذ صورة عن جميع المداخل الرقمية و تخزين النتائج داخل ال PII. يتم وضع عنوان كل وحدة مداخل Input Module حسب التعريف الذي تم على ضبط مكونات المنظومة Hardware Configuration, و يتم الدخول الى عنوان اي مدخل من خلال المعرف (I).

يتم عنونة المدخل بالشكل التالي: I byte.bit, اما البايت IB-n و الكلمة word IW-n و الكلمة المزدوجة Double Word ID-n. لاحظ الشكل التالي الذي يمثل مناطق الذاكرة الطرفية و حاول ان تتعلم كيف يمكنك استخدام العناوين:

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 46906043




ذاكرة المخارج Output Memory(Q):


صورة العملية للمخارج Process Image of Output(PIQ) هي مشابهة لجدول صورة المخارج Output Image Table في ال PLC, خلال كل دورة مسح يعمل البرنامج على تخزين صورة لحالة المخارج و تخزينها داخل ال PIQ, و عند نهاية كل دورة مسح تقوم ال CPU بنقل ال PIQ الى وحدات المخارج لعكس النتائج التي خصلت اثناء معالجة البرنامج. يتم وضع عنوان كل وحدة مخارج Output Module حسب التعريف الذي تم على ضبط مكونات المنظومة Hardware Configuration, , و يتم الدخول الى عنوان اي مخرج من خلال المعرف (Q).

يتم عنونة المخرج بالشكل التالي: Q byte.bit, اما البايت QB-n و الكلمة word QW-n و الكلمة المزدوجة Double Word QD-n. لاحظ الشكل التالي الذي يمثل مناطق الذاكرة الطرفية و حاول ان تتعلم كيف يمكنك استخدام العناوين:

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 89374014



الرجوع الى أعلى الصفحة اذهب الى الأسفل
abdmusleh
عميد
عميد



عدد الرسائل : 991
العمر : 39
الموقع : الاردن
تاريخ التسجيل : 19/04/2010

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones Empty
مُساهمةموضوع: رد: الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones    الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones Emptyالثلاثاء 5 يوليو 2011 - 2:19


ذاكرة البت الداخلي Bit Memory M:


منطقة ذاكرة البت الداخلي Bit Memory Area هي مشابهة لبت التخزين الداخلي Internal Storage Bit في انظمة ال PLC الاخرى, يستخدم هذا النوع من الذاكرة في حالة الحاجة الى بت, بايت, كلمة Word, او كلمة مزدوجة Double Word, للاستخدام المرحلي ضمن عملية رقمية او ثنائية, او عمل قفل Interlocking لاحدى دوائرر المنطق logic. البيانات المرحلية التي تنتج من العمليات الرياضية و غيرها من الممكن ايضا ان تستخدم ذاكرة البت الداخلي, و هو يستخدم في العمليات التي لا تحتاج نتائجها الى تخزين دائم في منطقة الذاكرة, و لكنها مطلوبة للاستخدام في البرنامج بشكل مرحلي.

يتم الدخول الى عنوان البت الداخلي داخل البرنامج من خلال المعرف (M), حيث يتم تعريف موقع البت M.byte.bit, اما البايت فيتم عنونته كالتالي: MB n, و الكلمة Word كالتالي BW n, اما الكلمة المزدوجة Double Word MD n, فمثلا (M101.2, MB100) (MW100, MD100). عند ضبط اعدادات ال CPU, لا بد من ضبط ذاكرة البت على انها ذاكرة محتفظة Retentive, و الا فان هذه الذاكرة ستفقد عند انقطاع الطاقة الكهربائية.

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 14155903



الشكل السابق يوضح كيفية قراءة بت الذاكرة الداخلي.


الذاكرة الطرفية PI/PQ Peripheral Memory :


الذاكرة الطرفية تسمح للبيانات المستخدمة من قبل وحدة المداخل بان يتم قرائتها من المدخل مباشرة, و تسمح للبيانات المستخدمة من قبل وحدة المخارج بان يتم قرائتها من المخرج مباشرة. باستخدام هذا النوع من الذاكرة, يتم توفير الوقت المستخدم في تحديث صورة كل من المداخل و المخارج عند كا دورة مسح لوحدة المعالجة المركزية. المعرف للدخول الى هذا النوع من البيانات هو الرمز (PI) للمدخل, و (PQ) للمخرج, و بالنسبة للبايت (PIB,PIQ) و الكلمة Word (PIW,PQW) و الكلمة المزدوجة Double Word (PID,PQD).

و كغيرها من مناطق الذاكرة داخل برنامج Step 7, تبدا العنونة من البايت 0. منطقة صورة الذاكرة للمدخل (I) تقرأ صورة المداخل الرقمية في كل دورة مسح, حيث تعمل وحدة المعالجة المركزية على تخزين صورة المداخل بدءا من البايت 0, داخل منطقة الذاكرة الطرفية (PIB 0) و من ثم يتم نقل البيانات الى صورة المداخل بدءا من البايت 0 (IB 0). يمكنك ايضا قراءة اي وحدة مداخل من اي مكان من البرنامج من خلال استعراض البايت المطلوب من منطقة الذاكرة PI Area. و ايضا يمكنك نقل البيانات الى وحدة المخارج من خلال الوصول الى البايت المناسب في الذاكرة الطرفية. (PQB 0) يحدث (QB 0).

الذاكرة الطرفية تستجيب بالاضافة الى وحدات المداخل والمخارج الرقمية الى وحدات المداخل والمخارج التشابهية ايضا, و لكن بالنسبة للوحدات التشابهية فان قراءة المداخل لا يتم بشكل دوري, و كذلك الامر بالنسبة للمخارج, لا يتم نقل البيانات بشكل دوري اي مع كل دورة مسح, حيث تتم عملية القراءة او الكتابة حسب الحاجة في البرنامج. المعرف بالنسبة لوحدات المداخل التشابهية هو (PIW), و بالتسبة لوحدات المخارج التشابهية هو (PQW). في لغتي ال LAD/FBD تستخدم تعليمة Move لقراءة البيانات من المداخل و المخارج. اما بالنسبة للغة ال STL فتستخدم تعليمة ال Load لقراءة البيانات من المداخل (L PIW 256) و تستخدم تعليمة Transfer لكتابة البيانات على المخارج (T PQW 256).

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 97565215



الشكل السابق يمثل كيفية الدخول الى كلمة المدخل Input Word 256, لاحظ ان القناة التالية للمدخل هي PIW 258.

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 49927133



الشكل السابق يمثل كيفية الدخول الى كلمة المخرج Output Word 256, لاحظ ان القناة التالية للمخرج هي PQW 258.


ذاكرة المؤقت Timer Memory T:


منطقة الذاكرة الخاصة بالمؤقت تحتوي على بيانات المؤقتات المستخدمة في البرنامج, كل مؤقت يتم تخزينه في كلمة Word, و يتم الدخول الى هذه البيانات من خلال المعرف (T), بدءا من المعرف T0, T1, T2 و هكذا. عدد المؤقتات المتوفر للمستخدم يعتمد على نوع وحدة المعالجة المركزية CPU. تتسخدم عناوين المؤقتات من اجل تحديد حالة المؤقت حيث تستخدم بعض البتات لهذه العملية, ام بقية الكلمة Word فتستخدم لمعرفة الوقت المتبقي. يعمل برنامج Step 7 على مقاطعة العنوان المناسب بناء على العملية المطلوبة. لمزيد من التفاصيل تابع تفاصيل و انواع بيانات Step 7.

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 81116684



الشكل السابق يمثل توضيح لبناء الكلمة Word الخاصة بالمؤقت.


ذاكرة العداد Counter Memory :


منطقة الذاكرة الخاصة بالعداد تحتوي على بيانات العدادات المستخدمة في البرنامج, و كما هو الحال بالنسبة لذاكرة المؤقت, فان كل عداد ياخذ كلمة Word , من الذاكرة, يتم الدخول الى هذه البيانات من خلال المعرف (C), بدءا من المعرف C0, C1, C2 و هكذا. عدد العدادات المتوفر للمستخدم يعتمد على نوع وحدة المعالجة المركزية CPU. تتسخدم عناوين العدادات من اجل تحديد حالة العداد حيث تستخدم بعض البتات لهذه العملية, ام بقية الكلمة Word فتستخدم لمعرفة الوقت المتبقي. يعمل برنامج Step 7 على مقاطعة العنوان المناسب بناء على العملية المطلوبة.

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 86239661



الشكل السابق يمثل توضيح لبناء الكلمة Word الخاصة بالعداد.
الرجوع الى أعلى الصفحة اذهب الى الأسفل
abdmusleh
عميد
عميد



عدد الرسائل : 991
العمر : 39
الموقع : الاردن
تاريخ التسجيل : 19/04/2010

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones Empty
مُساهمةموضوع: رد: الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones    الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones Emptyالخميس 28 يوليو 2011 - 5:46


الذاكرة المحلية Local Memory L:


الذاكرة المحلية Local Memory (L-Stack) او ذاكرة الحزمة, هي ذاكرة مخصصة لقالب معين, مثلا (OB, FC, FB, SFC, SFB), للتعامل مع البيانات المؤقتة للمتغيرات المستخدمة في القالب. و تتم اتاحة هذه المنطقة من الذاكرة فقط عند استدعاء القالب, و عند الانتهاء من معالجة القالب, يتم العمل على الكتابة فوق البيانات السابقة و اتاحة منطقة الذاكرة الى القالب التالي الذي يتم استدعاؤه. بستخدم المعرف (L) للذاكرة المحلية, و يتم تعريف البت كالتالي L.Byte.bit اما البايت فيعرف LB n, و تعرف الكلمة Word LW n و الكلمة المزدوجة Double Word LD n.

حجم الذاكرة المحلية يعتمد على نوع ال CPU, اما الحجم الفعلي المتوفر للذاكرة المحلية فهو نفس الحجم المتوفر لقوالب التنظيم OB و التي تتوفر حال استدعاء القالب, حيث يتم توزيع الذاكرة بالتساوي على كل OB, فمثلا قد يتوفر 256 بايت لكل OB. ال CPU 400 و ال CPU 318 توفر امكانية تعديل حجم ذاكرة الكومة Stack حسب الاهمية, فيمكن اعطاء بعض قولب التنظيم OB ذات الاعمية حجم ذاكرة اكبر من غيرها, و يمكن ايضا الغاء الذاكرة الخاصة ببعض قوالب التنظيم OB غير المستخدمة لتوفير جزء من الذاكرة لغيرها من ال OB.


مختصر نظام العنونة في برنامج Step 7:


الجدول التالي يوفر مختصرا لنظام العنونة في برنامج Step 7, يمكن لكل منطقة ذاكرة Area عمل معرف خاص بها و تعديله من خلال اداة مراقبة و تعديل البيانات Monitor/Modify Data Utility, و ذلك اما باستخدام الرموز المطلقة Absolute او الرمزية Symbolic. مناطق المداخل (I) و المخارج (Q) و الذاكرة الداخلية (M) كلها تسمح باستخدام البت, البايت, الكلمة Word, الكلمة المزدوجة Double Word, ما الذاكرة الطرفية (P) فلا تدعم استخدام البت, و بالنسبة للمؤقت و العداد فيمكن استخدام البت في منطقة الذاكرة لتفقد حالة البت, و يتم استخدام الكلمة Word لتفقد الزمن او العداد المتبقي.

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 94950358


 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 98572925



الشكل السابق يمثل مختصر عملية العنونة في برنامج Step 7.


انواع البيانات في برنامج Step 7:


من الضروري فهم انواع البيانات المستخدمة مع المتغيرات في برنامج Step 7, و ذلك للبدء بعملية ترتيب و تنظيم البيانات. عند تعريف كل متغير ليتم استخدامه داخل قالب برمجة او قالب بيانات لا بد من تعريف نوع البيانات الخاص به. نوع البيانات يحدد حجم المتغير, فمثلا قد يكون (1 bit, 8 bit, 16 bit, 32 bit), و يحدد ايضا كيفية استخدام البيانات الثنائية و دمجها مع برنامج Step 7, و كيف يتم تفسيرها, و هو ما يطلق عليه هيئة البيانات Format, مثل العدد الصحيح Signed Integer, سلسلة اعداد Character String. مدى القيم التي من الممكن ان يستخدمها المتغير يتحدد ايضا من خلال نوع البيانات المستخدم, فمثلا نوع البيانات INT يسمح لك باستخدام القيم من -32768 _ +32767 , سنبحث في الاقسام التالية بالانواع المتنوعة للبيانات.


انواع البيانات الاساسية:


مجموعة البيانات الاساسية Elementary Data Types تمثل المتغيرات التي تحتوي على عنصر واحد من البيانات, و الذي يكون حجمه 32 bit او اقل. من الممكن تعريف Declare هذا النوع من البيانات في جميع القوالب Blocks, سواء في قوالب البيانات Data Blocks, او قوالب التنظيم Organization Block, او الاقترانات Functions, او قوالب الاقترانات Function Blocks. تشمل هذه المجموعة الانواع التالية: الرقمي BOOL, البايت BYTE, الكلمة WORD, الكلمة المزدوجة DWORD, العدد الصحيح INT, العدد الصحيح المزدوج DINT, العدد الحقيقي REAL, التاريخ DATE, الوقت TIME, زمن المؤقت S5TIME, الزمن TIME-OF-DAY.


الرقمي BOOL:


حجم هذا النوع بت واحد, و هو يستخدم مع المتغيرات الرقمية التي قد تاخذ حالة الصحة True او الخطا False.

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 90601038



الشكل السابق يمثل اول 2 بت من DB100 حيث يعرفان على انهما من نوع البيانات BOOL.


البايت BYTE:


حجم هذا النوع يحدد له 8 bit من الذاكرة, و لا يتم التعامل مع هذه البتات بشكل منفرد, و انما يتم قراءتها على شكل اعداد Hex. كل خانة من ال Hex تحتل اربع بتات من الذاكرة, و بالتالي فيمكننا استخدام خانتين من ال Hex في البايت. يتم تعريف الثابت Constant باستخدام البايت بالشكل باستخدام المعرف التالي B#16# حيث B تعني البايت, و 16 تعني رقم ال Hex. فمثلا (B#16#0A). القيم المسموحة لدينا من B#16#00 الى B#16#FF.

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 92449620



الشكل السابق يمثل متغير بايت BYTE.
الرجوع الى أعلى الصفحة اذهب الى الأسفل
abdmusleh
عميد
عميد



عدد الرسائل : 991
العمر : 39
الموقع : الاردن
تاريخ التسجيل : 19/04/2010

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones Empty
مُساهمةموضوع: رد: الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones    الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones Emptyالخميس 28 يوليو 2011 - 5:56


الكلمة WORD:


حجم هذا النوع يحدد له 16 bit من الذاكرة, و هي تمثل سلسلة string من 16 Bit, من الممكن التعامل مع البتات على شكل وحدات منفردة, و ذلك على شكل وحدتين من سلاسل String المكونة من ال 0 و 1, اي 4 خانات من اعداد ال hex, او 3 خانات من اعداد ال BCD, او خانتين من الاعداد الطبيعية Unsigned Decimal Value, كل واحدة يتم تخزينها في بايت, مثلا (255,255).


الكلمة WORD المعرفة على شكل سلسلة 16 Bit String.


حجم هذا النوع يحدد له 16 bit من الذاكرة, و هي تمثل سلسلة string من 16 Bit, من الممكن التعامل مع البتات على شكل وحدات منفردة, و ذلك على شكل وحدتين من سلاسل String المكونة من ال 0 و 1, اي 4 خانات من اعداد ال hex, او 3 خانات من اعداد ال BCD, او خانتين من الاعداد الطبيعية Unsigned Decimal Value, كل واحدة يتم تخزينها في بايت, مثلا (255,255).


الكلمة WORD المعرفة على شكل سلسلة 16 Bit String.


يتم تحديد المتغير على شكل قيمة مكونة من 16 bit, و ذلك باستخدام المعرف 2#, فمثلا (2# 0000_1011_1111_1111). مدى هذا النوع من الهيئة Format هو من 2#0000_0000_0000_0000 الى 2#1111_1111_1111_1111 . من الممكن استخدام ال Word مثلا للمقارنة بين 16 مدخل رقمي لوحدة مداخل و قيم متوقعة, او تشكيل 16 مخرج رقمي.


الكلمة WORD المعرفة على شكل 4 خانات Hex او 3 خانات BCD:


يتم تعريف الكلمة على شكل ارقام Hex باستخدام المعرف W#16#, (W) ترمز للكلمة, و 16 ترمز لاعداد ال Hex. كل خانة من اعداد ال Hex يتم تمثيلها باستخدام 4 bit, و بالتالي يمكن استخدام 4 خانات من اعداد ال Hex في الكلمة. الحد المسموح من القيم لهذا النوع من البيانات من W#16#0 الى W#16#FFFF. من الممكن استخدام هذا الخيار عند الحاجة لاستخدام 4 خانات من اعداد ال Hex, او استخدام اعداد ال Hex لتمثل رقم ثنائي بصورة اسهل, فمثلا الرقم W#16#FFFF هو التمثيل من خلال اعداد ال Hex للرقم الثنائي 2#1111_1111_1111_1111.

ايضا من الممكن استخدام هيئة ال Word لتمثيل ارقام ال BCD, و ذلك ببساطة من خلال ادخال الارقام من 0 الى 9 بالترتيب المناسب, لتجنب اعادة ادخال نفس الرقم. ارقام ال BCD لا تستخدم معرفا مختلفا و انمت تستخدم نفس المعرف الخاص باعداد ال Hex. الحد المسموح من القيم هو من W#16#F000 الى W#16#F999 حيث يمكن ادخال ±999. يتم استخدام البتات من 12 الى 15 للتعامل مع الاشارة. الرقم السالب يكتب 1XXX و الموجب 0XXX حيث ان البت رقم 15 يستخدم لتحديد الاشارة.

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 16077954



الشكل السابق يمثل كلمة Word ممثلة على شكل اعداد ال Hex.


استخدام الكلمة Word على شكل قيمة عداد


من الممكن استخدام نوع البيانات الكلمة Word على شكل قيم عداد, و التي من الممكن تحميلها الى عداد معين. تذكر مما سبق ان قيمة كل عداد تحجز كلمة Word من الذاكرة, و يتم التعامل معها على انها 3 خانات من اعداد ال BCD. و يتم تعريفها باستخدام المعرف C#, مثلا C#500. الحد المسموح من القيم هو من C#000 الى C#999, من الممكن استخدام هذه الهيئة Format للمقارنة بين القيمة الحالية لعداد و القيمة المعينة Set point. فمثلا المقارنة بين القيمة C#100 و العداد C6.


استخدام الكلمة Word على شكل بايتين من الاعداد الحقيقية:


من الممكن استخدام الكلمة Word على شكل بايتين من الاعداد الحقيقية باستخدام المعرف B#, يتم الفصل بين الرقمين باستخدام الفواصل ووضع الارقام بين اقواس. مثلا B#2(25,175), من الممكن استخدام اعداد من 0-255 اذا تم استخدام اعداد موجبة او B#(0.0) الى B#(255.255)

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 23363784




الكلمة المزدوجة Double Word


هذا النوع من البيانات يحجز 32 bit من الذاكرة, النوع DWORD يستخدم ال 32 bit على شكل سلسلة String بحيث يسمح بامكانية التعامل مع كل بت على حدا, اي سلسة String مكونة من 32 bit, من الممكن ان يكون عدد Hex مكون من 8 خانات, او اربع خانات من الاعداد الطبيعية, مثلا (255.255.255.1), و بما ان الاعداد المكافئة للارقام من 0-9 يتم تمثيلها بنفس الطريقة بين اعداد ال Hex و ال BCD, فمن الممكن استخدام ال DWORD لتخزين اعداد ال BCD ايضا.


الكلمة المزدوجة Double Word على شكل سلسلة String من 32 bit


و ذلك يتم باستخدام المعرف #2, فمثلا: 2#0000, 1011, 1111, 1111, 0000, 1011, 1111, 1111 حيث الحد المسموح من القيم ما بين 32 bit من ارقام 0s و 32 bit من ال 1s. من الممكن استخدام هذا الخيار لمقارنة 32 Bit لوحدة مداخل رقمية مع قيمة متوقعة, او لمعالجة 32 bit لوحدة مخارج رقمية, او قالب مكون من 32 bit لعمليات المنطق المختلفة.


الكلمة المزدوجة Double Word على شكل 8 خانات من اعداد ال Hex و 7 خانات من اعداد ال BCD


يتم تمثيل اعداد ال Hex من خلال المعرف DW#16#, DW اختصار للكلمة المزدوجة و 16 ترمز لاعداد ال Hex, مثلا DW#16#0FFF_A0FF. يتم تمثيل كل خانة على شكل 4 bit, مما يسمح باستخدام 8 خانات, الحد المسموح من القيم من DW#16#0000_0000 الى DW#16#FFFF_FFFF.

ايضا من الممكن تمثيل 7 خانات من اعداد ال BCD, الحد المسموح من القيم هو ±9.999.999 و ذلك باستخدام المعرف من DW#16#F999999 الى DW#16#09999999, اما البتات من 28-31 فتستخدم لتحديد الاشارة, الرقم السالب يعرف 1XXX و الرقم الموجب يعرف 0XXX.

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 20660089



كيفية استخدام ال DWORD لتمثيل 32 bit من ال Hex.


استخدام ال DWORD لتمثيل 4 بايت من الاعداد الطبيعية.


يتم ذلك عن طريق الفصل بين الارقام الطبيعية بفواصل و ووضع الجميع بين اقواس, و استخدام المعرف B#, مثلا (B#255,255,255,1), من الممكن استخدام هذه الهيئة Format من البيانات اذا كانت القيم المطلوبة من 0-255, الحد المسموح من القيم من (B#0,0,0,0) الى (B#255,255,255,255).

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 51041199



استخدام ال DWORD لتمثيل 4 بايت من الاعداد الطبيعية.

الرجوع الى أعلى الصفحة اذهب الى الأسفل
abdmusleh
عميد
عميد



عدد الرسائل : 991
العمر : 39
الموقع : الاردن
تاريخ التسجيل : 19/04/2010

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones Empty
مُساهمةموضوع: رد: الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones    الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones Emptyالخميس 4 أغسطس 2011 - 3:54


العدد الصحيح INT:


هذا النوع من البيانات يمثل مجموعة من الاعداد الصحيحية داخل كلمة Word مكونة من 16 bit, الحد المسموح من البيانات هو من -32768 الى 32767, من الممكن ادخال ثابت على هيئة INT في منطة التعريف Declaration Area الخاصة بالقوالب, او قوالب البيانات, او كقيمة مدخل لتعليمة معينة, مثلا (+2575) و ذلك بدون معرف.

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 84650296



هيئة البيانات INT معرفة على شكل 16 bit من الاعداد الصحيحة.
باستخدام الية المكمل الثنائي tow’s Complement يمكن استخدام هيئة البيانات INT لتمثيل الاعداد الموجبة و السالبة من خلال حالة البت 15, (0) تمثل القيمة الموجبة, (1) تمثل القيمة السالبة, اما البتات المتبقية (0-14) فيتم من خلالها تمثيل القيمة الحقيقية. يمكن استخدام الية المكمل الثنائي tow’s Complement من خلال عكس جميع البتات بعد اضافة بت واحد للحصول على القيمة السالبة كما يبيبن الشكل التالي:

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 54657357



استخدام الية المكمل الثنائي tow’s Complement لتمثيل الاعداد الموجبة و السالبة على هيئة INT.


العدد الصحيح المزدوج DINT:


هذا النوع من البيانات يمثل مجموعة من الاعداد الصحيحية داخل كلمة مزدوجة Double Word مكونة من 32 bit, الحد المسموح من البيانات هو من -2 147 483 648 الى 2 147 483 647. يجب استخدام ال DINT عندما تحتاج العملية الى مدى اكبر من الارقام المستخدمة مع ال INT. من الممكن ادخال ثابت على هيئة INT في منطة التعريف Declaration Area الخاصة بالقوالب, او قوالب البيانات, او كقيمة مدخل لتعليمة معينة و ذلك باستخدام المعرف (L), مثلا L#500000.

باستخدام الية المكمل الثنائي tow’s Complement يمكن استخدام هيئة البيانات DINT لتمثيل الاعداد الموجبة و السالبة من خلال حالة البت 31, (0) تمثل القيمة الموجبة, (1) تمثل القيمة السالبة, اما البتات المتبقية (0-14) فيتم من خلالها تمثيل القيمة الحقيقية. يمكن استخدام الية المكمل الثنائي tow’s Complement من خلال عكس جميع البتات بعد اضافة بت واحد للحصول على القيمة السالبة كما يبيبن الشكل التالي:

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 43282716



استخدام الية المكمل الثنائي tow’s Complement لتمثيل الاعداد الموجبة و السالبة على هيئة DINT.


العدد الحقيقي Real:


هذه الهيئة Format تستخدم لتمثيل الاعداد الحقيقية, اي التي تستخدم فيها الفاصلة العشرية, مثلا (25.375), و تستخدم ايضا للتعامل مع القيم المقاسة التي تتطلب دقة الارقام الحقيقية. يتم تمثيل الاعداد الحقيقية Real باستخدام الدليل القياسي IEEE 32 على هيئة قيمة البت العائمة Bit floating Point Format. حيث تمثل البتات من 0-22 العدد الصحيح Significant و البتات من 23-30 تمثل العدد العشري Exponent, اما البت 31 فيمثل الاشارة. حيث القيمة (0) تمثل العدد الموجب و القيمة (1) تمثل العدد السالب.

من الممكن استخدام الهيئة Real لتمثيل قيمة ثابتة لتكون مدخلا الى اقتران ما, او مدخلا لتعليمة معينة. و ذلك باستخدام الرموز المبينة في الشكل التالي, حيث تسهل على المستخدم من خلال وضع القيمة الاولى من العدد الصحيح على شمال الفاصلة العشرية, و يمكن ادخال 6 خانات على يمين الفاصلة العشرية, و يتم استخدام المعرف (E) او (e), ليمثل عدد الخانات التي يجب وضع الفاصلة العشرية بعدها, و ذلك لتمثيل القيمة الحقيقية. عدد عشري موجب يعني تحريك الفاصلة الى اليمين, اما عدد عشري سالب فيعني تحريك الفاصلة الى الشمال.

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 42356309



تمثيل العدد الحقيقي باستخدام التعبير العلمي.


التاريخ DATE


يحتفظ هذا النوع من البيانات بحجم ذاكرة قدره كلمة Word, و ذلك لتمثيل البيانات على شكل اعداد صحيحة, داخليا يتم تمثيل قيمة الوقت على شكل قيمة ثابتة تمثل عدد الايام من تاريخ Jan/01/1990, هذه الهيئة المستخدمة من قبل الدليل القياسي IEEE تستخدم المعرف (DATE#) لتمثيل التاريخ او (D). حيث يتم فصل اليوم و الشهر و السنة بشرطة, مثلا (DATE#2002-08-22). و يمكن ادخال التاريخ من Jan/01/1990 الى تاريخ Dec/31/2168.


الوقت Time


هذا النوع من البيانات يحتفظ بكلمة مزدوجة Double Word من الذاكرة, و يمثل اليوم المعرف (D) و الساعة (H) و الدقيقة (M) و الثانية (S) و الملي ثانية (MS), مسبوقة بالمعرف (TIME) او (T), من الممكن ادخال القيم مباشرة خلف بعضها, مثلا (TIME#10H30M), و تستخدم هذه الهيئة المعرفة حسب الدليل القياسي IEEE لتمثيل وقت التاخير. علما بان كلا القيم الموجبة و السالبة مدعومة من خلال هذا النوع من البيانات, الحد المسموح من القيم من TIME#-24D20H31M23S647MS الى TIME#+24D20H31M23S647MS. اما التمثيل الداخلي فيتم من خلال 32 بت من الاعداد الطبيعية التي يفسرها Step 7 كوحدات من الملي ثانية.


الزمن TIME_OF_DAY


هذا النوع من البيانات يحتفظ بكلمة مزدوجة Double Word من الذاكرة, و يتم تمثيبه من خلال المعرف (TIME_OF_DAY#) او (TOD), متبوعة بالساعات, الدقائق, الثواني, و التي يتم الفصل بينها بنقتطين, مثلا (TOD#01:15:00), من المكن اضافة الملي ثانية مفصولة او ان يتم وضع القيم كلها مع بعضها. اما التمثيل الداخلي فيتم من خلال 32 بت من الاعداد الطبيعية التي يفسرها Step 7 كوحدات من الملي ثانية.
الرجوع الى أعلى الصفحة اذهب الى الأسفل
abdmusleh
عميد
عميد



عدد الرسائل : 991
العمر : 39
الموقع : الاردن
تاريخ التسجيل : 19/04/2010

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones Empty
مُساهمةموضوع: رد: الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones    الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones Emptyالأحد 7 أغسطس 2011 - 1:02


الرمز CHAR


يحتفظ هذا النوع من البيانات ب 8 بت (بايت) من الذاكرة, و يستخدم لتمثيل حرف واحد من حروف ال ASCII Character, و التي تتضمن كل الحروف المطبوعة و تشمل حروف ال Upper Case و ال Lower Case و الارقام من 0-9, و بعض الرموز الخاصة. يتم تحديد الرمز CHAR من خلال وضع البيانات داخل فواصل عليا. ايضا من الممكن من خلال تعليمة ال MOVE نقل اثنين او اربعة من الرموز Characters الموضوعة بين فواصل عليا, الى كلمة Word او الى كلمة مزدوجة double Word. انا الرموز الخاصة التالية فيتم ادخال كل منها باستخدام معرف خاص كما هو مبين في الجدول التالي:

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 83054049



معرفات الرموز الخاصة Special characters.


زمن المؤقت S5TIME


يستخدم هذا النوع من البيانات لتمثيل زمن المؤقتات داخل برنامج Step 7, تحتفظ ب 16 bit من الذاكرة و يتم التعامل معها بنفس الطريقة التي كانت مستخدمة مع S5 TIMER PRESET. يتم ادخال القيمة بتحديد المعرف (S5TIME#) او (S5T#) اولا متبوعا بالساعة (H) و الدقيقة (M) و الثانية (S) و الملي ثانية (MS), مثلا (S5T#2H30M30S), لا يلزم ادخال وحدة معينة.

و كما تم وصفه سابقا في مناطق الذاكرة الخاصة بالمؤقتات, يتم تمثيل الوقت من خلال كلمة Word مقسومة الى اثنان من اعداد ال BCD, قيمة الوقت تمثل من خلال البتات من 00-11 , و الحد المسموح من القيم لاعداد ال BCD هو بين 000 و 999, اساس الوقت Time Base فيتم تمثيله من خلال البتات 12-15, حيث ياخذ القيم 0000,0001,0010,0011, حيث يتم تفسير هذه القيم كالتالي: 0.01 ثانية, 0.1 ثانية, 1 ثانية, 10 ثانية.

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 98159744



مثال لكيفية تمثيل زمن المؤقت, قيمة التعيين تساوي T0=555 X 0.1 = 55.5 sec.

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 17493502



مختصر انواع البيانات الاساسية.


انواع البيانات المركبة Complex Data Type


هذا النوع من البيانات يسمح لك بالدمج بين مجموعة من انواع البيانات التي تتكون من اكثر من عنصر واحد, من الممكن استخدام هذا النوع فقط مع المتغيرات المستخدمة مع قوالب البيانات Data Blocks, او مع المتغيرات المؤقتة Temporary Variables, او كاعدادات رسمية Formal Parameters لقالب معين.


السلسة String


من الممكن من خلال هذا النوع تمثيل مجموعة من البيانات على شكل سلسة من رموز ال ASCII تصل الى 254 رمز, بالاضافة الى مقدمة header تتكون من 2 Bytes. يتم استخدام المعرف STRING[n] حيث يمثل [n] عدد الرموز, فمثلا STRING[6], اذا لم يتم تحديد طول المتغير فسيتم حفظ 256 رمز. قيمة البدء Initial Value يتم تحديدها من خلال وضع الرمز داخل فواصل عليا, او مسبوقة باشارة الدولار في حالة الرموز الخاصة. يمكن ادخال السلسة String من خلال وضع عدد الرموز اولا و من ثم ادخال قيمة البدء Initial Value, مثلا [12] STRING و قيمة البدء Initial Value تساوي System Ready ''. اذا لم يتم وضع 12 رمز فسيتم حفظ 12 رمز في الذاكرة.

الرجوع الى أعلى الصفحة اذهب الى الأسفل
abdmusleh
عميد
عميد



عدد الرسائل : 991
العمر : 39
الموقع : الاردن
تاريخ التسجيل : 19/04/2010

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones Empty
مُساهمةموضوع: رد: الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones    الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones Emptyالإثنين 5 سبتمبر 2011 - 1:16


الوقت و التاريخ DATE_AND_TIME


هذا النوع يتكون من الوقت و التاريخ, عند تحديد هذا المتغير داخل قالب بيانات DB, او كمتغير ثابت داخل قالب اقترانات FB, لا بد من ادخال قيمة البدء Initial Value من خلال المعرف DATE_AND_TIME# او DT#, متبوعة بالوحدات yyyy-mm-dd:hh:mm:ss:ms, مثلا: DT#2004-12-31:23:59:59:999, حيث يمكن اهمال الملي ثانية, داخليا يتم التعامل مع هذا المتغير على هيئة ال BCD باستخدام 8 بايت, بدءا من البايت (n), المتغير يحتوي على السنة من (00-99), الشهر من (1-12), اليوم من (1-31), الساعة من (0-23), الدقائق من (0-59), الثواني (0-59), الملي ثانية من (0-999), و اخيرا ايام الاسبوع من (1-7) حيث يوم الاحد هو اليوم الاول.


المصفوفة ARRAY


يتكون هذا المتغير من مجموعة من عناصر البيانات Data Element من نفس نوع البيانات Data Type, فمثلا 10 قيم من نوع البيانات INT, و التي من الممكن ان تحتوي على جميع انواع البيانات عدا النوع الخاص بالاعدادت Parameter Type. يتم تعريف المصفوفة Array على شكل {x1..y1}, حيث يتم تحديد حجمها من خلال الابعاد x1 و y1. اما قيمة الاشارة Index فمن الممكن ان تبدا بعدد صحيح سالب, او صفر, او عدد صحيح موجب. مثلا {-10..10} تمثل مصفوفة فيها 21 عنصر Element. من الممكن تحديد 6 ابعاد, من خلال الفصل بين الابعاد بفاصلة. المصفوفة {1..2,1..6} تتكون من بعدين و 21 عنصر. نوع البيانات المستخدم داخل المصفوفة (INT, DINT, REAL) يتم تعريفه على السطر التالي للسطر الذي تم تعريف اسم وحجم المصفوفة عليه.

قيم البدء من الممكن ادخالها لكل عنصر من خلال الفصل بينها بفاصلة. نفس القيم من الممكن تعريفها على عناصر متتالية من خلال وضع القيمة بين اقواس مسبوقة بعامل التكرار Repetition Value, مثلا 5(100). العناصر التي لا يتم تعيين قيمة بدء لها تاخذ القيمة صفر بشكل افتراضي. عنصر المصفوفة داخل مصفوفة مكونة من عنصر واحد من الممكن عنونته كالتالي: Name[index], مثلا: Temp [4]. لا بد من استخدام قيمة الاشارة Index في كل المصفوفة عند تعيين عنصر المصفوفة داخل مصفوفة متعددة الابعاد Multidimensional Array. مثال: بالنسبة للمصفوفتين [1..3,1..4], يتم عنونة العنصر الاول [1,1], اما العنصر الثالث [1,3], العنصر الرابع [2,1], اما العنصر الاخير [3,4].

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 39390794



تعريف متغير المصفوفة ARRAY.


الهيكل STRUCT


يمثل هذا النوع من المتغيرات هيكلا مكونا من عدد ثابت من العناصر التي تتضمن تشكيلة متنوعة من الانواع الاخرى. في نافذة التعريف, يتضمن متغير الهيكل STRUCT مجموعة العناصر الموضوعة بين كلمات التعريف STRUCT و END_STRUCT كما هو مبين في الشكل في الاسفل. من الممكن تعريف الهيكل اما من خلال نافذة التعريف الخاصة بالقالب Block او من خلال قالب البيانات DB. يتم الوصول الى العناصر المدرجة تحت الهيكل STRUCT عن طريق الاسم و اسم العنصر مع الفصل بينهم بشرطة, فمثلا Recipe_A.Sys_Rdy.

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 69525776



تعريف متغير الهيكل STRUCT.


النوع المحدد من قبل المستخدم UDT User Defined Type


هذا النوع من الممكن ان يحتوي على عناصر اساسية Elementary و معقدة Complex, و هو بشكل اساسي يتكون من هيكل STRUCT, يتشكل من عناصر بيانات و مجموعة عشوائية من انواع البيانات. الهدف من ال UDT اعطاء المستخدم القدرة على انشاء هيكل STRUCT من الممكن استخدامه كقالب بيانات داخل البرنامج, ليتم استخدامه ضمن اي من القوالب الاخرى حسب حاجة المستخدم.

يتم الدخول الى العناصر داخل ال UDT بنفس الطريقة الخاصة بالهيكل STRUCT, عن طريق الاسم و اسم العنصر مع الفصل بينهم بنقطة. يمكن انشاء ال UDT داخل مجلد القوالب باستخدام المنظم Simatic Manager او المحرر الاساسي Standard Editor. و يتم تخصيص رقم ل UDT من 0 الى 65535 , و من الممكن تعريفه باسم رمزي Symbolic Name مثل (PID Loop), حيث ان متغيرا اسمه PV تحت PID Loop يتم عنونته PID
Loop.PV

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 49076339



متغير UDT معرف داخل المنظم Simatic Manager.


نوع البيانات الاعدادات Parameter Data type


يشير هذا النوع من البيانات الى مجموعة من انواع البيانات و التي تسمح للمؤقتات Timers و العدادات Counters بالاضافة الى مجموعة من القوالب (FCs, FBs, DBs) بالاستخدام كاعدادات رسمية Formal Parameters داخل ال FC ا وال FB, حيث يتم تمرير رقم المؤقت او العداد او ال (FCs) (FBs, DBs) الى القالب كلما تم استدعاؤه. و يشمل الانواع التالية: TIMER, COUNTER, BLOCK_FC, BLOCK_FB, BLOCK_DB, BLOCK_SDB,POITER, ANY. النوعين POINTER و ANY يستخدمان لتعريف عنوان ال POINTER, بالنسبة للعنونة غير المباشرة Indirect addressing عند القيام بنقل العناوين.
الرجوع الى أعلى الصفحة اذهب الى الأسفل
abdmusleh
عميد
عميد



عدد الرسائل : 991
العمر : 39
الموقع : الاردن
تاريخ التسجيل : 19/04/2010

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones Empty
مُساهمةموضوع: رد: الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones    الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones Emptyالأربعاء 14 سبتمبر 2011 - 23:53


مقدمة عن محرر LAD\FBD\STL


في برنامج Step 7, عملية انشاء البرنامج تعني انشاء مجموعة من الكودات المبرمجة داخل القوالب Blocks و انشاء قوالب البيانات DB, بحيث ان كل منها يؤدي وظيفة معينة تشكل معا البرنامج الكلي. المحرر LAD\FBD\STL Editor هو الاداة الاساسية للبرمجة داخل Step 7. فهي وحدها كافية لانشاء البرنامج باستخدام القوالب المختلفة Blocks, مثلا (OBs, FBs, FCs, DBs, SFBs, SFCs) و التي تم التعرض لها سابقا.


مقدمة


من الممكن تشغيل محرر سيماتك LAD\FBD\STL Editor من قائمة Start داخل Windows او من منظم سيماتك Simatic Manager. بعد انشاء قالب داخل مجلد القوالب في وضع الفصل عن النظام Offline, بالنقر المزدوج على القالب يتم فتحه في نافذة مستقلة و يفتح المحرر. بمجرد انشاء القالب يمكن نقله او نسخه الى اي برنامج او مشروع Project اخر, و تحميله على ال CPU. كل قالب يمكن فحصه من خلال عدة ادوات تشخيصية (سيتم التعرض لها في الفصل القادم). بعد انشاء القالب و تحميله على ال CPU, يمكن فتح القالب في وضع الترابط مع النظام Online, حيث يمكن مراقبة التغير في القيم الفعالة.


القوائم Menus و شريط الادوات Toolbar


القوائم التالية تتوفر داخل محرر سيماتك Simatic Editor و هي File, Edit, Insert, PLC, Debug, View, Options, Window, Help. قائمة File تسمح لك بالعمليات التالية على القوالب Open, Save, Compile Blocks, Cut, Copy, Paste. تمكنك خواص ال Copy, Cut, Paste النسخ و النقل بين البرامج او القوالب. اما عمليات ال PLC فتدعم العمليات التي من الممكن تنفيذها على ال PLC من خلال وضع التربط مع النظام Online, مثل التنزيل Download, المراقبة او ادوات التشخيص. اما قائمة View فتسمح بالتبديل بين البرمجة بلغات LAD, FBD, STL, و تسمح بعرض او اخفاء مكونات النظام, بينما تسمح لك قائمة Window بعرض نافذة المحرر حسب الاستخدام الخاص بك.
اما الكبسات المتوفرة في شريط الادوات و المبينة في الشكل بالاسفل, توفر اغلب الوظائف المهمة التي يتم التعامل معها في محرر سيماتك Simatic Editor.

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 95892144



شريط الادوات لحرر سيماتك.


عناصر البرنامج Program Elements نافذة الاستدعاء Call Structure Window


تحتوي هذه النافذة على مختلف التعليمات في لغتي ال LAD\FBD داخل مجلد عناصر البرنامج Program Element, و هي تاتي على شكل شجرة مرتبة بشكل منظم حسب البرنامج المفتوح حاليا. بينما يكون المنظم Editor مفتوحا, من الممكن اخفاء نافذة الاستدعاء من خلال:
View_ Overview.
بامكانك ايضا تثبيت حجم النافذة Dock او تفعيل امكانية تغيير الحجم Undock حسب حاجتك, من خلال الضغط المزدوج على شريط العنوان Title Bar. بامكانك ايضا تثبيت النافذة من الجهة اليمنى او اليسرى من خلال جرها و تنزيلها اما على الجهة اليمنى او اليسرى من حواف النافذة.

بالنسبة لتبويب عناصر البرنامج Program Element Tab, فهو يحتوي على عنصر ادخال شبكة جديدة New Network, اضافة الى المجلدات التي تحتوي على التعليمات Instructions, و التي تختلف حسب اللغة المفعلة LAD\ FBD. و يمكن ادخال اي تعليمة عند البرمجة من خلال الضغط على التعليمة المطلوبة و الجر الى الشبكة. ايضا النافذة تحتوي على جميع قوالب ال FBs و FCs التي تم انشاؤها, و اي قوالب SFCs او SFB تم نسخها الى البرنامج. ايضا من الممكن الضغط على اي من قوالب ال FCs او FBs او SFBs و جرها الى المكان المناسب في البرنامج.

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 86122196



على اليسار نافذة ثابتة الحجم Docked و الى اليمين نافذة عائمة من الممكن تغيير حجمها Undocked.

بالنسبة لتبويب الاستدعاء فهو يحتوي على شكل هيكلي حيث يوضح العلاقة بين كل من القوالب المستدعاة, يتم وضع جميع القوالب المستدعاة على اليسار, حيث تكون ال OB على اقصى اليسار, مع ادراج جميع القوالب اسفل ال OB التي يتم استدعاؤها من خلالها, اما القوالب التي لا يتم استدعاؤها من اي مكان من البرنامج فيتم ادراجها بالاسفل. يتم ادراج كل مجموعة تحت اشارة(+) و بالضغط عليها تظهر مكونات المجموعة, و بالضغط على (-) يعاد اخفاء المكونات. عند اختيار اي من القوالب, و من خلال Right click عليه, يمكن الانتقال الى مكان القالب في البرنامج, او المكان الذي يتم استدعاؤه منه.


الرجوع الى أعلى الصفحة اذهب الى الأسفل
abdmusleh
عميد
عميد



عدد الرسائل : 991
العمر : 39
الموقع : الاردن
تاريخ التسجيل : 19/04/2010

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones Empty
مُساهمةموضوع: رد: الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones    الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones Emptyالإثنين 19 سبتمبر 2011 - 0:56


نافذة القالب Block Window


يتم فتح كل قالب Block ضمن نافذة مستقلة, من الممكن ترتيب هذه النوافذ بشكل عمودي ا وافقي او متعدد Cascaded. و كما يبين الشكل في الاسفل كل نافذة تتكون من منطقة تعريف المتغيرات Variable Declaration Pane, و منطقة الكود Code Pane, حيث يتم كتابة البرنامج. اذا كان القالب جديدا يمكنك بكل بساطة وضع المؤشر داخل منطقة كتابة الكود و بدء كتابة البرنامج على الشبكة رقم (1) او التعديل على اي قالب اخر بنفس الطريقة. يمكنك فتح اي عدد من القوالب في وقت واحد, ايضا يمكنك نسخ اي عنصر ( مثلا عنوان شبكة, او تعليق على شبكة, او المنطق Logic الموجود في الشبكة) و نسخه الى قالب اخر.

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 52046514



منظم LAD\ FBD\ STL حيث يظهر فيه نافذتين لاثنان من القوالب Blocks مفتوحتين بشكل عمودي في وقت واحد.


نافذة التفاصيل Details Window


يمكن عرض هذه النافذة من قائمة Menu و من ثم اختيار عرض التفاصيل View Details و يمكن اخفاؤها من نفس القائمة, تمكنك هذه النافذة من اختيار اي من طرق العرض السبعة, و هي Error, Cross-Reference, Address Info, Modify, Diagnostic, Comparison.
كل تبويب يمثل وسيلة لعرض خدمات معينة للقالب Block الذي يتم العمل عليه, فمثلا التقاطع المرجعي Cross-Reference يبين لك اي يوجد عنوان الشبكة الحالية في اي شبكات او قوالب اخرى. اما تبويب المقارنة Comparison فيتم استخدامه مع اداة مقارنة القالب Block Compare Tool. حيث يتم عرض الاختلافات بين القالبين بعد ان يتم عرضهما في نافذتين مختلفتين تحت تبويب المقارنة.


عرض لوظائف التعليمات داخل برنامج Step 7


خلال النقاش التالي سيتم التعرض الى تعليمات Step 7 على شكل مجموعات, و ذلك للغتي ال LAD و FBD. سيتم شرح الغرض من كل فئة بشكل بسيط, و من ثم سيكون هناك جدول يشرح الغرض من كل تعليمة. كل من هذه المجموعات يتم التعامل معها داخل محرر Step 7 Editor على شكل مجلدات, تحتوي هذه المجلدات على التعليمات المشروحة في الجداول. لاغراض الترتيب فقط, سيتم فصل مجموعة تعليمات منطق البت Bit Logic الى عمليات رئيسية Basic Operation و عمليات خاصة Special Operation, و لكنها تنتمي الى مجموعة واحدة ضمن المحرر Editor.


مجموعة تعليمات منطق البت Bit Logic / العمليات رئيسية Basic Operation


هي المجموعة الاولى من التعليمات في برنامج Step 7, و تستخدم لانشاء تعليمات مشابهة لتلك المستخدمة مع المرحلات Relays, و التعليمات التي تحتوي على منطق ثنائي Binary Logic. تعليمات ال N.O Contact و ال N.C Contact اضافة الى تعليمة ملف المخرج Output Coil, يمكن عمل اي تشكيلة من المنطق Logic, لانشاء برنامج يحتوي على تعليمات متتالية, متوازية او تشكيلة من الاثنين معا. تعليمات ال Set و ال Reset, و ايضا تعرف ب Latch\ Unlatch, تسمح بتثبيت حالة البت بغض النظر عن البرنامج logic حتى يتم عمل Reset و يمكن تغيير حالته. تعليمة Invert RLO تعمل على عكس اشارة البت.
هذه التعليمات و التي تفحص حالة كل بت معنون و تتحكم بها داخل البرنامج, و هي الاساس في انشاء المنطق Logic للتحكم في الاجهزة و الحساسات الرقمية المربوطة على النظام, بالاضافة الى تفعيل التعليمات الداخلية مثل المؤقتات و العدادات, المحولات Conversions, العمليات الرياضية Arithmetic Calculation, التحكم بتتابع البرنامج, المنطق المستخدم مع الكلمة Word Logic, تعليمات الازاحة Shift و الدوران Rotate و التحريك Move.

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 20879502



مجموعة تعليمات منطق البت Bit Logic / العمليات رئيسية Basic Operation

الرجوع الى أعلى الصفحة اذهب الى الأسفل
abdmusleh
عميد
عميد



عدد الرسائل : 991
العمر : 39
الموقع : الاردن
تاريخ التسجيل : 19/04/2010

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones Empty
مُساهمةموضوع: رد: الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones    الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones Emptyالسبت 15 أكتوبر 2011 - 5:01


مجموعة تعليمات منطق البت Bit Logic / العمليات الخاصة Special Operation


تشمل هذه المجموعة الوظائف الخاصة مثل ال Edge Detection و التي تسمح باكتشاف الانتقال الموجب او السالب من حالة الى اخرى, و يمكن اكتشاف الحافة الخاصة بعنوان معين, او من الحالة التي تنتج عن عملية منطقية (RLO), و التي تسبق تعليمة معينة. هذه النعليمات وظيفتها اكتشاف الانتقال من حالة ثنائية الى اخرى, او عند تفعيل اي عملية مثل (العدادات, العمليات الرياضية Arithmetic Calculation, و التحريك Move), و التي يجب تفعيلها عند الانتقال من 0 الى 1 (تحول موجب) او الانتقال من 1 الى 0 (تحول سالب).

اما تعليمة Set/Reset flip flop فهي تسمح بتحديد الاولوية بين ال Set و Reset عند حدوث كلا الحالتين بشكل متوازي. تعليمة Mid-line و كما يشير الاسم تسمح للمخرج بان يتم وضعه في مكان اخر عدا عن اخر الشبكة, بهذه الطريقة من الممكن تقليل حدوث تضارب في العملية المنطقية. و اخيرا تعليمة Save Output و التي تعمل على نسخ حالة العملية المنطقية التي تنتج عن تعليمة ما الى بت BR Status الموجود داخل كلمة الحالة Status Word داخل ال CPU.

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 34471966


 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 48397448




تعليمات العداد Counter


تعليمات العداد و هي Up Counter و Down Counter و Up and Down. و يتم استخدامها على شكل قوالب Box Functions و على شكل اقترانات مخارج Output Functions. القوالب Box Functions فتدعم الاستخدام ضمن تعليمة واحدة فقط. حيث يمكن تفعيل العداد, ضبط قيمة ال Preset و مراقبتها و عمل Reset. اما اقترانات المخارج Output Functions فتدعم فقط العد, حيث يتم استخدام عمليات اخرى لتفعيل العداد, ضبط قيمة ال Preset و مراقبتها و عمل Reset, فمثلا يمكن استخدام تعليمة المقارنة Compare لتفقد قيمة العداد.

كل عداد يتم ترقيمه C0, C1, C2 وهكذا, حيث يحتل كلمة word في منطقة الذاكرة. عدد العدادات المتوافرة يعتمد على نوع ال CPU المستخدم.

 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 15648453


 الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones 70962404pf





الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
الفصل الرابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» الفصل الثاني من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones
» الفصل الثالث من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones
»  الفصل الاول من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones
» الفصل السادس من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones
» الفصل السابع من كتاب : Step-7 in 7 Steps للكاتب C.T.Jones

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