در مقاله قبلی FC105 و FC106 و FC21 را بررسی کردیم، در این بخش، دو Function مهم FC81 و FC97 را
بررسی میکنیم؛ توابعی که در انتقال دادهها و مدیریت زمان CPU نقش کلیدی دارند.
بررسی تخصصی FC81 و
FC97 در پروژههای نفت، گاز و پتروشیمی
بررسی
اولیه
در
پروژههای اتوماسیون صنعتی، بسیاری از عملیات کنترلی تنها به خواندن ورودیها و
کنترل خروجیها محدود نمیشوند.
PLC باید بتواند حجم زیادی از دادهها را میان بخشهای
مختلف سیستم جابهجا کند، وضعیت تجهیزات را ثبت نماید و زمان سیستم را با تجهیزات
جانبی هماهنگ سازد.
در پروژههای بزرگ EPC که چندین PLC، ایستگاههای Remote I/O، سیستمهای SCADA، HMI و سرورهای Historian در کنار یکدیگر کار میکنند، مدیریت صحیح داده و زمان، یکی از مهمترین عوامل افزایش قابلیت اطمینان سیستم است.
FC81 چیست؟
FC81 یکی از توابع استاندارد STEP7 است که برای انتقال
بلوکی دادهها
(Block Data Transfer) و مدیریت ساختارهای اطلاعاتی در پروژههای بزرگ
استفاده میشود. این تابع زمانی کاربرد دارد که حجم زیادی از داده باید بهصورت
یکپارچه بین
Data Blockها یا بخشهای مختلف برنامه جابهجا شود.
در پروژههای نفت و گاز، این قابلیت در تبادل
داده بین
PLC و
HMI،
ذخیره اطلاعات فرآیندی، مدیریت
Recipeها و آمادهسازی دادهها برای سیستمهای SCADA اهمیت زیادی دارد.
چرا
FC81 اهمیت دارد؟
فرض کنید در یک پالایشگاه، اطلاعات مربوط به ۲۰۰ موتور شامل وضعیت، جریان، دما، تعداد استارت و
ساعات کارکرد باید هر چند ثانیه به سیستم مانیتورینگ منتقل شود.
اگر این انتقال بهصورت متغیر به متغیر انجام
شود:
· حجم برنامه افزایش مییابد.
· can Time بیشتر میشود.
· احتمال خطای برنامهنویسی بالا میرود.
FC81 امکان انتقال این اطلاعات را بهصورت ساختیافته
و با حداقل کدنویسی فراهم میکند.
مثال عملی
در یک ایستگاه تقویت فشار گاز، اطلاعات عملکرد
کمپرسورها در پایان هر دقیقه در یک
Data Block ذخیره و سپس برای سیستم SCADA ارسال میشود.
بهجای انتقال جداگانه هر پارامتر، FC81 کل ساختار داده را بهصورت یکجا منتقل میکند.
مزایایFC81
· کاهش حجم برنامه
· افزایش سرعت انتقال داده
· کاهش خطاهای برنامهنویسی
· مناسب برای پروژههای دارای حجم زیاد Data Block
· سادهسازی ارتباط با HMI و
SCADA
محدودیتها
· ساختار مبدأ و مقصد باید با یکدیگر سازگار باشد.
· قبل از انتقال داده، باید صحت آدرسدهی بررسی
شود.
· در پروژههای دارای دادههای حساس، لازم است
اعتبارسنجی اطلاعات پس از انتقال انجام شود.
FC97 چیست؟
FC97 برای مدیریت
و تنظیم زمان سیستم
(Real Time Clock) در
CPUهای زیمنس استفاده میشود. زمان صحیح در بسیاری
از پروژههای صنعتی اهمیت حیاتی دارد؛ زیرا ثبت رویدادها، آلارمها، گزارشها و
دادههای
Historian همگی بر اساس ساعت CPU انجام میشوند.
اهمیت زمان در صنایع نفت و گاز
در یک پالایشگاه، اگر زمان CPU با زمان سرور SCADA هماهنگ نباشد:
· ترتیب وقوع آلارمها اشتباه ثبت میشود.
· تحلیل رخدادها دشوار خواهد شد.
· گزارشهای بهرهبرداری اعتبار خود را از دست میدهند.
· فرآیند Root Cause Analysis با مشکل مواجه میشود.
به همین دلیل، تنظیم صحیح ساعت CPU یکی از الزامات پروژههای بزرگ است.
مثال عملی
در یک مجتمع پتروشیمی، PLCهای
مختلف از طریق شبکه صنعتی به سیستم مانیتورینگ متصل هستند. در زمان راهاندازی
اولیه یا پس از تعویض
CPU، FC97 برای همگامسازی ساعت داخلی کنترلر با ساعت مرجع
سایت استفاده میشود تا تمامی رویدادها با زمان یکسان ثبت شوند.
مزایای FC97
· ثبت دقیق آلارمها و Eventها
· هماهنگی زمانی بین PLC و
SCADA
· افزایش دقت گزارشهای تولید
· تسهیل عیبیابی و تحلیل رخدادها
· مناسب برای سیستمهای دارای Historian
محدودیتها
· استفاده از FC97 باید مطابق سیاست زمانبندی پروژه باشد.
· تغییر مکرر ساعت CPU میتواند باعث اختلال در ثبت دادههای تاریخی
شود.
· در سیستمهای دارای Time Server،
همگامسازی باید با مکانیزم مرکزی انجام شود.
مقایسه FC81 و
FC97
|
ویژگی |
FC81 |
FC97 |
|
حوزه عملکرد |
انتقال داده |
مدیریت زمان |
|
کاربرد اصلی |
Data Block و ساختارهای اطلاعاتی |
تنظیم ساعت CPU |
|
تأثیر بر SCADA |
تبادل داده |
ثبت صحیح رویدادها |
|
نمونه کاربرد |
انتقال اطلاعات تجهیزات |
همگامسازی زمان سیستم |
|
اهمیت در پروژههای EPC |
بسیار زیاد |
بسیار زیاد |
نکات
طراحی در پروژههای
EPC
· انتقال دادههای حجیم را با توابع استاندارد
انجام دهید تا ساختار برنامه ساده و قابل نگهداری باشد.
· زمان
CPU را با سیستم مرجع سایت هماهنگ کنید تا گزارشها
و آلارمها از اعتبار زمانی برخوردار باشند.
· از ثبت منظم رویدادها برای تسهیل عملیات تعمیرات
و تحلیل حوادث استفاده کنید.
· ساختار Data Blockها را بهگونهای طراحی کنید که توسعه پروژه در
مراحل
Revamp یا افزایش ظرفیت بهسادگی امکانپذیر باشد.
در هر بخش، محورهای زیر مورد بررسی قرار گرفت:
- معرفی کامل Function و هدف طراحی آن در STEP7 Classic
- تشریح نحوه عملکرد و منطق اجرای Function
- بررسی پارامترهای ورودی و خروجی و نکات
برنامهنویسی
- ارائه مثالهای کاربردی از پروژههای واقعی
صنایع فرایندی
- تحلیل مزایا، محدودیتها و بهترین شیوههای
استفاده
- معرفی اشتباهات رایج برنامهنویسان و
راهکارهای جلوگیری از آنها
- بیان نکات طراحی استاندارد برای پروژههای EPC، Revamp و Commissioning
هدف این مجموعه، تنها آموزش نحوه استفاده از چند Function استاندارد نبود؛ بلکه ارائه یک مرجع مهندسی
برای طراحی نرمافزارهای PLC زیمنس
بر اساس استانداردهای صنعتی و تجربیات پروژههای بزرگ بود. با بهکارگیری صحیح Functionهای استاندارد، میتوان نرمافزارهایی ماژولار،
قابل توسعه، مستندسازیشده و با قابلیت نگهداری بالا ایجاد کرد که ضمن کاهش زمان
مهندسی و راهاندازی، ریسک بهرهبرداری و هزینههای چرخه عمر پروژه را نیز به
میزان قابل توجهی کاهش میدهند.
این مجموعه، پایهای مناسب برای ادامه آموزشهای
پیشرفتهتر در حوزه FB (Function
Block)، SFC (System Function)، SFB (System
Function Block) و معماری نرمافزارهای حرفهای PLC زیمنس خواهد بود؛ موضوعاتی که در پروژههای مدرن
اتوماسیون صنعتی و سیستمهای کنترل پیشرفته، نقشی اساسی در طراحی و اجرای موفق
پروژههای
EPC ایفا میکنند.
جمعبندی، مقایسه FCها، نکات طراحی پروژههای EPC،
اشتباهات رایج و
FAQ
در معماری نرمافزار STEP7 Classic، Functionها یا FCها یکی از مهمترین ابزارهای توسعه نرمافزارهای
ماژولار و استاندارد هستند. اگر
Organization Blockها
زمان و نحوه اجرای برنامه را مدیریت میکنند، FCها
مسئول انجام عملیات تخصصی، محاسبات، پردازش دادهها، تبدیل سیگنالها و مدیریت
اطلاعات هستند.
در پروژههای کوچک شاید استفاده از FCها صرفاً به افزایش نظم برنامه منجر شود، اما در
پروژههای بزرگ نفت، گاز و پتروشیمی، استفاده صحیح از FCها تأثیر مستقیمی بر کیفیت طراحی، سرعت توسعه،
زمان
Commissioning،
سهولت نگهداری و قابلیت توسعه سیستم دارد.
توابع استاندارد زیمنس مانند FC105 و FC106 برای
تبدیل سیگنالهای آنالوگ، FC21 برای
مقداردهی ساختارهای داده، FC81 برای
مدیریت انتقال دادهها و FC97 برای
مدیریت زمان
CPU،
نمونههایی از ابزارهایی هستند که در اکثر پروژههای صنعتی مورد استفاده قرار میگیرند.
استفاده از این توابع به جای پیادهسازی مجدد
منطق مشابه، علاوه بر کاهش حجم برنامه، باعث افزایش قابلیت اطمینان و هماهنگی با
استانداردهای مهندسی زیمنس میشود.
جدول مقایسه Functionهای بررسیشده
|
Function |
نام |
کاربرد
اصلی |
حوزه
استفاده |
نمونه
کاربرد صنعتی |
|
FC21 |
FILL |
مقداردهی
و پاکسازی دادهها |
مدیریت
حافظه |
ریست Alarm Buffer،
آمادهسازی
Data Block |
|
FC81 |
Data
Transfer |
انتقال
ساختیافته دادهها |
تبادل
اطلاعات |
انتقال
داده بین
PLC و
SCADA |
|
FC97 |
RTC
Management |
مدیریت
زمان
CPU |
ثبت
رویدادها |
همگامسازی
ساعت
PLC |
|
FC105 |
SCALE |
تبدیل
مقدار خام به مقدار مهندسی |
ورودیهای
آنالوگ |
فشار،
دما، سطح و دبی |
|
FC106 |
UNSCALE |
تبدیل
مقدار مهندسی به مقدار خام |
خروجیهای
آنالوگ |
فرمان
به
Control Valve و VFD |
راهنمای انتخاب FC مناسب
|
اگر
هدف شما... |
Function پیشنهادی |
|
تبدیل مقدار خام کارت آنالوگ به واحد مهندسی |
FC105 |
|
ارسال مقدار مهندسی به کارت خروجی آنالوگ |
FC106 |
|
مقداردهی اولیه آرایهها و Data Blockها |
FC21 |
|
انتقال ساختیافته دادهها |
FC81 |
|
تنظیم یا همگامسازی ساعت CPU |
FC97 |
بهترین شیوههای طراحی در پروژههای نفت، گاز و
پتروشیمی
در پروژههای EPC،
طراحی نرمافزار
PLC باید بر پایه ماژولار
بودن، قابلیت توسعه و نگهداری آسان انجام شود. بر این اساس، رعایت
توصیههای زیر پیشنهاد میشود:
۱. استفاده از FCهای استاندارد
تا حد امکان از توابع استاندارد زیمنس بهجای
توسعه مجدد الگوریتمهای مشابه استفاده کنید. این کار علاوه بر کاهش زمان مهندسی،
احتمال خطا را نیز کاهش میدهد.
۲. جداسازی منطق پردازش از منطق اجرا
از
Organization Blockها
برای مدیریت زمان اجرای برنامه و از FCها برای انجام عملیات پردازشی استفاده کنید. این
تفکیک، ساختار نرمافزار را خواناتر و توسعه آن را سادهتر میکند.
۳. استانداردسازی سیگنالهای آنالوگ
تمام ورودیها و خروجیهای آنالوگ را با FC105 و
FC106 مدیریت کنید تا تمامی مقادیر در واحدهای مهندسی
یکنواخت پردازش شوند.
۴. استفاده از FC21 در Startup
در پروژههای دارای Data Blockهای بزرگ، مقداردهی اولیه Bufferها و آرایهها را به FC21 بسپارید تا از نوشتن کدهای تکراری جلوگیری شود.
۵. مدیریت صحیح زمان سیستم
در پروژههایی که گزارشگیری، Historian یا
SCADA دارند، همگامسازی زمان CPU باید بخشی از فرآیند Commissioning باشد.
۶. مستندسازی کامل
تمام
Functionهای اختصاصی و استاندارد فراخوانیشده را در
اسناد پروژه ثبت کنید تا در مراحل بهرهبرداری و توسعه، تیمهای مختلف بتوانند بهراحتی
ساختار نرمافزار را درک کنند.
اشتباهات رایج مهندسان PLC
یکی از دلایل افزایش زمان Commissioning و بروز اشکالات در بهرهبرداری، استفاده نادرست
از FCها است. رایجترین خطاها عبارتاند از:
· نوشتن الگوریتم Scale بهصورت دستی بهجای استفاده از FC105.
· ارسال مستقیم مقادیر مهندسی به خروجی آنالوگ
بدون استفاده از
FC106.
· مقداردهی دستی دهها متغیر بهجای استفاده از FC21.
· انتقال دادهها با تعداد زیادی دستور MOV بهجای استفاده از توابع مناسب انتقال داده.
· نادیده گرفتن اهمیت همگامسازی زمان CPU در سیستمهای دارای SCADA و
Historian.
· عدم بررسی مقدار RET_VAL پس از
اجرای
Functionهای استاندارد.
· مستندسازی ناقص پارامترهای ورودی و خروجی FCها.
ارزش استفاده از FCها برای مدیران پروژه
از دیدگاه مدیران پروژه، استفاده از Functionهای استاندارد تنها یک موضوع برنامهنویسی نیست،
بلکه یک تصمیم مهندسی است که بر شاخصهای کلیدی پروژه تأثیر میگذارد:
· کاهش زمان توسعه نرمافزار با استفاده از توابع آماده.
· کاهش هزینههای Commissioning به
دلیل کاهش خطاهای برنامهنویسی.
· افزایش قابلیت نگهداری از طریق ساختار ماژولار.
· سهولت توسعه و Revamp در
آینده.
· کاهش ریسک بهرهبرداری با استفاده از توابع آزمودهشده زیمنس.
در پروژههای EPC،
این مزایا به معنای تحویل سریعتر، کیفیت بالاتر و کاهش هزینههای چرخه عمر سیستم
کنترل است.
پرسشهای متداول (FAQ)
1- Function (FC) در STEP7 چیست؟
FC یک
بلوک نرمافزاری بدون حافظه دائمی است که برای انجام عملیات محاسباتی، پردازش دادهها
و اجرای منطقهای عمومی استفاده میشود.
2- تفاوت FC و FB چیست؟
FC حافظه
داخلی دائمی ندارد، اما FB
با استفاده از Instance DB وضعیت داخلی خود را بین اجراها حفظ میکند.
3- چرا از FC105 استفاده میشود؟
برای تبدیل مقدار خام ورودی آنالوگ به واحدهای
مهندسی مانند بار، درجه سانتیگراد یا متر.
4- کاربرد FC106 چیست؟
تبدیل مقدار مهندسی به مقدار خام موردنیاز کارت
خروجی آنالوگ.
5- FC21 چه وظیفهای دارد؟
مقداردهی یکسان به مجموعهای از دادهها یا پاکسازی
آرایهها و
Data Blockها.
6- FC81 در چه شرایطی کاربرد دارد؟
در انتقال ساختیافته دادهها بین بخشهای مختلف
برنامه یا سیستمهای مانیتورینگ.
7- FC97 چه مشکلی را حل میکند؟
مدیریت و همگامسازی زمان CPU برای ثبت صحیح رویدادها و گزارشها.
8- آیا استفاده از FCهای استاندارد باعث کاهش Scan Time میشود؟
در بسیاری از موارد، استفاده از توابع استاندارد
نسبت به پیادهسازی دستی منطق، ساختار برنامه را بهینهتر و نگهداری آن را سادهتر
میکند، اما تأثیر بر
Scan Time به نوع تابع و نحوه استفاده بستگی دارد.
9- آیا میتوان FCهای استاندارد را تغییر داد؟
خیر، توابع استاندارد زیمنس باید بدون تغییر
استفاده شوند. در صورت نیاز به منطق جدید، بهتر است یک FC اختصاصی طراحی شود.
10- بهترین روش سازماندهی FCها چیست؟
گروهبندی آنها بر اساس کاربرد (آنالوگ، مدیریت
داده، ارتباطات، زمان و ...) و مستندسازی دقیق.
11- آیا همه پروژهها به FC105 و FC106 نیاز دارند؟
هر پروژهای که دارای ورودی یا خروجی آنالوگ
باشد، معمولاً به این توابع یا معادل آنها نیاز خواهد داشت.
12- آیا FCها فقط در S7-300 و S7-400 قابل استفاده هستند؟
این مفاهیم در بسیاری از خانوادههای PLC زیمنس وجود دارند، اما پیادهسازی و کتابخانهها
ممکن است در
TIA Portal و نسلهای جدید تفاوت داشته باشند.
13- آیا استفاده از FCها برای پروژههای کوچک نیز توصیه میشود؟
بله، زیرا از همان ابتدا ساختار نرمافزار را
استاندارد و توسعهپذیر میکند.
14- مدیران پروژه چرا باید FCها را بشناسند؟
زیرا ساختار مناسب نرمافزار بر زمان تحویل،
هزینه توسعه، کیفیت راهاندازی و نگهداری پروژه اثر مستقیم دارد.
15- مهمترین مزیت FCهای استاندارد چیست؟
کاهش زمان برنامهنویسی، افزایش قابلیت اطمینان
و استفاده از الگوریتمهای آزمودهشده زیمنس.
