Hallo zusammen,
wie vermutlich von einigen bereits bemerkt bin ich noch libnodave Einsteiger und momentan hauptsächlich Anwender der Bibliothek und beginne erst langsam Stück für Stück hinter die Kulissen zu spickeln.
Der ReadRequest von multiblen Variablen ist bei der von meiner verwendeten Test SPS S7 317 2DP/PN mit max 19Variablen begrenzt. Beim schreiben von multiblen Variablen via "dc.execWriteRequest(multiwritePDU01, rs)" musste ich heute feststellen, dass hier bereits bei 12 Variablen Schluss ist. Dies mag vermutlich darin begründet sein, dass der Poll mehr Informationen beinhaltet und deswegen nicht so viele Variablen aufgenommen werden können.
Testweise schreibe ich nun, da ich eine schnelle Lösung (programmiertechisch) brauchte, die Daten mit einzelnen Kommandos via
dc.writeBytes(nArea, nDBnr, nByteAdr, nDataLength, Buffer)
in die SPS, jedoch ist dies performance mässig gesehen nicht die optimalste Lösung, vor allem nicht wenn man um die 20 nicht zusammenhängende Variablen zyklisch (mehrfach pro Sekunde) in die SPS schreiben möchte.
Aus diesem Grund möchte ich die Variablen auf zwei multible WriteRequests aufteilen. Ziel ist es jedoch hierfür KEINE zweite Verbindung (PDU) zur SPS aufzubauen, sondern nur eine PDU zu verwenden.
Gibt es hier dann eine Möglichkeit, dass die Funktion multiwritePDU01.addVarToWriteRequest(nArea, nDBnr, nByteAdr, nDataLength, Buffer) nicht bei jedem Schreibauftrag x mal aufgerufen werden muss, sondern die Variablen inklusive dem zu jeweils zu schreibenen Wert in eine Struktur geschrieben wird, und dann diese Struktur dem WriteRequest zugewiesen wird? Wie müsste dies dann aussehen?
Danke bereits im voraus.
Gruss,
bool