Ankündigung

Einklappen
Keine Ankündigung bisher.

Unsaubere Verarbeitung von Datentypen im HS?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    HS/FS Unsaubere Verarbeitung von Datentypen im HS?

    Hallo alle!

    Ich habe am HS folgende Beobachtungen gemacht:

    1. Im HS werden GAs vom Typ EIS 5, also 16 Bit Fließkomma, mit Temperaturen beschrieben und auf einer VISU ohne Kommastellen angezeigt. Bei Temperaturen knapp unter Null kommt es vor, dass machmal "-0 °C" auf der Visu angezeigt wird!

    2. Bei dynamischen Symbolen und Texten werden offensichtlich ganzzahlige Datentypen als Fliesskomma-Typen behandelt. Aufgefallen ist das bei einem dynamischen Symbol, wo die Auswahl der Symbole mit "1 bis 1", "2 bis 2", "3 bis 3" usw. festgelegt ist. Immer wieder springt das Symbol auf das Standard-Symbol zurück, obwohl der Wert in der von-bis Liste vorkommt. Nach einigem Suchen habe ich den Grund herausgefunden: in der Berechung der Zahl ist auch eine Division, der Wert ist also innerhalb der Logikberechnung nicht ganzzahlig. Ich bin allerdings davon ausgegangen, dass bei Zuweisung an ein ganzzahliges KO (in einer Ausgangs-Box) die Kommastellen abgeschniten werden, dem ist aber nicht so! Nachdem ich in einem Baustein den Wert auf eine ganze Zahl gebracht habe, funktioniert das dynamisch Symbol richtig. Trotzdem würde ich das als HS-Fehler sehen!

    3. Eine weitere Unschönheit gibt es bei dynamischen Symbolen und Texten: Es gibt nur "von" und "bis". Diese Eingrenzung ist aber für Fliesskomma-Datentypen nicht ausreichend, hier würde man mindestens noch "<" und ">" benötigen! Eine Eingrenzung z.B. "0 bis 0,99", "1 bis 1,99" ist doch ziemlich unsauber! Wie macht ihr das in so einem Fall?

    Hat jemand von euch ähnliche Beobachtungen gemacht?

    fragt mit Grüßen
    GKap

    #2
    Moin,

    zu 1.)
    Also ich hätte große Bedenken, wenn der HS ungefragt Daten verändern (runden) würde.
    Gerade in deinem ersten Fall: Wenn ich bei z. B. -0,6 die Kommastelle nicht anzeige, ist meiner Meinung nach -0 richtig.

    Excel z.B. stellt das auch so dar (Zelle formatiert als "Buchhaltung").

    Wenn ich das nicht möchte, kann ich ja runden.

    zu 2.)
    Ist mir noch nicht aufgefallen, bei welchem Datentyp ist das aufgetreten?

    zu 3.)
    Ok, aber mit runden lässt sich das auch lösen.

    VG,
    Mucki

    Kommentar


      #3
      Hallo MuckiLegden!

      Zitat von MuckiLegden Beitrag anzeigen
      zu 1.)
      Also ich hätte große Bedenken, wenn der HS ungefragt Daten verändern (runden) würde.
      Gerade in deinem ersten Fall: Wenn ich bei z. B. -0,6 die Kommastelle nicht anzeige, ist meiner Meinung nach -0 richtig.
      Also -0 möchte ich nicht auf irgend einem Display sehen! Sicher kann Runden manchmal unerwünscht sein - wenn der HS sauber dokumentiert wäre könnte man sich ja danach richten und müsste nicht alles erst durch probieren herausfinden...

      Zitat von MuckiLegden Beitrag anzeigen
      zu 2.)
      Ist mir noch nicht aufgefallen, bei welchem Datentyp ist das aufgetreten?
      Ich berechne eine Zeitdifferenz, die in Minuten angezeigt werden soll. Intenr wird in Sekunden gerchnet, das dividiere ich vor der Zuweisung zum KO (EIS10, ganzzahliger Typ) durch 60. Dieses KO zeige ich mittels dynamischen Symbol an: 0=Default -Symbol, 1 bis 2 ist Symbol1, 3 bis 4 ist Symbol2 usw. Mir ist dabei aufgefallen, dass das Symbol immer wieder auf das Default-Symbol springt, auch wenn die Zeit in ein anderes Intervall fällt. Grund: Wenn ich Intervalle 1 bis 2 und 3 bis 4 habe, dann wird bei 2,3 das Default-Symbol angezeigt, weil der Wert ja in kein Intervall passt. Nachdem es sich bei dem Datentyp aber um einen ganzzahligen handelt, betrachte ich das als HS-Fehler! Als Workaround habe ich dann schoninder Logik die Kommastellen abgeschnitten.

      Zitat von MuckiLegden Beitrag anzeigen
      zu 2.)zu 3.)
      Ok, aber mit runden lässt sich das auch lösen.
      Wie willst Du das machen? Wenn ich einen Gleitkomma-Wert habe, dann lässt sich der doch nur dann sauber in Intervalle trennen, wenn man ">" und "<=" (oder das Gegenteil davon) als Grenzen hat! Im HS gibt es aber ">" und "<" nicht!

      Gruß
      GKap

      Kommentar


        #4
        Zitat von GKap Beitrag anzeigen
        Also -0 möchte ich nicht auf irgend einem Display sehen! Sicher kann Runden manchmal unerwünscht sein - wenn der HS sauber dokumentiert wäre könnte man sich ja danach richten und müsste nicht alles erst durch probieren herausfinden...
        Hierfür gibt es von Gira Schulungen - auch online - oder learning by doing
        Und bei Temperaturen will ich zumindest eine Kommastelle haben ...
        Zitat von GKap Beitrag anzeigen
        Ich berechne eine Zeitdifferenz, die in Minuten angezeigt werden soll. Intenr wird in Sekunden gerchnet, das dividiere ich vor der Zuweisung zum KO (EIS10, ganzzahliger Typ) durch 60. Dieses KO zeige ich mittels dynamischen Symbol an: 0=Default -Symbol, 1 bis 2 ist Symbol1, 3 bis 4 ist Symbol2 usw. Mir ist dabei aufgefallen, dass das Symbol immer wieder auf das Default-Symbol springt, auch wenn die Zeit in ein anderes Intervall fällt. Grund: Wenn ich Intervalle 1 bis 2 und 3 bis 4 habe, dann wird bei 2,3 das Default-Symbol angezeigt, weil der Wert ja in kein Intervall passt. Nachdem es sich bei dem Datentyp aber um einen ganzzahligen handelt, betrachte ich das als HS-Fehler!
        Nein, Denkfehler Deinerseits
        Zitat von GKap Beitrag anzeigen
        Als Workaround habe ich dann schoninder Logik die Kommastellen abgeschnitten.
        ... geht doch!

        Kommentar

        Lädt...
        X