Step 7 Gelöst: Dienstagsrätsel - Was ist hier los ?

Beiträge
8.836
Reaktionspunkte
2.131
Zuviel Werbung?
-> Hier kostenlos registrieren
Dies ist von eine bestehende Anlage. Sie sollen an meine Maschine einige Daten über Profibus senden.
Sie hat diesen Bild gesendet damit ich checken kann dass alles in Ordnung ist:
finde_die_Fehler.png

Nun Frage ich, sieht ihr dasselbe wie ich ?
Ungerade Byteaddresse von eine deklarierte Doppeltwort Variabel.
Das sollte ja unmöglich sein. Oder ?
Meine Erfahrung ist, wenn man durch Deklaration von einzelne Byte Variabeln auf eine ungerade Bytenummer gelandet ist, und man eine Wort oder Doppeltwort Variabel deklarieren will, dann spring STEP7 zu die nächste gerade Byte-Nummer.
 
Zuletzt bearbeitet:
Vielleicht hatte der DB65 ursprünglich kein Symbol oder in dem DB65 wurde gar keine REAL-Variable deklariert (z.B. Byte-Array), sondern es wurde am MOVE einfach absolut angegeben DB65.DBD13 ?
Vielleicht wurde auch der DB mal aus der CPU ohne Symbole zurückgeladen ins Projekt und dabei wurden automatisch Symbole erzeugt?
Oder ist die Adresse per Pointer angegeben?
Welche Step7 Version ist das? Welche CPU? Kann man den Code auch mal in AWL sehen? Und die Deklaration im DB65?
 
Ich Frage die Kunde um mehr Info.

Eine Theorie:
Mit eine englische (oder deutsche) STEP7 wurde es z.B "DB_name".STAT109 heissen.
Wenn die Kunde mit die Sprache von STEP7 selber rumspielt, kann es dann vielleicht nicht ".STAT" sondern ".DATO" heissen ?
 
Die Programmierer hat es gerade gemacht.

Ich bin sicher es ist eine einfache Zuweizung.
Wie
Code:
L DB23.DBD24
T DB65.DBD13

Es ist eine ziemlich alte STEP7. Die Kunde hat eine alte Field-PG. Genaue Version kenne ich nicht.
Es ist eine S7-416 CPU. 6ES7416-2XK04-0AB0, FW4.0
 
Wurde der DB vielleicht in SCL oder eine andere Quell-Sprache erzeugt und gibt es da vielleicht Pragmas oder Compiler-Einstellungen, die Mehrbyte-Variablen auf ungeraden Adressen ermöglichen?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wurde der DB vielleicht in SCL oder eine andere Quell-Sprache erzeugt
Der Programmierer programmiert nur in KOP.

und gibt es da vielleicht Pragmas oder Compiler-Einstellungen, die Mehrbyte-Variablen auf ungeraden Adressen ermöglichen?
Da ist in KOP und FUP eine Einstellung mit den man den Typencheck aktivieren kann (bzw. deaktivieren).
Es ist aber fest ausgegraut (was ist die Bedningung dafür dass man diese Einstellung umschalten kann ?):

Type_check_of_adresses.png
 
Zuletzt bearbeitet:
Da ist in KOP und FUP eine Einstellung mit den man den Typencheck aktivieren kann (bzw. deaktivieren).
Es ist aber fest ausgegraut (was ist die Bedningung dafür dass man diese Einstellung umschalten kann ?)
Ich meine, den Typcheck konnte man früher in älteren Step7-Versionen mal aktivieren und war noch früher vor der Einstell-Option immer deaktiviert. Hat aber wohl für zu viele bestehende Programme oder Programmierer Probleme gemacht, so dass der Typcheck nun dauerhaft deaktiviert wurde.
 
Ich meine, den Typcheck konnte man früher in älteren Step7-Versionen mal aktivieren und war noch früher vor der Einstell-Option immer deaktiviert. Hat aber wohl für zu viele bestehende Programme oder Programmierer Probleme gemacht, so dass der Typcheck nun dauerhaft deaktiviert wurde.
Danke.
Es erklärt immer noch nicht wie die ungerade Adresse mit Symbol entsteht.
In meiner STEP7 (mit Typcheck fest deaktiviert) kann ich den Verhalten von 1'en Beitrag nicht wiederherstellen.
Vielleicht werde ich fundiger nächste Woche wenn ich vor-ort bin.

N.B. ich habe der Programmierer gebeten auf eine gerade Byteadresse umzustellen.
 
"abgeschnitten" - ooch, das hatte ich zuerst vermutet, dann aber vergessen zu erwähnen :cry:
Die Online-Darstellung sieht so überzeugend aus, wie bei KI, wenn die keine Lösung finden und Fantasie präsentieren. ;)

Irgendwie basteln die Siemens-Entwickler wohl jetzt am bewährten Step7-classic-Aussehen und verschlimmbessern auch... (z.B. die Darstellung der Online-Werte beim Beobachten von Baustein-IN_OUT in FUP/KOP)
 
Ich sage, dass es schön wäre, wenn die Voreinstellung von SIEMENS mind. so gewählt würde, dass zumindest absolute Adressen immer einzeilig dargestellt werden.
Das Problem hier ist aber eigentlich nicht der notwendige Zeilenumbruch oder die Voreinstellung, sondern dass der Onlinewert nicht unterhalb des Textes angezeigt wird, sondern einfach blindlings soundsoviele Pixel unter der ersten/oberen Textzeile. Da haben die Entwickler-Programmierer geschlampt und nicht genug getestet.
 
Zurück
Oben