آخرین توابع آنالوگ لوگو
آخرین توابع آنالوگ لوگو 8
دراین مقاله آخرین بلوک های آنالوگ لوگو 8 در قسمت Analog special functions بررسی می شوند. این بلوک ها عبارت اند از:
- PWM یا Pulse Width Modulator
- Analog filter
- Max/Min
- Average value
جهت آشنایی با قسمت آنالوگ لوگو و توابع دیگر می توانید مقالات قبلی را مطالعه کنید. در ضمن گزینه ها ی Protection active و Retentivity در پنجره مشخصات برخی از بلوک های فوق وجود دارد. این دو قابلیت در مقاله ی تایمر تاخیر در وصل در لوگو شرح داده شده اند.
بلوک Pulse Width Modulator یا PWM
تصویر زیر مربوط به شماتیک بلوک PWM در نرم افزار لوگو است. این بلوک مجهز به یک ورودی آنالوگ Ax، یک ورودی دیجیتال En و یک خروجی دیجیتال Q است. بلوک مدلاسیون پهنای پالس می تواند مقدار ورودی آنالوگ Ax را در خروجی Q به یک سیگنال دیجیتال پالس تبدیل کند. عرض این پالس به مقدار آنالوگ Ax بستگی دارد. فعال یا یک شدن پایه ی En باعث راه اندازی بلوک PWM میشود. ورودی Ax همان سیگنال آنالوگی است که باید به سیگنال خروجی دیجیتال پالس تبدیل شود.
به منظور تنظیم پارامترهای این بلوک می توان از پنجره مشخصات بلوک یا از جعبه پارامتر آن استفاده کرد. در تصویر زیر پنجره مشخصات بلوک PWM را مشاهده می کنید.
به صورت کلی در بلوک PWM پارامترهای زیر قابل تنظیم هستند:
- Gain: مقدار قابل تنظیم برای بهره بازه -10.00 تا10.00
- Offset: رنج مقادیر این پارامتر از -10000 تا 10000
- PT یا Periodic time: دوره ی پالسی است که خروجی دیجیتال در طی آن ماژوله میشود. واحد زمانی پارامتر PT روی یکی از 3 حالت ساعت، دقیقه و یا ثانیه قابل تنظیم است.
همانطور که اشاره شد امکان تنظیم مقدار پارامتر PT از طریق جعبه پارامتر بلوک نیز وجود دارد. در تصویر زیر بلوک PWM همراه با جعبه پارامتر آن نمایش داده شده است. به منظور کسب اطلاعات بیشتر از مقادیر قابل اتصال به پایه P یا همان تنظیم پارامتر PT توسط جعبه پارامتر بلوک می توانید به دفترچه راهنمای نرم افزار مراجعه کنید.
- Decimal places یا p: این آیتم مربوط به تعداد رقم اعشار بوده و روی یکی از اعداد 0، 1، 2 یا 3 قابل تنظیم است.
- Range: در پنجره مشخصات بلوک بخشی با عنوان Range قرار دارد. از این قسمت جهت تعیین مقدار حداکثر و حداقل رنج استفاده میشود.
نحوه ی عملکرد بلوک PWM به این شرح است:
- ابتدا با فعال بودن ورودی En مقدار ورودی Ax توسط بلوک خوانده میشود.
- در ادامه مقدار خوانده شده در پارامتر Gain ضرب میشود. حاصل این ضرب با پارامتر Offset جمع میشود.
Actual value Ax=(Ax*Gain)+Offset
- با توجه به مقادیر تنظیم شده برای Max و Min در قسمت Range، مدت زمان صفر و یک بودن خروجی تعیین می شود. در صورتی که مقدار ورودی آنالوگ Ax در رنج Range Min و Range Max نباشد؛ تغییری در خروجی اعمال نخواهد شد. قانون محاسبه به شکل زیر است:
- Q = 1: به اندازه (Ax-Min) / (Max-Min)
- Q = 0: به اندازه PT – (Ax-Min) / (Max-Min)
- پس از محاسبات فوق خروجی Q به اندازه (Ax-Min) / (Max-Min) واحد زمانی روشن می شود. در ادامه خروجی Q به اندازه ی زمان باقی مانده از دوره ی فوق یعنی اندازهی PT – (Ax-Min) / (Max-Min) خاموش خواهد شد. این دوره زمانی یعنی صفر و یک شدن Q تا زمانی ادامه پیدا می کند که ورودی En فعال باشد.
جهت درک بهتر از نحوه ی عملکرد این بلوک به تصویر زیر توجه کنید. در این برنامه از یک بلوک ورودی دیجیتال I1، یک بلوک ورودی آنالوگ AI1 ، یک بلوک خروجی دیجیتال Q1 و یک بلوک PWM استفاده شده است.
در این مثال مقدار ورودی آنالوگ برابر با 500 بوده و دوره زمانی یا Periodic time T روی 4 ثانیه تنظیم شده است. بازه اندازه گیری یا Measurement Range در تنظیمات قسمت آنالوگ در پنجره مشخصات بلوک نیز در بازه ی 0 تا 1000 می باشد.
نمودار زمانی خروجی بلوک PWM در این مثال به شکل زیر است:
تصویر زیر مربوط به این مثال در حالت شبیه سازی است:
در تصویر زیر نمودار زمانی مثال دیگری از عملکرد بلوک PWM را مشاهده می کنید. در این مثال پارامتر PT روی 10 ثانیه و بازه اندازه گیری روی 0 تا 1000 تنظیم شده است. در این حالت خروجی بلوک برای ورودی آنالوگ Ax با مقدار 300 به این شکل خواهد بود:
مطالب شرح دادهشده در این مقاله را میتوانید بهصورت ویدئو در دوره تصویری لوگو زیمنس مشاهده کنید. در این دورهی آموزشی با انواع پی ال سی، زبانهای برنامهنویسی و مینی پی ال سی لوگو زیمنس آشنا میشویم. آموزش لوگو از ابتدا صورت گرفته و شامل بررسی ماژول اصلی، کارتهای توسعه، نصب، سیم بندی، برنامهنویسی و کنترل توسط اپلیکیشن و وب سرور میشود. در بخش برنامهنویسی تمام بلوکهای دیجیتال، شبکه، آنالوگ و غیره بررسیشده و نحوهی کار آنها روی لوگو نمایش دادهشده است. مانیتورینگ و کنترل لوگو از طریق اپلیکیشن، وب سرور و صفحههای طراحیشده توسط LWE صورت میگیرد. این موارد نیز در دورهی تصویری شرح دادهشدهاند. لطفاً جهت مشاهدهی سرفصلها و لیست ویدئوهای این دوره روی عبارت لوگو زیمنس کلیک کنید.
فیلتر آنالوگ یا Analog filter
بلوک فیلتر آنالوگ در لوگو ورژن 7 به بعد قابل استفاده است. از این فیلتر جهت نرم سازی سیگنال ورودی آنالوگ استفاده میشود. تصویر زیر شماتیک یک بلوک Analog filter لوگو را نمایش می دهد. طبق این تصویر یک بلوک فیلتر آنالوگ مجهز به ورودی آنالوگ Ax و یک خروجی آنالوگ است.
در ویدئوی زیر که برگرفته از دوره لوگو زیمنس است بلوک فیلتر آنالوگ را معرفی می کنیم:
پنجره مشخصات بلوک Analog filter را در تصویر زیر مشاهده می کنید:
سیگنال های آنالوگ قابل اتصال به ورودی آنالوگ Ax عبارتند از:
- AI1 تا AI8
- AM1 تا AM16 در ورژن 7 باشد و AM1 تا AM64 در لوگو ورژن 8
- NAI1 تا NAI32
- AQ1 و AQ2 در لوگو 7 و AQ1 تا AQ8 در لوگو 8
- NAQ1 تا NAQ16 و غیره
بلوک فیلتر آنالوگ تنها شامل پارامتر Sn یا همان Number of samples است. همانطور که می دانید لوگو مقادیر آنالوگ را در هر چرخه ی برنامه نمونه برداری میکند. تعداد چرخه های برنامه یا Program cycles برابر با مقدار تنظیم شده در پارامتر Sn میباشد. به عبارت دیگر Sn مشخص کننده ی تعداد نمونه برداری از سیگنال ورودی آنالوگ در چرخه برنامه یا Program Cycles است. در تصویر زیر مقادیر قابل تنظیم برای پارامتر Sn را مشاهده می کنید:
خروجی آنالوگ AQ متوسط مقادیر نمونه برداری شده از ورودی آنالوگ Ax است. AQ بسته به ورودی آنالوگ و تعداد نمونه ها set یا reset میشود. طبق تصویر در جعبه پارامتر بلوک بلوک فیلتر آنالوگ تنها خروجی Ax وجود دارد.
عملکرد کلی بلوک فیلتر آنالوگ به صورت زیر است:
- ابتدا بلوک Analog filter از سیگنال ورودی آنالوگ متناسب با پارامتر Sn نمونه برداری میکند.
- در ادامه متوسط مقادیر نمونه برداری شده به خروجی منتقل می شود. به این ترتیب تغییر در ورودی آنالوگ بلافاصله به خروجی Aq منتقل نخواهد شد. اگر مقدار ورودی آنالوگ طی یک Program cycle ثابت بماند آنگاه خروجی AQ در آن Program cycle به نرمی تغییر میکند. پس از به اتمام رسیدن بازه زمانی Program Cycle مقدار AQ به مقدار نهایی خواهد رسید. این مقدار نهایی همان مقدار ورودی آنالوگ است. در حالت دیگر فرض کنید مقدار ورودی آنالوگ طی یک بازه زمانی Program cycle ثابت نباشد. در این حالت مقدار نهایی خروجی AQ در آن Program cycle برابر با متوسط مقادیر نمونه برداری شده در بازه زمانی Sn از آن ورودی آنالوگ خواهد بود.
در نظر داشته باشید که مقدار بازه زمانی Program cycle برابر با همان بازه زمانی Sn است. به عنوان مثال فرض کنید Sn روی عدد 8 تنظیم شده باشد. در این حالت دیاگرام زمانی خروجی فیلتر آنالوگ به شکل زیر خواهد بود. با تنظیم Sn روی 8 می توان گفت که هر چرخه کاری یا Program cycle برابر با 8 واحد است. خروجی AQ پس از اتمام هر Program cycle برابر با متوسط مقدار 8 نمونه در آن Program cycle خواهد بود. به بیان دیگر مقدار AQ در واحد زمانی 9 برابر با متوسط مقادیر نمونه برداری شده از Ax در واحد های زمانی 1 تا 8 می باشد. در واحد زمانی 10 مقدار AQ برابر با متوسط مقادیر 8 نمونه ی AI در واحد های زمانی 2 تا 9 است.
طبق تصویر زیر ورودی آنالوگ Ax هشت بار در 8 سیکل برنامه خوانده میشود. مقادیر خوانده شده با یکدیگر جمع و سپس بر تعداد آنها یعنی 8 خواهد شد. به این ترتیب مقدار نهایی خروجی AQ برابر با میانگین محاسبه شده خواهد بود. در نظر داشته باشید که Sn بزرگ تر به معنی تعداد نمونه های بیشتر است. در این حالت سیستم باید منتظر بماند تا نمونه های بیشتری خوانده شود. تغییرات خروجی آنالوگ در Sn های بزرگ بسیار نرم تر بوده ولی سیستم کند خواهد شد. قابل ذکر است که در LOGO! Soft Comfort V7.0 و V7.0 امکان استفاده از حداکثر 8 بلوک فیلتر آنالوگ در برنامه وجود دارد.
به منظور درک بهتر از نقش بلوک فیلتر آنالوگ به این مثال توجه کنید. در این برنامه یک ورودی آنالوگ به ورودی بلوک فیلتر و ورودی بلوک تقویت کننده آنالوگ متصل شده است. طبق تصویر مقدار Gain و Offset در بلوک تقویت کننده به ترتیب برابر با 1 و 0 می باشد. با این تنظیمات خروجی بلوک تقویت کننده دقیقا همان سیگنال ورودی آن خواهد بود.
در بلوک Analog filter مقدار پارامتر SN روی 256 تنظیم شده است. به منظور مقایسه ی رفتار این دو بلوک می توان از شبیه سازی لوگو استفاده کرد. با تغییر ورودی AI در حالت شبیه سازی بلافاصله مقدار خروجی Ax در بلوک تقویت کننده آنالوگ با مقدار مشابه تغییر میکند. در بلوک فیلتر آنالوگ تغییرات به این شکل نبوده و پس از گذشت بازه ی Program cycle اعمال خواهد شد. در واقع این تغییرات پس از Program cycle با متوسط مقادیر نمونه برداری شده از ورودی AI برابر خواهد شد.
در تصویر زیر حالت شبیه سازی برنامه نمایش داده شده است. مقدار SN در این مثال برابر با 256 واحد بوده و مقدار ورودی آنالوگ از 0 به 550 تغییر داده می شود. رفتار بلوک ها در این پروسه به شکل زیر خواهد بود:
- در بلوک Analog filter مقدار صد و سی و یک واحد از 256 واحد نمونه برداری گذشته و خروجی Ax از 0 به 253.0 رسیده است.
- در همین لحظه یعنی بلافاصله پس از تغییر ورودی آنالوگ AI1 مقدار خروجی آنالوگ Ax در بلوک تقویت کننده آنالوگ برابر با 550 شده است.
بلوک Max/Min
بلوک Max/Min جهت ذخیره کردن حداقل و حداکثر مقادیر ورودی Ax استفاده می شود. همانطور که مشاهده می کنید این بلوک مجهز به ورودی های En، S1 و Ax و خروجی آنالوگ AQ است.
تصویر زیر مربوط به پنجره مشخصات بلوک Max/Min می باشد.
در این پنجره می توان مقدار پارامتر Mode را تنظیم کرد. به این منظور ک اسلایدر در نظر گرفته شده است.
مقدار دهی پارامتر Mode از طریق جعبه پارامتر بلوک نیز امکان پذیر است. در تصویر زیر جعبه پارامتر این بلوک را مشاهده می کنید.
عملکرد بلوک Max/Min به این موارد بستگی دارد:
- وضعیت پایه En
- تنظیمات پارامتر Mode
- فعال بودن یا نبودن گزینه When Enable =0, reset Max/Min
وضعیت ورودی S1 زمانی اهمیت پیدا می کند که پارامتر Mode=2 باشد. در این صورت با فعال شدن ورودی S1 مقدار خروجی AQ برابر با مقدار ماکسیمم خواهد شد. با صفر یا غیر فعال شدن ورودی S1 مقدار خروجی AQ به مینیمم تغییر پیدا می کند.
جهت ورودی Ax می توان از سیگنال های زیر استفاده کرد:
- AI1 تا AI8
- AM1 تا AM16 در لوگو 7 و AM1 تا AM64 در لوگو8
- NAI1 تا NAI32
- NAQ1 تا NAQ16 و غیره
پارامتر Mode میتواند برابر با 0، 1 ،2 یا 3 تنظیم شود. در نظر داشته باشید که امکان مقدار دهی پارامتر Mode از طریق جعبه پارامت بلوک نیز وجود دارد. به این منظور به راهنمای نرم افزار بخش مربوط به بلوک Max/Min مراجعه کنید. عملکرد کلی این بلوک به شرح زیر است:
- در صورت انتخاب باکس When Enable =0, reset Max/Min در پنجره پارامتر بلوک یکی از 2 حالت زیر رخ خواهد داد:
- اگر Enable=0 باشد آنگاه AQ=0 می شود.
- اگر Enable=1 باشد بسته به تنظیمات پارامتر Mode و ورودی S1 خروجی AQ مقداردهی خواهد شد.
- در صورت عدم انتخاب باکس When Enable =0, reset Max/Min در پنجره پارامتر بلوک یکی از 2 حالت زیر رخ خواهد داد:
- اگر Enable=0 باشد AQ در مقدار فعلی اش نگه داشته می شود.
- اگر Enable=1 باشد بسته به تنظیمات پارامتر Mode و ورودی S1 خروجی AQ مقداردهی میشود.
با توجه به موارد بالا وضعیت خروجی در حالت فعال بودن Enable به پارامتر Mode و ورودی S1 بستگی دارد. در جدول زیر به شرح مقدار خروجی و ارتباط آن با پارامترها آورده شده است:
پارامتر Mode | ورودی S1 | مقدار خروجی AQ |
0 | – | مقدار مینیمم |
1 | – | مقدار ماکسیمم |
2 | 0 | مقدار مینیمم |
2 | 1 | مقدار ماکسیمم |
3 | – | مقدار واقعی ورودی آنالوگ |
در تصویر زیر دیاگرام زمانی عملکرد بلوک را مشاهده می کنید:
تابع میانگین یا Average value
تابع میانگین در یک بازه زمانی قابل تنظیم از مقدار ورودی آنالوگ Ax نمونه برداری کرده و میانگین آن را به خروجی AQ منتقل می کند. این تابع در لوگو 0BA7 به بعد قابل استفاده است. بلوک Average Value مجهز به دو پایه دیجیتال ورودی En و R، یک پایه ورودی آنالوگ Ax و یک پایه خروجی آنالوگ AQ میباشد. در تصویر زیر شماتیک یک بلوک Average value را مشاهده می کنید.
یک شدن ورودی Enable عملکرد تابع را فعال می کند. لبه ی منفی یا تغییر سیگنال از 1 به 0 در ورودی En مقدار خروجی Ax را در آخرین مقدار محاسبه شده نگه می دارد. لبه ی مثبت در ورودی R یا Reset موجب صفر شدن مقدار خروجی Ax خواهد شد. مقدار ورودی آنالوگ Ax می تواند یکی از سیگنال های زیر باشد:
- AI1 تا AI8
- AM1 تا AM16 در لوگو 7 و AM1 تا AM64 در لوگو 8
- NAI1 تا NAI32
- AQ1 و AQ2 در لوگو 7 و AQ1 تا AQ8 در لوگو 8
- NAQ1 تا NAQ16 و غیره
تصویر زیر پنجره مشخصات بلوک Average Value است.
در پنجره مشخصات این بلوک دو پارامتر St و Sn قابل تنظیم هستند. St یا Sampling time مشخص کننده ی زمان نمونه برداری است. این پارامتر طبق جدول زیر در واحد های زمانی ثانیه، روز، ساعت یا دقیقه قابل تنظیم است.
واحد زمانی | رنج مقادیر | |
پارامتر St | ثانیه | 1 تا 59 |
روز | 1 تا 365 | |
ساعت | 1 تا 23 | |
دقیقه | 1 تا 59 |
پارامتر Sn یا Number of samples مشخص کننده ی تعداد نمونه ها است. رنج مقادیر این پارامتر به St بستگی دارد. به بیان دیگر:
- اگر واحد شمارش St برابر با Seconds باشد آنگاه Sn از 1 تا عدد St ضرب در 100 قابل تنظیم است.
- اگر واحد شمارش St برابر با Days باشد آنگاه Sn از 1 تا عدد 32767 قابل تنظیم است.
- اگر واحد شمارش St برابر با Hours باشد آنگاه Sn از 1 تا عدد 32767 قابل تنظیم است.
- اگر واحد شمارش St برابر با Minutes و St ≤ 5 باشد آنگاه Sn از 1 تا عدد St ضرب در 6000 قابل تنظیم است.
- اگر واحد شمارش St برابر با Minutes و St ≥ 6 باشد آنگاه Sn از 1 تا عدد 32767 قابل تنظیم است.
همانطور که اشاره شد پارامتر St زمان نمونه گیری و پارامتر Sn تعداد نمونه ها را نشان می دهد. در تصویر زیر دیاگرام زمانی عملکرد این تابع در یک مثال نمایش داده شده است.
نحوه ی عملکرد تابع میانگین در لوگوی زیمنس به این شرح است:
- با فعال شدن En بلوک به محاسبه میانگین مقادیر نمونه برداری شده از سیگنال Ax در بازه زمانی پیکربندی شده در پارامتر St میپردازد.
- Average value در پایان زمان نمونه برداری، مقدار محاسبه شده را به خروجی AQ منتقل میکند.
- با صفر شدن ورودی En عملیات محاسبه متوقف شده و AQ آخرین مقدار محاسبه شده را در حفظ میکند.
- با فعال شدن پایه R خروجی AQ ریست میشود.
به منظور آشنایی با نحوه ی اسکیل کردن مقادیر آنالوگ در لوگو لطفا مقاله ی پردازش مقادیر آنالوگ در لوگو را مطالعه کنید.
دیدگاه خود را ثبت کنید
تمایل دارید در گفتگوها شرکت کنید؟در گفتگو ها شرکت کنید.