# Zähler = Word -> Vergleicher = int ???



## max1de (4 September 2006)

Wahrscheinlich gibt es zu meinem Problem eine ganz einfache Lösung, jedoch in diesen Fällen kommt man halt nicht drauf ! 

Problem:
Dem Zähler Ausgang (DUAL) habe ich einem MerkerWord zugeordnet. Dieses MerkerWord soll nun mit einem Vergleicher ( CMP ) verglichen werden.
Es funktioniert auch alles gut bis ich dem MW unter Symbole bearbeiten eintrage. 
Der Zähler verlangt das es ein WORD wird, jedoch der Vergleicher will ein INT. (wie stur kann man denn sein ?? )

Wie kann ich dieses Problem denn am intelligentesten bzw. besten Lösen??

Bedanke mich schon im Voraus für Eure Lösungen !!


----------



## volker (4 September 2006)

entweder du schreibst das in awl oder du schaltest die typüberprüfung im editor unter eigenschaften ab.


----------



## Werner54 (5 September 2006)

*Move*

Hallo,

eine mögliche Lösung wäre:

Den WORD-Zählerausgang sofort mit MOVE zu einer INT-Variablen übertragen. MOVE nimmt es mit der Typprüfung nicht so genau.


----------



## dresel (5 September 2006)

Hallo,

hier ein paar Anmerkungen zu den Datentypen was ich noch im Kopf habe, falls etwas falsch sein sollte bitte ausbessern!

aus dem Zähler wird eine positive Ganzzahl von 0 - 65536 (also WORD) [nur aufs Format bezogen!] ausgegeben, CMP vergleicht Integerzahlen     (-32767 - +32768), deshalb muß vor dem Vergleich das Format angepasst werden. Der einzige Unterschied zwischen WORD und INT besteht im sechzehnten Bit, da wird bei Integer das Vorzeichen festgelegt.

Wenn du jetzt wie von Volker vorgeschlagen die Typüberprüfung ausschaltest oder alles in AWL schreibst funktioniert es wunderbar solange sichergestellt ist das der Wert 32767 nicht überschreitet (was bei den integrierten Zählern so ist, die machen denke ich nur bis 999 (?)). Persönlich lasse ich die Typüberprüfung eigentlich lieber an, vor allem bei größeren Umrechnungen und Werteschiebereien fällt so wenigstens gleich auf das etwas faul ist.

Schöner und nachvollziehbarer finde ich den Vorschlag von Werner, da brauchst du zwar den zusätzlichen MOVE aber das Format ist eindeutig festgelegt. In der Symboltabelle (bzw. im Datenbaustein oder den Temp-Daten) muß natürlich dann das verwendete Wort als INT festgelegt werden.

Ich finde es irgedwie blöd das Siemens keine Funktion zum richtigen wandeln von WORD in INT und zurück zur Verfügung stellt, weiß jemand dazu die Hintergründe?

Gruß
Andreas


----------



## mboDigital (19 April 2009)

Hallo Dresel

"da brauchst du zwar den zusätzlichen MOVE aber das Format ist eindeutig festgelegt"

Bei meiner Anwendung bräuchte ich genau das Gegenteil: Int->Word. Aber dies kann ich ja mit einem MOVE Befehl nicht erreichen- oder doch?

MfG mbo


----------

