- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 10 von 15

Thema: Brauche Hilfe bei Algorithmenentwicklung (Kommunikationsprotokoll)

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie Avatar von White_Fox
    Registriert seit
    04.10.2011
    Beiträge
    1.473
    @HaWe:
    Ja, sehr gerne.


    @Peter:
    Die Idee mit den unterschiedlichen Telegrammtypen gefällt mir. Würde andere Schwierigkeiten, die ich mit meinem bisherigen Protokollentwurf noch sehe, lösen.


    Allerdings steh ich immer noch vor der Frage: Wie entwickelt man Algorithmen, wenn es mit zwei simplen Rechenoperationen und einer boolschen Auswertung nicht mehr getan ist?
    Ich denke da an sowas wie das Karnaugh-Veitch-Diagramm und Wertetabellen um boolsche Gleichungen aufzustellen. Gibt es für meine Aufgabe da auch ein Werkzeig? Ich kann mir schwer vorstellen daß Informatiker einfach nur im Kopf lauter If-Abfragen durchexerzieren und irgendwann ein UML da rauspressen. Das erscheint mir viel zu mühselig und...unstrukturiert.

  2. #2
    HaWe
    Gast
    Zitat Zitat von White_Fox Beitrag anzeigen
    @HaWe:
    Ja, sehr gerne.
    dann bitteschön:
    hier ist der Basiscode:
    http://www.mindstormsforum.de/viewto...tart=30#p67815

    und hier eine Anwendung zur Fernsteuerung und zum Monitoring (schrittweise runterblättern!):
    http://www.mindstormsforum.de/viewto...&t=8851#p69042

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    66
    Beiträge
    2.435
    Hallo White_Fox,
    Zitat Zitat von White_Fox Beitrag anzeigen
    Die Idee mit den unterschiedlichen Telegrammtypen gefällt mir. Würde andere Schwierigkeiten, die ich mit meinem bisherigen Protokollentwurf noch sehe, lösen.
    Ich habe so 20 Jahr Protokolle implementiert, sowohl genormte wie auch eigene. Da ist etwas Erfahrung hängen geblieben.

    Zitat Zitat von White_Fox Beitrag anzeigen
    Allerdings steh ich immer noch vor der Frage: Wie entwickelt man Algorithmen, wenn es mit zwei simplen Rechenoperationen und einer boolschen Auswertung nicht mehr getan ist?
    Ich denke da an sowas wie das Karnaugh-Veitch-Diagramm und Wertetabellen um boolsche Gleichungen aufzustellen. Gibt es für meine Aufgabe da auch ein Werkzeig? Ich kann mir schwer vorstellen daß Informatiker einfach nur im Kopf lauter If-Abfragen durchexerzieren und irgendwann ein UML da rauspressen. Das erscheint mir viel zu mühselig und...unstrukturiert.
    Ich habe das immer über State Diagramme gemacht (Zustandsübergangsdiagramm).
    Daraus kann man direkt eine State Machine codieren.
    Diese State Machine habe ich dann direkt als Interrupt-Routine verwendet. Bei jedem Interrupt muss nur ein einzelnes Zeichen verarbeitet werden, Fehler können teilweise direkt erkannt werden und mit dem letzten Zeichen ist auch das ganze Telegramm ausgewertet, schneller gehts nicht.

    Für die Zustandsübergangsdiagramme gibt es mittlerweile auch eine Reihe von Tools:
    https://de.wikipedia.org/wiki/Zustan...ramm#Werkzeuge

    Zudem ist das ganze auch un UML (Zustandsdiagramm (UML)) vorhanden.

    MfG Peter(TOO)
    P.S.
    Ich habe mich zudem immer am OSI-Schichtenmodell orientiert. Wobei man nicht alle 7 Schichten wirklich getrennt implementieren muss, man kann für einfache Protokolle meistens mehrere Schichten zusammenfassen.
    Geändert von Peter(TOO) (29.07.2017 um 17:53 Uhr) Grund: Nachtrag
    Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von White_Fox
    Registriert seit
    04.10.2011
    Beiträge
    1.473
    Mensch Peter...Zustandsübergangsdiagramme, da hab ich doch schonmal was von gehört. Das scheint mir genau das zu sein nach dem ich suche...

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    66
    Beiträge
    2.435
    Zitat Zitat von White_Fox Beitrag anzeigen
    Mensch Peter...Zustandsübergangsdiagramme, da hab ich doch schonmal was von gehört. Das scheint mir genau das zu sein nach dem ich suche...
    Findest du auch in Datenblättern. Ein kleines einfaches bei den meisten µCs, wenn es um Reset, Sleep usw. geht.

    Ich hatte mal ein recht komplexes für eine Maschine gezeichnet. Waren so 20 bis 30 Seiten. Hatte ich dann bei mir an die Wand geklebt und die Transitions mit farbiger Nähseide markiert. War sonst zu mühsam die Labels immer auf den Blättern zu suchen.
    Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von White_Fox
    Registriert seit
    04.10.2011
    Beiträge
    1.473
    Ok...ich schätz ich weiß wie ich es (zumindest auf der PC-Seite) angehe. Da gibt es ein prima Entwurfsmuster, um einen Zustandsautomaten zu realisieren, da hatte ich doch unlängst ein klasse Buch in der Hand (Entwurfsmuster von Kopf bis Fuß-äußerst empfehlenswert).

    In Java kann ich das gut machen, aber in C (ich will das ja noch einen Mikrocontroller programmieren) leg ich mir damit die Karten. Na-aber auch das Problem erschlag ich schon irgendwie. Erstmal das Ganze in Java zum Laufen bringen (das wird mit einem ausführlichen Unit-Test eh lang genug dauern...)

    Vielen Dank für eure Anregungen bisher. Ich rolle den Thread wieder auf wenn ich das in C implementiere...

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    66
    Beiträge
    2.435
    Zitat Zitat von White_Fox Beitrag anzeigen
    Ok...ich schätz ich weiß wie ich es (zumindest auf der PC-Seite) angehe. Da gibt es ein prima Entwurfsmuster, um einen Zustandsautomaten zu realisieren, da hatte ich doch unlängst ein klasse Buch in der Hand (Entwurfsmuster von Kopf bis Fuß-äußerst empfehlenswert).
    Wenn du den Automaten gezeichnet hast, kannst praktisch direkt ab der Zeichnung codieren.

    Zuerst gibt es einen grossen Switch mit allen Zuständen.
    In jeden Zustand siehst du dann, welche Bedingung in welchen anderen Zustand wechselt und was zu tun ist.
    Bis du das zusammen, und auch alle Ausnahmen berücksichtigt, hast, musst du am Meisten Nachdenken.

    Das State-Diagramm ist wie eine Flow-Chart, die Codierung ist wirklich nur einen Fleissarbeit.
    Zumindest für mich war das dann der langweilige Teil der Arbeit.
    Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?

  8. #8
    Erfahrener Benutzer Roboter Genie Avatar von White_Fox
    Registriert seit
    04.10.2011
    Beiträge
    1.473
    Ja, das Codieren selber find ich auch nicht allzu spannend. Die Denkarbeit reizt mich auch mehr, naja...
    Wobei die Implementierung eines Zustandsautomaten mit Klassen deutlich einfacher geht als mit einer riesigen Switch-Anweisung.



    Eine Frage zu deinem Protokoll-Kopf hab ich noch:
    Du schickst den CRC gleich sofort mit. Warum, wo ist da der Vorteil?
    So wie ich das am Anfang machen wollte, ist der CRC kein Bestandteil des Telegramms. Den Teil, wo der CRC enthalten ist, kann ich ja schlecht in die Prüfsummenberechnung einschließen, da das Ergebnis zur Zeit der Berechnung selbstverständlich nicht bekannt ist.
    Also...warum hast du es so gelöst?

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    66
    Beiträge
    2.435
    Zitat Zitat von White_Fox Beitrag anzeigen
    Eine Frage zu deinem Protokoll-Kopf hab ich noch:
    Du schickst den CRC gleich sofort mit. Warum, wo ist da der Vorteil?
    So wie ich das am Anfang machen wollte, ist der CRC kein Bestandteil des Telegramms. Den Teil, wo der CRC enthalten ist, kann ich ja schlecht in die Prüfsummenberechnung einschließen, da das Ergebnis zur Zeit der Berechnung selbstverständlich nicht bekannt ist.
    Also...warum hast du es so gelöst?
    Die Prüfsumme wird als letztes angehängt, zu diesem Zeitpunkt ist alles bekannt.
    Die Prüfsumme befindet sich übrigens auf OSI-Layer 2 Wobei in der Beschreibung Level 2 und 3 teilweise zusammengefasst sind, bzw. nicht sauber getrennt werden, weil dies mehr Daten ergäbe.
    OSI ist nur eine Empfehlung und Stütze, kein Zwang!

    BTW: Prüfsumme und CRC sind zwei etwas unterschiedliche Verfahren.

    MfG Peter(TOO)
    Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?

Ähnliche Themen

  1. Balancierender Roboter(HILFE!!SOS!!!HILFE!!)
    Von snoopy82 im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 3
    Letzter Beitrag: 25.11.2014, 21:40
  2. Hilfe, Hilfe, ist das Zumo-Reflectance-Sensor-Array fehlerhaft ???
    Von oderlachs im Forum Sensoren / Sensorik
    Antworten: 6
    Letzter Beitrag: 23.01.2014, 08:57
  3. Antworten: 7
    Letzter Beitrag: 27.11.2013, 16:44
  4. hilfe Anfänger braucht hilfe beim start
    Von thomas3 im Forum Robby RP6
    Antworten: 26
    Letzter Beitrag: 20.09.2010, 21:07
  5. Hilfe Hilfe Schnelle es qualmt
    Von Larzarus im Forum Motoren
    Antworten: 32
    Letzter Beitrag: 07.06.2006, 14:04

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests