Problemlösung bei SEL Baustein

Zuviel Werbung?
-> Hier kostenlos registrieren
Beschreibst du den Eingang vom Baustein oder hast du ne Var an dessen Eingang gepackt ?
Fürs Ausschalten wiederhole ich nochmal meinen Vorschlag von vorhin. Bau dir noch einen Baustein wie den fürs Hochfahren und nutze den
 
Also mir ist nicht klar, was ich in deinem Baustein ändern muss, damit dieser runter zählt....

Würdest du mir helfen, welche Info dort verändert werden muss ?
 
Oh, ich hab an allem rumgefummelt, aber das habe ich nicht probiert ;-)


Super, das funktioniert.

Jetzt hab ich ein Problem mit der Ausgabe, aber da kannst du mir nicht helfen.....

Jetzt wäre noch super, wenn wir das mit der Webvisu hinbekommen....
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Schau mal, so sehen die Bausteine aus und das Fenster für des Textbausteins in der Webvisu.


Also nicht, dass du das falsch verstehst, dein Baustein macht genau das was er soll, nur die Ausgabe funktioniert bei mir nicht... Also die Ausgabe des Hardwareanschlusses.

Der DAC gibt den angegebenen Wert aus, nur die Dimmung lässt sich davon nicht wirklich beeindrucken.


Vielleicht kannst du Anhand des Screenshots erkennen, welchen Parameter ich in 3.0 ändern muss, damit der Wert tatsächlich veränderbar ist....
 

Anhänge

  • Unbenannt1.jpg
    Unbenannt1.jpg
    94,9 KB · Aufrufe: 6
  • Unbenannt.jpg
    Unbenannt.jpg
    52,5 KB · Aufrufe: 5
Zuletzt bearbeitet:
Du willst doch zb den Faktor über die VISU ändern. Aber du kannst nicht dem Baustein einen Wert zuteilen wenn du am Eingang eine Feste Vorgabe machst. Lösch mal den FAKTOR Wert 0.1 (oder den welchen du ändern möchtest) und schreib statt der 0.1 eine VAR dort rein BSPw FaktorWert. Diese solle als REAL deklariert sein. Nun änderst du diesen Wert in deiner VISU.
siehe hierzu mein Bild, mit dem BSP Maxi (roter Pfeil)
sel_3.jpg
 
Ja das habe ich probiert, der Wert springt aber immer auf den Ursprungswert zurück.
Zusätzlich habe ich ja jetzt keinen Standart, sodass das Programm immer von 0.0 ausgeht anstatt in meinem Beispiel von 0.1
 
ja das stimmt, ich hab des dann aber mal mit der variable ausprobiert, außer, dass sich der Wert durch die "leere" variable ändert, reagiert er aber gleich
 
Schau mal das Bild an ob du das so gemacht hast, habe leider gerade hier kein Codesys3, in der Firma hätte ich eCockbit... aber das bekommen wir auch so hin.
Hast du das wie auf dem Bild an beiden stellen geändert ? Kannst du mir mal zeigen was für Einstellungen sich hinter den Blauen Pfeilen verbergen ?
analog.jpganalog2.jpg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ahh, mir ist aufgefallen, dass ich den "Anschluss" Faktor gewählt habe, nicht die Variable selbst.... das war mein Fehler.....

Jetzt nimmt er auch die Änderung.... AAABER ;-) Wie gebe ich Ihm denn einen Standartwert vor ? Also in diesem Falle das 0.1 ?
 
Jawohl, super !!

Dann hätte ich noch eine ähnliche sache, ich habe ja hier noch timerbausteine die Ihre Werte über Variablen TIME und TOD erhalten.

Wie kann ich diese per webvisu ändern ?

Denn dann erhalte ich als Ausgabe ja den Wert TOD#8:00 oder T#12H. Kann man das auch so anzeigen lassen, sodass nur die Zeiten angezeigt werden ?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich denke wir reden hier nicht nur von Anzeigen, sondern auch von ändern, Oder ? Sprich du möchtest gerne statt TOD#8:00 08:00 oder 8:00 angezeigt bekommen und wenn du drauf klickst dann z.B. einfach 8:45 Eingeben und der Übernimmt das dann ?
 
Sowas habe ich mal Realisiert.
Möglichkeit 1) Du lebst damit das vorne TOD# steht und änderst den Wert, ist zwar nicht schön, sollte aber durchau funktionieren.
Ich habe damals versucht über TOD_TO_STRING, TOD_TO_WORD etc etwas schöneres zu bekommen, aber leider fehlanzeige.
Dann bin ich den "harten Weg" gegangen. TOD > in String > Aus dem String TOD#12:00 das TOD# entfernt > ein Eingabefeld verwendet um den neuen Sting einzugeben (Bsp 13:17) und das wieder in TOD gewandelt.. ist ein wenig schreib arbeit aber sieht in der Visu besser aus ;)
 
Ich versuche es mal für deine TOD
Du machst dir wieder einen neuen Funktionsblock
T1 ist deine TOD, help1 die Variable für deine VISU
Code:
FUNCTION_BLOCK Zeitanpassung
VAR_IN_OUT
    T1                                                        : TOD;
    help1                                                    : STRING;
END_VAR
VAR_OUTPUT
END_VAR
VAR
    Tst                                                        : STRING;
    T3                                                        : TOD;
    Fi1    , Fi2                                                : INT;
    help2,help3                                            : STRING;
    TON1                                                    : TON;
END_VAR

hier das Prog
Code:
tst:=TOD_TO_STRING(T1);                    (*Hier wird die TOD zum String verarbeitet*)
fi1:=LEN(tst);                                    (*Sicherheitshalber wird die größe des Strings herausgefunden*)
fi2:=LEN(help1);
IF fi2<3 THEN help1:=help3;                    (*Beim neustrten ist der wäre der Wert 10s leer...*)
    ELSE help1:=help1;
        END_IF;
help3:=MID(tst, fi1-7, 5);                        (*String "help3" wird angepasst auf 12:00 (BSP), also TOD# weg fi1-7 = Anzahl der neuen Stellen, 5=Ab welcher Stelle*)
TON1(IN:=NOT TON1.Q , PT:=t#10s);        (*Timerbaustein, Impuls alle 10s*)
IF ton1.Q THEN help1:=help3;                (*alle 10s wird der Wert von TOD wieder in den String geschrieben*)
    ELSE help1:=help1;
        END_IF;
help2:=CONCAT('TOD#', help1);                (*Es wird wieder ein TOD passender String erzeugt*)
t3:=STRING_TO_TOD(help2);
IF t1 <> t3 THEN t1:=t3;                        (*Vergleicher, wenn neue TOD ungleich der alten TOD dann wird die neue TOD geschrieben *)
    ELSE t1:=t1;
        END_IF;
 
Suuuper, das klappt ja wunderbar....

Inwiefern muss ich den Baustein verändern, wenn ich das gleiche mit TIME Werten machen möchte ?
 
Zurück
Oben