सौर प्रणालियों के साथ संयोजन में स्थापित अधिकांश बैटरी भंडारण प्रणालियों में एक अंतर्निहित चार्जिंग नियम होता है जिसके तहत वे बिजली आने से पहले चार्ज करने का प्रयास करते हैं और ग्रिड से बिजली खींचने से पहले डिस्चार्ज करने का प्रयास करते हैं। औद्योगिक भंडारण प्रणालियों को अन्य मानदंडों के अनुसार नियंत्रित किया जा सकता है, उदाहरण के लिए पीक लोड को सीमित करना या नेटवर्क ऑपरेटर के विनिर्देशों के अनुसार उच्च-लोड विंडो में ऊर्जा खपत को सीमित करना। इलेक्ट्रिक कार को चार्ज करते समय छोटी बैटरी स्टोरेज प्रणालियाँ गहरे चार्जिंग चक्र से गुजरेंगी और इसलिए उनमें बहुत अधिक टूट-फूट होगी। इसलिए, कई मामलों में cFos चार्जिंग मैनेजर का उपयोग करके स्टोरेज को नियंत्रित करना समझ में आता है। इसके लिए आपको एक ऐसे मॉडल की आवश्यकता है जिसे नियंत्रित किया जा सके या कम से कम एक रिले के माध्यम से स्विचिंग विकल्प की आवश्यकता हो।
स्टोरेज सिस्टम को सनस्पेक बैटरी मॉडल 124 (जैसे फ्रोनियस) के हिस्से के रूप में नियंत्रित किया जा सकता है या उनके अपने मॉडबस रजिस्टर हैं जो नियंत्रण की अनुमति देते हैं। हाइब्रिड उपकरण सौर पैनलों और भंडारण के लिए इनवर्टर के रूप में काम करते हैं। इनवर्टर, मीटर और बैटरी स्टोरेज को cFos चार्जिंग मैनेजर में मीटर टाइल्स के रूप में बनाया जाता है। इसलिए सभी मीटरों में बैटरी नियंत्रण को सक्रिय करने का विकल्प होता है। मॉडल 124 वाले सनस्पेक उपकरणों के लिए, सीएफओएस चार्जिंग मैनेजर संबंधित मेमोरी को नियंत्रित करने का प्रयास करता है। आपको पहले इसे डिवाइस में सक्रिय करना पड़ सकता है। कस्टम मीटर (विक्ट्रॉन, आदि) के लिए, cFos चार्जिंग मैनेजर "soc" (प्रतिशत में) नामक एक कस्टम वैरिएबल खोजने का प्रयास करता है। यदि आवश्यक हुआ तो इसे काउंटर टाइल में प्रदर्शित किया जाएगा।
बैटरी भंडारण नियंत्रण के तहत आप पहले अधिकतम चार्जिंग और डिस्चार्जिंग पावर निर्दिष्ट कर सकते हैं। -1 का मतलब है कि चार्जिंग मैनेजर को चार्जिंग या डिस्चार्जिंग पावर को नियंत्रित नहीं करना चाहिए। फिर आप कई चार्जिंग नियमों को परिभाषित कर सकते हैं जो हर कुछ सेकंड में एक के बाद एक संसाधित होते हैं और चार्जिंग या डिस्चार्जिंग करंट को सीमित करते हैं। चार्जिंग नियम वॉलबॉक्स के लिए चार्जिंग नियमों के समान ही काम करते हैं। सीएफओएस चार्जिंग मैनेजर अधिकतम चार्जिंग पावर या डिस्चार्जिंग पावर को शुरुआती मूल्य, यानी नियंत्रण मूल्य के रूप में उपयोग करता है, और चार्जिंग नियमों को संसाधित करके इसे बदलने की अनुमति देता है।
सभी चार्जिंग नियम संसाधित होने के बाद, चार्जिंग या डिस्चार्जिंग पावर के लिए एक वर्तमान सीमा (जो 0 भी हो सकती है) होती है। सीएफओएस चार्जिंग मैनेजर इन मानों को "चार्ज_पावर_डब्ल्यू", "चार्ज_पावर_पीआरसी" (प्रतिशत में), "डिस्चार्ज_पावर_डब्ल्यू" और "डिस्चार्ज_पावर_पीआरसी" नामक उपयोगकर्ता-परिभाषित चर में संग्रहीत करता है। एक कस्टम वैरिएबल भी है जिसे "bat_mode" कहा जाता है। यहां यह दर्ज किया जाता है कि चार्जिंग सीमा है या डिस्चार्जिंग सीमा (0=कोई मान नहीं, 1=चार्जिंग सीमा, 2=डिस्चार्जिंग सीमा, 3=चार्जिंग और डिस्चार्जिंग सीमा)। सीमाएं सनस्पेक उपकरणों पर परिवर्तित की जाती हैं और इस उद्देश्य के लिए प्रदान किए गए रजिस्टरों में लिखी जाती हैं। कस्टम काउंटर के साथ, आप कस्टम आउटपुट बना सकते हैं जो डिवाइस पर उपरोक्त चर के मान लिखते हैं। आपको इसके उदाहरण विक्टरन या कोस्टल प्लेंटिकोर के लिए शामिल काउंटर परिभाषाओं में मिलेंगे। यदि लोड या अनलोड सीमा को नियंत्रित नहीं किया जाता है, तो संबंधित चर मौजूद नहीं होते हैं, इसलिए वे मेमोरी में नहीं लिखे जाते हैं। बैटरी स्टोरेज कंट्रोलर की "मोड" सेटिंग यह निर्धारित करती है कि जब चार्जिंग और डिस्चार्जिंग पावर दोनों के लिए सकारात्मक मान हों तो क्या होना चाहिए। "न्यूट्रल" का अर्थ है कि cFos चार्जिंग मैनेजर दोनों मानों को मेमोरी में स्थानांतरित करता है और, यदि आवश्यक हो, तो मेमोरी तय करती है कि एक क्षेत्र में क्या करना है। "चार्जिंग को प्राथमिकता दें" का अर्थ है कि चार्जिंग पावर सकारात्मक होने पर डिस्चार्जिंग पावर 0 पर सेट है, "डिस्चार्जिंग को प्राथमिकता देना" का अर्थ है कि डिस्चार्जिंग पावर सकारात्मक होने पर (चार्जिंग) चार्जिंग पावर 0 पर सेट है। यह तब उपयोगी होता है जब मेमोरी में केवल एक चार्ज और डिस्चार्ज पावर मान होता है। यदि चार्जिंग या डिस्चार्जिंग पावर 0 से कम है, तो उपयोगकर्ता द्वारा परिभाषित चर हटा दिए जाते हैं। कस्टम काउंटर परिभाषाएँ बनाते समय आपको इस पर विचार करना चाहिए। यह मामला है, उदाहरण के लिए, यदि आपने अधिकतम चार्जिंग या डिस्चार्जिंग पावर के रूप में -1 निर्दिष्ट किया है, या यदि आपके चार्जिंग नियम नकारात्मक मानों की ओर ले जाते हैं। उदाहरण के लिए, आप मीटर परिभाषाएँ बना सकते हैं जिनका बैटरी भंडारण पर नियंत्रण प्रभाव केवल तभी पड़ता है जब संबंधित चर मौजूद हों (if exist(charge_power_w)...
)।
आउटपुट स्विचिंग: दुर्भाग्य से, कुछ यादों को उपरोक्त नियमों का उपयोग करके सीधे नियंत्रित नहीं किया जा सकता है। लेकिन कम से कम उपरोक्त नियमों का उपयोग करके मेमोरी को निष्क्रिय करने में सक्षम होने के लिए (उदाहरण के लिए जब कार चार्ज हो रही हो), यदि मेमोरी में नियंत्रण इनपुट है तो आप स्विचिंग संपर्क का उपयोग करने का प्रयास कर सकते हैं। यदि व्यावहारिक हो, तो स्टोरेज डिवाइस को कॉन्टैक्टर का उपयोग करके मेन से विद्युत रूप से अलग किया जा सकता है (स्टोरेज डिवाइस को नष्ट होने से बचाने के लिए, आपको पहले निर्माता या इलेक्ट्रीशियन से जांच करनी होगी कि डिवाइस इसके लिए उपयुक्त है या नहीं)। "स्विचिंग आउटपुट" फ़ील्ड में आप एक वेरिएबल का नाम निर्दिष्ट कर सकते हैं जो चार्जिंग नियमों का मूल्यांकन करने के बाद यदि चार्जिंग या डिस्चार्जिंग पावर सकारात्मक है तो 1 पर सेट है और यदि नहीं है तो 0 पर सेट है। सीएफओएस चार्जिंग मैनेजर शेली स्विच बॉक्स या स्विच सॉकेट के लिए मीटर परिभाषा प्रदान करता है। जब आप इसे सेट करते हैं, तो मीटर को एक डिवाइस आईडी प्राप्त होती है, उदाहरण के लिए M5। फिर आप बैटरी स्टोरेज नियंत्रण में "स्विचिंग आउटपुट" के तहत शेली स्विच बॉक्स को निर्दिष्ट कर सकते हैं: M5.output1
। यदि आप वेरिएबल नाम के सामने माइनस लगाते हैं, तो स्विचिंग आउटपुट उलटा हो जाएगा (-M5.output1
)