بخشی از مقاله
چکیده - توسعه سیستمهای توکار و نفوذ آن در زندگی عموم مردم ایجاب میکند که در این سیستمها از رابط گرافیکی مناسب استفاده شود تا ارتباط با آن به راحتی و سهولت صورت پذیرد. فرآیندهایی نظیر کنترل دمای مخازن، دور موتور توربینها و ژنراتورها، کنترل سیستم امنیتی یک ساختمان، وضعیت کاری یک ماشین لباسشویی همه نیازمند ارتباطی ساده با کاربر خود جهت دریافت فرامین و نمایش وضعیت خود هستند. اما طراحی و پیادهسازی سریع و مناسب چنین رابط هایی با استفاده از کتابخانههای معمول که تنها قادر به رسم اشکال هندسی ساده هستند کاری بس دشوار است. راه حل دیگر روی آوردن به ماژولهای آماده موسوم به - Human Machin Interface - HMI است که علاوه بر قیمت بالا در همه موارد قابل استفاده نیستند.
در این مقاله روشی برای پیادهسازی رابط های گرافیکی برای سیستمهای توکار ارائه خواهد شد که جایگزینی مناسب برای ماژولهای HMI خواهد بود و در عین حال امکانات گرافیکی زیادی را در اختیار طراح سیستمهای توکار قرار میدهد تا بتواند رابط گرافیکی مناسب و کم هزینهای را برای سیستم خود طراحی کند. در این مقاله پس از ارائه روش پیشنهادی نمونهای از استفاده از این روش برای پیادهسازی رابط گرافیکی برای یک کنترلر PID ارائه شده است.
-1 مقدمه
امروزه با توسعه سیستمهای توکار1 و فرایندهای کنترلی دیجیتال، نیاز به ساده سازی فرآیندها برای تعامل با آن و مانیتورینگ اطلاعات یک پروسه از اهمیت ویژهای برخوردار گشته است.[1] در این میان استفاده از ابزارگرافیکی و بصری بهترین و پر کاربردترین گزینهاند که از چراغ های رنگی داشبورد خودرو تا مانیتورهای دقیق صنعتی را شامل میشوند. فرآیندهایی نظیر کنترل دمای مخازن، دور موتور توربینها و ژنراتورها، کنترل سیستم امنیتی یک ساختمان، وضعیت کاری یک ماشین لباسشویی همه نیازمند ارتباطی ساده با کاربر خود جهت دریافت فرامین و نمایش وضعیت خود هستند.[2] طراحی رابط گرافیکی برای سیستمهای توکار به دو روش انجام میشود: روش اول، استفاده از ماژول های آماده موسوم به 2HMI است. [3] روش دوم، استفاده از کتابخانههای گرافیکی است.[4] در ادامه به معرفی این دو روش پرداخته میشود.
-1-1 رابط گرافیکی مبتنی بر HMI
میدهد که مانیتورینگ و ارسال فرامین برای یک فرایند کنترلی را به صورت بصری ممکن میسازند. با پیشرفت HMI ها امکانات ارتباطی گوناگون، خواندن از کارتهای حافظه و صفحات لمسی نیز به آنها افزوده شده است.[3] امکانات جانبی دستگاههای HMIباعث افزایش قیمت آنها شده در صوتی که همه این امکانات در یک پروژه کاربرد ندارند. از طرفی این دستگاهها توانایی محاسبات و پیاده سازی الگوریتمها را نداشته و تمرکز اصلی آنها روی مانیتورینگ فرایند است. شرکتهای اصلی سازنده HMI عبارتند از: SIMENS, .DELTA, OMRON , Allen Bradley قیمت دستگاههای HMI نسبتا بالا میباشد به عنوان مثال قیمت نمایشگر 5,7" یک HMI شرکت زیمنس حدود 428,48 دلار است.[5]
-2-1 رابط گرافیکی مبتنی بر کتابخانههای گرافیکی
رابط های گرافیکی که بر اساس کتابخانههای گرافیکی ایجاد می شوند عموما به این شکل هستند که از توابع استانداردی که در قالب یک کتابخانه گرافیکی آماده شده اند استفاده میکنند. با توجه به اینکه کتابخانه گرافیکی دارای چه قابلیتهایی باشد رابط گرافیکی نیز میتواند از یک شکل ساده تا گرافیک سه بعدی باشد. در مرجع [4] لیست کاملی از این کتابخانه ها ذکر شده است. گرافیکی ارائه خواهد شد. کتابخانه گرافیکی که برای این طرح ارائه شده است کتابخانه emWin است.
در ادامه در بخش 2، معیارهای انتخاب یک کتابخانه گرافیکی مناسب معرفی خواهند شد سپس در بخش 3، روش پورت کردن کتابخانه انتخاب شده روی یکی از میکروکنترلرهای شرکت آرم توضیح داده میشود و در بخش 4، نحوه طراحی رابط کاربر توضیح داده خواهد شد و در ادامه در بخش 5، یک نمونه عملی از طراحی رابط کاربر با استفاده از این کتابخانه ارائه خواهد شد. و نهایتا در بخش 6 نتیجه گیری ارائه خواهد شد.
-2 معیارهای انتخاب کتابخانه گرافیکی
انتخاب یک کتابخانه گرافیکی مناسب برای طراحی رابط گرافیکی در سیستمهای توکار بر اساس دو دسته قابلیت صورت میگیرد: دسته اول، قابلیتهای سخت افزای است و دسته دوم، قابلیتهای نرم افزاری است.[6] از لحاظ قابلیتهای سخت افزاری، کتابخانه گرافیکی باید داری قابلیتهای زیر باشد:
· پشیتیبانی از انواع پردازندههای
· پشتیبانی از انواع نمایشگرهای تک رنگ - MonoChorome - ،سیاه و سفید و رنگی
· پشتیبانی از بازه وسیعی از کنترل کننده های نمایشگر
· پشتیبانی از صفحه کلیدها، موشواره و صفحات لمسی از لحاظ قابلیتهای نرم افزاری، کتابخانه گرافیکی باید داری قابلیتهای زیر باشد:
• سازگار با کامپایلرهای زبان C مانند Visual Studio, IAR, keil,..
· قابلیت چند لایه ای کردن تصویر
· آماده سازی چندین فریم در حافظه قبل از نمایش
· افزایش محیط قابل نمایش با صفحه نمایش مجازی
· اعمال جلوه و افکت به تصویر
· نمایش فیلم
· شبیه سازی پنجرهها، آیکونها و کلیدهای ویندوز
· برخورداری از اشیا پر کاربرد همچون سرعت سنج، نمودار و گراف
· ابزارهای کمکی برای طراحی، تست و شبیه سازی
· قابلیت نمایش زبان های مختلف همچون فارسی، عربی، هندی و...
· پشتیبانی از اشکال گرافیکی 2 بعدی فونت ها و رسم تصاویر
· پشتیبانی از چند صفحه نمایش به صورت همزمان
· قابلیت محو کردن لبهها3 کتابخانه های گرافیکی متعددی برای طراحی رابط گرافیکی ارائه شده اند نظیر در بین این کتابخانهها، کتابخانه emWin از معدود کتابخانه هایی است که تمام قابلیتهای سخت افزاری و نرم افزاری ذکر شده را دارا میباشد. در ادامه این بخش، کتابخانه emWin معرفی خواهد شد.
-1-2 معرفی کتابخانه emWin
emWin یک رابط گرافیک کاربری تولید شرکت Segger است و مستقل از نوع پردازنده و نمایشگر میتواند با یا بدون سیستم عامل مورد استفاده قرار گیرد.[7] کدها و الگوریتم های این کتابخانه جهت استفاده در سیستمهای توکار - Embedded Systems - از نظر حجم و سرعت بهینه سازی شده اند. سورس این کتابخانه که از قویترین رابط گرافیک های موجود برای سیستمهای توکار است اکنون تحت نامهایی چون GUI uC/GUI , uEZ و IAR PowerPac GUI مورد استفاده شرکتهای بزگ قرار گرفته است.
این کتابخانه وابستگی به نوع معماری CPU ندارد و برای اجرا تنها نیازمند کامپایلر $16, "&" است. سرعت آپدیت شدن نمایشگر را تعداد پیکسل های آن و سرعت انتقال اطلاعات بین CPU و کنترل کننده LCD تعیین میکند. طیف وسیعی از کنترل کنندههای LCD با روشها مختلف ارتباطی Paraller, I2C ,SPIدر این کتابخانه قابل پشنیبانی هستند و در موارد خاص بدون کنترل کننده هم درایوری برای اتصال مستقیم CPU به LCD وجود دارد. حتی کاربر بدون در دست داشتن LCD میتواند تصویر خود را تحت شبکه منتقل کرده و در PC نمایش دهد. کتابخانه emWin در دو مدل ساده و مدل بسط داده شده قابل استفاده است. در جدول 1 نیازهای سخت افزاری این کتابخانه ارائه شده است.