FC چیست؟
FUNCTION که به اختصار با FC در برنامه معرفی میشود بلاکی است که حاوی دستورات برنامه نویسی است و از آن در برنامه نویسی تقسیم شده PARTIONED یا برنامه نویسی ساختار یافته STRUCTURED استفاده میشود.
معمولاً FC ای که در برنامه نویسی تقسیم شده به کار میرود فقط حاوی برنامه کاربر میباشد این FC نیاز به ورودی خاصی ندارد و هیچ خروجی خاصی را نیز بر نمیگرداند و هدف از به کار گیری آن تقسیم کردن برنامه به بخش های مجزا میباشد اما FC ای که در برنامه نویسی ساختار یافته استفاده میشود دارای پارامتر های ورودی و خروجی است که در هر فراخوانی آدرس اختصاص یافته به آن تغییر میکند.
به طور مثال ممکن است چهار سیستم وجود داشته باشد که منطق کنترل آن ها یک باشد در این صورت میتوان برنامه کنترل را در یک FC نوشته و در هر بار که این FC فراخوانی میشود آدرس های آن را عوض نمود برای اجرای یک FC باید آن را در بلاک ماقبل فرا خوانی نمود. منظور از بلاک ماقبل OB1 یا بلاک دیگری مانند FC یا FB است که به صورت مستقیم یا با واسطه در OB1 فرا خوانی شده است بحث کامل FC در کتاب سطح پیشرفته آمده است.
FB چیست؟ (فانکشن بلاک)
همهی موارد ذکر شده در مورد FC در مورد FB نیز صادق است تنها تفاوت FC و FB در این است که FB دارای یک حافظه به منظور ذخیره سازی اطلاعات میباشد این حافظه یک دیتا بلاک (DB) است هنگامی که یک FB فراخوانی میشود باید دیتا بلاک مربوط به آن را نیز فراخوانی نمود FB ها بیشتر در برنامه نویسی ساختار یافته به کار میروند و دارای ورودی و خروجی هستند تمام ورودی و خروجی های آن ها در دیتا بلاک ذخیره میشوند بعلاوه میتوان برای آن ها مقدار اولیه پیش فرض تعریف نمود. (نمایندگی زیمنس در لاله زار)
بلاک های سیستمی در اتوماسیون صنعتی زیمنس
این بلاک ها به سه دسته SDB,SFB,SFC تقسیم می شوند.
:SFC (SYSTEM FUNCTION) مانند FC فاقد حافظه می باشد.
:SFB (SYSTEM FUNCTION BLOCK) مانند FB دارای حافظه از نوع DB است.
این بلاک ها حاوی برنامه های از قبل نوشته شده هستند و قفل میباشند و نمیتوان برنامه داخل آن ها را مشاهده کرد ولی میتوان آن ها را صدا زده و از قابلیتشان استفاده نمود. هر CPU دارای یکسری SFC/SFB است که در ROM داخلی آن ذخیره شده و قابل پاک شدن نیست برای صدا زدن این بلاک ها بایستی از کتابخانه نرم افزار استفاده نمود، هر کدام از SFC ها و SFB ها وظیفه خاصی بر عهده دارد مثلاً SFC 46 منجر به توقف CPU میشود نکات بیشتر مربوط به این بلاک ها در کتاب سطح تکمیلی ارائه میشود.
SDB (SYSTEM DATA BLOCK)
این بلاک ها به منظور ذخیره سازی تنظیمات سیستم و اطلاعات ماژول ها مثل اطلاعات مربوط به پیکربندی سخت افزار شبکه و . . . میباشند. این بلاک ها پس از کامپایل HW CONFIG به طور اتوماتیک توسط سیستم تولید شده و با دانلود به CPU منتقل میشوند و امکان ویرایش آن ها توسط کاربر وجود ندارد. محل قرار گیری آن ها در پوشه SYSTEM DATA در محیط نرم افزار SIMATIC MANAGER میباشد. هر SDB دارای یک شماره ی مخصوص است و تنظیمات خاصی را در خود ذخیره مینماید.