TIA JWFröhlich MPS250 per Profinet will 200Byte übertragen

ChristianVogel

Level-2
Beiträge
456
Reaktionspunkte
67
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich stelle mich anscheinend wieder etwas doof an, brauche daher einen gedanklichen Tritt aus dem Forum: Ich habe einen Lecktester der Firma JWFröhlich an dem ich mich grade verbeise. Dieser will laut GSDML einen Speicherbereich von 200Byte in den Ausgängen und de Eingängen übertragen. Ich habe konkret eine CPU S7-1214C im Einsatz, arbeite grade mit TIA18, diese CPU kann doch nur 64Byte übertragen, liege ich da richtig?

Aktuell habe ich mir einen FB gezaubert, wie ich es eben üblicherweise mit meiner dezentrlen Peripherie mache, bekomme nun natürlich in den Bausteinen DPRD-DAT und DPWR_DAT einen retVal von -32621 (16#8093), eine Kommunikation kommt damit natürlich nicht zustande.

In diesem Gerät ist so ein HMS-Umsetzer drinnen, der die Profinet-Kommunikation für das Gerä aufbereitet. Konkret brauche ich nur 2Byte Eingang und 2Byte Ausgangsdaten, die minimalen Module die mir der HW-Katalog gibt, haben aber 200Byte. Muss ich diese komplett nutzen?

1765627512666.png

Ich dachte erst ich hätte vielleicht eine falsche HW-Kennung verwendet...

1765627655378.png

bringe es aber irgendwie nicht hin...


Ich schwanke jetzt zwischen meinen Fehlern:
- Habe ich einen falschen Speicherbereich ausgewählt?
- Habe ich ggf. eine falsche GSDML-Datei?
(Die Kommunikation ist aber aufgebaut, ich kann den Watchdog auf meinem Eingang %I128.7 sehen!!!)
- Hat jemand von Euch so ein Gerät schonmal verbaut?

Vielen Dank schonmal für die Tips...

Gruß Christian
 
Spontan: warum benutzt du DPRD_DAT und DPWR_DAT? Sind bei der S7-1200 nicht automatisch alle E/A im Prozessabild? Da kann man ohne Umstände direkt auf die E/A-Adressen %Ixx.y und %Qxx.y zugreifen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Spontan: warum benutzt du DPRD_DAT und DPWR_DAT? Sind bei der S7-1200 nicht automatisch alle E/A im Prozessabild? Da kann man ohne Umstände direkt auf die E/A-Adressen %Ixx.y und %Qxx.y zugreifen.
Hi PN/DP,

nun, ich wollte mir wie für meine z.B. Temperaturregler etc. einen "sauberen Baustein" programmieren, damit ich beim nächsten Projekt (da sind 2 dieser Teile drin) nicht alles zu Fuß überarbeiten muss...
 
ich wollte mir wie für meine z.B. Temperaturregler etc. einen "sauberen Baustein" programmieren, damit ich beim nächsten Projekt (da sind 2 dieser Teile drin) nicht alles zu Fuß überarbeiten muss...

Denn leg dir einfach eine UDT für die Eingänge und eine UDT für die Ausgänge an.
Diese kannst du dann in der Symboltabelle jeweils auf die Startadresse des Lecksuchers legen.
Am Baustein kannst du dann die Ein- und Ausgänge als Parameter mit dem Typ der UDT übergeben.
 
Oder mach nen für UDT jeweils für Ein- und Ausgangsdaten, den Du neben der Variablendeklaration auch in einem DB als Deklaration verwendest. Dann per Move den gesamten UDT von und zum DB rangieren.
In der Variablendeklaration gibst du das erste Bit des Bereichs an und als Variablentyp den UDT.
 
Schonmal vielen Dank für die Vorschläge, aber was spricht denn GEGEN meine Methode einen FB zu bauen? zu altmodisch? Weil => meine eigene Bibliothek wächst und wächst, hatte bisher keine Probleme mit sowas, meine Programme waren bisher problemlos "wiederverwendbar".

Das eigentliche Problem besteht ja darin dass entweder der Sepicherbereich, die Speichergröße, oder ggf. die zusammenhängende Größe irgendwo einen Fehler verursacht. Der Fehler 8093 sagt ja aus, gemäß Siemens-Hilfe "Für die unter LADDR angegebene HW-Kennung existiert keine DP-Baugruppe / kein PROFINET IO-Device, von der/dem Sie konsistente Daten lesen können. Wenn die über LADDR adressierte Baugruppe nicht über Eingänge verfügt, tritt dieser Fehlercode auch auf." Ist doch bestimmt wieder eine Kleinigkeit...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
was spricht denn GEGEN meine Methode einen FB zu bauen?
es spricht doch niemand gegen deine FB, du sollst nur zum kopieren MOVE verwenden anstatt die unnötigen DPRD_DAT und DPWR_DAT
oder die E-UDT und A-UDT an die FB übergeben und im FB direkt auf die einzelnen Bestandteile zugreifen ohne alles vorher/nachher nochmal zu kopieren
 
es spricht doch niemand gegen deine FB, du sollst nur zum kopieren MOVE verwenden anstatt die unnötigen DPRD_DAT und DPWR_DAT
oder die E-UDT und A-UDT an die FB übergeben und im FB direkt auf die einzelnen Bestandteile zugreifen ohne alles vorher/nachher nochmal zu kopieren
naja, ich habe eben bisher die PEW und PAW in meinem FB in ein Struct füllen lassen, müsste ich mal probieren, was da "komfortabler" ist...
 
ich habe eben bisher die PEW und PAW in meinem FB in ein Struct füllen lassen
bei S7-1200 gibt/braucht es PEW und PAW eigentlich nicht mehr (nur noch wenn man es aus gutem Grund unbedingt so braucht)
man muss nicht ewig wie vor 20 Jahren programmieren

müsste ich mal probieren, was da "komfortabler" ist...
MOVE ist derselbe Aufwand wie DPRD_DAT und DPWR_DAT, nur ohne die Fehlermeldung
 
Zurück
Oben