Skip to content
قطعات اتوماسیون، تامین جهانی
How to Tune PID Loops on Micro800 PLCs?

چگونه حلقه‌های PID را در PLCهای Micro800 تنظیم کنیم؟

این مقاله فنی راهنمایی‌های عملی برنامه‌نویسی میکرو۸۰۰ را برای مهندسان ارائه می‌دهد که شامل ترتیب اجرای منطق نردبانی، پیکربندی شمارنده سرعت بالا برای کاربردهای دقیق، تنظیم PID بدون ابزارهای تخصصی، آدرس‌دهی غیرمستقیم برای پردازش آرایه‌ها و نمونه‌های کاربردی واقعی برای خطوط بطری‌سازی، پرس‌های هیدرولیکی و کنترل نواحی نقاله است.

درون Allen-Bradley Micro800: راهنمای مهندسی عملی برای کنترل صنعتی

رمزگشایی خانواده سخت‌افزاری Micro800

سری Micro800 شامل چهار مدل اصلی است. Micro810 برای جایگزینی رله‌های ساده با ۱۰ نقطه ورودی/خروجی طراحی شده است. Micro820 اتصال اترنت را اضافه می‌کند و تا ۲۴ نقطه ورودی/خروجی را پشتیبانی می‌کند. Micro850 برای ماشین‌آلات بزرگ‌تر با ۴۸ نقطه ورودی/خروجی داخلی و قابلیت توسعه تا ۱۲۸ نقطه مناسب است. Micro870 بیشترین تعداد ورودی/خروجی را با ۲۸۰ نقطه ارائه می‌دهد. هر مدل محیط برنامه‌نویسی یکسانی دارد اما در قدرت پردازش و ظرفیت حافظه متفاوت است. برای ماشین‌های مستقل با نیاز به نظارت از راه دور، Micro820 را انتخاب کنید. وقتی به بیش از دو ورودی آنالوگ یا عملکرد شمارنده سرعت بالا نیاز دارید، Micro850 را انتخاب کنید.

درک ترتیب اجرای منطق نردبانی

ردیف‌های منطق نردبانی از بالا به پایین و از چپ به راست اجرا می‌شوند. این ترتیب اجرا برای سیم‌پیچ‌های خروجی و دستورهای قفل اهمیت دارد. سیم‌پیچی که در برنامه بعداً نوشته شود، مقدار قبلی همان برچسب را بازنویسی می‌کند. بررسی‌های ایمنی حیاتی را در ابتدای روال قرار دهید. منطق فعال‌سازی خروجی را نزدیک به انتها بگذارید. برای رویدادهای لبه‌ای مانند فشار دادن دکمه، از دستورهای یک‌بار فعال‌شونده استفاده کنید. بدون یک‌بار فعال‌شونده، ورودی نگه‌داشته شده در هر چرخه اسکن فعال می‌شود. ترتیب ردیف‌ها را با نظارت بر وضعیت برچسب‌ها در حالت اجرای تک‌مرحله‌ای آزمایش کنید.

کار با نوع داده‌های تعریف‌شده توسط کاربر

نوع داده‌های تعریف‌شده توسط کاربر (UDT) برچسب‌های مرتبط را در یک ساختار واحد گروه‌بندی می‌کند. یک UDT برای کنترل موتور ایجاد کنید که شامل فرمان شروع، فرمان توقف، بازخورد اجرا، وضعیت خطا و شمارنده زمان کارکرد باشد. این روش تعداد برچسب‌ها را کاهش داده و خوانایی کد را بهبود می‌بخشد. برای پیاده‌سازی UDT، ساختار را در مدیر نوع داده تعریف کنید. آن را به عنوان یک برچسب سراسری نمونه‌سازی کنید. به اعضای جداگانه با استفاده از نقطه‌گذاری مانند Motor1.RunFeedback دسترسی پیدا کنید. UDTها عملیات آرایه‌ای را نیز ساده می‌کنند. یک خط ۱۰ موتوره به جای ۵۰ برچسب جداگانه، به یک آرایه از UDTهای موتور تبدیل می‌شود. این تکنیک خطاهای برنامه‌نویسی را کاهش داده و راه‌اندازی را سرعت می‌بخشد.

پیکربندی شمارنده سرعت بالا برای کاربردهای دقیق

شمارنده‌های سرعت بالا پالس‌های انکودر یا سیگنال‌های سنسور با فرکانس بالا را اندازه‌گیری می‌کنند. Micro850 فرکانس‌های HSC تا ۱۰۰ کیلوهرتز را پشتیبانی می‌کند. HSC را برای شمارش افزایشی، کاهشی یا حالت انکودر مربعی پیکربندی کنید. حالت مربعی هم موقعیت و هم جهت را با استفاده از دو کانال ورودی دنبال می‌کند. فازهای انکودر A و B را به ورودی‌های اختصاصی HSC متصل کنید. مقدار پیش‌تنظیم را تعیین کنید که شمارنده به‌طور خودکار ریست شود. یک روال وقفه را به رویداد پیش‌تنظیم متصل کنید تا اقدام فوری مانند برش وب یا شلیک سیلندر انجام شود. شمارش HSC مستقل از چرخه اسکن عمل می‌کند و برای اندازه‌گیری دقیق طول یا نظارت بر سرعت مناسب است.

تنظیم حلقه PID بدون ابزار تخصصی

کنترل تناسبی-انتگرالی-مشتقی متغیرهای فرآیند مانند دما، فشار یا جریان را حفظ می‌کند. تنظیم را با صفر کردن بهره‌های انتگرالی و مشتقی شروع کنید. بهره تناسبی را افزایش دهید تا فرآیند به طور پایدار نوسان کند. دوره نوسان را به ثانیه ثبت کنید. بهره تناسبی را به نصف مقدار نوسان تنظیم کنید. بهره انتگرالی را ۱.۲ تقسیم بر دوره نوسان قرار دهید. بهره مشتقی را ۰.۰۷۵ ضرب در دوره نوسان تنظیم کنید. پاسخ را با تغییر کوچک نقطه تنظیم آزمایش کنید. فرآیند باید در سه تا پنج دوره نوسان تثبیت شود. اگر بیش‌ازحد رفتن بیش از ۲۵ درصد بود، بهره تناسبی را بیشتر کاهش دهید. مقادیر نهایی تنظیم را در توضیحات برنامه برای مراجعات بعدی مستند کنید.

پیام‌رسانی ضمنی و صریح EtherNet/IP

پیام‌رسانی ضمنی داده‌های ورودی/خروجی را در فواصل ثابت برای کنترل بلادرنگ منتقل می‌کند. Micro800 به عنوان یک آداپتور عمل می‌کند و تا ۵۰۰ بایت داده ورودی تولید و ۵۰۰ بایت داده خروجی مصرف می‌کند. فاصله بسته درخواست را بین ۲ تا ۱۰۰ میلی‌ثانیه تنظیم کنید. فواصل کوتاه‌تر پاسخ سریع‌تر اما مصرف پهنای باند شبکه بیشتر است. پیام‌رسانی صریح داده‌های غیر بحرانی مانند پارامترهای پیکربندی یا اطلاعات تشخیصی را مدیریت می‌کند. از دستورهای MSG برای خواندن یا نوشتن برچسب‌های جداگانه در دستگاه‌های راه دور استفاده کنید. پیام‌های صریح زمان بیشتری برای تکمیل می‌برند اما انعطاف‌پذیری بیشتری دارند. پیام‌رسانی ضمنی را برای ورودی/خروجی حساس به زمان و پیام‌رسانی صریح را برای تنظیم و نظارت رزرو کنید.

کار با داده‌های آرایه‌ای با آدرس‌دهی غیرمستقیم

آدرس‌دهی غیرمستقیم از یک شاخص متغیر برای دسترسی به عناصر آرایه استفاده می‌کند. یک آرایه ۲۰تایی تایمر برای یک کوره چندمنطقه‌ای تعریف کنید. یک برچسب شاخص عدد صحیح به نام [ZoneNumber] ایجاد کنید. به TimerArray[[ZoneNumber]].ET برای خواندن زمان سپری‌شده برای یک منطقه خاص دسترسی پیدا کنید. مقدار شاخص را تغییر دهید تا همه مناطق را در یک حلقه FOR اسکن کنید. این تکنیک کد تکراری را حذف می‌کند. یک حلقه FOR واحد ۲۰ منطقه را به جای ۲۰ ردیف یکسان پردازش می‌کند. حلقه‌ها را به ۱۰۰ تکرار در هر اسکن محدود کنید تا از تایم‌اوت نگهبان جلوگیری شود. از منطق شرطی برای رد کردن حلقه‌ها زمانی که شاخص خارج از محدوده معتبر است استفاده کنید. آدرس‌دهی غیرمستقیم کد را کوچکتر، نگهداری آن را آسان‌تر و خطاهای کپی-پیست را کمتر می‌کند.

عیب‌یابی با بافر تشخیصی

بافر تشخیصی رویدادهای زمان اجرا از جمله قطع و وصل برق، تغییر حالت، دانلود برنامه و خطاهای عمده را ذخیره می‌کند. به بافر از طریق ابزار Connected Components Workbench دسترسی پیدا کنید. هر رویداد شامل زمان‌سنج، کد رویداد و متن توصیفی است. کدهای رایج شامل 0x1000 برای روشن شدن عادی و 0x2001 برای نصب ماژول ورودی/خروجی است. کد 0x4002 نشان‌دهنده تایم‌اوت ارتباط در یک پورت خاص است. از بافر برای تعیین زمان اولین بروز خطا و وقایع قبل از آن استفاده کنید. پس از رفع مشکلات، بافر را پاک کنید تا تشخیص‌های آینده پاک بماند. بافر را به فایل CSV صادر کنید تا مشکلات متناوب را در بلندمدت پیگیری کنید.

مورد کاربرد: هماهنگی خط بطری‌سازی

یک شرکت نوشیدنی نیاز به هماهنگی پرکن، درب‌گذار و برچسب‌زن در یک خط داشت. مهندس یک Micro850 با سه شمارنده سرعت بالا و شش ورودی آنالوگ نصب کرد. هر دستگاه یک پالس به ازای هر بطری ارائه می‌داد. PLC سرعت خط را محاسبه و سرعت پرکن را برای حفظ ۶۰ بطری در دقیقه تنظیم می‌کرد. ورودی‌های آنالوگ سطح پر شدن را با دقت ۰.۱ درصد نظارت می‌کردند. سیستم گیرکردن بطری‌ها را ۷۵ درصد کاهش داد و ظرفیت تولید را از ۴۸ به ۵۸ بطری در دقیقه افزایش داد. دوره بازگشت سرمایه بر اساس کاهش ضایعات و افزایش تولید چهار ماه بود.

مورد کاربرد: کنترل پرس هیدرولیک

یک کارگاه شکل‌دهی فلز، پرس قدیمی را با یک PLC Micro820 ارتقا داد. منطق رله قبلی باعث نوسان زمان‌های چرخه می‌شد. سیستم جدید از دو ورودی آنالوگ برای بازخورد موقعیت و حسگر فشار استفاده کرد. چهار خروجی دیجیتال شیرهای جهت‌دار را کنترل می‌کردند. مهندس چرخه پرس سه مرحله‌ای برنامه‌ریزی کرد: نزدیک شدن سریع با سرعت کامل، پرس آهسته با جریان کاهش‌یافته و نگه داشتن فشار تنظیم‌شده به مدت ۳ ثانیه. ثبات زمان چرخه از مثبت یا منفی ۱.۲ ثانیه به مثبت یا منفی ۰.۲ ثانیه بهبود یافت. نرخ ضایعات از ۵ درصد به ۱.۵ درصد کاهش یافت. رابط کاربری فشار و موقعیت را به صورت بلادرنگ نمایش می‌داد و به اپراتور کمک می‌کرد پارامترها را برای قطعات مختلف تنظیم کند.

مورد کاربرد: کنترل منطقه‌ای نقاله

یک مرکز توزیع به نقاله‌های کنترل‌شده منطقه‌ای برای جلوگیری از تجمع محصول نیاز داشت. مهندس شش PLC Micro810 را با ارتباط RS-485 Modbus مستقر کرد. هر کنترلر هشت منطقه را با سنسورهای فوتوالکتریک و راه‌اندازهای موتور مدیریت می‌کرد. PLC اصلی سرعت خط را هماهنگ و فرمان‌های آزادسازی منطقه را ارسال می‌کرد. سیستم ۱۲۰۰ بسته در ساعت را بدون هیچ گیرکردی در سه ماه مدیریت کرد. هزینه سیم‌کشی نسبت به PLC متمرکز ۴۰ درصد کاهش یافت چون هر خوشه منطقه از ورودی/خروجی محلی به جای کابل‌کشی طولانی استفاده می‌کرد. کارکنان نگهداری طراحی مدولار را پسندیدند چون خرابی‌های منطقه‌ای کل خط را متوقف نمی‌کرد.

اشتباهات رایج برنامه‌نویسی و راه‌حل‌ها

یک اشتباه متداول استفاده از خروجی‌های قفل‌شده برای عملکردهای ایمنی است. دستورهای قفل حالت خود را در قطع و وصل برق و تغییر حالت حفظ می‌کنند. به جای آن از مدارهای مهر و موم استفاده کنید. مدارهای مهر و موم وقتی شرط فعال‌سازی نادرست شود، قطع می‌شوند. اشتباه دیگر ترکیب انواع داده در عملیات ریاضی است. جمع کردن یک REAL و یک INT نیاز به تبدیل صریح با دستور INT_TO_REAL دارد. نادیده گرفتن این موضوع باعث خطاهای کامپایل می‌شود. اشتباه سوم قرار دادن تایمرهای نگهدارنده در وظایف دوره‌ای است. تایمرهای نگهدارنده فقط زمانی که وظیفه اجرا می‌شود، زمان را جمع می‌کنند. برای اندازه‌گیری دقیق زمان سپری‌شده از تایمرهای TONR در وظایف پیوسته استفاده کنید. در نهایت، از تغییر مستقیم برچسب‌های سیستمی مانند _IO_EM_DI_00 خودداری کنید. ورودی‌های فیزیکی را به برچسب‌های داخلی نگاشت کنید تا قابلیت انتقال کد بین نسخه‌های سخت‌افزاری بهتر شود.

پرسش‌های متداول از میدان

س: چگونه Micro800 را به شبکه Modbus موجود متصل کنم؟
ج: پورت سریال را برای حالت استاد یا برده Modbus RTU پیکربندی کنید. نرخ انتقال، توازن و بیت‌های توقف را مطابق شبکه تنظیم کنید. به هر دستگاه برده آدرس یکتا از ۱ تا ۲۴۷ اختصاص دهید.

س: حداکثر طول کابل برای ورودی‌های گسسته Micro800 چقدر است؟
ج: کابل بدون شیلد تا ۳۰۰ متر و کابل شیلددار تا ۶۰۰ متر قابل استفاده است. فراتر از این فاصله‌ها از تکرارکننده ورودی یا ورودی/خروجی راه دور استفاده کنید.

س: آیا می‌توانم دو برنامه مستقل را روی یک Micro800 اجرا کنم؟
ج: بله. چندین وظیفه دوره‌ای ایجاد کنید. هر وظیفه به طور مستقل در بازه زمانی تنظیم‌شده اجرا می‌شود. وظیفه اصلی به طور پیش‌فرض به صورت پیوسته اجرا می‌شود.

Back To Blog