TIA Berechnungsproblem: Addition/Subtraktion

jonnijonsen86

Level-1
Beiträge
8
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

Bisher reichte es immer hier mit zu lesen,
aber jetzt komme ich damit nicht mehr weiter.

Hoffentlich könnt ihr mir helfen. ich vermute einen dummen Fehler, aber ich komm nicht drauf.

Ich bin dabei einen FB zu basteln zur Anpassung von int. werten.
Knopf drücken "+10" anderen Knopf drücken "- 10" (Geschwindigkeit Anpassung)
wenn die Freigabe weg geht soll der wert ausgegeben werden. (im Moment noch mit all.true merker)

Eigentlich eine ganz einfache Sache..... Dachte ich ^^


Erster versuch:
Ohne Trigger einfach nur den Ausgang ausgewertet.
Ergebnis: einmal kurz den Knopf drücken, egal ob + oder - er zählt durch bis max/min wert.

Zweiter versuch: p-Triger:
Funktion soweit da, ab jetzt wird es komisch.....
Ergebnis:
Berechnung erfolgt zu 90% wie gewollt.
manchmal rechnet die CPU aber 2x + bzw. - . (?!?!? verstehe nicht warum. Ich habe es auch mit unterschiedlichen triggern versucht)

Meine Vermutung, dass das Schalt-Signal mehrfach kommen muss.
Dann habe ich mir das Konstrukt (siehe Bild) gebastelt.
Ergebnis: Das selbe wie mit P-Trigger. manchmal +/- 20 statt 10.


Ich hoffe aus dem Bild gehen alle Infos raus hervor und ihr könnt mir helfen.
Ich stehe auf dem schlauch :(

DANKE !
 

Anhänge

  • Berechnung.png
    Berechnung.png
    394,8 KB · Aufrufe: 87
Hi,
wie geschrieben, ich hab es mit P-Trigger versucht, leider mit dem gleichen Ergebnis,
die Cpu rechnet manchmal 2x.
Voreingestellter wert ist 10.

Ich drücke auf plus und die CPU rechnet plus 20.

*edit aber nicht jedes mal ....
es ist immer unterschiedlich. aber gefühlt häufiger wenn ich aus der einen in die andere Richtung rechne.
 
Doppelt aufgerufen wird der FB oder DB nicht? Kannst du einen Trace mal aufzeichnen? Kannst du mal einen Merker statt Eingang verwenden und diesen in einer Variablentabelle zu steuern?
Dann kannst du ganz einfach Hardware Preller ausschließen.
 
Deswegen hatte ich den 2 Impuls (Verriegelung) mit 50ms. Das das Signal von 1ms (Taster) in 50ms nach erster Betätigung nicht durch geht.
Aber erst wenn deine erste 1ms Timerbeendet wird. Alles unter 1ms wird als aktiven Impuls gezählt.
- Positive Flanke nur verwenden. Keine Timer zur Impusbildung
-PLC Sim nutzen für die Simulation
-Dann schauen on der Fehler immer noch auftritt.
Trace verwenden zur genauen Analye. Es wird wsl. Ein Software Bug sein
 
der Speicher des P_Trig (Gedächtnis muss den alten Zustand merken) muss in static liegen das ergbnis hinten kann im Temp Bereich liegen. (kein Gehirn notwendig da im jeden Zyklus das Ergbnis wieder neu erzeugt wird.
top !

Danke vielmals :)
Hab bis eben nie was von tracen gehört.

Ist ja mal mega cool :D
Endlich Diagnose zu Problemen :love:

Stimmt, Jetzt wo du es sagst. War bei meinem Trigger der Anfängerfehler. (temp)

Werde mich gleich mal dran setzen und mal tracen üben :D
Ich denke aber mein halt Fehler war die temp. Variable.


Danke für die schnelle Hilfe :)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Und da bei dir ja noch viel Hoffnung besteht ;)

Man programmiert, erstellt, konzipiert, o.ä. und bastelt, fummelt, probiert nicht.
Basteln, das klingt nach Laubsägearbeiten am Küchentisch. Die Wortwahl kann eine große Wirkung haben, es soll schon vorgekommen sein, dass ganze Projekte "verloren" wurden, weil der Programmierer sich beim Vorstellen seines Konzepts ungeschickt ausgedrückt hat.
 
Und da bei dir ja noch viel Hoffnung besteht ;)

Man programmiert, erstellt, konzipiert, o.ä. und bastelt, fummelt, probiert nicht.
Basteln, das klingt nach Laubsägearbeiten am Küchentisch. Die Wortwahl kann eine große Wirkung haben, es soll schon vorgekommen sein, dass ganze Projekte "verloren" wurden, weil der Programmierer sich beim Vorstellen seines Konzepts ungeschickt ausgedrückt hat.
Das schauen wir uns dann bei der Inbetriebnahme an kommt selten gut bei Kunden an 😂 Auch wenn man es manchmal macht 😜
 
Zurück
Oben