Digitalisierung mit Beckhoff KL3162

Hiran

Level-1
Beiträge
41
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag Zusammen

Ich bin gerade dabei einige Prozesse über analoge 0-10V Signale anzusteuern und auszuwerten. Mit den normalen 12 Bit Karten von Beckhoff ist das auch kein Problem, wobei ich nicht ganz verstehe warum ich bei 12 Bit Karten mit 32768 (also 15 Bit) den Analogwert zurückrechnen kann.
Aber mit der 16 Bit Karte KL3162 hab ich so meine Problemchen. Ich bekomm den Wert nicht umgerechnet.

Ich benutze Siemens S7 und in der Hardwareconfig steht für die Karte eine Belegungsadresse von 4 Byte pro Eingang. Bedeutet das, ich muss auf den Eingang mit z.B. PED512 zugreifen? Oder reicht PEW512. Die Karte soll laut Hersteller bei 10V 65535 ausgeben.
Die andere Frage ist mit welchem Variablen Typ soll ich das dann einlesen? Ich dachte immer die Karten können nur mit normalen INT Variablen ausgelesen können. Gibt es denn in S7 die möglichkeit ein unsigned INT zu definieren damit ich überhaupt die 65535 abbilden kann?

Vielleicht hab ich auch grad nur nen Knoten im Kopf, aber vielleicht kann mir ja wer helfen.

Vielen Dank schonmal

Hiran
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich war ein paar Tage im Urlaub, deshalb antworte ich erst jetzt.

Mein Problem liegt darin die richtigen Variablen zu verwenden.
Beckhoff hat die standart Karten. Dabei werden die 0-10V folgender maßen dargestellt.

SpannungDezimalHexadezimal 0V 00x0000 10V+327670x7FFF
Hierbei kann ich simple Integer Variablen verwenden um die digitalisierten Signale der Beckhoffklemmen einzulesen und anschließen zu verarbeiten.

Bei den KL 3162 Karten die ich für die genaueren Prozesse verwende ist eine Auflösung von 16 Bit angegeben die im Prozessabbild dann wie folgt dargestellt werden.

SpannungDezimalHexadezimal 0V 00x0000 10V 655350xFFFF
Die 65535 kann ich ja aber nicht mehr in Integer ablegen, da der Speicherplatz nicht ausreicht. Deshalb hab ich einfach mal rumprobiert, aber egal was ich verwende um den Eingang auszulesen, nichts funktioniert.
 
Zuletzt bearbeitet:
WORD____0__________65.535_____16 Bit
INT_____-32.768____32.767_____16 Bit

[FONT=&quot]Wieso geht dir der Speicherplatz aus?!? :confused:[/FONT]
 
Ich hab den Eingang mit PEW angesprochen und per MOVE in eine WORD Variable geladen. Aber dabei kommt nur mist raus. Deshalb suche ich grad den Fehler und dachte, dass ich ne falsche Variablen deklaration genommen habe. Ich hab auch versucht mit PED in eine REAL Variable zu laden, aber das ging auch nicht...
 
Ich hab den Eingang mit PEW angesprochen und per MOVE in eine WORD Variable geladen. Aber dabei kommt nur mist raus. Deshalb suche ich grad den Fehler und dachte, dass ich ne falsche Variablen deklaration genommen habe. Ich hab auch versucht mit PED in eine REAL Variable zu laden, aber das ging auch nicht...

Ich würde das EW einlesen und dann in ein MW transferieren.
Dann das MD öffnen und dann einmal prüfen, was da drin steht.
Zunächst als HEX, dann als DINT
Denn real wird es nicht sein ;-)


bike
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Gerade so spontan ohne am Feierabend noch gross nachzudenken: War da nicht noch das Problem mit High-Byte und Low-Byte die bei der Siemens/Beckhoff getauscht sind?
 
Zurück
Oben