PLC में PID लूप को autotune कैसे करें
प्रोडक्शन में ज़्यादातर PID लूप या तो ठीक से tune नहीं होते या कभी tune ही नहीं किए गए। यहाँ जानिए कि Allen-Bradley और Siemens कंट्रोलर पर, प्रोडक्शन बंद किए बिना, इसे सही तरीके से कैसे करें।
ज़्यादातर PID लूप ठीक से tune क्यों नहीं होते
50+ PID लूप वाले एक सामान्य प्लांट में 20% से भी कम ठीक से tune होते हैं। बाकी या तो manual मोड में हैं, factory defaults पर चल रहे हैं, या commissioning के समय एक बार tune हुए और फिर कभी छुए नहीं गए।
इसके नतीजे असली हैं:
- ऊर्जा की बर्बादी — oscillate करते टेम्परेचर और प्रेशर लूप से
- क्वालिटी defects — कभी स्थिर न होने वाले process variables से
- उपकरणों की घिसावट — valves और actuators के ज़ोर-ज़ोर से cycle करने से
- ऑपरेटर की झुंझलाहट — जिससे manual overrides होते हैं और असली समस्या छिप जाती है
दो तरीके: manual बनाम autotuning
Manual tuning (Ziegler-Nichols तरीका)
क्लासिक तरीका, जो आज भी काम करता है जब आपको प्रोसेस पर नियंत्रण चाहिए:
I(integral) औरD(derivative) को शून्य पर सेट करेंP(proportional gain) धीरे-धीरे बढ़ाएँ, जब तक प्रोसेस एक स्थिर amplitude के साथ oscillate न करने लगे- Ultimate gain (Ku) और oscillation period (Tu) दर्ज करें
- Ziegler-Nichols टेबल से gains की गणना करें:
- P-only:
Kp = 0.5 * Ku - PI:
Kp = 0.45 * Ku,Ti = Tu / 1.2 - PID:
Kp = 0.6 * Ku,Ti = Tu / 2,Td = Tu / 8
- P-only:
- फिर response के आधार पर fine-tune करें
चेतावनी: Ziegler-Nichols से aggressive tuning मिलती है। Extruder या oven के टेम्परेचर लूप के लिए गणना किए गए gains के 50% से शुरू करें और धीरे-धीरे बढ़ाएँ। Heater zone पर overshoot से प्रोडक्ट या उपकरण को नुकसान हो सकता है।
बिल्ट-इन autotuning (Allen-Bradley PIDE)
ControlLogix/CompactLogix में Allen-Bradley के PIDE instruction में बिल्ट-इन autotune फ़ीचर है:
- Studio 5000 या FactoryTalk View में PIDE faceplate खोलें
- प्रोसेस को एक स्थिर operating point (steady state) पर लाएँ
AutotuneTag.ATEnableenable करें (या faceplate का बटन इस्तेमाल करें)- PIDE एक step change लगाता है और response मापता है
- नतीजे
AutotuneTag.ATKp,ATKi,ATKdमें लिखे जाते हैं - वैल्यू जाँचें, फिर उन्हें PIDE gains में ट्रांसफ़र करें
मुख्य सेटिंग्स:
ATSetpoint— autotune के दौरान लक्ष्य setpointATStepSize— step change का आकार (आमतौर पर output range का 5-10%)ATResponseType— 0 = Fast, 1 = Medium, 2 = Slow (टेम्परेचर के लिए Slow इस्तेमाल करें)
Siemens PID_Compact / PID_Temp
TIA Portal में PID_Compact और PID_Temp function blocks में autotuning पहले से शामिल है:
- PID block को अपने process variable और output के साथ कॉन्फ़िगर करें
- शुरुआती मोटी tuning के लिए
Modeको 2 (Pretuning) पर सेट करें - Pretuning पूरी होने के बाद Mode 3 (Fine tuning) पर जाएँ
- Block setpoint के आसपास oscillate करता है और सबसे उपयुक्त gains की गणना करता है
- अंतिम gains
Retain.CtrlParamsमें सेव होते हैं
आम गलतियाँ जो आपकी tuning बिगाड़ देती हैं
- ग़लत operating point पर tuning — 150C पर tune किया गया लूप 250C पर वैसा काम नहीं करेगा। उसी टेम्परेचर पर tune करें जिस पर आप असल में चलाते हैं।
- Dead time को नज़रअंदाज़ करना — लंबे पाइप, मोटी दीवार वाले vessels और धीमे सेंसर dead time बढ़ाते हैं। अगर आपका प्रोसेस output बदलाव पर 30 सेकंड में प्रतिक्रिया देता है, तो कितना भी gain उसे तेज़ नहीं करेगा।
- Valve की जाँच न करना — अटकने वाला valve या छोटा actuator ऐसी nonlinearity पैदा करता है जिसे कोई PID tuning ठीक नहीं कर सकती। पहले अपना final control element जाँचें।
- Disturbances के बीच tuning — जब upstream प्रोसेस बदल रहे हों तब autotune न करें। Steady state का इंतज़ार करें।
- Noisy सिग्नल पर derivative का इस्तेमाल — Derivative noise को बढ़ाता है। ज़्यादातर टेम्परेचर और प्रेशर लूप के लिए PI कंट्रोल (D = 0) काफ़ी है और ज़्यादा स्थिर है।
AI-सहायता वाली मॉनिटरिंग कब इस्तेमाल करें
अच्छी तरह tune किया गया लूप भी समय के साथ drift करता है। Valve की घिसावट, सेंसर का ख़राब होना और प्रोसेस में बदलाव धीरे-धीरे परफ़ॉर्मेंस घटाते हैं। संकेत बारीक होते हैं:
- हफ़्तों में बढ़ता oscillation amplitude
- Setpoint बदलने के बाद ज़्यादा settling time
- "टेम्परेचर टिक नहीं रहा" जैसी ऑपरेटर शिकायतें ज़्यादा बार
- उसी प्रोडक्ट recipe पर बढ़ती ऊर्जा खपत
पारंपरिक SCADA आपको मौजूदा PV दिखाता है। वह यह नहीं बताता कि पिछली तिमाही से आपके लूप की परफ़ॉर्मेंस 15% घट गई है।
हर लूप को रियल-टाइम में मॉनिटर करें
AlarmIQ आपके PLC से OPC-UA के ज़रिए जुड़ता है और PID परफ़ॉर्मेंस, अलार्म states और प्रोसेस की सेहत को लगातार मॉनिटर करता है। AI-आधारित डायग्नॉस्टिक्स गिरावट को ऑपरेटर के ध्यान में आने से पहले पकड़ लेते हैं।
AlarmIQ के बारे में जानेंफ़ील्ड से व्यावहारिक सुझाव
- अपनी tuning का दस्तावेज़ रखें। Kp, Ki, Kd, तारीख़, operating conditions और किसने tune किया — सब दर्ज करें। जब कोई पूछे "heater PID किसने छेड़ा?", तो आपके पास जवाब होगा।
- टेम्परेचर के लिए cascaded लूप इस्तेमाल करें। Inner लूप heater power पर, outer लूप zone टेम्परेचर पर। Cascade एक अकेले लूप की तुलना में disturbances को जल्दी दबाता है।
- व्यावहारिक अलार्म limits सेट करें। जो लूप आमतौर पर +/-5C झूलता है, उस पर +/-2C का PID अलार्म सिर्फ़ alarm fatigue पैदा करता है। पहले tune करें, फिर असली क्षमता के आधार पर limits सेट करें।
- Ramp से नहीं, step change से टेस्ट करें। Step change असली dynamic response दिखाता है। Ramp dead time और प्रोसेस की nonlinearity को छिपा देता है।
आगे पढ़ें
- OEE की गणना कैसे करें — ख़राब tune किए गए लूप का OEE पर सीधा असर पड़ता है (क्वालिटी लॉस, micro-stops)
- मैन्युफैक्चरिंग के लिए MQTT बनाम OPC-UA — अपने PLC से PID डेटा को मॉनिटरिंग सिस्टम तक कैसे पहुँचाएँ
- AlarmIQ — AI-आधारित PLC अलार्म डायग्नॉस्टिक्स और root cause ट्रेसिंग