زبان های برنامه نویسی plc به طور معمول با محصولات و تولیدکنندگان خاصی ارتباط دارد و ممکن است همزمان با برنامهنویسی PLCهای مختلف، زبانهای متفاوتی نیز برای برنامهنویسی PLCها استفاده شود.PLC (Programmable Logic Controller) یک دستگاه کنترل صنعتی است که برای کنترل و اتوماسیون فرآیندهای صنعتی استفاده میشود. برای برنامهنویسی صنعتی میتوان از چندین زبان برنامهنویسی استفاده کرد.
- Ladder Logic (لادر لاجیک): این زبان برنامهنویسی بر اساس نمایش سیمبولیک یک مدار برق در سیمولاتورهای الکترونیکی استوار است. این زبان به صورت یک نمودار سیمبولیک اجرا میشود و برای برنامهنویسی PLCهای سنتی مانند Siemens S7-300 و Allen-Bradley MicroLogix استفاده میشود.
- Structured Text (متن ساختاری): این زبان مشابه زبان برنامهنویسی Pascal است و برای برنامهنویسی PLCهایی مانند Siemens S7-1200 و Beckhoff استفاده میشود. این زبان به صورت متنی است و شامل روشها و توابع متداول برنامهنویسی است.
- Function Block Diagram (نمودار بلوکی تابع): این زبان بر اساس ترکیب بلوکهای تابعی است که با یکدیگر تعامل دارند. این زبان برای برنامهنویسی PLCهایی مانند Siemens S7-300 و Schneider Electric Modicon Quantum استفاده میشود.
- Instruction List (لیست دستورات): این زبان بر اساس یک لیست از دستورات ساده و قابل فهم توسط ماشین است. این زبان برای برنامهنویسی PLCهایی مانند Siemens S7-300 و Mitsubishi استفاده میشود.
- Sequential Function Chart (نمودار تابعی ترتیبی): این زبان بر اساس ترسیم یک گراف تابعی است که به صورت مراحل ترتیبی اجرا میشود. این زبان برای برنامهنویسی PLCهایی مانند Siemens S7-300 و Omron استفاده میشود.

زبا های برنامهنویسی PLC قابل نصب بر روی سیستمعامل ویندوز هستند. توسعه دهندگان و برنامهنویسان PLC معمولاً از نرمافزارهایی که توسط تولید کنندگان PLC ارائه میشوند برای برنامهنویسی PLC استفاده میکنند.
برای مثال، شرکت Siemens نرمافزار TIA Portal را برای برنامهنویسی PLC های خود، مانند Siemens S7-1200 و S7-1500، ارائه میدهد. این نرمافزار قابل نصب بر روی سیستمعامل ویندوز میباشد.
همچنین، شرکت Allen-Bradley (یک بخش از Rockwell Automation) نرمافزار RSLogix 5000 و Studio 5000 را برای برنامهنویسی PLCهای خود، مانند Allen-Bradley ControlLogix و CompactLogix، ارائه میدهد. این نرمافزارها همچنین قابل نصب بر روی سیستمعامل ویندوز هستند.
بنابراین، با استفاده از سیستمعامل ویندوز میتوانید این محیطهای برنامهنویسی را نصب کرده و برنامهنویسی PLC انجام دهید.

یک مثال ساده از برنامه نویسی PLC به زبان Ladder Logic
این برنامه یک مدار ساده را کنترل میکند که شامل دو ورودی دیجیتال و یک خروجی دیجیتال است. ورودیها به صورت دکمههای فشاری عمل میکنند و خروجی یک لامپ را روشن یا خاموش میکند. برنامه زیر را میتوان در PLC با زبان Ladder Logic پیادهسازی کرد:
--| |--[ ]--[ ]--[ ]--| |--( )
| | | | |
|-----| | |-----|
Start | Output
|
--[ ]--
|
--[ ]--
|
Stop Button
توضیحات برنامه:
- دکمه Start (شروع) و دکمه Stop (توقف) ورودیهای دیجیتال هستند.
- خروجی دیجیتال، لامپ را نمایش میدهد.
- وقتی دکمه Start فشار داده میشود، خروجی روشن میشود و لامپ روشن میشود.
- وقتی دکمه Stop فشار داده میشود، خروجی خاموش میشود و لامپ خاموش میشود.
این برنامه در زبان Ladder Logic به صورت زیر نوشته میشود:
Network 1:
--| Start Button |----[ ]----( )----[/Output]
Network 2:
--| Stop Button |----[ ]----[/Output]
در این برنامه، هر شبکه (Network) یک بخش از برنامه است و از راست به چپ خوانده میشود. استفاده از عملگرهای منطقی مانند “AND” (و) و “OR” (یا) و همچنین استفاده از عناصر مانند دکمههای فشاری و خروجیهای دیجیتال کاربردی است.

یک مثال ساده از برنامه نویسی PLC به زبان Structured Text (متن ساختاری)
این برنامه یک مدار ساده را کنترل میکند که شامل دو ورودی دیجیتال و یک خروجی دیجیتال است. ورودیها به صورت دکمههای فشاری عمل میکنند و خروجی یک لامپ را روشن یا خاموش میکند. برنامه زیر را میتوان در PLC با زبان Structured Text پیادهسازی کرد:
VAR
StartButton: BOOL;
StopButton: BOOL;
Output: BOOL;
END_VAR
IF StartButton THEN
Output := TRUE;
ELSIF StopButton THEN
Output := FALSE;
END_IF
توضیحات برنامه:
- متغیرهای StartButton، StopButton و Output به ترتیب برای نگهداری وضعیت دکمه Start (شروع)، دکمه Stop (توقف) و خروجی لامپ تعریف شدهاند.
- در برنامه، اگر دکمه Start فشار داده شود، متغیر Output به TRUE تنظیم میشود و لامپ روشن میشود.
- در صورتی که دکمه Stop فشار داده شود، متغیر Output به FALSE تنظیم میشود و لامپ خاموش میشود.
در این برنامه از ساختار شرطی IF-THEN-ELSEIF-END_IF استفاده شده است. برنامه به ترتیب خوانده میشود و با توجه به وضعیت دکمهها، مقدار متغیر Output تغییر میکند.

یک مثال ساده از برنامه نویسی PLC به زبان Function Block Diagram (نمودار بلوک عملکرد)
این برنامه یک مدار ساده را کنترل میکند که شامل دو ورودی دیجیتال و یک خروجی دیجیتال است. ورودیها به صورت دکمههای فشاری عمل میکنند و خروجی یک لامپ را روشن یا خاموش میکند. برنامه زیر را میتوان در PLC با زبان Function Block Diagram پیادهسازی کرد:
START_BUTTON:
------[ ]----+----[ ]----( )
|
--[ ]--
|
--[ ]--
|
OUTPUT_LAMP
توضیحات برنامه:
- بلوک START_BUTTON و بلوک OUTPUT_LAMP به ترتیب برای نگهداری وضعیت دکمه Start (شروع) و خروجی لامپ تعریف شدهاند.
- در برنامه، وقتی دکمه Start فشار داده شود، وضعیت خروجی لامپ به TRUE تنظیم میشود و لامپ روشن میشود.
- وقتی دکمه Start رها شود، وضعیت خروجی لامپ به FALSE تنظیم میشود و لامپ خاموش میشود.
در این برنامه، از بلوکهای ورودی و خروجی استفاده شده است. ورودی START_BUTTON به دکمه Start متصل شده است و خروجی OUTPUT_LAMP به لامپ متصل شده است. وقتی دکمه Start فشار داده شود، سیگنال از ورودی به خروجی منتقل میشود و لامپ روشن میشود.

یک مثال ساده از برنامه نویسی PLC به زبان Instruction List
این برنامه یک مدار ساده را کنترل میکند که شامل دو ورودی دیجیتال و یک خروجی دیجیتال است. ورودیها به صورت دکمههای فشاری عمل میکنند و خروجی یک لامپ را روشن یا خاموش میکند. برنامه زیر را میتوان در PLC با زبان Instruction List پیادهسازی کرد:
LD StartButton
OUT OutputLamp
LD StopButton
RES OutputLamp
توضیحات برنامه:
- دستور LD (Load) برای بارگذاری وضعیت ورودیها استفاده میشود. مقدار ورودی (StartButton یا StopButton) در حافظه دستگاه بارگذاری میشود.
- دستور OUT (Output) برای تنظیم وضعیت خروجی استفاده میشود. در اینجا، خروجی (OutputLamp) تنظیم میشود.
- دستور RES (Reset) برای تنظیم خروجی به وضعیت خاموش استفاده میشود. در اینجا، خروجی (OutputLamp) به وضعیت خاموش تنظیم میشود.
اولین خط دستور LD StartButton را بررسی میکند. اگر دکمه Start فشار داده شده باشد، مقدار TRUE بارگذاری میشود و با استفاده از دستور OUT OutputLamp، خروجی به وضعیت روشن تنظیم میشود و لامپ روشن میشود.
دومین خط دستور LD StopButton را بررسی میکند. اگر دکمه Stop فشار داده شده باشد، مقدار TRUE بارگذاری میشود و با استفاده از دستور RES OutputLamp، خروجی به وضعیت خاموش تنظیم میشود و لامپ خاموش میشود.

یک مثال ساده از برنامه نویسی PLC به زبان Sequential Function Chart (نمودار تابع ترتیبی)
این برنامه یک مدار ساده را کنترل میکند که شامل دو ورودی دیجیتال و یک خروجی دیجیتال است. ورودیها به صورت دکمههای فشاری عمل میکنند و خروجی یک لامپ را روشن یا خاموش میکند. برنامه زیر را میتوان در PLC با زبان Sequential Function Chart پیادهسازی کرد:
START:
IF StartButton THEN
Output := TRUE;
GOTO STARTED;
END_IF
STOPPED:
Output := FALSE;
GOTO START;
STARTED:
IF StopButton THEN
GOTO STOPPED;
END_IF
توضیحات برنامه:
- تابع اصلی برنامه با نام START آغاز میشود.
- در نقطه شروع، اگر دکمه Start فشار داده شود، متغیر Output به TRUE تنظیم میشود و برنامه به تابع STARTED میرود.
- در تابع STARTED، اگر دکمه Stop فشار داده شود، برنامه به تابع STOPPED میرود.
- در تابع STOPPED، متغیر Output به FALSE تنظیم میشود و برنامه به تابع START برمیگردد.
در این برنامه از ساختار شرطی IF-THEN-END_IF استفاده شده است. برنامه به ترتیب خوانده میشود و با توجه به وضعیت دکمهها، مقدار متغیر Output تغییر میکند. با استفاده از دستور GOTO، برنامه به نقاط مختلفی از نمودار ترتیبی میرود.
دیدگاهتان را بنویسید