Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
ein_kleines_projekt [2019/02/07 09:45]
127.0.0.1 Externe Bearbeitung
ein_kleines_projekt [2019/07/27 16:07] (aktuell)
huwi
Zeile 14: Zeile 14:
 Wer eine SiSy Ausgabe //​Developer//​ oder //​Professional//​ hat kann das kleine Projekt gern mit den dort enthaltenen Planungswerkzeugen (Bild: Netzplan) begleiten. Wer eine SiSy Ausgabe //​Developer//​ oder //​Professional//​ hat kann das kleine Projekt gern mit den dort enthaltenen Planungswerkzeugen (Bild: Netzplan) begleiten.
  
->>​{{:​projekt:​netzplan.png?​700|}}+>​{{:​projekt:​netzplan.png?​700|}}
  
 Zunächst soll mit ein wenig Methodik geklärt werden **//WAS//** zu tun ist. Die eigentliche Softwareentwicklung kann entweder Parallel oder in zwei Projektiterationen die geforderte Firmware für den Mikrocontroller und die PC-Anwendung erarbeiten. Zunächst soll mit ein wenig Methodik geklärt werden **//WAS//** zu tun ist. Die eigentliche Softwareentwicklung kann entweder Parallel oder in zwei Projektiterationen die geforderte Firmware für den Mikrocontroller und die PC-Anwendung erarbeiten.
Zeile 25: Zeile 25:
  
  
->>>​{{:​projekt:​storyboard.jpg|}}+>​{{:​projekt:​storyboard.jpg|}}
  
 ===== Anwendungsfälle ===== ===== Anwendungsfälle =====
Zeile 46: Zeile 46:
 Grundsätzlich kann die Controllerlösung mit allen drei angebotenen Systemen (myAVR, mySTM32, myXMC) realisiert werden. Das hier gezeigte Klassendiagramm verdeutlicht die Struktur einer Mikrocontrollerlösung basierend auf einem SiSy-Mikrocontroller-Framework. Grundsätzlich kann die Controllerlösung mit allen drei angebotenen Systemen (myAVR, mySTM32, myXMC) realisiert werden. Das hier gezeigte Klassendiagramm verdeutlicht die Struktur einer Mikrocontrollerlösung basierend auf einem SiSy-Mikrocontroller-Framework.
  
->>>​{{:​projekt:​classmcu.png?​650|}}+>​{{:​projekt:​classmcu.png?​650|}}
  
 Im Folgenden ist die Realisierung mit dem myAVR System, einem kleinen Programm und in einfachem C++. Im Folgenden ist die Realisierung mit dem myAVR System, einem kleinen Programm und in einfachem C++.
  
->>><​code cpp>+><​code cpp>
 //​----------------------------------------------------------------------------- //​-----------------------------------------------------------------------------
 // Titel     : Mikrocontrollerlösung für das kleine Projekt // Titel     : Mikrocontrollerlösung für das kleine Projekt
Zeile 96: Zeile 96:
 </​code>​ </​code>​
  
->>>​>​{{:​projekt:​seqmc.png?​400|}}+>​{{:​projekt:​seqmc.png?​400|}}
  
 {{:​projekt:​elfmc.png|}}{{:​projekt:​mchex.png|}}{{:​projekt:​flash.png|}} {{:​projekt:​elfmc.png|}}{{:​projekt:​mchex.png|}}{{:​projekt:​flash.png|}}
Zeile 107: Zeile 107:
 Die ersten Schritte für die PC-Lösung sind ein entsprechendes SVL-Projekt mit SiSy anzulegen, die aktuelle SVL aus dem LibStore zu laden und ein Klassendiagramm zu erstellen. Die ersten Schritte für die PC-Lösung sind ein entsprechendes SVL-Projekt mit SiSy anzulegen, die aktuelle SVL aus dem LibStore zu laden und ein Klassendiagramm zu erstellen.
  
->>>​{{:​projekt:​classsvlgg.png?​650|}}+>​{{:​projekt:​classsvlgg.png?​650|}}
  
 Der Klasse //MainWnd// sind über den ControlWizard folgende Steuerelemente (Controls) als Attribute hinzuzufügen. Der Klasse //MainWnd// sind über den ControlWizard folgende Steuerelemente (Controls) als Attribute hinzuzufügen.
Zeile 114: Zeile 114:
   * [[http://​www.mysvl.de/​svl_dict/​SChartControl.htm|SChartControl]] Instanzname:​ //verlauf//   * [[http://​www.mysvl.de/​svl_dict/​SChartControl.htm|SChartControl]] Instanzname:​ //verlauf//
  
->>>​{{:​projekt:​classprojekt2.png?​650|}}+>​{{:​projekt:​classprojekt2.png?​650|}}
  
 Die Anwendung kann bereits gebildet und die Steuerelemente angeordnet werden. Die Anwendung kann bereits gebildet und die Steuerelemente angeordnet werden.
  
->>>​{{:​projekt:​pcanwendung1.png?​650|}}+>​{{:​projekt:​pcanwendung1.png?​650|}}
  
  
Zeile 125: Zeile 125:
 Für den Empfang und die Verarbeitung der Helligkeitswerte ist die Operation //​onComportData//​ zu überschreiben. Für den Empfang und die Verarbeitung der Helligkeitswerte ist die Operation //​onComportData//​ zu überschreiben.
  
->>>​{{:​projekt:​classprojekt3.png?​650|}}+>​{{:​projekt:​classprojekt3.png?​650|}}
  
 Der Quellcode der Operationen //​onInitWindow//​ und //​onComportData//​ sind wie folgt zu ergänzen: Der Quellcode der Operationen //​onInitWindow//​ und //​onComportData//​ sind wie folgt zu ergänzen:
  
->>>​**mainWnd:​onInitWindow**<​code cpp>+>​**mainWnd:​onInitWindow**<​code cpp>
 // ... // ...
 // Wertebereich der Controls auf 8 Bit 0-255 konfigurieren // Wertebereich der Controls auf 8 Bit 0-255 konfigurieren
Zeile 139: Zeile 139:
 </​code>​ </​code>​
  
->>>​**mainWnd:​onComportData**<​code cpp>+>​**mainWnd:​onComportData**<​code cpp>
 // emfangenen Wert an die Controls senden // emfangenen Wert an die Controls senden
 helligkeit.setPos(newData);​ helligkeit.setPos(newData);​
Zeile 150: Zeile 150:
 Vergleichen Sie die Quelltexte mit den oben modellierten Szenarien. Erstellen und Testen Sie die Anwendung. Vergleichen Sie die Quelltexte mit den oben modellierten Szenarien. Erstellen und Testen Sie die Anwendung.
  
->>>​{{:​projekt:​pcanwendung2.png?​650|}}+>​{{:​projekt:​pcanwendung2.png?​650|}}
  
 Die Weiterentwicklung umfasst die Aufzeichnung der Daten. Dazu ist der Klassenentwurf wie folgt zu erweitern: Die Weiterentwicklung umfasst die Aufzeichnung der Daten. Dazu ist der Klassenentwurf wie folgt zu erweitern:
  
->>>​{{:​projekt:​classprojekt4.png?​650|}}+>​{{:​projekt:​classprojekt4.png?​650|}}
  
 Für die Dateiarbeit nutzen wir die Klasse [[http://​www.mysvl.de/​svl_dict/​SFile.htm|SFile]]. Die zu speichernden Datensätze sollen zusätzlich das datum und die Uhrzeit der erfassten Helligkeit enthalten. Dafür nutzen wir die Klasse [[http://​www.mysvl.de/​svl_dict/​STime.htm#​1251_Details|STime]]. Ergänzen Sie die Operationen wie folgt: Für die Dateiarbeit nutzen wir die Klasse [[http://​www.mysvl.de/​svl_dict/​SFile.htm|SFile]]. Die zu speichernden Datensätze sollen zusätzlich das datum und die Uhrzeit der erfassten Helligkeit enthalten. Dafür nutzen wir die Klasse [[http://​www.mysvl.de/​svl_dict/​STime.htm#​1251_Details|STime]]. Ergänzen Sie die Operationen wie folgt:
  
->>>​**MainWnd::​onInitWindow**<​code cpp>+>​**MainWnd::​onInitWindow**<​code cpp>
 // ... // ...
 // Datei anlegen bzw überschreiben // Datei anlegen bzw überschreiben
Zeile 167: Zeile 167:
 </​code>​ </​code>​
  
->>>​**MainWnd::​onComportData**<​code cpp>+>​**MainWnd::​onComportData**<​code cpp>
 // ... // ...
 // Helligkeitswerte Aufzeichen // Helligkeitswerte Aufzeichen
Zeile 184: Zeile 184:
 Erstellen und Testen Sie die Anwendung. Die erstellte CSV-Datei kann zum Beispiel mit einer Tabellkalkulation weiter verarbeitet werden. Erstellen und Testen Sie die Anwendung. Die erstellte CSV-Datei kann zum Beispiel mit einer Tabellkalkulation weiter verarbeitet werden.
  
->>>​{{:​projekt:​excellog.png?​650|}}+>​{{:​projekt:​excellog.png?​650|}}
  
  
Zeile 190: Zeile 190:
 ===== Videozusammenfassung ===== ===== Videozusammenfassung =====
  
->>><​flashplayer width="​640"​ height="​500"​ position="​0">​file=http://​youtu.be/???</​flashplayer>​+><​flashplayer width="​640"​ height="​500"​ position="​0">​file=http://​youtu.be/???</​flashplayer>​
  
 ====== Nächstes Thema ====== ====== Nächstes Thema ======
   * [[das Sequenzdiagramm anwenden]]   * [[das Sequenzdiagramm anwenden]]
   * [[http://​www.mysvl.de/​wiki/​doku.php?​id=start|zurück zur Übersicht]]   * [[http://​www.mysvl.de/​wiki/​doku.php?​id=start|zurück zur Übersicht]]