Modbus मास्टर या स्लेव? कैसे xLogic एक ही RS485 बस पर दोनों भूमिकाएँ निभाता है

पाँच इंटीग्रेटर्स से पूछें कि एकMicro PLCModbus नेटवर्क पर क्या होना चाहिए, और चार कहेंगे स्लेव। पाँचवाँ - जो CPU पोर्ट्स से बाहर हो गया है - सच जानता है: पाँचवाँ चाहता है कि PLC मास्टर हो।

xLogic दोनों करता है। मैनुअल इसे स्पष्ट रूप से बताता है: CPU Modbus नेटवर्क में स्लेव या मास्टर के रूप में कार्य कर सकता है, भौतिक परत के आधार पर Modbus RTU, ASCII या TCP बोलते हुए। यह लचीलापन उस PLC के बीच का अंतर है जो आपकी आर्किटेक्चर में फिट बैठता है और उस PLC के बीच जो आपको इसे फिर से डिज़ाइन करने के लिए मजबूर करता है।

स्लेव मोड: आरामदायक डिफ़ॉल्ट

अधिकांश इंस्टॉलेशन सरल होते हैं: एक HMI या SCADA PLC को पोल करता है। CPU RS485 पर बैठता है - या तो अंतर्निहित पोर्ट के माध्यम से या PR-RS485/SR-RS485 मॉड्यूल के लिए CPU बिना एक स्वदेशी पोर्ट के - और Modbus RTU अनुरोधों का उत्तर देता है। पता लगाने का मानक मानचित्र का पालन करता है: इनपुट, आउटपुट, फ्लैग, एनालॉग फ्लैग, रजिस्टर, शिफ्ट रजिस्टर। स्टेशन पता सेट करें, बौड दर सेट करें (9600 डिफ़ॉल्ट है; यदि आपको गति चाहिए तो पहले CPU पर इसे बदलें), और पोलिंग बस काम करता है।

एक बस पर कई उपकरण? प्रत्येक को एक अद्वितीय पता दें। मैनुअल इस बारे में स्पष्ट है - डुप्लिकेट पते संचार को "गलत" बनाते हैं, जो इंजीनियर-भाषा में "चुपचाप डेटा को भ्रष्ट करता है"।

मास्टर मोड: शांत सुपरपावर

यहाँ आर्किटेक्चर खुलता है। CPU को बस पर मास्टर के रूप में रखें, और यह पोल कर सकता है:

  • स्पीड फीडबैक और दोष कोड के लिए VFDs
  • उपभोग कुल के लिए ऊर्जा मीटर
  • CAN के बजाय Modbus पर दूरस्थ विस्तार-शैली I/O
  • वितरित लॉजिक के लिए एक दूसरा PLC — यहां तक कि एक तीसरा भी

अचानक एक कॉम्पैक्ट PLC एक छोटे सेल का मस्तिष्क बन जाता है, आधा दर्जन उपकरणों से डेटा को संचित करता है और इसे एथरनेट के माध्यम से SCADA को अग्रेषित करता है। यह एक DIN-रेल मॉड्यूल में एक पूरे पैनल के हार्डवेयर को समेटता है।

वास्तविक आर्किटेक्चर: पंप स्टेशन

दो पंप, एक स्तर ट्रांसमीटर (4-20mA), दो फ्लो मीटर, एक VFD। मास्टर मोड: CPU मीटर और VFD को RS485 पर पोल करता है, स्तर PID और वैकल्पिक लॉजिक चलाता है, एकत्रित मानों को Modbus TCP के माध्यम से एक PC पर प्रकाशित करता है जो मुफ्त easySCADA पैकेज चला रहा है। एक PLC। एक नेटवर्क। कोई गेटवे नहीं, कोई प्रोटोकॉल कनवर्टर नहीं, कोई दूसरा CPU नहीं।

Modbus पढ़ने/लिखने के ब्लॉकों के साथ कुल कॉन्फ़िगरेशन समय: एक दोपहर। पुराने डिज़ाइन को तीन उपकरणों और दो हैंडशेक दस्तावेज़ों की आवश्यकता थी।

व्यावहारिक सलाह

एक स्लेव के रूप में शुरू करें। यह कम जोखिम वाला मार्ग है और अधिकांश पैनलों को कवर करता है। जब दूसरा उपकरण बस पर दिखाई देता है और आप चाहते हैं कि PLC इसे सीधे पढ़े, तो मोड बदलें और मास्टर भूमिका का उपयोग करें। सीखने की अवस्था एक दोपहर है - लाभ एक आर्किटेक्चर है जो बिना नए हार्डवेयर के स्केल करता है।

हाइब्रिड आर्किटेक्चर: स्थानीय रूप से मास्टर, वैश्विक रूप से स्लेव

यहाँ वह कॉन्फ़िगरेशन है जो सबसे अधिक तर्क जीतता है: CPU अपने स्थानीय RS485 बस पर Modbus मास्टर के रूप में कार्य करता है - VFDs, मीटर, दूरस्थ I/O को पोल करता है - और एक साथ एथरनेट पक्ष पर Modbus स्लेव के रूप में कार्य करता है, TCP के माध्यम से SCADA के पोल का उत्तर देता है। स्थानीय नियंत्रण निश्चित और स्थानीय रहता है; वैश्विक दृश्यता बिना दूसरे PLC या गेटवे के ऊपर की ओर बहती है।

वह हाइब्रिड एक छोटे सेल के लिए स्वाभाविक आर्किटेक्चर है। मशीन लॉजिक प्रक्रिया मानों का स्वामित्व करता है; SCADA एक साफ रजिस्टर मानचित्र देखता है; और दोनों कभी भी एक ही तार के लिए प्रतिस्पर्धा नहीं करते। जब SCADA का एक बुरा दिन होता है, तो सेल चलता रहता है - स्थानीय मास्टर भूमिका ऊपर की पोल पर निर्भर नहीं करती।

दोनों भूमिकाओं के लिए रजिस्टर मानचित्र को एक साथ डिज़ाइन करें: स्थानीय पोल एक डेटा ब्लॉक में लिखते हैं, स्लेव मानचित्र उसी ब्लॉक को प्रकाशित करता है। एक सेट रजिस्टर, दो प्रोटोकॉल उन्हें पढ़ते हैं, शून्य डुप्लिकेशन। पिछले अनुभाग से मानचित्र अनुशासन इस डिज़ाइन में अपने आप को दो बार चुकता करता है।

कब Modbus को पूरी तरह से छोड़ें

Modbus कामकाजी घोड़ा है, लेकिन यह हमेशा उत्तर नहीं होता। यदि साइट को भवन-प्रबंधन एकीकरण की आवश्यकता है, तो BACnet वह भाषा है जो BMS बोलता है - और एथरनेट-सक्षम CPUs इसे ले जाते हैं। यदि डेटा को फायरवॉल के माध्यम से क्लाउड तक पहुँचना चाहिए, तो MQTT बिना खुले पोर्ट के प्रकाशित करता है। यदि आवश्यकता सरल स्थानीय नियंत्रण है बिना किसी बाहरी उपकरण के, तो Modbus कुछ नहीं जोड़ता - CPU स्वतंत्र रूप से चलता है।

मल्टी-प्रोटोकॉल कहानी एक मेनू है, अनिवार्य नहीं। Modbus से शुरू करें क्योंकि यह हर जगह है और यह सस्ता है; जब भवन जुड़ता है तो BACnet जोड़ें; जब क्लाउड बुलाता है तो MQTT जोड़ें। प्रत्येक अतिरिक्त एक ही CPU पर एक कॉन्फ़िगरेशन कदम है, हार्डवेयर परिवर्तन नहीं। यह एक प्लेटफॉर्म की आर्किटेक्चर है जो परियोजना के साथ बढ़ती है बजाय इसके कि प्रवास को मजबूर करे।

और जब एक ग्राहक एक प्रोटोकॉल पर जोर देता है जो प्लेटफॉर्म नहीं बोलता - ऐसा होता है - ईमानदार उत्तर एक गेटवे है, और ईमानदार बिक्री बातचीत आदेश से पहले होती है, कमीशन तर्क के बाद नहीं।

32-बिट रजिस्टर प्रश्न

जल्द या बाद में एक उपकरण 32-बिट मान प्रकाशित करता है - एक ऊर्जा मीटर का कुल, एक प्रवाह कुलीकरण - और क्लासिक गलती इसका आधा पढ़ना है। Modbus 32-बिट मानों को दो लगातार रजिस्टरों में विभाजित करता है, और बाइट क्रम एक बातचीत है, मानक नहीं। उपकरण मैनुअल की जाँच करें, मानचित्र में शब्द क्रम से मेल खाएं, और इसे अलार्म लॉजिक में वायर करने से पहले ज्ञात मान के खिलाफ सत्यापित करें। गलत शब्द क्रम ऐसे रीडिंग उत्पन्न करता है जो संभावित और बिल्कुल गलत होते हैं - सबसे महंगा प्रकार।

और वायरिंग को ईमानदार रखें: RS485 को एक सामान्य ग्राउंड और अंत में उचित टर्मिनेशन की आवश्यकता होती है। प्रोटोकॉल बहुत कुछ सहन कर सकता है। इलेक्ट्रिकल परत सब कुछ सहन नहीं कर सकती। ट्विस्टेड पेयर, सही ध्रुवता, एक ग्राउंड संदर्भ - यही वर्षों तक शांत Modbus संचालन का पूरा रहस्य है।