این آموزش بر پایهی آموزش مقدماتی برنامهنویسی PLC S7-300/400 با SIMATIC Manager زیمنس (Step 7) ساخته شده است. و پیش این آموزش توصیه می شود آموزش مقدماتی Simatic Manager مطالعه شود اگر تازه با SIMATIC Manager شروع کردهاید، پیشنهاد میشود آموزش مقدماتی را مرور کنید تا اطلاعات ضروری دربارهی راهاندازی پروژه، پیکربندی سختافزار و انواع بلوکها را کسب کنید. در SIMATIC Manager، برنامهنویسی بخش حیاتی کنترل فرایندهای صنعتی است. این کار شامل طراحی توالیهای منطقی است که رفتار اجزای سختافزاری را کنترل میکنند. ما یک برنامهی کوچک کنترل موتور با استفاده از زبان LADDER در یک بلوک تابع (FB1) ایجاد خواهیم کرد که در بلوک سازماندهی اصلی چرخهای (OB1) فراخوانی میشود. در این نوشتار به آموزش برنامه نویسی PLC S7-300/400 با SIMATIC Manager زیمنس (Step 7) پرداخته می شود.
در این آموزش، یاد خواهید گرفت چگونه یک پروژه ایجاد کنید، اجزای سختافزاری را پیکربندی کرده و یک برنامهی کنترل موتور را با استفاده از زبان LADDER در SIMATIC Manager بنویسید. ما با راهاندازی پروژه و پیکربندی یک ایستگاه S7 300 شروع خواهیم کرد. سپس وارد جزئیات برنامهنویسی LADDER در داخل یک بلوک تابع (FB1) میشویم، شامل ایجاد توالیهای منطقی و تخصیص متغیرها. همچنین خواهید آموخت چگونه بلوک تابع را در برنامهی چرخهای اصلی (OB1) فراخوانی کنید. برای بهبود وضوح برنامه، به استفاده از جدول نمادین (Symbol Table) نیز خواهیم پرداخت که به شما اجازه میدهد نامهای نمادین را به آدرسهای فیزیکی ورودی و خروجی اختصاص دهید.
برای دنبال کردن این آموزش، به یک نسخهی نصبشده از SIMATIC Manager (Step 7) نیاز دارید. در اینجا از نسخهی ۵٫۶ استفاده میکنیم. نیاز به سختافزار یا نرمافزار اضافی نیست.
همچنین داشتن دانش قبلی دربارهی زبان LADDER ترجیح داده میشود.
با ایجاد یک پروژه و پیکربندی یک ایستگاه S7 300 شروع کنیم، همانطور که در شکل زیر نشان داده شده است.
برنامه نویسی PLC زیمنس SIMATIC Manager STEP7 راه اندازی پروژه
ما از CPU مدل ۳۱۵-۲ PN/DP و یک ماژول ۱۶ ورودی دیجیتال / خروجی دیجیتال (۱۶\*DI/DO) در بخش پیکربندی سختافزار استفاده میکنیم.
برنامه نویسی PLC زیمنس SIMATIC Manager STEP7 پیکربندی سخت افزار
توجه: میتوانید اطلاعات بیشتر دربارهی ایجاد پروژه، پیکربندی سختافزار و انواع بلوکها را در آموزش مقدماتی SIMATIC Manager بخوانید.
در این آموزش، یک برنامهی کوچک کنترل موتور با استفاده از زبان LADDER طراحی خواهیم کرد. این برنامه در یک بلوک تابع (FB1) نوشته میشود که در بلوک سازماندهی چرخهای اصلی (OB1) فراخوانی خواهد شد.
بیایید یک بلوک تابع جدید (FB1) ایجاد کنیم. برای انجام این کار، در فضای کاری (workspace) کلیک راست کرده، به گزینهی “Insert new Object” بروید و “Function Block” را انتخاب کنید.
برنامه نویسی PLC زیمنس SIMATIC Manager STEP7 اضافه کردن یک بلوک تابع(Function Block)
در پنجرهی خصوصیات (Properties) مربوط به FB، از فهرست زبانها گزینهی “LAD” را انتخاب کرده و روی “OK” کلیک کنید.
برنامه نویسی PLC زیمنس SIMATIC Manager STEP7 – ویژگی های بلوک تابع
پس از انجام مراحل، بلوک تابع (FB1) ایجاد میشود. اکنون میتوانیم به برنامهنویسی آن بپردازیم.
اکنون برنامهی کنترل موتور را در داخل FB1 برنامهنویسی خواهیم کرد. ابتدا، FB1 را باز کنید. یک پنجرهی جدید باز خواهد شد که رابط برنامهنویسی را در خود دارد.
برنامه نویسی PLC زیمنس SIMATIC Manager STEP7 – تجزیه و تحلیل رابط برنامه نویسی
رابط برنامهنویسی به شکل زیر تقسیم شده است:
در این بخش میتوانید ورودیها، خروجیها و متغیرهای موقت بلوک را تعریف کنید. ورودیها و خروجیها بهعنوان آرگومانهایی استفاده میشوند که در هنگام فراخوانی بلوک به کار میروند.
در این بخش میتوانید دستورات را برای ساخت برنامه کنار هم قرار دهید. برای خوانایی بهتر میتوانید برنامه را به شبکههای مختلف تقسیم کنید.
در این بخش فهرستی از تمام دستورات، توابع، بلوکهای تابع و کتابخانههایی را مییابید که میتوانند در برنامه استفاده شوند.
اکنون بیایید ساخت برنامه را آغاز کنیم. ابتدا پوشهی “Bit logic” را در فهرست دستورات باز کرده و یک کنتاکت باز (NO contact) را به اولین شبکهی خود بکشید و رها کنید.
برنامهنویسی PLC زیمنس SIMATIC Manager STEP7 – اضافه کردن یک کنتاکت نرمالی اپن
پس از انجام این کار، یک دستور کنتاکت باز (NO contact) در شبکه ظاهر خواهد شد. این دستور برای بررسی وضعیت یک متغیر بولی استفاده میشود. علامتهای سؤال قرمز رنگ “??.?” نشان میدهند که هنوز هیچ متغیری به این دستور اختصاص داده نشده است.
برنامهنویسی PLC زیمنس SIMATIC Manager STEP7 – کنتاکت نرمالی اپن اضافه شد
پس از آن، باید یک شاخهی موازی (شاخه OR) ایجاد کنیم. برای انجام این کار، فضای قبل از کنتاکت باز (NO contact) را انتخاب کرده و روی دکمهی “Insert branch” کلیک کنید.
برنامهنویسی PLC زیمنس SIMATIC Manager STEP7 – افزودن شاخه(branch) جدید
پس از انجام این کار، یک شاخهی جدید در زیر شاخهی اول ایجاد خواهد شد.
برنامهنویسی PLC زیمنس SIMATIC Manager STEP7 – شاخه(branch) جدید اضافه شد
اکنون، یک کنتاکت باز (NO contact) دیگر را در شاخهی تازه ایجادشده اضافه کنید.
برنامهنویسی PLC زیمنس SIMATIC Manager STEP7 – اضافه کردن یک کنتاکت نرمالی اپن دوم
سپس باید شاخه را ببندیم. برای این کار، انتهای شاخه را انتخاب کرده و روی دکمهی “Close branch” کلیک کنید.
برنامه نویسی PLC زیمنس SIMATIC Manager STEP7 – بستن شاخه(branch)
پس از انجام این کار، شاخهی دوم بسته شده و به شاخهی اول متصل خواهد شد.
برنامهنویسی PLC زیمنس SIMATIC Manager STEP7 – شاخه(branch) بسته شد
ما یک عملیات منطقی OR بین دو کنتاکت باز (NO) اول ایجاد کردهایم؛ اکنون میتوانیم به بخش بعدی برنامه برویم.
در این مرحله، باید یک کنتاکت بسته (NC contact) در شاخهی اصلی اضافه کنیم. برای این کار، واحد مرکزی (central unit) را انتخاب کرده و یک کنتاکت بسته را به آن بکشید و رها کنید.
برنامهنویسی PLC زیمنس SIMATIC Manager STEP7 – اضافه کردن یک کنتاکت normal close
کنتاکت بسته (NC contact) در واقع نسخه معکوس کنتاکت باز (NO contact) است. این نوع کنتاکت نیز برای بررسی وضعیت یک متغیر بولی استفاده میشود، اما در حالت ۰ فعال میشود، نه در حالت ۱.
سپس، برای آخرین دستور، باید یک دستور انتساب (Assignment) یا Coil اضافه کنیم. برای این کار، یک دستور Assignment را به انتهای شاخهی اصلی بکشید و رها کنید.
برنامهنویسی PLC زیمنس SIMATIC Manager STEP7 – افزودن دستورالعمل خروجی(Coil)
دستورات انتساب (Assignment) یا Coil نتیجه منطقی تمام دستورات قبلی در شبکه را به یک متغیر دیگر منتقل میکنند. این دستور با نماد دو پرانتز باز و بسته ()
نمایش داده میشود.
برنامهنویسی PLC زیمنس SIMATIC Manager STEP7 – d یک coil اضافه شد
اکنون که برنامه را ساختهایم، باید چند متغیر برای استفاده در آن تعریف کنیم. برای این منظور، از رابط بلوک استفاده خواهیم کرد. ما ورودیها و خروجیهایی را پیکربندی میکنیم تا این بلوک قابل استفادهی مجدد باشد و در ادامه بتوان آن را با استفاده از همین ورودیها و خروجیها فراخوانی کرد.
ابتدا بخش ورودیها (IN) را باز کنید. در این بخش میتوانید متغیرهای ورودی بلوک را تعریف نمایید.
برنامه نویسی PLC زیمنس SIMATIC Manager STEP7-ورودی های رابط(interface input)
در بخش Name، عبارت “Start” را تایپ کرده و کلید Enter را فشار دهید تا متغیری تعریف شود که وظیفه فعالسازی موتور را بر عهده دارد.
برنامه نویسی PLC زیمنس SIMATIC Manager STEP7 – ایجاد ورودی جدید
به طور پیشفرض، این متغیر به صورت بولی (Boolean) ایجاد میشود که همان چیزی است که ما نیاز داریم، بنابراین آن را به همین شکل نگه دارید.
سپس، به همین روش یک ورودی دیگر با نام “Stop” ایجاد کنید که برای خاموش کردن موتور استفاده خواهد شد.
برنامهنویسی PLC زیمنس SIMATIC Manager STEP7 – ایجاد ورودی دوم
اکنون به بخش خروجی (Output) بروید، جایی که متغیر خروجی را برای فرمان دادن به موتور ایجاد خواهیم کرد.
برنامه نویسی PLC زیمنس SIMATIC Manager STEP7 – خروجی های رابط
در بخش Name، عبارت “Motor” را تایپ کرده و کلید Enter را فشار دهید. این کار یک خروجی بولی ایجاد خواهد کرد.
برنامهنویسی PLC زیمنس SIMATIC Manager STEP7 – ایجاد خروجی
تمام متغیرهای مورد نیاز را تعریف کردیم. حال باید آنها را به برنامه اضافه کنیم. برای این کار، روی بخش متغیر (Variable) در اولین دستور کلیک کنید. در اینجا میتوانید نام متغیر مورد نظر را بهصورت مستقیم تایپ کنید یا از لیستی که شامل تمام متغیرهای موجود است، آن را انتخاب نمایید. متغیر “Start” را انتخاب کنید.
برنامهنویسی PLC زیمنس SIMATIC Manager STEP7 – اضافه کردن یک متغیر به برنامه
پس از انجام این کار، نام متغیر بالای دستور مربوطه نمایش داده خواهد شد.
برنامهنویسی PLC زیمنس SIMATIC Manager STEP7 – متغیر اضافه شد
این عملیات را برای افزودن متغیرها به تمام دستورات تکرار کنید، همانطور که در شکل زیر نشان داده شده است.
برنامهنویسی PLC زیمنس SIMATIC Manager STEP7 – اضافه کردن متغیرهای باقیمانده
برنامهنویسی FB1 را به پایان رساندیم. اکنون باید FB1 را در برنامه چرخهای اصلی (OB1) فراخوانی کنیم. به رابط اصلی SIMATIC Manager بازگردید و OB1 را باز کنید.
برنامهنویسی PLC زیمنس SIMATIC Manager STEP7 – باز کردن OB1
در پنجرهی خصوصیات (Properties) OB1، زبان LADDER را انتخاب کرده و روی دکمهی “OK” کلیک کنید.
برنامهنویسی PLC زیمنس SIMATIC Manager STEP7 – ویژگیهای OB1
به پنجرهای مشابه پنجرهی FB1 میرسیم که قبلاً همین رابط کاربری را داشتیم. ما FB1 را در اولین شبکهی OB1 فراخوانی خواهیم کرد.
برنامه نویسی PLC زیمنس SIMATIC Manager STEP7 – رابط برنامه نویسی OB1
پوشهی «FB blocks» را در فهرست دستورات باز کنید. در اینجا تمام بلوکهای تابع (FB) ایجادشده در پروژهی شما نمایش داده میشوند. بلوک FB1 را انتخاب کرده و به شبکهی اول بکشید و رها کنید.
برنامهنویسی PLC زیمنس SIMATIC Manager STEP7 – فراخوانی تابع بلوک ۱ (FB1)
پس از انجام این کار، فراخوانی بلوک تابع در شبکه ظاهر خواهد شد. اولین نکتهای که باید به آن توجه کنید، آرگومانهای بلوک است که همان ورودیها و خروجیهای رابطی هستند که قبلاً تعریف کردیم. همچنین، بلوک فاقد DB نمونه (Instance DB) است که با سه علامت سؤال قرمز رنگ بالای آن نشان داده میشود. تمام بلوکهای تابع (FB) هنگام فراخوانی باید به یک DB نمونه مرتبط شوند.
برنامهنویسی PLC زیمنس SIMATIC Manager STEP7 – فراخوانی تابع بلوک ۱ (FB1) به منطق نردبانی اضافه شد
بیایید DB نمونه (Instance DB) را ایجاد کنیم. برای این کار، به رابط اصلی SIMATIC Manager بازگردید و در هر نقطه از فضای کاری کلیک راست کنید. سپس به گزینهی “Insert New Object” بروید و “Data Block” را انتخاب کنید.
برنامهنویسی PLC زیمنس SIMATIC Manager STEP7 -افزودن بلوک داده (DB)
سپس، در ویژگی های DB، نوع پیشفرض آن روی «Shared DB» تنظیم شده است که به معنی یک DB سراسری (Global) است. ما باید نوع آن را تغییر دهیم تا به یک DB نمونه (Instance DB) تبدیل شود.
برنامهنویسی PLC زیمنس SIMATIC Manager STEP7 – ویژگیهای بلوک داده (DB)
فهرست نوعها را باز کرده و گزینهی “Instance DB” را انتخاب کنید.
برنامهنویسی PLC زیمنس SIMATIC Manager STEP7 – تغییر نوع بلوک داده (DB)
پس از انجام این کار، فیلد بعدی فعال میشود که در آن میتوانید بلوک تابع (FB) مربوطه را مشخص کنید. از آنجا که FB1 تنها بلوک تابع موجود در پروژه است، بهصورت پیشفرض انتخاب شده است. در نهایت، روی دکمهی “OK” کلیک کنید.
برنامهنویسی PLC زیمنس SIMATIC Manager STEP7 – انتخاب بلوک تابع مرتبط (FB)
حالا به OB1 بازگردید. باید DB1 را به فراخوانی FB1 اضافه کنیم. برای این کار میتوانید همان روشی را که برای اضافه کردن متغیرها به دستورات FB1 استفاده کردیم، به کار ببرید. از فهرست پیشنهادها، گزینهی “DB1” را انتخاب کنید.
برنامهنویسی PLC زیمنس SIMATIC Manager STEP7 – اضافه کردن بلوک داده به بلوک فراخوانی
پس از انجام این کار، DB1 به فراخوانی FB1 اضافه خواهد شد.
برنامهنویسی PLC زیمنس SIMATIC Manager STEP7 – بلوک داده اضافه شد
آخرین مرحله این آموزش، افزودن ورودیها و خروجیهای فیزیکی به فراخوانی بلوک تابع است. میتوان آدرس ورودی/خروجی مورد نظر را بهطور مستقیم وارد کرد، اما برای افزایش خوانایی برنامه، نیاز به کار بیشتری داریم. به همین دلیل، از جدول نمادها استفاده خواهیم کرد که به ما اجازه میدهد نامهای نمادین را به آدرسهای حافظه مرتبط کنیم.
برای این کار، در رابط برنامهنویسی OB1، منوی “Options” را باز کرده و روی “Symbol Table” کلیک کنید.
برنامهنویسی PLC زیمنس SIMATIC Manager STEP7- باز کردن جدول نمادها
جدول نمادها در یک پنجرهی جدید باز خواهد شد. در اینجا میتوانید نامهای نمادین را برای آدرسهای ورودی، خروجی و حافظهای که در برنامه استفاده میکنید تعریف کنید که باعث افزایش خوانایی برنامه میشود.
برنامه نویسی PLC زیمنس SIMATIC Manager STEP7- رابط جدول نماد
در برنامه کنترل موتور ما، به دو ورودی فیزیکی نیاز داریم (یکی برای دکمه شروع و دیگری برای دکمه توقف) و یک خروجی فیزیکی (که فرمان موتور را صادر میکند). ابتدا با تعریف نماد دکمه شروع شروع میکنیم. برای این کار، به سادگی عبارت “Start_button” را در بخش Symbol تایپ کرده و کلید Enter را فشار دهید.
برنامه نویسی PLC زیمنس SIMATIC Manager STEP7 – ایجاد یک نماد جدید
پس از آن، باید آدرس ورودی فیزیکی را مشخص کنیم. ما از اولین ورودی موجود در ماژول استفاده خواهیم کرد، بنابراین آدرس آن “I 0.0” است.
این عملیات را برای افزودن نماد “Stop_button” با آدرس I 0.1 نیز تکرار کنید.
برنامهنویسی PLC زیمنس SIMATIC Manager STEP7 – اضافه کردن نماد دوم
سپس، برای خروجی موتور، دوباره همین عملیات را تکرار کنید اما این بار از آدرس Q 0.0 استفاده کنید تا نشان دهید که این یک خروجی فیزیکی است.
برنامهنویسی PLC زیمنس SIMATIC Manager STEP7 – اضافه کردن نماد سوم
تعریف نمادها به پایان رسید؛ اکنون میتوانیم آنها را به فراخوانی بلوک اضافه کنیم. همانند زمانی که متغیرها را به برنامهی FB1 اضافه کردیم، نماد “Start_button” را به ورودی “Start” در فراخوانی بلوک اضافه کنید.
برنامهنویسی PLC زیمنس SIMATIC Manager STEP7 – افزودن نماد به start input
این کار، نماد همراه با آدرس آن را به فیلد ورودی “Start” اضافه خواهد کرد.
برنامهنویسی PLC زیمنس SIMATIC Manager STEP7 – نماد اضافه شد
سپس این عملیات را برای افزودن نمادهای مربوط به سایر ورودیها و خروجیها (I/Os) نیز تکرار کنید، همانطور که در شکل زیر نشان داده شده است.
برنامهنویسی PLC زیمنس SIMATIC Manager STEP7- اضافه کردن نمادهای باقیمانده
در این آموزش، نحوه کار با نرمافزار SIMATIC Manager شرکت زیمنس برای راهاندازی پروژه و برنامهنویسی یک برنامه کنترل موتور با استفاده از زبان LADDER را آموختید. ابتدا پروژهای ایجاد کردیم، ایستگاه S7-300 را پیکربندی کردیم و یک بلوک تابع (FB1) طراحی کردیم تا منطق کنترل موتور را اجرا کند. سپس برنامهای در داخل FB1 ساختیم، اتصالات منطقی را برقرار کردیم و متغیرهایی را برای کنترل بهتر تعریف کردیم. همچنین نحوه ادغام این بلوک تابع در برنامه چرخهای اصلی (OB1) و افزایش خوانایی برنامه با استفاده از جدول نمادها (Symbol Table) را بررسی کردیم.
گام مهم بعدی در مسیر برنامهنویسی PLC شما، تست عملکرد برنامه با استفاده از شبیهسازی است. شبیهسازی به شما امکان میدهد منطق و عملکرد برنامه خود را بدون تأثیرگذاری بر فرآیندها و تجهیزات واقعی، بررسی و تأیید کنید. این موضوع در آموزش SIMATIC Manager PLCSim مورد بررسی قرار خواهد گرفت.