Datensatz lesen

doretan

Level-1
Beiträge
37
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
hallo zusammen,

ich muss sogenannte datensätze aus der simatic s7 lesen.
habe dazu jetzt den sfc 59 "RD_REC" gefunden.
weiß jetzt leider überhaupt nicht wie ich das anwenden soll????!!! :confused:
ich nehme an ich erstelle einen "FC1"

wie rufe ich jetzt den SFC59 auf "RD_REC"

REQ soll aufruf zum lesen sein, soll hier ein Binäres signal darauf gelegt
werden???

IOID Kennung des Adreßbereichs: #54 eingang / #55 ausgang wie soll ich das jetzt verstehen????

LADDR ist klar, Busadresse des Teilnehmers

RECNUM Datensatznummer keine Ahnung wie wo was???!!!

RET_VAL sagt mir jetzt noch nichts denke aber hier könnte ein Fehlercode bei gescheitertem auslesen enthalten sein

BUSY ok

RECORD, hier kommt anscheinend die Anwort die dann in einen DBx reingeschrieben wird, aber wie muss hier die Befehlszeile sein?????



Bitte um eure Hilfe
Danke
 
Hallo
meinst du vieleicht Datensätze in einem Operator Panel aufrufen (lesen)?
Nach meinem Wissen geistern in der S7 CPU keine Datensätze herum.
Datensätze werden im Operator Panel (OP, TP, PC) gespeichert und bei Bedarf aufgerufen und in die CPU übertragen.

Beschreibe mal das Umfeld näher, normalerweise brauchst du dafür keine SFC´s oder SFB´s

MfG
Paul
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Stellt sich die Frage (ich hoffe du verstehst das nicht falsch) ob du dir das bei deinem fast nicht vorhandenen Grundwissen wirklich antuen solltest ...

An REQ musst du ein Bool anlegen, wenn das TRUE ist dann wird der Datensatz gelesen.
IOID sollte im Regelfall 54 sein.
LADDR ist die Logische Basisadresse der Baugruppe, diese hat überhaupt nichts mit der Busadresse zu tun,
im Normalfall ist das die niedrigste Adresse in der HW-Konfig des betreffenden Gerätes
RECNUM Steht im Handbuch der Baugruppe/Umrichter etc.
RET_VAL sind Fehlerinformationen, siehe Step7-Hilfe speziell zum SFC59, da sind die Codes aufgeschlüsselt
Busy Der Baustein tut gerade
Record Hier wird das was du entsprechend der div. Parameter gelesen hast reingeschrieben, und muss ein ANY-Pointer sein,
also z.B. P#DB10.DBB0 BYTE 100 oder halt etwas in der Form ...

Mfg
Manuel
 
Zuletzt bearbeitet:
Zurück
Oben