آموزش برنامه نویسی لوگو با نرم افزار
آموزش برنامه نویسی لوگو با استفاده از نرم افزار
تا کنون در بخش مقالات مینی پی ال سی لوگو با سخت افزار، قابلیت ها، نرم افزار و نوار ابزارهای موجود در نرم افزار این کنترل کننده آشنا شدیم. در مقالات قبلی شرح داده شد که از نوار ابزار Instruction tree میتوان بلوکهای برنامه نویسی لوگو را انتخاب کرده و در پروژه قرار داد. پس از آشنا شدن با بخش های مختلف نرم افزار مینی پی ال سی لوگو وارد مرحله ی نهایی یعنی برنامهنویسی خواهیم شد. برنامه نویسی LOGO شامل قرار دادن بلوک ها به شکل FBD و اتصال آن ها به یکدیگر است. به صورت کلی عناصر برنامه نویسی و بلوکها در لوگو به سه دسته ی زیر تقسیم میشوند:
- ثابتها یا Constants
- توابع پایه یا Basic function
- توابع ویژه یا Special function
بلوک های Constants به سه دسته ی دیجیتال یا Digital، آنالوگ یا Analog و شبکه یا Network تقسیم می شوند. در این مقاله بلوک های Digital Constants به ترتیب بررسی شده اند. جهت آشنایی با دو نوع بلوک دیگر مقاله های بلوک های شبکه و برنامه نویسی آنالوگ لوگو را مطالعه کنید. موقعیت این دستورات در تصویر زیر با کادر قرمز مشخص شده است.
ثابتهای دیجیتال یا Digital constant در برنامه نویسی لوگو
ورودی دیجیتال یا Input
بلوک های Input مربوط به ترمینالهای ورودی تعبیه شده روی سختافزار لوگو هستند. جهت آشنایی بیشتر می توانید مقاله کارت های توسعه و ارتباطی لوگو را مطالعه نمایید. در لوگو 8 امکان استفاده از حداکثر 24 ورودی دیجیتال وجود دارد. در تصویر زیر یک بلوک Digital input را مشاهده می کنید.
Digital input ها شامل مقادیر صفر یا یک منطقی هستند. با دابل کلید کردن روی هر بلوک Input در صفحه برنامه نویسی LOGO میتوان پنجره مشخصات آن را باز کرد. همانطور که مشاهده می کنید این پنجره دارای 3 سربرگ Parameter، Comment و Simulation است. در سربرگ Parameter میتوان یکی از ورودیهای I1 تا I24 را انتخاب کرد. از سربرگ Comment به منظور اختصاص یک پیام به این ورودی و درج توضیحات در مورد این بلوک استفاده می شود. در نظر داشته باشید که پس از تائید، این متن در بالای بلوک ورودی قرار خواهد گرفت.
از سربرگ Simulation به تعیین نوع عملکرد ورودی جهت شبیهسازی استفاده می شود. به صورت کلی یک ورودی دیجیتال میتواند از نوع کلید، شستی استارت، شستی استپ و یا فرکانسی باشد. در تصویر زیر پنجره Simulation را مشاهده می کنید.
در حالت ورودی Switch با یک بار فعال شدن کلید تا فشردن مجدد آن خروجی فعال خواهد ماند. شستیهای استپ و استارت لحظه ایی یا momentary push button به صورت لحظهایی روشن یا خاموش میشوند. به بیان دیگر تا زمانی که فشار روی شستی وجود داشته باشد کنتاکت آن فعال می ماند. در این حالت به محض برداشتن فشار، کنتاکت شستی به حالت اول خود باز می گردد. در ورودی دیجیتال از نوع فرکانس یا frequency امکان تغییر فرکانس ورودی درحالت شبیهسازی وجود دارد. در تصویر زیر موقعیت گزینه Frequency در پنجره Simulation نمایش داده شده است. کاربرد ورودی frequency در بخش برنامه نویسی لوگو با شمارنده ها بیشتر بررسی خواهد شد.
بازه قابل تغییر برای فرکانس به صورت پیشفرض از 0 تا 9999 است. فرض کنید هنگام برنامه نویسی لوگو در ورودی Frequency مقدار Value را برابر با 10 هرتز قرار دهیم. این حالت شبیه به اتصال ورودی به یک منبع تولید کننده ی پالس با فرکانس 10 هرتز است. ورودی فرکانس یک حالت خاص بوده و معمولا همراه با بلوک Threshold trigger استفاده میشود. به عبارت ساده تر اتصال مستقیم ورودی فرکانسی به خروجی دیجیتال امکان پذیر نیست. با این کار هیچ تغییری در وضعیت خروجی دیجیتال مشاهده نخواهد شد. از پرکاربرد ترین ورودی های فرکانسی می توان به اتصال آن در ورودی کانتر و شمارش پالس ها اشاره کرد. در تصویر زیر موقعیت گزینه Value از ورودی فرکانس لوگو نمایش داده شده است.
در تصویر زیر یک بلوک Up/Down counter همراه با بلوک Digital input از نوع فرکانس را مشاهده می کنید. در این مثال مقدار فرکانس ورودی روی 10 هرتز تنظیم شده است. با اجرای شبیه سازی مشاهده خواهید کرد که در هر ثانیه 10 واحد شمارش خواهد شد. از ورودی فرکانس می توان به منظور شمارش قطع و وصل های زیاد در ورودی های دیجیتال مانند اندازه گیری سرعت شفت موتور استفاده کرد. اطلاعات بیشتر در قسمت مربوط به بلوک Threshold trigger در برنامه نویسی لوگو زیمنس حضورتان ارائه خواهد شد.
جهت وارد کردن سیگنال دیجیتال از محیط پیرامون به لوگو باید از بلوک ورودی دیجیتال استفاده کنید. این بلوک یک پایه در سمت راست داشته و می توانید از آن در برنامه نویسی لوگو زیمنس استفاده کنید. این ویدئو برگرفته از دوره جامع لوگو زیمنس است.
دکمه جهت دار یا Cursor key در برنامه نویسی لوگو
طبق تصویر زیر در سخت افزار لوگو 8 با نمایشگر از 4 دکمه جهت دار استفاده شده است. این دکمه ها در نرم افزار به صورت ورودی دیجیتال قابل استفاده اند.
به منظور استفاده از دکمه های جهت دار باید از بلوک های Cursor key استفاده کنیم. در تصویر زیر آیکون مربوط به این بلوک نمایش داده شده است.
با دابل کلیک کردن روی بلوک Cursor key پنجره ی زیر باز خواهد شد. در قسمت Input Number می توان یکی از این دکمه های جهت دار را به عنوان ورودی تنظیم کرد. سربرگ های کامنت و شبیه سازی نیز مانند بخش های قبلی قابل استفاده هستند.
در این ویدئو که برگرفته از دوره آموزشی لوگو زیمنس است، با دیگر دستورات بخش دیجیتال آشنا می شویم.
دکمه های تابع یا function key
در سخت افزار نمایشگر متنی لوگو یا LOGO! TD چهار دکمه تابع یا Function key وجود دارد. این دکمه ها در اصطلاح LOGO! TD function key نامیده می شوند. در تصویر زیر محل قرار گرفتن Function key ها در سخت افزار LOGO! TDE نمایش داده شده است.
Function key ها به صورت ورودی دیجیتال در نرم افزار قابل استفاده هستند. به عبارت دیگر از این بلوک ها جهت انجام کاری توسط دکمه های F1 تا F4 موجود در سخت افزار LOGO TD استفاده می شود. جهت بکارگیری این دکمه ها باید از بلوک های Function key در برنامه نویسی LOGO استفاده کنیم. در تصویر زیر آیکون مربوط به این بلوک نمایش داده شده است.
با قراردادن یک Function Key در پروژه و دابل کلیک کردن روی آن می توان وارد منوی تنظیمات شد. طبق تصویر در بخش LOGO! TD function key لوگو 8 چهار بلوک F1 تا F4 وجود دارد.
به عنوان مثال فرض کنید می خواهیم در صورت فشردن دکمه F1 در LOGO TDE، لامپ Q1 روشن شود. به این منظور ابتدا لوگو را به PC و لامپ مورد نظر را به ترمینال Q1 خروجی متصل می کنیم. در ادامه وارد نرم افزار لوگو شده و مطابق تصویر زیر برنامه نویسی لوگو را انجام می دهیم. همانطور که مشاهده می کنید خروجی بلوک F1 به ورودی بلوک Q1 متصل شده است. در مرحله آخر برنامه نوشته شده را از PC به لوگو منتقل می کنیم. به این ترتیب با فشردن دکمه F1 در لوگو TD خروجی Q1 روشن خواهد شد.
در این مثال هنگام تنظیم پنجره مشخصات بلوک F1 می توان از دو حالت استفاده کرد:
- با برداشتن دست از روی دکمه ی F1 خروجی Q1 خاموش شود: به این منظور در پنجره مشخصات بلوک F1 قسمت Simulation حالت Momentary pushbutton(Make) را انتخاب می کنیم. این گزینه در تصویر زیر نمایش داده شده است.
- با برداشتن فشار از روی دکمه F1 خروجی Q1 روشن بماند: به این منظور در پنجره مشخصات بلوک F1 قسمت Simulation حالت Switch را انتخاب می کنیم. در این حالت پس از فشردن F1 خروجی Q1 روشن می ماند. این روشن ماندن تا زمان فشردن مجدد دکمه F1 ادامه خواهد داشت.
مطالب شرح دادهشده در این مقاله را میتوانید بهصورت ویدئو در دوره تصویری لوگو زیمنس مشاهده کنید. در این دورهی آموزشی با انواع پی ال سی، زبانهای برنامهنویسی و مینی پی ال سی لوگو زیمنس آشنا میشویم. آموزش لوگو از ابتدا صورت گرفته و شامل بررسی ماژول اصلی، کارتهای توسعه، نصب، سیم بندی، برنامهنویسی و کنترل توسط اپلیکیشن و وب سرور میشود. در بخش برنامهنویسی تمام بلوکهای دیجیتال، شبکه، آنالوگ و غیره بررسیشده و نحوهی کار آنها روی لوگو نمایش دادهشده است. مانیتورینگ و کنترل لوگو از طریق اپلیکیشن، وب سرور و صفحههای طراحیشده توسط LWE صورت میگیرد. این موارد نیز در دورهی تصویری شرح دادهشدهاند. لطفاً جهت مشاهدهی سرفصلها و لیست ویدئوهای این دوره روی عبارت لوگو زیمنس کلیک کنید.
بیتهای شیفت رجیستر
لوگو 8 شامل 8 بیت شیفت رجیستر S1 تا S8 است. بیتهای شیفت رجیستر یا Shift register bit در برنامه نویسی لوگو همراه با بلوک شیفت رجیستر استفاده میشود. اطلاعات بیشتر در قسمت مربوط به تابع ثبات انتقالی یا بلوک Shift register حضورتان ارائه خواهد شد. لوگوهای ورژن 7 و 8 دارای حراکثر 32 بیت شیف رجیستر از S1.1 تا S4.8 هستند. در تصویر زیر یک بلوک Shift register bit را مشاهده می کنید.
کلیدهای سطح منطقی دائمی یا Permanent logical levels
کلید High در لوگو نقش یک ورودی منطقی ثابت “1” دارد. اتصال این بلوک به بلوک دیگر موجب فعال شدن آن کانکتور خواهد شد. عملکرد کلید LOW عکس کلید HIGH است. کلید LOW در برنامه نویسی LOGO نقش یک ورودی ثابت با مقدار “0” دارد. در تصویر زیر بلوک های High و Low را مشاهده می کنید.
به عنوان مثال فرض کنید می خواهیم خروجی دیجیتال Q1 همواره فعال باشد. به این منظور مطابق تصویر عمل می کنیم. همانطور که مشاهده می کنید خروجی بلوک High به ورودی بلوک Q1 متصل شده است. با این عمل خروجی Q1 در طی شبیه سازی یا Simulation و اجرای برنامه یا RUN همواره روشن خواهد بود.
خروجی Output در برنامه نویسی لوگو
یکی از بلوک های پرکاربرد در لوگو Digital output است. این بلوک مشخص کننده ی وضعیت خروجی دیجیتال تعبیه شده در سخت افزار لوگو خواهد بود. به عنوان مثال روشن بودن Q1 نشاندهنده وصل بودن خروجی Q1 در ماژول لوگو می باشد. در لوگو 8 تا حداکثر 20 خروجی دیجیتال قابل استفاده است. در تصویر زیر یک بلوک Output را مشاهده می کنید.
اتصال دهندهی باز
در برخی موارد ممکن است از خروجی یک بلوک در برنامه نویسی logo استفاده نشود. در این صورت این خروجی استفاده نشده را به بلوک Open connector متصل می کنیم. به بیان دیگر با استفاده از بلوک Open connect میتوان خروجی یک بلوک را مسدود کرد. به این ترتیب خروجی بلوک از خروجی های دیگر متمایز می شود. معمولا در خروجی یک Message text از بلوک X استفاده میشود. در ورژن 7 و 8 لوگو تعداد اتصال دهندهی باز یا Open connector ها برابر با 64 است. در تصویر زیر یک بلوک Open connector یا اتصال دهنده ی باز را مشاهده می کنید.
فلگ دیجیتال
در برخی موارد لازم است اطلاعات را در یک بیت ذخیره کرده و در قسمت دیگری استفاده کنیم. این عمل با استفاده از فلگ یا پرچم انجام میشود. فلگ ها همان سیگنال ورودی خود را در خروجی قرار می دهند. در تصویر زیر یک بلوک Digital Flag را مشاهده می کنید.
لوگو 7 دارای 27 فلگ دیجیتال و 16 فلگ آنالوگ است. لوگو 8 شامل 64 فلگ دیجیتال M1 تا M64 و 64 فلگ آنالوگ AM1 تا AM64 می باشد. برخی از فلگها رنگ پس زمینه متفاوتی دارند که عبارتاند از:
- فلگ M8 یا Initialization Flag
این فلگ در چرخه اول برنامه بدون نیاز به ورودی Set میشود. در برنامه نویسی لوگو از فلگ M8 به عنوان فلگ راهاندازی استفاده شود. این فلگ پس از اولین چرخه اجرای برنامه مجددا Reset میشود. در چرخههای بعدی واکنش فلگ M8 با دیگر فلگها تفاوتی ندارد. به عبارت دیگر تفاوت فلگ M8 با سایر فلگها در یک چرخه پس از راهاندازی است. از این فلگ به عنوان Startup flag نیز یاد میشود. در تصویر فلگ M8 را مشاهده می کنید.
به عنوان مثال فرض کنید میخواهیم در 4 ثاینه اول راهاندازی و بدون نیاز به فشردن هیچ کلیدی عبارت Mosalasezard در نمایشگر لوگو ظاهر شود. به این منظور از برنامه نمایش داده شده در تصویر زیر استفاده می کنیم. در این برنامه از بلوک فلگ M8، تایمر Off-Delay، بلوک Message text و بلوک Open connector استفاده شده است. هدف از این مثال بررسی عملکرد بلوک M8 است.
با شروع شبیهسازی به مدت 4 ثانیه متن mosalasezard نمایش داده میشود. علت فعال شدن تایمر Off-Delay پالسی است که فلگ M8 در لحظه راهاندازی تولید می کند.
- فلگهای M25، M28 و M29
از فلگ های M25، M28 و M29 در برنامه نویسی لوگو جهت کنترل رنگ پس زمینه نمایشگر لوگو یا LOGO! onboard display استفاده میشود. فعال شدن فلگ های M25، M28 و M29 به ترتیب موجب تغییر رنگ نمایشگر لوگو به سفید، نارنجی و قرمز می گردد. در تصویر زیر بلوک های ذکر شده را مشاهده می کنید.
به عنوان مثال در تصویر زیر از بلوک High جهت فعال شدن دائمی فلگ M29 استفاده شده است. این عمل موجب قرمز شدن دائمی پس زمینه در نمایشگر لوگو می شود. این تغییر رنگ در حالت شبیه سازی برنامه نیز قابل اجرا می باشد. همانطور که در تصویر زیر مشاهده می کنید در شبیهسازی تغییر رنگ پس زمینه نمایشگر ماژول اصلی لوگو یا LOGO! Display انجام شده است.
- فلگهای M26، M30 و M31
از فلگهای M26، M30 و M31 به منظور تغییر رنگ پسزمینه LOGO! TDE استفاده میشود. فعال شدن فلگ های M26، M30 و M31 به ترتیب موجب تغییر پس زمینه LOGO TDE به رنگ های سفید، نارنجی و قرمز خواهد شد. در تصویر زیر بلوک های مربوط به فلگ های ذکر شده نمایش داده شده اند.
- فلگ M27 در برنامه نویسی لوگو
در تصویر زیر بلوک مربوط به این فلگ را مشاهده می کنید.
بلوک Message text شامل دو مجموعه کاراکتر یا Character set است. به منظور انتخاب این دو مجموعه کاراکتر میتوانید از منوی File → Message Text Settings اقدام کنید. به این ترتیب تصویر زیر را مشاهده خواهید کرد. همانطور که در تصویر زیر مشاهده می کنید بلوک Message text از Character set 1 و Character set 2 تشکیل شده است. Character set 1 مشخص کنندهی مجموعه کاراکترهای اصلی برای Message texts و Character set 2 مشخص کنندهی مجموعه کاراکتر ثانویه برای متن پیام است.
امکان انتخاب هر کدام از این مجموعه کاراکترها به عنوان پیشفرض برای پیکربندی Message texts وجود دارد. فلگ M27 مسئول انتخاب یکی از این 2 مجموعه کاراکتر به منظور نمایش در صفحه ی لوگو است. این فلگ به دو شکل عمل می کند:
- در صورت فعال بودن پایه Enable بلوک Message text و صفر بودن فلگ M27، نمایشگر لوگو متن پیام را از مجموعه کاراکتر اصلی یا Primary character set نمایش میدهد.
- در صورت یک بودن فلگ M27، ماژول لوگو متن پیام را از مجموعه کاراکتر ثانویه نمایش میدهد.
منظور از “متن پیام” همان متنی است که در پنجره ی Parameter بلوک Message text در قسمتهای مربوط به Character set 1 و 2 نوشته شده است. اطلاعات بیشتر در این خصوص را می توانید در مقاله ی منوی File > Message text setting و توضیحات بلوک Message text مشاهده کنید.
جهت درک بهتر نحوه عملکرد بلوک M27 به این مثال توجه کنید. تصور کنید باید در صورت نرمال بودن شرایط یک خط تولید؛ عبارت Safe روی نمایشگر لوگو نمایش داده شود. در این مثال ورودی I1 به معنی بروز حادثه بوده و باید روی نمایشگر لوگو عبارت Warning درج شود. در نظر داشته باشید که اولویت Warning بالاتر از Safe است. برای نوشتن برنامه ی فوق می توان از دو روش استفاده کرد.
روش اول به کارگیری بلوک های Message text با اولویت یا Priority های 1 و 2 است. در بلوک Message text هر چه عدد Priority بالاتر رود، اولویت آن بیشتر خواهد بود. به منظور برنامه نویسی لوگو با روش اولویت بندی نمایشگر ها می توان از این بلوک های زیر استفاده کرد:
- دو بلوک نمایشگر متنی یا Message text با اولویت های 1 و 2 : نمایشگر B001 اولویت 2 و نمایشگر B002 اولویت 1
- یک بلوک High جهت همواره فعال ماندن ورودی Message text با اولویت 1 جهت نمایش دائم متن Safe
- یک دکمه I1 جهت اعلام خطر و فعال شدن ورودی بلوک Message text با اولویت 2 و در نتیجه نمایش هشدار یا Warning
- بلوک های X1 و X2 جهت بستن انتهای مدار
در تصویر زیر تنظیمات داخلی نمایشگر متنی B001 نمایش داده شده است. به منظور دسترسی به پنجره مشخصات در Message text روی آیکون بلوک مورد نظر دابل کلیک می کنیم.
در تصویر زیر تنظیمات داخلی نمایشگر متنی B002 نمایش داده شده است. همانطور که مشاهده می کنید این بلوک حامل متن پیام Safe و دارای اولویت 1 است.
در این مثال با شروع حالت شبیه سازی عبارت Safe در نمایشگر ظاهر می شود.
با فشردن کلید I1 و اعلام خطر عبارت Safe حذف شده و متن هشدار یا Warning نمایش داده می شود. در سمت چپ تصویر زیر صفحه برنامه نویسی لوگو در این مثال را مشاهده می کنید.
روش بعدی استفاده از فلگ M27 است. در این حالت به جای استفاده از دو بلوک نمایشگر متنی با اولویت متفاوت از یک بلوک Message texts یا نمایشگر متنی استفاده می کنیم. بلوک های استفاده شده در برنامه نویسی لوگو زیمنس در مثال عبارتند از:
- یک بلوک M27
- دو بلوک X جهت بستن انتتهای برنامه
- یک کلید I1 جهت اعلام خطر و هشدار
- بلوک High جهت فعال سازی دائمی بلوک نمایشگر متنی یا Message texts لوگو
با دابل کلیک روی بلوک Message texts پنجره ی مشخصات این بلوک باز می شود. به منظور فعال سازی Character set2 گزینه Enable در تصویر زیر را انتخاب می کنیم. همانطور که مشاهده می کنید به صورت پیش فرض مجموعه کاراکتر 2 غیر فعال است.
طبق تصویر زیر پس از انتخاب گزینه Enable قسمت Character set 2 فعال می شود. با این کار امکان انتخاب این گزینه و نوشتن متن پیام در پنجره Message text آن وجود دارد. جهت نوشتن پیام مورد نظر در کاراکتر ست 2 روی دایره ی سفید رنگ مشخص شده در تصویر زیر کلیک می کنیم.
پس از انتخاب گزینه ی Character set 2، پنجره Message Text مربوط به این مجموعه کاراکتر نمایش داده می شود. این پنجره در تصویر زیر با فلش قرمز رنگ مشخص شده است. به صورت کلی پنجره Message texts در برنامه نویسی لوگو و استفاده از نمایشگر آن نقش مهمی دارد. اطلاعات بیشتر در این زمینه هنگام بررسی بلوک Message texts شرح داده می شود.
با توجه به نکات زیر در قسمت Message text مربوط به Character set 2 عبارت Warning را می نویسیم:
- هدف اصلی در این مثال نمایش اعلام هشدار یا Warning در صورت فشرده شدن کلید I1 است.
- طبق برنامه ی نوشته شده، خروجی بلوک I1 به ورودی بلوک M27 متصل است. به همین دلیل فعال شدن ورودی I1 و رخ دادن هشدار موجب فعال شدن بلوک M27 می شود.
- هر گاه M27 فعال شده یا M27=1 شود، متن پیام نوشته شده در Character set 2 در لوگو نمایش داده خواهد شد.
در تصویر زیر تنظیمات مربوط به Character set 2 برای برنامه نویسی لوگو در این مثال را مشاهده می کنید.
توجه داشته باشید که در صورت عدم وجود هشدار باید عبارت Safe در لوگو نمایش داده شود. این حالت زمانی است که I1 غیر فعال بوده و در نتیجه M27=0 است. همانطور که اشاره شد در حالت M27=0 نمایشگر لوگو متن پیام نوشته شده در 1 character set را نمایش میدهد. به همین دلیل در قسمت Message text مربوط به Character set 1 عبارت Safe نوشته می شود. در تصویر زیر تنظیمات مربوط به Character set 1 در برنامه نویسی لوگو برای این مثال، نمایش داده شده است.
پس از انجام مراحل فوق و شروع شبیه سازی عبارت Safe در نمایشگر لوگو ظاهر می شود. در این برنامه با فعال شدن I1 عبارت Warning جایگزین Safe خواهد شد. این پروسه در تصویر زیر نمایش داده شده است.
در این مقاله روش کار با بلوک های برنامه نویسی Digital constant لوگو آموزش داده شد. در مقاله ی بعدی می توانید روش استفاده از ورودی و خروجی های آنالوگ در لوگو را مطالعه کنید. هم چنین در مقالات بعدی به بررسی بلوک های شبکه در لوگو پرداخته ایم.
دیدگاه خود را ثبت کنید
تمایل دارید در گفتگوها شرکت کنید؟در گفتگو ها شرکت کنید.