आज, मैं आपको यह समझने में मदद करने के लिए एक व्यावहारिक लेख साझा कर रहा हूं कि एक आदर्श पीएलसी प्रोग्राम कैसा दिखता है, और व्यावहारिक कार्य के लिए पीएलसी प्रोग्रामिंग मानक और सुझाव प्रदान करता है।
एक आदर्श पीएलसी कार्यक्रम के लिए डिज़ाइन आवश्यकताएँ:
एक संपूर्ण पीएलसी प्रोग्राम केवल सिस्टम को चलाने के बारे में नहीं है; इसके लिए संपूर्ण टिप्पणियों, एक अच्छी तरह से संरचित वास्तुकला, अच्छी स्केलेबिलिटी, एक व्यापक अलार्म और सुरक्षा प्रणाली और एक प्री-रन सिमुलेशन सिस्टम की भी आवश्यकता होती है।
1. सरलता
पीएलसी कार्यक्रम को यथासंभव सरल बनाएं। सरलता का अर्थ है एक मानकीकृत कार्यक्रम ढांचे और सरल निर्देशों का उपयोग करना। मोटे तौर पर, इसमें प्रोग्राम संरचना को अनुकूलित करना और प्रवाह नियंत्रण निर्देशों के साथ प्रोग्राम को सरल बनाना शामिल है। अधिक विशेष रूप से, इसका अर्थ है एकल फ़ंक्शन निर्देशों को अधिक शक्तिशाली निर्देशों से बदलना और निर्देशों के क्रम पर ध्यान देना।
2. पठनीयता
डिज़ाइन किया गया प्रोग्राम अत्यधिक पठनीय होना चाहिए। इससे न केवल प्रोग्रामर को प्रोग्राम को बेहतर ढंग से समझने में मदद मिलती है और डिबगिंग की सुविधा मिलती है, बल्कि दूसरों के लिए इसे समझना और उपयोगकर्ताओं के लिए इसे बनाए रखना भी आसान हो जाता है। आवश्यकता पड़ने पर इसे कार्यक्रम के प्रसार की सुविधा भी देनी चाहिए।
अच्छी पठनीयता सुनिश्चित करने के लिए, प्रोग्राम डिज़ाइन यथासंभव स्पष्ट होना चाहिए। पदानुक्रम और मॉड्यूलरिटी पर ध्यान दें, यहां तक कि ऑब्जेक्ट-उन्मुख डिज़ाइन विधियों को भी नियोजित करें। यथासंभव मानक डिज़ाइन प्रथाओं का उपयोग करें।
यदि प्रोग्रामिंग भाषाओं का उपयोग विशेष मामलों में किया जाता है, तो आसान पठनीयता के लिए अधिकांश मामलों में सीढ़ी आरेख का उपयोग किया जाना चाहिए। आसानी से याद रखने और समझने के लिए I/O आवंटन व्यवस्थित होना चाहिए। आवश्यकता पड़ने पर टिप्पणियाँ जोड़ें. आंतरिक घटकों का उपयोग भी व्यवस्थित होना चाहिए; इनका बेतरतीब इस्तेमाल करने से बचें.
प्रोग्राम डिज़ाइन की शुरुआत से ही पठनीयता पर विचार किया जाना चाहिए। इसे पूरी तरह से हासिल करना आसान नहीं है, क्योंकि प्रोग्राम डिबगिंग के दौरान, निर्देशों को जोड़ने या हटाने और आंतरिक घटकों के उपयोग में बदलाव से मूल रूप से स्पष्ट प्रोग्राम कुछ हद तक गड़बड़ हो सकता है। इसलिए, डिज़ाइन चरण में डिबगिंग के दौरान समायोजन की अनुमति दें, और फिर डिबगिंग के बाद साफ-सफाई करें। इससे उच्च गुणवत्ता वाला कार्यक्रम तैयार होगा।
कार्यक्रम टिप्पणियों में कम से कम निम्नलिखित शामिल होना चाहिए:
ए. सिस्टम टिप्पणियाँ: कॉपीराइट धारक और संपूर्ण कार्यक्रम का उद्देश्य; बी. ब्लॉक टिप्पणियाँ: ब्लॉक का मुख्य उद्देश्य और लेखक; सी. खंड टिप्पणियाँ: कोड खंड का उद्देश्य; डी. परिवर्तनीय टिप्पणियाँ: महत्व स्वतः स्पष्ट है, जिसमें I/O टिप्पणियाँ और मध्यवर्ती परिवर्तनीय टिप्पणियाँ शामिल हैं। गोपनीयता संबंधी विचारों के संबंध में, इन्हें टिप्पणियों को कम करने के बजाय एन्क्रिप्शन एल्गोरिदम या प्रोग्राम के ब्लॉक एन्क्रिप्शन के माध्यम से संबोधित किया जाना चाहिए।
3. शुद्धता
पीएलसी प्रोग्राम को अपने सही कार्य को साबित करने के लिए वास्तविक संचालन के माध्यम से सही और सत्यापित होना चाहिए। पीएलसी कार्यक्रम के लिए यह सबसे बुनियादी आवश्यकता है; यदि यह हासिल नहीं किया जाता है, तो अन्य पहलू कितने भी अच्छे क्यों न हों, वे बेकार हैं।
प्रोग्राम की शुद्धता सुनिश्चित करने के लिए निर्देशों और आंतरिक उपकरणों का सटीक उपयोग किया जाना चाहिए। निर्देशों का सटीक उपयोग उनकी सटीक समझ से जुड़ा हुआ है; इसलिए, निर्देशों के अर्थ और उपयोग की शर्तों को अच्छी तरह से समझा जाना चाहिए। यदि आवश्यक हो, तो कुछ अस्पष्ट निर्देशों का परीक्षण करने के लिए छोटे कार्यक्रम लिखे जा सकते हैं।
एक ही निर्देश के लिए, पीएलसी विनिर्माण बैचों या श्रृंखला मॉडल में अंतर के कारण, कुछ निर्देश विवरण भिन्न हो सकते हैं। प्रोग्रामिंग मैनुअल का सावधानीपूर्वक अध्ययन किया जाना चाहिए।
आंतरिक उपकरणों का सही उपयोग भी महत्वपूर्ण है। उदाहरण के लिए, कुछ पीएलसी में पावर डाउन प्रोटेक्शन होता है, जबकि अन्य में नहीं होता है। यह सुनिश्चित करना आवश्यक है कि पावर डाउन सुरक्षा की आवश्यकता वाले उपकरणों का उपयोग किया जाए, और इसके विपरीत भी।
संक्षेप में, पीएलसी कार्यक्रमों के लिए सबसे बुनियादी आवश्यकता निर्देशों का सटीक रूप से उपयोग करना और प्रोग्राम किए गए प्रोग्राम को सही ढंग से निष्पादित करने के लिए आंतरिक घटकों का सही ढंग से उपयोग करना है।
एक सरल उदाहरण के लिए, सीमेंस पीएलसी को बढ़ते और गिरते किनारों के लिए मध्यवर्ती चर के रूप में भंडारण कार्यक्षमता वाले चर की आवश्यकता होती है, जैसे कि एम - अंक या डीबी - अंक। एफसी के अस्थायी चर का उपयोग करने से समस्याएँ पैदा होंगी।
4. विश्वसनीयता
कार्यक्रम न केवल सही होने चाहिए बल्कि विश्वसनीय भी होने चाहिए। विश्वसनीयता पीएलसी कार्यक्रम की स्थिरता को दर्शाती है, जो एक बुनियादी आवश्यकता भी है।
कुछ पीएलसी प्रोग्राम सामान्य परिचालन स्थितियों के तहत या कानूनी संचालन के दौरान सही ढंग से काम करते हैं, लेकिन असामान्य परिचालन स्थितियों (जैसे अस्थायी बिजली आउटेज के बाद तेजी से बिजली बहाली) या अवैध संचालन के बाद (जैसे अनुक्रम से बाहर बटन दबाना या एक साथ कई बटन दबाना) ठीक से काम करने में विफल रहते हैं। ऐसे प्रोग्राम अविश्वसनीय, अस्थिर या ख़राब डिज़ाइन वाले होते हैं।
अच्छे पीएलसी प्रोग्राम असामान्य परिचालन स्थितियों की पहचान कर सकते हैं और उन्हें सामान्य परिस्थितियों के साथ सहजता से एकीकृत कर सकते हैं, जिससे प्रोग्राम विभिन्न स्थितियों के अनुकूल हो सकता है। एक अच्छा पीएलसी प्रोग्राम बिना कोई "निशान छोड़े" अवैध संचालन को अस्वीकार कर सकता है, केवल कानूनी संचालन को स्वीकार कर सकता है।
अवैध संचालन को अस्वीकार करने के लिए इंटरलॉकिंग एक सामान्य तरीका है; रिले सर्किट अक्सर इस पद्धति का उपयोग करते हैं, और पीएलसी भी इस दृष्टिकोण को प्राप्त कर सकते हैं।
5. संशोधन में आसानी
किसी प्रोग्राम को संशोधित करना आसान होना चाहिए. पीएलसी की विशेषताओं में से एक इसकी सुविधा और विभिन्न परिस्थितियों के अनुकूल ढलने में लचीलापन है। यह प्रोग्राम को संशोधित या पुनः डिज़ाइन करके प्राप्त किया जाता है।
प्रोग्राम को पुनः डिज़ाइन करने का उपयोग तब किया जाता है जब पीएलसी की प्रक्रिया की एप्लिकेशन आवश्यकताओं को बदलने की आवश्यकता होती है। न केवल प्रोग्राम को दोबारा लिखा जाता है, बल्कि I/O को भी पुनः आवंटित करने की आवश्यकता होती है। अधिकांश मामलों में, प्रोग्राम को दोबारा लिखना आवश्यक नहीं है; मामूली संशोधन पर्याप्त हैं. इसके लिए प्रोग्राम को संशोधित करना आसान होना आवश्यक है।
संशोधन में आसानी का मतलब लचीलापन भी है, जिसमें मापदंडों को बदलने या कार्यों को संशोधित करने के उद्देश्य को प्राप्त करने के लिए केवल मामूली बदलाव की आवश्यकता होती है।
6. विस्तारशीलता
कई प्रोग्राम साइट पर परिनियोजन से पहले पूर्व-प्रोग्राम किए जा सकते हैं, लेकिन साइट पर अतिरिक्त प्रोग्राम जोड़ने की आवश्यकता हो सकती है। समग्र सिस्टम संरचना को बाधित करने से बचने के लिए, बैकअप हार्डवेयर के लिए प्रत्येक कार्यात्मक क्षेत्र में पर्याप्त स्थान आरक्षित करने की आवश्यकता है। सॉफ़्टवेयर को मैन्युअल, स्वचालित और अर्ध स्वचालित संचालन को ध्यान में रखकर डिज़ाइन किया जाना चाहिए और तदनुसार स्थान आवंटित किया जाना चाहिए।
7. व्यापक अलार्म प्रणाली
पीएलसी सिस्टम का उपयोग अक्सर औद्योगिक वातावरण में किया जाता है, जहां हर दुर्घटना से बड़ा या छोटा नुकसान हो सकता है। दुर्घटना की रोकथाम सुनिश्चित करने या दुर्घटना के दौरान नुकसान को कम करने के लिए, पीएलसी के अलार्म और सुरक्षा कार्यों पर जोर दिया जाना चाहिए। इसलिए, इसे सिस्टम के एक महत्वपूर्ण घटक के रूप में रेखांकित किया गया है।
8. प्रोग्राम सिमुलेशन
साइट पर डिबगिंग प्रगति या ग्राहक प्रदर्शन सुनिश्चित करने के लिए, तैनाती से पहले प्रोग्राम का पूर्ण स्वचालित सिमुलेशन अक्सर आवश्यक होता है। इसके लिए मौजूदा प्रोग्राम में एक सिमुलेशन प्रोग्राम अनुभाग जोड़ने की आवश्यकता होती है, जो साइट पर सामान्य संचालन के बाद डिस्कनेक्ट हो जाता है। प्रोग्राम को सिमुलेशन निष्पादित करने में सक्षम करने के लिए, निम्नलिखित चरणों की आवश्यकता है:
(1) वास्तविक पीएलसी I/O बिंदुओं को मध्यवर्ती चर या डेटा ब्लॉक चर में परिवर्तित करें;
(2) प्रक्रिया आवश्यकताओं के अनुसार उपकरण के प्रत्येक टुकड़े के लिए सिमुलेशन प्रोग्राम लिखें।
एक अच्छा पीएलसी प्रोग्राम वह माना जा सकता है जो उपरोक्त आवश्यकताओं को पूरा करता है।
पीएलसी प्रोग्रामिंग विशिष्टताएँ
1. उपयुक्त पीएलसी मॉडल और I/O पॉइंट काउंट का चयन करें। विशिष्ट कार्यात्मक आवश्यकताओं के लिए विशेष फ़ंक्शन मॉड्यूल चुनें।
2. चयनित पीएलसी प्रोग्रामिंग निर्देशों और संकलन सॉफ्टवेयर से परिचित रहें।
3. आंतरिक रिले, होल्डिंग रिले, डेटा रजिस्टर, टाइमर और काउंटर सहित सॉफ्ट घटकों की योजना बनाएं।
4. आम तौर पर गलती निष्कर्षण, गलती से निपटने, मैन्युअल हैंडलिंग, स्वचालित हैंडलिंग और आउटपुट हैंडलिंग के अनुक्रम का पालन करते हुए कार्यक्रम की योजना बनाएं। बड़ी परियोजनाओं या उपकरणों को स्वचालित उत्पादन लाइन में कार्यात्मक इकाइयों, जैसे लिफ्ट, स्थानांतरण उपकरण और उठाने/घूर्णन उपकरणों में विभाजित किया जाना चाहिए। इन्हें उपरोक्त इकाई संरचना के अनुसार खंडों और ब्लॉकों में प्रोग्राम किया जाना चाहिए।
5. प्रत्येक खंडित या ब्लॉक आधारित प्रोग्राम से पहले उसके कार्य को समझाते हुए संक्षिप्त खंड टिप्पणियाँ जोड़ें। यदि आवश्यक हो, तो संबंधित प्रक्रिया प्रवाह को इंगित करें। समग्र कार्यक्रम के भीतर खंडित या ब्लॉक आधारित कार्यक्रमों का क्रम आम तौर पर पठनीयता के लिए प्रक्रिया प्रवाह अनुक्रम का पालन करना चाहिए।
6. प्रोग्राम डिज़ाइन से पहले उपकरण का सार तैयार कर लेना चाहिए। सामान्य कारक जैसे स्टॉप, आपातकालीन स्टॉप, ओवरलोड, सीमा से अधिक, टाइमआउट, सुरक्षा प्रकाश पर्दा, टक्कर स्टॉप और दरवाजा स्विच को निकाला जाना चाहिए और स्टार्ट अप सर्किट या स्टार्ट अप मुख्य नियंत्रण और इंटरलॉक सर्किट में रखा जाना चाहिए। यह संपूर्ण कार्यक्रम संरचना के व्यापक आधार के रूप में कार्य करता है। इसके आधार पर, प्रोग्राम को फिर दो मुख्य कार्यात्मक क्षेत्रों में विभाजित किया जाता है: स्वचालित और मैनुअल।
7. प्रोग्राम संरचना के मैनुअल फ़ंक्शन क्षेत्र में सामान्य कारक, जैसे मैन्युअल संचालन और उपकरण और व्यक्तिगत सुरक्षा को खतरे में डालने वाले कारकों को निकाला जाना चाहिए और मैन्युअल नियंत्रण के लिए सुरक्षा, ढाल और अलार्म के लिए मैनुअल मुख्य नियंत्रण और इंटरलॉक सर्किट में रखा जाना चाहिए।
8. प्रोग्राम संरचना के स्वचालित कार्य क्षेत्र में सामान्य कारक, जैसे स्वचालित संचालन, सीमा से अधिक, और टाइमआउट कारक, को स्वचालित नियंत्रण के तहत उपकरणों की सुरक्षा, ढाल और अलार्म के लिए स्वचालित मुख्य नियंत्रण और इंटरलॉक सर्किट में निकाला जाना चाहिए। एक सामान्य सिद्धांत यह है कि सुरक्षा सुनिश्चित करते हुए उपकरण के प्रवेश को सख्ती से प्रतिबंधित किया जाए जबकि उपकरण के बाहर निकलने को शिथिल रूप से प्रतिबंधित किया जाए।
9. खराबी की स्थिति में सामान्य उपकरण संचालन की त्वरित और आसान बहाली की सुविधा के लिए प्रोग्राम में एक मास्टर रीसेट फ़ंक्शन डिज़ाइन किया जाना चाहिए। मास्टर रीसेट को रीसेट प्रक्रिया के दौरान उपकरण और कर्मियों की सुरक्षा पर पूरी तरह विचार करना चाहिए।
10. स्वचालित मोड से मैन्युअल मोड में स्विच करते समय, प्रोग्राम को आउटपुट और मध्यवर्ती स्थितियों को स्वचालित मोड से साफ़ करना चाहिए। विशेष रूप से स्वचालित मोड में SET निर्देश का उपयोग करते समय, इसे मैन्युअल मोड में RESET निर्देश का उपयोग करके साफ़ किया जाना चाहिए।
11. प्रोग्रामिंग में दोहरे आउटपुट सख्त वर्जित हैं; अर्थात्, एक ही आउटपुट स्टेटमेंट या एक ही आउटपुट कॉइल प्रोग्राम में दो या दो से अधिक बार प्रदर्शित होता है। विभिन्न मोड स्थितियों के तहत एक ही आउटपुट बिंदु के लिए, स्थानांतरण के लिए एक मध्यवर्ती रिले का उपयोग करें, और अंत में उन्हें एक एकल आउटपुट बिंदु में संयोजित करें।
12. टचस्क्रीन का उपयोग करते समय, टचस्क्रीन और पीएलसी द्वारा साझा किए गए नियंत्रण क्षेत्र और स्थिति क्षेत्र का उपयोग अन्य कार्यात्मक प्रोग्रामिंग के लिए नहीं किया जाना चाहिए।
13. किसी विशेष पीएलसी मॉड्यूल का उपयोग करने से पहले, जांच लें कि क्या उसका नियंत्रण क्षेत्र और स्थिति क्षेत्र कार्यशील शब्दों पर कब्जा करता है। यदि हां, तो इन कामकाजी शब्दों को अन्य उद्देश्यों के लिए प्रोग्राम न करें।
14. पीएलसी इनपुट, आउटपुट, इंटरमीडिएट रिले, टाइमर, काउंटर और डेटा रजिस्टर को चीनी अक्षरों के साथ एनोटेट किया जाना चाहिए। इनपुट और आउटपुट में घटक नाम और टैग नंबर भी शामिल होने चाहिए। संबंधित इनपुट बिंदु आम तौर पर बाहरी स्विच से जुड़े NO संपर्कों के लिए डिफ़ॉल्ट होते हैं। एनसी संपर्कों की आवश्यकता वाले इनपुट के लिए, इसे टिप्पणियों में निर्दिष्ट किया जाना चाहिए। सभी टिप्पणियाँ स्पष्ट और सुस्पष्ट होनी चाहिए, गलतफहमी से बचना चाहिए और सामान्य शब्दों का उपयोग कम से कम करना चाहिए।
15. प्रोजेक्ट डिबगिंग पूरी होने के बाद, अंतिम सॉफ्टवेयर प्रोग्राम को बरकरार रखा जाना चाहिए। सहेजे गए फ़ाइल नाम में प्रोजेक्ट नंबर, लेखक, दिनांक और संस्करण संख्या शामिल होनी चाहिए।
16. प्रोग्राम एन्क्रिप्शन के संबंध में: एन्क्रिप्टेड प्रोग्राम के लिए पासवर्ड को एक समर्पित फ़ाइल में संग्रहीत किया जाना चाहिए, जिसमें उपयोगकर्ता नाम, पासवर्ड और अनुमतियाँ स्पष्ट रूप से इंगित हों। पासवर्ड जानने के लिए और पासवर्ड खोने के कारण प्रोग्राम को अप्राप्य होने से बचाने के लिए इस फ़ाइल को कम से कम दो लोगों को वितरित किया जाना चाहिए।
प्रोग्रामिंग सुझाव
1. जब एक पीएलसी और एक होस्ट कंप्यूटर (या टचस्क्रीन) एक निगरानी प्रणाली बनाते हैं, तो स्क्रीन को अक्सर "मैनुअल" और "स्वचालित" जैसे नियंत्रण मोड प्रदर्शित करने की आवश्यकता होती है (आम तौर पर, एकाधिक मोड में केवल एक ही हो सकता है)। प्रोग्राम में "MOV" निर्देश का उपयोग किया जा सकता है। उदाहरण के लिए, जब "मैनुअल" चुना जाता है, तो स्थिरांक 1 को रजिस्टर VB10 में ले जाया जाता है; जब "स्वचालित" चुना जाता है, तो 2 को उसी रजिस्टर VB10 में ले जाया जाता है। रजिस्टर में डेटा की जांच करके सिस्टम का नियंत्रण मोड निर्धारित किया जा सकता है। इस दृष्टिकोण का लाभ इसकी समझ में आसानी है और इंटरलॉकिंग जैसी जटिल प्रक्रियाओं की आवश्यकता से बचा जाता है।
2. जब प्रोग्राम में एनालॉग सिग्नल नियंत्रण शामिल होता है, यदि पढ़े गए एनालॉग सिग्नल में वस्तुतः कोई त्रुटि नहीं है, तो इनपुट में देरी के लिए समय फ़िल्टरिंग का उपयोग किया जा सकता है। यदि पढ़े गए डेटा में बड़ी त्रुटि है, तो अन्य फ़िल्टरिंग विधियों की आवश्यकता होती है, जैसे औसत। अधिक जानकारी के लिए प्रासंगिक दस्तावेज़ देखें।
3. प्रोग्राम डिबगिंग के दौरान, यदि कोई शर्त पूरी हो जाती है लेकिन आउटपुट कॉइल सक्रिय नहीं होता है, तो जांचें कि क्या आपके प्रोग्राम का यह अनुभाग ऐसे कथनों के भीतर है, जैसे 'JUMP पर जाएं'। एक और संभावना यह है कि कार्यक्रम में रुकावट के बाद, शर्त पूरी हो जाती है लेकिन कोई आउटपुट नहीं होता है; यह आमतौर पर इंगित करता है कि प्रोग्राम का यह अनुभाग स्कैन नहीं किया जा रहा है।
4. अनुक्रमिक नियंत्रण कार्यक्रमों में, यानी, जब एक क्रिया पूरी हो जाती है और अगली क्रिया शुरू की जाती है, तो +10+10 नियंत्रण मोड बहुत सुविधाजनक होता है। विचार इस प्रकार है: आरंभीकरण के दौरान एक रजिस्टर 0 पर पूर्व निर्धारित होता है। सिस्टम स्टार्टअप के बाद, इसे 10 से बढ़ा दिया जाता है, जिससे रजिस्टर का मान 10 हो जाता है। 10 पर रजिस्टर के साथ, पहली कार्रवाई की जा सकती है। पहली कार्रवाई के बाद, रजिस्टर को फिर से 10 से बढ़ा दिया जाता है, जिससे रजिस्टर का मान 20 हो जाता है, जिससे दूसरी कार्रवाई की जा सकती है। दूसरी कार्रवाई के बाद, इसे फिर से 10 से बढ़ा दिया जाता है, जिससे रजिस्टर का मान 30 हो जाता है। इस तरह, रजिस्टर में मूल्य की जांच करके, वांछित कार्रवाई निर्धारित की जा सकती है। जब जंप एक्शन की आवश्यकता होती है, तो विशिष्ट आवश्यकताओं के आधार पर वेतन वृद्धि को 10 से 20, 30 आदि में बदला जा सकता है।
1 की जगह 10 की बढ़ोतरी क्यों? क्योंकि 10 की वृद्धि के बाद, यदि किसी खंड को सम्मिलित करने की आवश्यकता है, तो इसे 10 उपलब्ध स्लॉट में से किसी में भी डाला जा सकता है।
5. किसी प्रोग्राम को डिज़ाइन करते समय, यदि प्रक्रिया से संबंधित गलती (नियंत्रण प्रणाली द्वारा नियंत्रित नहीं) होती है, तो गलती की घटना को बनाए रखना और ऑपरेटर द्वारा सिस्टम को रीसेट करने तक दृश्य और श्रव्य अलार्म प्रदान करना सबसे अच्छा है, ताकि उन्हें गलती के बारे में पता चल सके। अन्यथा, यदि सिस्टम बंद हो जाता है, तो अन्य लोग मान सकते हैं कि प्रोग्राम में कोई समस्या है। नई प्रणाली को डिज़ाइन करते समय आम तौर पर इन बिंदुओं पर विचार किया जाना चाहिए।
6. बार-बार कॉल किए जाने वाले सबरूटीन्स को बार-बार कॉल के लिए सबमॉड्यूल में बनाया जा सकता है।
7. चूंकि उत्पादन मशीन के कार्य चक्र में प्रत्येक चरण को निष्पादित करने के लिए एक निश्चित समय की आवश्यकता होती है, और इन समयों की कुछ सीमाएं होती हैं, निगरानी किए जाने वाले चरण की शुरुआत के साथ-साथ एक टाइमर भी शुरू किया जा सकता है। टाइमर की समय सेटिंग क्रिया की सामान्य अवधि से 20%-30% अधिक लंबी होनी चाहिए। टाइमर के आउटपुट सिग्नल का उपयोग अलार्म या स्वचालित शटडाउन उपकरणों के लिए किया जा सकता है। जब किसी चरण का समय निर्दिष्ट समय से अधिक हो जाता है, तो संबंधित टाइमर पूर्व निर्धारित समय तक पहुंच जाता है, और अगला चरण शुरू होने से पहले, टाइमर एक गलती संकेत जारी करता है। यह सिग्नल सामान्य कार्य चक्र को रोक देता है और अलार्म या शटडाउन प्रक्रिया शुरू कर देता है; इसे हम आम तौर पर {{7}साइकिल सुरक्षा कहते हैं।
8. कुछ सुरक्षा पहचान स्विच (जैसे आपातकालीन स्टॉप बटन, सुरक्षा प्रकाश पर्दे, सीमा स्विच इत्यादि) को सामान्य रूप से बंद (एनसी) इनपुट का उपयोग करना चाहिए।
9. सुरक्षा और ऊर्जा बचत के विचारों के लिए, आउटपुट को केवल जरूरत पड़ने पर सक्रिय करने और कार्रवाई पूरी होने के बाद रोकने के लिए डिज़ाइन किया जाना चाहिए, न कि स्टॉप की आवश्यकता होने तक लगातार आउटपुट के लिए डिज़ाइन किया जाना चाहिए।
10. एक्चुएटर्स के लिए संचालन सिद्धांत यह होना चाहिए: अनियमित रूप से चलने की तुलना में स्थिर रहना बेहतर है।
11. एकल इकाई उपकरण नियंत्रण: प्रत्येक इकाई में एक मैनुअल/स्वचालित स्विचिंग फ़ंक्शन और मैन्युअल ऑपरेशन के दौरान एक स्टार्ट/स्टॉप फ़ंक्शन होना चाहिए। स्वचालित से मैन्युअल संचालन पर स्विच करते समय, उपकरण रुकना नहीं चाहिए; मैनुअल से स्वचालित पर स्विच करते समय, उपकरण का प्रारंभ/बंद स्वचालित प्रोग्राम पर निर्भर करता है।
12. उपकरण की प्रत्येक इकाई (पंप, पंखा, और अन्य बड़े उपकरण) को 24 घंटे के संचालन के बाद घुमाया जाना चाहिए, और एक संचयी चलने का समय रिकॉर्ड होना चाहिए, जब तक कि स्टार्ट/स्टॉप अनुक्रम होस्ट कंप्यूटर द्वारा निर्धारित न किया गया हो; अन्यथा, ऑपरेटर को इसे मैन्युअल रूप से सेट करना होगा।





