STRUCT an FB übergeben/übernehmen bzw. ARRAY in STRUCT kopieren

Elektricks

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

ich möchte den FbMbSimpleServerTCP nutzen um MOdbus Variablen zu lesen und zu schreiben.
Ich kann diese in ein ARRAY schreiben. Kein Problem. Die Aussagekraft einer einzelnen ARRAY-Variable lässt aber zu wünschen übrig. Daher würde ich es gerne in eine DUT oder GVL schreiben, wo ich die einzelnen Variablen bezeichnen kann wie ich möchte.

An den FB kann aber keine DUT direkt angehängt werden. Es kommt der Fehler "DUT kann nicht in Typ ARRAY of WORD konvertiert werden"
Kennt hier jemand eine Möglichkeit direkt ein DUT an einen FB zu hängen?

Andernfalls: wie kann ich ein ARRAY in eine DUT kopieren und andersherum?
Bei Siemens gibts da BLOCKMOVE... gibts das hier auch?
2017-04-20 17_24_29-VirtualBox.png2017-04-20 17_24_54-VirtualBox.png
Vielen Dank für eure Unterstützung!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
OK. Danke. ich benutze übrigens e!cockpit. DA nennt es sich MemCopy.
Ich habe nun aber noch das Problem den Pointer auf die Destinationvariable zu bekommen.
Beim Source kann ich einfach das Array ranziehen. Wie muss der Syntax, bzw der Pointer für die Destinationvariable aufgebaut sein, damit ich in eine Globale Variablentabelle zeigen kann?

pointer.PNGpointer2.jpg
 
Könntest du nicht ein Union definieren? Ein Parameter das Array und an den Funktionsbaustein übergeben und danach den Zugriff über das DUT (gleicher Speicherbereich) - dann hast du überhaupt kein Problem mit Kopieren.
 
Hallo,

der Vorschlag von Fakrae ist der eleganteste.
Bei einer bzw einem Union liegen alle angegebenen Variablen im gleichen Speicherbereich.
Du kannst somit Deine Struktur und das Array of Word im Union ablegen.
Über Modus wird das Array ausgetauscht und in Deinem Programm arbeitest Du mit Deiner Struktur.
 
Zurück
Oben