Skip to content

دنبال چه چیزی می‌گردید؟

درک توالی‌های پیشرفته بافر داده FIFO و LIFO در برنامه‌نویسی PLC

  • by WUPAMBO
Understanding FIFO and LIFO Advanced Data Buffer Sequences in PLC Programming

مدیریت داده‌ها بخش حیاتی از اتوماسیون پیشرفته کارخانه است. در حالی که منطق گسسته وضعیت‌های ساده ماشین را کنترل می‌کند، مدیریت مواد حجیم یا ردیابی قطعات نیازمند بافر داده‌ای قوی است. برنامه‌نویسان معمولاً این آرایه‌های داده را با استفاده از دو ساختار صف‌بندی اساسی مدیریت می‌کنند: FIFO (اولین ورودی، اولین خروجی) و LIFO (آخرین ورودی، اولین خروجی).

این خلاصه فنی عملکرد مکانیکی، پارامترهای بلوک دستورالعمل و استراتژی‌های پیاده‌سازی این توالی‌های پشته‌ای را در سیستم‌های کنترل صنعتی مدرن توضیح می‌دهد.


نقش رجیسترهای آرایه‌ای در اتوماسیون صنعتی

محیط‌های تولید مدرن نیازمند PLCهایی هستند که حرکت محصول را ردیابی کنند، زمان‌سنجی‌ها را ثبت کنند یا کدهای مواد را صف‌بندی نمایند. بنابراین، مهندسان از رجیسترهای شیفت‌دهنده برای سازماندهی آرایه‌های داده متغیر به صورت ترتیبی استفاده می‌کنند. تولیدکنندگانی مانند Allen-Bradley (Rockwell)، Siemens و Schneider Electric دستورات اختصاصی پشته را مستقیماً در نرم‌افزار برنامه‌نویسی خود ادغام می‌کنند. این بلوک‌های دستوری آرایه‌ای از کلمات داده را دستکاری می‌کنند و مقادیر را بر اساس رویدادهای فیزیکی تولید به صورت پویا شیفت می‌دهند.


مکانیک FIFO: پیاده‌سازی منطق اولین ورودی، اولین خروجی

ساختار FIFO داده‌ها را به ترتیب زمانی پردازش می‌کند. بنابراین، بسته داده‌ای که ابتدا وارد آرایه رجیستر می‌شود همیشه اولین بسته داده‌ای است که بازیابی می‌شود.

رابط پارامتر بلوک و پین‌های سیگنال

ساختار استاندارد FIFO در PLC شامل دو دستور همراه است که معمولاً FIFO Load (FFL) و FIFO Unload (FFU) نامیده می‌شوند. بلوک دستورالعمل با استفاده از سه ورودی کنترل حیاتی و دو خروجی وضعیت عمل می‌کند:

  • بازنشانی (RST): لبه بالا رونده در این بیت اشاره‌گر اندیس آرایه را پاک کرده و کل بافر را خالی می‌کند.

  • ذخیره‌سازی / بارگذاری (منبع): یک انتقال از حالت نادرست به درست مقدار عدد صحیح یا کلمه فعلی را گرفته و به پشته اضافه می‌کند.

  • بازیابی / تخلیه (مقصد): یک لبه بالا رونده قدیمی‌ترین مقدار ذخیره شده را به یک رجیستر هدف منتقل می‌کند.

  • بیت خالی (EM): این پرچم تشخیصی زمانی فعال می‌شود که رجیستر هیچ بسته داده فعالی نداشته باشد.

  • بیت پر (DN/UL): این پرچم ایمنی زمانی فعال می‌شود که بافر به حداکثر طول پیکربندی شده برسد و نوشتن‌های بیشتر را مسدود کند.


مکانیک LIFO: پیاده‌سازی منطق آخرین ورودی، اولین خروجی

برعکس، ساختار LIFO ترتیب بازیابی را معکوس می‌کند. در این پیکربندی، جدیدترین عنصر داده‌ای که در پشته نوشته شده است اولین عنصری است که استخراج می‌شود.

تغییرات ساختاری در پردازش پشته

بلوک LIFO از همان پیکربندی پین‌های دستور FIFO استفاده می‌کند، شامل بارگذاری، تخلیه، پر و خالی. با این حال، دستکاری اشاره‌گر داخلی به طور قابل توجهی متفاوت است. وقتی ورودی بازیابی به حالت درست تغییر می‌کند، PLC داده را از بالاترین موقعیت اندیس فعال می‌خواند. بنابراین، آخرین مورد ذخیره شده بلافاصله از آرایه خارج می‌شود، در حالی که داده‌های قدیمی‌تر در پایین پشته باقی می‌مانند تا لایه‌های بالایی پاک شوند.


دیدگاه‌های توسعه‌دهندگان خبره: موارد خاص و رفتار حافظه

مشاوره مهندسی خبره: برنامه‌نویسان باید بیت‌های فعال‌سازی برای توالی‌های بارگذاری و تخلیه را جدا کنند. اگر ورودی‌های ذخیره‌سازی و بازیابی را همزمان فعال کنید، اشاره‌گر اندیس ممکن است قفل شود و باعث فساد شدید داده‌ها در آرایه شما گردد.

علاوه بر این، باید رفتار پلتفرم سخت‌افزاری خود را در طول چرخه‌های برق ارزیابی کنید:

  • عملکرد راه‌اندازی سرد: در طول بوت سرد کامل، CPU حافظه موقت را پاک می‌کند. این عمل مرزهای آرایه را کاملاً بازنشانی کرده و داده‌های ردیابی فعال شما را حذف می‌کند.

  • رفتار راه‌اندازی گرم: اکثر سیستم‌های کنترل صنعتی در طول قطعی‌های کوتاه برق داده‌های نگهدارنده را حفظ می‌کنند. بنابراین، اندیس‌های پشته دست نخورده باقی می‌مانند. با این حال، باید این رجیسترهای حافظه را به طور صریح به عنوان نگهدارنده در پایگاه داده برچسب خود پیکربندی کنید تا از اختلافات ردیابی در کف کارخانه جلوگیری شود.


سناریوهای کاربردی صنعتی

کاربرد FIFO: ردیابی مواد در خطوط نقاله

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

کاربرد LIFO: بافرهای پشته‌ای و جرثقیل‌های سقفی

در کارخانه‌های متالورژی سنگین، جرثقیل‌های سقفی خودکار کویل‌های فولادی را در بخش‌های نگهداری عمودی روی هم انباشته می‌کنند. جرثقیل کویل‌های ورودی را روی هم قرار می‌دهد. برای بازیابی یک کویل، جرثقیل باید ابتدا واحد بالایی را بردارد. با استفاده از ساختار داده LIFO، PLC به دقت چیدمان موجودی را ردیابی می‌کند و اطمینان می‌دهد که سیستم دارایی فیزیکی واقعی که در بالای پشته قرار دارد را بازیابی می‌کند.


درباره نویسنده: لین شیاویو

لین شیاویو یک متخصص باتجربه اتوماسیون صنعتی با ۱۵ سال تخصص فنی است که بر معماری نرم‌افزار PLC/DCS، بهینه‌سازی فرآیند و پروتکل‌های ارتباطی صنعتی تمرکز دارد. او محیط‌های SCADA بزرگ‌مقیاس و سیستم‌های ایمنی ابزار دقیق (SIS) را برای مراکز پیچیده دریایی، خودروسازی و لجستیک در سطح جهانی طراحی کرده است.


Previous