SPS - Kommentierte Merkerworte und Vergleicher

Hallo zusammen,

warum kann man eig. bei einem Integervergleicher ein Merkerwort mit einem festen Wert nur vergleichen, wenn es nicht kommentiert ist?

Also wenn Ich MW12 hinschreibe und dies nicht in der Symboltabelle drin steht wird das MW ohne irgendwas übernommen.
Gebe Ich jetzt dem MW12 einen Namen (z.B. Sollwert) und kommentiere das, dann wird der Text rot und es sei ein Typenkonflikt.

Warum ist es ein Typenkonflikt, wenn es nicht kommentiert ist, aber wenn unkommentiert ist, nichts ist?
Dito bei DB-Adressen.

Gruß,

Hanzo

Hallo Hanzo,

warum kann man eig. bei einem Integervergleicher ein
Merkerwort mit einem festen Wert nur vergleichen, wenn es
nicht kommentiert ist?

Du solltest vielleicht den Typ und Hersteller der SPS sowie die Verwendete Software und deren Stand angeben.

Es gibt mittlerweile tausende von SPS.

Und die Frage solltest du an den Hersteller richten, technisch gibt es dabei kein grundsätzliches Problem, das liegt irgendwo in der verwendeten Software.

Praktisch kann es sich um einen Bug handeln, an einer unsauberen Sprachdefinition liegen oder daran, dass Merker mit Kommentar anders verwaltet werden.

MfG Peter(TOO)

Hi,

sry, mein Fehler. ^^

Das Programm ist von Siemens S7… Version kenn Ich im Moment nicht, da Ich gerade nicht an der Anlage bin.

Gruß,

Hanzo

Präzieser
Hallo Hanzo,

mir scheint Deine Formulierung missverständlich.Vielleicht kannst Du das Problem einkreisen, in dem Du den minimalen Unsterschied zwischen „funktioniert“ und „funktioniert nicht“ herausarbeitest und die relevanten Zeilen postest.

Gebe Ich jetzt dem MW12 einen Namen (z.B. Sollwert) und
kommentiere das, dann wird der Text rot und es sei ein
Typenkonflikt.

funktioniert es denn, wenn Du es nicht kommentierst? Du schreibst weiter oben,. dass es ohne symbolischen Namen funktioniert. Das ist doch m.E. unabhängig von einem Kommentar.

Ich vermute hier eher einen Flüchtigkeitsfehler.

Gruß
achim

Hallo,

wenn den Operand in der Symboltabelle einträgst gibt’s du ihm auch das Datenformat vor. Vermutlich hast du da „WORD“ stehen gelassen, versuch es mal mit „INT“ dann sollte es funktionieren, dito bei DBs.
Wenn du nix deklarierst tut es, da sich das Programm quasi den passenden Datentyp selbst bestimmt.

viele Grüße
raicer

Hi,

Gebe Ich jetzt dem MW12 einen Namen (z.B. Sollwert) und
kommentiere das, dann wird der Text rot und es sei ein
Typenkonflikt.

funktioniert es denn, wenn Du es nicht kommentierst? Du
schreibst weiter oben,. dass es ohne symbolischen Namen
funktioniert. Das ist doch m.E. unabhängig von einem
Kommentar.

Es funktioniert, wenn es unkommentiert ist.
Wenn Ich es kommentiere, nicht mehr (Typenfehler wird mir gesagt).

Jedoch ist der Typ beim unkommentierten WORD. Sollte also eig. nicht funktionieren. Tut es aber trotzdem.
Wenn es kommentiert ist, ist es immer noch WORD. Nur dann „erkennt“ er einen Typenfehler. =/

Jedoch würde Ich gerne mal min. ein Kommentar dran machen, da sonst Chaos mit den Merkerworten herrscht.

Gruß,

Hanzo

Hoi,

zunächst: Probiert hab Ich es nocht nicht.

wenn den Operand in der Symboltabelle einträgst gibt’s du ihm
auch das Datenformat vor. Vermutlich hast du da „WORD“ stehen
gelassen, versuch es mal mit „INT“ dann sollte es
funktionieren, dito bei DBs.
Wenn du nix deklarierst tut es, da sich das Programm quasi den
passenden Datentyp selbst bestimmt.

Ist ein Merkerwort nicht immer im Format WORD? Oder kann man sich das passend deichseln?

Gruß,

Hanzo

Hallo,

ich glaube du verwechselst den Datentyp mit der Länge.
MW heißt nicht Merker-Word sondern Merkerwort. Das gibt im Prinzip nur die Länge deiner Daten an (Wort = 16 Bit). Dabei ist der Datentyp dahinter erstmal egal. Wenn du nun nix deklarierst sucht sich das Programm quasi automatisch den passenden Datentyp aus, sobald du es deklarierst muss du den passenden Datentyp angeben.
Lies dich mal in die Grundlagen ein, z.B.:
http://www.sps-lehrgang.de/bit-und-byte/
http://www.sps-lehrgang.de/datentypen-in-step7/

viele Grüße
raicer

1 Like

Hoi,

jup das war es. ^^

Klappt alles wieder. Danke für deine Hilfe :smile:

Gruß,

Hanzo