این مقاله صرفاً یک آموزش PLC نیست؛ بلکه به یک مقاله مهندسی برای تصمیمگیرندگان پروژههای EPC تبدیل میشود. پس مدیران پروژه های تخصصی اتوماسیون صنعتی این مقاله تخصصی از گروه فنی مهندسی الکترونت را اصلا از دست ندهید!
بنابراین علاوه بر توضیح فنی، در هر بخش نشان میدهیم
چرا شناخت این FCها برای مدیران پروژه، مدیران برق و مدیران
اتوماسیون اهمیت دارد و
چگونه بر کیفیت طراحی، کاهش ریسک و هزینههای Commissioning اثر میگذارند.
نکته فنی: در
فهرستی که ارائه کردهاید، FC39 و FC40 از توابع استاندارد عمومی STEP7 Classic نیستند که در همه CPUهای S7-300/S7-400 بهصورت یکسان وجود داشته باشند. این
شمارهها بسته به کتابخانههای اختیاری (مانند PID Library یا کتابخانههای تکنولوژی) میتوانند
معانی متفاوتی داشته باشند. بنابراین برای جلوگیری از ارائه اطلاعات نادرست، لازم
است مشخص شود منظورتان FC39 و FC40 از کدام Library زیمنس است
(Standard Library، PID Library، Drive Library یا کتابخانه اختصاصی دیگر).
تا مشخص شدن FC39 و FC40، بخش دوم را با FC21 آغاز میکنیم که یک تابع استاندارد و پرکاربرد است.
راهنمای
جامع
Function (FC)
بررسی
تخصصی
FC21 و مدیریت داده در پروژههای نفت، گاز و پتروشیمی
توضیح اجمالی
یکی از مهمترین چالشهای نرمافزارهای PLC در پروژههای بزرگ، تنها کنترل تجهیزات نیست؛
بلکه مدیریت صحیح دادهها است.
در یک پالایشگاه متوسط ممکن است بیش از:
· ۸۰۰۰ سیگنال دیجیتال
· ۲۵۰۰ سیگنال آنالوگ
· صدها موتور
· دهها Package Unit
· چندین PLC و
Remote IO
در حال تبادل اطلاعات باشند.
در چنین پروژهای، کپیکردن دستی اطلاعات یا
مقداردهی تکبهتک متغیرها نهتنها زمان توسعه را افزایش میدهد، بلکه احتمال بروز
خطا را نیز بسیار زیاد میکند.
به همین دلیل، زیمنس تعدادی Function استاندارد برای مدیریت حافظه و دادهها ارائه
کرده است که یکی از مهمترین آنها FC21 (FILL) است.
اهمیت مدیریت داده در پروژههای EPC
در پروژههای نفت، گاز و پتروشیمی، حجم Data Blockها بسیار زیاد است.
برای مثال، تنها یک واحد فرآیندی ممکن است شامل
موارد زیر باشد:
· Alarm Buffer
· Event Buffer
· Recipe Data
· Motor Status
· Valve Status
· Interlock Table
· Communication Buffer
· Historical Data
تمام این اطلاعات باید در شرایط مختلف مانند Startup،
تغییر
Recipe،
تغییر شیفت، Commissioning
یا پس از بروز خطا، مقداردهی یا بازنشانی شوند.
اگر این عملیات بهصورت دستی انجام شود:
· حجم برنامه افزایش مییابد.
· احتمال خطای انسانی زیاد میشود.
· توسعه پروژه دشوار خواهد شد.
اینجاست که FC21 اهمیت پیدا میکند.
FC21 چیست؟
FC21 با نام
FILL یکی از
توابع استاندارد
STEP7 است که برای مقداردهی
یکسان به مجموعهای از دادهها در حافظه استفاده میشود.
به بیان ساده، این تابع یک مقدار مشخص را در
محدودهای از حافظه تکرار میکند.
این عملکرد در پروژههای صنعتی برای مقداردهی
اولیه آرایهها، پاکسازی بافرها، ریست متغیرها و آمادهسازی ساختارهای داده بسیار
کاربردی است.
منطق عملکرد FC21
فرض کنید یک آرایه شامل ۵۰۰ عنصر برای ذخیره وضعیت آلارمها تعریف شده است.
پس از پایان یک شیفت کاری یا قبل از راهاندازی
مجدد واحد، لازم است تمام این عناصر به مقدار صفر بازگردند.
بدون
FC21،
برنامه باید صدها دستور مجزا برای صفر کردن این دادهها اجرا کند.
اما
FC21 این عملیات را با یک فراخوانی انجام میدهد.
پارامترهای اصلی FC21
|
پارامتر |
توضیح |
|
BVAL |
مقدار مورد نظر برای نوشتن در حافظه |
|
BLK |
محدوده حافظه یا Data Block مقصد |
|
RET_VAL |
وضعیت اجرای تابع |
مثال
صنعتی اول
ریست
آلارمهای واحد تقطیر
در یک
پالایشگاه، تمامی آلارمهای فعال در پایان عملیات تست باید پاک شوند.
بهجای Reset کردن تکتک متغیرها، FC21 کل آرایه Alarm Buffer را صفر میکند.
مزایا:
· کاهش حجم برنامه
· سرعت اجرای بیشتر
· جلوگیری از فراموش شدن برخی متغیرها
مثال صنعتی دوم
Startup واحد پتروشیمی
در هنگام اجرای OB100،
لازم است:
· وضعیت موتورهای کمکی
· Bufferهای ارتباطی
· دادههای موقت
· آرایههای Diagnostic
همگی مقداردهی اولیه شوند.
FC21 این عملیات را در چند میلیثانیه انجام میدهد و CPU را برای ورود به سیکل اصلی آماده میکند.
مثال صنعتی سوم
Commissioning
در زمان FAT یا
SAT،
تیم راهاندازی ممکن است روزانه دهها بار سیستم را Restart کند.
در هر بار Restart،
لازم است تمام
Bufferهای تست پاک شوند.
استفاده از FC21 باعث میشود این فرآیند بهصورت استاندارد و بدون خطای انسانی انجام شود.
مزایای FC21 در پروژههای بزرگ
۱. کاهش حجم برنامه
بهجای صدها دستور MOV،
تنها یک فراخوانی کافی است.
۲. افزایش سرعت توسعه
برنامهنویس نیازی به مقداردهی تکتک متغیرها
ندارد.
۳. استانداردسازی پروژه
تمام
Data Blockها با یک روش مشخص مقداردهی میشوند.
۴. افزایش قابلیت نگهداری
در صورت تغییر ساختار داده، تنها پارامترهای FC21 اصلاح میشوند و نیازی به بازنویسی بخشهای
متعدد برنامه نیست.
۵. مناسب برای پروژههای Revamp
در پروژههای توسعه یا Revamp که ساختار دادهها مرتباً تغییر میکند، استفاده
از
FC21 فرآیند اصلاح نرمافزار را بسیار سادهتر میکند.
با
وجود مزایای فراوان، استفاده نادرست از
FC21 میتواند باعث از بین رفتن اطلاعات مهم شود.
بنابراین توصیه میشود:
· هرگز
Data Blockهای عملیاتی را بدون بررسی مقداردهی نکنید.
· از اجرای ناخواسته FC21 در
OB1 خودداری کنید.
· فقط در شرایط مشخص مانند Startup، Reset یا
Commissioning از آن
استفاده شود.
· قبل از مقداردهی، از دادههای مهم نسخه پشتیبان
تهیه شود.
کاربرد FC21 در صنایع نفت، گاز و پتروشیمی
در پروژههای بزرگ EPC،
این تابع معمولاً در سناریوهای زیر استفاده میشود:
|
کاربرد |
نمونه |
|
پاکسازی Alarm Buffer |
واحد تقطیر نفت |
|
Reset دادههای Batch |
پتروشیمی |
|
مقداردهی اولیه Recipe |
صنایع غذایی و شیمیایی |
|
پاک کردن Communication Buffer |
ایستگاههای تقویت فشار گاز |
|
آمادهسازی Data Blockها |
نیروگاهها |
|
پاکسازی Diagnostic Table |
سیستمهای Safety و
Process Control |
چرا
مدیران پروژه باید
FC21 را بشناسند؟
اگرچه FC21 یک تابع برنامهنویسی است، اما تأثیر آن فراتر
از کدنویسی است. در پروژههای
EPC،
نحوه مدیریت دادهها مستقیماً بر زمان مهندسی، مدت Commissioning،
کیفیت
FAT و هزینههای نگهداری اثر میگذارد.
استفاده صحیح از FC21 باعث میشود:
· زمان توسعه نرمافزار کاهش یابد.
· احتمال خطاهای ناشی از مقداردهی دستی از بین
برود.
· فرآیند راهاندازی پروژه سریعتر انجام شود.
· تغییرات آتی نرمافزار با ریسک کمتر اجرا شوند.
· ساختار برنامه استاندارد و قابل نگهداری باقی
بماند.
برای مدیران پروژه، این به معنای کاهش هزینههای مهندسی، کاهش زمان تحویل پروژه و
افزایش قابلیت اطمینان سیستم کنترل است.
اشتباهات
رایج مهندسان
· استفاده از FC21 در هر سیکل OB1 و بازنویسی مداوم دادهها.
· پاککردن ناخواسته Data Blockهای عملیاتی.
· مقداردهی اولیه بدون مستندسازی.
· استفاده از چندین دستور MOV بهجای یک تابع استاندارد.
· عدم جداسازی دادههای موقت از دادههای دائمی.
جمعبندی
FC21 (FILL) یکی از
توابع استاندارد و کاربردی
STEP7 برای مدیریت حافظه و مقداردهی اولیه دادهها
است. اگرچه در ظاهر عملکرد سادهای دارد، اما در پروژههای بزرگ نفت، گاز و
پتروشیمی نقشی کلیدی در استانداردسازی نرمافزار، کاهش حجم کد، تسریع عملیات Commissioning و افزایش قابلیت نگهداری سیستم ایفا میکند.
