क्या सीढ़ी लॉजिक कार्यक्रमों के लिए स्रोत नियंत्रण के लिए यथार्थवादी / उपयोगी समाधान हैं


17

प्रोग्रामेबल लॉजिक कंट्रोलर्स (PLC) के लिए लैडर लॉजिक (LL) प्रोग्राम्स के लिए वर्जन कंट्रोल वस्तुतः न के बराबर होता है। ऐसा इसलिए हो सकता है क्योंकि LL एक दृश्य भाषा है और बाइनरी फ़ाइलों में संग्रहीत की जाती है, या ऐसा इसलिए हो सकता है क्योंकि स्रोत कोड नियंत्रण प्रक्रिया नियंत्रण इंजीनियरिंग सर्कल में "पर" नहीं पकड़ा गया है - या शायद मेरा Google-Fu आज रात कमजोर है।

क्या आप ऐसी प्रणालियों के लिए संस्करण नियंत्रण के किसी भी यथार्थवादी और उपयोगी समाधान के बारे में जानते हैं?

परिभाषाएं:

  • यथार्थवादी = कार्यक्रमों में परिवर्तन उपयोगकर्ता द्वारा ट्रैक किए जाते हैं और प्रत्यावर्तन और विलय के अधीन होते हैं
  • उपयोगी = सिस्टम दृश्य एलएल डिजाइनरों के साथ एकीकृत करता है, एक पीएलसी निर्माता से एलएल तक सीमित नहीं है, और एक हास्यास्पद राशि खर्च नहीं करता है?

नोट: मैंने द्विआधारी फ़ाइलों को ट्रैक करने के लिए SVN या मर्क्यूरियल एट अल का उपयोग करने वाले लोगों के बारे में सुना है, लेकिन मुझे नहीं लगता कि अंतर / मर्ज क्षमता पठनीय अंतर प्रदर्शित करेगी।

परिशिष्ट:

सबसे पहले हमें केवल एलन-ब्रैडली पीएलसी का समर्थन करना था। अब हमारे पास सीमेंस और माइक्रोग्लिक्स पीएलसी भी हैं। अभी भी एक व्यवहार्य समाधान के लिए खोज ...


1
यह प्रश्न आपके लिए प्रासंगिक हो सकता है: stackoverflow.com/questions/4216619/plc-version-control
blueberryfields

हाय @Stevenalowe, क्या इस विषय पर कोई विकास हुआ है?
मॉन्टैग्यूहिन

@EnmosProje: ऐसा नहीं है कि मुझे पता है, माफ करना!
स्टीवन ए। लोव

जवाबों:


13

दुर्भाग्य से इसका उत्तर आपके द्वारा उपयोग किए जा रहे पीएलसी विक्रेता पर निर्भर करता है। उनमें से ज्यादातर अपने कोड को मालिकाना फ़ाइल स्वरूपों में संग्रहीत करते हैं, इसलिए नियमित स्रोत नियंत्रण का उपयोग करना मुश्किल हो जाता है।

Rockwell FactoryTalk एसेटकेंटर प्रदान करता हैयदि आप एलन-ब्रैडली का उपयोग कर रहे हैं, तो । मैंने इसकी कीमत नहीं लगाई है, लेकिन यह महंगा है। यह हालांकि स्रोत नियंत्रण से अधिक है।

मैंने बेकहॉफ़ ट्विनकैट पीएलसी फ़ाइलों के साथ नियमित (मर्क्यूरियल) स्रोत नियंत्रण का उपयोग किया है। यह ठीक काम करने लगता है, लेकिन मुझे कभी किसी के साथ विलय नहीं करना पड़ा। इस साल के अंत में आने वाले ट्विनकैट (3) का उनका नया संस्करण विजुअल स्टूडियो 2010 पर बनाया जाना चाहिए, और मैं मान रहा हूं कि संस्करण नियंत्रण एकीकरण के लिए बेहतर आउट-ऑफ-द-बॉक्स प्रसाद होंगे। उंगलियों को पार कर।

शुरुआत की

मैं सिर्फ यह जोड़ना चाहता था कि मैंने अब नए ट्विनकैट 3 उत्पाद का उपयोग किया है, और मैं मर्क्यूरियल (टोर्टोइसेग और विजुअलहॉग ऐड-इन विज़ुअल स्टूडियो का उपयोग कर रहा हूं)। यह बहुत अच्छा काम कर रहा है। सबसे पहले VisualHg यह विजुअल स्टूडियो 2010 IDE में बहुत एकीकृत महसूस करता है जो ट्विनकैट 3 का उपयोग करता है। हालाँकि, ट्विनकैट 3 कार्यक्रमों के लिए स्रोत कोड आमतौर पर एक्सएमएल फाइलों में संग्रहीत किया जाता है। यह अन्य विक्रेता के स्वामित्व वाले द्विआधारी प्रारूपों पर एक विशाल सुधार है जिसका मैंने उपयोग किया है, लेकिन यह अभी भी अच्छी तरह से विलय नहीं करता है। एक्सएमएल में कुछ फ़ाइलों में कोई लाइन ब्रेक नहीं है (मैंने बेकहॉफ को इसके बारे में लिखा है) जिसका मतलब है कि लाइन-बाय-लाइन सोर्स कंट्रोल सिस्टम बहुत कुछ नहीं करता है। इसके अलावा, चूंकि यह एक्सएमएल है, एक्सएमएल फाइल में नोड्स का ऑर्डर बेतरतीब ढंग से बदलता है, तब भी जब आप कोई बदलाव नहीं करते हैं। इसके अलावा, मुझे लगता है कि यह कभी-कभी कुछ नोड्स के लिए नई आईडी जेनरेट करता है, जब यह नहीं होता है, जो कि एचजी पर लेने वाले शानदार परिवर्तनों के लिए बनाता है। यह प्रभावी रूप से एक ही समय में 2 प्रोग्रामर द्वारा ट्विनकैट 3 कार्यक्रम में परिवर्तन करना असंभव बनाता है, और फिर परिवर्तनों को मर्ज करता है। यह ट्विनकैट 3 डेवलपर्स द्वारा एक दुर्भाग्यपूर्ण निरीक्षण है, जो निस्संदेह अपने स्वयं के काम में नियमित रूप से स्रोत नियंत्रण का उपयोग करते हैं, और हमें कम स्वचालन प्रोग्रामर के लिए लाभ नहीं देखते हैं कि उनके पास समान शक्तिशाली उपकरणों तक पहुंच है। :( जो निस्संदेह अपने स्वयं के काम में नियमित रूप से स्रोत नियंत्रण का उपयोग करते हैं, और हमारे लिए नीच स्वचालन प्रोग्रामर का लाभ नहीं देखा है, वैसे ही शक्तिशाली उपकरणों तक पहुंच है। :( जो निस्संदेह अपने स्वयं के काम में नियमित रूप से स्रोत नियंत्रण का उपयोग करते हैं, और हमारे लिए नीच स्वचालन प्रोग्रामर का लाभ नहीं देखा है, वैसे ही शक्तिशाली उपकरणों तक पहुंच है। :(

अंत संपादित करें

संपादित करें # 2 प्रारंभ करें

मैं यह बताना चाहूंगा कि ट्विनकैट 3.1 में अब फ़ाइल प्रारूप हैं जो स्रोत नियंत्रण, विशेष रूप से संरचित पाठ भाषा फ़ाइलों के लिए बेहतर अनुकूल हैं। वास्तव में, उत्पाद अब टीम फाउंडेशन सर्वर के एकीकरण का समर्थन करने के लिए बनाया गया है, मुझे विश्वास है।

अंतिम संपादन # 2

दूसरा विकल्प यह है कि अधिकांश पीएलसी कार्यक्रमों को पाठ फ़ाइलों में निर्यात किया जा सकता है। उदाहरण के लिए, RSLogix 5000, एक L5K फ़ाइल के लिए अपनी परियोजनाओं का निर्यात करता है, जो कि सिर्फ पाठ है। मैंने पहले उन फ़ाइलों के खिलाफ स्क्रिप्ट चलाई है - वे पार्स करने के लिए काफी आसान हैं। वे स्रोत नियंत्रण के साथ अच्छी तरह से काम करेंगे। बेशक इसका मतलब है कि हर बार निर्यात, जो बेकार है।

यदि आप किसी भी मानक संस्करण नियंत्रण के साथ जाते हैं, तो मैं अत्यधिक वितरित वीसीएस का सुझाव देता हूं, जैसे गिट या मर्क्यूरियल, क्योंकि पीएलसी के साथ, आधा समय जब आप ऑनसाइट हैं और अपने घर के सर्वर से कनेक्ट नहीं कर सकते हैं, तो स्थानीय कमिट करने की क्षमता एक वास्तविक बोनस है।

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


क्या आपने कभी ऑटोसैव का उपयोग किया है? wingtipllc.com/products/autosave-plc-version-control/…
blueberryfields

@blueberryfields: हाँ मैंने अधिकांश सॉफ़्टवेयर पर ऑटोसैव सुविधा का उपयोग किया है जो इसका समर्थन करता है, और हाँ, यह मेरे बट को कुछ समय तक बचाता है। हालाँकि, इसे संस्करण नियंत्रण के रूप में उपयोग करना एक अच्छा विचार नहीं है। संस्करण नियंत्रण में केवल टाइमस्टैम्प से अधिक होना चाहिए, इसमें लेखक और परिवर्तनों का विवरण होना चाहिए। माता-पिता के संस्करण और दो कांटे के बीच 3-तरफ़ा मर्ज करना भी संभव होना चाहिए।
स्कॉट व्हिटलॉक

बेकहॉफ की ट्विनकैट परियोजनाओं को टेक्स्ट फ़ाइलों के साथ / से निर्यात और आयात किया जा सकता है। यही कारण है कि हमने उन्हें संस्करण नियंत्रण में रखा है। एसटी में लिखी परियोजनाओं के लिए ठीक काम करता है। यद्यपि एलएल जैसी ग्राफिकल भाषाओं के साथ प्रयास नहीं किया गया है।
stmax

@stmax - मैंने बस इसके साथ अपना नवीनतम अनुभव प्रदान करने के लिए उत्तर संपादित किया। जैसा कि मैंने कहा, यह काम करता है, बस उतना ही नहीं जितना यह कर सकता है।
स्कॉट व्हिटलॉक

मैंने इसे 'उत्तर' के रूप में स्वीकार किया क्योंकि ऐसा प्रतीत होता है कि पाठ फ़ाइलों को निर्यात करना और एससीसी का उपयोग करना कई पीएलसी विक्रेताओं के लिए एकमात्र व्यवहार्य समाधान है।
स्टीवन ए। लोव

4

यदि आप कर सकते हैं, B & R स्वचालन को देखें।

पूर्ण प्रकटीकरण ... मैं B & R स्वचालन के बिक्री भागीदार के लिए काम करता हूं।

मॉडर्न B & R ऑटोमेशन प्रोजेक्ट्स वर्जनिंग सॉफ्टवेयर के साथ बहुत अच्छा काम करते हैं। मैं वर्तमान में जीआईटी (जो एकीकृत नहीं है) का उपयोग करता हूं, हालांकि सॉफ्टवेयर में एसवीएन के साथ एकीकरण होना चाहिए। HMI के सभी स्रोत XML के रूप में सहेजे जाते हैं, और उनके सभी PLC भाषा स्रोत (सीढ़ी सहित) बाइनरी के बजाय पाठ आधारित होते हैं (अधिकतर XML भी)। यदि आपको मैनुअल मर्ज करना है तो आपको कुछ हद तक XML को "फिगर आउट" करना होगा, लेकिन मुझे यह मुश्किल नहीं लगा। और स्वचालित मर्ज आमतौर पर उस अनावश्यक रास्ते को बनाता है।


3

मैंने केवल इस प्रश्न को देखा, और वास्तव में एक डिब्बाबंद समाधान है - सभी स्थानों के जीई-आईपी से। जांच करें Proficy Change Management। यह उत्पाद पीएलसी नियंत्रण प्रणाली के दृष्टिकोण से संस्करण नियंत्रण करता है, फ़ाइलों के शुद्ध संस्करण नियंत्रण के बजाय दृश्य बिंदु - यह एक वीसीएस के शीर्ष पर बैठे एक परत के रूप में काम करता है (डरावना हिस्सा यह है कि मूल रूप से यह वीसीएस विजुअल सोर्ससेफ था) और अधिकार प्रबंधन, रिपोर्टिंग और चेकआउट / चेकइन संभालती है।

जबकि उत्पाद GE-IP से है, यह विभिन्न पीएलसी और एचएमआई सिस्टम को बॉक्स से बाहर का समर्थन करने के लिए डिज़ाइन किया गया है।

पूर्ण प्रकटीकरण, मैंने पीसीएम बेचने और स्थापित करने वाली कंपनी के लिए काम के लिए इस्तेमाल किया (लेकिन यह 7 साल पहले था)। इसलिए यदि आप मुझसे पूछते हैं कि यह वापस जैसा था तो मैं आपको यह बताने की संभावना रखता हूं कि यह सब गलत कहां हुआ!


1

जैसा कि यह लगता है, भयावह है, एक मामले में मैंने सीढ़ी तर्क सॉफ़्टवेयर के "प्रिंट टू पीडीएफ" फीचर का उपयोग करके समाप्त किया (इस मामले में यह हॉर्नर का सीएसस्केप था) और फिर परिवर्तनों की तुलना करने के लिए एक मुफ्त ग्राफिकल पीडीएफ डिफरेंसिंग प्रोग्राम (जैसे डिफीडीएफ ) का उपयोग किया। स्रोत कोड केवल एक मालिकाना, द्विआधारी प्रारूप में उपलब्ध था।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.