
फंक्शन ब्लॉक TIMESWITCH_ADD एक टाइम स्विच में एक इवेंट बनाता है या इसे संशोधित करता है।
सूचना: टाइम स्विच को उसी तत्व में स्टोर किया जाना चाहिए।
टिप: एक इवेंट को संशोधित करने के लिए, सभी मानों को फंक्शन ब्लॉक TIMESWITCH_GET का उपयोग करके पढ़ा जा सकता है।
इनपुट एक इवेंट को कैलेंडर में बनाता या संशोधित करता है, जब एक पॉजिटिव एज होता है। अगर इनपुट हमेशा सत्य है, तो इवेंट, जैसे ही इसे डिलीट किया जाता है, फिर से बनाया जाएगा। किसी इवेंट के बदलाव को पहचाना नहीं जाएगा।
महत्वपूर्ण: बनाने और साथ ही हटाने को टालना चाहिए, क्योंकि यह एसएसडी को बहुत स्ट्रेस दे सकता है।
यहाँ टाइम स्विच के डेटाबेस को एक स्ट्रिंग के रूप में स्टोर किया जाता है। इसे फंक्शन ब्लॉक TIMESWITCH के रूप में पहले से ही मौजूद होना चाहिए। प्रोग्राम की क्रमबद्धता का भी ध्यान रखें, ताकि यह फंक्शन ब्लॉक सही ढंग से इनिशियलाइज़ हो सके।
इवेंट के आईडी को एक स्ट्रिंग के रूप में परिभाषित करता है। यह एक अनूठा पहचान प्रदान करता है और सुनिश्चित करता है कि अन्य इवेंट्स कोई कन्फ्लिक्ट नहीं पैदा करेंगे। आईडी को केवल अक्षरों और संख्याओं से बना होना चाहिए। बड़े और छोटे अक्षरों का ध्यान रखा जाएगा।
सूचना: आईडी को सभी कैलेंडर्स के लिए अनूठा होना चाहिए। एक इवेंट को उपयोगकर्ता द्वारा विजुअलाइज़ेशन में किसी अन्य कैलेंडर में कॉपी किया जा सकता है।
इवेंट का शीर्षक एक स्ट्रिंग के रूप में। इसमें लाइन ब्रेक नहीं होने चाहिए। अगर इनपुट ADD सत्य है, तो हर बदलाव को तुरंत कैलेंडर में लिखा जाएगा।
इवेंट की शुरुआत की समयसूचना DT# प्रारूप में वापस आती है। अगर इनपुट ADD सत्य है, तो हर बदलाव को तुरंत कैलेंडर में लिखा जाएगा।
टिप: स्विचिंग टाइम्स को फंक्शन ब्लॉक्स MKTIME, STR2DT और EASTER_DATE का उपयोग करके कैलकुलेट किया जा सकता है।
इवेंट की समाप्ति की समयसूचना DT# प्रारूप में वापस आती है। अगर इनपुट ADD सत्य है, तो हर बदलाव को तुरंत कैलेंडर में लिखा जाएगा। अगर समाप्ति की समयसूचना DT_START से छोटी है, तो DT_END को शुरुआत की समयसूचना के रूप में परिभाषित किया जाएगा।
अगर इनपुट को परिभाषित नहीं किया जाता है, तो DT_START के समान मान लिया जाएगा और इवेंट में एक पल्स बनाया जाएगा।
इनपुट कैलेंडर में इवेंट को डिसएक्टिवेट करता है। अगर इनपुट ADD सत्य है, तो हर बदलाव को तुरंत कैलेंडर में लिखा जाएगा।
इनपुट पर रिपीट्स को एक स्ट्रिंग के रूप में परिभाषित किया जा सकता है। इन्हें हेल्पर फंक्शन्स REPEAT_YEARLY, REPEAT_MONTHLY, REPEAT_WEEKLY, REPEAT_DAILY और REPEAT_HOURLY का उपयोग करके जनरेट किया जा सकता है या जैसा कि वर्णित है, घोषित किया जा सकता है।
स्ट्रिंग को एक डबल कॉलन से अलग किया जा सकता है और निम्नलिखित तरह से बनाया जा सकता है:
w:2:4:135
पहला अंक (छोटे अक्षर में) रिपीट के समय अंतराल को परिभाषित करता है:
| शॉर्टकट | समय अंतराल |
|---|---|
| h | प्रत्येक घंटे |
| d | प्रत्येक दिन |
| w | प्रत्येक सप्ताह |
| m | प्रत्येक महीने |
| y | प्रत्येक वर्ष |
दूसरा अंक रिपीट की इंटरवल को एक पूर्णांक के रूप में परिभाषित करता है। सबसे छोटा मान 1 है।
तीसरा अंक रिपीट की समाप्ति को परिभाषित करता है। यहाँ तीन अलग-अलग प्रारूप परिभाषित किए जा सकते हैं:
चौथा अंक उन सप्ताह के दिनों को परिभाषित करता है जब रिपीट होता है। इस अंक का उपयोग केवल सप्ताहिक या मासिक रिपीट्स को परिभाषित करने में किया जाता है।
यह जांचता है कि क्या वर्तमान सप्ताह का दिन संख्या में मौजूद है। कई दिनों को आसानी से एक के बाद दूसरे के रूप में दिया जा सकता है। जैसे कि 135 सोमवार, मंगलवार और शुक्रवार के लिए। अगर कोई मान नहीं दिया जाता है (0 या एक खाली स्ट्रिंग), तो किसी दिन पर रिपीट नहीं होगा।
| संख्या | सप्ताह का दिन |
|---|---|
| 1 | सोमवार |
| 2 | मंगलवार |
| 3 | बुधवार |
| 4 | गुरुवार |
| 5 | शुक्रवार |
| 6 | शनिवार |
| 7 | रविवार |
परिभाषित करता है कि किस सप्ताह के दिन इवेंट को रिपीट किया जाना चाहिए। समर्थित संख्याएं -1 से 4 तक हैं। 0 या कोई घोषणा नहीं हर महीने उसी दिन रिपीट करती है, सप्ताह के दिन से स्वतंत्र। सप्ताह का दिन पहले तारीख से लिया जाएगा।
| मान | विवरण |
|---|---|
| -1 | अंतिम सप्ताह के दिन रिपीट करता है। |
| 0 | उसी दिन रिपीट करता है। (डिफ़ॉल्ट) |
| 1 | पहले सप्ताह के दिन रिपीट करता है। |
| 2 | दूसरे सप्ताह के दिन रिपीट करता है। |
| 3 | तीसरे सप्ताह के दिन रिपीट करता है। |
| 4 | चौथे सप्ताह के दिन रिपीट करता है। |
एरर के मामले में, आउटपुट को सत्य पर सेट किया जाता है। यह तब हो सकता है जब कैलेंडर मौजूद नहीं है या आईडी को गलत तरीके से परिभाषित किया गया है या वह अमान्य है।