Vai al contenuto

Risposte nei forum create

Stai visualizzando 15 post - dal 1 a 15 (di 104 totali)
  • Autore
    Post
  • in risposta a: Informazioni su comunicazione CANOpen #71655
    Rubox
    Partecipante

    Ho aggiornato LogicLab e le librerie all’ultima versione.
    I programmi fatti con le versioni precedenti danno problemi di compilazione.
    La CPU è XUnified, nel progetto ho inserito le librerie eLLabCommonLib, eLLabDTimeAdjLib (funzioni e valori data/tempo non compilavano senza), eLLabObsoleteLib (per usare Modbus_Master_v1).

    Però ottengo ancora errori X4097 Recursive POU su varie funzioni e non riesco a capire come ovviare al tutto.

    Come mai in LogicLab il menù “Importa oggetti” non è più disponibile? Si deve collegare l’intera libreria per usare un oggetto, ad esempio EmailSender, o lo stesso ModbusMaster?

    in risposta a: Informazioni su comunicazione CANOpen #71454
    Rubox
    Partecipante

    Avevo impostato il progetto per XUnified, ma qualcosa deve esser andato storto. Ho ricreato il progetto per XUnified e quegli errori sono spariti.

    Adesso quando compilo ottengo l’errore:
    CANOpenSniffer (47) – errore A4107: SysTimeGetMs -> Funzione non trovata
    CANOpenSniffer (52) – errore A4107: SysTimeGetMs -> Funzione non trovata

    Nel progetto ho incluso la libreria eLLabCANOpenLib, e sono inserite dal LogicLab le librerie eLLabCommonLib e eLLabXUnified12Lib. Nella libreria eLLabUnified12Lib sotto la cartella DateTime è presente la funzione, ma non capisco cosa sbaglio ancora.

    Allo stesso modo in CANOpenMNode ho svariati errori A4107 per la funzione SysTimeGetMs non trovata.

    in risposta a: Informazioni su comunicazione CANOpen #71407
    Rubox
    Partecipante

    Provando l’esempio BeckhoffBK5100 alla riga dove si esegue MNode ottengo sei degli errori X4097 SysVsnprintf-> Recursive POU, relativi anche a SysSpyData e altre funzioni “printf”.

    in risposta a: Informazioni su comunicazione CANOpen #71405
    Rubox
    Partecipante

    Grazie per le informazioni.
    Ho prima di tutto aggiornato sia LogicLab che le librerie.

    Volevo replicare l’esempio che esegue lo sniffer utilizzando l’oggetto CANOpenSniffer, ma in compilazione ottengo l’errore A4109 -> Tipo oggetto base non valido.

    Nell’albero delle librerie l’oggetto ha un pallino rosso ed è in grigio scuro (come disabilitato).

    Dove sbaglio?

    in risposta a: Utilizzo programma eLLabUpdater per aggiornare le librerie #69661
    Rubox
    Partecipante

    Grazie per l’informazione.
    Mi sa che è necessario anche aggiornare LogicLab all’ultima versione poiché i blocchi funzione che scarica con l’aggiornamento automatico danno un avviso di compatibilità.

    in risposta a: Datalogger con connessione FTP #64040
    Rubox
    Partecipante

    Ho provato ad abbassare il valore di MTU ma non risolve in questo caso. Nell’elenco degli errori mi trovo la seguente stringa:

    [SFR052][3020] Fct:eFGetOSpace [0x00000000]

    E blocca la connessione sempre alla stessa quantità di dati:

    18:22:27.797260| FTPClient:Lg|Data transfer start
    18:22:43.185233| FTPClient:Lg|Sent:53248 bytes of data
    18:22:43.187474| FTPClient:Er|Error:10063215, on CaseNr:513.

    Ho provato anche la nuova versione di FTPClient ma senza successo.

    Il file da trasferire è un 1MByte, ma si blocca sempre alla medesima dimensione, e questa dimensione dipende ma DBSize che imposto in FTPClient.

    C’è qualcosa che sbaglio ma non riesco a venirne a capo.

    in risposta a: Datalogger con connessione FTP #63947
    Rubox
    Partecipante

    Non so dove sbaglio, ma quando do il comando per cambiare il valore di MTU, la console mi risponde con un Wrong command parameter.

    in risposta a: Datalogger con connessione FTP #63937
    Rubox
    Partecipante

    Il server FTP è lo stesso per tutti i sistemi, e allo scoccare della mezzanotte i vari sistemi spediscono il file.
    Ogni sistema ha un suo account utente per l’FTP, ogni utente ha 10 connessioni simultanee possibili.
    Le connessioni sono realizzate tutte con modem/router 4G con SIM M2M.

    Non riesco a provare a far spedire file di grosse dimensioni agli altri sistemi perché non li posso fermare, o rischiare di fermarli. Posso però provare su quello che non funziona a spedire file più piccoli (mi ritorna domani in ufficio), e poi a modificare il valore MTU del sistema.

    Sto anche approntando un programmino semplice che prenda un file dalla scheda e lo spedisca via FTP senza che ci siano altre connessioni in rete (HTTP con richieste POST e EmailSend).

    in risposta a: Datalogger con connessione FTP #63933
    Rubox
    Partecipante

    La cosa che trovo strana è che il server mi chiuda la comunicazione solo su questo sistema: sono 4 sistemi identici (stesse CPU, con lo stesso programma utilizzando le stesse versioni delle librerie): 3 spediscono i file senza problemi, il quarto no.

    C’è un qualche limite sulla dimensione del file trasferibile?
    Sul server FTP non ho imposto nessuna restrizione, ma potrebbe essere l’unica differenza tra questo sistema e gli altri.

    in risposta a: Datalogger con connessione FTP #63930
    Rubox
    Partecipante

    Su uno dei sistemi Slimline sto avendo l’errore 10063215. Ho inteso che è relativo a FTPClient da console di spionaggio, ma non trovo riferimento nell’elenco degli errori a cosa può essere dovuto.

    Altri 3 sistemi usano lo stesso programma e funzionano egregiamente, mentre questo si connette al server FTP, inizia il trasferimento, ma non lo porta mai a buon fine.

    L’unica differenza è che il file che deve trasferire è molto più grande degli altri. Mi può cortesemente dire a cosa si riferisce l’errore che cerco di trovare la soluzione?

    in risposta a: Caratteristiche di memoria dei sistemi #63467
    Rubox
    Partecipante

    Adesso il mio dubbio è questo: se non c’è spazio per i buffer rischio che determinate azioni non siano mai eseguite.

    C’è un comando che fornisca le stesse informazioni della console nel programma?

    In questo modo si potrebbe verificare quanta memoria è possibile richiedere e adeguare il comportamento. Per un corpo di una email si potrebbe optare per un messaggio più breve, ad esempio.

    in risposta a: Caratteristiche di memoria dei sistemi #63457
    Rubox
    Partecipante

    Grazie, non avevo visto la sezione “Note” sulla pagina del manuale online.

    L’esecuzione della funzione SysRMalloc è “immediata”? Nel senso: quando richiamo la funzione ottengo subito lo spazio di memoria (o la mancanza di spazio) nello stesso loop di esecuzione, oppure la risposta del sistema operativo può arrivare anche nei loop successivi? (un po’ come succede con le comunicazioni di rete che impiegano del tempo per esser stabilite).

    Avendo bisogno di un buffer in quasi tutti i POU è meglio allocarne uno con SysRMalloc nella task boot e poi utilizzarlo nelle varie POU, oppure allocare e liberare a inizio e fine di ogni singolo POU?

    in risposta a: Caratteristiche di memoria dei sistemi #63404
    Rubox
    Partecipante

    Quindi avendo la necessità di due buffer di 6000 caratteri per spedire i valori in una mail conviene allocare memoria con SysRMalloc all’inizio del POU dove viene generato il corpo della email, inserire il tutto nel file FIFO e liberare la memoria allocata ad ogni ciclo di scrittura?

    A questo punto invece di definire un buffer a livello locale nello spazio di memoria dei dati è meglio allocarlo quando serve e liberarlo?
    La memoria di sistema a cui attinge SysRMalloc la trovo indicata sul datasheet sotto quale voce?

    Oppure come faccio per sapere quanta memoria c’è?

    in risposta a: Caratteristiche di memoria dei sistemi #63394
    Rubox
    Partecipante

    Mi sto ponendo domande su com’è meglio utilizzare la memoria per i dati di un sistema Slimline MPS054.
    Avendo più POU che magari definiscono lo stesso FB, oppure delle variabili dello stesso tipo, conviene definirne una a livello globale che poi si andrà a valorizzare nel POU, oppure conviene definirne una per ogni POU?

    Ad esempio il blocco funzione che restituisce data e ora di sistema,  gli stessi blocchi FIFOFile che utilizzo in più parti del programma (qui utilizzerei un solo FB, ma ovviamente tanti indici quanti sono i FIFOFile) possono essere definiti una volta a livello globale e poi utilizzati?

    Immagino che i blocchi HTTPClient, ModbusMaster e tutti i blocchi che inviano qualcosa e aspettano la risposta debbano invece essere “univoci” all’interno del POU (tutte le comunicazioni di rete).

    in risposta a: Gestione registro FIFO per log dati #63392
    Rubox
    Partecipante

    Mi sono ritrovato con DataOn con valore false, FIFOSize a 100.000 come è definito nel programma e FIFOSpace a 252. I record che inserisco nel FIFO sono lunghi 300, quindi non trovando più spazio non sono stati scritti (gli indici FIFOIdx erano differenti). Stavo per scaricare il file del FIFO e controllare altri valori quando chi era in remoto ha tolgo e rimesso alimentazione, impedendomi di vedere i vari valori di debug.

    Ho aumentato la dimensione del file FIFO e adesso mi “punto la sveglia”: quando la dimensione del file sarà quasi quella massima mi collego al PLC e controllo i valori di indici e tutto il resto.

    Per i valori mancanti li ho caricati con un piccolo script nel DB del server dai file di log presenti sulla SD del PLC.

Stai visualizzando 15 post - dal 1 a 15 (di 104 totali)