TIA Daten Konsistent einlesen

Stefan592

Level-2
Beiträge
109
Reaktionspunkte
25
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich möchte einen Keyence Laser-Profilsensor in die Anlage einbinden. Der Sensor ist über Profinet mit der SPS verbunden und stellt relativ viele Werte über den Bus bereit.

Nun habe ich mir für die Eingangs- und Ausgangsbytes jeweils einen UDT erstellt. Diesen UDT möchte ich Lokal in einem FB (Kommunikations-FB zum Sensor) schreiben.
Dafür wollte ich "DPRD_DAT" benutzen. Allerdings gibt die Funktion mir folgenden Fehler zurück:

Code:
[TABLE="class: table_default, width: 100%"]
[TR]
[TD]8092
[/TD]
[TD]Am Parameter RECORD wurde ein anderer Datentyp als (Array of) Bitfolge oder Ganzzahl angegeben.
[/TD]
[/TR]
[/TABLE]

Da ich die absoluten EA-Adressen des Sensors ungern benutzen möchte, habe ich die Daten nun über einen Umweg ausgelesen

- Nicht optimierten DB mit dem UDT
- Daten mit "DPRD_DAT" in den DB einlesen
- Daten in optimierten temporären Bereich des FB's kopieren


Das ist aber nicht die Lösung. Gibt es eine Möglichkeit die Daten direkt in den Optimierten UDT einzulesen?

Eckdaten:
S7-1214
Keyence LJ-V7300


DB.PNGFB.PNGHardware.jpg


Stefan
 
Die Fehlermeldung passt zwar nicht zu dem was ich vermute, aber laut Handbuch kann eine 1214 kann nur 64 Byte konsistent lesen.

S7 1214.jpg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich lese die Daten in ein Array und schiebe sie dann in die Struktur.
Am besten ein Array of DWORD und dann so viele Elemente das alles rein passt.
Kannst dann ja auch sliced auf die Bits oder INT zugreifen.

Gruß

Jens
 
Bei der 1200er würde ich den Umstand mit DPRD sowieso nicht machen,
einfach in die Variablentabelle mit deinen UDT nutzen und Starteingang (E100.0) ... und fertich.
Konsistent ist das ganze durch das Prozessabbild dann noch so nebenbei.
Wenn du deine EA-Adressen dabei noch zusammenschiebst, dann kannst du alle Daten in einen Rutsch anlegen.

Mfg
Manuel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich würde es auch machen wie MSB.
Alternativ kannst du auch das EW100 nutzen und in einem Baustein aufdröseln.

Das mit dem UDT in der Variablentabelle nutze ich beispielsweise für Umrichterkommunikation mit dem G120, zumindest für das SafeTelegramm 30.
 
Zurück
Oben