Analogwerte mit AS Interface / CP 342-2 P / S7-300

A

Anonymous

Guest
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

wir stellen uns jetzt mal ganz dumm.
Ich möchte eine Photovoltaikanlage per SPS Steuern, und verschiedene Messwerte aufnehmen. Dies geschiet mit dem AS-Interface Bus.
Ich habe eine CPU 313, einen CP 342-2 P und zwei digitale und ein analog Slave. Die Verarbeitung der digitalen Werte geschieht mit Lade- und Transferbefehlen, soweit alles klar.
Doch wie werden Analogwerte eingelesen, verarbeitet und wieder ausgegeben. Ich habe drei Analogwerte. Diese sollen im Feld (also am Slave) eingelesen und im Schaltschrank (Analogausgabebaugruppe) wieder ausgegeben werden.


Kann jemand helfen und Tipps geben? Gibt es vernünftige Literatur? Oder gute Seiten imInternet (deutsch)? Gibt es gar etwa ein "Kochrezept" dafür. Ich würde mich selbst als fortgeschrittenen Anfänger bezeichen.

Vielen Dank im Vorraus
 
Hallo
für die Analogwertverarbeitung nutzt man die SFC 59 und SFC 58. Die Parametrierung ist abhängig von den Adressen. Hier ein Beispiel für Analogeingänge:

call sfc 59 (Rd_rec)
Req:= True -> dauerndes einlesen der Daten
IOID:= B#16#54 -> fester Wert
Laddr:= W#16#100 -> Adresse des CP hier 256dez
Recnum:= B#16#8d ->Datensatznummer=141 entspricht Slave 5
Ret_Val:= MW14 -> Rückgabewert des SFC
Busy:= M9.2 -> Baustein ist am arbeiten
Record:= P#DB20.dbx64.0 Byte 8 ->Ziel der eingelesenen Daten

d.h. der erste Analogeingang liegt auf DB20.DBW64, der 2. auf DB20.DBW66 usw.

Gruß

Andreas
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Andreas und alle anderen Interessierten,

erstmal vielen dank. Doch was bedeuten:

fester Wert (welcher Wert ist das)

Rückgabewert (kann ich mir einen Merker ausuchen in den geschrieben wird)

Busy (was ist das für ein Merker)


Müssen denn alle Werte in hex eingegeben werden? Oder gehts auch dual.

Gibts denn irgendwo eine Übersicht über die Befehle. Wofür stehen die ganzen B´s und W´s in den Befehlen.

Gruß
Tobias
 
Hallo

B bedeutet Byte, W Bedeutet Word und gibt den Typ des einzutragenen Wertes an # 16 bedeutet Hexadezimal # hier kommt dann der Wert in Hex.

Fester Wert bedeutet, dass hier genau dieser Wert eingestellt werden muß und nichts anderes.

Als Rückgabewert brauchst du einen Bereich von 4 Worten bzw 8Byte (P#M100.0 Byte 8 könnte auch gehen) für diese Konfiguration mit einem Analog-Slave.

Der Merker bei busy ist von mir willkürlich gwählt worden und kann jedes andere Bit sein. Er zeigt an, dass gerade Daten gelesen werden.

Wenn du mir deine E-Mail-Adresse gibst schicke ich Dir das Handbuch. Da steht dieses Beispiel genauso drin.

Gruß

Andreas
 
Hallo
für die Analogwertverarbeitung nutzt man die SFC 59 und SFC 58. Die Parametrierung ist abhängig von den Adressen. Hier ein Beispiel für Analogeingänge:

call sfc 59 (Rd_rec)
Req:= True -> dauerndes einlesen der Daten
IOID:= B#16#54 -> fester Wert
Laddr:= W#16#100 -> Adresse des CP hier 256dez
Recnum:= B#16#8d ->Datensatznummer=141 entspricht Slave 5
Ret_Val:= MW14 -> Rückgabewert des SFC
Busy:= M9.2 -> Baustein ist am arbeiten
Record:= P#DB20.dbx64.0 Byte 8 ->Ziel der eingelesenen Daten

d.h. der erste Analogeingang liegt auf DB20.DBW64, der 2. auf DB20.DBW66 usw.

Gruß

Andreas

Hab hierzu ne kurze Frage. Wie kommt man darauf das Slave 5 gleich dem Datensatz 141 entspricht. Dazu muss es ja eine Liste geben wo ich das ablesen kann. Wo finde ich diese?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ich hätte da auch noch ne frage woher weiß ich denn den wert für laddr und recnum? ich ahb heir schon überall gesucht aber nichts gefunden?
 
LAddr ist die Anfangsadresse deines ASI-CP, findest du in der Hardware-Konfig.

Recnum findest du inkl. Programmbeispielen im Handbuch welches ich dir in deinem eigenen Thread nannte.

Mfg
 
meine cp hat den adressbereich von 288 - 301 also ist die laddr jetzt 288?
in der anleitung des cps hab ich da 3 tabellenspalten mit mehrere nummern stehen.
asi adresse/ ds140/ ds141/ds142
11/ 80−87 /48−55 /16−23
12 /88−95 /56−63 /24−31
was heißt das denn jetzt wenn ich mein analog in auf 11 und ao auf 12 hab welchen wert muss ich da nehmen.
danke für die hilfe
 
Zurück
Oben