Wie kann eine FB Temp Var eine FC Tamp Var überschreiben ?

leolilu

Level-1
Beiträge
17
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
huhu
ich habe heute einen sehr konfusen Vorfall gehabt.
ich habe eine Maschine Xy welche schon seit Jahren problemlos läuft.
habe gestern einen FB eingefügt welcher bestimmte Sachen regeln soll.
Lief auch wunderbar, ich wollte dann aber in diesen FB temporär ein paar zwischen Ergebnisse berechnen und auswerten lassen und habe aus diesem Grund 3 Temporärvariablen erstellt
Temp1 Int 0.0
Temp2 Int 2.0
Temp3 Int 4.0

wärend dem abarbeiten des FB erhalten die Variablen folgende werte:
5000
1100
1300

diese Temp Vars sind doch nur für diesen FB und auch nur bis zum BE gültig, und dürften keine Temp Vars von anderen Bausteinen beeinflussen, richtig ?

Das Problem ist aber folgendes:
Ich habe einen FC, der schon vorher da war, welcher Temp Vars in der Form beinhaltet:
Temp1 Bool 0.0
Temp2 Bool 0.1
Temp3 Bool 0.2
Temp4 Bool 0.3
Temp5 Bool 0.4
Temp6 Bool 0.5
Temp7 Bool 0.6 <---
Temp8 Bool 0.7
Temp9 Bool 1.0

immer wenn der oben beschriebene FB bearbeitet wird, hat die Temp7 (Pfeil) den Wert 0 trotzdem sie 1 sein müsste
Ist es denn möglich, dass mein FB die Temp Vars des FCs überschreibt ?

Mir ist beim durchschauen des FCs aufgefallen, das die besagte Temp7 schon benutzt wird, noch bevor sie von einem SR gesetzt wird, das ist mir etwas unlogisch... ist es nicht so, dass sie in diesem Netzwerk theoretisch nie die 1 haben kann ? also der Ablauf ist nur dann korrekt, wenn sie dort 1 führt, und beim beobachten (wenn mein FB nicht bearbeitet wird) führt sie auch 1.
kann ich das so verstehen, dass der Programmierer des original Programms an dieser stelle einfach nur Glück gehabt hat und die Var nicht überschrieben wurde bzw zufällig den richtigen wert hat ?
Weil wenn das so ist, gehe ich davonaus, das meine Temp Vars dann diesen Speicherbereich überschrieben haben, was dadurch dann zu Fehlfunktion führte.
Liege ich damit richtig ?

LG Leo
 
Zuletzt bearbeitet:
Hi,

Ja.
Ja.
Ja. SR gehört sich für Temps in einem FC nicht.
Ja.
Ja. ;)

Gruss Daniel
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke Sehr
der ganze FC ist so aufgebaut :/ insgesamt werden 6 temporäre Bits über SR Glieder bearbeitet.. ich frag mich wie das überhaupt funktioniert hat...
und ich bin jetzt Schuld, dass die Maschine nicht richtig funktioniert hat, trotzdem ich nicht falsch gemacht hab *grml*
es handelt sich um eine Absaugung und durch meine Änderung lief dann die Abreinigung nicht, was sich durch überhötem Diff-Druck bemerkbar machte, worauf meine Kollegen das ganze Teil halb zerlegt haben -.-
 
Das ist genau der Fehler, den der "Könner" mit dem Knowhow-geschützten FiFo-Baustein in einem anderen Thread auch eingebaut hat:
Temp-Variable wie statische Variable zu verwenden.
Sowas kann lange Zeit funktionieren und bei einer kleinen Änderung an einer anderen Stelle knallt es dann.
Mach aus dem FC einen FB und leg die Variablen in den Stat-Bereich.
 
Zurück
Oben