العدادات Counters
العداد هو جهاز بسيط مخصص للقيام بشيء واحد بسيط هو "العد" count.
إستخدام العداد يكون فى بعض الأحيان تحديا لأن كل صانع متحكم PLC (ولأي سبب كان) يبدو أنه يستخدمه بطريقة مختلفة. إطمئن أن المعلومات التالية سوف تتيح لك ببساطة وسهولة برمجة عدادات أى منهم .
ما هي أنواع من العدادات الموجودة ؟
أنواع العدادات هى :
1- العدادات التصاعدية up-counters :
وهى تعد فقط 1,2,3... . وتسمى هذه العدادات إختصارا CTU , (count up) أو CNT أو C أو CTR .
2- العدادات التنازلية down counters
وهى تعد فقط 9,8,7,... . وتسمى هذه العدادات اختصارا CTD (count down) .
3- العدادات التصاعدية التنازلية up-down counters
وهى تعد تصاعديا و أو تنازليا 1,2,3,4,3,2,3,4,5,... . وتسمى اختصارا
UDC(up-down counter
العديد من الشركات المصنعة لديها نوع واحد فقط أو نوعين من العدادات ولكن يمكن استخدامها للعد التصاعدى والتنازلى أو كليهما . ربما يحدث خلط (إرتباك) ؟ ويمكنك أن تقول "لا توحيد"؟ لا تقلق ، فإن نظرية جميع العدادات واحدة بغض النظر عما يسميه المصنعين . فالعداد ما هو إلا عداد .
ومما يزيد هذا الموضوع إرباكا إن معظم الشركات المصنعة تضم أيضا عددا محدودا من العدادات عالية السرعة. وتسمى عادة HSC (high-speed counter) أو CTH (CounTer High-speed?) أو أيا كان.عادة ما تكون العدادات عالية السرعة عبارة عن أجهزة "hardware" .
العدادات العادية المذكورة أعلاه عادة ما تكون عدادات برمجية "software" . وبعبارة أخرى غير موجودة فعليا في الطبيعة فى المتحكم PLC بل هى مقلدة بالبرمجيات. عدادات الأجهزة موجودة في المتحكم PLC وهى لا تعتمد على زمن المسح .
لاستخدام العدادات يجب معرفة 3 أشياء :
1- من أين تأتى النبضات المراد عدها .عادة ما تكون من أحد المداخل (جهاز استشعار متصل بالمدخل 0000 على سبيل المثال).
2- كم عدد النبضات التى نريد عدها قبل التفاعل (رد الفعل) . على سبيل المثال عد عدد 5 من الحاجيات (البضائع) قبل تعبئتها أو تغليفها .
3- متى وكيف يتم تصفير reset العداد بحيث يقوم بالعد مرة أخرى . على سبيل المثال : بعد عد 5 من الحاجيات يتم تصفير العداد .
عندما يعمل run البرنامج فى المتحكم PLC عادة ما يعرض لنا القيمة الحالية أو القيمة الكلية (التراكمية ) بحيث يمكننا رؤية قيمة العد الحالى .
العدادات النموذجية يمكنها العد من 0 إلى 9999 أو من -32,768 إلى +32,767 أو من 0 إلى 65535 .
. لماذا هذه الأرقام الغريبة ؟ لأن معظم المتحكمات PLC لها عدادات ذات خانة 16 16-bit counters . فالعداد الى يقوم بالعد 0-9999 هو عداد 16 خانة نوع "ثنائى مكود عشرة " BCD والعداد الذى يقوم بالعد
-32,768 to 32767 والعد 0 to 65535 هو عداد 16 خانة ثنائى .
فيما يلى بعض من رموز تعليمة العداد والتى يمكن أن تواجهنا (اعتمادا على الشركة المصنعة التي نختارها) وكيفية استخدامها.
تذكر أنه في حين أنها قد تبدو مختلفة إلا أنها جميعا تستخدم أساسا بنفس الطريقة . اذا استطعنا إعداد setup إحدها يمكننا إعداد أى واحد آخر منهم.
فى هذا العداد نحتاج لمدخلين :
المدخل الأول :
هو خط التصفير reset . عندما يكون هذا المدخل فى حالة on فإن قيمة العداد الحالية (المتراكمة) تعود إلى الصفر .
المدخل الثانى :
هو خط النبضات وهو العنوان من حيث تأتى النبضات التى نقوم بعدها .
مثال :
إذا كنا نعد عدد الحاجيات (البضائع) التى تمر أمام حساس موصل فى الطبيعة بالمدخل 0001 عندئذ نضع تلامس مفتوح فى الوضع العادى NO بالعنوان 0001 أمام خط النبضات .
اسم العداد هو Cxxx . إذا أردنا تسميته العداد صفر أى 000 عنئذ نضع هنا "C000" .
عدد النبضات المراد عدها قبل فعل شىء هو yyyyy . فإذا أردنا عد 5 حاجيات قبل تشغيل مخرج فى الطبيعة يقوم بتغليفهم عندئذ نضع هنا 5 . وإذا كان عدد الحاجيات 100 عندئذ نضع هنا 100 ...ألخ .
عند إنتهاء العداد (إى الوصول للعدد yyyy ) فإنه يقوم بتوصيل مجموعة منفصلة من التلامسات والتى نسميها أيضا Cxxx .
لاحظ أن قيمة العداد التراكمية تتغير فقط عن تحول (إنتقال) حالة نبضة المدخل من الحالة off إلى الحالة on .
هنا يبين الرمز فى مخطط السلم كيفية إعداد العداد ( سوف نسميه counter 000 ) لعد 100 قطعة من الحاجيات (البضائع) من المدخل 0001 قبل أن يقوم بتوصيل on المخرج 500 .
الحساس 0002 يقوم بعمل تصفير reset للعداد .
المحاكاة التفاعلية :
في المثال أعلاه، في كل مرة يدفع المشغل الزر الضاغط 0001 تزداد القيمة المتراكمة للعداد بواحد . لاحظ أنه يزداد فقط عند الانتقال من حالة off إلى حالة on . عندما تساوى القيمة المتراكمة القيمة المحددة مسبقا (أي 5) تتحول تلامسات العداد المسماة C000 إلى حالة التوصيل (التشغيل) ويصبح المخرج 0500 فى حالة تشغيل . عندما يدفع المشغل زر الإعادة أو reset التصفير (0002) تعود القيمة المتراكمة مرة أخرى إلى الصفر 0000 .
فيما يلى أحد الرموز لعداد تصاعدى تنازلى والتى ربما تواجهنا .
وسوف نستخدم الاختصار الذى ذكرناه وعندئذ يكون لدينا UDCxxx و yyyyy
فى هذا العداد التصاعدى التنازلى نحتاج لتخصيص 3 مداخل :
مدخل التصفير وله نفس الوظيفة كما سبق ذكره .
وبدلا من مدخل نبضات واحد يكون لدينا مدخلين . مدخل للعد التصاعدى والآخر للعد التنازلى .
فى هذا المثال سوف نسمى العداد UDC000 ونعطيه قيمة إعداد مسبقا هى 1000 ( سوف نقوم بعد 1000 نبضة أجمالية ) .
فى المداخل :
سوف نستخدم حساس والذى يقوم بتوصيل on المدخل 0001 عندما يرى هدف (نبضة) والحساس الآخر بالمدخل 0003 وأيضا يقوم بتوصيل on المدخل 0003 عندما يرى هدف (نبضة) .
عندما يكون المدخل 0001 فى حالة توصيل on يتم العد تصاعديا وعندما يكون المدخل 0003 فى حالة توصيل on يتم العد تنازليا .
عندما يصل العد إلى 1000 نبضة سوف يتم توصيل (تشغيل) المخرج 500 .
مرة أخرى لاحظ أن القيمة التراكمية للعداد تتغير عن تحول نبضة الدخل من الحالة off إلى الحالة on .
مخطط السلم موضح كما يلى :