اتصال انکودر به PLC S7-1200
اتصال انکودر به plc s7-1200 با توجه به نوع PLC و تعداد کانالهایی که میشود به انکودر یا سنسور high […]
اتصال انکودر به plc s7-1200
با توجه به نوع PLC و تعداد کانالهایی که میشود به انکودر یا سنسور high speed متصل کرد بهصورت زیر است. جهت خرید پی ال سی زیمنس با کارشناسان فروش مجموعه نیک صنعت تماس بگیرید.
همانند جدول بالا، plcهای 1211 و 1212 در صورت اضافه کردن سیگنال برد به 2 عدد به تعداد کل انکودرها یا سنسور high speed اضافه میشود. اگر همه plcها سیگنال تک باشند، فرکانس 100 کیلوهرتز در برخی کانالها و 30 کیلوهرتز در دیگر کانالها را نیز پشتیبانی میکنند. اگر انکودر متصل شود، به دلیل 2 فاز بودن A و B، ماکزیمم فرکانس تا 80 کیلوهرتز در برخی کانالها و 2 کیلوهرتز در دیگر کانالها ساپورت میشود. با توجه به کاربرد آن، باید به ماکزیمم فرکانس مورد نظر توجه داشت.
مراحل اتصال انکودر به پی ال سی S7-1200
در برنامه PLC، نرم افزار TIA PORTAL مورد نظر انتخاب شود. در بخش سخت افزار (Device view) روی plc کلیک شود. در پنجره پایین سربرگ properties و زیر گروه General مطابق شکل، بخش High speed counters (HSC) انتخاب گردد.
کانال مورد نظر (HSC1 یا HSC2 یا …) و زیر شاخه کانال مورد نظر انتخاب شود. در تب General در HSC مورد نظر، با تیک Enable this high speed counter فعال میشود.
در بخش function نوع مد کاری و موارد مربوط به آن تنظیم شود. در ادامه موارد مهم تنظیمات سخت افزاری را توضیح میدهیم. برای مشاوره و خرید پی ال سی S7-1200 با کارشناسان فروش ما تماس بگیرید.
بخش Type of counting (تعیین مد کاری آن)
در این بخش نوع مد کاری طبق توضیحات زیر تعیین میشود.
- Count: اگر در مد پوزیشن از انکودر یا سنسور استفاده شود، مد count انتخاب گردد.
- Period: اگر پالسهای انکودر یا سنسور را در یک فاصله زمانی مشخص (0.01 یا 0.1 یا 1 ثانیه در بخش frequency measuring period) شمارش شود، این مورد استفاده قرار میگیرد. این مد شبیه به مد فرکانس است، با این تفاوت که در فرکانس تعداد پالس، مدت زمان یک ثانیه نشان میدهد اما در این مد در سه بازه زمانی میتوان این مقدار را تنظیم کرد.
- Frequency: برای محاسبه فرکانس پالسهای انکودر، از این مد استفاده میشود. با این مد Frequency همانند مد period میتوان زمان رفرش شدن فرکانس را تنظیم کرد. تفاوت Frequency با مد period است که با تنظیم هر زمان، تعداد پالسهای انکودر یا سنسور را در مدت یک ثانیه به ما نشان میدهد. که یعنی همان فرکانس منتها زمان رفرش آن متفاوت است که بنا به استفاده ما میتواند قابل تنظیم باشد.
- Motion Control: برای راه اندازی محور سروو یا استپ موتور را از طریق توابع موشن و پالس خارجی اجرا میشود. از انکودر یا سنسور میتوان بهصورت close loop بهعنوان فیدبک پوزیشن به کار میرود.
بخش Operation phase (تعیین نوع سیگنال)
در این بخش نوع سیگنال مورد نظر را تعیین میشود:
- Single phase: اگر یک سنسور سرعت بالا روی چرخ دنده محور تنظیم شود، در این صورت جهت شمارش را میتوان افزاینده یا کاهنده بهصورت نرم افزاری یا سخت افزاری (به عنوان یک ورودی دیجیتال) تعیین کرد.
- Two phase: در این حالت دو سنسور سرعت بالا وجود دارد که یکی برای حالت افزاینده شمارش و دیگری برای حالت کاهنده شمارش استفاده میشود که در بخش Hardware input در زیر گروه HSC این ورودیها رو میتوان تعیین کرد. این حالت خیلی کم مورد استفاده قرار میگیرد.
- A/B counter: این حالت برای اتصال انکودر است که خرجی پالس انکودر افزایشی، 24 ولت است. دو پالس A و B را به ورودیهای دیجیتال متصل است که در این حالت تعداد پالسها بهصورت نرمال شمارش میشود. از پالس B به دلیل تعیین جهت گردش برای افزایشی یا کاهشی کانتر استفاده میشود.
- A/B counter fourfold: این حالت هم برای اتصال انکودر است که تنها تفاوت آن، شمارش لبههای پایین و بالا هر دو پالس A و B انکودر است. تعداد شمارش کانتر 4 برابر مد a/b counter است؛ یعنی یک دور انکودر بزند، تعداد پالس شمارش شده در کانتر 4 برابر رزولوشن انکودر است. در این حالت دقت بسیار زیادتر است که برای محاسبه پوزیشن از این حالت استفاده میشود.
بخش Counting direction is specified (تعیین جهت گردش افزایشی یا کاهشی)
این بخش اگر در مد operation phase حالت single phase انتخاب کنید، این حالت فعال میشود و در مابقی موارد غیر فعال است.
- User program (internal direction control): این حالت برای تعیین جهت گردش بهصورت افزایشی یا کاهشی برای شمارش پالسها است که بهصورت نرم افزاری از داخل برنامه و تابع مربوطه تعیین میشود.
- Input (external direction control): این حالت برای تعیین جهت گردش بهصورت افزایشی یا کاهشی برای شمارش پالسها است که بهصورت ورودی سخت افزاری تعیین میشود. ورودی مورد نظر در بخش hardware inputs در HSC تعیین میشود.
بخش Initial counting direction
این بخش برای تعیین اولیه نوع افزایشی یا کاهشی بودن کانتر شمارش (یعنی جهت حرکت) است.
برای شمارش افزایشی count up و برای شمارش کاهشی count down را انتخاب میشود.
بخش Frequency measuring period
این بحش زمانی که در operation mode حالت period یا frequency را انتخاب شود، آنگاه فعال میگردد. سه حالت زمانی 0.01 یا 0.1 یا 1 ثانیه دارد که میتوان هم از این قسمت تعیین کرد و هم در حین برنامه با استفاده از تابع تغییر داد.
بخش capture input
اگر بخش capture input فعال شود، در بخش hardware input یک ورودی سخت افزاری به آن میتوان اختصاص داد. همچنین میتوان در حالت لبه بالا یا لبه پایین یا در هر دو لبه مقدار کانتر در این حالتها ثبت شود. بهطور مثال یک حالت خاص وجود دارد که مقدار پوزیشن محور در لحظه خاص از سنسور عبور میکند. در حالت عادی، سرعت بالا است و شاید نتوان مقدار انکودر را در لبه بالا ورودی بهطور دقیق ثبت کرد اما میتوان از این حالت استفاده کرد. برای استفاده از این حالت، حتما باید تابع خاص انکودر استفاده شود.
بخش gate input
اگر قسمت gate input فعال شود، در بخش hardware input یک ورودی سخت افزاری به آن میتوان اختصاص داد. اگر ورودی فعال شود، کانتر عمل شمارش پالسهای انکودر را انجام میدهد؛ در غیر این صورت، اگر ورودی غیرفعال شود، با پالس انکودر هم عمل شمارش انجام نمیشود. ورودی فعال با سطج بالا، میتوان 1 منطقی تعریف کرد و برای ورودی غیر فعال با سطح پایین یعنی صفر منطقی را اعمال کرد. میتوان این حالت را نرم افزاری نیز انتخاب کرد و این بخش را غیر فعال کرد.
بخش Event configuration
قسمت Event configuration اینتراپتها را تنظیم میکند که اولین بخش آن، مربوط به تنظیم شماره اینتراپتی است. اگر مقدار کانتر با مقدار رفرنس تابع انکودر یکسان باشد، برنامه به ob اینتراپت مربوطه میرود و Ob مربوطه را اجرا میکند. در حقیقت زمانی که دقیقا CV=RV شود، این اینتراپت اجرا میشود.
پس از انجام مراحل بالا، بخش event configuration را با استفاده از تابع انکودر میتوان فعال کرد که مقدار RV یا مقدار رفرنس را داخل رجیستر آن انتقال یابد. هنگامی که کانتر به این مقدار رسید، اینتراپت مربوطه (شکل ob40) را اجرا میکند که میتوان برنامه مورد نظر را در ob40 نوشته شود. در ادامه تابعی را مثال میزنیم که بتوان چندین رفرنس را فقط با یک ob اینتراپتی اجرا کرد.
بخش Hardware input
در این بخش Hardware input آدرس ورودیهای سخت افزاری هر بخش را با توجه به فعال کردن بخشهای مختلف قبلی میتوان وارد کرد. به عنوان مثال، اگر کانتر را بهصورت دو فاز A و B انتخاب شود و بخش Gate hardware و Capture فعال باشد، میتوان مطابق شکل زیر، آدرس ورودیهای مورد نظر را وارد کرد.
بخش I/O addresses
در قسمت I/O addresses آدرس یک double word باید وارد شود که مقدار کانتر انکودر در آن ریخته شود. اگر تابع انکودر استفاده نشود، در صورت فعال کردن hsc، مقدار کانتر به این ورودی، بهطور پیش فرض در ID1000 ریخته میشود. (cv= ID1000) برایفر کردن کانتر باید حتما از تابع انکودر استفاده شود. (در بخش start address آدرس شروع اولین بایت داده میشود و در بخش end address آدرس بایت آخر بهطور اتومات نوشته میشود که جمعا 4 بایت است (چون یک double word است). اگر با خطا مواجه شدسد میتوانید برای عیب یابی و تعمیر پی ال سی S7-1200 اقدام نمایید.
بخش Hardware identifier
قسمت Hardware identifier مربوط به آدرس سخت افزاری است که به عنوان شماره خاص برای این کانتر در نظر گرفته میشود. این قسمت باید در تابع انکودر از آن استفاده کرد که این بخش تنظیمی نیست و فقط نمایشی است.
پس از تنظیمات بخش سخت افزاری میتوان وارد برنامه نویسی شد و با توجه به کاربرد مورد نظر و مد انتخابی، تابع انکودر را استفاده کرد. در plc S7-1200 دو تابع انکودر وجود دارد که یک تابع خاص محسوب میشود اما تابع دیگری عمومی است. اگر از تمامی قابلیتهای ورودیهای مختلف به خصوص capture استفاده شود؛ باید از تابع خاص و کلی استفاده کرد. اکثر مواقع از تابع عمومی استفاده میشود و ابتدا تابع عمومی را توضیح میدهیم.
استفاده از تابع CTRL_HSC برای توابع عمومی
کاربر وارد بخش برنامه نویسی شود و در ob1 یا fc از سمت راست ستون Technology، پوشه counting و از زیر پوشه others، تابع CTRL_HSC را انتخاب نماید و آن را وارد نتورک برنامه کند. یک دیتا بلاک برای تابع انتخاب شود یا بهطور اتومات یک DB برای تابع انتخاب شود.
در ادامه پایههای تابع CTRL_HSC را توضیح میدهیم.
- پایه HSC: دراین پایه شماره HSC مورد نظر را در بخش hardware وارد شود که همان کد Hardware identifier است.
- پایه DIR: این پایه مربوط به مد تک سیگنال است و میتوان با این پایه، جهت کانتر (افزایشی یا کاهشی) را بهصورت نرم افزاری تعیین و انتخاب کرد. این پایه برای فعال کردن جهت جدید استفاده میشود؛ یک ورودی از بیت میگیرد و اگر این ورودی فعال شود، مقدار جهت جدید مطابق با پایه NEW_DIR داده میشود. اگر این پایه برای تغییر افزایشی یا کاهشی کانتر انتخاب شود، میتوان این پایه را یک داد و عدد NEW_DIR را تغییر داد.
- پایه CV: این پایه برای انتقال مقدار جدید کانتر است. اگر این پایه فعال شود، هر مقدار که در پایه NEW_CV است به مقدار CV منتقل میشود (در این مثال رجیستر ID1000 تنظیم شده است). از این پایه میتوان برای صفر کردن مقدار کانتر انکودر استفاده کرد. در این پایه یک بیت مثلا M10.0 آدرس دهی شود. سپس مقدار صفر به پایه NEW_CV داده شود و با فعال کردن M10.0، مقدار صفر در رجیستر کانتر انکودر (CV) یا همان آدرس سخت افزاری بهطور پیش فرض ID1000 ریخته میشود. میتوان به جای M10.0 ورودی یک سنسور سخت افزاری مثلا I1.0 داده شود که این سنسور نقطه شروع حرکت محور باشد. در ادامه حالت Homing را اجرا کند و هنگامی که محور حرکت به این سنسور برسد، مقدار کانتر انکور صفر میشود.
- پایه RV: این پایه برای فعال کردن انتقال مقدار NEW_RV به رجیستر RV (رفرنس) است. اگر مقدار فعلی کانتر انکودر (CV) با مقدار رجیستر رفرنس (RV) برابر شود، برنامه اینتراپت بخورد و OB مربوط به اینتراپت اجرا میشود. اگر مقادیر مختلفی را داخل رفرنس قرار داده شود، میتوان پایه RV در این تابع را یک بیت آدرس دهی کرد. به عنوان مثال M10.1، با فعال شدن این پایه مقدار رجیستر NEW_RV به رجیستر RV منتقل میشود.
- پایه PERIOD: این حالت فقط زمانی کاربرد دارد که کانتر در مد فرکانس و پریودیک قرار بگیرد. اگر زمان پریدویک شمارش پالسها برای محاسبه فرکانس تغییر یابد، از این پایه استفاده میشود. ابتدا به این پایه، یک ورودی بیت داده میشود و با فعال شدن این پایه، مقدار پایه NEW_PERIOD، به عنوان زمان پریود جدید اعمال میشود.
نکته خیلی مهم
پس از تنظیم ورودیهای سخت افزاری برای پالسهای A و B، مطابق با شکل، زمان فیلتر برای این ورودیها را روی کمترین حالت یعنی 0.1 میکرو ثانیه قرار داده شود. در غیر این صورت پالسها به درستی شمارش نمیشود.
مثال 1) محاسبه سرعت خطی با اتصال انکودر به پی ال سی S7-1200
یک انکودر 1024 پالس به یک موتور متصل است. این موتور به گیربکس با ضریب نسبت 5 به 1 متصل است و یک شفت با قطر 100 میلی متر میچرخاند. این انکودر را به PLC S7-1200 متصل است. فرکانس محور، rpm محور و سرعت خطی بر حسب m/min (متر بر دقیقه) محاسبه شود.
در تنظیمات plc، مد تنظیمی را در مد فرکانس (سرعت) تنظیم شود و سپس در ID1000 فرکانس پالس انکودر از قبل محاسبه شده بود.
برای محاسبه فرکانس محور، ابتدا فرکانس موتور را محاسبه میشود. برای محاسبه فرکانس موتور، باید فرکانس پالس انکودر را بر رزولوشن انکودر تقسیم کرد.
در MD10 فرکانس موتور، از قبل محاسبه شد و همان مقدار باید بر ضریب گیربکس تقسیم شود تا فرکانس محور را به دست بیاید.
در MD14 فرکانس محور را از قبل محاسبه شد. اگر rpm یا همان دور در دقیقه را داشته باشیم، کافی است فرکانس را در عدد 60 ضرب شود.
برای محاسبه سرعت خطی بر حسب واحد متر بر دقیقه، باید محیط محور یا شفت را به دست بیاید. برای محاسبه محیط شفت، باید قطر شفت یا محور را بر حسب متر در عدد پی ضرب شود.
متر 0.314= 3.14 *0.1 = محیط شفت
برای محاسبه سرعت خطی، سرعت محور بر حسب rpm را در محیط شفت یا محور ضرب شود. باید ابتدا سرعت را به عدد اعشاری تبدیل شود و سپس در عدد محیط ضرب شود.
در نهایت سرعت خطی (متر بر دقیقه) را در MD26 به دست میآید.
مثال 2) محاسبه طول جسم اتصال انکودر به PLC S7-1200
یک انکودر با رزولوشن 2000 پالس به محور یک نوار نقاله متصل است. انکودر به plc1200 است و روی این نوار نقاله، جسم در طولهای متفاوت تولید میشود. یک سنسور خازنی بهطور ثابت در یک طرف نوار نقاله متصل است. هنگامی که جسم به این سنسور میرسد ،سنسور فعال میشود تا از مقابل آن عبور کند. طول هر جسم توسط انکودر و سنسور بر حسب میلی متر محاسبه شود و در HMI نمایش داده شود. (هر 500 پالس از انکودر معادل 1 میلی متر حرکت روی نوار نقاله است)
تنظیمات plc 1200 را روی حالت count و از نوع A/B (مربوط به انکودر است) تنظیم شود. (میتوان برای دقت بیشتر روی حالت 4 بار شمارش گذاشته شود اما در این مثال روی حالت عادی شمارش گذاشته شده است).
عدد انکودر را در ID1000 وجود دارد و شمارش عدد انکودر زمانی است که جسم در مقابل سنسور است. به همین دلیل، ورودی سنسور را به ورودی gate داده میشود و در بخش gate input تنظیم میگردد. آدرس ورودیها را در بخش hardware inputs مطابق با شکل تنظیم میشود.
اکنون تابع انکودر فراخوانی میشود.
تابع انکودر باید در مواقع ضروری و حرکت جسم در مقابل سنسور آماده شمارش باشد. از بیت M0.0 به عنوان ریست انکودر استفاده میشود که با فعال شدن بیت M0.0 مقدار صفر در پایه New_cv است و در مقدار کانتر ID1000 ریخته میشود. مقدار کانتر یعنی ID1000 را بر اساس مقدار میلی متر کالیبره میشود و با فعال شدن ورودی سنسور gate باید کانتر مقدارش در رجیستر مربوط به طول جسم ریخته شود و کانتر ریست شود. برای کالیبره کردن باید مقدار کانتر را طبق صورت مسئله در هر 500 پالس معادل 1 میلی متر تقسیم شود.
در MD30 مقدار طول جسم را بر حسب میلی متر است. هنگامی که لبه پایین ورودی سنسور است یعنی جسم کاملا از مقابل سنسور رد میشود. سپس سنسور غیر فعال میشود و با لبه پایین آن مقدار پالس شمارش شده بر عدد 500 تقسیم میشود و حاصل به عنوان طول جسم بر حسب میلی متر در MD30 منتقل میشود. باید با لبه بالا سنسور بیت مربوط به ریست کانتر انکودر فعال شود.
هربار جسم از مقابل سنسور در حال عبور است، کانتر ریست میشود و در حالی که سنسور فعال است، کانتر شروع به شمارش میکند. هنگامی که جسم از مقابل سنسور میگذرد، عدد طول جسم محاسبه میشود و در رجیستر مربوط به آن نشان میدهد. اگر کل طول جسم را بر حسب میلی متر داشته باشد، میتوان هنگامی که طول جسم محاسبه شد، هر بار با لبه بالا یا پایین سنسور گیت مقدار طول هر جسم را با یک رجیستر جمع کرد و در آن ذخیره کرد.
طول آخرین جسم تولید شده را آنلاین در MD30 است و طول کل جسم را در MD40 قرار دارد. میتوان به جای MD40 یک حافظه از دیتا بلاک را تعیین کرد که با خاموش شدن برق plc مقدار کل ریست نمیشود.
مثال 3) محاسبه برش دهی با اتصال انکودر به پی ال سی 1200
یک انکودر، 1000 پالس در یک دور دارد که به یک محور نوار نقاله متصل است. روی نوار نقاله یک ورق مقوا بهطور پیوسته در حال حرکت است. هنگامی که شروع به شمارش شد، یک کاتر که با یک شیر برقی فرمان میگیرد، برشها را به ترتیب 50 سانتی متر و 100 سانتی متر و 150 سانتی متر انجام دهد و مجددا از 50 سانتی متر دوباره شروع کند. هر بار برای فرمان برش باید plc به مدت 500 میلی ثانیه به کاتر فرمان دهد و سپس فرمان را قطع کند. هر 2000 پالس از انکودر معادل یک سانت است.
با استفاده از مقایسه کنندهها نمیتوان مقدار انکودر را مقایسه کرد. به دلیل اینکه دقت کار بالا است و این کار با مقایسه کنندههای عادی امکان پذیر نیست. بنابراین از اینتراپت مخصوص انکودر استفاده میشود. مقدار پالس معادل سانتی متر را در پایه RV لود شود و هر بار که عمل اینتراپت انجام شد، باید مجددا مقدار RV را تغییر داد. این مثال بسیار پرکاربرد است و خیلی در صنعت مشابه این مثال استفاده میشود.
ابتدا پالسهای معادل هر سانتی متر محاسبه شود. (طبق اطلاعات صورت مسئله، هر 2000 پالس معادل یک سانتی متر است).
100000 = 50 × 2000 (برای 50 سانتی متر، مقدار انکودر باید به 100000 پالس برسد.)
200000 = 100 × 2000 (برای 100 سانتی متر، مقدار انکودر باید به 200000 پالس برسد.)
300000 = 150 × 2000 (برای 150 سانتی متر، مقدار انکودر باید به مقدار 300000 پالس برسد.)
در هر بار در سه نقطه متفاوت مقدار RV را که به عنوان رفرنس برای اینتراپت است و مقادیر 100000، 200000 و 300000 منتقل شود تا زمانی که مقدار کانتر یعنی CV با مقدار RV برابر شد (CV=RV). اینتراپت مورد نظر را اجرا شود و در اینتراپت، باید خروجی مورد نظر شیر برقی کاتر را فعال شود. سپس در بیرون از ob، اینتراپت تایمر مربوطه برای ریست کردن آن را نوشته میشود. در ادامه اینتراپت از مقایسه کننده استفاده میشود تا هر بار مقدار جدید RV را در رجیستر (مربوط NEW-RV) منتقل شود تا اینتراپت بعدی با توجه به مقدار جدید RV اجرا شود.
مراحل کار به ترتیب زیر انجام شود:
- طبق موارد قبل تنظیمات انکودر انجام شود.
- بخش سخت افزار و HSC انتخاب شود و برای تنظیم و فعال کردن اینتراپت قسمت Event configuration انتخاب شود. مطابق شکل ob اینتراپتی را تنظیم شود.
اینتراپت مربوط به انکودر OB40 ایجاد شد که در ادامه برنامه آن را بررسی میکنیم.
- پس از تنظیم موارد سخت افزاری انکودر و ایجاد OB، وارد اینتراپت شود و تابع انکودر را فرخوانی کند.


در نتورک1، خروجی Q0.0 مربوط به کاتر فعال شود و پس از 500 میلی ثانیه خروجی ریست میشود. مقایسه کننده عدد مربوط به اینتراپت بعدی را در رجیستر MD50 ذخیره میشود و پایه RV تابع انکودر بارگذاری میشود. بار اول در عدد 100000 اینتراپت اجرا میشود، سپس مقدار 100000 در رجیستر MD50 است. عدد بعدی 200000 برای 100 سانتی متر است که اینتراپت در عدد 200000 فعال میشود. در ادامه عدد 300000 در رجیستر MD50 ریخته میشود و سپس بار سوم که اینتراپت برای 150 سانتی متر فعال میشود. مجددا عدد 100000 در رجیستر MD50 بارگذاری میشود.
برای بهرهمندی از تمامی امکانات تابع انکودر از تابع CTRL_HSC_EXT استفاده میشود و این تابع تمامی امکانات را میدهد. یکی از کاربردهای این تابع، استفاده از پایه capture است که پایه در بخش سخت افزار است. برای فراخوانی این تابع در OB1 از بخش COUNTING مطابق شکل، تابع فراخوانی میشود.
پایه HSC: در بخش سخت افزار، شماره HSC تنظیم شده است، همان وارد شود. منظور همان کد Hardware identifier است.
پایه CTRL: این پایه بخش STATIC از یک DATA BLOCK مخصوص HSC آورده شود.
- ابتدا یک DATA BLOCK دلخواه بهصورت عمومی ایجاد شود.
وارد دیتا بلاک شود و در قسمت DATA TYPE عبارت (HSC_COUNT) را تایپ شود و سپس ENTER زده میشود.
یک STATIC ایجاد میشود. اگر این آرایه باز شود، پایههای مهمی دارد که در شکل بعد میتوان آن را مشاهده کنید.
اکنون تمامی موارد در دیتا بلاک مورد نظر قابل دسترسی است. هر موردی که بخواهید فعال شود، باید پایه مربوط به Enable آن را در دیتا بلاک فعال شود. به طور مثال اگر بخواهید کانتر فعال شود، باید پایه EnHSC را SET شود. یکی از کاربردهای مهم این تابع، استفاده از پایه capture است.
مثال 4) مثالی کاربردی از پایه capture در انکودر به پی ال سی S7-1200
یک دستگاه کاتر لفاف نایلون وجود دارد که میخواهیم هرگاه سنسور چشمی فتوسل روی لفاف نایلون را دید، عدد کانتر انکودر را در رجیستری ثبت کند و بدون اینکه کانتر انکودر را ریست شود.
چون سرعت ورودی یا فرکانس سنسور زیاد است، بنابراین نمیتوان از لبه بالا سنسور استفاده کرد. برنامه OB1 باید بهگونهای نوشته شود که با لبه بالا، عدد کانتر را در رجیستر انتقال یابد. این کار دقیق نیست و قطعا خطا خواهد داشت اما اگر بخواهید این کاربا دقت بالا انجام شود، باید از تابع CTRL_HSC_EXT استفاده شود. ورودی سنسور چشم برای فتوسل را به پایه capture داده میشود. ابتدا HSC را در بخش سخت افزار فعال میشود و طبق موارد قبل، پایه capture را از بخش HSC سخت افزار فعال میشود. (این پایه برای ورژنهای بالاتر فریمورک plc است و اگر در برخی plcها نبود؛ به دلیل ورژن انتخابی plc است).
از بخش Hardware inputs، آدرس ورودی سنسور را برای پایه capture input مشخص میشود:
برای ورودی capture همانند ورودیهای پالس A و B انکودر، باید فیلتر زمانی را در بخش Digital Inputs روی کمترین زمان تنظیم شود.
تابع CTRL_HSC_EXT و دیتا بلاک مربوطه ایجاد شود.
در دیتا بلاک مربوط به پایه CTRL متصل میشود و پایههای EnHSC و EnCapture فعال میشود. برای این کار میتوان این دو بیت را SET کرد.
با اجرا برنامه، هر بار که سنسور چشمی فتوسل را ببیند، با لبه بالا، ورودی عدد انکودر در رجیستر CapturedCount در دیتا بلاک مربوط به کانتر در بخش HSC_COUNT و متصل به پایه CTRL ثبت میشود.
پایه Sync input همانند پایه ریست در تابع انکودر است و ریست سخت افزاری کانتر انکودر است. این پایه را در بخش HSC در تابع انکودر فعال شود و یک ورودی به آن اختصاص یابد. میتوان این ورودی را بهصورت Normaly open (Active High) یا به صورت Normaly close (Active Low) تعریف کرد. چنانچه این پایه فعال شود کانتر انکودر ریست و صفر میشود .
با هدف ارتقا مهارت و کسب دانش در خصوص شناخت ساختار PLC و تسلط به برنامه نویسی این کنترلر، میتوانید در کلاسهای آموزش PLC زیمنس مجموعه فنی مهندسی نیک صنعت شرکت کنید.



نظرات کاربران