TIA Daten über PB auslesen und direkt in DB schreiben

--alex--

Level-2
Beiträge
92
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Gruppe,

habe folgendes Problem.
Ich muss über Profibus Daten von einem Teilnehmer auslesen.
Der Teilnehmer hat Eingangs- und Ausgangsadressen
E-Adresse: 62 Word (23 ... 146)
A-Adresse: 2 Byte (23 ... 24)

Auf die A-Adresse schreiben ich welche Werte ich auslesen möchte.
Da gibt es verschieden Modi.
D.h. ich schreibe hier zB: "4" auf %QB23
Auf die E-Adressen bekomme ich dann die entsprechenden Werte.

Das funktioniert jetzt prinzipiell, aber leider noch ein wenig umständlich.
Ich habe mir dazu die entsprechenden Variablen in der Variablentabelle angelegt.
%IW24, %IW26, etc.

Möchte das ganze jetzt aber nicht über einzelne Variablen lösen sondern mit einem DB vereinfachen.
Diesen habe ich bereits angelegt, weiß aber nicht wie ich die Eingangsdaten direkt, ohne den Umweg über einzelne Variablen, in den DB schreiben kann.
Auch würde ich den "Modus" direkt aus dem DB an den Teilnehmer senden.

Hoffe ich habe mein Problem halbwegs verständlich dargestellt.

Vielleicht habt ihr einen Hinweis wie ich das lösen kann.
Danke für eure Hilfe.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
nicht wirklich ...

Vielleicht beschreibst du mal was du dann zurückbekommst und wohin du es dann (genau) schreiben willst ...
Ich bekomme die Werte auf:
%IW24, %IW26, %IW28, %IW30, %IW32 ... %IW146
D.h. ich habe auch so viele "Eingangsvariablen" angelegt.
Die Werte sind jeweils "Word" Werte und passen soweit auch.

Da ich jetzt aber noch weitere 7 gleiche Teilnehmer auslesen muss, möchte ich nicht alle Variablen anlegen, sondern, wenn möglich, die Werte die über den definierten Adressbereich reinkommen, direkt in meinen DB schreiben.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Da ich jetzt aber noch weitere 7 gleiche Teilnehmer auslesen muss, möchte ich nicht alle Variablen anlegen, sondern, wenn möglich, die Werte die über den definierten Adressbereich reinkommen, direkt in meinen DB schreiben.
Okay ...
Nun könntest du dir einen FB bauen, dem du die erste Adresse übergibst von der du Lesen willst und den Bereich im DB in den du scheiben willst.
Den rufst du dann 7 mal auf (mit jeweils geänderten Parametern).
Oder du machst es in einer Schleife - ich würde hier mit SCL arbeiten.
Oder du kombinierst das Eine und das Andere ...
 
Vielleicht erzählst du uns mal, um was für ein Profibus-Gerät es sich bei dir handelt und zeigst uns mal die Protokollbeschreibung, wie bestimmte Werte abgerufen werden müssen. Vielleicht lässt sich das Gerät auch so projektieren, dass die relevanten Werte im zyklischen Datenverkehr enthalten sind und gar nicht so kompliziert angefordert werden müssen? Vielleicht ist es auch generell günstiger, wenn man für den E-Bereich des Gerätes einen UDT erstellt, gleich mit den korrekten Datentypen. Dann braucht nicht für jedes "Word" eine eigene PLC-Variable angelegt werden.
 
Zurück
Oben