در این مقاله، ابتدا با مفهوم FC و جایگاه آن در معماری STEP7 آشنا میشویم و سپس دو تابع بسیار پرکاربرد FC105 و FC106 را بهصورت
تخصصی در الکترونت بررسی خواهیم کرد.
تقریباً در تمام پروژههای صنعتی، از یک ایستگاه
پمپاژ کوچک گرفته تا پالایشگاههای نفت، مجتمعهای پتروشیمی، نیروگاهها و صنایع
فولاد، بخش قابلتوجهی از منطق برنامه در قالب FCها نوشته میشود. علت این موضوع، قابلیت استفاده
مجدد، ساختار ماژولار، سادگی نگهداری و کاهش حجم برنامه است.
علاوه بر FCهایی که توسط برنامهنویس ایجاد میشوند، زیمنس
مجموعهای از Standard
Functionها را
نیز ارائه کرده است که بسیاری از عملیات متداول مانند Scale کردن سیگنالهای آنالوگ، تبدیل مقادیر، انتقال
دادهها، تنظیم ساعت
CPU و
مدیریت حافظه را
انجام میدهند.
شناخت صحیح این توابع نهتنها سرعت توسعه نرمافزار را افزایش میدهد، بلکه باعث کاهش خطاهای برنامهنویسی، استانداردسازی پروژه و افزایش قابلیت اطمینان سیستمهای کنترل میشود.
در این مقاله چه خواهید آموخت؟
در پروژههای اتوماسیون صنعتی مبتنی بر SIMATIC S7-300 و SIMATIC S7-400،
استفاده صحیح از Function (FC) یکی از
مهمترین عوامل طراحی نرمافزارهای استاندارد، توسعهپذیر و قابل نگهداری است. Functionها امکان اجرای عملیات محاسباتی، پردازش دادهها،
تبدیل سیگنالهای آنالوگ، مدیریت حافظه و پیادهسازی منطقهای عمومی را بدون
وابستگی به حافظه داخلی فراهم میکنند و نقش مهمی در کاهش حجم برنامه و افزایش
کیفیت نرمافزار دارند.
در این مجموعه، مهمترین Functionهای استاندارد مورد استفاده در محیط STEP7 Classic (SIMATIC Manager) از
دیدگاه فنی و کاربردی بررسی شدهاند تا علاوه بر آشنایی با نحوه عملکرد هر Function، بتوانید
آنها را در پروژههای واقعی صنایع نفت، گاز، پتروشیمی، نیروگاهی و سایر صنایع
فرایندی بهکار بگیرید.
Function (FC) چیست؟
Function یا FC یکی از
انواع
Program Blockها در STEP7 است که برای انجام یک وظیفه مشخص طراحی میشود.
برخلاف OB که
توسط سیستمعامل
CPU فراخوانی میشود، اجرای FC تنها زمانی انجام میشود که برنامهنویس آن را
از داخل یک بلوک دیگر مانند
OB1 فراخوانی کند.
FCها
برای انجام محاسبات، تبدیل دادهها، پردازش سیگنالها، بررسی شرایط منطقی، مدیریت
دادهها و بسیاری از عملیات دیگر مورد استفاده قرار میگیرند.
هر FC
پس از پایان اجرا، کنترل برنامه را به بلوک
فراخواننده بازمیگرداند و برخلاف FB، حافظه داخلی دائمی (Instance DB) ندارد.
چرا از FC استفاده میکنیم؟
در
پروژههای صنعتی، معمولاً یک منطق مشابه در بخشهای مختلف برنامه تکرار میشود.
اگر این منطق هر بار بهصورت جداگانه نوشته شود، حجم برنامه افزایش یافته و
نگهداری آن دشوار خواهد شد.
FC این
مشکل را برطرف میکند. برنامهنویس تنها یکبار تابع را طراحی کرده و در هر نقطه
از پروژه که نیاز باشد، آن را فراخوانی میکند.
برای مثال، اگر در یک پالایشگاه ۳۰ ترانسمیتر فشار وجود داشته باشد، میتوان تنها یک FC برای تبدیل مقدار خام آنالوگ به واحد مهندسی نوشت و همان تابع را برای همه ترانسمیترها استفاده کرد.
تفاوت FC و FB
یکی از پرسشهای رایج مهندسان تازهکار، تفاوت Function و Function Block است. ( مقاله تخصصی آموزش کامل Organization Block (OB) در الکترونت را از دست ندهید! )
مهمترین
تفاوت این دو، نحوه نگهداری دادهها است.
FC پس از
پایان اجرا، اطلاعات داخلی خود را نگهداری نمیکند و تمام متغیرهای موقت از بین میروند.
در مقابل، FB دارای Instance Data Block است و
میتواند وضعیت داخلی خود را بین دو اجرای متوالی حفظ کند.
به همین دلیل، FC برای عملیات محاسباتی و پردازشهای لحظهای مناسب است، در حالی که FB برای تجهیزاتی مانند موتور، ولو، PID و تجهیزات دارای وضعیت (State) استفاده میشود.
تفاوت FC و OB
OBها نقطه ورود برنامه هستند و توسط سیستمعامل CPU اجرا میشوند، اما FCها تنها در صورت فراخوانی توسط برنامهنویس اجرا
خواهند شد.
به
بیان ساده:
·OB تصمیم میگیرد "چه زمانی" برنامه اجرا
شود.
·FC مشخص میکند "چه کاری" انجام شود.
معماری
اجرای FC
در
STEP7
در
زمان اجرای برنامه، CPU ابتدا وارد یکی از OBها (مانند OB1) میشود. هر زمان که به دستور فراخوانی یک FC برسد، اجرای OB موقتاً متوقف شده و FC اجرا میشود. پس از پایان FC،
کنترل برنامه دوباره به OB
بازمیگردد.
این
ساختار باعث میشود برنامه بهصورت ماژولار، خوانا و قابل توسعه طراحی شود.
مزایای
استفاده از FC
استفاده
از FCها مزایای متعددی دارد که در پروژههای بزرگ
اهمیت بیشتری پیدا میکند:
· کاهش حجم برنامه
· جلوگیری از تکرار کد
· افزایش خوانایی نرمافزار
· توسعه آسان پروژه
· تست و عیبیابی سادهتر
· استانداردسازی ساختار برنامه
· امکان استفاده مجدد در پروژههای مختلف
محدودیتهای FC
در
کنار مزایا، FCها محدودیتهایی نیز دارند که باید در طراحی نرمافزار
به آنها توجه شود:
· عدم نگهداری دادههای داخلی پس از پایان اجرا
· مناسب نبودن برای تجهیزاتی که نیاز به حافظه
دائمی دارند
· وابستگی کامل به بلوک فراخواننده برای اجرا
· نیاز به مدیریت صحیح پارامترهای ورودی و خروجی
مقایسه
انواع بلوکهای نرمافزاری
STEP7
|
نوع
بلوک |
نحوه
اجرا |
حافظه
داخلی |
Instance
DB |
کاربرد
اصلی |
|
OB |
توسط
سیستمعامل
CPU |
ندارد |
ندارد |
مدیریت
اجرای برنامه و وقفهها |
|
FC |
توسط
برنامهنویس |
موقت |
ندارد |
محاسبات،
پردازش داده و توابع عمومی |
|
FB |
توسط
برنامهنویس |
دائمی |
دارد |
مدلسازی
تجهیزات و توابع دارای وضعیت |
|
DB |
داده |
دائمی |
— |
ذخیره
اطلاعات و پارامترها |
جایگاه FCهای استاندارد زیمنس
شرکت Siemens مجموعهای از توابع آماده را در کتابخانه
استاندارد
STEP7 ارائه کرده است. این توابع حاصل سالها تجربه در
پروژههای صنعتی هستند و استفاده از آنها علاوه بر کاهش زمان توسعه، احتمال بروز
خطاهای برنامهنویسی را نیز کاهش میدهد.
در این مجموعه آموزشی، مهمترین FCهای استاندارد که بیشترین کاربرد را در پروژههای
نفت، گاز و پتروشیمی دارند، بررسی خواهند شد.
در این قسمت، تمرکز بر دو تابع بسیار پرکاربرد FC105 و FC106 است؛
دو تابعی که تقریباً در تمام پروژههای دارای سیگنال آنالوگ مورد استفاده قرار میگیرند.
FC105 چیست؟
FC105 با نام
SCALE یکی از
پرکاربردترین توابع استاندارد زیمنس است که برای تبدیل
مقدار خام
(Raw Value) ورودی
آنالوگ به مقدار مهندسی
(Engineering Value) استفاده میشود.
کارتهای آنالوگ PLC،
مقدار سنسور را بهصورت یک عدد دیجیتال دریافت میکنند. این مقدار برای اپراتور یا
سیستم کنترلی قابل استفاده مستقیم نیست و باید به واحدهای مهندسی مانند بار، درجه
سانتیگراد، متر، لیتر بر دقیقه یا درصد تبدیل شود. FC105 این تبدیل را بهصورت استاندارد انجام میدهد.
نحوه عملکرد FC105
FC105 مقدار خام دریافتشده از کارت آنالوگ را بر اساس
محدوده ورودی و خروجی تعریفشده، به مقدار مهندسی متناظر تبدیل میکند. این تبدیل
بهصورت خطی انجام میشود و دقت آن مطابق استانداردهای زیمنس است.
پارامترهای اصلی FC105
|
پارامتر |
توضیح |
|
IN |
مقدار خام ورودی از کارت آنالوگ |
|
HI_LIM |
حد بالای محدوده مهندسی |
|
LO_LIM |
حد پایین محدوده مهندسی |
|
BIPOLAR |
تعیین تکقطبی یا دوقطبی بودن سیگنال |
|
OUT |
مقدار تبدیلشده |
|
RET_VAL |
وضعیت اجرای تابع |
مثال
صنعتی
در یک
واحد فرآورش گاز، یک ترانسمیتر فشار با محدوده ۰ تا ۱۰۰ بار به کارت آنالوگ متصل است. کارت ورودی مقدار خام
را دریافت میکند، اما سیستم کنترل برای نمایش و تصمیمگیری به مقدار واقعی فشار
نیاز دارد.
در این حالت، FC105 مقدار خام را به مقدار واقعی فشار تبدیل میکند
و خروجی آن در
HMI،
سیستم آلارم و حلقههای کنترلی استفاده میشود.
کاربردهای FC105 در صنایع
· تبدیل فشار به واحد Bar
· تبدیل دما به °C
· تبدیل سطح مخزن به متر
· تبدیل دبی به m³/h
· نمایش مقادیر مهندسی در HMI
· ورودی حلقههای PID
نکات طراحی
· همواره محدوده HI_LIM و
LO_LIM را مطابق دیتاشیت تجهیز تنظیم کنید.
· از مقدار RET_VAL برای تشخیص خطاهای احتمالی استفاده نمایید.
· در پروژههای بزرگ، FC105 را در یک FC اختصاصی برای سیگنالهای آنالوگ فراخوانی کنید تا نگهداری برنامه سادهتر شود.
FC106 چیست؟
FC106 با نام
UNSCALE عملکردی
معکوس
FC105 دارد. این تابع مقدار مهندسی را به مقدار خام
قابل فهم برای کارت آنالوگ تبدیل میکند.
از
FC106 معمولاً برای خروجیهای
آنالوگ استفاده میشود؛ زمانی که PLC باید یک مقدار مهندسی مانند درصد باز شدن ولو یا
سرعت موتور را به سیگنال مناسب برای ماژول خروجی تبدیل کند.
مثال
صنعتی
در یک
واحد پتروشیمی، اپراتور از طریق
HMI فرمان میدهد که یک Control Valve تا ۶۰ درصد باز شود.
کنترلر ابتدا مقدار ۶۰ درصد را به FC106 ارسال میکند. FC106 این مقدار را به مقدار خام موردنیاز کارت خروجی آنالوگ تبدیل میکند و کارت، سیگنال استاندارد (مثلاً 4–20 mA) را برای Positioner ولو تولید میکند.
کاربردهای FC106
· کنترل ولوهای کنترلی
· فرمان سرعت اینورترها
· تنظیم خروجی کنترلرهای PID
· ارسال Set Point به تجهیزات آنالوگ
· تولید سیگنالهای خروجی استاندارد
جدول
مقایسه
FC105 و
FC106
|
ویژگی |
FC105 |
FC106 |
|
عملکرد |
Raw →
Engineering |
Engineering
→ Raw |
|
نوع کاربرد |
ورودی آنالوگ |
خروجی آنالوگ |
|
استفاده در HMI |
✔ |
✖ |
|
استفاده در PID |
مقدار اندازهگیریشده |
مقدار فرمان |
|
نمونه کاربرد |
نمایش فشار و دما |
کنترل ولو و اینورتر |
جمعبندی
Functionها یکی از مهمترین ابزارهای طراحی نرمافزار در STEP7 هستند و استفاده صحیح از آنها، ساختار برنامه
را ماژولار، استاندارد و قابل نگهداری میکند. در میان توابع استاندارد، FC105 و FC106 تقریباً
در تمام پروژههای دارای ورودی و خروجی آنالوگ حضور دارند و پایه اصلی تبدیل بین
مقادیر خام و واحدهای مهندسی را تشکیل میدهند.
در ادامه این مجموعه از سری مقالات تخصصی آشنایی کامل با FC ها در الکترونت ، به بررسی تخصصی FC39، FC40 و FC21 خواهیم پرداخت و نحوه استفاده از آنها در مدیریت دادهها، کنترل فرآیند و توسعه نرمافزارهای صنعتی را با مثالهای عملی از پروژههای نفت، گاز و پتروشیمی تشریح خواهیم کرد پس با ما همراه باشید.
