نحوه ارتباط و اتصال انکودر به PLC FATEK

در plc فتک نیز همانند plc دلتا دو نوع کانتر برای کانترهای High speed وجود دارد. یک نوع به نام software high speed counter و نوع دیگر آن، hardware high speed counter است. در حقیقت یک نوع نرم افزاری و یک نوع سخت افزاری است. در ادامه نحوه اتصال انکودر به پی ال سی فتک را بررسی می‌کنیم.

رجیسترهای CV و PV

در جدول زیر رجیستر CV به عنوان رجیستر مقدار فعلی کانتر است که پالس‌های انکودر را شمارش می‌کند. رجیستر PV به عنوان رجیستر رفرنس یا ست پوینت (Set Point) است که اگر مقدار CV=PV شود، اینتراپت مربوطه انجام می‌شود. در جدول زیر شماره رجیسترهای هر کانتر و همچنین آدرس ورودی‌های پالس‌های A و B انکودر مشخص است. کانترهای سخت افزاری با HHSC و کانترهای نرم افزاری با SHSC شناخته می‌شوند.

رجیسترهای CV و PV
  • پایه MASK (MSK): این پایه در صورتی که فعال و ست شود، شمارش کانتر متوقف می‌شود. با غیر فعال شدن این پایه، کانتر عمل شمارش را انجام خواهد داد. می‌توان هم برای این پایه ورودی سخت افزاری تعریف کرد و هم با بیت خاص این عمل را به‌صورت نرم افزاری اجرا کرد.
  • پایه Clear (CLR): این پایه در حقیقت همان ریست کانتر است. البته می‌توان از طریق تابع 93 نیز کانتر را ریست کرد. این پایه چنانچه فعال شود، رجیستر CV در حقیقت صفر می‌شود. برای هر کانتر می‌توان پایه سخت افزاری تعریف کرد و همچنین از بیت‌های خاص هر کانتر برای ریست کردن این پایه استفاده کرد. همچنین می‌توان از بیت نرم افزاری مخصوص این کانتر نیز که طبق جدول زیر، برای ریست استفاده کنید.

در ستون آخر جدول قبل شماره‌های اینتراپت هر کانتر مشخص است و به‌عنوان مثال اینتراپت کانتر HSC0، با HSC0I مشخص می‌گردد. در صورت فراخوانی در برنامه هنگامی که رجیستر CV=PV شود، در حقیقت رجیستر R4096=R4098، عمل اینتراپت را اجرا می‌کند (می‌توان با R4096 و هم با D4096 استفاده کرد).

جدول ماکزیمم فرکانس پالس ورودی انکودر برای هر مدل PLC

جدول ماکزیمم فرکانس پالس ورودی انکودر برای هر مدل PLC

با توجه به جدول و سرعت حرکت و رزولوشن انکودر، باید نوع PLC مورد نظر را انتخاب کنید. به همین دلیل انتخاب مناسب در زمان خرید پی ال سی فتک بسیار مهم است. با توجه به مطالب بالا فرکانس کانترهای High speed نرم افزاری در هر plc در مجموع نباید بیشتر از 8 کیلوهرتز شود. کانترهای نرم افزاری فرکانس پایین‌تری را پشتیبانی می‌کنند و معمولا باید از کانترهای سخت افزاری برای اتصال انکودر استفاده کرد.

نحوه تنظیم کانتر High Speed در PLC فتک

برای تنظیم کانترهای High speed باید وارد نرم افزار WinProladder شوید و یک پروژه تعریف کنید. سپس نوع PLC را انتخاب کنید و در ستون سمت چپ وارد بخش system configuration شوید. حالا گزینه I/O configuration را انتخاب و کلیک کنید.

نحوه تنظیم کانتر High speed پی ال سی فتکطبق جدول زیر، وارد سر برگ rTimer /Counte شوید.

سر برگ Timer/Counte

HSC0 تا HSC3 مربوط به کانترهای High Speed سخت افزاری هستند. HSC4 تا HSC7 مربوط به کانترهای High Speed نرم افزاری است. به دلیل فرکانس بالا ما معمولا انکودر را به کانترهای سخت افزاری متصل می‌شود. برای نمونه کانتر HSC0 را انتخاب شده است. برای اتصال انکودر به پی ال سی فتک باید دقت لازم را داشته باشید تا خرابی و تعمیر پی ال سی فتک را به همراه نداشته باشد. موارد مهم جدول بالا را در ادامه توضیح می‌دهیم.

حالت های مختلف مربوط کانتر High Speed پی ال سی فتک

موارد مهم عکس جدول بالا را در ادامه توضیح می‌دهیم.

  • Counter Type: در این قسمت Hardware Counter انتخاب شود.
  • Counting Mode: در این بخش برای انکودر، مدهایA/B  انتخاب می‌شود که در این PLC، چهار مد را می‌توان برای حالت اتصال انکودر با پالس‌های A و B انتخاب کرد.
  • حالتA/B : پالس‌های انکودر به‌صورت معمول و با ضریب 1 شمارش می‌شود .
  • حالتA/B*2 : پالس‌های انکودر با ضریب 2 شمارش می‌شوند و لبه‌های بالا و پایین پالس A شمارش می‌شود.
  • حالتA/B*3 : پالس‌های انکودر با ضریب 3 شمارش می‌شوند و لبه‌های بالا و پایین پالس A و لبه بالا پالس B شمارش می‌شود.
  • حالتA/B*4 : پالس‌های انکودر با ضریب 4 شمارش می‌شوند و در حقیقت لبه‌های بالا و پایین پالس A و پالس B شمارش می‌شود.

این حالت‌ها برای دقت بیشتر پوزیشن به کار می‌رود اما هر چقدر دقت بالاتر رود، از مقدار ماکزیمم فرکانس شمارش، کم می‌شود. حالت A/B*4 کمترین ماکزیمم فرکانس پالس را نسبت به حالت عادی A/B دارد اما دقت 4 برابر بیشتر است.

  • A-phase: در این قسمت آدرس ورودی مورد نظر را برای اتصال پالس A انکودر انتخاب شود. (برای کانترهای سخت افزاری برای هر کانتر فقط یک انتخاب وجود دارد).
  • B-phase: هنگامی که آدرس در A-phase انتخاب شود، ورودی انتخاب می‌شود. این آدرس برای اتصال پالس B انکودر است.
  • Mask signal: اگر روی حالت Normal باشد، ورودی با یک شدن فعال و با صفر شدن غیر فعال می‌شود. چنانچه روی حالت Inverse باشد، ورودی با صفر شدن فعال و با یک شدن غیر فعال می‌شود.
  • Clear signal: اگر روی حالت Normal باشد، ورودی با یک شدن فعال و با صفر شدن غیر فعال می‌شود. اگر روی حالت Inverse باشد، ورودی با صفر شدن فعال و با یک شدن غیر فعال می‌شود.
  • Counter signal: اگرروی حالت Normal باشد و انکودر راستگرد بچرخد، کانتر افزایشی است و اگر چپگرد بچرخد، کانتر کاهشی است. اگر روی حالت Inverse باشد، انکودر راستگرد بچرخد کاهشی است و اگر چپ گرد بچرخد، کانتر افزایشی است.
  • HSCs Data Length: روی حالت 32 بیت قرار دهید تا کانتر 32 بیتی باشد.

پس از تنظیم انکودر و همچنین انتخاب نوع کانتر و ورودی‌های مورد نظر در این قسمت، باید تابع انکودر را در برنامه فراخوانی و Enable کرد تا بتوان از رجیسترهای کانتر استفاده کرد. به همین منظور از تابع 92 یا HSCTR استفاده می‌شود. برای تغییر در مقادیر رجیسترهای CV و PV در هر کانتر باید از تابع 93 یا HSCTW استفاده کرد.

فراخوانی توابع در اتصال انکودر به پی ال سی فتک

برای فراخوانی تابع 92 در برنامه به صورت زیر اجرا کنید و گزینه F را اتخاب کنید.

گزینهF

سپس روی خط برنامه با موس کلیک شود تا پنچره زیر باز شود. در بخش Function name عدد 92 را وارد شود.

بخش Function name

تابع 92 به‌صورت زیر ظاهر می‌شود.

تابع 92

در بخش CN شماره کانتر High Speed سخت افزاری وارد شود (عدد صفر تا 3 مربوط به کانترهای اول تا چهارم است). دقت کنید برای کانترهای نرم افزاری نیازی به فراخوانی تابعی نیست. فقط باید تنظیم I/O configuration انجام شود و مقدار شمارش در رجیسترهای مربوط به SHSC مربوطه قرار دارد. همچنین می‌توان فقط آن رجیسترها را در برنامه فرخوانی کرد. از تابع 93 یا (HSCTW) برای مقداردهی به رجیسترهای CV و PV کانتر در بخش سخت افزاری استفاده می‌شود.

برای کانترهای نرم افزاری نیازی به فراخوانی تابعی نیست و فقط تنظیم در I/O configuration انجام می‌شود. مقدار شمارش در رجیسترهای مربوط به SHSC مربوطه قرار دارد و می‌توان فقط آن رجیسترها را در برنامه فرخوانی کرد. از تابع 93 به نام HSCTW برای مقداردهی به رجیسترهای CV یا PV هر کانتر High Speed استفاده شود.

HSCTW

  • پایه: در این پایه می‌توان یک مقدار عددی 32 بیتی ثابت یا یک رجیستر را وارد کرد که هدف اسن اشت که رجیستر PV یا CV کانتر High Speed منتقل شود.
  • پایهCN : شماره HSC مورد نظر را وارد شود و عدد 0 تا 3 مربوط به HSC0 تا HSC3 است.
  • پایه: اگر عدد صفر وارد شود، مقدار S به رجیستر CV منتقل می‌شود و اگر عدد 1 وارد شود؛ مقدار S در رجیستر PV منتقل می‌شود.

در ادامه با چندین مثال کاربرد این توابع را بهتر درک خواهید کرد.

مثال 1) اتصال انکودر به PLC فتک

یک انکودر با رزولوشن 2500 پالس را به یک محور طولی متصل شود. پالس‌های این انکودر را به یک PLC FATEK FBS-20MC متصل است. اگر به ازای هر 1000 پالس یک میلی متر حرکت داشته باشیم. مطلوب است که موارد زیر را محاسبه کنید.

  1. سرعت خطی محور برحسب (mm/s) میلیمتر بر ثانیه
  2. پوزیشن محور بر حسب میلی متر ( پالس A انکودر به ورودی X0 و پالس B انکودر به ورودی X1 متصل است)

نحوه محاسبه فرکانس و سرعت خطی

صورت مسئله هم پوزیشن و هم سرعت را می‌خواهد که باید از کانتر High Speed سخت افزاری استفاده شود. برای ایحاد دقت بیشتر، از اینتراپت زمانی 100 میلی‌ثانیه استفاده می‌شود و داخل اینتراپت زمانی که هر 100 میلی‌ثانیه اجرا می‌شود؛ از یک کانتر ساده استفاده می‌شود. اگر کانتر برابر یک باشد، مقدار رجیستر CV مربوط به کانتر HSC0 یعنی رجیستر R4096 را داخل رجیستر دلخواه به عنوان مثال R10 منتقل می‌شود.

در اینتراپت بعدی یعنی 100 میلی‌ثانیه بعدی کانتر برابر 2 می‌شود و این بار رجیستر R4096 را در رجیستر بعدی R12 منتقل می‌گردد. اگر اختلاف این دو رجیستر را در رجیستر R14 منتقل شود؛ همواره تعداد پالس‌های انکودر را در مدت زمان 100 میلی‌ثانیه وجود دارد. برای دقت بیشتر در حالت A/B*4 قرار داده شود و تعداد پالس‌ها با ضریب 4 خوانده می‌شود. اگر این رجیستر را در عدد 10 ضرب و تقسیم بر 4 شود، فرکانس پالس انکودر (R40) را خواهید داشت. اگر فرکانس را تقسیم برضریب میلی مترشود (هر 1000 پالس معادل 1 میلیمتر است)، سرعت خطی را بر حسب میلیمتر بر ثانیه (R50) خواهید داشت.

نحوه محاسبه پوزیشن

پس از فراخوانی تابع 92 در برنامه اصلی رجیستر CV مربوط به کانتر HSC0 یعنی رجیستر R4096 را بر عدد 4 تقسیم شود. (چون با ضریب 4 پالس ها خوانده می‌شود) سپس بر ضریب میلی متر تقسیم شود (هر 1000 پالس برابر یک میلی متر است). حاصل برابر پوزیشن محور بر حسب میلی متراست. (می‌توان رجیستر R4096 را تقسیم بر عدد 4000 شود).

R4096 ÷ 4000= R20 ( position mm)

در PLC FATEK اینتراپت زمانی 100ms با نام 100MSI است که اینتراپت‌ها را در بخش Sub _ programe نوشته می‌شود. انتها هر اینتراپت باید دستور RTI حتما نوشته شود.

برای نوشتن برنامه ابتدا در بخش I/O configuration کانتر HSC0 را تنظیم شود (برای دقت بیشتر در حالت A/B*4 قرار گیرد).

بخش i/o configuration

در برنامه اصلی تابع 92 فراخوانی شود.

تابع 92 را فراخوانی می نماییم

برای محاسبه پوزیشن رجیستر R4096 را تقسیم بر 4000 شود و حاصل برابر پوزیشن محور بر حسب میلی متر را در رجیستر R20 منتقل شود.

رجیستر R20 محاسبه سرعت در برنامه اصلی رجیستر فرکانس پالس های انکودر

حال در بخش Sub_program برنامه اینتراپت زمانی را نوشته می‌شود.

برنامه اینتراپت زمانی

:در بخش sub _unit1 (می‌توانید نامش را به دلخواه تغییر دهید) برنامه زیر نوشته می‌شود.

بخشsub _unit1

ادامه حل برنامه

در برنامه بالا از تابع جمع به عنوان کانتر استفاده شد و مقدار کانتر را در R100 در نظر گرفته شد. دقت کنید که حتما در ابتدا باید نام اینتراپت (100MSI) برای اینتراپت سایکل زمانی 100 میلی‌ثانیه آورده شود. انتها لیبل حتما دستور RTI استفاده شود و برای ریست کردن کانتر High speed می‌توان از بیت M1941 برای کانتر HSC0 استفاده شود.

بیت M1941

مثال 2) اتصال انکودر به PLC فتک

یک انکودر با رزولوشن 1000 به یک موتور متصل است و پالس‌های انکودر را به یک plc فتک با مدل Fbs 40_MC متصل است. این موتور یک رول لفاف را به سمت جلو هدایت می‌کند و این لفاف را به اندازه‌های متفاوت برش می‌دهد که اپراتور از روی HMI بر حسب سانتی متر تعیین می‌کند (R40). یک کاتر در قسمت جلو دستگاه طبق شکل قرار گیرد که کاتر به مدت 300 میلی ثانیه فعال شود و لفاف را برش دهد.

پالس A به ورودی X0 و پالس B به ورودی X1 متصل است و در حالت نرمال A/B پالس‌ها شمارش می‌شوند. به ازای هر 500 پالس معادل یک میل یمتر از لفاف حرکت می‌کند. خروجی Y0 برای فعال شدن موتور، ورودی X4 به عنوان پوش باتن استارت، X5 به عنوان ورودی استپ دستگاه، خروجی Y1 برای شیر برقی کاتر است.

انکودر با رزولوشن 1000

ابتدا کانتر HSC0 تنظیم شود (در حالت A/B با ضریب یک تنظیم می‌شود؛ برای دقت بیشتر، می‌توان با ضریب 4 تنظیم کرد).

کانتر HSC0 را تنظیم می کنیم

پس از تنظیم HSC0، کانتر باید تابع 92 را در برنامه فرخوانی شود. پس از آن مقدار رجیستر R40 ( بر حسب سانتی متر) را در عدد 10 ضرب شود برحسب میلی متر به‌دست می‌آید. در ضریب پالس برای میلی متر ضرب می‌شود تا میزان رفرنس هر برش تعیین شود. بنابراین پس از ضرب در عدد 10 باید در عدد 500 ضرب شود (بنابراین رجیستر R40 را در عدد 5000 ضرب می‌شود و حاصل را در رجیستر R50 منتقل می‌گردد).

برای فعال کردن خروجی کاتر (Y1) باید از اینتراپت کانتر HSC0 استفاده می‌شود (HSC0I). قبل از برنامه اینتراپت با استفاده از تابع 93 مقدار رجیستر R50 را در رجیستر PV منتقل می‌شود. هنگامی که رجیستر کانتر CV با مقدار رجیستر برابر شد، اینتراپت HSC0I اجرا شود. در برنامه اینتراپت باید خروجی Y1 را فعال شود و سپس کانتر انکودر را ریست کرد. (برای ریست انکودر می‌توان از بیت M1941 استفاده کرد یا مقدار صفر را با استفاده از تابع 93 در رجیستر CV منتقل شود).

از تایمر T0 برای مدت زمان فعال بودن خروجی کاتر به مدت 300 میلی ثانیه استفاده می‌شود و مدار اصلی در قسمت Main _ program به‌صورت زیر نوشته می‌شود.

Main _ program حل مثال 2

قسمت Sub_ program در بخش Sub_ unit1 برنامه اینتراپت HSC0I را به‌صورت زیر نوشته می‌شود.

Sub_ unit1

در برنامه اینتراپت، ابتدا خروجی کاتر را فعال می‌کنیم و سپس کانتر HSC0 را با استفاده از تابع 93 ریست شود. در صورت تمایل به یادگیری تخصصی و حرفه‌ای، حتما از آموزش PLC فتک نیک صنعت استفاده کنید تا بهترین روش‌ها را فرابگیرید.