daten aus analogmudul umwandeln

fra

Level-1
Beiträge
14
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
hallo, hab mal folgende frage:

also ich will mit nem alten analogeinlesemodul em 231 den wert in einer cpu 214 umwandeln zur weiterverarbeitung in real.
bei s7-300 sieht das so aus was ich machen möchte:

L PEW xxx
ITD
DTR
L 55.296
/R
T MD 400

aber wie geht das bei ner 200 cpu das ist im step 7 microwin nicht möglich also ausge-Xt? wie kann ich denn da analoge werte bearbeiten??

mfg rocco
 
Code:
LD     SM0.0
ITD    AEW2, AC0
DTR    AC0, AC0
/R     55.296, AC0
MOVR   AC0, VD400

oder

LD     SM0.0
ITD    AEW2, AC0
DTR    AC0, AC0
MOVR   AC0, VD400
/R     55.296, VD400

Tip: programmiere in FUP- oder KOP-Ansicht. S7-200-AWL ist für Anfänger zu schwer.

Harald
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
vielen dank! aber das problem ist aber das die umwandlung itd und dtr nicht möglich sind bei der cpu 214 in wicrowin gibts da ne alternative? oder verstehe ich die roten X
falsch?

mfg rocco
 
Ach so, DIESE roten X meinst Du ... Ja, diese Operationen werden nicht unterstützt.
-> Oben im Projektbaum den korrekten CPU-Typ einstellen, dann übersetzen -> unten im Ausgabefenster werden die nicht unterstützten Operationen aufgeführt -> Doppelklick auf Fehlerzeile springt zur fehlerhaften Programmstelle
Programmbaustein wird übersetzt...
MAIN (OB1)
Netzwerk 1, Zeile 2, FEHLER 11: Diese Operation wird von dem gewählten Typ des Zielsystems nicht unterstützt.
SBR_0 (SBR0)
INT_0 (INT0)
Bausteingröße = 0 (Bytes), 1 Fehler
Für Deine ältere CPU 214 siehe auch
Hilfethemen > Operationssätze in KOP, AWL und FUP > Unterstützte Operationen der S7-200 CPUs > Operationen der CPUs S7-21x

Die CPU 21x können noch kein ITD.
(Kann es sein, daß die Analogwerte alle nur positiv 0...32000 sein konnten?)
Egal, probiere folgendes:
Code:
//AEW nur positive Werte 0...+32767 :
LD     SM0.0
MOVW   AEW2, AC0
DTR    AC0, AC0
/R     55.296, AC0
MOVR   AC0, VD400

//falls auch negative Werte -32768...+32767 :
LD     SM0.0
LPS
MOVW   AEW2, AC0
UD>=   AC0, 32768
ORD    16#FFFF0000, AC0
LRD
DTR    AC0, AC0
LRD
/R     55.296, AC0
LPP
MOVR   AC0, VD400

Harald
 
DTR geht auch nicht? Deine CPU 214 hat tatsächlich eine Firmware < V1.0?
Dann kennt diese CPU gar kein REAL und Gleitpunktarithmetik geht überhaupt nicht mit dieser CPU. Du müsstest alles in Festpunktarithmetik lösen.

Harald
 
Warum 32000 und nicht von 0 bis 27648 wie üblich bei Siemens?
Weil die S7-200 ursprünglich von TI stammt und Herr Siemens nur seinen Name draufgeklebt hat ...

Systemhandbuch Automatisierungssystem S7-200, CPU21x (1998, C79000-G7000-C230-02)
A.33 Erweiterungsmodul EM 231, Analogeingabe AE 3 x 12 Bit, 6ES7 231-0HC00-0XA0
Datenwortformat[SUP]2[/SUP] : einpolig, Vollbereich 0 bis 32000
[SUP]2[/SUP] Datenwort: 8 Zählimpulse pro Inkrement, linksbündige Werte, siehe Bild A-35

Harald
 
Zurück
Oben