Discussion in 'OpenFormat' started by skr, May 25, 2008.

  1. skr

    skr New Member

    Hallo Leute,

    ich benutze erst seit kurzem LV und bin über das OpenFormat gestolpert. Ich möchte gerne den UniLog datenmässig anzapfen und dachte mir daher, dass das OpenFormat eigentlich die komplette Datensatzbeschreibung enthalten müsste!? Ich möchte den UniLog per RS232-Schnittstelle ansteuern und benötige daher die verwendeten Kommandos und Datensatzbeschreibungen.
    Doch irgendwie ist mir das OpenFormat trotz Dokumentation unklar, mir fehlen z.B. die für die Liveanzeige verwendeten Kommandos. Wenn ich das richtig verstanden habe, wird bei der Liveanzeige immer ein Request an den UniLog geschickt worauf man ein Response-Paket mit den Messdaten erhält. Richtig?

    Gruß Sebastian
  2. Dominik

    Dominik Administrator Staff Member

    Moin Sebastian,

    öhm ... ehrlich gesagt kann ich deinen Ausführungen nicht folgen. :p

    Der UniLog ist doch komplett eingebunden in LogView. Warum willst du ihn über das OpenFormat anzapfen ?!
    Dafür ist das OpenFormat gar nicht gedacht. Und Befehle Senden geht auch noch nicht mit dem OpenFormat.

    Das OpenFormat ist für Leute gedacht die einen eigenen Logger oder einen Eigenen Lader entwickelt haben und ihn unkompliziert ohne unser Zutun einbinden möchten. Ich vermute da hast du irgendwas falsch verstanden. :rolleyes:
  3. Holger

    Holger LogView Team

    Hallo Sebastian,

    ich glaube da gibt es ein gewaltiges Missverständnis. Dominik hat ja dazu schon alles wichtige geschrieben.

    Wenn Du dennoch die Kommunikation mit dem UniLog komplett selbst abwickeln möchtest, dann wende Dich direkt an den Hersteller Stephan Merz mit der Bitte um das Datenformat!

    Gruß, Holger
  4. skr

    skr New Member

    Moin! @Dominik: Ich habe mir gedacht, dass die Format-Spezifikation des OpenFormat ein guter Ausgangspunkt wäre um herauszufinden wie die RS232 Kommunikation beim UniLog funktioniert! Mir geht es nur darum die Kommandos und die Datensatzbeschreibung herauszufinden! @Holger: Werde mich dann bezüglich der Datensatzbeschreibung an Stephan Merz wenden. Eine Frage hätte ich dann noch: Aus euren Ausführungen schliesse ich, dass die proprietären Kommunikationsparameter LV-intern definiert sind!? Wozu gibt es dann ein OpenFormat-File für den UniLog? Nur für die Definition der GUI? Danke! Gruß Sebastian
  5. Holger

    Holger LogView Team

    Hallo Sebastian,

    Stimmt, wir haben die Kommunikation in LV auf die vorgebenen Befehle und Datenformate des UniLog anpassen müssen, um Daten abzuholen, Einstellungen zu Speichern und lesen, ...
    Das ist übrigens bei (fast) allen bisher eingebundenen Geräten so. Jedes hat sein eigenes, proprietäres Datenformat!

    Wir wurden von Entwicklern von Geräten (Datenlogger, Ladegeräte, ...) immer wieder gefragt, welches Datenformat sie verwenden können/sollen, um die Daten direkt in LogView weiter verwenden zu können.

    Um also für zukünfige Geräte ein universelles, offengelegtes Datenformat anbieten zu können, wurde von uns und etlichen beteiligten Leuten hier im Forum das OpenFormat entwickelt. LV muss dann nicht mehr an ein proprietäres Format angepasst werden, sondern kann diese Daten direkt erfassen und darstellen.
    Eine gewisse Flexibilität und Anpassbarkeit an spezielle Besonderheiten wird durch Zuordnung einer INI-Datei erreicht. Damit lassen sich Sachen wie z.B. Zeitbasis, Anzahl und Namen der Werte vorgeben.

    Da kann ich Dir nicht ganz folgen. Was meinst Du damit? So etwas kenne ich nicht. Vielleicht gibt es da eine Verwechslung?
    Noch einmal: UniLog und OpenFormat haben rein GAR NICHTS miteinander zu tun.

    Gruß, Holger
  6. Dominik

    Dominik Administrator Staff Member

    Moin !

    Kann es sein das du da was verwechselst ... Die INI Dateien sind NICHT alles OpenFormat INI Dateien. Sondern das sind die Konfigurationen für die verschiedenen Geräte.
    Oder anders ausgedrückt ... Die Unilog.INI ist KEINE OpenFormat INI Datei!

    Den Rest hat Holger schon beschrieben.
  7. skr

    skr New Member

    Hallo Holger und Dominik! Jetzt hab ichs kapiert! Da habe ich etwas gründlich missverstanden. Ich bin davon ausgegangen, dass das OpenFormat nicht nur dazu da ist eine definierte Schnittstelle für zukünftige Eigen-/Neuentwicklungen bereitzustellen, sondern auch eine generische Lösung für die Ansteuerung der bereits unterstützten Geräte darstellt. War es euch nicht möglich das OpenFormat so zu spezifizieren, dass alle proprietären Geräte damit angesteuert werden können? Aus meiner laienhaften Sicht müssten die Geräte doch alle irgendwelche Gemeinsamkeiten (z.B. Konfigurationsdaten lesen/schreiben, Messdaten lesen usw.) haben, die man auf eine entsprechende OpenFormat-Spezifikation abbilden könnte. Das würde den Source-Code vermutlich deutlich vereinfachen, da ihr nur noch einen OpenFormat-Interpreter unterstützen müsstet. Oder haben die Hersteller der Geräte etwas dagegen, wenn man ihre "Innereien" auf diese Art und Weise veröffentlichen würde? Gruß Sebastian
  8. Dominik

    Dominik Administrator Staff Member

    Moin !

    Es gibt LV intern schon eine Globale "Schnittstelle" auf die alles runtergebrochen wird. Wir haben dafür eine Klasse die uns alles Nötige zur Verfügung stellt.
    Und das OpenFormat ist nur ein kleiner Teil davon und nicht das Stück Software über allem ;)

    Wie wir die Daten verarbeiten ist den Herstellern egal - das Ergebnis zählt :)

    Richtig. Wie gesagt es gibt dafür eine Klasse mit zugehörigen Methoden und Eigenschaften die das tut. Und das openFormat ist nix anderes als ein Gerät was diese Klasse nutzt.
  9. skr

    skr New Member

    Hi again! Ah, ok! Dann habt ihr ja bereits einen guten OOP-Ansatz. Danke für die Info! Dann kann ich nur noch sagen: Weiter so! Euer Tool macht sehr viel Spaß! Gruß Sebastian
  10. Dominik

    Dominik Administrator Staff Member

    Moin !

    Ja. Noch nicht ganz gurchgehend, aber weitestgehend :)
  11. Holger

    Holger LogView Team

    Hallo Sebastian,

    die von Dir angesprochenen Geminsamkeiten gibt es so auf der Ebene der Datenkommunikation nicht wirklich. Da hat jeder Hersteller sein eigenes Süppchen gekocht.

    Die Übertragung findet mal binär, mal in Textformat statt. Mehrere Werte werden evtl. über Bitkombinationen in einem Byte untergebracht. Mal wird immer gesendet, mal nur auf Anfrage.
    Selbst bei einem bestimmten Gerät kann es sein, dass das Datenformat in Abhängigkeit von bestimmten Hardwarerevisionen unterschiedlich interpretiert werden muss.
    Auch die Länge und Häufigkeit der gesendeten Daten verschiedener Geräte kann stark unterscheidlich sein.
    Und bei Geräten wie z.B. dem UniLog ergibt sich erst aus dem ausgelesenen Setting und bestimmter Kodierungen in den Daten selbst, wie die Daten behandelt werden müssen und z.B. welche Namen angezeigt werden müssen.

    Wir hatten in der Vergangenheit trotzdem schon öfter überlegt, ob man eine allgemeingültige, frei definierbare Datenschnittstelle in LV schaffen sollte. Das hat aber nicht zu einem vernünftigen Ergebnis geführt und hätte etliches an Mehraufwand erforderlich gemacht.

    Nun werden alle Geräte in der jeweils erforderlichen Art angesteuert, die proprietären Datenformate analysiert und dann die extrahierten Werte einer gemeinsamen Schnittstelle mit verschiedenen Basisfunktionen (z.B. Daten gültig?, Daten darstellbar? Datensatztrennung, Namensbildung, ...) in LV zugeführt. Diese Art des Geräte-Handlings und der Datenformatumsetzung ist für uns noch übersichtlich hat sich bisher recht gut bewährt.

    Gruß, Holger

Share This Page