Source Control
TIA Portal Projects के लिए
T-IA Connect में एम्बेडेड एक पूर्ण Git-आधारित version control system. अपने प्रोजेक्ट को रीडेबल टेक्स्ट फाइलों के रूप में एक्सपोर्ट करें, बदलावों को कमिट करें, डिफ देखें, ब्रांच मैनेज करें और रिमोट के साथ सिंक करें — सीधे UI या MCP टूल्स के माध्यम से।
TIA Portal Projects वर्जन कंट्रोल के लिए बुरे सपने हैं
बाइनरी फाइलें, कोई डिफ नहीं, कोई मर्ज नहीं — source control के लिए सबसे खराब स्थिति
अपारदर्शी बाइनरी फॉर्मेट
TIA Portal प्रोजेक्ट्स प्रोप्रायटरी बाइनरी फाइलें हैं। Git उन्हें blobs के रूप में देखता है — कोई लाइन-दर-लाइन डिफ नहीं, कोई सार्थक मर्ज नहीं, यह देखने का कोई तरीका नहीं कि दो वर्जनों के बीच वास्तव में क्या बदला है।
कॉपी-पेस्ट वर्जनिंग
इंजीनियर फोल्डर्स को कॉपी करके प्रोजेक्ट्स को वर्जन करते हैं: Project_v1, Project_v2, Project_v2_John_modified. डिस्क स्पेस खत्म हो जाता है, किसी को नहीं पता होता कि कौन सा वर्जन करंट है, और मर्ज करना असंभव है।
बदलावों की कोई दृश्यता नहीं
किसी ने पिछले हफ्ते एक फंक्शन ब्लॉक बदला। उसने वास्तव में क्या बदला? कौन सा नेटवर्क? कौन सा निर्देश? टेक्स्ट डिफ के बिना, आप TIA Portal में दोनों वर्जनों को एक साथ खोले बिना नहीं बता सकते।
कोई सहयोग वर्कफ़्लो नहीं
दो इंजीनियर एक ही प्रोजेक्ट पर किसी भी विश्वास के साथ एक साथ काम नहीं कर सकते। कोई ब्रांच नहीं, कोई मर्ज क्षमता नहीं, कोई पुल रिक्वेस्ट नहीं। एक दूसरे के काम को ओवरराइट कर देता है।
T-IA Connect में VCS कैसे काम करता है
एक्सपोर्ट → Git → डिफ/ब्रांच/मर्ज, ऑटोमैटिक XML नॉर्मलाइजेशन के साथ
ऑटोमैटिक प्रोजेक्ट एक्सपोर्ट
T-IA Connect सभी प्रोजेक्ट एलिमेंट्स को रीडेबल टेक्स्ट फाइलों के रूप में एक्सपोर्ट करता है: ब्लॉक्स (OB, FB, FC, DB) को SimaticML XML के रूप में, टैग टेबल्स, UDTs, वॉच टेबल्स को XML के रूप में, और हार्डवेयर कॉन्फ़िगरेशन को AML के रूप में।
XML नॉर्मलाइजेशन
TIA Portal एक्सपोर्ट्स के बीच XML एट्रिब्यूट्स को पुनर्व्यवस्थित कर सकता है, जिससे गलत डिफ (false diffs) हो सकते हैं। बिल्ट-इन XmlNormalizer एट्रिब्यूट्स को डिटरमिनिस्टिक रूप से सॉर्ट करता है, इसलिए डिफ केवल वास्तविक बदलाव दिखाते हैं।
एम्बेडेड Git (LibGit2Sharp)
किसी बाहरी Git इंस्टॉलेशन की आवश्यकता नहीं है। T-IA Connect पूरी तरह से एम्बेडेड Git कार्यान्वयन के लिए LibGit2Sharp का उपयोग करता है। Init, commit, branch, diff, merge, push, pull — सब कुछ बिल्ट-इन है।
पूर्ण ब्रांच मैनेजमेंट
वेरिएंट या प्रयोगों के लिए ब्रांच बनाएं। फीचर ब्रांच पर काम करें, उसका टेस्ट करें, फिर वापस मेन में मर्ज करें। वही वर्कफ़्लो जो सॉफ्टवेयर टीमें उपयोग करती हैं, अब PLC प्रोजेक्ट्स के लिए।
रिमोट सिंक (पुश/पुल)
एक रिमोट रिपॉजिटरी (GitHub, GitLab, Gitea, Azure DevOps) जोड़ें और बदलावों को पुश/पुल करें। मानक Git इंफ्रास्ट्रक्चर के साथ पूरी टीम में प्रोजेक्ट हिस्ट्री शेयर करें।
डेस्कटॉप UI साइडबार
डेस्कटॉप एप्लिकेशन में एक VCS साइडबार रेपो स्टेटस, मॉडिफाइड फाइलें दिखाता है और आपको सीधे UI से कमिट करने देता है। रोज़ाना के कार्यों के लिए किसी कमांड लाइन की आवश्यकता नहीं है।
विशिष्ट वर्जन कंट्रोल वर्कफ़्लो
प्रोजेक्ट बदलाव से ट्रैक किए गए, डिफ करने योग्य इतिहास तक
1. रिपॉजिटरी इनिशियलाइज़ करें
.tia-connect/source/ में Git रिपॉजिटरी बनाने के लिए vcs_init चलाएँ। यह हर प्रोजेक्ट के लिए एक बार किया जाता है। इसके बाद के सभी एक्सपोर्ट इसी डायरेक्टरी में जाते हैं।
2. बदलावों को कमिट करें
TIA Portal में बदलाव करने के बाद, vcs_commit चलाएँ। T-IA Connect पूरे प्रोजेक्ट को एक्सपोर्ट करता है, फाइलों को स्टेज करता है, और आपके मैसेज के साथ एक Git कमिट बनाता है।
3. डिफ और हिस्ट्री देखें
यह देखने के लिए vcs_diff का उपयोग करें कि वास्तव में क्या बदला है — कौन से XML एलिमेंट्स जोड़े गए, मॉडिफाई किए गए या हटाए गए। मैसेज और टाइमस्टैम्प के साथ कमिट हिस्ट्री ब्राउज़ करने के लिए vcs_log का उपयोग करें।
4. ब्रांच, मर्ज और रिस्टोर
प्रयोगों के लिए ब्रांच बनाएं (vcs_branch_create), उन्हें वापस मर्ज करें (vcs_merge), या पिछले कमिट से किसी विशिष्ट फ़ाइल को रिस्टोर करें (vcs_restore)।
क्या एक्सपोर्ट होता है
प्रत्येक प्रोजेक्ट एलिमेंट एक रीडेबल, डिफ करने योग्य टेक्स्ट फ़ाइल बन जाता है
प्रोग्राम ब्लॉक्स
OB, FB, FC, DB — SimaticML XML के रूप में एक्सपोर्ट किए गए। प्रत्येक ब्लॉक blocks/ डायरेक्टरी में एक अलग फ़ाइल है। पूर्ण नेटवर्क स्ट्रक्चर, निर्देश और कमेंट्स सुरक्षित रहते हैं।
टैग टेबल्स
PLC टैग्स tags/ डायरेक्टरी में स्ट्रक्चर्ड XML के रूप में एक्सपोर्ट किए गए। नाम, डेटा टाइप, एड्रेस और कमेंट्स — सभी वर्जन-कंट्रोल्ड हैं।
UDTs और वॉच टेबल्स
udts/ में यूजर-डिफाइंड टाइप्स और watch/ में वॉच टेबल्स। प्रोग्राम लॉजिक के साथ-साथ पूर्ण प्रोजेक्ट डेटा टाइप्स ट्रैक किए जाते हैं।
हार्डवेयर कॉन्फ़िगरेशन
नेटवर्क टोपोलॉजी, CPU कॉन्फ़िगरेशन और I/O मॉड्यूल्स hardware/ में AML (AutomationML) के रूप में एक्सपोर्ट किए गए। सॉफ्टवेयर बदलावों के साथ हार्डवेयर बदलावों को ट्रैक करें।
उपलब्ध VCS टूल्स
MCP, Copilot, REST API, और डेस्कटॉप UI के माध्यम से सुलभ
vcs_init / vcs_commit / vcs_status
रिपॉजिटरी को इनिशियलाइज़ करें, वर्तमान प्रोजेक्ट स्थिति को एक मैसेज के साथ कमिट करें, और जांचें कि पिछले कमिट के बाद से कौन सी फाइलें मॉडिफाई, जोड़ी या हटाई गई हैं।
vcs_log / vcs_diff
मैसेज और टाइमस्टैम्प के साथ कमिट हिस्ट्री ब्राउज़ करें। कमिट्स के बीच या वर्किंग स्टेट और पिछले कमिट के बीच टेक्स्ट डिफ देखें।
vcs_branch_* / vcs_merge
ब्रांच बनाएं, लिस्ट करें, चेकआउट करें और डिलीट करें। ब्रांचों को वापस मर्ज करें। PLC प्रोजेक्ट्स के लिए पूर्ण Git ब्रांचिंग वर्कफ़्लो।
vcs_remote_* / vcs_push / vcs_pull
रिमोट रिपॉजिटरी जोड़ें, लिस्ट करें और हटाएं। रिमोट पर कमिट्स पुश करें और टीम से बदलाव पुल करें। मानक Git रिमोट वर्कफ़्लो।
vcs_restore / vcs_config
पिछले कमिट से फ़ाइल कंटेंट रिस्टोर करें। Git यूजर नेम और ईमेल कॉन्फ़िगर करें। एम्बेडेड Git रिपॉजिटरी के लिए प्रोजेक्ट-लेवल सेटिंग्स।
अक्सर पूछे जाने वाले प्रश्न
यह TIA Portal के बिल्ट-इन प्रोजेक्ट वर्जनिंग से कैसे अलग है?
TIA Portal का वर्जनिंग पूर्ण प्रोजेक्ट स्तर पर काम करता है — बाइनरी स्नैपशॉट। T-IA Connect का VCS व्यक्तिगत एलिमेंट्स को टेक्स्ट फाइलों के रूप में एक्सपोर्ट करता है, जिससे आपको लाइन-दर-लाइन डिफ, ब्रांचिंग, मर्जिंग और यह देखने की क्षमता मिलती है कि प्रत्येक ब्लॉक में वास्तव में क्या बदला है। वे एक-दूसरे के पूरक हैं।
क्या मैं GitHub/GitLab पर पुश कर सकता हूँ?
हाँ। vcs_remote_add के साथ एक रिमोट जोड़ें और सिंक करने के लिए vcs_push/vcs_pull का उपयोग करें। एक्सपोर्ट की गई टेक्स्ट फाइलें किसी भी Git होस्टिंग प्लेटफॉर्म के साथ पूरी तरह से काम करती हैं। आपकी PLC प्रोजेक्ट हिस्ट्री आपके अन्य रिपॉजिटरी के साथ रहती है।
क्या रिस्टोर वास्तव में वापस TIA Portal में इंपोर्ट करता है?
vcs_restore पिछले कमिट से फ़ाइल कंटेंट प्राप्त करता है। TIA Portal में पूर्ण री-इंपोर्ट अभी विकास के अधीन है (कुछ ब्लॉक प्रकारों पर UTF-16 के साथ एन्कोडिंग समस्या है)। अभी के लिए, रिस्टोर आपको मैन्युअल रूप से री-इंपोर्ट करने के लिए सटीक सोर्स कंटेंट देता है।
क्या मुझे अपनी मशीन पर Git इंस्टॉल करने की आवश्यकता है?
नहीं। T-IA Connect LibGit2Sharp के माध्यम से Git को एम्बेड करता है — Git का एक नेटिव .NET कार्यान्वयन। कोई बाहरी Git इंस्टॉलेशन नहीं, कोई PATH कॉन्फ़िगरेशन नहीं, कोई कमांड लाइन नहीं। सब कुछ T-IA Connect के UI और टूल्स के माध्यम से काम करता है।