در مقاله قبلی در مورد زبان های برنامهنویسی PLC صحبت کردیم در نرم افزار برنامه نویسی PLC زیمنس بخش هایی تحت عنوان بلوکهای برنامهنویسی PLC وجود دارد چهار دسته بلوک برنامه نویسی به شرح زیر وجود دارد:
· بلوک OB یا بلوک های سازمانی (Organization Block)
· فانکشن FC (Function)
· فانکشن بلاک FB( (Function Block
· بلاک دیتا DB (Data Block)
در این مقاله میخواهیم با دو تا از بلوک های برنامه نویسی به نام های فانکشن و فانکشن بلاک آشنا شویم و تفاوت بین بلاکهای FC و FB در سیستم PLC را بررسی کنیم با ما همراه باشید.
یک فانکشن (FC) یک بلاک منطقی بدون حافظه است. این بلاک میتواند توسط کاربر، ایجاد و هر چند بار که نیاز باشد فراخوانی شود. ما میتوانیم متغیرهای گوناگونی را در فانکشن، مانند ورودی(In)، خروجی (Out)، ورودی-خروجی(In-Out)و موقت (Temp) ایجاد کنیم.
متغیرهای موقت تعریف شده در FC در محلی ذخیره شده و پس از اجرای FC از بین میروند.
تصویر بالا بلاکهای FC را برای راه انداز موتور نشان میدهد. همه متغیرها مانند ورودی (In)، خروجی(Out)و ورودی-خروجی (In-Out) باید آدرسدهی شوند.
یک فانکشن بلاک (FB) یک بلاک منطقی با حافظه است. این بلاک توسط کاربر، ایجاد و قابلیت فراخوانی چندین باره را داراست. با این تفاوت که هر زمان که یک فانکشن بلاک (FB) را فراخوانی میکنیم، یک دیتا بلاک (DB) نیز به عنوان حافظه خود ایجاد میکند. اینDB ، بلاک داده نمونه نامیده میشود.
همچنین میتوان متغیرهای گوناگونی را در فانکشن بلاک، مانند ورودی (In)، خروجی (Out)، ورودی-خروجی(In-Out)، موقت (Temp) و وضعیت(Stat) تعریف کرد که متغیری اضافه در فانکشن بلاک است. دادههای ذخیره شده در دیتا بلاک پس از اجرای FB از بین نمیروند. متغیرهای استاتیک در دیتا بلاک ذخیره میشوند. اما دادههای موقت در بسته داده محلی ذخیره میشوند که پس از اجرای FB از بین میروند.
تصویر بالا فانکشن بلاک (FB) برای عملکرد شیر کنترل را نشان میدهد. نیازی نیست همه متغیرها با آدرس وارد شود. FB با هر فراخوانی یک بلاک داده نمونه ایجاد میکند.
فانکشن (FC) و فانکشن بلاک (FB) هر دو مانند یک زیربرنامه هستند که برای بهینه سازی برنامهنویسی کاربر استفاده میشوند. کاربران میتوانند بخشی از منطق (Logic) را در این بلاک ایجاد کنند و سپس هر زمان که نیاز به اجرای آن منطق باشد، آن را فراخوانی کنند. استفاده اصلی FC و FB تقسیم و سازماندهی برنامه کاربر به قسمتهای کوچکتر است که به راحتی قابل درک بوده و به نگهداری و عیبیابی سیستم کمک میکند.
منطق بلاکها میتواند به صورت مثالهای زیر باشد:
فانکشن و فانکشن بلاکها میتوانند توسط کاربر ایجاد و به عنوان یک کتابخانه کاربری به کار برده شوند. بنابراین، کاربران فقط باید آن را یک بار بنویسند و هر چند بار که نیاز باشد از آن استفاده کنند. این ویژگی باعث میشود فضای کمتری از حافظه CPU اشغال شود.
تفاوت اصلی فانکشن و فانکشن بلاک در این است که FC حافظه ندارد، در حالی که FB دارای یک بلاک داده نمونه (DB) است. این بلاک داده نمونه تمام متغیرهایورودی(In)، خروجی(Out)، ورودی-خروجی(In-Out) و وضعیت (Stat) را ذخیره میکند. آنها حتی پس از اجرایFB قابل دسترسی هستند.
میتوانیم FC یا FB را با FBD، LAD، STL و SCL برنامهنویسی کنیم. FB قابلیتهای اضافی برای برنامهنویسی در نمودار را نیز داراست. هر زمان که FB را فراخوانی میکنیم، یک بلاک داده نمونه (DB) با آن ایجاد میشود اما برای FC چنین قابلیتی وجود ندارد.
در FC نمیتوانیم هیچ متغیری مانند ورودی (In)، خروجی (Out)یا ورودی-خروجی (In-Out) را خالی بگذاریم. زیرا تمام متغیرهای رسمی FC در هیچ حافظهای ذخیره نمیشوند و در نتیجه هیچ مقدار اولیهای به آنها اختصاص داده نمیشود. اما درFB، میتوانیم هر یک از متغیرها مانند ورودی (In)، خروجی (Out)یا ورودی-خروجی(In-Out) را بدون آدرس بگذاریم.
نیکسا با سابقه طولانی در اجرای سیستمهای کنترل، ابزاردقیق و اتوماسیون صنعتی، جهت تسهیل در ارائه خدمات برنامهنویسی PLC و مانیتورینگ، اقدام به آمادهسازی ماژولهای گرافیکی لازم PLC در سیستم مانیتورنیگ نموده تا بتواند خدمات برنامهنویسی خود را به صورتی ساختاریافته، در کوتاهترین زمان و با پایینترین خطای برنامهنویسی به کاربران سیستمهای کنترل ارائه دهد.
همچنین شرکت نیکسا بر پایه تجربه ای که در این سالها با انجام پروژه های برنامه نویسی متعدد در صنایع مختلف اقدام به تهیه فانکشن بلاکهای برنامه نویسی شده جهت استفاده سایر مهندسان و برنامه نویسان فعال در این حوزه نموده هست این فانکشن بلاک ها به سه دسته کلی زیر تقسیم میشوند:
به عنوان نمونه، از میان آنها میتوان به فانکشن بلاک ابزار دقیق اندازهگیر دما (Temperature Transmitter) و فانکشن بلاک عملگر شیر برقی (Motorized Valve Actuator) اشاره کرد. شما می توانید برای مشاهده و دانلود قابلیت های فانکشن بلاکهای متنوع نیکسا، همچنین کسب اطلاعات بیشتر از لینک زیر وارد شوید...
https://nicsaco.com/plc-structured-programming-functions/