شبکه پروفی نت در TIA PORTAL
PLC (Programmable Logic Controllers) چیست؟
PLC ها نوعی کنترل کننده منطقی قابل برنامه ریزی هستند که در کارهای تجاری و صنعتی بکار برده می شوند. یک PLC ورودی ها را می خواند و مطابق برنامه داده شده به آن بر روی آنها عمل پردازش را انجام داده ، سپس نتایج حاصل از پردازش را در خروجی ارسال میکند تا بتواند یک پروسه یا یک ماشین را بطور اتوماتیک کنترل نماید.
مزیت PLC ها :
- فضای مورد استفاده در آن بسیار کم می باشد و نیاز به سیم کشی زیادی ندارند .
- انرژی کمی مصرف می کند و نویز تولید نمی کند و باعث کاهش هزینه های تعمیر و نگهداری می شود .
- تغییر منطق عملکرد سیستم بسیار ساده و سریع است و به شکل نرم افزاری انجام می شود.
- برای تکثیر یک سیستم کنترل و ساخت مشابه آن فقط کافیست برنامه درون PLC موجود باشد.
- درون خود یک واحد عیب یابی دارد که می تواند علت خرابی را گزارش دهد بدین ترتیب رفع عیب بسیار ساده می شود.
اکنون به صورت عملی توسط شبکه ی پروفی نت ارتباط بین دو PLC S7-1200 را در TIA PORTAL برقرار می کنیم:
ابتدا وارد برنامه ی TIA PORTAL می شویم.
سپس برای اضافه کردن یک PLC از پانل سمت چپ گزینه ی Add New Device را انتخاب کنید و در پنجره ی باز شده طبق روال زیر پیش بروید.
Controllers > somatic s7-1200 > CPU > CPU 1212C DC/DC/DC > 6ES7 212-1AE40-0XB0
پس از انجام مراحل بالا شکل زیر را مشاهده خواهید نمود.
سپس همان مراحل بالا را برای افزودن PLC دوم انجام می دهیم. و مانند شکل زیر PLC دوم را نیز به صفحه اضافه می کنیم.
اکنون باید ارتباط میان دو PLC ایجاد شده را برقرار نماییم. برای این کار از پانل سمت چپ گزینه ی Devices & Networks را انتخاب نموده و بر روی connections کلیک کرده و گزینه ی S7 connection را انتخاب کنید. سپس از طریق خطوط ارتباطی دو PLC را به هم وصل کنید.
اکنون در PLC1 به قسمت program Blocks > main [OB1] بروید. مطابق شکل زیر مشاهده می کنید که شبکه ی پروفی نت برای ارتباط دو PLC در نرم افزار TIA دو بلوک ارائه داده است. بلوک های TSEND_C و TRCV_C که برای ارسال و دریافت داده مورد استفاده قرار می گیرند.
برای پیدا کردن این دو بلوک به پانل سمت راست، قسمت Communication، پوشه ی Open user communication بروید. در این PLC ما از بلوک TSEND_C برای ارسال اطلاعات استفاده می کنیم،پس بر روی آن کلیک کنید و در پنجره ی باز شده همانند شکل یک Data block به آن اختصاص دهید و OK را بزنید.
پس از انجام مرحله ی بالا شما PLC زیر را بر روی برنامه ی خود خواهید دهید.
اکنون باید وظیفه ی هر یک از پایه ها را بدانیم و برای آنها تنظیمات مورد نیاز را انجام دهیم.
پایه ی REQ: پایه ایست که باید به ورودی آن پالس بدهیم. زیرا این بلوک هر بار که یک لبه ی بالا رونده دریافت می کند، یک دیتا را انتقال می دهد. برای دادن پالس به این پایه از پانل سمت چپ، قسمت Program blocks گزینه ی Add new blocks را انتخاب کنید. سپس از قسمت Organization block بر روی Cyclic interrupt کلیک کنید. خود برنامه به صورت پیش فرض زمان را 100 میلی ثانیه تعیین کرده است که بهتر است آن را تغییر ندهید و OK را بزنید.
سپس در داخل بلوکی که در شکل زیر میبینید یک bit memory ایجاد میکنیم که هر 100 میلی ثانیه این بلوک را قطع و وصل کند.
مانند شکل زیر یک bit memory M0.0 ایجاد کنید.
سپس با استفاده از آیکن مشخص شده کنتاکت bit memory M0.0 را ایجاد کنید.
به قسمت main [OB1] برگردید و Bit memory M0.0 را در داخل REQ نیز بنویسید. سپس به سراغ پایه ی CONT میرویم، برای ااینکه ارتباطمان پیوسته باشد باید به ورودی CONT عدد 1 را اختصاص دهیم و اگر عدد صفر را به آن بدهیم ارتباط ما قطع خواهد شد.
اکنون به پابه ی LEN میرسیم، این پایه مشخص می کند که داده ارسالی ما چند بایت است. که ما در اینجا عدد 2 را به آن میدهیم.
در پایه ی CONNECT باید یک Data Block جهت پیکربندی تنظیمات ارسال اختصاص دهیم. برای این کار بر روی بلوک کلیک راست کرده و properties را انتخاب کنید.
سپس همانند شکل زیر وارد زبانه ی configuration و قسمت connection parameter شوید.
اینک از لیست بازشوی قسمت partner گزینه ی PLC2 را انتخاب کنید که اطلاعات به آن ارسال شود. در قسمت connection data باید یک data block جهت انتقال اختصاص دهیم که ما همانند شکل PLC1 را انتخاب میکنیم و در قسمت دریافت اطلاعات نیز PLC 2را انتخاب میکنیم.
اکنون به سراغ پایه ی Data می رویم. در این پایه باید یک memory word جهت انتقال اطلاعات خودمان به آن اختصاص دهیم. که ما به آن MW100 را اختصاص می دهیم.
ورودی پایه ی COM_RST بلوک را Restart می کند. و ما برای مثال به آن تگ M0.1 را می دهیم.
اکنون به سراغ پایه های خروجی می رویم. پایه ی DONE مشخص می کند که اطلاعات به درستی ارسال شده است یا خیر. و از نوع BOOLEAN می باشد. و به آن تگ M0.2 را می دهیم.
در پایه ی Busy هر بار که اطلاعات ارسال شود اگر بلوک مشغول باشد خروجی آن یک می شود. در غیر اینصورت صفر می شود. و به آن تگ M0.3 را می دهیم.
در پایه Error اگر هنگام ارسال اطلاعات خطایی رخ دهد خروجی آن یک خواهد شد. و به آن bit memory یا تگ M0.4 را اختصاص می دهیم.
هنگامی که در ارسال اطلاعات خطایی رخ دهد کد آن خطا در قسمت Status نشان داده می شود. و به آن یک memory word [mw10] اختصاص می دهیم.
برای آنکه نوع خطاهای رخ داده را شناسایی کنید با کلیک بر روی بلوک و زدن دکمه ی F1 به قسمت help بلوک بروید.
اکنون می خواهیم یا استفاده از دیجیتال ورودی PLC1 دیجیتال خروجی PLC2 را فعال کنیم.
همانند شکل زیر از پانل سمت راست از قسمت General > Bit logic operations یک کنتاکت باز ایجاد می کنیم و ورودی دیجیتال را به آن اختصاص می دهیم. مثلا i0.0
سپس با کلیک بر روی آیکن مشخص شده در شکل زیر یک بیت از mw100 را فعال می کنیم.
مراحلی که تا اینجا طی کردیم مربوط به PLC1 بود. اکنون به سراغ PLC2 و به تنطیمات پایه های آن می پردازیم.
اینک به قسمت main[OB1]، PLC2 بروید. در اینجا همانند شکل زیر از پانل سمت راست و بخش Open user… اینبار گزینه ی TRCV_C را برای دریافت اطلاعات انتخاب کنید و به آن یک data block اختصاص دهید و روی OK کلیک کنید تا PLC2 نیز ایجاد شود.
اکنون به سراغ پایه های این بلوک می رویم. در پایه ی EN_R با وارد کردن عدد یک تابع فعال می شود.
در پایه ی CONT نیز مانند بلوک قبلی برای اینکه ارتباط پیوسته باشد باید به آن عدد یک اختصاص داده شود.
پایه ی LEN نیز مقدار بایت دریافتی را تعیین می کندو و بخاطر اینکه ما در بلوک ارسال دو بایت ارسال می کنیم پس به این پایه هم عدد 2 اختصاص داده می شود.
در پایه ی connect نیز مانند بلوک قبلی باید پیکربندی تنظیمات دریافت اطلاعات و اختصاص data block را انجام دهیم.و با کلیک راست بر روی بلوک و کلیک بر روی properties مطابق شکل زیر اینبار در قسمت partner، PLC1 را انتخاب می کنیم.
و در قسمت connection data برای دریافت اطلاعات data block، PLC2 و در کادر روبه روی آن به طور خودکار برای ارسال اطلاعات data block، PLC1 انتخاب می شود.
در پایه ی Data باید یک memory word اختصاص دهیم که بتوانیم اطلاعات را از طریق آن بخوانیم. و ما به آن mw50 را اختصاص می دهیم.
پایه ی COM_RST نیز بلوک را Restart می کند و به آن bit memory [m0.0] را اختصاص می دهیم.
اکنون میرسیم به پایه های خروجی بلوک. پایه ی DONE برای تشخیص دریافت صحیح اطلاعات به کار می رود و به آن تگ M0.1 را می دهیم.
پایه ی Busy نیز مانند بلوک قبلی مشغول بودن بلوک را گزارش می دهد. و به آن تگ m0.2 را اختصاص می دهیم.
پایه ی Error نیز خطای هنگام دریافت اطلاعات را نشان می دهد و به آن تگ m0.3 را اختصاص می دهیم.
پایه ی Status کد خطای رخ داده را نشان می دهد و به آن یک memory word [mw20] اختصاص می دهیم.
در پایه ی RCVD_LEN تعداد بایت های درفتی نشان داده می شود و به آن یک memory word[mw22] اختصاص می دهیم.
اکنون باید خروجی دیجیتال را نیز برای ارتباط فعال کنیم و برای این کار از طریق آیکن مشخص شده یک کنتاکت باز ایجاد کنیم و تگ m50.0 را در آن بنویسیم.
و همانند شکل زیر یک تگ برای خروجی دیجیتال نیز ایجاد می کنیم. مثلا q0.0
و به این معنی است که هر موقع m50.0 فعال شد، خروجی دیجیتال نیز فعال شود.
اکنون برنامه را simulation میکنیم که ببینیم به چه صورت است. برای این کار اول به قسمت main[OB1]، PLC1 بروید. بر روی آیکن مشخص شده در شکل زیر کلیک کنید. سپس از قسمت connection to interface… گزینه ی Direct at slot ‘1 x1’ را انتخاب و بر روی Start Search کلیک کنید و load را بزنید.
در پنجره ی باز شده تیک گزینه ی start all را بزنید و بر روی load کلیک کنید، سپس finish را بزنید.
و حالا بلوک را با استفاده از آیکن مشخص شده در شکل زیر مانیتور کنید.
اکنون برای برقراری ارتباط بین دو PLC باید PLC2 را نیز مانند PLC1، simulation کنیم.
اکنون ارتباط برقرار است اما داده ی رد و بدل نمی شود. برای این کار از پانل سمت چپ، قسمت watch and force table گزینه ی force table را انتخاب کنید. و در قسمت آدرس ، آدرس ورودی خودمان را می دهیم. (i0.0)
سپس در قسمت Force value مقدار یک را وارد می کنیم که ارتباط فعال شود. و ابتدا بر روی آیکن manitor و سپس بر روی آیکن force all که در شکل مشخص شده اند کلیک کنید.
و روند اجرای کلی و ارسال و دریافت اطلاعات به صورت زیر خواهد بود.
ارسال یک دیدگاه