معرفی جامع انواع زبان های برنامه نویسی پی ال سی و کاربردشان

در این مقاله می خواهیم درباره انواع زبان های برنامه نویسی پی ال سی صحبت کنیم و هر کدام را به صورت کامل توضیح دهیم. همراه مجله اموزشی ماهان باشید. در صورتی که درباره پی ال سی نمی دانید مقاله پی ال سی چیست را بخوانید.

زبان های برنامه نویسی پی ال سی، ابزارهایی هستند که برای نوشتن برنامه های PLC استفاده می شوند. این زبان ها به برنامه نویسان کمک می کنند تا منطق کنترل مورد نظر خود را برای PLC تعریف کنند.

زبان های برنامه نویسی پی ال سی به دو دسته کلی تقسیم می شوند:

  • زبان های برنامه نویسی سطح پایین
  • زبان های برنامه نویسی سطح بالا

زبان های برنامه نویسی سطح پایین

زبان های برنامه نویسی سطح پایین، زبان هایی هستند که مستقیماً با سخت افزار PLC در ارتباط هستند. این زبان ها از دستورات ساده ای مانند منطق AND، OR و NOT استفاده می کنند.

زبان های برنامه نویسی سطح پایین پی ال سی عبارتند از:

  • LD (Ladder Diagram)
  • FBD (Function Block Diagram)
  • SFC (Sequential Function Chart)

زبان برنامه نویسی LD

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

در یک دیاگرام نردبانی، هر سلول یک کنتاکت است. کنتاکت ها می توانند باز یا بسته باشند. اگر کنتاکت باز باشد، جریان نمی تواند از آن عبور کند. اگر کنتاکت بسته باشد، جریان می تواند از آن عبور کند.

عملکرد یک دیاگرام نردبانی به ترتیبی که کنتاکت ها در آن قرار گرفته اند، بستگی دارد. کنتاکت هایی که در بالای دیاگرام قرار دارند، اول اجرا می شوند.

در زبان LD، از سه نوع کنتاکت استفاده می شود:

  • کنتاکت ورودی (Input Contact): این کنتاکت ها وضعیت ورودی های PLC را نشان می دهند.
  • کنتاکت خروجی (Output Contact): این کنتاکت ها وضعیت خروجی های PLC را نشان می دهند.
  • کنتاکت رله (RELAY Contact): این کنتاکت ها وضعیت یک رله داخلی PLC را نشان می دهند.

در زبان LD، از دو نوع عملگر منطقی استفاده می شود:

  • عملگر AND (AND): این عملگر زمانی نتیجه true را برمی گرداند که همه کنتاکت های آن true باشند.
  • عملگر OR (OR): این عملگر زمانی نتیجه true را برمی گرداند که حداقل یکی از کنتاکت های آن true باشد.

در اینجا یک مثال از یک دیاگرام نردبانی آورده شده است:

M0 : OUT
IN1 : IN
IN2 : IN

M0 = IN1 AND IN2

در این دیاگرام، خروجی M0 به شرطی true می شود که هر دو ورودی IN1 و IN2 نیز true باشند.

زبان برنامه نویسی FBD

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

در یک برنامه FBD، بلوک های تابعی با یکدیگر به صورت زنجیره ای متصل می شوند. هر بلوک تابعی، خروجی خود را به ورودی بلوک تابعی بعدی متصل می کند.

در زبان FBD، از انواع مختلفی از بلوک های تابعی استفاده می شود. برخی از بلوک های تابعی رایج عبارتند از:

  • بلوک AND (AND): این بلوک خروجی true را برمی گرداند اگر همه ورودی های آن true باشند.
  • بلوک OR (OR): این بلوک خروجی true را برمی گرداند اگر حداقل یکی از ورودی های آن true باشد.
  • بلوک NOT (NOT): این بلوک خروجی false را برمی گرداند اگر ورودی آن true باشد.
  • بلوک DELAY (DELAY): این بلوک خروجی را پس از یک دوره زمانی مشخص تولید می کند.
  • بلوک COUNTER (COUNTER): این بلوک یک شمارنده را کنترل می کند.

در اینجا یک مثال از یک برنامه FBD آورده شده است:

AND
IN1 : IN
IN2 : IN

OUT : OUT

در این برنامه، خروجی OUT به شرطی true می شود که هر دو ورودی IN1 و IN2 نیز true باشند.

زبان برنامه نویسی SFC

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

عناصر یک نمودار عملکردی

یک نمودار عملکردی از چهار عنصر اصلی تشکیل شده است:

  • مرحله (Step): مراحل، بخش های منطق کنترل را نشان می دهند.
  • شرط ورودی (Input Condition): شرایط ورودی، تعیین می کنند که آیا یک مرحله باید اجرا شود یا خیر.
  • عمل خروجی (Output Action): اعمال خروجی، اقداماتی را که باید در صورت اجرا شدن یک مرحله انجام شوند، تعریف می کنند.
  • انتقال (Transition): انتقال ها، کنترل جریان کنترل را بین مراحل تعیین می کنند.

مراحل

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

شرایط ورودی

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

شرایط منطقی

شرایط منطقی، به یک عبارت منطقی وابسته هستند. اگر عبارت منطقی true باشد، مرحله اجرا می شود. اگر عبارت منطقی false باشد، مرحله اجرا نمی شود.

شرایط زمانی

شرایط زمانی، به یک دوره زمانی وابسته هستند. اگر دوره زمانی سپری شود، مرحله اجرا می شود.

اعمال خروجی

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

اعمال منطقی

اعمال منطقی، یک عبارت منطقی را اجرا می کنند.

اعمال زمانی

اعمال زمانی، یک دوره زمانی را اجرا می کنند.

انتقال ها

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

انتقال های منطقی

انتقال های منطقی، به یک عبارت منطقی وابسته هستند. اگر عبارت منطقی true باشد، انتقال انجام می شود. اگر عبارت منطقی false باشد، انتقال انجام نمی شود.

انتقال های زمانی

انتقال های زمانی، به یک دوره زمانی وابسته هستند. اگر دوره زمانی سپری شود، انتقال انجام می شود.

مثال یک نمودار عملکردی

در اینجا یک مثال از یک نمودار عملکردی آورده شده است:

S0

S1: IN1 = true

S2: IN2 = true

S3: IN3 = true

S4: OUT1 = true

S5: OUT2 = true

S6: OUT3 = true

در این نمودار عملکردی، مراحل به ترتیب زیر اجرا می شوند:

  • S0: این مرحله همیشه اجرا می شود.
  • S1: این مرحله فقط زمانی اجرا می شود که ورودی IN1 true باشد.
  • S2: این مرحله فقط زمانی اجرا می شود که ورودی IN2 true باشد.
  • S3: این مرحله فقط زمانی اجرا می شود که ورودی IN3 true باشد.
  • S4: این مرحله خروجی OUT1 را true می کند.
  • S5: این مرحله خروجی OUT2 را true می کند.
  • S6: این مرحله خروجی OUT3 را true می کند.

زبان های برنامه نویسی سطح بالا

زبان های برنامه نویسی سطح بالا، زبان هایی هستند که از دستورات پیچیده تر و شبیه به زبان های برنامه نویسی کامپیوتر استفاده می کنند. این زبان ها برای برنامه نویسی PLC های پیچیده تر مناسب هستند.

زبان های برنامه نویسی سطح بالا پی ال سی عبارتند از:

  • ST (Structured Text)
  • IL (Instruction List)
  • ML (Machine Learning)

زبان برنامه نویسی ST

زبان ST، یک زبان برنامه نویسی سطح بالا است که از دستورات ساختاریافته برای نمایش منطق کنترل استفاده می کند. این زبان شبیه به زبان های برنامه نویسی کامپیوتری مانند C یا C++ است.

عناصر یک برنامه ST

یک برنامه ST از سه عنصر اصلی تشکیل شده است:

  • متغیرها (Variables): متغیرها، داده هایی هستند که در برنامه استفاده می شوند.
  • تابع ها (Functions): تابع ها، قطعاتی از کد هستند که می توانند مجدداً استفاده شوند.
  • جملات (Statements): جملات، دستورالعمل هایی هستند که به PLC می گویند چه کاری انجام دهد.

متغیرها

متغیرها، داده هایی هستند که در برنامه استفاده می شوند. متغیرها می توانند از انواع مختلفی باشند، از جمله:

  • نوع منطقی (Logical Type): این نوع برای ذخیره داده های منطقی مانند true یا false استفاده می شود.
  • نوع عددی (Numeric Type): این نوع برای ذخیره داده های عددی مانند اعداد صحیح یا اعشاری استفاده می شود.
  • نوع رشته ای (String Type): این نوع برای ذخیره داده های متنی استفاده می شود.

تابع ها

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

جملات

جملات، دستورالعمل هایی هستند که به PLC می گویند چه کاری انجام دهد. جملات در زبان ST از انواع مختلفی تشکیل شده اند، از جمله:

  • جملات انتساب (Assignment Statements): این جملات، مقدار یک متغیر را به مقدار دیگری اختصاص می دهند.
  • جملات منطقی (Logical Statements): این جملات، یک عبارت منطقی را ارزیابی می کنند و نتیجه آن را true یا false برمی گردانند.
  • جملات شرطی (Conditional Statements): این جملات، اجرای کد را بر اساس نتیجه یک عبارت منطقی کنترل می کنند.
  • جملات حلقه (Loop Statements): این جملات، اجرای کد را به صورت تکراری انجام می دهند.

مثال یک برنامه ST

در اینجا یک مثال از یک برنامه ST آورده شده است:

// متغیر ها
int x;

// تابع ها
void my_function(int a) {
  x = a;
}

// برنامه اصلی
x = 10;
my_function(x);

// خروجی
printf("x = %d\n", x);

در این برنامه، متغیر x از نوع عددی است. تابع my_function یک پارامتر ورودی از نوع عددی دارد. برنامه اصلی، مقدار متغیر x را به 10 اختصاص می دهد و سپس تابع my_function را با مقدار x فراخوانی می کند. تابع my_function، مقدار پارامتر ورودی را به متغیر x اختصاص می دهد. در نهایت، برنامه اصلی، مقدار متغیر x را چاپ می کند.

زبان برنامه نویسی IL

زبان برنامه نویسی IL، یک زبان برنامه نویسی سطح پایین است که از دستورالعمل های مستقیم برای کنترل PLC استفاده می کند. این زبان شبیه به زبان اسمبلی کامپیوتر است.

عناصر یک برنامه IL

یک برنامه IL از دو عنصر اصلی تشکیل شده است:

  • دستورالعمل ها (Instructions): دستورالعمل ها، دستورالعمل هایی هستند که به PLC می گویند چه کاری انجام دهد.
  • متغیرها (Variables): متغیرها، داده هایی هستند که در برنامه استفاده می شوند.

دستورالعمل ها

دستورالعمل ها، دستورالعمل هایی هستند که به PLC می گویند چه کاری انجام دهد. دستورالعمل ها در زبان IL از انواع مختلفی تشکیل شده اند، از جمله:

  • دستورالعمل های منطقی (Logical Instructions): این دستورالعمل ها، اعمال منطقی مانند AND، OR و NOT را انجام می دهند.
  • دستورالعمل های ریاضی (Arithmetic Instructions): این دستورالعمل ها، اعمال ریاضی مانند جمع، تفریق، ضرب و تقسیم را انجام می دهند.
  • دستورالعمل های ورودی/خروجی (I/O Instructions): این دستورالعمل ها، داده ها را بین PLC و دنیای خارج مبادله می کنند.

متغیرها

متغیرها، داده هایی هستند که در برنامه استفاده می شوند. متغیرها می توانند از انواع مختلفی باشند، از جمله:

  • نوع منطقی (Logical Type): این نوع برای ذخیره داده های منطقی مانند true یا false استفاده می شود.
  • نوع عددی (Numeric Type): این نوع برای ذخیره داده های عددی مانند اعداد صحیح یا اعشاری استفاده می شود.

مثال یک برنامه IL

در اینجا یک مثال از یک برنامه IL آورده شده است:

// متغیر ها
BOOL x;

// برنامه اصلی
x = IN1 AND IN2;
OUT1 = x;

در این برنامه، متغیر x از نوع منطقی است. برنامه اصلی، مقدار متغیر x را با استفاده از عملگر AND محاسبه می کند و سپس مقدار آن را به خروجی OUT1 اختصاص می دهد.

زبان برنامه نویسی ML

زبان برنامه نویسی ML، یک زبان برنامه نویسی سطح بالایی است که برای برنامه نویسی کنترلرهای منطقی قابل برنامه ریزی (PLC) استفاده می شود. این زبان از ویژگی های زبان های برنامه نویسی سطح بالایی مانند ساختارهای کنترلی و توابع استفاده می کند و یادگیری آن برای برنامه نویسانی که با زبان های برنامه نویسی مانند C یا C++ آشنا هستند، آسان است.

عناصر یک برنامه ML

یک برنامه ML از سه عنصر اصلی تشکیل شده است:

  • متغیرها (Variables): متغیرها، داده هایی هستند که در برنامه استفاده می شوند.
  • تابع ها (Functions): تابع ها، قطعاتی از کد هستند که می توانند مجدداً استفاده شوند.
  • جملات (Statements): جملات، دستورالعمل هایی هستند که به PLC می گویند چه کاری انجام دهد.

متغیرها

متغیرها، داده هایی هستند که در برنامه استفاده می شوند. متغیرها می توانند از انواع مختلفی باشند، از جمله:

  • نوع منطقی (Logical Type): این نوع برای ذخیره داده های منطقی مانند true یا false استفاده می شود.
  • نوع عددی (Numeric Type): این نوع برای ذخیره داده های عددی مانند اعداد صحیح یا اعشاری استفاده می شود.
  • نوع رشته ای (String Type): این نوع برای ذخیره داده های متنی استفاده می شود.

تابع ها

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

جملات

جملات، دستورالعمل هایی هستند که به PLC می گویند چه کاری انجام دهد. جملات در زبان ML از انواع مختلفی تشکیل شده اند، از جمله:

  • جملات انتساب (Assignment Statements): این جملات، مقدار یک متغیر را به مقدار دیگری اختصاص می دهند.
  • جملات منطقی (Logical Statements): این جملات، یک عبارت منطقی را ارزیابی می کنند و نتیجه آن را true یا false برمی گردانند.
  • جملات شرطی (Conditional Statements): این جملات، اجرای کد را بر اساس نتیجه یک عبارت منطقی کنترل می کنند.
  • جملات حلقه (Loop Statements): این جملات، اجرای کد را به صورت تکراری انجام می دهند.

مثال یک برنامه ML

در اینجا یک مثال از یک برنامه ML آورده شده است:

// متغیر ها
int x;

// تابع ها
void my_function(int a) {
  x = a;
}

// برنامه اصلی
x = 10;
my_function(x);

// خروجی
printf("x = %d\n", x);

در این برنامه، متغیر x از نوع عددی است. تابع my_function یک پارامتر ورودی از نوع عددی دارد. برنامه اصلی، مقدار متغیر x را به 10 اختصاص می دهد و سپس تابع my_function را با مقدار x فراخوانی می کند. تابع my_function، مقدار پارامتر ورودی را به متغیر x اختصاص می دهد. در نهایت، برنامه اصلی، مقدار متغیر x را چاپ می کند.

نتیجه گیری

انتخاب زبان برنامه نویسی مناسب برای پی ال سی، به عوامل مختلفی بستگی دارد. برنامه نویس باید با توجه به نوع PLC، پیچیدگی برنامه و مهارت خود، زبان برنامه نویسی مناسب را انتخاب کند.

در صورتی که می خواهید برنامه نویسی پی ال سی را به صورت تخصصی و حرفه ای یاد بگیرید می توانید در آموزش پی ال سی پایتخت فناوری شرکت کنید. در این دوره صفر تا صد برنامه نوسی پی ال سی های زیمنس، دلتا، کینکو و ... را یاد میگیرید. در صورتی که تصمیم تان جدی است، برای ثبت نام دوره plc فنی حرفه ای کلیک کنید.