زبان برنامهنویسی PLC در قلب اتوماسیون صنعتی قرار دارد. هر زمان که موتوری روشن میشود، یک نوار نقاله شروع به حرکت میکند یا یک خط تولید بهصورت خودکار روشن و خاموش میشود، پشت صحنه این فرآیندها کدی است که روی یک پی ال سی اجرا میشود. این زبانها به مهندس کنترل اجازه میدهند رفتار ورودیها، خروجیها و منطق کنترلی را بهشکلی قابل اعتماد، تکرارپذیر و ایمن تعریف کند. در این مقاله ابتدا مفهوم زبان برنامهنویسی PLC را روشن میکنیم، سپس انواع زبانها، کاربرد هرکدام، زبانهای مورد استفاده در برندهای مختلف و مسیر یادگیری را قدمبهقدم بررسی میکنیم تا بدانید برای شروع و پیشرفت دقیقاً سراغ کدام زبان بروید.
زبان برنامهنویسی PLC چیست؟
زبان برنامهنویسی PLC مجموعهای از دستورالعملهای متنی یا گرافیکی است که مشخص میکند یک کنترلکننده منطقی برنامهپذیر (PLC) در برابر ورودیها چگونه تصمیم بگیرد و چه خروجیهایی را فعال یا غیرفعال کند. این زبانها در استاندارد IEC 61131-3 تعریف شدهاند و شامل چند خانواده اصلی مانند Ladder Diagram (LD) ،Function Block Diagram (FBD) ،Structured Text (ST) ،Sequential Function Chart (SFC) و Instruction List (IL) هستند. با استفاده از این زبانها میتوان فرآیندهایی مثل راهاندازی موتور، مدیریت آلارم، کنترل سطح، دما و فشار، توالیهای روشن/خاموش و حلقههای PID را بهصورت دقیق، مستند و قابل نگهداری پیادهسازی کرد.
PLC چیست و چه ارتباطی با زبان برنامهنویسی دارد؟
PLC یا کنترلکننده منطقی برنامهپذیر، یک رایانه صنعتی مقاوم است که برای کار در شرایط خشن کارخانه طراحی شده است. این تجهیز ورودیهایی مانند سنسورها، شستیها و سوئیچها را دریافت میکند و بر اساس برنامهای که مهندس روی آن نوشته است، خروجیهایی مثل کنتاکتور، شیر برقی، درایو و آلارمها را کنترل میکند. خود PLC بدون برنامهنویسی، تنها یک سختافزار خام است؛ این زبان برنامهنویسی PLC است که منطق بین «ورودیها» و «خروجیها» را تعریف میکند و تعیین میکند سیستم در هر سناریو چه رفتاری نشان دهد.
نگاهی کوتاه به تاریخچه زبانهای PLC
اولین نسل PLCها در اواخر دهه ۱۹۶۰ و ابتدا در صنعت خودروسازی معرفی شدند تا تابلوهای رلهای بزرگ و پیچیده را جایگزین کنند. در آن زمان، زبان برنامهنویسی عملاً همان منطق رلهای بود که بعداً به شکل Ladder Diagram روی صفحهنمایش نرمافزارها ظاهر شد. با پیشرفت نیازهای صنعتی، زبانهای دیگری مانند FBD برای کنترلهای پیوسته، SFC برای خطوط مرحلهای و ST برای الگوریتمهای پیچیده و پردازش داده به استاندارد IEC 61131-3 اضافه شدند. امروز تقریباً تمام برندهای معتبر PLC ترکیبی از این زبانها را در پلتفرمهای خود پشتیبانی میکنند.
شغل برنامهنویسی پی ال سی
با توجه به وابستگی شدید تأسیسات تولیدی در سطح جهانی به پیالسیها و پیشرفت مداوم این فناوری، تقاضا برای متخصصان توانمند در توسعه، پشتیبانی و مدیریت این سیستمها درحال افزایش است.

برنامه نویسی PLC در مشاغل زیر کاربرد دارند:
- اپراتورهای خطی: اپراتورهای خطی در تولید، بیشتر نگران عملکرد کلی خط هستند و از جزئیات سیستمهای پیچیده اطلاعی ندارند. ورود به این شغل آسان است و معمولا نیاز به تحصیلات خاصی ندارد، اما حقوق اغلب پایینتر است. با این حال، اپراتورها نقش کلیدی در عملیات تولید دارند.
- مکانیک: مکانیکها در تولید برای رفع مشکلات مکانیکی و نگهداری پیشگیرانه نقش حیاتی دارند. آنها از طریق مواجهه با سیستمهای الکتریکی و برنامهنویسی PLC، مهارتهای الکتریکی را یاد میگیرند. مکانیکها باید تحصیلات رسمی یا کارآموزی مرتبط داشته باشند.
- برق کار: برقکارها در مراکز تولید نقش مهمی ایفا میکنند و نیاز به آموزش رسمی و مجوز دارند. آنها با سیستمهای الکتریکی، برنامهنویسی PLC و ابزارهایی مانند مولتیمتر و اسیلوسکوپ آشنا هستند.
- مهندسین سیستم های کنترل: مهندسان سیستمهای کنترل بر روی طراحی و پیادهسازی پروژههای بلندمدت تمرکز دارند و در برنامهنویسی PLC خبره هستند. آنها میتوانند برنامههای PLC را ایجاد کرده،سیستمهای موجود را عیبیابی و اصلاح کنند.
برندهای اصلی PLC و زبانهای مورد استفاده در هرکدام
در انتخاب زبان برنامهنویسی PLC، فقط خود زبان مهم نیست؛ اینکه با کدام برند کار میکنید هم روی تجربه شما اثر میگذارد. بیشتر برندهای مطرح، ترکیبی از زبانهای استاندارد IEC 61131-3 را ارائه میکنند، اما تأکید و فرهنگ استفاده در هر برند کمی متفاوت است.
زیمنس (Siemens – TIA Portal / Step7)
زیمنس یکی از برترین برندها در زمینه برنامهنویسی PLC است که در اروپا و ایران یکی از رایجترین انتخابها است و بهطور کامل از استاندارد IEC پشتیبانی میکند. در محیط TIA Portal معمولاً با این زبانها سروکار دارید:
- LAD (Ladder): برای منطق رلهای، اینترلاکها، استارت/استاپ موتور و مدارهای حفاظتی
- FBD (Function Block Diagram): برای حلقههای PID، کنترل سرعت پمپ، بوسترپمپها و فرآیندهای پیوسته
- SCL (Structured Text): برای الگوریتمهای محاسباتی، پردازش سیگنال و پروژههای پیشرفته
- GRAPH (SFC): برای خطوط مرحلهای، Batch و توالیهای روشن/خاموش پیچیده
PLC زیمنس به خاطر قابلیت اطمینان و تنوع در تنظیمات، محبوبیت زیادی دارد. این پیالسیها به چهار خانواده اصلی زیر تقسیم میشوند:
- Simatic S7-1200
- Simatic S7-1500
- Simatic S7-300
- Simatic S7-400 زیمنس
آلنبردلی (Allen-Bradley – RSLogix / Studio 5000)
آلن بردلی، برند معروف در حوزه PLC است که محصولات خود را در چندین رنج قیمتی عرضه میکند. خانواده پیالسیهای آلن بردلی راکول به سه خط اصلی تقسیم میشوند:
- ControlLogix
- CompactLogix
- MicroLogix
راکول و آلنبردلی در صنایع نفت و گاز، معدنی و ماشینسازی پیشرفته بسیار محبوب هستند و زبان برنامهنویسی آن عبارتند از:
- Ladder: هنوز زبان غالب است و تقریباً تمام تکنسینهای برق با آن راحت هستند.
- Structured Text: برای عملیات محاسباتی، کار با شبکه و دادههای حجیم استفاده میشود.
- FBD: در پروژههای فرایندی و کنترل حلقه بسته بیشتر دیده میشود.
- در نسلهای جدید، IL عملاً حذف شده و تمرکز روی LD، ST و FBD است.
زبان برنامهنویسی PLC ABB (AC500)
ABB از دیگر برندهای معتبر در زمینه PLC است و به عنوان سومین برند شناخته شده در این حوزه مطرح میشود. ABB ادعا میکند که کنترلکنندههای این برند قادر به برقراری ارتباط بین خود و سایر ماژولهای ABB هستند. خطوط PLC ABB به سه دسته اصلی تقسیم میشوند:
- AC500-eCo
- AC500-S
- AC500-XC
PLCهای ABB بیشتر در پروژههای نیروگاهی، نفت و گاز و صنایع فرایندی سنگین استفاده میشوند:
- FBD و ST زبانهای غالب هستند؛ چون ساختار بلوکی و کدنویسی متنی در پروژههای بزرگ بهتر توسعه و نگهداری میشوند.
- Ladder در دسترس است، اما در بسیاری از پروژههای ABB، طراحان ترجیح میدهند منطق اصلی را در قالب بلوکهای فانکشنال و کد ST نگه دارند.
PLC دلتا و نرم افزار ISPSoft
برند دلتا و نرمافزار ISPSoft به عنوان یکی دیگر از پرطرفدارترین و پرفروشترین برندهای PLC در ایران شناخته میشود. این موفقیت به دلیل قیمت مناسب محصولات دلتا نسبت به رقبا و تنوع بالای آنها است. پیالسیهای دلتا قابلیت اتصال به انواع مختلف ماژولهای خارجی را دارند. دلتا بهخاطر قیمت رقابتی و در دسترس بودن در ایران، گزینه محبوبی برای ماشینسازی و خطوط کوچکتر است:
- Ladder (LD): زبان اصلی و پرکاربرد در ISPSoft است و اکثر نمونهکدهای آموزشی دلتا نیز با Ladder نوشته شدهاند.
- در برخی مدلها FBD و IL نیز در دسترساند، اما در فضای واقعی صنعت ایران، بیشترین کار روی همان Ladder انجام میشود.
مسیر یادگیری زبان برنامهنویسی PLC (از پایه تا پیشرفته)
بعد از آشنایی با انواع زبانهای برنامهنویسی PLC مثل Ladder، FBD، Structured Text و SFC، سؤال اصلی این است که «مسیر صحیح یادگیری از کجا و چطور شروع میشود؟». بهترین رویکرد این است که یادگیری زبان برنامهنویسی PLC را در سه سطح مقدماتی، متوسط و پیشرفته ببینید. مهم نیست با زیمنس، آلنبردلی یا دلتا کار میکنید؛ منطق کلی یادگیری تقریباً یکسان است.

سطح مقدماتی: آشنایی با Ladder و بلوکهای پایه
در شروع کار، تمرکز شما باید روی زبان Ladder (LD) و مفاهیم پایه باشد:
- شناخت ورودی/خروجیها، کانتکتها، کویلها، شبکهها و ساختار یک برنامه (OB/Program)
- کار با بیتهای منطقی (کنتاکت باز و بسته، کویل، ست/ریست و اینترلاکهای ساده)
- استفاده از تایمرها و کانترها برای ایجاد تأخیر، شمارش قطعه و راهاندازی/توقف ایمن تجهیزات
- انجام چند پروژه کوچک مثل استارت/استاپ موتور، کنترل سطح مخزن یا روشنایی خودکار
در این سطح، هدف شما این است که در خواندن و نوشتن Ladder روان شوید؛ نه اینکه الگوریتمهای پیچیده پیادهسازی کنید.
سطح متوسط: مقایسه، تبدیل داده و عملیات ریاضی
در مرحله بعد باید بتوانید با دادههای فرآیندی حرفهایتر کار کنید:
- استفاده از بلوکهای مقایسهگر (بزرگتر، کوچکتر، برابر، پنجرهای) برای نوشتن منطق کنترلی دقیقتر
- بهکارگیری بلوکهای تبدیل داده (مثلاً INT به DINT یا REAL) برای کار با سنسورهای آنالوگ و مقیاسبندی سیگنالها
- استفاده از بلوکهای عملیات ریاضی (جمع، تفریق، ضرب، تقسیم، میانگینگیری و تبدیل واحدها)
در این سطح یاد میگیرید که فقط «رلهبازی» نکنید، بلکه دادههای واقعی فرآیند را هم پردازش و تفسیر کنید.
سطح پیشرفته: Structured Text، معماری برنامه و کدنویسی مقاوم به خطا
وقتی در Ladder و مفاهیم پایه مسلط شدید، زمان ورود به مباحث پیشرفتهتر است:
- کار با Structured Text (ST) برای الگوریتمهای محاسباتی، پردازش آرایهها، حلقهها و شرطهای پیچیده
- طراحی معماری برنامه بهصورت ماژولار با استفاده از Function Blockها و Functionها برای افزایش قابلیت نگهداری
- نوشتن کدهای مقاوم به خطا، مدیریت آلارمها، هندل کردن شرایط غیرعادی و تعریف حالتهای ایمن (Fail-safe)
- کار با پروتکلهای ارتباطی و شبکههای صنعتی و تبادل داده بین چند PLC، HMI یا سیستمهای بالادستی مثل SCADA
اگر این سه سطح را همراه با پروژههای واقعی یا شبیهسازیشده جلو ببرید، از سطح کارآموز PLC به سطح مهندس اتوماسیون قابل اتکا حرکت میکنید.
بهترین زبان برنامهنویسی PLC کدام است؟
پاسخ کوتاه این است که «بهترین زبان، بستگی به هدف شما دارد»، اما برای تصمیمگیری میتوان چند قاعده عملی در نظر گرفت:
- برای شروع کار، Ladder (LD) بهترین گزینه است؛ چون نزدیکترین زبان به منطق رلهای تابلوهای برق است و تقریباً همه برندها آن را پشتیبانی میکنند.
- برای کنترلهای حلقه بسته، حلقههای PID، ایستگاههای پمپاژ و فرایندهای پیوسته، FBD انتخاب طبیعیتری است.
- برای الگوریتمهای محاسباتی، پردازش دادههای حجیم، ارتباطات شبکهای و پروژههای مدرنتر، Structured Text (ST) قدرت و انعطاف بسیار بالاتری ارائه میدهد.
- برای سیستمهای مرحلهای مثل Batch، بویلر، Filling و خطوطی که روند آنها بهصورت Step به Step تعریف میشود، SFC (Sequential Function Chart) خواناترین گزینه است.
- Instruction List (IL) بیشتر در سیستمهای قدیمی وجود دارد و در طراحیهای جدید عملاً جایگاهی ندارد.
اگر در شروع مسیر هستید:
- از Ladder شروع کنید، بهتدریج با FBD برای توابع کنترلی آشنا شوید و برای پروژههای جدی و بلندمدت، حتماً Structured Text را وارد جعبهابزار خودتان کنید.
مقایسه سریع زبانهای برنامهنویسی PLC
| زبان | مناسب برای | مزایا | محدودیتها | برندهای رایج |
|---|---|---|---|---|
| Ladder (LD) | اینترلاک، کنترل رلهای، منطق پایه | ساده، سریع، قابل فهم برای برقکار | کند در الگوریتمهای پیچیده | زیمنس، آلنبردلی، دلتا |
| FBD | کنترل موتور، PID، فرآیندهای پیوسته | گرافیکی، قابل توسعه، پایدار | مدیریت پروژههای خیلی بزرگ دشوار میشود | زیمنس، ABB |
| Structured Text (ST) | پردازش داده، الگوریتمها، شبکهها | قدرتمند، شبیه C/Pascal | نیازمند دانش برنامهنویسی | زیمنس، آلنبردلی، ABB |
| SFC | سیستمهای مرحلهای، Batch، بویلرها | خوانایی عالی، استاندارد صنعتی | نیاز به ساختاردهی دقیق | زیمنس |
| Instruction List (IL) | سیستمهای قدیمی | سبک و سریع | منسوخ، پشتیبانی محدود | دلتا، نسلهای قدیمی |
۵ تا از بهترین زبان های برنامهنویسی PLC

۵ نمونه از بهترین زبانهای برنامهنویسی پی ال سی را در ادامه نام برده ایم که عبارتند از:
۱- زبان برنامهنویسی پی ال سی (LD) Ladder Diagram
نمودار نردبان براساس مدل رله منطقی طراحی شده است که از سوئیچها و رلههای مکانیکی برای کنترل استفاده میکرد. در این زبان منطق و ارتباطات داخلی جایگزین دستگاههای فیزیکی میشود. با استفاده از این ساختار، میتوانید شرایط ورودی لازم برای تاثیرگذاری بر خروجیها را به دقت برنامهریزی کنید.
| مزایا | معایب | کاربرد |
|---|---|---|
| ساختار پلهای سازمان یافته | کمبود برخی دستورات (مثلاً دستور NAND) | خطوط بستهبندی |
| ذخیرهسازی دستورات | کانوایرها | |
| پشتیبانی قوی از ویرایش آنلاین | کنترلهای On/Off سریع |
۲- زبان برنامهنویسی پی ال سی (SFC) Sequential Function Charts
زبان SFC شبیه فلوچارت است و برای برنامهنویسی PLC استفاده میشود. در این زبان، برنامه به مراحل مختلفی تقسیم میشود که هر مرحله عملکرد خاصی نشان میدهد. با استفاده از دستورالعملهای انتقالی، میتوانید از یک مرحله به مرحله دیگر بروید و مسیرهای مختلف را تعریف کنید.
| مزایا | معایب | کاربرد |
|---|---|---|
| تقسیم فرآیندها به مراحل عمده | عدم تطابق با همه برنامهها | سیستمهای تولید دارویی و غذایی |
| دسترسی مستقیم به قطعات برای بررسی عملکرد | ||
| طراحی و نوشتن سریعتر به دلیل استفاده از قطعات منطقی |
۳- زبان برنامهنویسی پی ال سی (FBD) Function Block Diagram
زبان FBD به صورت گرافیکی ورودیها و خروجیها را از طریق بلوکهای متصل توصیف میکند. این زبان برای تعریف توابعی مثل شمارندهها، تایمرها و حلقههای PID استفاده میشود. در این روش، بلوکها در محیط برنامهنویسی چیده میشوند و PLC به ترتیب عددی یا از طریق اتصالات بین بلوکها، برنامه را اجرا میکند.
| مزایا | معایب | کاربردها |
|---|---|---|
| سازگاری با کنترلهای حرکتی | بینظمی کدها | پمپخانهها |
| روش بصری و گرافیکی آسانتر برای برخی کاربران | دشواری در عیبیابی | بلوئر و کمپرسور |
| امکان برنامهنویسی چندین خط و قرار دادن آنها در بلوکهای عملکردی | کنترل دبی و فشار |
۴- زبان برنامهنویسی پی ال سی Structured Text
زبان متن ساختاری، مشابه زبانهای سطح بالا است و برای برنامهنویسی پیچیده و الگوریتمیک استفاده میشود. این زبان از دستورات متنی و توابع ریاضی برای انجام کارهای پیچیده بهره میبرد. کدها با استفاده از دستوراتی مانند FOR، WHILE، IF، ELSE نوشته میشوند.
| مزایا | معایب | کاربردها |
|---|---|---|
| پوشش دستورالعملهای موجود در برخی زبانها مانند لدر | سختی درک برخی از برنامهها | پردازش سیگنال |
| منظم بودن در محاسبات بزرگ ریاضی | دشواری در رفع مشکل برنامهها | محاسبات ریاضی |
| ویرایش و اصلاح دشوار درحالت آنلاین | پروژههای انرژی و HVAC |
۵- زبان برنامهنویسی پی ال سی Instruction List
زبان لیست دستورالعمل، یک زبان متنی مشابه زبان اسمبلی است. در این زبان از کدهای mnemonics مانند LD ، AND و OR برای برنامهنویسی مورد استفاده قرار میگیرد. هر دستور در یک خط نوشته میشود و میتوان یادداشتهایی در انتهای هر خط اضافه کرد.
| مزایا | معایب | کاربرد |
|---|---|---|
| مناسب برای برنامههای زمان حیاتی و کدهای فشرده | کمبود دستورات ساختاری مهم و کاربردی (مانند Go to) | تجهیزاتی که قدیمی هستند و مجبور به نگهداری آنها هستید. |
| خطاهای متعدد و دشواری در مقابله و اصلاح آنها نسبت به زبانهای دیگر |
نکات حرفهای در برنامهنویسی PLC و مسیر پیشرفت
برای اینکه در برنامهنویسی PLC فقط «کدزن» نباشید و به یک مهندس اتوماسیون قابل اعتماد تبدیل شوید، چند اصل کلیدی را همیشه رعایت کنید:
- قبل از نوشتن کد، منطق فرآیند را روی کاغذ یا نرمافزار رسم کنید؛ بلوکها و Stepها را مشخص کنید و بعد سراغ Ladder، FBD یا ST بروید.
- برنامههای بزرگ را به چند Function و Function Block کوچک تقسیم کنید تا عیبیابی و توسعه در آینده سادهتر شود.
- نامگذاری سیگنالها، تگها و بلوکها را استاندارد و قابل فهم انتخاب کنید؛ نامهای مبهم مثل M10.0 بدون توضیح، در پروژههای جدی پذیرفتنی نیستند.
- برای بخشهای مهم کد، کامنت کوتاه و دقیق بنویسید؛ هم برای خودتان در آینده، هم برای نفر بعدی که قرار است پروژه را تحویل بگیرد.
- همیشه سناریوهای خطا را در نظر بگیرید: قطع سنسور، عدم پاسخ درایو، افت فشار، قطع شبکه و …؛ برنامه خوب، فقط در حالت نرمال درست کار نمیکند، در حالت خطا هم رفتار ایمن دارد.
- روی یک برند و پلتفرم (مثلاً زیمنس یا آلنبردلی) مسلط شوید، اما در سطح زبانهای IEC (Ladder، FBD، ST) خودتان را محدود به یک برند نکنید.
اگر این اصول را با تمرین مداوم و کار روی پروژههای واقعی ترکیب کنید، مسیر شغلی شما از سطح تکنسین ساده تا مهندس سیستمهای کنترل قابل برنامهریزی خواهد بود.
سوالات متداول درباره زبان برنامهنویسی PLC
۱. برنامهنویسی PLC چیست و چه فرقی با زبانهای معمول نرمافزاری دارد؟
در برنامهنویسی PLC شما بهجای کار با رابط کاربری، پایگاه داده یا وب، مستقیماً منطق کنترل یک فرآیند فیزیکی را مینویسید. زبانهای PLC طوری طراحی شدهاند که برای برقکار و مهندس ابزار دقیق قابل درک باشند و روی سختافزار صنعتی با قابلیت اطمینان بالا اجرا شوند.
۲. انواع زبان برنامهنویسی PLC کداماند؟
طبق استاندارد IEC 61131-3 پنج زبان اصلی برای PLC تعریف شده است:
– Ladder Diagram (LD)
– Function Block Diagram (FBD)
– Structured Text (ST)
– Sequential Function Chart (SFC)
– Instruction List (IL – در سیستمهای قدیمی)
بیشتر برندها ترکیبی از این زبانها را در پلتفرم خود ارائه میکنند.
۳. بهترین زبان برنامهنویسی PLC برای شروع چیست؟
برای شروع، تقریباً همه متخصصان روی Ladder اتفاقنظر دارند. این زبان بهخاطر شباهت به مدارهای رلهای، برای برقکارها و تکنسینها بسیار قابل فهم است و در تمام برندهای مهم PLC در دسترس است.
۴. زبان برنامهنویسی PLC زیمنس چیست؟
در زیمنس (TIA Portal / Step7) میتوانید از چند زبان استفاده کنید، اما در عمل بیشترین استفاده مربوط به LAD و FBD است. برای پروژههای پیچیدهتر و محاسباتی نیز SCL (Structured Text) و برای فرآیندهای مرحلهای GRAPH (SFC) به کار میرود.
۵. آیا برنامه نویسی پی ال سی ساده است؟
بله، به طور کلی سادهتر از بسیاری از زبانهای برنامهنویسی مدرن است، چون ساختارهای پیچیدهای مانند کلاسها و چندشکلی در آن وجود ندارد؛ اما دامنه کار و چالشهای آن میتواند سخت باشد، زیرا نیازمند درک عمیق مهندسی و توانایی تحلیل سیستمهای فیزیکی است.







