ایک Micro PLC پر فلوٹنگ-پوائنٹ ریاضی: PID، اینالاگ اسکیلنگ اور جب آپ کو واقعی اس کی ضرورت ہوتی ہے

میں ایک نمبر سے شروع کرتا ہوں: 214-219۔ یہ V6.2.2 دستی میں وہ صفحہ رینج ہے جہاں فلوٹنگ-پوائنٹ بلاکس موجود ہیں۔ آپ سوچیں گے کہ وینڈر نے انہیں وہاں دفن کر دیا کیونکہ کوئی انہیں استعمال نہیں کرتا۔ غلط۔ انہوں نے انہیں وہاں دفن کیا کیونکہ انٹیجر ریاضی نوے فیصد کاموں کے لیے ٹھیک ہے — اور آخری دس فیصد وہ ہے جہاں حقیقی مشینیں موجود ہیں۔

ایک مائیکرو-PLC جو SIN، COS، TAN، LN، EXP، SQRT، حقیقی نمبر کے موازنہ اور حقیقی نمبر کی حرکت کرتا ہے۔ دس سال پہلے یہ جملہ ایک مذاق ہوتا۔ آج یہ ایک 35mm DIN-ریل ماڈیول میں بھیجا جاتا ہے جو ایک مناسب اوسیلوسکوپ پروب سے کم قیمت کا ہے۔

جب انٹیجر ریاضی آپ سے جھوٹ بولتا ہے

یہاں جال ہے۔ 0-10V اینالاگ ان پٹ کو انٹیجر ریاضی کے ساتھ اسکیل کرنا کام کرتا ہے — جب تک کہ آپ تقسیم نہ کریں۔ 6V کو 0-1000 رینج میں: انٹیجر تقسیم باقیات کو چھوڑ دیتی ہے، اور اچانک آپ کی سطح کی پڑھائی ہر اسکین میں ایک یونٹ سے ڈھل جاتی ہے۔ ایک شفٹ کے دوران، ڈھلاؤ جمع ہوتا ہے۔ ایک ہفتے کے دوران، آپ کا ٹینک بہہ جاتا ہے کیونکہ PLC نے سوچا کہ سطح ٹھیک ہے۔

فلوٹنگ پوائنٹ اس کا حل کرتا ہے۔ ایک اسکیلنگ بلاک، حقیقی نمبر سر سے سر، اور گولائی کی آواز غائب ہو جاتی ہے۔ یہ کوئی عیش و عشرت نہیں ہے۔ یہ وہی ہے جو آپ کی پمپوں کو خشک رکھتا ہے اور آپ کے صارفین کو پرسکون رکھتا ہے۔

کنکریٹ کیس: PID درجہ حرارت کنٹرول حقیقی ریاضی کے ساتھ

ایک PR-18 پر PID لوپ ترتیب دیں: اینالاگ ان پٹ ایک PT100 کو 0-10V ٹرانسمیٹر کے ذریعے پڑھتا ہے، PID بلاک حقیقی نمبر کے فوائد کے ساتھ حساب کرتا ہے، آؤٹ پٹ ہیٹر کے لیے ایک PWM چینل کو چلاتا ہے۔ فلوٹنگ-پوائنٹ انجن انٹیگرل ٹرم کو مستحکم رکھتا ہے۔ صرف انٹیجر ہارڈویئر پر، وہی لوپ دستی فائدہ کی شیڈولنگ کی ضرورت ہوتی ہے اور پھر بھی کم غلطی پر جھولتا ہے۔

میں نے ایک کمیشننگ انجینئر کو دو دن تک ایک 0.4-ڈگری جھول کے پیچھے بھاگتے ہوئے دیکھا۔ فلوٹنگ-پوائنٹ ماڈل کے لیے CPU تبدیل کیا، ایک گھنٹے میں اسے ٹیون کیا۔ ہارڈویئر کی قیمت کا فرق مضحکہ خیز تھا۔ انجینئرنگ کے وقت کا فرق نہیں تھا۔

وہ بلاکس جو آپ واقعی استعمال کریں گے

ایماندار رہیں: آپ ADD-R، SUB-R، MUL-R، DIV-R، اور SQRT استعمال کریں گے۔ شاید ROUND اور TRUNC جب HMI کو قیمتیں دیتے وقت۔ مثلثی افعال واقعی عجیب پروجیکٹس کے لیے ہیں — بہاؤ کے حسابات، سطح سے ٹینک کا حجم، کنویئر زاویہ کی تلافی۔ جب وہ عجیب درخواست آتی ہے، تو آپ یہ وضاحت نہیں کرنا چاہتے کہ آپ کا PLC کوسائن نہیں کر سکتا۔

اور سٹرنگ کی تبدیلیاں اس سے زیادہ اہم ہیں جتنا وہ لگتا ہے۔ حقیقی سے سٹرنگ، انٹیجر سے ASCII — یہی وہ طریقہ ہے جس سے آپ قابل پڑھنے والے الارم پیغامات اور ڈیٹا لاگ بناتے ہیں بغیر کسی HMI اسکرپٹنگ زبان کے۔

اس کی قیمت کیا ہے

کچھ اضافی نہیں، جب آپ صحیح CPU منتخب کرتے ہیں۔ فلوٹنگ-پوائنٹ بلاکس موجودہ دستی کی معیاری لائبریری کا حصہ ہیں، اور سافٹ ویئر مفت ہے۔ حقیقی قیمت صرف عادت کی تبدیلی ہے: انٹیجر میں سوچنا بند کریں، انجینئرنگ یونٹس میں سوچنا شروع کریں۔

صحیح اسکیلنگ

اسکیلنگ وہ جگہ ہے جہاں فلوٹنگ پوائنٹ اپنی جگہ کماتا ہے، اور یہ بھی وہ جگہ ہے جہاں زیادہ تر اسکیلنگ کی غلطیاں موجود ہیں۔ کلاسک غلطی: خام قیمت کو انٹیجر ریاضی کے ساتھ اسکیل کرنا اور ہر تقسیم پر باقیات کھو دینا۔ کلاسک حل: حقیقی نمبروں میں ریاضی کریں اور ایک بار، سرحد پر، جہاں HMI یا SCADA انٹیجر کی توقع کرتا ہے، تبدیل کریں۔ ایک اسکیلنگ بلاک، حقیقی نمبر سر سے سر، اور گولائی کی آواز غائب ہو جاتی ہے۔

اسکیلنگ مستقل کو لکھیں جہاں اگلا انجینئر انہیں تلاش کر سکے۔ ایک 4-20mA ٹرانسمیٹر جو 0-10 بار پڑھتا ہے: فارمولا، خام رینج، انجینئرنگ رینج — ان سب کو اسکیلنگ بلاک پر ایک تبصرے میں شامل کیا جانا چاہیے۔ قیمت "مہینوں تک صحیح لگتی ہے" جب تک کہ یہ نہ ہو، اور جس شخص نے اس کی خرابی کی وہ مستقل کی ضرورت کرے گا، نہ کہ اس شخص کی یادداشت جس نے انہیں منتخب کیا۔

کمیشننگ پر سرحدوں کا ٹیسٹ کریں: کم از کم، زیادہ سے زیادہ، اور درمیانی نقطہ۔ ایک اسکیلنگ بلاک جو 50% پر درست ہے لیکن 0% پر غلط ہے ایک عام نظر سے گزر جائے گا اور ایک حقیقی عمل میں ناکام ہو جائے گا۔ تین ٹیسٹ پوائنٹس، پانچ منٹ، اور اسکیلنگ مکمل ہو گئی۔

صرف انٹیجر کی غلط فہمی

ایک سوچ کا اسکول ہے جو کہتا ہے کہ ایکMicro PLCصرف انٹیجر میں رہنا چاہیے کیونکہ یہی چھوٹے کنٹرولرز کرتے ہیں۔ یہ ایک قیمت کے نقطہ نظر سے دفاعی حیثیت ہے اور ایک انجینئرنگ کے نقطہ نظر سے ناقابل دفاع ہے جب آپ کا عمل تقسیم، تناسب، یا کسی بھی چیز سے ملتا جلتا ہو جو حقیقی یونٹس ہو۔ اس پلیٹ فارم پر فلوٹنگ-پوائنٹ ہارڈویئر کی کوئی اضافی قیمت نہیں ہے؛ صلاحیت بلاک لائبریری میں ہے، کوئی پریمیم سطح نہیں۔

صرف انٹیجر سوچنے کی حقیقی قیمت دیکھ بھال میں ظاہر ہوتی ہے: کام کے ارد گرد — اسکیلڈ انٹیجر، شفٹڈ اعشاری، ہاتھ سے گھڑی ہوئی فکسڈ پوائنٹ ریاضی — بالکل وہی کوڈ ہے جسے کوئی چھ ماہ بعد نہیں سمجھتا۔ فلوٹنگ پوائنٹ عمل کی طرح پڑھتا ہے: درجہ حرارت ڈگری میں، سطح میٹر میں، بہاؤ لیٹر فی منٹ میں۔ قابل پڑھنے والا کوڈ قابل دیکھ بھال کوڈ ہے، اور قابل دیکھ بھال کوڈ ہی ہے جو سروس معاہدے کو منافع بخش رکھتا ہے۔

انٹیجر کا استعمال کریں جہاں وہ صحیح ٹول ہیں — کاؤنٹر، جھنڈے، انڈیکس کی قیمتیں۔ فلوٹس کا استعمال کریں جہاں عمل ہوتا ہے۔ پلیٹ فارم آپ کو دونوں فراہم کرتا ہے؛ نظم و ضبط ہر سگنل کے لیے منتخب کرنا ہے، مذہب کے لیے نہیں۔

HMI میں حقیقی نمبر

HMI اور SCADA اسکرینوں کو انجینئرنگ یونٹس دکھانا چاہیے، خام انٹیجر نہیں — اور اسکیلنگ PLC کے جانب رہتی ہے۔ ایک بار، ایک اسکیلنگ بلاک میں تبدیلی کریں، اور ڈسپلے ہر جگہ ڈگری، بار، اور لیٹر فی منٹ پڑھتے ہیں۔ متبادل — ہر اسکرین، ہر ٹیگ، ہر رپورٹ میں اسکیلنگ — ایک فارمولا-ٹائپو ہونے کا انتظار کر رہا ہے۔ ہر سگنل کے لیے ایک تبدیلی کا نقطہ، بلاک کے تبصرے میں دستاویزی، اور پورا نظام آپریٹر کی زبان بولتا ہے۔

یہی تبدیلی ہے۔ ہارڈویئر نے پہلے ہی اسے بنا دیا۔ آپ کا پروگرامنگ انداز اپ گریڈ کا آخری حصہ ہے۔