شرکت اتوماسیون صنعتی فریان | پیمانکار پروژه های برق و ابزاردقیق

شرکت اتوماسیون صنعتی فریان | پیمانکار پروژه های برق و ابزاردقیق

شرکت اتوماسیون صنعتی در تهران و سراسر ایران، راه اندازی خط تولید ، تامین و فروش تجهیزات ابزار دقیق، برنامه نویسی ربات های صنعتی کوکا، زیمنس

برنامه نویسی با SFC در سیستمهای DCS

تاریخ انتشار : 2024/12/17

مروری بر برنامه‌نویسی DCS و PLC با استفاده از نمودار تابع ترتیبی (Sequential Function Chart – SFC)

 SFC یا نمودار تابع ترتیبی (Sequential Function Chart) یک زبان برنامه‌نویسی گرافیکی است که در میان زبان‌هایی قرار دارد که توسط استاندارد IEC 61131-3 برای برنامه‌نویسی سیستم های DCS و PLC با استفاده از منطق نردبانی (Ladder Logic) شناسایی و تعریف شده‌اند.

نمودارهای SFC، یا نمودارهای تابع ترتیبی (Sequential Function Charts)، زبان‌های برنامه‌نویسی مبتنی بر متن نیستند، بلکه زبان‌های برنامه‌نویسی بصری هستند که مشابه فلوچارت‌های مورد استفاده برای الگوریتم‌های علوم کامپیوتر می‌باشند.

SFCها معمولاً در سناریوهایی استفاده می‌شوند که در آن‌ها چندین حالت عملیاتی وجود دارد و نمایش آن‌ها آسان‌تر است. مزیت برنامه‌نویسی SFC توانایی آن در کمک به مهندس برای تقسیم فرایندهای بزرگ و پیچیده به بخش‌های کوچک‌تر است تا به‌راحتی قابل درک باشند.

در PCS 7 (سیستم DCS شرکت زیمنس)، برنامه‌نویسی با SFC کاربرد گسترده‌ای دارد، به‌ویژه برای کنترل فرایندهای ترتیبی و پیچیده.

برنامه‌نویسی با SFC در سیستم‌های DCS

در سیستم‌های کنترل توزیع‌شده (DCS)، برنامه‌نویسی با استفاده از نمودار تابع ترتیبی (SFC) نقش بسیار مهمی در مدیریت و کنترل فرایندهای پیچیده دارد. SFC امکان نمایش بصری توالی عملیات، انشعاب‌ها، و همگرایی‌ها را فراهم می‌کند و به مهندسین اجازه می‌دهد که سیستم‌های بزرگ و چندمرحله‌ای را به‌صورت گام به گام طراحی، شبیه‌سازی و کنترل کنند.

مزایای استفاده از SFC در DCS عبارت‌اند از:

  • قابلیت نمایش بصری: طراحی فرایندها به‌صورت گرافیکی و قابل درک برای مهندسین و اپراتورها.
  • مدیریت حالات پیچیده: تقسیم فرایندهای بزرگ به گام‌های کوچک‌تر و ساده برای پیگیری آسان‌تر.
  • کنترل هم‌زمان و موازی: امکان اجرای چندین عملیات به‌صورت موازی یا انتخابی و مدیریت شرایط همگرایی.
  • همخوانی با سایر زبان‌ها: امکان تبدیل SFC به منطق نردبانی (Ladder Logic)، نمودار بلوکی عملکردی (FBD)، متن ساخت‌یافته (ST) و فهرست دستورالعمل‌ها (IL).
  • سهولت نگهداری و عیب‌یابی: گرافیک واضح و گام‌بندی مشخص باعث می‌شود تغییرات و رفع اشکال در سیستم راحت‌تر انجام شود.

 

در کل، استفاده از SFC در سیستم‌های DCS به مهندسین اجازه می‌دهد تا فرایندهای پیچیده را به‌صورت منطقی، منظم و قابل کنترل طراحی کنند، و همزمان قابلیت مشاهده و پیگیری عملیات در زمان واقعی را فراهم می‌سازد.

 

 

 

برنامه‌نویسی SFC چگونه کار می‌کند؟

کنترل‌های ترتیبی شامل پردازش عملیات ترتیبی و موازی هستند که از نظر زمان یا رویدادها گسسته می‌باشند و عمدتاً برای کنترل توالی‌های فرایندی پیچیده به کار می‌روند. زبان برنامه‌نویسی SFC مشاهده و طراحی سیستم‌های ترتیبی پیچیده را آسان‌تر می‌کند. در این زبان برنامه‌نویسی، عملیات به‌صورت گام‌های جداگانه توصیف می‌شوند که به‌صورت ترتیبی به یکدیگر متصل هستند.

نمونه‌ای از این اتصال ترتیبی را می‌توان در عملکرد یک ماشین لباسشویی مشاهده کرد. هنگامی که یک برنامه روی ماشین لباسشویی انتخاب می‌شود، دارای چندین مرحله است که یکی پس از دیگری اجرا می‌شوند. وقتی یک مرحله به پایان می‌رسد، مرحله بعدی به‌طور خودکار آغاز می‌شود. اصطلاحات «گام‌ها (steps)» و «حالت (state)» در برنامه‌نویسی SFC نمایانگر یک مفهوم یکسان هستند.

در برنامه‌نویسی SFC، حالت‌ها یا گام‌ها با جعبه‌های مستطیلی نمایش داده می‌شوند. یک خط عمودی مستقیم stepهای مختلف را به یکدیگر متصل می‌کند و هر گام دارای خروجی متناظر خود است. بین گام‌ها یک شرط انتقال (transition condition) وجود دارد. شکل ۱ در زیر، نمودار کلی نمودار تابع ترتیبی را نشان می‌دهد.

SFC diagram show separate steps sequentially connected

شکل ۱. نمودار SFC که گام‌های جداگانه‌ای را نشان می‌دهد که به‌صورت ترتیبی به یکدیگر متصل شده‌اند.

 

اولین step نشان‌دهنده آغاز عملیات است. دو حالت توسط یک خط عمودی به یکدیگر متصل می‌شوند. خطوط افقی بین step ها نشان‌دهنده شرایط انتقال (transition conditions) هستند. گاهی اوقات، شرایط انتقال می‌توانند به‌صورت یک مستطیل بسیار کوچک‌تر که بین حالت‌های بزرگ‌تر قرار دارد نمایش داده شوند.

پس از آن‌که یک گام کامل شد، فرایند تنها در صورتی به حالت بعدی منتقل می‌شود که شرط یا شروط انتقال نیز برآورده شده باشند.

هر یک از حالت‌ها همچنین دارای خروجی‌های متناظر خود هستند. خروجی‌ها به‌صورت جعبه‌های مستطیلی نمایش داده می‌شوند که به‌صورت افقی به حالت مربوطه خود متصل شده‌اند.

برای هر SFC باید دو شرط رعایت شود:

  • باید بین دو step یک شرط انتقال وجود داشته باشد.
  • یک step باید همواره دو شرط انتقال را از یکدیگر جدا کند.

هر نمودار SFC را می‌توان با منطق لدر (Ladder Logic) معادل‌سازی کرد. شکل ۲ یک نمونه از این موضوع را نشان می‌دهد.

sfc diagram represented by equivalent ladder logic

شکل ۲. نمودار SFC که با منطق لدر (Ladder Logic) معادل‌سازی شده است.

اولین رانگ (rung) لدر معادل step 1 است. تنها در صورتی که IN 1 رخ دهد، OUT 1 نیز فعال خواهد شد. رانگ دوم معادل گام ۲ است. تنها در صورتی که OUT 1 و IN 2 رخ دهند، OUT 2 فعال خواهد شد.

می‌توان SFCها را به‌صورت ترکیبی از موارد زیر خلاصه کرد:

  • گام‌ها (Steps) همراه با اعمال (Actions) متناظر
  • انتقال‌ها (Transitions) همراه با شرایط منطقی مرتبط
  • پیوندها (Links) بین گام‌ها و انتقال‌ها که مستقیم و جهت‌دار هستند

جریان برنامه (Program Flow)

خطوط عمودی بین گام‌ها را به‌عنوان مسیرهایی از حالت قبلی به حالت بعدی در نظر بگیرید. SFC امکان انشعاب مسیرها را به دو روش فراهم می‌کند: انتخابی (Selective) و موازی (Parallel). تفاوت بین این دو در محل قرارگیری شرایط انتقال نهفته است.

انشعاب‌های موازی در برنامه‌نویسی (Parallel Branches in Programming)

انشعاب موازی اجازه می‌دهد دو یا چند حالت به‌طور هم‌زمان رخ دهند، به شرط آن‌که یک شرط انتقال واحد برآورده شود. در نمودارها، انشعاب موازی با یک جفت خط افقی نمایش داده می‌شود.

Parallel branches in programming in SFC and equivalent ladder logic diagram

شکل ۳. انشعاب‌های موازی در SFC و نمودار نردبانی معادل آن.

 

پس از آن‌که OUT 0 برقرار شود و شرط انتقال (IN 1) برآورده گردد، هر سه گام (گام ۱، گام ۲ و گام ۳) به‌طور هم‌زمان آغاز می‌شوند.

انشعاب‌های انتخابی در برنامه‌نویسی (Selective Branches in Programming)

برخلاف انشعاب موازی، در این‌جا همه گام‌های بعدی به‌صورت هم‌زمان آغاز نمی‌شوند.

 

Selective branches in programming in SFC and equivalent ladder logic diagram

شکل ۴. انشعاب‌های انتخابی در SFC و نمودار نردبانی معادل آن.

 

هر گام در شاخه، شرط انتقال مخصوص به خود را دارد که باید برآورده شود. برای آغاز گام ۱، باید OUT 0 و IN 1 رخ دهند. برای آغاز گام ۲، باید OUT 0 و IN 2 رخ دهند. شرایط انتقال برای تمام گام‌های بعدی مستقل از یکدیگر هستند.

همگرایی در برنامه‌نویسی SFC (SFC Programming Convergence)

همگرایی عمومی (General Convergence)

مشابه انشعاب، در برنامه‌نویسی SFC امکان همگرایی نیز وجود دارد. زمانی که دو یا چند شاخه دارای یک گام بعدی مشترک باشند، به آن همگرایی گفته می‌شود.

SFC Convergence and equivalent ladder diagram

شکل ۵. همگرایی در SFC و نمودار نردبانی معادل آن.

 

در این‌جا برای آغاز گام ۴، دست‌کم یکی از دو ترکیب باید برقرار شود. یا باید OUT 2 و IN 4 برقرار باشند، یا باید OUT 3 و IN 5 برقرار شوند تا فرایند به گام ۴ منتقل شود. اگر هر چهار شرط برقرار باشند، همان اثر را خواهد داشت. اگر OUT 2 و IN 5 برقرار باشند، برای انتقال به حالت بعدی کافی نخواهد بود، زیرا این دو شرط در شاخه‌های متفاوتی قرار دارند.

همگرایی هم‌زمان (Simultaneous Convergence)

تفاوت همگرایی هم‌زمان با همگرایی عمومی در این است که تنها یک شرط انتقال برای تمام حالت‌های قبلی که به هم همگرا می‌شوند وجود دارد. اگر هر یک از خروجی‌ها همراه با این شرط انتقال واحد برقرار شود، فرایند به گام بعدی منتقل می‌شود.

Simultaneous convergence in SFC and its equivalent ladder logic diagram

شکل ۶. همگرایی هم‌زمان در SFC و نمودار نردبانی معادل آن.

 

شکل ۶ نشان می‌دهد که برای گام ۲ و گام ۳ تنها یک شرط انتقال وجود دارد. اگر هر یک از OUT 2 یا OUT 3 همراه با شرط انتقال IN 4 برقرار شود، گام ۴ فعال خواهد شد.

این مروری بر ساختار پایه‌ای SFCها است. با این دانش، می‌توان نمودارهای منطق نردبانی (Ladder Logic) را به نمودارهای تابع ترتیبی (Sequential Function Charts) تبدیل کرد و بالعکس. تبدیل‌های مشابه همچنین می‌توانند با نمودارهای بلوکی عملکردی (Functional Block Diagrams – FBD)، فهرست دستورالعمل‌ها (Instruction Lists – IL) و متن ساخت‌یافته (Structured Text – ST) انجام شوند.

دیدگاه ها بسته شده اند.

برخی از مشتریان ما