up/down counter شمارنده بالا و پایین در لوگو
شمارندهها همواره در اتوماسیون استفادههای مختلفی دارند. شمارنده بالا و پایین در لوگو زیمنس یکی از بلوکهایی است که برای این منظور در لوگو در نظر گرفته شده است. در این آموزش تصویری تلاش خواهیم کرد به زبان ساده این بلوک up/down counter یا همان شمارنده بالا و پایین در لوگو زیمنس را خدمت شما تشریح کنیم و با یک مثال ساده کاربرد آن را توضیح دهیم.
بلوک شمارنده بالا و پایین در لوگو زیمنس
برای دسترسی به این بلوک از طریق ساختار درختی در برنامه LOGO!Soft Comfort به بخش Counter مراجعه میکنیم و از زیر مجموعه آن بلوک مربوطه یعنی Up/Down counter را روس صفحه قرار میدهیم. این بلوک به صورت زیر است:
همانطور که در تصویر بالا ملاحظه میکنید، بلوک up/down counter دارای 3 ورودی است که به شرح زیر هستند:
R : این ورودی اشاره به عملکرد Reset کردن دارد.
Cnt : این ورودی اشاره به بحث شمارنده یا همان Count دارد.
Dir : این ورودی مخفف Direction است که در واقع جهت شمارش را معلوم میکند.
بررسی عملکرد بلوک Up/Down counter
برای اینکه بدانیم بلوک شمارنده بالا و پایین در لوگو چگونه عمل خواهد کرد، به ورودی R آن یک ورودی از نوع شستی باز وصل میکنیم. همچنین به Cnt نیز یک شستی باز و به Dir یک کلید یا همان switch ارتباط میدهیم.
اگر در برنامه بالا وارد شبیهساز شویم و شروع کنیم به فشردن ورودی I2، آنگاه شمارنده شروع به شمارش میکند. دقت کنید که در این حالت ورودی I3 که به Dir متصل است مقدار صفر دارد. نحوه شمارش به این صورت است که با هر بار فشردن I2 یک عدد به مقدار شمارنده اضافه میشود؛ یعنی از صفر شروع به شمارش کرده و رو به بالا شمارش خواهد کرد.
اگر مقدار ورودی Dir یعنی همان I3 را به 1 تغییر دهیم، آنگاه شمارش آن رو به پایین خواهد بود، یعنی از مقادیر شمرده شده کم خواهد کرد. پس شمارنده بالا و پایین در لوگو هم میتواند رو به بالا شمارش کند و هم رو به پایین و این جهت توسط ورودیها تعیین میشود. توسط R نیز میتوانیم پروسه شمارش را Reset کنیم.
پنجره تنظیمات بلوک up/down counter
پنجره تنظیمات بلوک شمارنده بالا و پایین در لوگو زیمنس به شکل تصویر زیر است. این پنجره مانند همه بلوک ها دارای تبهای Parameter و Comment است که در تب Comment میتوانیم توضیحاتی برای این بلوک در نظر بگیریم.
در تب Parameter در بخش Block name تعریف یک نام برای بلوک امکانپذیر است. مقادیر دیگری که در این پنجره موجود است در زیر توضیح داده میشود:
Start Value : این متغیر، شروع شمارش شمارنده قابل تنظیم است. به صورت پیشفرض این مقدار بر روی 0 قرار گرفته است.
On : با این متغیر لحظه وصل شدن خروجی بلوک شمارنده را تعیین میکنیم. برای مثال اگر آن را روی 7 قرار دهیم، با رسیدن به عدد 7 در شمارنده، خروجی بلوک وصل خواهد شد.
Off : با این متغیر لحظه قطع شدن خروجی بلوک شمارنده را تعیین میکنیم. برای مثال اگر آن را روی 3 قرار دهیم، بعد از عبور از عدد 3 در شمارنده یعنی رسیدن به عدد 2 آنگاه خروجی بلوک قطع خواهد شد.
طراحی مثال پارکینگ با شمارنده بالا و پایین در لوگو
یک پارکینگ را در نظر بگیرید که قرار است با حسگری که به عنوان ورودی I2 در نظر گرفتهایم، تعداد ماشینها که از درب پارکینگ وارد میشوند را شمارش کند و یک عدد به شمارنده اضافه کند. در خروجی پارکینگ نیز حسگری که به I3 متصل میشود قرار است با خروج هر ماشین، یک عدد شمارنده کم کند.
خروجی شمارنده زمانی وصل خواهد شد که ظرفیت پارکینگ پر شود تا هشداری را ارسال کند. مثلا فرض کنیم ظرفیت پارکینگ به میزان 150 ماشین است. همچنین وقتی که حداقل 10 ظرفیت خالی وجود داشت، این خشدار قطع شود. برای مثال اخیر عدد 140 مد نظر ما است.
نکته مهم در این برنامه عملکرد ورودی I3 است که هم باید Direction را مقدار دهی کند تا جهت شمارش عوض شود و هم به Cnt مقدار دهد تا شمارش رخ دهد. پس برای Cnt ورودیهای I2 یا I3 دستور صادر خواهند کرد؛ پس لازم است تا از یک بلوک OR برای این منظور استفاده کنیم.