ویڈیو: ہیبر ایڈمن کنسول۔ آپ کو کرما، درجہ بندی، اور صارفین پر پابندی لگانے کی اجازت دیتا ہے۔
TL؛ ڈاکٹر: اس مضمون میں میں Webaccess/HMI ڈیزائنر انڈسٹریل انٹرفیس ڈیولپمنٹ ماحول اور WebOP ٹرمینل کا استعمال کرتے ہوئے ایک مزاحیہ Habr کنٹرول پینل بنانے کی کوشش کروں گا۔
ہیومن مشین انٹرفیس (HMI) کنٹرول شدہ مشینوں کے ساتھ انسانی تعامل کے لیے نظاموں کا ایک مجموعہ ہے۔ عام طور پر یہ اصطلاح صنعتی نظاموں پر لاگو ہوتی ہے جن میں آپریٹر اور کنٹرول پینل ہوتا ہے۔
ویب او پی - انسانی مشین انٹرفیس بنانے کے لیے ایک خود مختار صنعتی ٹرمینل۔ پروڈکشن کنٹرول پینلز، مانیٹرنگ سسٹم، کنٹرول رومز، سمارٹ ہوم کنٹرولرز وغیرہ بنانے کے لیے استعمال کیا جاتا ہے۔ صنعتی آلات سے براہ راست کنکشن کی حمایت کرتا ہے اور SCADA سسٹم کے حصے کے طور پر کام کر سکتا ہے۔
WebOP ٹرمینل - ہارڈ ویئر
WebOP ٹرمینل ایک ARM پروسیسر پر مبنی ایک کم طاقت والا کمپیوٹر ہے، ایک ہی صورت میں مانیٹر اور ٹچ اسکرین کے ساتھ، HMI ڈیزائنر میں بنائے گئے گرافیکل انٹرفیس کے ساتھ پروگرام چلانے کے لیے ڈیزائن کیا گیا ہے۔ ماڈل پر منحصر ہے، ٹرمینلز میں بورڈ پر مختلف صنعتی انٹرفیس ہوتے ہیں: RS-232/422/485، آٹوموٹو سسٹم سے منسلک ہونے کے لیے CAN بس، اضافی پیری فیرلز کو جوڑنے کے لیے USB ہوسٹ پورٹ، ٹرمینل کو کمپیوٹر سے جوڑنے کے لیے USB کلائنٹ پورٹ، آڈیو ان پٹ اور آڈیو آؤٹ پٹ، غیر مستحکم میموری اور ترتیبات کی منتقلی کے لیے مائیکرو ایس ڈی کارڈ ریڈر۔
ڈیوائسز کو آل ان ون پی سی کے بجٹ کے متبادل کے طور پر رکھا گیا ہے، ایسے کاموں کے لیے جن کے لیے طاقتور پروسیسر اور ایک مکمل ڈیسک ٹاپ کمپیوٹر کے وسائل کی ضرورت نہیں ہے۔ WebOP کنٹرول اور ڈیٹا ان پٹ/آؤٹ پٹ کے لیے ایک اسٹینڈ ٹرمینل کے طور پر کام کر سکتا ہے، دوسرے WebOPs کے ساتھ جوڑا بنا کر، یا SCADA سسٹم کے حصے کے طور پر۔
WebOP ٹرمینل صنعتی آلات سے براہ راست جڑ سکتا ہے۔
غیر فعال کولنگ اور IP66 تحفظ
کم گرمی کی کھپت کی وجہ سے، کچھ WebOP ماڈل مکمل طور پر فعال ایئر کولنگ کے بغیر ڈیزائن کیے گئے ہیں۔ یہ آلات کو ان علاقوں میں نصب کرنے کی اجازت دیتا ہے جو شور کی سطح کے لیے حساس ہوتے ہیں اور ہاؤسنگ کے اندر دھول کی مقدار کو کم کرتے ہیں۔
سامنے والا پینل بغیر کسی خلا یا جوڑ کے بنایا گیا ہے، اس میں IP66 کی حفاظتی سطح ہے، اور دباؤ میں پانی کے براہ راست داخل ہونے کی اجازت دیتا ہے۔
WOP-3100T ٹرمینل کا پیچھے والا پینل
غیر مستحکم میموری
ڈیٹا کے نقصان کو روکنے کے لیے، WebOP کے پاس 128Kb غیر مستحکم میموری ہے، جس کے ساتھ اسی طرح کام کیا جا سکتا ہے جس طرح RAM کے ساتھ۔ یہ میٹر ریڈنگ اور دیگر اہم ڈیٹا کو محفوظ کر سکتا ہے۔ پاور فیل ہونے کی صورت میں، ڈیٹا کو ریبوٹ کرنے کے بعد محفوظ اور بحال کیا جائے گا۔
ریموٹ اپ ڈیٹ
ٹرمینل پر چلنے والے پروگرام کو ایتھرنیٹ نیٹ ورک کے ذریعے یا RS-232/485 سیریل انٹرفیس کے ذریعے دور سے اپ ڈیٹ کیا جا سکتا ہے۔ یہ دیکھ بھال کو آسان بناتا ہے، کیونکہ یہ سافٹ ویئر کو اپ ڈیٹ کرنے کے لیے تمام ٹرمینلز پر جانے کی ضرورت کو ختم کرتا ہے۔
WebOP ماڈلز
WebAccess/HMI ڈیزائنر ڈویلپمنٹ ماحول
باکس کے باہر، WebOP ٹرمینل صرف ایک کم طاقت والا ARM کمپیوٹر ہے جس پر آپ کوئی بھی سافٹ ویئر چلا سکتے ہیں، لیکن اس حل کا پورا نقطہ ملکیتی WebAcess/HMI صنعتی انٹرفیس ڈیولپمنٹ ماحول ہے۔ نظام دو اجزاء پر مشتمل ہے:
- HMI ڈیزائنر - انٹرفیس اور پروگرامنگ منطق کو تیار کرنے کا ماحول۔ پروگرامر کے کمپیوٹر پر ونڈوز کے تحت چلتا ہے۔ حتمی پروگرام کو ایک فائل میں مرتب کیا جاتا ہے اور رن ٹائم پر عمل درآمد کے لیے ٹرمینل میں منتقل کیا جاتا ہے۔ پروگرام روسی زبان میں دستیاب ہے۔
- HMI رن ٹائم - مرتب شدہ پروگرام کو حتمی ٹرمینل پر چلانے کے لیے رن ٹائم۔ یہ نہ صرف WebOP ٹرمینلز پر بلکہ Advantech UNO، MIC، اور باقاعدہ ڈیسک ٹاپ کمپیوٹرز پر بھی کام کر سکتا ہے۔ لینکس، ونڈوز، ونڈوز سی ای کے لیے رن ٹائم ورژن موجود ہیں۔
ہیلو ورلڈ - ایک پروجیکٹ بنانا
آئیے اپنے Habr کنٹرول پینل کے لیے ایک ٹیسٹ انٹرفیس بنانا شروع کریں۔ میں پروگرام کو ٹرمینل پر چلاؤں گا۔
ایک نیا پروجیکٹ بنانا اور ایک فن تعمیر کا انتخاب کرنا
مواصلاتی پروٹوکول کا انتخاب جس کے ذریعے مرتب کردہ پروگرام کو WebOP میں لوڈ کیا جائے گا۔ اس مرحلے پر، آپ ایک سیریل انٹرفیس منتخب کر سکتے ہیں، یا ٹرمینل کا IP پتہ بتا سکتے ہیں۔
پروجیکٹ تخلیق انٹرفیس۔ بائیں جانب مستقبل کے پروگرام کے اجزاء کا ایک درخت کا خاکہ ہے۔ ابھی کے لیے، ہم صرف اسکرین آئٹم میں دلچسپی رکھتے ہیں، یہ براہ راست گرافیکل انٹرفیس عناصر والی اسکرینیں ہیں جو ٹرمینل پر ظاہر ہوں گی۔
سب سے پہلے، آئیے "ہیلو ورلڈ" کے متن اور بٹنوں کا استعمال کرتے ہوئے ان کے درمیان سوئچ کرنے کی صلاحیت کے ساتھ دو اسکرینیں بنائیں۔ ایسا کرنے کے لیے، ہم ایک نئی اسکرین شامل کریں گے، اسکرین #2، اور ہر اسکرین پر ہم ایک ٹیکسٹ عنصر اور اسکرینوں (اسکرین بٹنز) کے درمیان سوئچ کرنے کے لیے دو بٹن شامل کریں گے۔ آئیے اگلی اسکرین پر جانے کے لیے ہر بٹن کو کنفیگر کرتے ہیں۔
اسکرینوں کے درمیان سوئچ کرنے کے لیے بٹن سیٹ کرنے کا انٹرفیس
ہیلو ورلڈ پروگرام تیار ہے، اب آپ اسے مرتب کر کے چلا سکتے ہیں۔ تالیف کے مرحلے میں غلط متغیرات یا ایڈریس کی صورت میں غلطیاں ہوسکتی ہیں۔ کسی بھی غلطی کو مہلک سمجھا جاتا ہے؛ پروگرام صرف اس صورت میں مرتب کیا جائے گا جب کوئی غلطی نہ ہو۔
ماحول ٹرمینل کی نقل کرنے کی صلاحیت فراہم کرتا ہے تاکہ آپ اپنے کمپیوٹر پر پروگرام کو مقامی طور پر ڈیبگ کر سکیں۔ تخروپن کی دو قسمیں ہیں:
- آن لائن تخروپن پروگرام میں بیان کردہ تمام بیرونی ڈیٹا ذرائع استعمال کیے جائیں گے۔ یہ سیریل انٹرفیس یا Modbus TCP کے ذریعے جڑے ہوئے USOs یا آلات ہو سکتے ہیں۔
- آف لائن تخروپن - بیرونی آلات کے استعمال کے بغیر نقلی۔
اگرچہ ہمارے پاس بیرونی ڈیٹا نہیں ہے، ہم پہلے پروگرام کو مرتب کر کے آف لائن سمولیشن استعمال کرتے ہیں۔ حتمی پروگرام نام کے ساتھ پروجیکٹ فولڈر میں واقع ہوگا۔ ProjectName_ProgramName.px3
سمولیشن میں چلنے والے پروگرام کو ماؤس کرسر سے اسی طرح کنٹرول کیا جا سکتا ہے جس طرح یہ WebOP ٹرمینل کی ٹچ اسکرین پر ہوتا ہے۔ ہم دیکھتے ہیں کہ ہر چیز ارادے کے مطابق کام کرتی ہے۔ زبردست.
پروگرام کو فزیکل ٹرمینل پر ڈاؤن لوڈ کرنے کے لیے، صرف ڈاؤن لوڈ بٹن پر کلک کریں۔ لیکن چونکہ میں نے ٹرمینل کے کنکشن کو ڈیولپمنٹ ماحول سے کنفیگر نہیں کیا، اس لیے آپ USB فلیش ڈرائیو یا مائیکرو ایس ڈی میموری کارڈ کا استعمال کرکے فائل کو آسانی سے منتقل کر سکتے ہیں۔
پروگرام کا انٹرفیس بدیہی ہے، میں ہر گرافک بلاک سے نہیں گزروں گا۔ پس منظر، شکلیں اور متن بنانا ہر اس شخص کے لیے واضح ہو جائے گا جس نے ورڈ سے ملتے جلتے پروگرام استعمال کیے ہوں۔ گرافیکل انٹرفیس بنانے کے لیے، کسی پروگرامنگ کی مہارت کی ضرورت نہیں ہے؛ تمام عناصر کو فارم پر ماؤس گھسیٹ کر شامل کیا جاتا ہے۔
میموری کے ساتھ کام کرنا
اب جب کہ ہم جانتے ہیں کہ گرافک عناصر کیسے بنانا ہے، آئیے سیکھتے ہیں کہ متحرک مواد اور اسکرپٹ کی زبان کے ساتھ کیسے کام کیا جائے۔ آئیے متغیر سے ڈیٹا ڈسپلے کرنے والا بار چارٹ بنائیں یو $ 100. چارٹ کی ترتیبات میں، ڈیٹا کی قسم منتخب کریں: 16 بٹ انٹیجر، اور چارٹ کی قدروں کی حد: 0 سے 10 تک۔
یہ پروگرام تین زبانوں میں اسکرپٹ لکھنے کی حمایت کرتا ہے: VBScript، JavaScript اور اس کی اپنی زبان۔ میں تیسرا آپشن استعمال کروں گا کیونکہ دستاویزات میں اس کی مثالیں موجود ہیں اور ایڈیٹر میں خودکار نحو کی مدد ملتی ہے۔
آئیے ایک نیا میکرو شامل کریں:
آئیے ایک متغیر میں ڈیٹا کو بتدریج تبدیل کرنے کے لیے کچھ آسان کوڈ لکھتے ہیں جسے چارٹ پر ٹریک کیا جا سکتا ہے۔ ہم متغیر میں 10 کا اضافہ کریں گے، اور 100 سے زیادہ ہونے پر اسے صفر پر دوبارہ ترتیب دیں گے۔
$U100=$U100+10
IF $U100>100
$U100=0
ENDIF
اسکرپٹ کو ایک لوپ میں چلانے کے لیے، اسے جنرل سیٹ اپ سیٹنگز میں مین میکرو کے طور پر سیٹ کریں، 250ms کے عمل کے وقفے کے ساتھ۔
آئیے سمیلیٹر میں پروگرام کو مرتب اور چلاتے ہیں:
اس مرحلے پر، ہم نے میموری میں ڈیٹا کو جوڑنا اور اسے بصری طور پر ظاہر کرنا سیکھ لیا ہے۔ یہ پہلے سے ہی ایک سادہ مانیٹرنگ سسٹم بنانے کے لیے کافی ہے، بیرونی آلات (سینسر، کنٹرولرز) سے ڈیٹا وصول کرنا اور انہیں میموری میں ریکارڈ کرنا۔ HMI ڈیزائنر میں مختلف ڈیٹا ڈسپلے بلاکس دستیاب ہیں: تیروں، مختلف چارٹس اور گراف کے ساتھ سرکلر ڈائل کی شکل میں۔ JavaScript اسکرپٹ کا استعمال کرتے ہوئے، آپ HTTP کے ذریعے بیرونی ذرائع سے ڈیٹا ڈاؤن لوڈ کر سکتے ہیں۔
ہیبر کنٹرول پینل
حاصل کردہ مہارتوں کو استعمال کرتے ہوئے، ہم Habr ایڈمن کنسول کے لیے ایک مزاحیہ انٹرفیس بنائیں گے۔
ہمارا ریموٹ کنٹرول اس قابل ہونا چاہئے:
- صارف پروفائلز کو تبدیل کریں۔
- کرما اور درجہ بندی کا ڈیٹا اسٹور کریں۔
- سلائیڈرز کا استعمال کرتے ہوئے کرما اور درجہ بندی کی قدروں کو تبدیل کریں۔
- جب آپ "پابندی" بٹن پر کلک کرتے ہیں، تو پروفائل کو ممنوعہ کے طور پر نشان زد کیا جانا چاہیے، اوتار کو کراس آؤٹ میں تبدیل کر دینا چاہیے۔
ہم ہر پروفائل کو ایک علیحدہ صفحہ پر ظاہر کریں گے، لہذا ہم ہر پروفائل کے لیے ایک صفحہ بنائیں گے۔ ہم کرما اور درجہ بندی کو میموری میں مقامی متغیرات میں ذخیرہ کریں گے، جو پروگرام شروع ہونے پر سیٹ اپ میکرو کا استعمال کرتے ہوئے شروع کیا جائے گا۔
کرما اور درجہ بندی کو ایڈجسٹ کرنا
کرما کو ایڈجسٹ کرنے کے لیے ہم سلائیڈر (Slide Switch) استعمال کریں گے۔ ہم سیٹ اپ میکرو میں شروع ہونے والے متغیر کو ریکارڈنگ ایڈریس کے طور پر بتاتے ہیں۔ آئیے سلائیڈر ویلیو کی رینج کو 0 سے 1500 تک محدود کرتے ہیں۔ اب جب سلائیڈر حرکت کرتا ہے تو میموری پر نیا ڈیٹا لکھا جائے گا۔ اس صورت میں، سلائیڈر کی ابتدائی حالت میموری میں متغیر کی اقدار کے مطابق ہوگی۔
کرما اور درجہ بندی کی عددی اقدار کو ظاہر کرنے کے لیے، ہم عددی ڈسپلے عنصر استعمال کریں گے۔ اس کے آپریشن کا اصول "ہیلو ورلڈ" پروگرام کی مثال کے خاکے سے ملتا جلتا ہے؛ ہم صرف مانیٹر ایڈریس میں متغیر کا پتہ بتاتے ہیں۔
پابندی کا بٹن
"پابندی" بٹن ٹوگل سوئچ عنصر کا استعمال کرتے ہوئے لاگو کیا جاتا ہے۔ ڈیٹا اسٹوریج کا اصول اوپر دی گئی مثالوں کی طرح ہے۔ ترتیبات میں، آپ بٹن کی حالت کے لحاظ سے مختلف متن، رنگ یا تصویر منتخب کر سکتے ہیں۔
جب بٹن دبایا جاتا ہے، تو اوتار کو سرخ رنگ میں کراس کرنا چاہیے۔ یہ تصویر ڈسپلے بلاک کا استعمال کرتے ہوئے لاگو کرنا آسان ہے۔ یہ آپ کو ٹوگل سوئچ بٹن کی حالت سے وابستہ متعدد تصاویر کی وضاحت کرنے کی اجازت دیتا ہے۔ ایسا کرنے کے لیے، بلاک کو وہی پتہ دیا جاتا ہے جیسا کہ بٹن کے ساتھ بلاک اور ریاستوں کی تعداد۔ اوتار کے نیچے نام کی تختیوں والی تصویر بھی اسی طرح ترتیب دی گئی ہے۔
حاصل يہ ہوا
مجموعی طور پر، مجھے پروڈکٹ پسند آئی۔ اس سے پہلے، مجھے اسی طرح کے کاموں کے لیے اینڈرائیڈ ٹیبلٹ استعمال کرنے کا تجربہ تھا، لیکن اس کے لیے ایک انٹرفیس تیار کرنا زیادہ مشکل ہے، اور براؤزر APIs پیری فیرلز تک مکمل رسائی کی اجازت نہیں دیتے۔ ایک WebOP ٹرمینل اینڈرائیڈ ٹیبلیٹ، کمپیوٹر اور کنٹرولر کے امتزاج کی جگہ لے سکتا ہے۔
HMI ڈیزائنر، اپنے قدیم ڈیزائن کے باوجود، کافی ترقی یافتہ ہے۔ خصوصی پروگرامنگ کی مہارتوں کے بغیر، آپ تیزی سے کام کرنے والے انٹرفیس کا خاکہ بنا سکتے ہیں۔ مضمون میں تمام گرافک بلاکس پر بحث نہیں کی گئی ہے، جن میں سے بہت کچھ ہیں: متحرک پائپ، سلنڈر، گراف، ٹوگل سوئچ۔ باکس سے باہر یہ بہت سے مشہور صنعتی کنٹرولرز کو سپورٹ کرتا ہے اور ڈیٹا بیس کنیکٹرز پر مشتمل ہے۔
حوالہ جات
WebAccess/HMI ڈیزائنر اور رن ٹائم ڈیولپمنٹ ماحول ڈاؤن لوڈ کیا جا سکتا ہے۔