آموزش برنامه نویسی PLC های زیمنس

شرکت زیمنس (Siemens AG) یک شرکت چند ملیتی آلمانی است که در زمینه ی مهندسی برق و الکترونیک فعالیت می کند. این شرکت در سال 1847 توسط ارنست ورنر زیمنس و یوهان گئورگ هالسکه تاسیس شد و امروزه به عنوان یکی از بزرگترین شرکت های صنعتی جهان شناخته می شود. زیمنس در زمینه های مختلفی از جمله تولید تجهیزات نیروگاهی، سیستم های اتوماسیون صنعتی، تجهیزات حمل و نقل، و لوازم خانگی فعالیت می کند.

معرفی PLC های زیمنس و کاربردهای آنها: PLC مخفف عبارت Programmable Logic Controller به معنی “کنترل کننده منطقی قابل برنامه ریزی” است. PLC ها نوعی از کامپیوترهای صنعتی هستند که برای کنترل فرآیندهای اتوماسیون در صنایع مختلف از جمله تولید، فرآوری، و بسته بندی استفاده می شوند. PLC ها به دلیل مزایایی مانند قابلیت برنامه ریزی، قابلیت اطمینان بالا، و قیمت مناسب به طور گسترده در صنایع مختلف مورد استفاده قرار می گیرند. در این مقاله قصد داریم تا به آموزش برنامه نویسی PLC های زیمنس بپردازیم پس با ما همراه باشید.

  • اجزای اصلی PLC های زیمنس: PLC های زیمنس از اجزای اصلی زیر تشکیل شده اند:
  • واحد مرکزی پردازش (CPU): مغز PLC است که وظیفه پردازش اطلاعات و اجرای دستورات را بر عهده دارد.
  • حافظه: برای ذخیره سازی برنامه ها، داده ها و اطلاعات سیستم استفاده می شود.
  • ورودی ها و خروجی ها: برای دریافت اطلاعات از سنسورها و ارسال فرمان به actuators استفاده می شوند.
  • منبع تغذیه: برای تامین برق مورد نیاز PLC استفاده می شود.
  • رابطه کاربری: برای برنامه نویسی و پیکربندی PLC استفاده می شود.

 

مفاهیم پایه برنامه نویسی PLC: آشنایی با زبان های برنامه نویسی PLC های زیمنس

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

  • Step7 LAD: مخفف عبارت Ladder Logic Diagram است و شبیه به مدارهای کنترل رله ای است. این زبان برای کاربران با تجربه در زمینه برق و کنترل مناسب است.
  • Step7 FBD: مخفف عبارت Function Block Diagram است و از بلوک های آماده برای انجام وظایف مختلف استفاده می کند. این زبان برای کاربران جدید مناسب است و برنامه نویسی را آسان تر می کند.
  • Step7 SCL: مخفف عبارت Structured Control Language است و از دستورات و ساختارهای برنامه نویسی ساختاریافته استفاده می کند. این زبان برای برنامه نویسی پروژه های پیچیده مناسب است.
  • Step7 IL: مخفف عبارت Instruction List است و از دستورات به صورت لیست استفاده می کند. این زبان برای کاربران با تجربه در برنامه نویسی مناسب است و به آنها کنترل دقیق تری بر برنامه می دهد.

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

  • بلوک های برنامه: هر بلوک برنامه یک وظیفه خاص را انجام می دهد مانند خواندن ورودی ها، انجام محاسبات، و ارسال فرمان به خروجی ها.
  • متغیرها: برای ذخیره سازی داده ها و اطلاعات در برنامه استفاده می شوند.
  • دستورات: برای کنترل جریان برنامه و انجام عملیات مختلف استفاده می شوند.

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

  • داده های بولین: فقط دو مقدار را می توانند ذخیره کنند: درست و نادرست.
  • داده های عددی: برای ذخیره سازی اعداد استفاده می شوند.
  • داده های رشته ای: برای ذخیره سازی متن استفاده می شوند.
  • متغیرهای محلی: فقط در بلوک برنامه ای که در آن تعریف شده اند قابل دسترسی هستند.
  • متغیرهای جهانی: در تمام بلوک های برنامه قابل دسترسی هستند.

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

  • دستورات شرطی: برای اجرای بخشی از برنامه فقط در شرایط خاص استفاده می شوند.
  • IF…THEN…ELSE: این دستور برای بررسی یک شرط و اجرای دستورات مربوطه در صورت درست بودن شرط و دستورات دیگر در صورت نادرست بودن شرط استفاده می شود.
  • CASE: این دستور برای بررسی چندین شرط و اجرای دستورات مربوطه به هر شرط استفاده می شود.
  • دستورات حلقه: برای تکرار یک بخش از برنامه تا زمان برآورده شدن یک شرط استفاده می شوند.
  • FOR: این دستور برای تکرار یک بخش از برنامه تعداد مشخصی از دفعات استفاده می شود.
  • WHILE: این دستور برای تکرار یک بخش از برنامه تا زمانی که یک شرط درست باشد استفاده می شود.
  • دستورات ورودی و خروجی: برای خواندن داده ها از ورودی ها و ارسال فرمان به خروجی ها استفاده می شوند.
  • INPUT: این دستور برای خواندن داده از یک ورودی خاص استفاده می شود.
  • OUTPUT: این دستور برای ارسال فرمان به یک خروجی خاص استفاده می شود.
  • دستورات تایمر و شمارنده: برای ایجاد تاخیر یا شمارش تعداد وقوع یک رویداد استفاده می شوند.
  • TIMER: این دستور برای ایجاد تاخیر زمانی استفاده می شود.
  • COUNTER: این دستور برای شمارش تعداد وقوع یک رویداد استفاده می شود.

حل مسائل ساده با استفاده از برنامه نویسی PLC: برای حل مسائل ساده با استفاده از برنامه نویسی PLC می توان از مراحل زیر استفاده کرد:

  • مشکل را به طور کامل درک کنید: ابتدا باید مشکل را به طور کامل درک کنید و ورودی ها، خروجی ها و عملیات مورد نیاز را مشخص کنید.
  • الگوریتم حل مسئله را طراحی کنید: سپس باید الگوریتمی برای حل مسئله طراحی کنید. الگوریتم باید شامل مراحل حل مسئله به ترتیب باشد.
  • برنامه را با استفاده از زبان برنامه نویسی PLC بنویسید: در مرحله بعد باید برنامه را با استفاده از زبان برنامه نویسی PLC بنویسید. برنامه باید شامل دستورات لازم برای اجرای الگوریتم طراحی شده باشد.
  • برنامه را تست و اشکال زدایی کنید: در نهایت باید برنامه را تست و اشکال زدایی کنید تا مطمئن شوید که به درستی کار می کند.

آموزش برنامه نویسی PLC

زبان برنامه نویسی Step7: معرفی و نصب نرم افزار Step7

Step7 نرم افزار رسمی شرکت زیمنس برای برنامه نویسی PLC های S7 است. این نرم افزار دارای محیطی کاربرپسند و امکانات گسترده ای برای برنامه نویسی PLC ها ارائه می دهد. برای نصب نرم افزار Step7 می توان از وب سایت شرکت زیمنس استفاده کرد.

مراحل نصب نرم افزار Step7:

  • دانلود نرم افزار Step7: ابتدا باید نرم افزار Step7 را از وب سایت شرکت زیمنس دانلود کنید. نسخه های مختلفی از این نرم افزار برای سیستم عامل های مختلف موجود است.
  • اجرای فایل نصبی: پس از دانلود نرم افزار، فایل نصبی را اجرا کنید و مراحل نصب را دنبال کنید.
  • نصب مجوز: در هنگام نصب نرم افزار، باید مجوز استفاده از آن را نصب کنید. مجوز استفاده از نرم افزار Step7 به صورت آنلاین یا آفلاین قابل نصب است.
  • راه اندازی نرم افزار: پس از نصب نرم افزار، می توانید آن را راه اندازی کنید و شروع به برنامه نویسی PLC کنید.

محیط برنامه نویسی Step7: محیط برنامه نویسی Step7 از بخش های اصلی زیر تشکیل شده است:

  • نوار منو: برای دسترسی به امکانات مختلف نرم افزار استفاده می شود.
  • نوار ابزار: برای انجام عملیات متداول مانند ایجاد پروژه جدید، ذخیره برنامه، و اجرای برنامه استفاده می شود.
  • ناحیه ویرایش: برای نوشتن برنامه PLC استفاده می شود.
  • ناحیه ناوبری: برای مشاهده ساختار پروژه، لیست متغیرها، و لیست خطاها استفاده می شود.
  • ناحیه نظارت: برای مشاهده وضعیت PLC و متغیرها در هنگام اجرای برنامه استفاده می شود.

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

  • دستورات پایه: مانند دستورات شرطی، دستورات حلقه، و دستورات ورودی و خروجی.
  • دستورات ریاضی: مانند دستورات جمع، تفریق، ضرب، و تقسیم.
  • دستورات منطقی: مانند دستورات AND، OR، و NOT.
  • توابع: برای انجام عملیات پیچیده تر مانند تبدیل نوع داده، ایجاد رشته، و کار با توابع زمانی استفاده می شوند.

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

  • بلوک های OB (Organization Block): برای نوشتن برنامه اصلی PLC استفاده می شوند. یک پروژه Step7 حداقل باید یک بلوک OB داشته باشد.
  • بلوک های FC (Function Chart): برای نوشتن توابع و زیربرنامه ها استفاده می شوند. توابع و زیربرنامه ها می توانند از بلوک های دیگر استفاده کنند و مقادیر را به عنوان پارامتر دریافت کنند.
  • بلوک های FB (Function Block): برای نوشتن بلوک های پارامتر دار و قابل استفاده مجدد استفاده می شوند. بلوک های FB می توانند حافظه و متغیرهای خاص خود را داشته باشند.
  • بلوک های DB (Data Block): برای ذخیره داده ها و متغیرها استفاده می شوند. بلوک های DB می توانند توسط بلوک های دیگر استفاده شوند.

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

  • مشاهده گر متغیرها: برای مشاهده مقادیر متغیرها در هنگام اجرای برنامه استفاده می شود.
  • نقطه توقف: برای توقف اجرای برنامه در یک نقطه خاص استفاده می شود.
  • پنجره پیام ها: برای مشاهده پیام های خطا و هشدار استفاده می شود.
  • شبیه ساز PLC: برای تست برنامه بدون نیاز به PLC واقعی استفاده می شود.

نکات مهم در عیب یابی و رفع اشکال برنامه های Step7:

  • برنامه را به طور کامل درک کنید: قبل از شروع عیب یابی، باید برنامه را به طور کامل درک کنید و بدانید که هر بخش از برنامه چه کاری انجام می دهد.
  • از ابزارهای عیب یابی استفاده کنید: از ابزارهای عیب یابی موجود در Step7 برای شناسایی و رفع اشکال برنامه استفاده کنید.
  • برنامه را به طور گام به گام عیب یابی کنید: برنامه را به بخش های کوچکتر تقسیم کنید و هر بخش را به طور جداگانه عیب یابی کنید.
  • صبور باشید: عیب یابی و رفع اشکال برنامه ممکن است زمان بر باشد. صبور باشید و به تلاش خود ادامه دهید.

 

برنامه نویسی عملی PLC های S7: معرفی انواع مدل های PLC های S7

شرکت زیمنس طیف گسترده ای از PLC های S7 را برای کاربردهای مختلف ارائه می دهد. برخی از محبوب ترین مدل های PLC های S7 عبارتند از:

  • S7-200: مناسب برای کاربردهای کوچک و متوسط
  • S7-300: مناسب برای کاربردهای متوسط و بزرگ
  • S7-400: مناسب برای کاربردهای بزرگ و پیچیده
  • S7-1200: مناسب برای کاربردهای ساده و اقتصادی
  • LOGO!: مناسب برای کاربردهای بسیار ساده

آشنایی با حافظه و داده ها در PLC های S7

PLC های S7 از انواع مختلف حافظه برای ذخیره سازی داده ها استفاده می کنند. برخی از رایج ترین انواع حافظه عبارتند از:

  • حافظه برنامه: برای ذخیره سازی برنامه PLC استفاده می شود.
  • حافظه داده: برای ذخیره سازی متغیرها و داده ها استفاده می شود.
  • حافظه تصویر ورودی/خروجی: برای ذخیره سازی مقادیر ورودی ها و خروجی ها استفاده می شود.

انواع داده ها در PLC های S7:
داده های بولین: فقط دو مقدار را می توانند ذخیره کنند: درست و نادرست.
داده های عددی: برای ذخیره سازی اعداد استفاده می شوند.
داده های رشته ای: برای ذخیره سازی متن استفاده می شوند.

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

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

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

انواع تایمرها در PLC های S7:

تایمر تأخیر: برای ایجاد تاخیر زمانی استفاده می شود.
تایمر پالس: برای تولید پالس های زمانی استفاده می شود.

انواع شمارنده ها در PLC های S7:

شمارنده بالا رونده: برای شمارش تعداد وقوع یک رویداد به صورت بالا رونده استفاده می شود.
شمارنده پایین رونده: برای شمارش تعداد وقوع یک رویداد به صورت پایین رونده استفاده می شود.

حل پروژه های کاربردی با استفاده از PLC های S7: برای حل پروژه های کاربردی با استفاده از PLC های S7 می توان از مراحل زیر استفاده کرد:

  • مشکل را به طور کامل درک کنید: ابتدا باید مشکل را به طور کامل درک کنید و ورودی ها، خروجی ها و عملیات مورد نیاز را مشخص کنید.
  • الگوریتم حل مسئله را طراحی کنید: سپس باید الگوریتمی برای حل مسئله طراحی کنید. الگوریتم باید شامل مراحل حل مسئله به ترتیب باشد.
  • برنامه را با استفاده از زبان برنامه نویسی Step7 بنویسید: در مرحله بعد باید برنامه را با استفاده از زبان برنامه نویسی Step7 بنویسید. برنامه باید شامل دستورات لازم برای اجرای الگوریتم طراحی شده باشد.
  • برنامه را تست و اشکال زدایی کنید: در نهایت باید برنامه را تست و اشکال زدایی کنید تا مطمئن شوید که به درستی کار می کند.

 

برنامه نویسی بلوک های فانکشن: معرفی و کاربرد بلوک های فانکشن

بلوک های فانکشن (Function Blocks) در برنامه نویسی PLC ها برای انجام وظایف مجزا و قابل استفاده مجدد استفاده می شوند. استفاده از بلوک های فانکشن می تواند برنامه PLC را مدولارتر، خواناتر و قابل نگهداری آسان تر کند.

کاربردهای بلوک های فانکشن:

انجام وظایف مشابه در مکان های مختلف برنامه: به جای نوشتن کد تکراری برای انجام وظایف مشابه، می توان از یک بلوک فانکشن استفاده کرد و آن را در مکان های مختلف برنامه استفاده کرد.
ایجاد کتابخانه از بلوک های فانکشن قابل استفاده مجدد: می توان بلوک های فانکشن را برای انجام وظایف مشترک ایجاد کرد و از آنها در پروژه های مختلف استفاده کرد.
پنهان کردن پیچیدگی برنامه: می توان از بلوک های فانکشن برای پنهان کردن پیچیدگی برنامه و آسان تر کردن درک آن برای افراد دیگر استفاده کرد.

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

ایجاد یک پروژه جدید یا باز کردن یک پروژه موجود: ابتدا باید یک پروژه جدید ایجاد کنید یا یک پروژه موجود را باز کنید.
انتخاب گزینه ایجاد بلوک فانکشن: سپس باید گزینه ایجاد بلوک فانکشن را از منوی فایل یا نوار ابزار انتخاب کنید.
نام و توضیحات بلوک فانکشن را مشخص کنید: در پنجره ایجاد بلوک فانکشن، باید نام و توضیحات بلوک فانکشن را مشخص کنید.
پارامترها و متغیرهای محلی بلوک فانکشن را تعریف کنید: در قسمت پارامترها و متغیرهای محلی، باید پارامترها و متغیرهای محلی بلوک فانکشن را تعریف کنید.
کد بلوک فانکشن را بنویسید: در نهایت باید کد بلوک فانکشن را با استفاده از دستورات و توابع زبان Step7 بنویسید.

پارامترها و متغیرهای محلی در بلوک های فانکشن: بلوک های فانکشن می توانند پارامترهایی را دریافت کنند که به آنها اجازه می دهد تا با داده های ورودی خاصی کار کنند. بلوک های فانکشن همچنین می توانند متغیرهای محلی داشته باشند که فقط در داخل بلوک فانکشن قابل دسترسی هستند.

پارامترهای بلوک فانکشن:

پارامترهای ورودی: داده هایی هستند که به بلوک فانکشن منتقل می شوند.
پارامترهای خروجی: داده هایی هستند که بلوک فانکشن برمی گرداند.

متغیرهای محلی بلوک فانکشن:

فقط در داخل بلوک فانکشن قابل دسترسی هستند.
برای ذخیره سازی داده های موقت یا واسطه ای در داخل بلوک فانکشن استفاده می شوند.

بلوک های فانکشن تو در تو: بلوک های فانکشن می توانند در داخل یکدیگر استفاده شوند. این قابلیت به شما امکان می دهد تا بلوک های فانکشن پیچیده تری را با ترکیب بلوک های فانکشن ساده تر بسازید.

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

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

استفاده از بلوک های فانکشن در پروژه های واقعی: بلوک های فانکشن می توانند در طیف گسترده ای از پروژه های واقعی PLC استفاده شوند.

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

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