LowLevelMahn
Level-1
- Beiträge
- 766
- Reaktionspunkte
- 90
-> Hier kostenlos registrieren
BUG: HMI Write geht nicht wenn SPS "normal" Übersetzt
TIA V13 SP1 UP2, HMI 300,400,700, S7-1200 1211C Firmware 4.1.1
Ich habe hier ein Projekt an dem ich schon ein Weile arbeite - doch jetzt plötzlich kann ich alle Variablen im HMI (300, 400, 700) nur noch lesen, NICHT mehr schreiben
Ich habe eine Testvariable für die ich ein Eingabe und ein Ausgabefeld definiert habe - im Fehlerfall führt eine Eingabe zu ###### in dem Ausgabefeld
Nach vorsichtigen Tests (das Testprojekt werde immer wieder frisch aus einem Sicherungsordner kopiert - damit nichts aus versehen gespeichert werden kann)
mit verschiedenen Versionen des Projektes ist das meine reproduzierbare Fehlerkette:
der Schlechtfall:
1. SPS "Rücksetzen auf Werkseinstellungen" vom "SIMATIC Automation Tool" - nur damit der Anfang immer definiert ist
2. mein Problem-Projekt laden
3. Übersetzmethode 1: mit den Icons "Übersetzen" und "Laden in Gerät" auf die SPS
4. Wert ins Eingabefeld auf dem HMI schreiben -> Ausgabefeld zeigt ########
der Gutfall:
1. SPS "Rücksetzen auf Werkseinstellungen" vom "SIMATIC Automation Tool" - nur damit der Anfang immer definiert ist
2. mein Problem-Projekt laden
3. Übersetzmethode 2: mit rechter Maustaste: "Hardware komplett übersetzen", "Software Bausteine komplett übersetzen" und dann laden mit den Icon "Laden in Gerät"
4. Wert ins Eingabefeld auf dem HMI schreiben -> Ausgabefeld zeigt den geschriebenen Wert
Dieser "Fehler" ist über mehrere Tests hinweg nachvollziehbar - leider habe ich es noch nicht geschafft das Szenario in ein kleines Beispiel umzuwandeln - ich
bin da aber noch drann damit das hier jemand bestätigen kann
Kennt jemand diese Effekte - oder kann sie erkären?
Ich denke es ist ein Fehler weil es kein Feeback von TIA gibt das irgendetwas nicht in Ordnung ist - nur durch probieren ist mir das Aufgefallen
Noch ein Frage:
Die Funktion in Online&Diagnose SPS-Reset (Knopf unter SPS-auf Start/Stop) scheint nicht wirklich die SPS vollständig zu leeren/killen -
Das Feature "Rücksetzen auf Werkseinstellungen" vom "SIMATIC Automation Tool" scheint radikaler zu sein - danach sind alles Programmblöcke weg und auch die SPS-Sprache steht dann auf Englisch
https://support.industry.siemens.com/cs/document/98161300?lc=de-WW
Update 1:
Es liegt nicht am HMI - nur die Art wie ich das SPS-Projekt übersetze macht den unterschied aus
Update 2: ES IST EIN BUG
Es reicht wenn ich den Datenblock umbenenne damit auch Übersetzmethode 1 wieder richtig arbeitet und das HMI die Variable schreiben kann
Vermutung: Das Umbenennen scheint wohl ein projektinternes Flag ala "vollständige Kompilierung benötigt" zu setzen Also ist es ein BUG weil dieses "Flag" in meinem Testprojekt nicht gesetzt ist
ich es aber dennoch brauche damit die SPS richtig übersetzt wird
Das Problem ist vergleichbar mit VStudios Precompiled-Headers-Problemen - normalerweise ist der IDE klar wann wirklich neu kompiliert werden muss - aber in alten Versionen hat das manchmal nicht richtig funktioniert -
was dazu geführt hat das viele Entwickler im Falle von komischen Fehlern nur dem Rebuild wirklich vertrauen - ABER wie man vergleichbare Probleme in so ein Einschränktes System wie die SPS-Programmierung bekommt ist mir echt ein Rätsel
TIA V13 SP1 UP2, HMI 300,400,700, S7-1200 1211C Firmware 4.1.1
Ich habe hier ein Projekt an dem ich schon ein Weile arbeite - doch jetzt plötzlich kann ich alle Variablen im HMI (300, 400, 700) nur noch lesen, NICHT mehr schreiben
Ich habe eine Testvariable für die ich ein Eingabe und ein Ausgabefeld definiert habe - im Fehlerfall führt eine Eingabe zu ###### in dem Ausgabefeld
Nach vorsichtigen Tests (das Testprojekt werde immer wieder frisch aus einem Sicherungsordner kopiert - damit nichts aus versehen gespeichert werden kann)
mit verschiedenen Versionen des Projektes ist das meine reproduzierbare Fehlerkette:
der Schlechtfall:
1. SPS "Rücksetzen auf Werkseinstellungen" vom "SIMATIC Automation Tool" - nur damit der Anfang immer definiert ist
2. mein Problem-Projekt laden
3. Übersetzmethode 1: mit den Icons "Übersetzen" und "Laden in Gerät" auf die SPS
4. Wert ins Eingabefeld auf dem HMI schreiben -> Ausgabefeld zeigt ########
der Gutfall:
1. SPS "Rücksetzen auf Werkseinstellungen" vom "SIMATIC Automation Tool" - nur damit der Anfang immer definiert ist
2. mein Problem-Projekt laden
3. Übersetzmethode 2: mit rechter Maustaste: "Hardware komplett übersetzen", "Software Bausteine komplett übersetzen" und dann laden mit den Icon "Laden in Gerät"
4. Wert ins Eingabefeld auf dem HMI schreiben -> Ausgabefeld zeigt den geschriebenen Wert
Dieser "Fehler" ist über mehrere Tests hinweg nachvollziehbar - leider habe ich es noch nicht geschafft das Szenario in ein kleines Beispiel umzuwandeln - ich
bin da aber noch drann damit das hier jemand bestätigen kann
Kennt jemand diese Effekte - oder kann sie erkären?
Ich denke es ist ein Fehler weil es kein Feeback von TIA gibt das irgendetwas nicht in Ordnung ist - nur durch probieren ist mir das Aufgefallen
Noch ein Frage:
Die Funktion in Online&Diagnose SPS-Reset (Knopf unter SPS-auf Start/Stop) scheint nicht wirklich die SPS vollständig zu leeren/killen -
Das Feature "Rücksetzen auf Werkseinstellungen" vom "SIMATIC Automation Tool" scheint radikaler zu sein - danach sind alles Programmblöcke weg und auch die SPS-Sprache steht dann auf Englisch
https://support.industry.siemens.com/cs/document/98161300?lc=de-WW
Update 1:
Es liegt nicht am HMI - nur die Art wie ich das SPS-Projekt übersetze macht den unterschied aus
Update 2: ES IST EIN BUG
Es reicht wenn ich den Datenblock umbenenne damit auch Übersetzmethode 1 wieder richtig arbeitet und das HMI die Variable schreiben kann
Vermutung: Das Umbenennen scheint wohl ein projektinternes Flag ala "vollständige Kompilierung benötigt" zu setzen Also ist es ein BUG weil dieses "Flag" in meinem Testprojekt nicht gesetzt ist
ich es aber dennoch brauche damit die SPS richtig übersetzt wird
Das Problem ist vergleichbar mit VStudios Precompiled-Headers-Problemen - normalerweise ist der IDE klar wann wirklich neu kompiliert werden muss - aber in alten Versionen hat das manchmal nicht richtig funktioniert -
was dazu geführt hat das viele Entwickler im Falle von komischen Fehlern nur dem Rebuild wirklich vertrauen - ABER wie man vergleichbare Probleme in so ein Einschränktes System wie die SPS-Programmierung bekommt ist mir echt ein Rätsel
Zuletzt bearbeitet: