PLC S7 Counter's
mr.mahdi.nori
✴️کانتر چیست؟!
یک کانتر یا شمارنده PLC یک بلوک عملکردی است که تا رسیدن به یک محدوده، تعداد را به صورت صعودی یا نزولی شمارش میکند.
شمارش در برنامهنویسی PLC به طرز گستردهای استفاده میشود. اغلب ما نیاز به شمارش اشیاء مختلف داریم. مثالی از آن میتواند، شمارش میزان محصول در یک خط تولید باشد.
✴️مبانی شمارش در PLC
قبل از شروع به شمارش در هر برنامهی PLC، باید ابتدا با برخی مبانی آشنا شوید. اینها اطلاعات ابتدایی در مورد دستورات کانتر و خود PLC هستند.
هر CPU بر اساس توانایی های خود فقط از تعداد مشخصی کانتر پشتیبانی میکند که این مقدار manual آن قید میشود.
نامگذاری هر بلوک تایمر به صورت Cn هست که n میتواند از 0 تا تعداد کانتری که CPU پشتیبانی میکند باشد.
اول از همه، مهم است که درباره محدودههای شمارش در PLC آگاهی داشته باشید. هر کانتر S7 میتواند بین محدوده 0 تا 999 شمارش کنید.
کانترهای S7 ناحیه ی خاصی از حافظه CPU را بخود اختصاص داده اند. در این ناحیه ، برای هر کانتر یک Word یعنی 16 بیت رزرو شده است.
🔶فرمتهای مقداردهی ثابت
C#nnn
W#16#nnn
در این فرمتها، nnn عدد دسیمال سه رقمی است که توسط برنامه نویس به عنوان مقدار اولیه شمارنده مشخص میشود. این مقدار باید در بازه ۰ تا ۹۹۹ باید باشد. این مقدار در مرحله برنامهنویسی وارد برنامه میشود. به عنوان مثال،
W#16#0107 یا C#107 یا C#24.
🔶فرمت تعیین مقدار اولیه شمارنده با استفاده از آدرس دهی:
برای تنظیم مقادیر اولیه مختلف برای یک شمارنده، میتوان از روش آدرس دهی استفاده کرد. این روش طول به آن داده میشود ،این آدرس یک Word (۱۶ بیت) است و مقدار آن در محدوده ۰ تا ۹۹۹ میتواند باشد. به عنوان مثال، MWm که در این آدرس m شماره بایت حافظه مربوطه است.
در PLC S7، سه نوع عملکرد کانتر داریم:
✴️کانتر صعودی (S_CU)
✴️کانتر نزولی (S_CD)
✴️کانتر صعودی و نزولی (S_CUD)
تمام بلوکهای کانتر ورودیها و خروجیهای خاص خود را دارند.
🔺ورودیها:
CU - ورودی شمارش صعودی
CD - ورودی شمارش نزولی
S - ورودی تنظیم برای تنظیم اولیه کانتر
PV - مقدار تنظیم اولیه کانتر
R - ورودی تنظیم مجدد
🔻خروجیها:
Q - وضعیت کانتر
CV - مقدار کنونی کانتر
CV_BCD - مقدار کنونی کانتر به فرمت BCD
Up Counter (S_CU)
✴️کانتر صعودی یا بهطور ساده S_CU است. همانطور که از نامش مشخص است، این نوع کانتر PLC برای شمارش با لبه مثبت استفاده میشود.

🔶روش عملکرد
🔸اگر حالت سیگنال در ورودی کانتر صعودی (CU)، از "0" به "1" تغییر کند ، و مقدار کنونی کانتر (CV)بین کمتر از 999 باشد را 1 واحد افزایش میدهد.
🔸حالت خروجی (Q) زمانیکه مقدار شمارش CV از 0 بزرگتر باشد Set و اگر برابر صفر باشد Reset میشود
🔸با هر پالس روی ورودی (S) Set مقدار PV (با فرمت c#value)که پیشتر در مورد آن توضیح دادیم در CV ریخته میشود، و یک پالس روی ورودی Reset (R) مقدار CV را به "0" بازنشانی میکند.
Down Counter (S_CD)
✴️شمارش به سمت پایین یک عمل دیگری است که در برنامهنویسی PLC به طور گستردهای استفاده میشود. در برخی موارد، ممکن است بخواهید بدانید چند شمارش تا رسیدن به محدوده باقی مانده است. با کانتر صعودی میتوانید با چند عملیات ریاضی این کار را انجام دهید، اما با کانتر نزولی میتوانید به راحتی انجام دهید. زیرا با کانتر نزولی، از یک عدد خاص شمارش را به طور نزولی تا رسیدن به ۰ انجام میدهید.

🔶روش عملکرد
🔸اگر حالت سیگنال در ورودی کانتر نزولی (CD)، از "0" به "1" تغییر کند ، و مقدار کنونی کانتر (CV)بین بیشتر از 0 باشد را 1 واحد کاهش میدهد.
🔸حالت خروجی (Q) زمانیکه مقدار شمارش CV از 0 بزرگتر باشد Set و اگر برابر صفر باشد Reset میشود
🔸با هر پالس روی ورودی (S) Set مقدار PV (با فرمت c#value)که پیشتر در مورد آن توضیح دادیم در CV ریخته میشود، و یک پالس روی ورودی Reset (R) مقدار CV را به "0" بازنشانی میکند.
Up Down Counter (S_CUD)
✴️و در نهایت کانتر صعودی و نزولی وجود دارد که میتواند به هر دو روش شمارش انجام دهد. گاهی اوقات ترکیب کانتر صعودی و نزولی میتواند مفید باشد. شما میتوانید همان عدد را به هر دو صورت صعودی و نزولی شمارش کنید.

🔶روش عملکرد
🔸حالت سیگنال در ورودی کانتر صعودی (CU)، از "0" به "1" تغییر کند ، و مقدار کنونی کانتر (CV)بین کمتر از 999 باشد را 1 واحد افزایش میدهد. و اگر حالت سیگنال در ورودی کانتر نزولی (CD)، از "0" به "1" تغییر کند ، و مقدار کنونی کانتر (CV)بین بیشتر از 0 باشد را 1 واحد کاهش میدهد.
🔸حالت خروجی (Q) زمانیکه مقدار شمارش CV از 0 بزرگتر باشد Set و اگر برابر صفر باشد Reset میشود
🔸با هر پالس روی ورودی (S) Set مقدار PV (با فرمت c#value)که پیشتر در مورد آن توضیح دادیم در CV ریخته میشود، و یک پالس روی ورودی Reset (R) مقدار CV را به "0" بازنشانی میکند.
🌹 ما قدردان همراهی شما هستیم. اگر پیشنهاد و انتقادی دارید! میتوانید آنها را از طریق آیدیهای درج شده در بیو کانال با ما در میان بگذارید.
💠 انجمن مهندسی کنترل دانشکده فنی و حرفه انقلاب اسلامی
╭─► 📡 @Control_Scientific_Association
╰───────────────