Wincc- In "C" Dateien, verschieben, kopieren, löschen?

Bosga

Level-1
Beiträge
21
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich habe in WinCC ein C-Skript geschrieben welches eine Datei(Txt und CSV) erzeugt und mit bestimmten Werten der S7 befüllt.Abhängig von der Systemzeit...
Das klappt alles auch soweit.Nur leider finde ich keine Fuktion welche die erzeugte Datei verschiebt, kopiert oder löscht.
Habt ihr eine Idee?

Gruß
Bosga
 
Anbei mein funktionierender C-Code. Hoffe Ihr könnt ihn mal einsetzen!

#include "apdefap.h"

int gscAction( void )
{
#pragma code ("Kernel32.dll");
#pragma code ();


static char FileName[64];
float fval[16]; // Ändern auf die
char szTagName[256];
char buffer [256]; // Buffer für auslesen der Lokalzeit
char buffer1[256];
char buffer2[256];
char buffer3[256];
char Computer[16];
char szHeader1[256]="Wert\Sicherung \r \n" ; //Wird später in der erzeugten Ausgabedatei mit angezeigt


int i;
int iMinute;
int Min;

time_t rawtime;
struct tm * timeinfo;
FILE *stream;

time (&rawtime);
timeinfo = localtime (&rawtime); //Hier wird die Systemzeit ausgelesen

strftime (buffer,80,"%M",timeinfo); //Hier werden die Minuten aus der Lokalzeit ausgegeben
iMinute = atoi(buffer); //Atoi = Ascii to Int

strcpy(szTagName, "S7-Programm(2)/DB-SOLL.Wert"); // Kopiert den Quellstring "a." in Zielstring szTagName
fval[0] = GetTagFloat(szTagName); // Beschreibt den internen Puffer -> Arrayfeld 0


if (iMinute > 0 && iMinute < 5 )
{
//Waage 1
strftime(FileName,256,"C:\\REPORT\\Wert-%Y-%m-%d-%H-00.CSV",timeinfo); //Muss auf den genauen Speicherpfad abgeändert werden
stream = fopen(FileName, "a"); //Create new File
//fprintf(stream,szHeader1);
strftime (buffer,256,"%Y-%m-%d %H:%M h", timeinfo);
sprintf(buffer1, " %s\t %4.1f kg \r\n", buffer,fval[0]); //Stream Print Formatierung
fprintf(stream,buffer1);
fclose(stream);

//Wie kann ich ab hier die erzeugte Datei verschieben,kopieren,löschen?
}
return 0;
}
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
??????

ich habe nicht viel/garkeine ahnung von C :D.

ABER deine aufgabe würde ich ganz anders lösen.

1) zeiten kannst du zwischen wincc und cpu synchronisieren.
2) diese zeit kannst du in CE.VB-scripte benutzen.
(Date, Time, usw)
3) mit VB-scripten kannst du dateinen verlängern oder auf vorhanden sein kontrolieren. daraus ergibt sich die möglichkeit eine datei mit datumsstempel zu erzeugen.
4) deine aufgabe ist somit nur ein "archiv"(sofern ich es richtig verstanden haben)

ich bin leider auf weihnachtsrundreise und habe auf diesem laptop kein wincc.
wenn du beispiele oder noch hilfe brauchst, antworte auf dem post und ich schicke dir am montag, wie ich die aufgaben löse......



gruss Fanta-Er


edit: geht es um wincc oder winccflexible??
 
Zuletzt bearbeitet:
Zurück
Oben