TIA Achtung: Siemens FAQ SCL-Programm wird nach der Übersetzung in TIA Portal nicht korrekt ausgeführt

Zuviel Werbung?
-> Hier kostenlos registrieren
Das ist wohl so von Siemens gewollt. Die typisierte Konstante gibt in deinem Beispiel den Datentyp vor.


Ich finde das Verhalten aber auch seltsam.
Ich meine in anderen Programmiersprachen (C, C#, JavaScript...) gibt es gar keine 8Bit-Addition. Bin mir aber nicht sicher.
 
Irgendwo steht das eine berechnung immer im höheren Datentyp erfolgt. (DMA kann da bestimmt helfen)

Es kann nicht richtig sein das von einem 16Bit-Wert nur die unteren 8Bit verwendet und als vorzeichenbehaftete Zahl interpretiert wird.

Egal... gehört hier eigendlich nicht hin.
Haben wir einen Thread für solche "Korriositäten"?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wer Bock drauf hat kann's ja melden...
It´s not a bug, its a feature.

Irgendwo steht das eine berechnung immer im höheren Datentyp erfolgt. (DMA kann da bestimmt helfen)
Zitat FAQ:
Die typisierte Konstante legt in diesem Fall fest, wie die Addition ausgeführt wird.
Und die ist bei deinem Beispiel SINT

Warum das so gemacht wurde, ist mir schleierhaft.

Code:
ergebnis : DINT;
wert1 : INT;
wert2 : INT;

wert1 := 30000;
wert2 := 30000;

ergebnis := wert1 + wert2;

ergebnis = -5536
:rolleyes:
 
Zuletzt bearbeitet:
Die Sinnhaftigkeit von Short Integer hat sich mir eh nie erschlossen. Man muss eben in der Einheit rechnen, die man nutzt. Muss man wissen, dann gibt es auch kein Problem.
Und ne dll zu tauschen ist mir sogar lieber, als ne 20 minütige Installation laufen zu lassen.
Bei der dll kann ich nämlich im Fehlerfall zurück.
Die Installation zerballert einem schlimmstenfalls die Software...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also ich konnte gerade, nach dem Installieren des Patches, Bausteine nicht mehr öffnen. TIA ist dann immer mit dem Crash Report Gedöns abgestürzt. Die alte DLL wieder rüber kopiert und -Zack- gehts wieder.....
 
Zu der "mit-unterschiedlichen-Typen-rechnen-Problematik":
Wenn man die Bausteineigenschaft auf "IEC-Prüfung" stellt, bekommt man bei solchen Mischungen immer harte Fehler und bekommt es so mit.
Allerdings sind andere Dinge dann auch wieder unflexibler (z.B. "i"-Varablentyp bei For-Schleifen)
 
Wenn ich mir die beiden Dateien (original und patch) über "Erweitert" vergleiche, dann hat der Patch deutlich mehr Rechte, wie die originale. Der Patch hat bei allen Usern und Gruppen absoluten Vollzugriff, die originale hat da mehr Einschränkungen...
Ich werde das erstmal lassen und auf das offizielle Update im September warten
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Und ne dll zu tauschen ist mir sogar lieber, als ne 20 minütige Installation laufen zu lassen.
Bei der dll kann ich nämlich im Fehlerfall zurück.
Die Installation zerballert einem schlimmstenfalls die Software...

Wenn ich mir die beiden Dateien (original und patch) über "Erweitert" vergleiche, dann hat der Patch deutlich mehr Rechte, wie die originale. Der Patch hat bei allen Usern und Gruppen absoluten Vollzugriff, die originale hat da mehr Einschränkungen...
Ich werde das erstmal lassen und auf das offizielle Update im September warten

Das kommt dann einem wohl zu gute die dll tauschen zu können wenn es nicht geht, auf der anderen Seite liegt da aber auch dann die Problematik beim Tauschen von Dateien, wenn eben die Rechte nicht passen, oder @evelkneevel jetzt zB eine inkorrekte dll bekommen hat
 
Vielleicht auch für manche interessant ( vor allem Ursache A ). Und vor allem wenn im Diagnosepuffer folgende Meldung steht:
16# 02:3507 Temporary CPU error: Buffer overflow for OB 92 event"
Siemens FAQ: Instabile Zykluszeit in einer S7-1500 CPU
Die Zykluszeit des Anwenderprogramms in einer S7-1500 CPU ist instabil bzw. schwankt sehr stark. Das Programm wird teilweise nicht korrekt (zeitlich) abgearbeitet. Auf der CPU sind Programmteile von Safety bzw. Motion Control (oder auch beides) vorhanden.
In Zusammenhang mit dem oben beschriebenen Symptom erhalten Sie möglicherweise eine der folgenden Meldungen:

  • 16# 02:3507 Temporary CPU error: Buffer overflow for OB 92 event"
  • DieCPU kann nur im STOP geladen werden, da Motion Control aktiv ist
Ursache
A) Die CPU-Firmware ist nicht auf dem neuesten Stand. Bezüglich der Meldung "... Buffer overflow for OB92 event" sollten Sie auf die neueste CPU-Firmware hochrüsten.
B) Die Performance der CPU-Hardware ist möglicherweise nicht ausreichend für dieAuslastung durch das geladene Anwenderprogramm. Eine leistungsfähigere CPUkönnte erforderlich sein.
 
Zuletzt bearbeitet:
Zurück
Oben