-> Hier kostenlos registrieren
Hallo liebe Community,
hab gerade ein kleines Luxusproblemchen beim FTP - Client für die S7-1x00 (Variante ohne CP). Verwendete CPU ist eine 1512SP-F / TIA V15.1
Link zum Client von Siemens: https://support.industry.siemens.co...kommunikation-mit-s7-1200-1500?dti=0&lc=de-WW
Zwar läuft die Kommunikation mit den FTP Server ohne Probleme und ich kann auch mein Datenlogging in eine CSV schreiben, nur ist blöderweise die Nutzdatenlänge die ich schreiben will variabel. Der Client Baustein von Siemens überträgt aber immer den gesamten angeschalteten Nutzdatenbereich. ein 0 - Wert im Bytearray wird als Leerzeichen in eine Datei geschrieben.
Jetzt ist es zwar beim CSV Format nicht allzu tragisch, weil mittels den Trennzeichen die Formatierung im z.B. Excel trotzdem passt, jedoch blähe ich mit den überflüssigen Zeichen meine Log-Datei künstlich auf.
Am Baustein "Ftp1X00Cmd" werden die Nutzdaten am Parameter "ftpData" als Variant übergeben. (In meinen Fall ein Chararray) Dies ist ausreichend groß um die maximale Telegrammlänge aufzunehmen die ich schicken möchte. Nicht verwendete Zeichen nach den Carriage Return / Line Feed sind mit "'$00'" befüllt. (Also 0)
Meine Überlegung ist jetzt, ob ich solche Strukturen zur Laufzeit in der passenden Größe dynamisch erstellen bzw. übergeben kann?
In der Classic hätte das denk ich funktioniert mit einen selbst gebastelten Anyzeiger.
Ich hoffe ich habe mich halbwegs verständlich ausgedrückt und Dank euch für euere Ratschläge!
hab gerade ein kleines Luxusproblemchen beim FTP - Client für die S7-1x00 (Variante ohne CP). Verwendete CPU ist eine 1512SP-F / TIA V15.1
Link zum Client von Siemens: https://support.industry.siemens.co...kommunikation-mit-s7-1200-1500?dti=0&lc=de-WW
Zwar läuft die Kommunikation mit den FTP Server ohne Probleme und ich kann auch mein Datenlogging in eine CSV schreiben, nur ist blöderweise die Nutzdatenlänge die ich schreiben will variabel. Der Client Baustein von Siemens überträgt aber immer den gesamten angeschalteten Nutzdatenbereich. ein 0 - Wert im Bytearray wird als Leerzeichen in eine Datei geschrieben.
Jetzt ist es zwar beim CSV Format nicht allzu tragisch, weil mittels den Trennzeichen die Formatierung im z.B. Excel trotzdem passt, jedoch blähe ich mit den überflüssigen Zeichen meine Log-Datei künstlich auf.
Am Baustein "Ftp1X00Cmd" werden die Nutzdaten am Parameter "ftpData" als Variant übergeben. (In meinen Fall ein Chararray) Dies ist ausreichend groß um die maximale Telegrammlänge aufzunehmen die ich schicken möchte. Nicht verwendete Zeichen nach den Carriage Return / Line Feed sind mit "'$00'" befüllt. (Also 0)
Meine Überlegung ist jetzt, ob ich solche Strukturen zur Laufzeit in der passenden Größe dynamisch erstellen bzw. übergeben kann?
In der Classic hätte das denk ich funktioniert mit einen selbst gebastelten Anyzeiger.
Ich hoffe ich habe mich halbwegs verständlich ausgedrückt und Dank euch für euere Ratschläge!