Vai al contenuto

Domande sul modulo CPU CODESYS IEC61131-3

Home Forum Obsoleti SlimLine (CODESYS) Domande sul modulo CPU CODESYS IEC61131-3

Stai visualizzando 3 post - dal 1 a 3 (di 3 totali)
  • Autore
    Post
  • #35673
    Claudio
    Partecipante

    Stò utilizzando il modulo CPU CODESYS IEC61131-3 e volevo porre alcune domande:

    – E’ vero che di una SDCard da 4 Giga in realtà sono utilizzabili solo 512 Mega ?
    – Ho visto che il PLC ha una presa USB grande. E’ per caso possibile infilarci una chiavetta USB e leggere/scrivere ?
    – Si possono usare/creare cartelle e sottocartelle nel file system ?
    – Ai file si accede con Sysfopen(), per accedere alla SDCard il path è “SDCard:MioFile.abc” ?
    – Devo fare un solo file o posso farne più di uno ?
    – E’ sfruttabile la memoria interna di 64k (EEPROM) ?
    – E’ vero che non bisogna aprire e chiudere il file in continuazione per non rovinare dopo n cicli la memoria ?

    #38530
    Massimo
    Moderatore

    Per quanto riguarda le SDCard ecco le informazioni:

    – Non sono supportate le SDXC.
    – Sono supportate le SDHC tra cui: Sandisk Ultra II SDHC 4GB Class 2 e SDHC 8GB Class 2, Kingston SDHC 16 GB Class 4.
    – Abbiamo testato una SDHC da 4GB formattata da PC in FAT32, puoi formattarla anche FAT ma non riusciresti a “vedere” i 4GB.
    – Quando la inserisci, nel sistema avrai a disposizione un disco in più (Drive “B”).

    Puoi verificare il funzionamento della SDCard connettendoti in Telnet o in FTP. Fai riferimento al manuale MNL170A010 in cui si parla del programma ChipTool, ma per telnet puoi usare anche Toolly e per FTP quello che vuoi (es.: Explora risorse di windows o Filezilla).

    Nel connettore USB tipo A (Quello grande), puoi inserire un pen drive, verrà visto come disco “D”.

    Ricapitolando:

    – Il sistema disposizione del disco “A” dove carichi il programma PLC, puoi utilizzarlo anche per i tuoi files.
    – Se inserisci SDCard e pen drive, hai 3 dischi disponibili (Drives “A”, “B”, “D”).
    – Il limite che indicavi di 512MB vale solo per le CPU SlimLine ARM7.
    – Si possono usare nomi lunghi se il filesystem con cui hai formattato la SDCard o pen drive lo supportano.
    – Con Sysfopen puoi sia usare cartelle e sottocartelle. Se usi Sysfopen(‘B:MyDirMyFile.txt’, “r”) e MyDir non esiste dà errore Sysfopen.
    – Per creare le cartelle devi  utilizzare FTP, o da runtime usare la funzione Codesys (es.: SysDirCreate).
    – E’ possibile aprire più files contemporanamente sino a quando il sistema non dà errore di apertura.

    #38531
    Massimo
    Moderatore

    Aggiungo un suggerimento su come operare sul file system, è corretto non continuare ad aprire e chiudere il file per evitare di consumare il numero di scritture del dispositivo (sia disco A  che B, che C). In tal caso se il file lo lasci aperto, ti conviene comunque chiuderlo una volta ogni tanto. Se, mentre il file è aperto, togli alimentazione, verrà chiuso dal sistema operativo in modo da avere un file integro alla riaccensione. Chiaramente se manca tensione mentre stai scrivendo una grande quantità di dati, alla riaccensione tale file probabilmente non conterrà tutti i dati che stavi scrivendo.

    Ecco un esempio di append di un carattere in un file:

    VAR
      PClosed: BOOL; (* Port closed *)
      Fp: FILEP; (* File pointer *)
      Ch: INT;
    END_VAR

    (* Here the file is opened in append. *)

    IF (Fp = NULL) THEN
      Fp:=Sysfopen(‘A:MyDirMyFile.txt’, ‘a’); (* Open file in append *)
    END_IF;

    IF (SysIsFOpen(Fp)) THEN
      Ch:=Sysfputc(16#45, Fp); (* Write character ‘E’ *)
      PClosed:=(Sysfclose(Fp) <> EOF); (* Port closed *)
      Fp:=NULL;
    END_IF;

Stai visualizzando 3 post - dal 1 a 3 (di 3 totali)
  • Devi essere connesso per rispondere a questo topic.