TIA Berechnungsproblem: Addition/Subtraktion

jonnijonsen86

Level-1
Beiträge
8
Reaktionspunkte
0
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
    394,8 KB · Aufrufe: 87
Warum arbeitest du nicht einfach mit Flanken? Also den Plus/Minus Impulseingang per positive Flanke weiterverarbeiten.
 
Wie Lange ist deine Zykluszeit wenn diese unter 1ms liegt zählt deine Logik doppelt. Versuchs mal mit Flanken ohne Timer
 
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.
 
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.
Wie kann ich einen trace aufzeichnen?
Habe leider nicht soooo viel Erfahrung.
 
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.
 
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
Endlich Diagnose zu Problemen

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

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


Danke für die schnelle Hilfe
 
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.
Hab's gerade ausprobiert.

P-Trig als static angelegt und funktioniert
Anfängerfehler wie gesagt

DAnke nochmals
 
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
 
Für die Nutzung dieser Website sind Cookies erforderlich. Du musst diese akzeptieren, um die Website weiter nutzen zu können. Erfahre mehr…