مثال های عملی لوگو
مثال های عملی لوگو
در بخش نهایی از آموزش های مربوط به مینی پی ال سی لوگو به ذکر چند مثال کاربردی می پردازیم.
پروژه 1
اهداف این پروژه عبارت اند از:
- با استفاده از وب سرور فرمان روشن و خاموش شدن خروجی های Q1 و NQ1 را صادر کنیم.
- خروجی NQ1 با 3 ثانیه تاخیر روشن شود.
- با استفاده از ورودی I1 خروجی Q2 را کنترل کنیم.
از آن جا که قرار است خروجی های NQ1 و Q1 با استفاده از وب سرور کنترل شوند، باید از ورودی های شبکه برای کنترل آنها استفاده کنیم. همچنین به دلیل مشاهده وضعیت I/O ها در وب سرور باید از یک بلوک Message text استفاده کرده و گزینه Web server را در آن فعال کنیم. نکتهی دیگر این مثال، فعال کردن اجازه دسترسی به وب سرور در قسمت Tools > Transfer > Access Control می باشد. اتصال ورودی I1 به Q1 نیز سادهترین قسمت این مسئله است.
تصویر زیر برنامه نوشته شده برای پروژه را نشان می دهد. همانطور که در مقاله وب سرور در لوگو شرح داده شد، هنگام کار با وب سرور، به منظور کنترل ورودی های شبکه باید از VBهای متفاوت استفاده کنیم. به عبارت دیگر تنظیم VBهای یکسان و استفاده از بیت های متفاوت در وب سرور قابل استفاده نمیباشد. به همین دلیل در این مثال برای نمایش ورودی و خروجی های شبکه از VM هایی با آدرس VB متفاوت مانند 0، 2 و 4 استفاده کرده ایم. همچنین با قرار دادن تایمر On-Delay در روشن شدن خروجی NQ1 3 ثانیه تاخیر ایجاد کرده ایم.
در تصویر زیر تنظیمات پنجره مشخصات بلوک NI2 را مشاهده میکنید.
تنظیمات بلوک Message text به صورتی انجام شده است که نمایشگر لوگو موارد زیر را نشان دهد:
- ساعت
- وضعیت Q1
- زمان گذشته در محاسبه تاخیر در تایمر On-Delay
همانطور که در تصویر زیر مشاهده میکنید تیک مربوط به فعال سازی نمایش Message text در وب سرور نیز زده شده است.
به منظور فعال سازی دسترسی و رمز گذاری برای وب سرور از مسیر Tools > Transfer > Access Control استفاده می شود. مطابق تصویر زیر با انتخاب گزینه ی Allow Web server access فرآیند فعال سازی انجام می شود.
در مرحله ی بعد IP Address ماژول اصلی لوگو را در مرورگر اینترنت در شبکه محلی وارد می کنیم. به این ترتیب پنجره ی زیر باز می شود.
در ادامه رمز قرار داده در Access Control را در قسمت Password در تصویر بالا وارد میکنیم. سپس گزینه Log On را انتخاب کرده و وارد وب سرور میشویم.
به منظور روشن/خاموش کردن و کنترل IO ها از طریق وب سرور باید ورودی های شبکه مورد نظر را در قسمت LOGO Variable وارد کنیم. در تصویر زیر Variable هایی که امکان وارد کردن آنها وجود دارد نمایش داده شده اند.
در صورتی که تنها قصد مشاهده وضعیت ورودی های شبکه را داشته باشیم از NetI استفاده میکنیم. اما ا در این پروژه علاوه بر مشاهده، قصد تغییر وضعیت روشن و خاموش بودن این ورودی های را نیز داریم. به این منظور باید از VMهایی با آدرس VB ورودی های شبکه استفاده کنیم. در این مثال:
- جهت کنترل وضعیت NI1 با آدرس V0.0 در برنامه لوگو از VM با Address 0 استفاده شده است.
- جهت کنترل و تغییر وضعیت NI2 با آدرس V2.0 در لوگو از یک حافظه VM با آدرس 2 استفاده میکنیم.
- جهت مانیتور خروجی های Q1 و Q2 از Q با آدرس Q1 و Q2 استفاده کرده ایم.
مطالب شرح دادهشده در این مقاله را میتوانید بهصورت ویدئو در دوره تصویری لوگو زیمنس مشاهده کنید. در این دورهی آموزشی با انواع پی ال سی، زبانهای برنامهنویسی و مینی پی ال سی لوگو زیمنس آشنا میشویم. آموزش لوگو از ابتدا صورت گرفته و شامل بررسی ماژول اصلی، کارتهای توسعه، نصب، سیم بندی، برنامهنویسی و کنترل توسط اپلیکیشن و وب سرور میشود. در بخش برنامهنویسی تمام بلوکهای دیجیتال، شبکه، آنالوگ و غیره بررسیشده و نحوهی کار آنها روی لوگو نمایش دادهشده است. مانیتورینگ و کنترل لوگو از طریق اپلیکیشن، وب سرور و صفحههای طراحیشده توسط LWE صورت میگیرد. این موارد نیز در دورهی تصویری شرح دادهشدهاند. لطفاً جهت مشاهدهی سرفصلها و لیست ویدئوهای این دوره روی عبارت لوگو زیمنس کلیک کنید.
با توجه به دو نکته ی زیر، جهت تغییر وضعیت ورودی I1 در لوگو تنها باید از سخت افزار لوگو کمک گرفت:
- تغییر مقادیر ورودی های غیر شبکه از طریق وب سرور ممکن نیست.
- در این پروژه جهت مانیتور وضعیت I1 از ورودی دیجیتال با آدرس I1 یعنی ورودی شماره “1” استفاده شده است.
در ادامه جهت مانیتور وضعیت NQ1 نیز از یک NEtQ با آدرس NetQ1 استفاده میکنیم.
در پنجره ی بالا با نوشتن عدد 1 در قسمت ModValue برای NI1 و سپس انتخاب گزینه Modify All Value، خروجی Q1 در ماژول اصلی لوگو روشن خواهد شد. همچنین در وب سرور نیز قسمت Modvalue برای Q1 برابر با 1 خواهد شد. تصویر زیر حالتی که مقدار دهی انجام شده و گزینه ی Modify انتخاب نشده است را نشان می دهد.
پس از انتخاب گزینه Modify تصویر زیر را مشاهده میکنید. روشن شدن خروجی ها از طریق سبز شدن مربع موجود در قسمت Value قابل تشخیص است.
همچنین با تغییر مقدار VM با آدرس 2 یعنی با تغییر وضعیت NI2 خروجی NQ1 با تاخیر 3 ثانیه ایی روشن خواهد شد.
مطابق تصویر زیر، در قسمت LOGO BM می توان آنچه در Message text پیکربندی شده را مشاهده کرد.
در مقاله ی وب سرور لوگو به بررسی قابلیت ها و نحوه ی استفاده از آن پرداخته ایم.
پروژه 2
فرض کنید در مثال قبل بخواهیم دسترسی به LOGO APP را نیز فعال کنیم. به این منظور باید در نرم افزار لوگو قسمت Access Control گزینه مربوط به دسترسی به LOGO App را فعال کنیم. در ادامه رمز مورد نظر خود را در قسمت Enter new password وارد میکنیم. به صورت پیش فرض رمز عبورهای موجود در پنجره ی Access Control عبارت LOGO با حروف بزرگ است. در آخر به منظور ذخیره ی تنظیمات انجام شده گزینه ی Apply را انتخاب می کنیم.
در ادامه وارد اپلیکیشن لوگو شده و مراحل زیر را انجام می دهیم:
- در پنجره Device Overview گزینه Add New Device را انتخاب میکنیم.
- در پنجره Create Connection قسمت Type لوگوی ورژن 0BA8 را انتخاب میکنیم. در قسمت Name نام دلخواه خود را مینویسیم. در این مثال عبارت LOGO 8 app به عنوان نام مورد نظر انتخاب شده است. در قسمت IP Address آدرس لوگوی مورد نظر خود را وارد میکنیم. آی پی لوگوی مورد نظر ما در این مثال برابر 192.168.1.10 است. Port را روی 8080 تنظیم می کنیم. در قسمت webserver Password رمز اختصاص داده شده به دسترسی به اپلیکیشن لوگو در لوگوسافت یا Allow LOGO App access را وارد میکنیم. به دلیل عدم تغییر رمز پیش فرض در لوگوسافت، در وب سرور نیز همان عبارت LOGO را وارد می کنیم.
تا این مرحله در پنجره Device Overview تصویر زیر نمایش داده میشود.
- با کلیک روی ماژول لوگوی ایجاد شده در تصویر بالا وارد پنجره مربوط به لوگوی مورد نظر خواهیم شد. جهت روشن و خاموش کردن خروجی Q1 و NQ1 باید از ورودی های شبکه NI1 و NI2 استفاده کنیم. به این منظور در پنجره Station Info گزینه ی Variables را انتخاب می کنیم.
- با انتخاب گزینه Variable وارد پنجره Tag List خواهیم شد. در ادامه روی گزینه + کلیک میکنیم. به این ترتیب پنجره Add Tag باز خواهد شد. به منظور وارد کردن NI1 باید آدرس آن را وادر کنیم. از آن جا که در برنامه لوگو آدرس V0.0 به NI1 اختصاص داده شد، در اپلیکیشن لوگو قسمت Add Tag برای Address عدد V0.0 را وارد میکنیم. در قسمت Tag Lable نام مورد نظر برای این تگ به طور مثال NI1 را وارد میکنیم.
- در قسمت Format نیز فرمت تگ مورد نظر را انتخاب میکنیم. از آن جایی که در لوگوسافت از VM استفاده شده در نتیجه فرمت این ورودی های شبکه باید از نوع BIT باشند.
- پس از انجام پیکربندی های مورد نظر با استفاده از آیکون ذخیره در بالای پنجره Add Tag آن را Save میکنیم. در ادامه طبق مراحل بالا یک تگ مربوط به NI2 با آدرس V2.0 نیز ایجاد می کنیم.
- به منظور تغییر مقادیر این ورودی های شبکه و در نتیجه روشن و خاموش کردن خروجی های وابسته به آنها باید روی تگ مورد نظر کلیک کنیم. به عنوان مثال فرض کنید میخواهیم خروجی Q1 را روشن کنیم. به این منظور باید از NI1 استفاده شود. از این رو در تصویر بالا روی NI1 کلیک میکنیم. به منظور روشن شدن خروجی Q باید ورودی NI1 1 شود. از این رو در قسمت New Value عدد 1 را نوشته و سپس گزینه Write to PLC را انتخاب میکنیم. به این ترتیب مقدار ورودی NI1 فعال شده و طبق برنامه نوشته شده در لوگو با فعال شدن NI1 خروجی Q1 نیز فعال میشود.
- جهت مانیتور مقادیر I/Oها در اپلیکیشن لوگو از قسمت IO Status در صفحه Station Info اپلیکیشن لوگو استفاده میکنیم.
در مقاله ی اپلیکیشن لوگو به بررسی قابلیت های این اپلیکیشن و نحوه ی استفاده از آن پرداخته ایم.
پروژه 3
هدف از انجام این پروژه کنترل راه اندازی یک موتور است. می خواهیم یک موتور را به صورتی راه اندازی کنیم که با فشردن شستی I1 به صورت راست گرد و با فشردن شستی I2 موتور به صورت چپ گرد روشن شود. نکته ی مهم در این راه اندازی آن است که در صورتی که موتور به صورت راست گرد در حال چرخش است، حتی با فشردن کلید I2 شروع به تغییر چپ گرد نکند و بالعکس. به عبارت دیگر در این مثال برای تغییر جهت ابتدا نیاز به فشردن شستی استپ وجود دارد. به این ترتیب تا زمانی که موتور راست گرد باشد و شستی استپ فشرده نشود، فشردن شستی چپ گرد تاثیری در روند فرآیند نخواهد داشت. در نظر داشته باشید که در این مثال منظور از Q ها همان کنتاکتورهای مربوط به روشن شدن موتورها هستند. تصویر زیر برنامه ی نوشته شده برای این مثال را نشان می دهد.
در تصویر بالا ورودی های I1، I2 و I3 هر سه روی حالت شستی یا همان Momentary pushbutton تنظیم شدهاند. همانظور که میدانید این تنظیمات در پنجره مشخصات بلوک، قسمت Simulation انجام میشود. به عنوان مثال در تصویر زیر تب Simulation در پنجره مشخصات بلوک I1 نمایش داده شده است.
به دلیل استفاده از شستی و ناپایدار بودن آن باید از بلوک RS استفاده کنیم. به این ترتیب با فشردن هر یک از شستی های I1 یا I2 خروجی بلوک RS مربوط به آن شستی فعال میشود. همچنین با فشردن شستی I3 پایه ریست هر دو بلوک RS فعال و در نتیجه خروجی هر دو بلوک RS غیر فعال خواهد شد.
همانطور که می دانید، یک موتور نمیتواند به صورت هم زمان در دو جهت مخالف بچرخد. از این رو خروجی Q1 تحت شرایط زیر روشن می شود:
- شستی I1 یا همان شستی راست گرد انتخاب شده باشد.
- موتور در خلاف جهت یا همان در جهت چپ در حال چرخش نباشد.
در صورت برقرار نبودن یکی از شروط بالا خروجی Q1 روشن نخواهد شد. برقراری دو شرط به صورت همزمان به معنی استفاده از بلوک AND است. به عبارت دیگر در برنامه ی بالا، جهت پیشگیری از فعال شدن هر دو جهت راست و چپ گرد در یک موتور از بلوک And استفاده شده است.
پروژه 4
راه اندازی موتور با استفاده از خودنگهدار:
فرض کنید میخواهیم با استفاده از یک شستی استارت و یک شستی استپ یک موتور را روشن و خاموش کنیم. در تصویر زیر مدار طراحی شده برای این مثال را مشاهده میکنید. با برداشتن دست از روی شستی استارت یا Start Push Button (PB) خروجی آن غیر فعال میشود. به همین دلیل با استفاده از یک بلوک OR یا همان B001 خاموش شدن خروجی شستی پس از فشردن آن را جبران میکنیم. به عبارت دیگر در این برنامه بلوک OR نفش یک خود نگهدار را ایفا میکند. خروجی Q تحت شرایط زیر روشن میشود:
- فشردن شستی Start
- عدم انتخاب شستی Stop
برقراری هر دو شرط بالا موجب روشن شدن موتور میشود. همانطور که میدانید با استفاده از بلوک AND می توان به اجرای هم زمان چند شرط پرداخت. شرط دوم یا همان عدم انتخاب شستی Stop را با Invert کردن پایه متصل شده از ورودی I2 به بلوک AND پیاده سازی می کنیم.
پروژه 5
برنامه ایی بنویسید که فشردن شستی I1 موجب روشن شدن Q1 و خاموش شدن Q2 شود. همچنین فشردن شستی I2 موجب روشن شدن خروجی Q2 و خاموش شدن Q1 شود.
در این مثال کافیست روشن شدن خروجی Q1 و خاموش شدن خروجی Q2 هر دو از یک ورودی گرفته شود. به عبارت دیگر ورودی I1 را به پایه Set از یک بلوک RS و پایه Reset از بلوک RS دیکری متصل میکنیم. به همین ترتیب ورودی I2 را به پایه Reset بلوک RS اول و پایه set از بلوک RS دوم متصل میکنیم. به صورت کلی در بلوک RS اولویت با پایه ی Reset است. از این رو با روشن شدن I1 خروجی Q1 روشن و خروجی Q2 در صورت روشن بودن خاموش خواهد شد.
پروژه 6
برنامه ایی بنویسید که در لحظه راه اندازی لوگو به مدت 6 ثانیه متن Mosalase Zard در صفحه برنامه نویسی نمایش داده شود. این متن باید بدون فشردن هیچ کلید یا شستی ظاهر شود.
همانطور که قبلا شرح داده شد در لوگو 8 امکان استفاده از فلگ M8 وجود دارد. این فلگ تحت عنوان فلگ راهاندازی نیز شناخته میشود. خاصیت M8 فعال شدن خروجی آن به اندازه یک سیکل کاری و بدون نیاز به Set شدن پایه ورودی آن است. در این مثال با اتصال خروجی فلگ M8 به ورودی یک تایمر تاخیر در قطع، مسئله حل خواهد شد. تاخیر این تایمر باید روی زمان 6 ثانیه تنظیم شود. جهت نمایش متن پیام نیز از بلوک نمایشگر متنی استفاده می شود. برنامه باید به صورتی باشد که با فعال شدن تایمر پایه Enable از بلوک Message texts نیز فعال شود. به این ترتیب متن نوشته شده در قسمت Message area نمایش داده خواهد شد. این متن تا زمانی که پایه En فعال بماند در نمایشگر نشان داده میشود. تصویر زیر برنامه نوشته شده در این مثال را نمایش داده است. پس از دانلود این برنامه روی لوگو و راه اندازی آن به مدت 6 ثانیه متن پیام Mosalase Zard روی نمایشگر ظاهر خواهد شد.
در تصویر زیر تنظیمات داخل بلوک Message texts نمایش داده شده است.
به محض فعال شدن حالت Simulation یا شبیه سازی پنجره زیر نمایش داده خواهد شد. این پنجره به مدت 6 ثانیه روشن میماند.
جهت مطالعه ی سایر مقالات برنامه نویسی لوگو لطفا به قسمت مقالات PLC مراجعه کنید.
دیدگاه خود را ثبت کنید
تمایل دارید در گفتگوها شرکت کنید؟در گفتگو ها شرکت کنید.