2012-10-01 14 views
6

के लिए सिमुलिंक ब्लॉक बनाएं, मैं Arduino Uno हार्डवेयर के लिए प्रोग्राम बनाने के लिए सिमुलिंक का उपयोग करना चाहता हूं। लेकिन मैं LCD डिस्प्ले पर आउटपुट को संभालने के लिए, तरल क्रिस्टल जैसे मौजूदा पुस्तकालयों का उपयोग करना चाहता हूं। मैं एक एस-फ़ंक्शन कैसे बना सकता हूं जिसमें तरल क्रिस्टल क्लास फ़ाइल शामिल है?Arduino लाइब्रेरी जैसे तरलक्रिस्टल

मुझे लगता है कि एस-फ़ंक्शन जाने का तरीका है, क्योंकि मौजूदा सिमुलिंक आर्डिनो लाइब्रेरी ब्लॉक वास्तव में एस-फ़ंक्शन हैं जो मुखौटा हैं। मैं सिमुलिंक छात्र संस्करण का उपयोग कर रहा हूं इसलिए मुझे नहीं लगता कि मैं मॉडल से C कोड संकलित कर सकता हूं और इसे Arduino IDE में एक प्रोजेक्ट में शामिल कर सकता हूं।

+1

मैं यह सोचते हैं रहा है कि आप पहले से ही देखा है [यहां] (http://www.mathworks.com/academia/arduino-software/arduino-simulink.html)। MathWorks से Arduino ब्लॉक को चलाने के लिए किसी भी अतिरिक्त टूलबॉक्स की आवश्यकता नहीं होनी चाहिए। MATLAB/Simulink के छात्र संस्करण में मानक संस्करण की तुलना में कम कार्यक्षमता नहीं है, * लेकिन * आप जो टूलबॉक्स स्थापित कर चुके हैं, उससे सीमित हो सकते हैं। आपके पास उपलब्ध टूलबॉक्स की एक सूची प्राप्त करने के लिए 'ver' कमांड का उपयोग करें। यह इस बात से बहुत प्रभावित हो सकता है कि आप इस समस्या से कैसे संपर्क करते हैं। – grungetta

+0

इसके अलावा, क्या आप तरल क्रिस्टल क्लास फ़ाइल पर अधिक जानकारी दे सकते हैं। क्या यह एक Arduino पुस्तकालय है जिसका आप जिक्र कर रहे हैं?यदि आपके पास कुछ लिंक हैं जो सटीक फ़ाइल पर अधिक जानकारी प्रदान करते हैं, जिसका आप उपयोग करना चाहते हैं, तो यह समझने में बहुत मददगार होगा कि आप वास्तव में क्या लक्ष्य कर रहे हैं। – grungetta

+0

MATLAB का आप किस संस्करण का उपयोग कर रहे हैं? कमांड प्रॉम्प्ट पर ver का उपयोग करें - क्या आपके पास रीयल-टाइम वर्कशॉप, सिमुलिंक कोडर या एंबेडेड कोडर है? यदि आपके पास उन कोड जनरेशन टूल में से कोई भी नहीं है तो आप सिमुलिंक से प्रोग्राम बनाने के लिए संघर्ष करने जा रहे हैं, आप केवल सिमुलेशन के रूप में चलाने में सक्षम होंगे। – RichColours

उत्तर

1

मैं एक जवाब में मेरी टिप्पणी बदल देंगे ... :)

ठीक है तो एक कार्यक्रम Simulink से आप कोड पीढ़ी उपकरण स्थापित की आवश्यकता होगी बनाने के लिए। ver आपको बताएगा कि क्या आपके पास सिमुलिंक कोडर है, और वैकल्पिक रूप से एम्बेडेड कोडर है। यदि आप MATLAB के पुराने संस्करण का उपयोग कर रहे हैं तो इसे रीयल-टाइम वर्कशॉप कहा जाता है। उनमें से किसी एक के बिना आप कुछ भी कोड उत्पन्न नहीं कर रहे हैं।

तो तुम कोड उत्पन्न कर सकते हैं यह सोचते हैं:

एस कार्यों वे जाने का रास्ता हैं: http://www.mathworks.co.uk/help/simulink/s-function-basics.html

... यद्यपि वहाँ एस कार्यों बनाने के साथ सहायता के लिए विभिन्न उपकरण हैं।

संक्षेप में, प्रक्रिया है:

  • sfunc_basic.c (या ऐसा ही कुछ) की एक प्रति ले लो एस समारोह सी फ़ाइल टेम्पलेट और उसके अनुसार पॉप्युलेट। यह किसी भी माध्यम से तुच्छ नहीं है, इसे संकलित करने के लिए कुछ समय लग सकता है (नीचे देखें) और जब मॉडल में तत्काल हो जाता है तो MATLAB को क्रैश न करें।
  • मैक्स कमांड के साथ संकलित करें (दस्तावेज़ीकरण देखें)।
  • मॉडल में ब्लॉक का उपयोग करें। खुद को एक परीक्षण दोहन मॉडल बनाएं जो कुछ बहुत आसान करता है। एक समाधान समाधान बनाने के लिए आवश्यक न्यूनतम मॉडल ब्लॉक का प्रयोग करें।
  • एक टीएलसी फ़ाइल बनाएं जो मॉडल सी प्रोग्राम में संकलन और रन टाइम पर ब्लॉक डेटा का उपयोग करने के तरीके को परिभाषित करेगी। यहां आप तरल क्रिस्टल पुस्तकालय में कॉल करेंगे।
  • कोड उत्पन्न/टीएलसी और या एस-समारोह के साथ त्रुटियों को ठीक/पूरा :)
उन कदमों की

सभी एक बहुत पर विस्तारित किया जा सकता जब तक उत्पन्न कोड/दोहराने में त्रुटियों को ठीक। प्रक्रिया पहली बार एक झुकाव है, लेकिन आप एस-फ़ंक्शंस, मॉडल.आरटीडब्लू फाइल, टीएलसी और उपर्युक्त सभी को डिबग करने के बारे में बहुत कुछ सीखेंगे।

ओह हाँ, एस-फ़ंक्शन डीबगिंग एक बॉल-एशेर हो सकता है। दृश्य स्टूडियो जैसे कुछ को मिटैब प्रक्रिया में "संलग्न" करने के लिए इसे डिबग करने के लिए तैयार होने के लिए तैयार रहें।

रिच

+0

मुझे लगता है कि एक मामूली चीज़ स्पष्टीकरण/जोड़ना उचित है: आप सही हैं कि आपको सी कोड उत्पन्न करने के लिए आपके द्वारा उल्लिखित टूलबॉक्स की आवश्यकता है, उदाहरण के लिए, लेकिन वे केवल Arduino को लक्षित निष्पादन योग्य उत्पन्न करने के लिए आवश्यक नहीं हैं। सिमुलिंक मॉडल को तैनात करने के लिए आप सिमुलिंक के आधार पर [रन-ऑन-टार्गेट हार्डवेयर] (http://www.mathworks.com/help/simulink/ug/about-run-on-target-hardware-feature.html) का उपयोग कर सकते हैं Arduino करने के लिए। उस ने कहा, यह सुविधा आपके द्वारा उल्लिखित टूलबॉक्स की तुलना में स्पष्ट रूप से बहुत सीमित है, इसलिए ओपी बाहरी पुस्तकालयों को शामिल करना चाहता है, इसलिए यहां शायद सबसे अच्छा तरीका नहीं है। – grungetta