फंक्शन ब्लॉक TIMESWITCH_ADD

फंक्शन ब्लॉक TIMESWITCH_ADD एक टाइम स्विच में एक इवेंट बनाता है या इसे संशोधित करता है।

सूचना: टाइम स्विच को उसी तत्व में स्टोर किया जाना चाहिए।

टिप: एक इवेंट को संशोधित करने के लिए, सभी मानों को फंक्शन ब्लॉक TIMESWITCH_GET का उपयोग करके पढ़ा जा सकता है।

इनपुट ADD

इनपुट एक इवेंट को कैलेंडर में बनाता या संशोधित करता है, जब एक पॉजिटिव एज होता है। अगर इनपुट हमेशा सत्य है, तो इवेंट, जैसे ही इसे डिलीट किया जाता है, फिर से बनाया जाएगा। किसी इवेंट के बदलाव को पहचाना नहीं जाएगा।

महत्वपूर्ण: बनाने और साथ ही हटाने को टालना चाहिए, क्योंकि यह एसएसडी को बहुत स्ट्रेस दे सकता है।

इनपुट TIMESWITCH

यहाँ टाइम स्विच के डेटाबेस को एक स्ट्रिंग के रूप में स्टोर किया जाता है। इसे फंक्शन ब्लॉक TIMESWITCH के रूप में पहले से ही मौजूद होना चाहिए। प्रोग्राम की क्रमबद्धता का भी ध्यान रखें, ताकि यह फंक्शन ब्लॉक सही ढंग से इनिशियलाइज़ हो सके।

इनपुट ID

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

सूचना: आईडी को सभी कैलेंडर्स के लिए अनूठा होना चाहिए। एक इवेंट को उपयोगकर्ता द्वारा विजुअलाइज़ेशन में किसी अन्य कैलेंडर में कॉपी किया जा सकता है।

इनपुट TITLE

इवेंट का शीर्षक एक स्ट्रिंग के रूप में। इसमें लाइन ब्रेक नहीं होने चाहिए। अगर इनपुट ADD सत्य है, तो हर बदलाव को तुरंत कैलेंडर में लिखा जाएगा।

इनपुट DT_START

इवेंट की शुरुआत की समयसूचना DT# प्रारूप में वापस आती है। अगर इनपुट ADD सत्य है, तो हर बदलाव को तुरंत कैलेंडर में लिखा जाएगा।

टिप: स्विचिंग टाइम्स को फंक्शन ब्लॉक्स MKTIME, STR2DT और EASTER_DATE का उपयोग करके कैलकुलेट किया जा सकता है।

इनपुट DT_END

इवेंट की समाप्ति की समयसूचना DT# प्रारूप में वापस आती है। अगर इनपुट ADD सत्य है, तो हर बदलाव को तुरंत कैलेंडर में लिखा जाएगा। अगर समाप्ति की समयसूचना DT_START से छोटी है, तो DT_END को शुरुआत की समयसूचना के रूप में परिभाषित किया जाएगा।

अगर इनपुट को परिभाषित नहीं किया जाता है, तो DT_START के समान मान लिया जाएगा और इवेंट में एक पल्स बनाया जाएगा।

इनपुट DIS

इनपुट कैलेंडर में इवेंट को डिसएक्टिवेट करता है। अगर इनपुट ADD सत्य है, तो हर बदलाव को तुरंत कैलेंडर में लिखा जाएगा।

इनपुट REPEAT

इनपुट पर रिपीट्स को एक स्ट्रिंग के रूप में परिभाषित किया जा सकता है। इन्हें हेल्पर फंक्शन्स REPEAT_YEARLY, REPEAT_MONTHLY, REPEAT_WEEKLY, REPEAT_DAILY और REPEAT_HOURLY का उपयोग करके जनरेट किया जा सकता है या जैसा कि वर्णित है, घोषित किया जा सकता है।

स्ट्रिंग को एक डबल कॉलन से अलग किया जा सकता है और निम्नलिखित तरह से बनाया जा सकता है:

w:2:4:135

पहला अंक (छोटे अक्षर में) रिपीट के समय अंतराल को परिभाषित करता है:

शॉर्टकट समय अंतराल
h प्रत्येक घंटे
d प्रत्येक दिन
w प्रत्येक सप्ताह
m प्रत्येक महीने
y प्रत्येक वर्ष

दूसरा अंक रिपीट की इंटरवल को एक पूर्णांक के रूप में परिभाषित करता है। सबसे छोटा मान 1 है।

तीसरा अंक रिपीट की समाप्ति को परिभाषित करता है। यहाँ तीन अलग-अलग प्रारूप परिभाषित किए जा सकते हैं:

  • कोई मान नहीं: रिपीट अनंत है।
  • एक सरल पूर्णांक के रूप में: रिपीट परिभाषित की गई संख्या में रिपीट्स के बाद समाप्त होती है।
  • एक तारीख YYYY-MM-DD के रूप में: रिपीट तारीख से पहले समाप्त हो जाएगा।

चौथा अंक उन सप्ताह के दिनों को परिभाषित करता है जब रिपीट होता है। इस अंक का उपयोग केवल सप्ताहिक या मासिक रिपीट्स को परिभाषित करने में किया जाता है।

सप्ताहिक रिपीट्स

यह जांचता है कि क्या वर्तमान सप्ताह का दिन संख्या में मौजूद है। कई दिनों को आसानी से एक के बाद दूसरे के रूप में दिया जा सकता है। जैसे कि 135 सोमवार, मंगलवार और शुक्रवार के लिए। अगर कोई मान नहीं दिया जाता है (0 या एक खाली स्ट्रिंग), तो किसी दिन पर रिपीट नहीं होगा।

संख्या सप्ताह का दिन
1 सोमवार
2 मंगलवार
3 बुधवार
4 गुरुवार
5 शुक्रवार
6 शनिवार
7 रविवार
मासिक रिपीट्स

परिभाषित करता है कि किस सप्ताह के दिन इवेंट को रिपीट किया जाना चाहिए। समर्थित संख्याएं -1 से 4 तक हैं। 0 या कोई घोषणा नहीं हर महीने उसी दिन रिपीट करती है, सप्ताह के दिन से स्वतंत्र। सप्ताह का दिन पहले तारीख से लिया जाएगा।

मान विवरण
-1 अंतिम सप्ताह के दिन रिपीट करता है।
0 उसी दिन रिपीट करता है। (डिफ़ॉल्ट)
1 पहले सप्ताह के दिन रिपीट करता है।
2 दूसरे सप्ताह के दिन रिपीट करता है।
3 तीसरे सप्ताह के दिन रिपीट करता है।
4 चौथे सप्ताह के दिन रिपीट करता है।

आउटपुट ERR

एरर के मामले में, आउटपुट को सत्य पर सेट किया जाता है। यह तब हो सकता है जब कैलेंडर मौजूद नहीं है या आईडी को गलत तरीके से परिभाषित किया गया है या वह अमान्य है।