جولای 13, 2019

جلسه ششم: آموزش کانتر(شمارنده) در WPLSoft دلتا

کانترها از پرکاربردترین دستورات در PLCها هستند چرا‌که در پروسه‌های زیادی نیاز به شمارش داریم.
در PLC دلتا کانترها را با حرف C که حرف اول Counter میباشد نمایش میدهند.
از نظر اندازه کانترها به دو دسته تقسیم میشوند:
  • کانترهای ۱۶ بیتی
  • کانترهای ۳۲ بیتی
واضح است که کانتر ۳۲ بیتی تعداد بیشتری را نسبت به کانتر ۱۶ بیتی میشمارد.
محدوده شمارش کانتر ۱۶ بیتی: ۳۲,۷۶۸
محدوده شمارش کانتر ۳۲ بیتی: ۲,۱۴۷,۴۸۳,۶۴۸
برای استفاده از کانتر ۱۶ بیتی از دستور CNT استفاده میکنیم.
برای استفاده از کانتر ۳۲ بیتی از دستور DCNT استفاده میکنیم.(آوردن حرف D در ابتدای یک دستور آن دستور را به نسخه ۳۲ بیتی تبدیل میکند)
تقسیم بندی دیگر کانترها به شرح زیر است:
  • کانترهای سخت افزاری
  • کانترهای نرم افزاری
در هر PLC تعدادی کانتر تعریف شده است که از فایل منوال آن قابل استخراج میباشد. برای PLC دلتا مدل ۱۴SS2:

توضیح: همانطور که از فایل منوال پیداست کانترهای ۱۶ بیتی فقط شمارنده‌ی روبه بالا هستند و کم شدن مقدار را شمارش نمیکنند. برای مثال در یک خط تولید که به ازای ورودی سنسور باید یک عدد کم شود نمیتوان از این نوع کانتر استفاده نمود.
اما همانطور که مشاهده میکنید کانترهای ۳۲ بیتی علاوه بر شمارش بالا، شمارش پایین(کم کردن ) را هم انجام میدهند.
برای مثال میخواهیم اگر ۱۰ عدد کالا از جلوی سنسور عبور کند یک خروجی در سیستم فعال شود. پس به منوی Application instruction (میانبرf6) بروید و دستور CNT را تایپ نمایید. برنامه به شرح زیر است:


کانتر دارای یک تیغه است که بعد از رسیدن به عدد مورد نظر(در اینجا ۵) تیغه بسته شده و خروجی فعال میگردد. برای صفر کردن کانتر میتوان از دستور RST کمک گرفت.
نکته: ورودی کانتر بهتر است از لبه ی بالا یا پایین رونده استفاده کنید.
مثال ترکیبی: برنامه ای بنویسید که با فشردن شستی استارت یک موتور روشن شود. سپس بعد از شمردن ۱۰ عدد محصول بعد از ۵ ثانیه موتور خاموش گردد:

خب از کاتالوگ  PLC  متوجه شدیم که کانترهای ۳۲ بیتی هم میتوانند بالاشمار باشند هم پایین شمار.  ولی باید توجه کنید ی سری فلگ های خاص برای تعیین بالاشمار یا پایین شمار بودن کانترهای ۳۲ بیتی هستند. فلگ های    M1200  M1254  تا  برای کانترهای C200 تا C254 تعبیه شدن.برای مثال برای کانتر C200 فلگ M1200 بکار گرفته میشه. اگر این فلگ صفر باشه کانتر بالاشمار و اگر یک باشه کانتر پایین شمار میشه. بازم تاکید میکنم این اطلاعات همشون تو کاتالوگ PLC هستش و اصلا جای نگرانی نیست. به تصویر از کاتالوگ توجه کنید

فلگ های خاصی هم که به کانترها تعلق داره میتونید از فایل کاتالوگ یا از مسیر Help>> PLC Instruction and Special registers  قابل مشاهده هستش.
مثال: برنامه ای بنویسید که تا عدد ۵ را به صورت بالاشمار و از آن پس به صورت پایین شمار، شمارش کند:
در برنامه بالا کانتر C200 شروع به شمارش کرده و تا عدد ۵ را میشمارد سپس فلگ M1200 را ست میکند و این ست شدن این فلگ باعث پایین شمار شدن این کانتر میشود. سپس به صورت پایین شمار شروع به شمارش میکند. ورودی X1 هم برای ریست کردن کانتر و M1200  در نظر گرفته شده است.
برنامه زیر رو از خودتون تحلیل کنید.( از دستور مقایسه ای ۳۲ بیتی استفاده کردیم!)

دستور INC و DEC:
این دستورات نیز برای شمارش بکار میروند و شبیه دستور CNT هستند با این تفاوت که دستور INC برای شمارش صعودی و دستور DEC برای شمارش نزولی به کار میرود. همچنین این دستورات مانند دستور CNT دارای تیغه نمیباشند و فقط مقدار شمارش شده را در یک رجیستر میریزند.
نکته: ورودی دستورات INC و DEC حتما باید به صورت لبه بالا یا پایین رونده باشد.
لبه چیست؟
لبه بالارونده یا LDP تیغه ای است که با فعال شدن فقط یک پالس را عبور میدهد. در واقع تیغه بالا رونده به اول پالس که مقدار از صفر به یک تغییر میکند حساس است و تیغه پایین رونده به اخر پالس. به تصویر زیر توجه کنید:

 در تصویر بالا یک پالس را مشاهده میکند. از C به A که مقدار پالس از صفر به یک تغییر میکند لبه بالارونده بوجود می آید که تیغه بالارونده به این لبه حساس است. برای تیغه پایین رونده نیز بحث به همین صورت است.
مثال: برنامه ای بنویسید که تعداد بطری های ورودی به جعبه را شمارش کند.


X0 در واقع همان سنسوری است که بطری هارا سنس میکند و با دستور INC تعداد شمارش میگردد و در رجیستر D0 ریخته میشود.
 
آموزش های بیشتر را در همین سایت دنبال کنید.

 

 

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

کانال تلگرام

عضویت در خبرنامه

برای اطلاع از جدیدترین اخبار، محصولات و تخفیف ها عضو خبرنامه شوید.