Temporär bits bleiben über den Baustein hinaus bestehen

vecoplaner

Level-1
Beiträge
49
Reaktionspunkte
7
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
habe momentan ein seltsames problem. Habe in einem FC 2 Temporäre Bits
die getacktet sind. Nun das Problem, in einem anderen FC benutze ich auch
2 Temporäre bits, und diese schalten im gleichen takt der Bits aus dem anderen FC. Konnte das recht einfach unterbinden in dem ich am anfang des Bausteins einen CLR befehl gesetzt habe.
Ich wunder mich aber woher das kommt, habt ihr eine idee?!



Gruß
 
Hallo
Habe in einem FC 2 Temporäre Bits
die getacktet sind. Nun das Problem, in einem anderen FC benutze ich auch
2 Temporäre bits, und diese schalten im gleichen takt der Bits aus dem anderen FC.
das ist eigentlich allgemein bekannt und auch absolut legitim. Die TEMP's werden vom Lokaldaten-Stack genommen.

Konnte das recht einfach unterbinden in dem ich am anfang des Bausteins einen CLR befehl gesetzt habe.
... das ist die übliche Vorgehensweise. Am Anfang eines Bausteins die TEMP's definiert zuweisen - nur so hast du die Gewähr, dass sich das darin befindet, was du darin haben willst. Tust du das nicht, dann kommt es zu netten Effekten in deinem Programm ...

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
wobei ich immer noch nicht verstehe, dass es immer wieder menschen gibt, die temporäre variablen verwenden, ohne das sie zugewiesen wurden :confused:
das macht keinen sinn!

(und ich meine damit nicht die zuweisung über CLR oder SET oder L 0 T #temp!)
 
hab ich absolut nicht gewusst, hab naiver weiße vermutet die Temp
daten werden bei jeden neuen Call wieder auf 0 gesetzt.

Danke für die schnelle Antwort
 
Zuletzt bearbeitet:
hab ich absolut nicht gewusst, hab naiver weiße vermutet die Temp
daten werden bei jeden neuen Call wieder auf 0 gesetzt.

Danke für die schnelle Antwort

wenn ich ne 0 brauch, dann lad ich mir ne 0, wenn ich ein false brauche dann mach ichs mit CLR oder lass es weg, denn es scheint ja dann für die verknüpfung keinen sinn zu machen...

in hochsprachencompilern gibt es die lustige fehlermeldung: Variable XYZ wird verwendet obwohl ihr kein Wert zugewiesen ist.

vielleicht sollte S das mal in eines der nächsten SPs packen...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Sinn?

wobei ich immer noch nicht verstehe, dass es immer wieder menschen gibt, die temporäre variablen verwenden, ohne das sie zugewiesen wurden :confused:
das macht keinen sinn!

(und ich meine damit nicht die zuweisung über CLR oder SET oder L 0 T #temp!)

Vlt stehen in den temporären Variablen vor der Zuweisung
die Lottozahlen vom nächsten Samstag. :ROFLMAO:
 
Schwank aus meiner Jugend

Vor einigen Jahren hatte ich den Auftrag ein bestehendes Step7 Programm zu erweitern. Ich habe tunlichst darauf geachtet eine klare Trennung zwischen Alt und neu zu realisieren. Im Grunde habe ich ein neues Programm mit neuen Bausteinen und neuen E/A zu dem vorhanden dazu gespielt. Daher konnte ich auch einfach nicht glauben, dass nach meinen Änderungen das vorhandene Programm nicht mehr richtig lief. Habe ich lange abgestritten, musste dann aber einsehen, dass es einen Zusammenhang geben muss. Es stellte sich heraus, dass im Alt-Programm ein Temp als Hilfsmerker für eine Flankenauswertung verwendet wurde. Aus unerfindlichen Gründen, hat es funktioniert. Vielleicht war gerade an dieser Stelle die Verschachtelungstiefe am weitesten. Da ich in meinem NEU-Teil natürlich auch Temps verwendet habe, habe ich diese glückliche Fügung durcheinander gebracht.
Natürlich war ich der Dumme. Das Programm vorher lief ja definitiv. Jemanden der noch nie programmiert hat, kann man das nicht erklären.
 
Zurück
Oben