2011-09-28 7 views
5

में 'वर्बोसिटी' जैसी अवधारणा की तलाश में मैं बड़े मॉडलिका मॉडल के लिए आउटपुट फ़ाइलों के आकार के साथ संघर्ष कर रहा हूं। बेशक, मैं परिणाम फ़ाइलों से पूरी तरह से उन्हें हटाने के लिए कुछ वस्तुओं की रक्षा कर सकता हूं।मॉडलिका

  1. यह संरक्षित वस्तुओं redeclare संभव नहीं है
  2. अगर मैं (कम समय अवधि के लिए उदाहरण के लिए) में विस्तार से अपने मॉडल का परीक्षण करना चाहते, मैं उन वस्तुओं सार्वजनिक रूप से घोषित करने के लिए की जरूरत है: हालांकि, कि दोनों समस्याओं को जन्म देता है फिर से उनके चर

मुझे आश्चर्य है कि मॉडलिका मॉडल की 'वर्बोजिटी' सेट करने के लिए कोई चाल है या नहीं। हो सकता है कि मैं क्या चाहता हूं public, protected के बगल में एक तीसरा कीवर्ड है, उदाहरण के लिए। transparent। > पर विचार ->protected

2 के रूप में सभी transparent तत्वों पर विचार -

1: तब, जब एक सिमुलेशन की स्थापना, मैं निम्नलिखित प्रभाव के साथ 1, या 2 के लिए शब्दाडंबर स्तर सेट करने में सक्षम हो चाहता हूँ सभी transparent तत्व public

यह प्रभाव सभी मॉडलों और submodels के लिए प्रचारित होगा।
मुझे नहीं लगता कि यह पहले से मौजूद है। लेकिन क्या कोई आसान कामकाज है?

धन्यवाद, रोएल

उत्तर

3

रोएल,

मैं कई इस मुद्दे के साथ कुश्ती लोगों को पता है। फिलहाल, यह सब इस्तेमाल किए जा रहे टूल पर निर्भर करता है। मुझे नहीं पता कि अन्य उपकरण परिणामों के फ़िल्टरिंग को कैसे संभालते हैं, लेकिन डिमोला में आप सिग्नल विशेष क्वालीफायर (उदा। संरक्षित) देकर इसे नियंत्रित करते हैं (जैसा कि आप इंगित करते हैं)।

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

डेसॉल्ट पर, हम सक्रिय रूप से इस विचार पर चर्चा कर रहे हैं और इन पंक्तियों के साथ कुछ बेहतर कार्यक्षमता प्रदान करने की उम्मीद कर रहे हैं। यह स्पष्ट नहीं है कि ऐसी कार्यक्षमता कड़ाई से उपकरण विशिष्ट होगी या चाहे वह किसी भी तरह से भाषा को शामिल करेगी। लेकिन यदि यह भाषा से संबंधित है, तो हम निश्चित रूप से डिज़ाइन समूह के साथ काम करेंगे ताकि एक विनिर्देश तैयार किया जा सके कि अन्य टूल विक्रेता भी समर्थन कर सकें।

+0

आपके उत्तर के लिए धन्यवाद। जितना संभव हो सके सुरक्षित करना और आउटपुट जोड़ना मैंने वास्तव में किया है, लेकिन मैं आपके दोनों के साथ सहमत हूं) और बी)। मुझे उम्मीद है कि एक भाषा मानक समाधान बाहर आ जाएगा, क्योंकि उपकरण विशिष्ट समाधान क्रॉस-टूल लाभ को कम कर रहे हैं मॉडलिका स्पष्ट रूप से है। – saroele

2

मुझे यकीन नहीं है कि यह आपकी मदद करता है, लेकिन डिमोला में आप सिमुलेशन-> सेटअप-> आउटपुट पर जा सकते हैं और "स्टोर संरक्षित चर" कहकर एक चेकबॉक्स चिह्नित कर सकते हैं। इस तरह संरक्षित के रूप में अधिकांश चर घोषित करना संभव है: सामान्य सिमुलेशन के दौरान वे संग्रहीत नहीं होते हैं, लेकिन जब आपके मॉडल को डीबग करते हैं, तो आप बस उस चेकबॉक्स को चिह्नित करते हैं और वे संग्रहीत होते हैं। बेशक यह आपके सुझाए गए कीवर्ड पारदर्शी जैसा नहीं है, लेकिन शायद यह थोड़ा सा मदद करता है ...

+1

आपके उत्तर के लिए धन्यवाद, यह वास्तव में मदद करता है क्योंकि अब मैं उन सभी चीजों की रक्षा कर सकता हूं जिनकी मुझे लंबी सिमुलेशन की आवश्यकता नहीं है, और 1 क्लिक में सब कुछ वापस डिबगिंग रन के लिए प्राप्त करें। लेकिन लगभग हर चीज को संरक्षित करने से मुझे नियमों को तोड़ने के लिए बाध्य किया जाता है (जो डिमोला स्वीकार करता है) और संरक्षित चर के संदर्भ में। टिप के लिए – saroele

6

जैसा कि माइकल टिलर ने लिखा था, यह सभी मॉडलिका उपकरणों में समान तरीके से संभाला नहीं जाता है और कोई निश्चित उत्तर नहीं है । ओपनमोडेलिका-विशिष्ट उत्तर देने के लिए, simulate(ModelName,outputFilter="regex") का उपयोग करना संभव है, केवल वेरिएबल्स को संग्रहीत करने के लिए जो कि दिए गए रेगेक्स से पूरी तरह मेल खाते हैं (डिफ़ॉल्ट .* है, किसी भी चर से मेल खाता है)।

+0

धन्यवाद। इसलिए इस सुविधा का प्रभावी ढंग से उपयोग करने के लिए आपको एक लंबे सिमुलेशन के आउटपुट में प्राप्त होने वाले सभी चरों के लिए _o जैसे विशिष्ट 'मार्कर' जोड़ना होगा। यह बहुत अच्छा होगा अगर मॉडलिका समुदाय भाषा विनिर्देश में आ सकता है जो कि क्रॉस-टूल है। – saroele

+0

चर को टैग करना आवश्यक नहीं है। नियमित अभिव्यक्तियों के साथ आप 'ए | बी | सी' (ए या बी या सी), या 'ए \ .b \ .c \ [। * \]। X' (abc [1] .x .. abc [ n] .x)। पैटर्न लिखना बहुत परेशान है, लेकिन वे बहुमुखी और लागू करने के लिए उपकरण के लिए आसान हैं। हालांकि मैं सहमत हूं कि क्रॉस-टूल समाधान मिलने पर यह अच्छा होगा, मॉडलिका विनिर्देश केवल कुछ स्थानों पर सिमुलेशन के मुद्दे को छूता है। –

3

सिस्टममोडर में, आप सिमुलेशन सेंटर में प्रयोग ब्राउज़र में सेटिंग टैब पर जाते हैं। नीचे आउटपुट पर क्लिक करें और स्टोर करने के लिए कौन से चर चुनें।

(विकल्प state variables, derivatives, algebraic variables, parameters, protected variables कर रहे हैं और अगर आप Store simulation log -option चिह्नित करते हैं, आप नीचे के कुछ हिस्सों को ट्रैक करने के समय और समारोह के मूल्यांकन से अधिक घटनाओं पर कुछ दिलचस्प आंकड़े दिखाई देंगे, एक और संभावना खोलने सिमुलेशन और मॉडल जो अधिक मूल्यांकन बनाता है)

0

थोड़ा देर हो चुकी है, लेकिन डिमोला 2013 एफडी 01 में और बाद में आप एनोटेशन __Dymola_selections का उपयोग करके नामों (और मॉडल नामों) के आधार पर स्टोर करने के लिए कौन से चर का चयन कर सकते हैं, और यहां तक ​​कि उपयोगकर्ता द्वारा परिभाषित फ़िल्टर टैग - ताकि आप मॉडल में एक टैग नाम "पारदर्शी" बना सकें। मैन्युअल में "मिलान और चर चयन" देखें।