آموزش زبان برنامه نویسی FBD در پی ال سی
زبان FBD که مخفف Function Block Diagram است و زبان برنامه نویسی FBD را به عنوان یک زبان برنامه نویسی بلوکی یا دیاگرام بلوک تابعی میشناسند. ساختار FBD در زبان برنامه نویسی از بلوکهای مختلفی تشکیل میشوند که شامل بلوک منطقی، بلوک ریاضی، بلوک ورودی، بلوک خروجی و … میشود. برای کسانی که با مدار منطقی و کامپیوتر کار کردهاند، درک زبان FBD برای این افراد بسیار سادهتر است. زبان FBD بیشتر به سمت مدار منطقی میرود و برای گیتهای منطقی مانند AND، OR و … بلوک باید گذاشت و به همین دلیل حجم Networkها زیاد میشود. به همین علت حجم کدها و بلوکهای زبان FBD زیاد است و در اکثر اوقات برای برنامه نویسی پی ال سی LOGO نیاز است تا آموزش زبان FBD را کامل یاد بگیرید.
زبان برنامه نویسی FBD شبیه به زبان LADDER است و اکثر ویژگیهای آن مانند خوانایی بالا، عیب یابی آسان و … را دارد اما مقداری برنامه نویسی FBD به دلیل بلوکهای منطقی زیاد سختتر است. زبان FBD مناسب موشن کنترل MOTION CONTROL است و به صورت تابع عمل میکند که چند ورودی و یک خروجی دارد. میتوان از خروجی آن به عنوان یک ورودی تابع دیگر استفاده کرد که در پروژههای مهم و سنگین حائز اهمیت است. زبان برنامه نویسی بلوکی FBD بهصورت مربع یا مستطیل شکل است که سمت چپ آن مربوط به آدرسهای ورودی و سمت راست آن مربوط به آدرس خروجی قرار میگیرد. در وسط بلوک نیز از یک نماد یا علامت اختصاری برای نمایش کارکرد دستور استفاده میشود سپس با ترسیم بلوکها بهصورت گرافیکی باید از خطوط برای اتصالات ورودی و خروجی استفاده میشود.
نحوه عملکرد زبان FBD
در آموزش زبان برنامه نویسی زبان FBD لازم است که با انواع بلوکها و چیدمان آن آشنا شوید که در ادامه آنها را توضیح میدهیم. بلوکها در برنامه نویسی به زبان FBD به ترتیب اعداد روی صفحات اجرا میشوند. بلوکهای ورودی، اطلاعات را از تجهیزات دیگر مانند سنسور و … دریافت میکند و بلوکهای خروجی اطلاعات را به تجهیزات دیگر مانند سروو موتور، HMI و … میدهد. منظور از بلوکهای منطقی یعنی گیتهای منطقی که شامل AND، OR، NOT و … میشود. همچنین منظور از بلوک ریاضی، مربوط به عملیات جمع، تفریق، ضرب و تقسیم است. زبان برنامه نویسی FBD برای برقراری ارتباط بین PLC و انتقال دستورات برنامه نویسی و اطلاعات استفاده میشود.
گاهی مواقع با توجه به نوع منطقی که میخواهید در برنامه نویسی پیاده سازی کنید، شاید با زبانهای دیگر مانند LADDER راحتتر است اما گاهی مواقع پیاده سازی منطق با زبان FBD شاید ساده تر باشد. یکی از روشها این است که برنامه را به زبان LADDER بنویسید و سپس به زبان FBD تبدیل کنید و بر عکس این مورد هم را هم میتوانید انجام دهید. زبان FBD تعداد زیادی خطوط برنامه نویسی را به یک یا چند تابع بلوکی تبدیل کنید.
بلوک FBD را روی صفحات Sheets برنامه نویسی میکنید و سپس PLC این صفحات را اسکن میکند. این اسکن صفحات یا به ترتیب اعداد صفحات اجرا میشود یا بر اساس اتصالاتی که بین بلوکها برنامه ریزی شده است. هر بلوک وظیفه منحصربهفرد خود را دارد و به وسیله خطوط ارتباطی به بلوکهای دیگر اتصال مییابند. آموزش زبان FBD در PLC نیاز به کسب تجربه عملی و تئوری دارد. برای شرکت در دوره آموزش PLC با کارشناسان نیک صنعت تماس بگیرید. از بلوکهای زبان FBD برای کارهای تکراری مانند شمارنده، تایمر، کانتر و … استفاده میشود اما از بلوک زبان FBD برای کارهای متوالی استفاده نمیشود. شما میتوانید از بلوک تودرتو برای انتقال دیتا از یک بلوک به بلوک بعدی استفاده کنید. در شکل زیر نمونهای ار برنامه نویسی به زبان FBD را مشاهده میکنید.
مزایا زبان FBD در PLC
زبان برنامه نویسی FBD مزایا زیادی دارد که شامل مواردزیر است:
- خلاصه سازی چندین خط برنامه نویسی در یک یا چند بلوک: این یکی از بزرگترین مزایا زبان FBD است که میتوان چند خط برنامه نویسی را در یک بلوک ساده سازی کرد. در پروژههای سنگین در سیم کشیها و وایرینگ زیاد میتواند ارتباطات را با توابع سادهتر کند و عیب یابی را در پروژهای سنگین آسادهتر میکند.
- عیب یابی نسبتا راحت: به دلیل ساختار ساده FBD، عیب یابی بلوک های برنامه به زبان FBD بسیار آسان است.
- کاهش خطا و ارور: زبان FBD به دلیل بلوکهای گرافیکی، احتمال بروز خطا را کاهش میدهد و همین مورد باعث کاهش خطاهای نرم افزاری میشود.
- خوانایی خوب و گرافیکی بودن فضا برنامه نویسی: زبان FBD به دلیل گرافیکی بودن ساختار برنامه نویسی آن، بسیارخوانایی خوبی دارد.
- موشن کنترل Motion Controls: بلوک FBD برای کنترلهای حرکتی بسیار مناسب است.
- استفاده مجدد در برنامه نویسیFBD: از بلوکهای زبان برنامه نویسی FBD میتوان در سایر زبانهای دیگر و برنامههای پیچیده مجدد استفاده کرد.
معایب زبان برنامه نویسی FBD در پی ال سی
- همپوشانی حافظهها: ممکن است در قسمتهای دیگر برنامه از بیت حافظه تکراری استفاده شود و این مشکل همپوشانی حافظهها اتفاق میافتد. در آموزش زبان FBD تمامی این نکات مربوط به حافظهها را یاد میگیرید و آموزش PLC زیمنس یک دوره جامع برای یادگیری انواع زبانهای برنامه نویسی پی ال سی است.
- حجم بالای کدها و نیاز به توابع نوشتاری: کد در این زبان برنامه نویسی FBD ممکن است نامنظم شود و فرایند عیب یابی را سخت میکند.
- سرعت اجرا پایین برنامه نویسی بلوکی زبان FBD: به دلیل تعداد زیاد بلوکهای منطقی و ریاضی، مقداری سرعت اجرا را پایین میآورد که در برنامه نویسی PLC این سرعت زیاد به چشم نمیآید.
- مناسب نبودن برای کارهای متوالی: برای برنامههای متوالی و پشت سر هم نمیتوان از این مورد استفاده کرد، زیرا هر بلوک را میتوان در هر کجا صفحه برنامه قرار داد و همین موضوع باعث میشود که ترتیب را نتواند به درستی در فرایندهای متوالی اجرا کرد.
- یادگیری سخت زبان FBD: زمان بیشتری برای یادگیری و دیدن آموزش زبان برنامه نویسی FBD نیاز دارید.
در شکل زیر نمونهای از برنامه نویسی به زبان FBD را مشاهده میکنید.
نکات مهم در یادگیری زبان FBD
برای یادگیری و آمورش زبان FBD نکات زیر را در نظر بگیرید:
- قبل از یادگیری زبان برنامه نویسی FBD با مفاهیم و نکات برنامه نویسی مانند بلوک زیاضی، بلوک منطقی و … را یاد بگیرید.
- اگر با زبان Ladder آشنایی دارید، یادگیری زبان FBD بسیار سادهتر و ملموستر خواهد بود.
- روزانه برنامه نویسی FBD را تمرین کنید تا مطالب در ذهن تثبیت شود و مثالهای واقعی و عملی را برنامه نویسی کنید.
انواع بلوکها در آموزش زبان برنامه نویسی FBD
بلوکها بهصورت گرافیکی نمایش داده میشوند و همچنین میتوان بلوک خروجی را به یک بلوک دیگر وصل کرد و یک زنجیره تشکیل داد. ترتیب بلوکها مطابق با ترتیب اتصالات آنها است. در ادامه مهمترین بلوک ها در زبان FBD را بررسی میکنیم.
انواع بلوک به زبان FBD | بلوک گرافیکی آن |
ورودی باینری Insert Binary Input | |
ورودی باینری NOT | |
عملیات منطقی OR | |
عملیات منطقی AND | |
عملیات منطقی XOR | |
ذخیره خروجی موقت Midline Output | |
عملیات ریست Reset Output | |
عملیات ست Set Output | |
فلیپ فلاپ RS (Reset_Set Flip Flop) | |
فلیپ فلاپ SR (Set_Reset Flip Flop) | |
لبه پایین رونده (Negative RLO Edge Detection) | |
لبه بالا رونده (Positive RLO Edge Detection) | |
ذخیره RLO در حافظه BR (SAVE) | |
بلوک مقایسه گر عدد صحیح | |
شمارنده افزایشی/کاهشی (S_CUD) | |
شمارنده افزایشی (S_CU) | |
شمارنده کاهشی (S_CD) | |
تنظیم مقدار شمارنده (SC) | |
جمع عدد صحیح (Add Integer) | |
تفریق عدد صحیح (Subtract Integer) | |
ضرب عدد صحیح (Multiply Integer) | |
تقسیم عدد صحیح (Divide Integer) | |
انتقال مقدار (MOVE: Assign Value) | |
تایمر پالس (S_PULSE) | |
تایمر پالس گسترش یافته (S_PEXT) | |
تایمر تاخیر در قطع و وصل (S_ODT) | |
تایمر تاخیر در وصل (S_ODTS) | |
تایمر تاخیر در قطع (S_OFFDT) | |
بلوک بازگشت (RET: Return) |
راههای ارتباطی نیک صنعت:
- شماره تماس: 87700210-021 (30 خط)
- واحد فروش: 09197872783
- واحد آموزش: 09197872786
- واحد تعمیرات: 09197872789
- ایمیل: info@nicsanat.com
- آدرس شرکت: تهران، خیابان بهشتی، خیابان میرعماد،کوچه پیمانی(یازدهم)، پلاک 17
نظرات کاربران