زمان مطالعه: 6 دقیقه

تنظیمات و برنامه نویسی شمارنده ها S71200

برنامه نویسی شمارنده ها S71200  موضوع قسمت ۵۱ آموزش نرم افزار TIA  می باشد. در پروسه های صنعتی تجهیزاتی مختلفی وجود دارند که سیگنال خروجی آنها به صورت پالس های سریع می باشند. از جمله تجهیزات می توان به انکودر، فلومیترهای پالسی، سنسورهای پراکسیمتی و … اشاره نمود. معمولا دریافت پالس های سریع با کارت های ورودی معمولی PLC امکانپذیر نبوده و باید از کارت های شمارنده سریع استفاده نمود.

در CPU های S7-1200، کارت های همراه CPU به قابلیت دریافت پالس های سریع مجهز شده اند و با استفاده از آنها(بدون نیاز به کارت های خاص)، CPU می تواند عمل شمارش سریع را انجام دهد. البته این قابلیت به صورت پیش فرض غیر فعال بوده و لازم است در تنظیمات CPU، قابلیت شمارنده های سریع یا High Speed Counters (HSC)  فعال شود. تعداد شمارنده های سریع در مدل های مختلف CPU های ۱۲۰۰ نشان داده شده است.

 


مقاله آموزشی پیشنهادی: آشنایی با OB122 در نرم افزار TIA


تنظیمات سخت افزاری شمارنده سریع (برنامه نویسی شمارنده ها S71200)

منظور از تنظیمات سخت افزاری، تنظیمات مورد نظر در محیط Device Configuration است. مراحل انجام کار به شرح زیر می باشد:

 

۱٫ لازم است وارد بخش تنظیمات CPU شده و گزینه High Speed Counters(HSC) را انتخاب نموده و سپس  برای شمارنده مورد نظر گزینه Enable this high speed counter را فعال نمایید.

 

۲٫در بخش Function می توان تنظیمات مختلف را انجام داد. تنظیمات قابل انجام در بخش Function عبارتند از:

    • Count: با انتخاب این گزینه، تعداد پالس های دریافتی از سنسور شمارش می شود.
    • Frequency: با انتخاب این گزینه، فرکانس پالس های دریافتی از سنسور محاسبه می شود.
    • Operating phase: در این بخش، می توان الگوریتم شمارش را در حالت Count تنظیم نمود. گزینه های قابل انتخاب عبارتند از:
    • Single phase: در این الگوریتم، شمارش بر مبنای پالس یک سنسور انجام می شود. مثلا در شرایطی که از یک سنسور پراکسیتی برای انجام شمارش استفاده شود، انتخاب این گزینه برای شمارش پالس های آن سنسور مناسب است. در این الگوریتم لازم است یک آدرس برای ورودی مورد نظر (سنسور ارسال کننده پالس) و نیز در صورت تمایل به کنترل جهت شمارش توسط یک ورودی دیگر، یک آدرس ورودی برای کنترل جهت شمارش (مثبت یا منفی) تعیین نمود. این آدرس ها را می توان در بخش Hardware input از تنظیمات High speed counters معرفی نمود.
    • Two phase: در این الگوریتم، شمارش مثبت(رو به بالا) توسط پالس یک سنسور و شمارش منفی (رو به پایین) توسط پالس یک سنسور دیگر انجام می شود. در این الگوریتم، لازم است دو آدرس ورودی برای سنسورهای مورد نظر تعیین نمود.
    • A/B Counter: در این الگوریتم، لازم است دو پالس A و B از سنسور (معمولا انکودر افزایشی) دریافت نمود. هرگاه ابتدا پالس A ابتدا پالس دریافت شده و سپس پالس B دریافت شود و به همین ترتیب نیز  پالس ها قطع شوند (یعنی در ابتدا پالس A و سپس پالس B)، کانتر عمل نموده یک شماره به مقدار شمارش شده آن افزوده می شود. بدیهی است اگر پس دریافت پالس A، پالس B دریافت نشود، مقداری به مقدار کانتر افزوده نمی شود. همچنین، اگر در این الگوریتم ابتدا پالس B دریافت شده و سپس پالس A دریافت شود و به همان ترتیب نیز پالس ها قطع شوند، یک عدد از مقدار شمارش شده توسط کانتر کم می شود. این مکانیزم برای اتصال انکودرهای افزایشی مناسب است و بر مبنای پالس های شیفت شده عمل می کند.
    • A/B Counter fourfold: در این الگوریتم با اعمال لبه بالارونده و پایین رونده پالس A و B چهار عدد به مقدار شمارش کانتر افزوده می شود. یعنی اگر پالس A  وصل شده و سپس پالس B وصل شود، دو عدد به مقدار شمارش کانتر افزوده شده و اگر در ادامه، ابتدا پالس A قطع شده و سپس پالس نیز قطع شود، دو عدد دیگر نیز به شمارش کانتر افزوده می شود. در این الگوریتم، اگر ابتدا پالس B وصل و سپس A وصل شود، دو عدد از مقدار شمارش کانتر کم شده و اگر در ادامه، ابتدا پالس B قطع و سپس پالس A نیز قطع شود، دو عدد دیگر از مقدار شمارش کانتر کم می شود. با ادامه برنامه نویسی شمارنده ها S71200 همراه باشید.

 

– Counting direction is specified by:

اگر در بخش قبل، الگوریتم شمارش به صورت Single phase انتخاب شود، توسط این گزینه می توان تعیین نمود که جهت شمارش (مثبت یا منفی)چگونه مشخص شود، گزینه های قابل انتخاب عبارتند از:

  • Input (external direction control): با انتخاب این گزینه می توان در بخش Hardware input از تنظیمات (High speed counters (HSC یک آدرس ورودی دیجیتال را به منظور انتخاب جهت شمارش معرفی نمود. اگر این ورودی دارای مقدار یک مقدار یک منطقی باشد، جهت شمارش مثبت (افزایشی) بوده و اگر دارای مقدار صفر منطقی باشد، جهت شمارش منفی (کاهشی) خواهد بود.
  • User program (internal direction control): با انتخاب این گزینه، می توان توسط بلاک برنامه نویسی CTRL_HSC، جهت شمارش کانتر (مثبت یا منفی) را تعیین نمود.

 

– Initial Counting direction: در این بخش، می توان مشخص نمود که به صورت پیش فرض، جهت شمارش کانتر به صورت افزایشی یا کاهشی در نظز گرفته شود. البته بعدا متناسب با نوع تنظیمی که در بخش Counting direction is speciffied by انجام می شود، می توان جهت شمارش را عوض نمود.

 

– Frequency measuring period: در صورتی که در بخش Type of counting گزینه Frequency انتخاب شود (یعنی کانتر در وضعیت محاسبه فرکانس پالس قرار داده شود)، در بخش Frequency measuring period می توان دوره تناوب محاسبه فرکانس پالس را تنظیم نمود.

 

 

۳٫ در بخش Reset to initial value  می توان تنظیمات مرتبط با اختصاص مقدار اولیه، مقدار مقایسه و فعال کردن ریست کانتر را تعیین نمود. 

گزینه های قابل تنظیم در این بخش عبارتند از:

  • Initial counter value: در این بخش می توان مقدار شروع کانتر را مشخص نمود. در این صورت، کانتر برای بار اول از مقدار تعیین شده در این بخش شروع به افزایش یا کاهش می نماید.
  • Initial reference value: در این بخش، می توان عددی را برای مقایسه با مقدار شمارش شده توسط کانتر تعیین نمود تا هرگاه این دو عدد (مقدار رفرنس و مقدار شمارش شده توسط کانتر) با هم برابر شوند، یک وقفه سخت افزاری را فعال نماید. البته لازمه فعال شدن وقفه سخت افزاری، انجام تنظیماتی است که در ادامه شرح داده می شود.
  • Use external sync input: با فعال نمودن این گزینه، امکان ریست کردن کانتر توسط یک ورودی دیجیتال میسر می شود. در بخش Signal level of the sync input می توان مشخص نمود که با سطح یک منطقی (با انتخاب گزینه Active high) عمل ریست انجام شود یا با فعال شدن سطح صفر منطقی (با انتخاب گزینه Active low) کانتر ریست شود. البته آدرس مربوط به ریست کانتر را باید بعدا در بخش Hardware inputs از تنظیمات (High speed counters (HSC تعیین نمود. با ادامه برنامه نویسی شمارنده ها S71200 همراه باشید.

 

۴٫ در بخش Event Configuration می توان تنظیمات مزبوط به اختصاص مربوط به اختصاص وقفه سخت افزاری را انجام داد. 

تنظیمات قابل انجام در این بخش عبارتند از:

  • Generate interrupt for counter value equals reference value event: با فعال نمودن این گزینه، در صورتی که مقدار شمارش شده توسط کانتربرابر با مقدار رفرنس تعیین شده در گزینه Initial Reference value شود، یک وقفه سخت افزاری (یکی از OB های خانواده ۴۰) فراخوانی می شود.
  • Event name: نام دلخواه برای این Event
  • Hardware interrupt: انتخاب وقفه سخت افزاری مورد نظر برای اجرا توسط این event
  • Priority: تعیین کلاس اولویت وقفه سخت افزاری مربوط به Event
  • Generate interrupt for sync event: فعال کردن فراخوانی وقفه سخت افزاری در شرایط ریست کردن کانتر
  • Generate interrupt for change direction event: فعال نمودن فراخوانی وقفه سخت افزاری در شزایط تغییر جهت شمارش کانتر توسط ورودی External

 

۵٫ تنظیم آدرس مربوط به دریافت پالس از سنسورها را می توان در بخش Hardware inputs انجام داد. 

گزینه های قابل تنظیم عبارتند از:

الف) در حالت انتخاب الگوریتم Single phase

  • Clock generator input: آدرس کانال دریافت پالس
  • Direction input: آدرس ورودی برای تنظیم جهت شمارش افزایشی یا کاهشی کانتر
  • Sync input: آدرس ورودی برای ریست کردن کانتر

 

ب) در حالت انتخاب الگوریتم Tow phase

  • Clock generator up: آدرس کانال دریافت پالس برای شمارش افزایشی
  • Clock generator down: آدرس کانال دریافت پالس برای شمارش کاهشی
  • Sync input: آدرس ورودی برای ریست کردن کانتر

 

ج) در حالت انتخاب الگوریتم A/B Counter

  • Clock generator A input: آدرس کانال دریافت پالس A از انکودر
  • Clock generator B input: آدرس کانال دریافت پالس B از انکودر
  • Sync input: آدرس ورودی برای ریست کردن کانتر

 

د) در حالت انتخاب الگوریتم A/B Counter fourfold

  • Clock generator A input: آدرس کانال دریافت پالس A از انکودر
  • Clock generator B input: آدرس کانال دریافت پالس B از انکودر
  • Sync input: آدرس ورودی برای ریست کردن کانتر

 

۶٫ تنظیم I/O address که همان آدرس کانال HSC بوده و دیتای شمارش شده توسط کانتر در آن قرار می گیرد، در این بخش قابل تنظیم است. 


 

پایان مقاله: برنامه نویسی شمارنده ها S71200 در TIA PORTAL

نویسنده : جناب آقای مهندس احمد فرجی

انتشارات : قدیس