यह शो होस्ट द्वारा 'साफ' के रूप में चिह्नित किया गया है।
--------------------
01 परिचय
यह एक 8 भागीय श्रृंखला का तीसरा एपिसोड है।
02
पिछले एपिसोड में हमने कवर किया:
* औद्योगिक नियंत्रण में कंप्यूटरों का प्रारंभिक इतिहास
* PLCs का प्रारंभिक इतिहास, जिसमें उनके नाम कैसे पड़े इसका विवरण भी शामिल है
* प्रमुख ब्रांड कौन हैं
* वे शारीरिक रूप से कैसे दिखते हैं
एक संक्षिप्त विवरण सामान्य मशीन वास्तुकला का
एक बहुत ही संक्षिप्त नज़र क्या एक PLC प्रोग्राम जैसा है
स्कैन अवधारणा
मुख्य PLC प्रोग्रामिंग भाषाएँ
छोटी PLC प्रोग्रामिंग भाषाएँ
प्रत्येक प्रोग्रामिंग भाषा की संबंधित लोकप्रियता
03
इस एपिसोड में हम एक प्रारंभिक PLC की नज़र डालेंगे जो उन दिनों के समय जब वे व्यापक उपयोग में पहली बार आए थे, उस युग से
मैं यहां उपलब्ध सीमित समय में व्यापक होने का प्रयास भी नहीं करूंगा, मैं बस एक व्यापक अवलोकन प्रदान करूंगा।
मैंने एक पुराने मॉडल से शुरुआत की क्योंकि इसकी सरलता और सीमित विशेषताएँ इस विषय में प्रवेश करना आसान बनाती हैं।
--------------------
04 एलेन ब्रैडली PLC/2
एलेन ब्रैडली PLC/2 को 1977 में बाजार में लॉन्च किया गया था।
यह उनका पहला क्षेत्र में प्रवेश नहीं था, लेकिन यह उनकी पहली वास्तव में सफल थी।
मुझे उनकी शुरुआती उत्पाद लाइन के व्यापक इतिहास के बारे में जानकारी नहीं है, लेकिन उनके शुरुआती प्रमुख बिक्री मॉडल PLC2/30 था।
यह भी उनकी 1771 श्रृंखला के रूप में जाना जाता है।
--------------------
05 शारीरिक लेआउट
सीपीयू मॉड्यूल एक बड़ा धातु का बॉक्स था जो आई/ओ रैक के साथ बैठता था और एक केबल से उससे जुड़ा होता था।
आई/ओ रैक एक बॉक्स था जिसके आगे खुला फ्रंट था और जिसमें आई/ओ के लिए ऊँचे और संकीर्ण बॉक्सों को स्लॉट में फिट किया जा सकता था।
06
बैकप्लेन पीछे से गुजरता था और आई/ओ को सीपीयू से जोड़ता था।
कई रैक्स केबलों द्वारा एक साथ जुड़े हो सकते थे।
PLC2/30 के लिए, आपके पास अधिकतम 896 डिजिटल आई/ओ पॉइंट्स हो सकते थे।
07
रैक्स 315 मिमी ऊँचे थे और 247 मिमी से 610 मिमी चौड़े थे, जिनमें 4, 8, 12 और 16 स्लॉट वाले रैक्स उपलब्ध थे।
सीपीयू रैक की ऊँचाई के समान था और लगभग वर्गाकार रूप से बना था।
08
माइक्रो इलेक्ट्रॉनिक्स के उन्नत होने के साथ, सीपीयू मॉड्यूल को रैक के स्लॉट में फिट किया जा सकता था, जो PLCs के लिए सामान्य हो गया था।
--------------------
इलेक्ट्रॉनिक्स अंदर।
शुरुआती PLC/2 मॉडल ने कुछ तरह का 8-बिट प्रोसेसर इस्तेमाल किया, कुछ सूत्रों के अनुसार इंटेल 8080।
10
उन्होंने एक लॉजिक सह-प्रोसेसर के रूप में चार AMD 2900 बिट स्लाइस प्रोसेसर भी इस्तेमाल किए।
यदि आप बिट स्लाइस प्रोसेसरों से अपरिचित हैं, तो ये चिप्स हैं जो एक प्रोसेसर के 4-बिट के संकेत की तरह होती हैं और लॉजिक चिप्स के साथ जुड़कर एक पूर्ण CPU बनाने के लिए इस्तेमाल की जा सकती हैं।
ये उन्हें निर्मित करने के लिए इस्तेमाल किए गए थे माइक्रोकंप्यूटर।
11
ये शुरुआती PLCs में सह-प्रोसेसर के रूप में इस्तेमाल किए गए क्योंकि माइक्रोप्रोसेसर स्वयं बहुत धीमे थे कार्यक्रम को तेजी से चलाने के लिए उपयोगी आकार का कार्यक्रम चलाने के लिए।
एक या एक से अधिक माइक्रोप्रोसेसरों ने समग्र संचालन और सिस्टम प्रबंधन को समन्वित करने के लिए भी इस्तेमाल किया था।
12
जैसे-जैसे माइक्रोप्रोसेसर तेज और शक्तिशाली होते गए, लॉजिक सह-प्रोसेसरों की आवश्यकता कम हो गई और अंततः उन्हें छोड़ दिया गया।
शुरुआती संस्करणों ने मैग्नेटिक कोर मेमोरी इस्तेमाल की।
बाद में उन्होंने कुछ प्रकार की सॉलिड स्टेट रैम में स्विच किया, शायद किसी प्रकार की स्टैटिक रैम।
13
किसी भी PLC के अंदर किस प्रकार के प्रोसेसर हैं, इसके बारे में विवरण वास्तव में बहुत मुश्किल से मिलते हैं क्योंकि निर्माता आम तौर पर उस तरह की चीजों के बारे में बात नहीं करते।
वे चाहते हैं कि उपयोगकर्ता इसे सिर्फ एक ब्लैक बॉक्स के रूप में देखे।
--------------------
डेटा टेबल 14
एक प्रोग्रामर के दृष्टिकोण से, सबसे महत्वपूर्ण चीज जिसे पहले समझना चाहिए वह डेटा टेबल है।
डेटा टेबल PLC की डेटा मेमोरी है।
15
PLC2 के लिए, यह एक 16-बिट वर्ड्स का अर्रे है।
हर वर्ड दो 8-बिट बाइट्स से बना है।
दोनों बिट्स और वर्ड्स ऑक्टल में एड्रेस किए जाते हैं।
16
जो उनसे अपरिचित हैं, ऑक्टल नंबर्स 0 से 7 तक की गिनती करने वाली एक सिस्टम का पालन करते हैं।
7 के बाद अगला नंबर 10 है।
फिर गिनती 11, 12, 13 आदि से शुरू होती है, 17, 20, 21 आदि तक जाती है।
प्रत्येक ऑक्टल डिजिट ठीक 3 बिट्स लेता है।
17
PLC2 नोटेशन में व्यक्तिगत बिट्स को वर्ड के बाद स्लैश, फिर बिट का निर्दिष्ट करके एड्रेस किया जा सकता है।
उदाहरण के लिए, 030/12 वर्ड 030 में 12वां बिट है। याद रखें कि यह ऑक्टल है, इसलिए 12 दशमलव में 12वां बिट नहीं है।
18 मेमोरी ऑर्गनाइजेशन
PLC2/30 पर, डेटा टेबल निम्नलिखित संगठन का है:
19
वर्ड एड्रेस 000 से 007 प्रोसेसर वर्क एरिया नंबर 1 है।
यह उपयोगकर्ता द्वारा एक्सेस नहीं किया जा सकता।
20
वर्ड एड्रेस 010 से 100 तक (लेकिन 100 तक नहीं) आउटपुट इमेज टेबल है।
यह I/O आउटपुट्स की मेमोरी मैप किया गया चित्र है।
010 से 077 रैक 1 के लिए है।
020 से 027 रैक 2 के लिए है।
यह पैटर्न रैक 7 तक जारी रहता है, जो 070 से 077 है।
21
वर्ड एड्रेस 100 से 107 प्रोसेसर वर्क एरिया नंबर 2 हैं।
यह उपयोगकर्ता के लिए भी सुलभ नहीं है।
22
वर्ड एड्रेस 110 से 200 तक इनपुट इमेज टेबल हैं।
यह I/O इनपुट्स की एक मेमोरी मैप किया गया छवि है।
यह आउटपुट इमेज टेबल के समान तरीके से व्यवस्थित है और 110 से 177 तक जाता है।
110 से 117 रैक 1 के लिए है।
120 से 127 रैक 2 के लिए है।
यह पैटर्न रैक 7 तक जारी रहता है, जो 170 से 177 है।
23
आप ध्यान देंगे कि आउटपुट इमेज टेबल और इनपुट इमेज टेबल दोनों एक ही रैक स्लॉट्स को संबोधित करती प्रतीत होती हैं।
वे वास्तव में ऐसा करते हैं।
यह निर्भर करता है कि एक विशिष्ट स्लॉट में एक इनपुट कार्ड या आउटपुट कार्ड होने पर एक विशिष्ट रैक में एक विशिष्ट स्लॉट किस पते पर मैप होता है।
24
200 से 277 तक के पते टाइमर/काउंटर संचयी मानों के लिए हैं।
एक संचयी मान वर्तमान समय या गिनती है।
25
300 से 377 तक के पते टाइमर/काउंटर पूर्व निर्धारित मानों के लिए हैं।
एक पूर्व निर्धारित मान वह लक्ष्य समय या गिनती है जो जब प्राप्त होता है तो टाइमर या काउंटर को यह संकेत देता है कि यह इच्छित मान तक पहुंच गया है।
26
400 से ऊपर की मेमोरी को डेटा स्टोरेज एरिया और यूजर प्रोग्राम एरिया में विभाजित किया जा सकता है।
डेटा स्टोरेज एरिया वह जगह है जहाँ आप उस डेटा को स्टोर करते हैं जिसका आपके प्रोग्राम को उपयोग होता है जो I/O या टाइम्स और काउंटर्स का हिस्सा नहीं है।
आपको उपयोगकर्ता डेटा और प्रोग्राम साइज़ के बीच सही संतुलन बनाने की ज़रूरत है।
27
इसके बारे में कई चीजें हैं जो ऊपर बताई गईं हैं जिन्हें बदला और कॉन्फ़िगर किया जा सकता है, लेकिन मैं इस पर गहराई से नहीं जाऊँगा क्योंकि यह PLC2 पर एक ट्यूटोरियल नहीं है।
=
हालाँकि, आपको एक प्रारंभिक मॉडल PLC की मेमोरी के बारे में एक अच्छी समझ होनी चाहिए।
समझने के लिए ज़रूरी चीजें हैं कि I/O मेमोरी एड्रेसेस मैप किए जाते हैं, और
विभिन्न मेमोरी रेंज विभिन्न उद्देश्यों के लिए इस्तेमाल किए जाते हैं।
28
सारी मेमोरी मैनेजमेंट मैन्युअल थी।
यह उपयोगकर्ता पर निर्भर था कि वह किन मेमोरी एड्रेसेस का उपयोग किस उद्देश्य के लिए करना है।
एलेन ब्रैडली ने मददगार रूप से उन्हें प्रतिलिपि बनाने योग्य कागज के फॉर्म प्रदान किए, जिनका उपयोग आप प्रत्येक पते के लिए योजना बनाने और दस्तावेज़ करने के लिए कर सकते हैं।
प्रोग्रामर का काम स्मृति का कुशलतापूर्वक और तर्कसंगत उपयोग करना था, जबकि भविष्य के परिवर्तनों के लिए जगह भी छोड़ते हुए।
--------------------
29 उपयोगकर्ता कार्यक्रम
उपयोगकर्ता कार्यक्रम निर्देशों से बना है।
प्रत्येक निर्देश आमतौर पर स्मृति का एक शब्द लेता है।
हालाँकि, जटिल निर्देशों को स्मृति में अधिकतम 8 शब्दों तक ले सकते हैं।
30
एक मुख्य कार्यक्रम है।
आप इसे C में "मुख्य" फ़ंक्शन की तरह सोच सकते हैं।
अगर आपको वह समानानुपात मददगार नहीं लगता, तो बस सोचिए कि यह वह जगह है जहाँ आपका प्रोग्राम शुरू होता है।
मुख्य प्रोग्राम एक-एक स्तर के बाद आगे बढ़ता है जब तक यह 'END' कथन तक नहीं पहुँचता।
31
वहाँ भी एक उप-प्रोग्राम क्षेत्र है।
मुख्य प्रोग्राम एक उप-प्रोग्राम को 'Jump to Subroutine' या JSR निर्देश का उपयोग करके बुलाता है।
32 टी3 प्रोग्रामिंग टर्मिनल
जब PLC2 आया, लैपटॉप जैसी चीजें अभी भी भविष्य में बहुत दूर थीं।
पहला Compaq पोर्टेबल सूटकेस शैली PC भी अभी कुछ साल दूर था।
वास्तव में, पहला PLC/2 पहले Altair PC किट के आने के कुछ समय बाद आया।
33
इसलिए प्रोग्रामिंग शुरू में एक विशेष प्रोग्रामिंग टर्मिनल जिसे T3 कहा जाता था, का उपयोग करके की जाती थी।
T3 एक सूटकेस आकार का बॉक्स था जिसके अंत में एक छोटा CRT था और उसके नीचे कीबोर्ड उसे जोड़ा गया था।
अगर यह ध्वनि प्रारंभिक पोर्टेबल PC जैसी लगती है, तो ध्यान रखें कि यह उनसे कई साल पहले थी।
34
कीबोर्ड एक टाइपराइटर या QWERTY शैली नहीं था।
इसमें एक मेम्ब्रेन कीपैड था जिसमें ग्राफिकल संकेत थे।
पिछले एपिसोड को याद करें जिसमें नियंत्रण डायग्राम का उपयोग करने वाले रिले और इन्हें स्केचिया संकेतों के माध्यम से दस्तावेज़ बनाने के बारे में था।
T3 टर्मिनल कीपैड के संकेत उन स्केचिया चित्रों के संकेतों के समान थे जो उन ड्राइंग्स में इस्तेमाल किए गए थे।
35
जब एक प्रोग्रामर कीपैड पर उन संकेतों में से एक को दबाता था, तो स्क्रीन पर उसे वर्तमान कर्सर स्थान पर संबंधित संकेत दिखाई देता था।
कोडिंग करने वाला फिर संकेत के लिए डेटा पता दर्ज कर सकता था जिसके लिए प्रतीक का उपयोग करना था, कीबोर्ड के अंक भाग का उपयोग करके।
36
एक इंजीनियर, तकनीशियन, या इलेक्ट्रिशियन इसलिए एक पूरी तरह से ग्राफिकल वातावरण में कार्यक्रम बना और दर्ज कर सकता था जिसने उसके मौजूदा हार्डवेयर घटकों का उपयोग करके नियंत्रण के ज्ञान का उपयोग किया।
उन्होंने इसे कंप्यूटर प्रोग्रामिंग के रूप में नहीं देखा, उन्होंने इसे पूरी तरह से अलग कुछ के रूप में देखा जो कंप्यूटरों से असंबंधित था।
37
प्रोग्रामिंग तब हुई जब T3 कंट्रोल लॉजिक कंट्रोलर (PLC) से जुड़ा हुआ था जबकि PLC प्रोग्राम मोड में था।
निर्देश सीधे टर्मिनल से PLC मेमोरी में दर्ज किए गए थे।
कार्यक्रमों को कैसेट टेप पर सहेजा या बहाल किया जा सकता था।
कार्यक्रम PLC को चलाने के मोड में सेट होने पर चलेगा।
38
इसके अलावा, T3 टर्मिनल ने ऑनलाइन कार्यक्रमों की डिबगिंग की अनुमति दी।
जब T3 रन मोड में कनेक्ट किया गया, तो लैडर डायग्राम लाइव अपडेट होगा।
जब एक लॉजिक कंडीशन सही थी, तो यह हाइलाइट किया जाएगा।
जब लॉजिक कंडीशन गलत थी, तो यह एक नॉन हाइलाइटेड स्टेट में दिखाई देगा।
39
एक विशिष्ट रैंग को देखकर, आप यह देख सकते हैं कि अपेक्षित ग्राफिकल इंस्ट्रक्शन्स की श्रृंखला सही तरीके से हाइलाइट हुई है या नहीं, जिसके परिणामस्वरूप रैंग का अंतिम आउटपुट सही या गलत होगा जैसा कि अपेक्षित था।
यह सॉफ्टवेयर बग्स और हार्डवेयर फॉल्ट्स को खोजने में एक अमूल्य समस्या निवारण सहायता थी।
प्रोग्रामिंग टर्मिनल्स एक औद्योगिक मेंटेनेंस इलेक्ट्रिशियन के आवश्यक उपकरणों का एक अपरिहार्य हिस्सा बन गए।
40
अंततः पोर्टेबल पीसी और बाद में लैपटॉप उपलब्ध होने के साथ, T3 पुराना हो गया और इन फंक्शन्स को स्टैंडर्ड पीसी पर चलने वाले सॉफ्टवेयर में स्थानांतरित कर दिया गया।
हालाँकि, वे मूल रूप से उसी तरीके से काम करते हैं।
अतिरिक्त क्षमताएँ जोड़ी गईं, जैसे कि PLC से जुड़े बिना प्रोग्राम लिखने की क्षमता।
मेमोरी पतों पर विवरणात्मक लेबल और टिप्पणियाँ जोड़ी जा सकती हैं ताकि उन्हें दस्तावेज़ किया जा सके और प्रोग्राम को पढ़ने में मदद मिल सके।
क्रॉस रेफरेंस फ़ंक्शन का उपयोग करने से यह आसान हो जाएगा कि किन पतों का उपयोग किस चीज़ के लिए किया गया था।
आदि।
--------------------
41 निर्देश
अब मैं उन प्रकार के निर्देशों को सूचीबद्ध करने जा रहा हूँ जो इस्तेमाल करने के लिए उपलब्ध थे।
मैं हर चीज़ को समझाने की कोशिश नहीं करूँगा, लेकिन यह कम से कम आपको इन्हें कैसे प्रोग्राम किया जाता था, इसका एक धुंधला विचार देगा।
मैं Allen Bradley के नामों का इस्तेमाल करूँगा, जिसे जोर देकर कहना चाहूँगा कि ये अन्य निर्माताओं द्वारा जो नाम कहते हैं उनके अनुरूप नहीं हैं।
42 रिले प्रकार के निर्देश
ये बूलियन निर्देश हैं और इनमें निम्नलिखित शामिल हैं।
43 इनपुट निर्देश
ये मेमोरी में बिट्स की जाँच करते हैं और उनके मूल्य के आधार पर एक लॉजिक स्टेट प्रदान करते हैं।
इनपुट निर्देशों की शुरुआत रैंग के बाएँ हिस्से से होती है और जैसे-जैसे और जोड़े जाते हैं, वे दाएँ की ओर बढ़ते हैं।
जाँच करें ऑन - जब निर्दिष्ट बिट 1 पर सेट होता है, तो यह सही है।
जाँच करें ऑफ - जब निर्दिष्ट बिट 0 पर सेट होता है, तो यह सही है।
44 आउटपुट निर्देश
ये ट्रिक बूलियन लॉजिक की स्थितियों के योग पर निर्भर करके उन्हें चालू या बंद करते हैं।
आउटपुट निर्देश रैंग के दाहिने तरफ हैं।
हमेशा कम से कम एक आउटपुट निर्देश होना चाहिए।
आउटपुट ऊर्जावान - जब तक कि उससे पहले की लॉजिक स्थितियाँ सच हैं, यह एक बिट को 1 पर सेट करता है।
जब तक कि उससे पहले की लॉजिक स्थितियाँ गलत हैं, यह एक बिट को 0 पर सेट करता है।
45
आउटपुट लॉच - जब यह सच होता है, तो बिट चालू हो जाता है।
जब यह गलत होता है, तो यह कुछ भी नहीं करता।
आउटपुट अनलॉच - जब यह सच होता है, तो बिट बंद हो जाता है।
जब गलत हो, तो यह कुछ नहीं करता।
46 शाखा निर्देश
ये स्वयं कुछ नहीं करते, लेकिन वे डायाग्राम पर वायरिंग कनेक्शन बनाते हैं।
ये महत्वपूर्ण हैं ताकि ऊपर सूचीबद्ध निर्देशों को एक ही स्तर पर समानांतर में रखा जा सके ताकि वे चीजें जैसे OR स्थितियों को निर्दिष्ट कर सकें।
आप उन्हें मूलतः एक जाँच ऑन या जाँच ऑफ को एक OR या OR नॉट निर्देश में बदलने के रूप में सोच सकते हैं।
--------------------
47 टाइमर और काउंटर निर्देश
टाइमर और काउंटर नाम से स्पष्ट है, निर्देश जो टाइमिंग और काउंटिंग ऑपरेशन करते हैं।
उनके पास अलग-अलग प्री-सेट और एक्यूमुलेटेड मान हैं।
वे एक प्रकार के आउटपुट निर्देश हैं क्योंकि वे लैडर रैंप के दाहिनी ओर स्थित हैं और उनका संचालन उनके बाईं ओर रैंप के तर्क की स्थिति पर निर्भर करता है।
48
टाइमर और काउंटर बाइनरी कोडेड डिजिटल, या BCD मानों में काम करते हैं।
BCD मान प्रत्येक 4 बिट्स की मेमोरी लेते हैं।
हालाँकि, हेक्साडेसिमल के विपरीत, केवल 0 से 9 तक के मान मान्य हैं।
हेक्साडेसिमल में जो A से F तक के मान होते हैं, वे BCD में मान्य मान नहीं हैं।
49
प्रीसेट और एक्यूमुलेटेड मान 16-बिट वर्ड्स में स्टोर किए जाते हैं। पहले 12 बिट्स का उपयोग 3 BCD अंकों तक स्टोर करने के लिए किया जाता है।
शेष ऊपरी 4 बिट्स का उपयोग टाइमर या काउंटर पूरा होने जैसे निर्देश स्थिति बिट्स को स्टोर करने के लिए किया जाता है और विभिन्न अन्य विशेषताएँ।
50 टाइमर्स
टाइमर टाइम बेस टाइमर संकल्प के अनुरूप होता है।
टाइम बेस 1.0 सेकंड, 0.1 सेकंड और 0.01 सेकंड हैं।
इसलिए, एक 1 सेकंड टाइम बेस वाला टाइमर 0 से 999 सेकंड तक एक सेकंड के संकल्प के साथ समय निर्धारित कर सकता है।
एक 0.1 सेकंड टाइम बेस वाला टाइमर 0 से 99.9 सेकंड तक 0.1 सेकंड के संकल्प के साथ समय निर्धारित कर सकता है।
51
तीन प्रकार के टाइमर हैं,
टाइमर ऑन डेले (या TON),
टाइमर ऑफ डेले (या TOF),
रिटेंटिव टाइमर (या RTO)।
52
वे टाइमर समय की गिनती करते हैं जब तक कि रनिंग कंडीशन सही है और यह गलत होने पर रीसेट हो जाते हैं।
ऑफ़-डेले टाइमर उस समय समय की गिनती करते हैं जब रनिंग कंडीशन गलत हो जाती है और यह सही होने पर रीसेट हो जाते हैं।
रिटेंटिव टाइमर ऑन-डेले टाइमर की तरह होते हैं लेकिन वे अपना संचित मान तब तक रखते हैं जब तक कि रिटेंटिव टाइमर रीसेट (या RTR) इंस्ट्रक्शन द्वारा रीसेट नहीं किया जाता।
सामान्यतः, आप एक टाइमर शुरू करते हैं और फिर उसके "डन" बिट की निगरानी कहीं और अपनी लॉजिक में करते हैं।
53 काउंटर
काउंटर इवेंट्स की गिनती करते हैं।
ये निम्नलिखित प्रकारों में आते हैं।
54
अप-काउंटर (या CTU)।
नीचे-गिनती (या CTD)
गिनती रीसेट (या CTR)
स्कैन गिनती (या SCT)
55
ऊपर की गिनती शून्य से ऊपर गिनती करती है, और नीचे की गिनती पूर्व-निर्धारित से नीचे गिनती करती है।
स्कैन गिनती प्रोग्राम स्कैन की संख्या गिनती करती है।
यह कुछ ऐसा है जिसका उपयोग आप आमतौर पर नहीं करेंगे, हालाँकि आप इसे उदाहरण के लिए स्कैन समय की गणना करने के लिए उपयोग कर सकते हैं।
--------------------
56 डेटा मैनिपुलेशन इंस्ट्रक्शन
डेटा मैनिपुलेशन इंस्ट्रक्शन पढ़ने, लिखने और बाइट और वर्ड डेटा की तुलना करने के लिए उपयोग किए जाते हैं।
ऑपरेशन तब होते हैं जब रैंग सच हो जाता है।
57
GET एक मेमोरी लोकेशन से 16 बिट वर्ड पढ़ता है।
PUT एक 16 बिट वर्ड को एक मेमोरी लोकेशन पर लिखता है।
LES उसे सच मानता है अगर GET इंस्ट्रक्शन द्वारा पढ़ा गया वैल्यू एक निर्दिष्ट वैल्यू से कम है।
EQU उसे सच मानता है अगर GET इंस्ट्रक्शन द्वारा पढ़ा गया वैल्यू एक निर्दिष्ट वैल्यू से बराबर है।
58
LES और EQU इंस्ट्रक्शन को एक-दूसरे और GET के साथ विभिन्न तरीकों से मिलाया जा सकता है ताकि सभी संभव तुलना अनुक्रम जैसे बड़ा से, छोटा से, या बराबर जैसे प्राप्त हों।
59
GET BYTE एक मेमोरी लोकेशन से 8 बिट बाइट पढ़ता है।
लिमिट टेस्ट उसे सच मानता है अगर एक बाइट वैल्यू ऊपरी और निचले बाइट्स में संग्रहीत सीमाओं के बीच है।
लिमिट टेस्ट का उपयोग गेट बाइट के साथ किया जाता है।
--------------------
60 अंकीय निर्देश
अंकीय निर्देश BCD वर्ड मानों पर भी काम करते हैं।
ऑपरेशन तब होते हैं जब रंग सच हो जाता है।
सबसे ऊपरी बाइट गणितीय ओवरफ़्लो या अंडरफ़्लो को इंगित करने के लिए उपयोग की जाती है।
इनमें शामिल हैं:
61
जोड़ना
घटाना
गुणा
विभाजित
BCD को द्विआधारी में परिवर्तित करें
द्विआधारी को BCD में परिवर्तित करें
--------------------
62 ब्लॉक ट्रांसफर इंस्ट्रक्शन
ब्लॉक ट्रांसफर इंस्ट्रक्शन आउटपुट इंस्ट्रक्शन हैं जो डेटा टेबल और I/O मॉड्यूल के बीच 64 16-बिट वर्ड्स के डेटा का स्थानांतरण करते हैं।
ये इंटेलिजेंट I/O के साथ उपयोग किए जाते हैं जो वर्ड्स के बजाय व्यक्तिगत बिट्स के साथ काम करते हैं।
63
इनके उदाहरण चीजें जैसे हैं...
अनालॉग I/O जो विभिन्न वोल्टेज पढ़ता और लिखता है, न कि सिर्फ ऑन या ऑफ।
PID वह नियंत्रण प्रणाली है जो तापमान जैसी चीजों के लिए बंद लूप नियंत्रण संभालती है।
तापमान पढ़ने वाले थर्मोकपल्स।
सर्वो मोटर नियंत्रण सर्वो मोटरों के स्थितियों को निर्देशित करता है।
स्टेपपर मोटर नियंत्रण।
पोजिशन एन्कोडर्स।
64
मैं ब्लॉक ट्रांसफर्स के विवरण में नहीं जाऊँगा, लेकिन यह आपको एक सामान्य विचार देना पर्याप्त होगा कि PLC उस तरह के उपकरणों को कैसे संभाल सकता है, जो डिजिटल मॉड्यूल के सरल ऑन/ऑफ स्थितियों से अलग हैं।
स्पष्ट रूप से, ये GET, PUT और अन्य डेटा मैनिपुलेशन निर्देशों के साथ संयोजन में इस्तेमाल किए जा सकते हैं, जो मेमोरी स्थानों को पढ़ और लिख सकते हैं.
--------------------
65 कूद निर्देश और उप-प्रोग्रामिंग
इनमें निम्नलिखित निर्देश शामिल हैं।
66
कूद (या JMP)
लेबल (या LBL)
उप-प्रोग्राम में कूदें (या JSR)
वापसी (या RET)
67
कूद कार्यक्रम को एक लेबल स्थिति में कूदा जाएगा।
आप इसे एक GOTO निर्देश की तरह सोच सकते हैं।
68
नंबर लेबल अक्टाल में होते हैं और 00 से 77 तक हो सकते हैं।
जंप निर्देश रंग के आउटपुट होते हैं, और जब रंग सच हो जाता है, तो कार्यान्वयन लेबल नंबर में निर्दिष्ट उस निर्देश तक छलांग लगाता है जो संकेत देता है।
लेबल इनपुट निर्देश होते हैं और कार्यान्वयन को फिर से शुरू करने वाले रंग की शुरुआत में दिखाई देते हैं।
69
सामान्य छलांग एक उप-कार्यक्रम में नहीं छलांग सकतीं, और वे केवल आगे नहीं बल्कि पीछे भी नहीं छलांग सकतीं।
इसका मतलब है कि केवल छलांग का उपयोग करके लूप संभव नहीं हैं।
यह एक सावधानीपूर्वक डिजाइन निर्णय होगा जो कार्यक्रमों को एक लूप में फंसाने से रोकता है और स्कैन को आगे बढ़ने से रोकता है।
70
उप-कार्यक्रम मुख्य कार्यक्रम के अंत के बाद आते हैं।
वे लेबल निर्देश का उपयोग करके अक्टाल नंबर लेबलों द्वारा परिभाषित होते हैं।
उप-रूटीन्स को जंप टू सब-रूटीन (या JSR) निर्देश का उपयोग करके बुलाया जाता है।
उप-रूटीन के अंत में, रिटर्न (या RET) निर्देश JSR द्वारा बुलाए गए अगले चरण के निष्पादन को वापस लाता है।
आप उप-रूटीन के बुलावों को 8 गहराई तक नेस्ट कर सकते हैं।
--------------------
71 डेटा ट्रांसफर फ़ाइल निर्देश
जैसा कि आप सोच सकते हैं इसके नाम से, PLC2 में कोई डिस्क फ़ाइलें नहीं हैं।
एक "फ़ाइल" निर्देश एक शब्दों के ब्लॉकों को एक डेटा मेमोरी स्थान से दूसरे में स्थानांतरित करता है।
=
इनमें स्रोत और गंतव्य पते, और संचालन को नियंत्रित करने वाले विभिन्न अन्य पैरामीटर शामिल हैं।
इनमें काफी कुछ शामिल है, लेकिन मैं विवरणों में जाने के लिए परेशान नहीं होने जा रहा हूँ।
आपको बस यह जानना है कि डेटा मेमोरी के ब्लॉकों को स्थानांतरित करना संभव है।
--------------------
72 शिफ्ट रजिस्टर निर्देश
ये पूरे शब्द श्रृंखलाओं पर काम करते हैं और इनमें शामिल हैं
=
फाइल को ऊपर शिफ्ट करें
फाइल को नीचे शिफ्ट करें
FIFO लोड करें
FIFO अनलोड करें
73
ये 1 से 999 शब्दों पर काम कर सकते हैं।
इस तरह के निर्देशों का एक सामान्य उपयोग एक मशीन के विभिन्न स्टेशनों के माध्यम से एक भाग का पालन करना है।
--------------------
74 बिट शिफ्ट
ये व्यक्तिगत बिट्स पर काम करते हैं और निम्नलिखित शामिल हैं:
75
बिट शिफ्ट लेफ्ट
बिट शिफ्ट राइट
ऑफ शिफ्ट बिट की जांच करें
ऑन शिफ्ट बिट की जांच करें
शिफ्ट बिट सेट करें
रिसेट शिफ्ट बिट
76
ये बिट्स को बाएं या दाएं शिफ्ट करने के मामले में जैसे आप उम्मीद करेंगे, वैसे ही काम करते हैं।
हालाँकि, शिफ्ट रजिस्टर को 1 से 999 बिट्स तक किसी भी लंबाई के रूप में परिभाषित किया जा सकता है, इसलिए यह शब्द के आकार से सीमित नहीं है।
--------------------
77 सिक्वेंसर इंस्ट्रक्शंस
सिक्वेंसर इंस्ट्रक्शंस इलेक्ट्रो-मेकेनिकल ड्रम कंट्रोलर्स का सॉफ्टवेयर इमिटेशन हैं।
ड्रम कंट्रोलर्स एक लंबी सिक्वेंस ऑफ ऑपरेशन्स को प्रदर्शित करने की अनुमति देते थे।
इनमें एक घूमता हुआ ड्रम इस्तेमाल होता था जिसकी बाहरी सतह पर नियमित रूप से एक साथ कई छेद थे।
इन छेदों के ऊपर एक सीमा स्विच की एक पंक्ति थी।
कुछ छेदों में जंच स्विच से संपर्क करने के लिए पिन डालने से, ड्रम कंट्रोलर रिले या वाल्वों के पैटर्न को चालू कर सकता है।
78
कुछ जंच स्विचों को मशीन के गतिशील तत्वों पर सेंसरों से जोड़ा जा सकता है।
जब मशीन के हिस्से उस चरण के लिए सही स्थिति में होते हैं जहां सीक्वेंस होता है, तो पिन का पैटर्न एक विद्युत पथ को पूरा करने का कारण बनता है जो जंच स्विचों के माध्यम से होता है और एक सोलेनॉइड को सक्रिय करता है जो ड्रम को अगले चरण पर ले जाता है।
79
यह अक्सर एक संगीत बॉक्स या पुराने शैली के धोने की मशीन के नियंत्रण से तुलना की जाती है।
हालाँकि, ड्रम कंट्रोलर के मामले में, पिन कार्यों को इनपुट मिलान स्थितियों के साथ-साथ इच्छित आउटपुट कार्यक्रमित करेंगे।
PLC/2 ड्रम कंट्रोलर इस सीक्वेंसर का अनुकरण करेगा।
यह विशेषता ऑटोमोटिव उद्योग और अन्य असेंबली ओरिएंटेड निर्माण प्रक्रियाओं में इस्तेमाल होने वाले उपकरणों में बहुत व्यापक रूप से इस्तेमाल हुई और PLC/2 कार्यक्रम का दिल अक्सर बनाती थी।
80
मैं सीक्वेंसर निर्देशों के विवरण में नहीं जाऊंगा, लेकिन अलग-अलग इनपुट और आउटपुट सीक्वेंस निर्देश हैं।
इनपुट सीक्वेंस इंस्ट्रक्शन सेंसरों के स्थितियों को मैच करने का प्रयास करेंगे, और आउटपुट सीक्वेंस इंस्ट्रक्शन विभिन्न आउटपुट्स को ऑन या ऑफ करेंगे, सॉलेनॉइड वाल्व्स जैसी चीजों को नियंत्रित करते हुए।
सीक्वेंस खुद एक मेमोरी में शब्दों की एक श्रृंखला द्वारा परिभाषित होगा, जहां प्रत्येक बिट एक व्यक्तिगत इनपुट या आउटपुट के अनुरूप होगा।
--------------------
81 फ़ाइल लॉजिक इंस्ट्रक्शन
फ़ाइल लॉजिक इंस्ट्रक्शन शब्दों पर एरे ऑपरेशन के समान थे, हालाँकि "फ़ाइल" कंप्यूटर शब्दावली में एक "एरे" के लिए उपयोग किया जाता है।
इन इंस्ट्रक्शन्स ने
AND
OR
EXCLUSIVE OR
पूरक
--------------------
82 विशेष प्रोग्रामिंग तकनीकें
ये विभिन्न निर्देश हैं।
ये निम्नलिखित से बने हैं:
एक शॉट लीडिंग एज
एक शॉट ट्रेलिंग एज
83
एक शॉट एक आउटपुट निर्देश है जो संबंधित बिट को एक स्कैन पर चालू करता है जब रंग लॉजिक स्थिति में बदलाव होता है।
एक शॉट को गलत से सही या सही से गलत बदलाव पर ट्रिगर किया जा सकता है, जो दोनों निर्देशों में से किसी एक का उपयोग करने पर निर्भर करता है।
--------------------
84 ने PLC2 क्यों BCD का उपयोग किया?
शायद आप यह सोच रहे हैं कि PLC2 ने सामान्य पूर्णांकों के बजाय BCD संख्याओं का उपयोग क्यों किया।
यह उस कार्य वातावरण को दर्शाता है जिसमें एक प्रारंभिक PLC को काम करना था।
प्रारंभिक ऑपरेटर पैनल जो मैकेनिकल नंबरिक इनपुट डिवाइस और सरल इलेक्ट्रॉनिक आउटपुट डिस्प्ले का उपयोग करते थे जो आमतौर पर BCD में काम करते थे।
85
थंबव्हील स्विच छोटे ड्रम जैसे घूर्णी उपकरण थे जिन पर परिधि पर 0 से 9 तक के नंबर छपे हुए थे।
कई पहियों को एक दूसरे के साथ स्टैक किया जाता था।
वे किसी पुराने कार में मिलने वाले मैकेनिकल ओडोमीटर के समान दिखते थे।
हालाँकि, ऑपरेटर प्रत्येक अंक पहिये को अलग से चला सकता था।
प्रत्येक अंक को PLC के 4 इनपुट्स में 4 वायर्स को वापस जोड़कर पढ़ा जाएगा।
इस प्रकार, थंबव्हील हार्डवेयर के काम करने के तरीके के कारण, प्रत्येक अंक स्वभाव से BCD था।
86
व्यक्तिगत व्हील्स को अलग-अलग घुमाकर, ऑपरेटर तापमान, गतियाँ, समय देरी, आदि जैसी चीजों को समायोजित कर सकता था और इस प्रकार प्रक्रिया पैरामीटर्स को बदल सकता था।
आउटपुट ऑपरेटर डिस्प्ले आमतौर पर 7-सेगमेंट एलईडी, नियॉन, या वैक्यूम फ्लुओरेसेंट डिस्प्ले थे।
ये डिस्प्ले या उनके समान उपकरण PLCs से पहले थे और इसलिए सामान्य औद्योगिक उपकरण थे जिन्हें संभाला जाना चाहिए था।
प्रत्येक नंबरिक अंक के पास 4 इनपुट्स थे जो PLC के 4 आउटपुट्स में जुड़े होंगे।
7-सेगमेंट डिस्प्ले हेक्साडेसिमल का उपयोग कर सकते हैं, लेकिन यदि आप एक ऑपरेटर को सेल्सियस में तापमान प्रदर्शित करने का प्रयास कर रहे हैं तो यह बहुत उपयोगी नहीं होगा।
इस प्रकार, फिर से, BCD सबसे व्यावहारिक प्रकार का संख्यात्मक रूप था जिसके साथ काम करना था।
87
जैसे-जैसे PLCs और उनके उपयोगकर्ता प्रोग्राम अधिक सक्षम और परिष्कृत होते गए, वे सामान्य पूर्णांकों और यहां तक कि फ्लोटिंग-पॉइंट संख्याओं के साथ काम करना शुरू कर दिया।
हालाँकि, कई PLCs, यदि नहीं तो अधिकांश, BCD में अनुवाद करने और उससे बाहर निकलने के लिए निर्देशों को बनाए रखा।
--------------------
88 PLC2 का प्रभाव
PLC2 एलन ब्रैडले के लिए एक बहुत ही सफल उत्पाद था और उन्हें नेतृत्व PLC आपूर्तिकर्ताओं में स्थापित किया, उत्तर अमेरिकी बाजार में नंबर एक और विश्व स्तर पर शीर्ष 5 में।
हालाँकि, इसमें कई कमजोरियाँ थीं, विशेष रूप से बहुत प्रारंभिक स्मृति और उप-प्रक्रिया वास्तुकला और अष्टक और BCD संख्याओं पर ध्यान केंद्रित करना।
यह नियंत्रण रिले को बदलने पर केंद्रित था और यह इसे काफी अच्छी तरह से किया।
89
एलन ब्रैडले के लिए PLC2 का अगला वास्तव में सफल उत्तराधिकारी PLC5 था।
इसने बुनियादी PLC2 निर्देश सेट को एक नए स्मृति प्रणाली के साथ जोड़ा, नए डेटा प्रकार, अलग नाम स्थान, और पैरामीटराइज्ड फ़ंक्शंस।
90
यह बेसिक में लाइन नंबर और जंप्स के साथ प्रोग्रामिंग करने से पास्कल में स्विच करने जैसा था।
हालाँकि, वे अभी भी PLC2 I/O रैक और मॉड्यूल का उपयोग कर सकते हैं, जो दिए गए तथ्य को देखते हुए एक महत्वपूर्ण विचार है कि PLC की लागत का अधिकांश हिस्सा I/O सिस्टम में था।
91
PLC 5 के बाद, कंट्रोलॉजिक्स श्रृंखला ने चीजों को और अधिक आधुनिक बनाया, जबकि एक छोटे फॉर्म फैक्टर में थी।
एलन ब्रैड्ले आज भी एक प्रमुख PLC विक्रेता है, रॉकवेल नाम के तहत काम कर रहा है।
--------------------
92 निष्कर्ष
इस एपिसोड में हमने एक विशिष्ट लेकिन बहुत व्यापक रूप से इस्तेमाल किए गए प्रारंभिक PLC, एलन ब्रैड्ले PLC2 पर ध्यान केंद्रित किया।
हमने निम्नलिखित विषयों को कवर किया।
आंतरिक इलेक्ट्रॉनिक्स।
डेटा टेबल
यूजर प्रोग्राम
T3 प्रोग्रामिंग टर्मिनल
और निर्देश सेट का एक बहुत ही संक्षिप्त अवलोकन
93
यह एक काफी सरल और कुछ तरीकों से प्राचीन PLC था, लेकिन आपको PLC के पीछे के सिद्धांतों का एक बहुत ही खुला आइडिया होना चाहिए, जिसमें डेटा टेबल और स्कैन अवधारणा और रिले जैसा निर्देश सेट शामिल है।
94
अगले एपिसोड में हम दुनिया भर के सबसे बड़े वेंडर सिमेंस के एक PLC की जांच करेंगे।
इस उदाहरण में हम PLC2 से थोड़ा बाद के मॉडल, S5 श्रृंखला की जांच करेंगे।
यह दूसरी पीढ़ी के PLC के रूप में देखा जा सकता है।
क्योंकि हम पहले से कवर किए गए बुनियादी सिद्धांतों को दोहराने की ज़रूरत नहीं है, इसलिए हम S5 और PLC2 के बीच के नए और अलग पहलुओं पर अधिक ध्यान केंद्रित कर सकते हैं।
95
यह एक 8 भाग की श्रृंखला का तीसरा एपिसोड था।
--------------------
