Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 4 von 4

Thema: Array (Feld) in Datei oder Textdatei schreiben und auslesen

  1. #1
    omignobi Gast

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo ich arbeite mit der WinCC Version 5.1 .

    Ich habe in meinem WinCC Programm als C Code das folgende Feld als lokale Variablen angelegt:
    WORD feld[15][531]
    Dieses wird einmalig dynamisch mit Werten von der CPU beschrieben. Wenn ich nun die WinCC Runtime neu starte dann ist der Inhalt dieses Feldes natürlich verloren. Deshalb möchte ich diesen Inhalt in eine Datei speichern und beim nächsten WinCC Runtime Anlauf wieder auslesen.
    Die Datei sollte beim ersten mal speichern auch noch automatisch erstellt werden.

    Kann mir da jemand helfen
    Zitieren Zitieren Gelöst: Array (Feld) in Datei oder Textdatei schreiben und auslesen  

  2. "Hallo,
    Da WinCC mit VBScript läuft (ich allerdings noch nicht das Vergnügen hatte, auf Dateien zurückgreifen zu müssen), hier mein Ansatz als VBScript-Variante:

    Code:
    Dim FSO, File, Element, Data
    
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set File = FSO.CreateTextFile("values.dat")
    Data = Array("NameSource1", "NameSourceN")
    
    For Each Element In Data
    	File.WriteLine(CStr(Element))
    Next
    
    File.Close
    Keine Ahnung, ob es funktioniert. Habe leider gerade kein Panel zum ausprobieren hier."


  3. #2
    Narayan Gast

    Standard

    Hallo,
    Da WinCC mit VBScript läuft (ich allerdings noch nicht das Vergnügen hatte, auf Dateien zurückgreifen zu müssen), hier mein Ansatz als VBScript-Variante:

    Code:
    Dim FSO, File, Element, Data
    
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set File = FSO.CreateTextFile("values.dat")
    Data = Array("NameSource1", "NameSourceN")
    
    For Each Element In Data
    	File.WriteLine(CStr(Element))
    Next
    
    File.Close
    Keine Ahnung, ob es funktioniert. Habe leider gerade kein Panel zum ausprobieren hier.

  4. #3
    omignobi Gast

    Standard

    Aber ich arbeite mit WinCC Version 5.1. Da kann ich leider keine Visual Basic Skripte einfügen. Sondern nur C Skripte.
    Zitieren Zitieren Danke für die Antwort  

  5. #4
    Registriert seit
    18.05.2005
    Beiträge
    12
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo

    Hier sind zwei Funktionen zum Schreiben und Lesen des Arrays. Die Methode ist zwar nicht rasend schnell, im Allgemeinen aber ausreichend.
    Code:
    void WriteArray(void)
    {
    
    	char *FileName = "C:\\Temp\\Array.dat";
    	WORD 	feld[15][531];
    	FILE	*myfile;
    	int		i, j;
    
    	myfile = fopen (FileName, "w");
    	if (myfile == NULL)
    	{
    		printf ("Error WriteArray: fopen() !\n");
    		return;
    	}
    
    	for &#40;i=0; i<15; i++&#41;
    		for &#40;j=0; j<531; j++&#41;
    			fprintf&#40;myfile, "%x\n", feld&#91;i&#93;&#91;j&#93;&#41;;
    
    	fclose&#40;myfile&#41;;
    	return;
    &#125;
    Code:
    void ReadArray&#40;void&#41;
    &#123;
    
    	char *FileName = "C&#58;\\Temp\\Array.dat";
    	WORD 	feld&#91;15&#93;&#91;531&#93;;
    	FILE	*myfile;
    	int	i, j;
    	WORD x;
    
    	myfile = fopen &#40;FileName, "r"&#41;;
    	if &#40;myfile == NULL&#41;
    	&#123;
    		printf &#40;"Error ReadArray&#58; fopen&#40;&#41; !\n"&#41;;
    		return;
    	&#125;
    
    	for &#40;i=0; i<15; i++&#41;
    		for &#40;j=0; j<531; j++&#41;
    		&#123;
    //			fscanf&#40;myfile, "%x", &feld&#91;i&#93;&#91;j&#93;&#41;;
    			fscanf&#40;myfile, "%x", &x&#41;;
    			feld&#91;i&#93;&#91;j&#93; = x;
    		&#125;
    	fclose&#40;myfile&#41;;
    	return;
    &#125;
    Warum die auskommentierte Zeile in der Lesefunktion (Alternative zu den beiden folgenden) einen GP-Fehler erzeugt ist mir nicht klar. Vielleicht kann mich jemand aufklären?

    Ulf

Ähnliche Themen

  1. Antworten: 11
    Letzter Beitrag: 01.09.2011, 20:24
  2. Antworten: 8
    Letzter Beitrag: 10.02.2011, 12:28
  3. Textdatei auslesen mit TwinCAT
    Von merlin im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 07.06.2010, 10:27
  4. Parameter schreiben oder auslesen????
    Von Manuris im Forum Feldbusse
    Antworten: 14
    Letzter Beitrag: 17.06.2009, 10:58
  5. Antworten: 5
    Letzter Beitrag: 15.09.2006, 20:43

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •