Ankündigung

Einklappen
Keine Ankündigung bisher.

Anzeige Rolloposition in %

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

    Anzeige Rolloposition in %

    Hallo zusammen,

    ich habe ein Problem bei der Darstellung der Rolloposition. ich hab ein Makro zur Anzeige der Rolloposition in der Visu geschrieben:

    :begin RolloAnzeigeButtonp(ID, PageID, GAStatus)
    :info $Eine Statusanzeige für die aktuelle Rolloposition.$ \\
    :$Zahl zwischen 0 und 39 als ID des Elements$\\
    :$Zahl zwischen 0 und 39 als ID der Wegpage$\\
    :$Gruppenadresse Rolloposition (f16)$
    :shortinfo $Statusanzeige für die aktuelle Rolloposition.$

    initGA(GAStatus)
    Rollo_^ID=GAStatus
    if change(Rollo_^ID) or systemstart() then {
    if Rollo_^ID<5 then { pdisplay(ID,Rollo_^ID,BLIND,STATE6,GREY,PageID) } endif;
    if Rollo_^ID>=5 then { pdisplay(ID,Rollo_^ID,BLIND,INACTIVE,GREY,PageID) } endif
    } endif
    :end

    Der Rolloaktor sendet den Status als %-Wert auf den Bus. Die Anzeige erfolgt aber im Bereich 0-255. Alles im Experten programmiert.
    Wie kann ich die Darstellung in % bekommen, mir fällt da nichts ein.

    Nächste Frage: wie kann ich meine Makros im Eibstudio V4 verändert? In V3 konnte ich einfach die entsprechende Textdatei des Makros anpassen. Bei der V4 finde ich die Textdatei aber überhaupt nicht mehr im EibPC Ordner. Weiß einer wo das abgespeichert ist?

    Gruß Nils

    #2
    Generell: statt ^ID empfehle ich die Verwendung von lokalen Variablen:

    Code:
    :var RolloStatus@
    RolloStatus@=GAStatus
    Warum ist der Status der GA f16? Normalerweise ist ein Prozentwert 0u08.

    Bei 0u08 (die Konvertierung in u16 ist bei f16 natürlich nicht nötig - die dient nur der Erweiterung des Wertebereichs. Sonst käme bei 128u08*100u08/255u08=0u08 raus.
    Zitat von Reason555 Beitrag anzeigen
    Wie kann ich die Darstellung in % bekommen, mir fällt da nichts ein
    Rechnen:
    entweder ganz einfach ohne Rundung:
    Code:
    RolloStatus@ = convert(convert(GAStatus, 0u16)*100u16/255u16, 0u08)
    oder mit Runden:
    Code:
    RolloStatus@ = convert(convert(floor(convert(GAStatus,0f32)*100f32/255f32-0.5f32)+1f32,0u08)

    Zitat von Reason555 Beitrag anzeigen
    Nächste Frage: wie kann ich meine Makros im Eibstudio V4 verändert? In V3 konnte ich einfach die entsprechende Textdatei des Makros anpassen. Bei der V4 finde ich die Textdatei aber überhaupt nicht mehr im EibPC Ordner. Weiß einer wo das abgespeichert ist?
    Die steckt in deinem Projekt. Schau dir mal im Handbuch die Seite "Unterschiede zum EibStudio 3" an.

    Zum Editieren eigener Makrolibs: Im Experten die Lib markieren und auf den Stift drücken (Anhang).
    Angehängte Dateien

    Kommentar


      #3
      Prima und danke!
      Makros hab ich schon mal gefunden, den Rest probiere ich aus.
      Gruß Nils

      Kommentar


        #4
        Rest funktioniert auch, topp!

        Kommentar

        Lädt...
        X