Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 1,516 a 1,530 (di 4,395 totali)
  • Autore
    Post
  • in risposta a: Nuovo blocco funzione per invio eMail #51311
    Sergio Bertana
    Amministratore del forum

    Il problema a cui ti riferisci è legato all’utilizzo di memorie EEPROM e FLASH, ma sulla famiglia SlimLine ARM7 e CortexM7 la memoria utilizzata per lo storage dei dati RETAIN è una memoria FRAM che ha cicli di scrittura infiniti.

    La considerazione sul numero di cicli và fatta nel caso appoggi il FIFO su di un file, se utilizzi la memoria FLASH presente nei sistemi ARM7 e CortexM7 per apopoggiare il file devi considerare il numero di cicli di scrittura che sono dell’ordine di cenntinaia di migliaia per ogni settore. Ma considerando che un file su disco occupa molti settori il numero di cicli và moltiplicato per il numero di settori utilizzati. Quindi più grande è il file maggiore è il numero di cicli possibili.

    Discorso a parte è per la SDCard, se utilizzi chip con la gestiore del wear leveling la scrittura è automaticamente spalmata su tutti i settori della scheda aumentando moltissimo il numero di cicli di scrittura. Questa è la stessa tecnica utilizzata nel dischi SSD per il PC.

    in risposta a: Nuovo blocco funzione per invio eMail #51282
    Sergio Bertana
    Amministratore del forum

    Si per non perdere i dati salvati nel FIFO allo spegnimento FIFOIDx deve essere RETAIN, ed i dati devono essere appoggiati su di un file.

    Se non indichi il file di appoggio i dati sono salvati in memoria e non importa come è definito FIFOIDx perchè vengono comunque persi.

    Il file è sempre lo stesso perchè contiene i dati salvati al suo interno. Se hai definito FIFOIDx RETAIN la scrittura continua dal punto corretto, se non è RETAIN la scrittura inizia dall’inizio del file.

    in risposta a: Eseguire Ping di un indirizzo IP per testare comunicazione #51280
    Sergio Bertana
    Amministratore del forum

    Si quello che posso ipotizzare è che usi due server DNS diversi e quello del PC risolve l’URL mentre quello settato sullo SlimLine non lo risolve.

    in risposta a: Eseguire Ping di un indirizzo IP per testare comunicazione #51278
    Sergio Bertana
    Amministratore del forum

    ANCOUNT, specifying the number of answer entries.

    Nella risposta un server DNS può per lo stesso domain rispondere con più  IP e per ognuno di essi oltre all’IP vi saranno anche gli altri dati (es. TTL etc). Il nostro client DNS considera sempre il primo IP ritornato.

    Il fatto che ritorni ANCOUNT 0, vuol dire che non sono stati ritornati indirizzi IP per quell’URL. Ora mi viene spontanea una domanda ma il server DNS settato sul tuo PC e che risponde correttamente è lo stesso server DNS settato sullo SlimLine ?

    Se hai impostato lo stesso server DNS sia sul PC che sullo SlimLine e lo SlimLine riceve ANCOUNT 0 potresti indicarmi l’URL che stai pingando (Se vuoi anche inviandolo in privato a support).

    in risposta a: Eseguire Ping di un indirizzo IP per testare comunicazione #51197
    Sergio Bertana
    Amministratore del forum

    Ma non ho capito se hai provato a dare il comando di Ping dalla connessione Telnet con lo SlimLine, e se è proprio il comando di Ping da Telnet che và in errore.

    Poi mi dici che il Ping dal PC (Finestra DOS) funziona, ma tu pinghi l’URL o pinghi lo stesso IP che ti ha restitutito la richiesta DNS fatta con il FB DNSRequest ?

    Alla richiesta DNS si possono ricevere più indirizzi IP per i vari servizi attivi sullo stesso URL, il FB DNSRequest ritorna sempre il primo IP ritornato e magari tu pinghi un IP su cui non è attivo il server ICMP.

    in risposta a: Aggiornamento programma su PLC cliente #51194
    Sergio Bertana
    Amministratore del forum

    Si certo eseguendo il forward (o NAT) della porta Modbus 502 sul router e disponendo di un indirizzo IP pubblico si può programmarlo da remoto (Vedi topic).

    Naturalmente con EasyAcces non occorre modificare il router di connessione Internet e garantisce un accesso criptato oltre che al pannello anche al PLC collegato.

    in risposta a: Aggiornamento programma su PLC cliente #51192
    Sergio Bertana
    Amministratore del forum

    La protezione del programma è un problema spinoso, da una parte il cliente f inale vorrebbe avere la massima flessibilità sul programma e dall’altra chi ha sviluppato l’applicazione ha la necessità di proteggersi dalle copie.

    Proteggersi perchè molte volte il costo dello sviluppo viene spalmato su forniture successive e quindi è importante poter verificare l’acquisto del prodotto. Altre volte il cliente ha pagato un costo di sviluppo ridotto in quanto lo sviluppatore ha utilizzato parti di programma già sviluppate che  fanno parte del suo know-how e che non può “regalare” al cliente.

    I nostri sistemi hanno dei meccanismi per la protezione del software (Vedi post, post), in generale si tende a criptare le parti di programma nobili e si controlla se il dispositivo in cui il programma viene eseguito ha un identificativo particolare. Con queste verifiche si può dare al cliente l’intero progetto lasciandogli così la libertà di modificarlo nelle parti meno nobili (non criptate).

    Questa soluzione permette di inviare al cliente il progetto anche via mail e permette a lui di poterne conservare copia.

    in risposta a: Aggiornamento programma su PLC cliente #51134
    Sergio Bertana
    Amministratore del forum

    Per l’aggiornamento e debug del programma direttamente sul PLC montato sul campo i clienti che hanno sull’impianto oltre al PLC anche il pannello operatore Weintek, utilizzano l funzionalità EasyAccess per accedere direttamente via Internet al PLC ed eseguirne la programmazione accedendo direttamente via IP al dispositivo.

    Se invece puoi accedere solo con sistemi di desktop remoto (Esempio TeamViewer), puoi utilizzare il programma LogicLab Loader. Si tratta comunque di un programma da installare sul PC del cliente che permette il solo trasferimento del programma senza alcuna possibilità di modifica.

    in risposta a: Eseguire Ping di un indirizzo IP per testare comunicazione #51113
    Sergio Bertana
    Amministratore del forum

    Immagino che devi pingare un indirizzo IP che è fuori dalla tua rete, hai impostato correttamente il Gateway sullo SlimLine ?

    Ed il gateway è pingabile dello SlimLine ?

    in risposta a: Accesso a file Logs.txt #51076
    Sergio Bertana
    Amministratore del forum

    Con il nuovo file system il web server può accedere solo ai files ed alle cartelle che sono contenute nella cartella definita come root del servizio (Vedi articolo), quindi trovandosi  il file Logs.txt nella cartella System non sarà possibile accedervi.

    Per vedere il file occorre accedere al sistema via FTP ed aprirlo con un editor oppure scaricarlo sul proprio PC (Vedi topic).

    in risposta a: Nuovo blocco funzione per invio eMail #51050
    Sergio Bertana
    Amministratore del forum

    La nota Può essere eseguito in un solo loop di programma come una funzione, la mettiamo in tutte quelle FB che esauriscono il loro lavoro in un solo ciclo di esecuzione. Cioè non hanno variabili statiche al loro interno. Quindi se non fosse che la normativa IEC61131 ha messo dei limiti stringenti alla definizione delle funzioni si sarebbe realizzata una funzione al posto di un FB per quel tipo di operazione.

    La nota informa che la puoi eseguire come una funzione ogni volta che la esegui lei termina il suo compito, quindi ad esempio il FIFO se vedi qualche mio programma dove viene usato vedrai che istanzio il FIFO nelle variabili globali e poi ne  eseguo la chiamata per inserire elementi o per estrarre elementi in tutte le parti di programma dove serve.

    Ma in un programma posso avere tutti i FIFO che si vuole, ognuno sarà istanziato con un nome diverso.

    in risposta a: SlimLine in stop con codice di eccezione 1 #51048
    Sergio Bertana
    Amministratore del forum

    Aggiungo per la valutazione della eccezione, se invii alla nostra mail di supporto il file Logs.txt presente nella cartella System, e scrivi il codice del sistema e la versione del software (Li puoi ricavare connettendoti in Telnet alla porta 23) possiamo fare una indagine e magari dare informazioni maggiori.

    in risposta a: SlimLine in stop con codice di eccezione 1 #51047
    Sergio Bertana
    Amministratore del forum

    Gli operatori TO_INT, TO UDINT, ecc sono operatori di cast, servono ad informare il compilatore che si stà trasferendo una variabile di un certo tipo in una variabile di altro tipo.

    Mi spiego meglio ammettiamo di avere una variabile di tipo USINT e la passiamo ad una funzione o FB che accetta un parametro UINT o la trasferiamo in una variabile UINT, in questo caso siccome l’USINT è a 8 bit mentre l’UINT è a 16 bit non ci sono problemi ed il compilatore non dà messaggi di warning.

    Ma facciamo l’ipotesi contraria, ho nel programma una variabile UINT (Che io programmatore sò di certo non assumerà mai valori superiori a 255) e la passiamo ad una funzione o FB che accetta un parametro USINT o la trasferiamo in una variabile USINT. Il nostro programma è corretto ma il compilatore ci avverte con una warning che potrebbe esserci un problema usando il cast TO_USINT informiamo il compilatore che và tutto bene siamo sicuri di quello che stiamo facendo.

    Quindi se come dici le variabili che usi sono del tipo giusto non serve il cast.

    in risposta a: Utilizzo LogicLab su Raspberry standard #51045
    Sergio Bertana
    Amministratore del forum

    Abbiamo sviluppato per l’IDE LogicLab al momento oltre 200 oggetti (Funzioni ed FB) quasi tutti sono forniti gratuitamente, alcuni prevedono il pagamento di una licenza per l’utilizzo. Ma anche quelli che prevedono la licenza possono essere usati gratuitamente per 30 minuti.

    Stiamo riorganizzato il sito e nella sezione che riguarda le FB ora si evince meglio quelle che prevedono il pagamento di una licenza.

    Come credo di avere già scritto da qualche parte del forum stiamo unificando tutti i nostri sistemi, ARM7, CortexM7 e Raspberry in modo da poter offrire una unica versione di LogicLab ed una unica versione di librerie adatta a tutti i sistemi (Vedi articolo).

    Questo lavoro coinvolge noi per quanto riguarda i sistemi e coinvolge Axel per quanto riguarda Logiclab, e ad oggi pur lavorando ventre a terra non abbiamo ancora terminato… abbiamo versioni beta che testiamo ma non ancora una versione definitiva. E anche se credo che siamo abbastanza vicini alla fine non posso dare una data di rilascio…

    State sintonizzati…

    in risposta a: SlimLine in stop con codice di eccezione 1 #51038
    Sergio Bertana
    Amministratore del forum

    L’eccezione di WDOG capita se l’esecuzione del ciclo di programma richiede un tempo superiore al tempo di watch dog. Ma Lo SlimLine con questa eccezione in accordo alla normativa esegue un reboot. Se al successivo reboot il programma non genera più eccezioni tutto funziona normalmente.

    Se si ripetono eccezioni, dopo 10 consecutive il programma và in stop. Se hai LogicLab collegato al sistema il programma và in stop già alla prima eccezione.

    Non capisco il ciclo FOR da 0 a 0, tieni presente che il contenuto del ciclo viene eseguito 1 volta, Nel programma di esempio che posto dopo il ciclo FOR i vale 1. Quindi se nel ciclo hai qualcosa che non vuoi venga eseguito ricordati che il programma lo esegue.

    i:=0;
    FOR a:=0 TO 0 DO i:=i+1; END_FOR;

    Le warnings non sono significative, i codici SFR050, SFR055, ecc sono i codici delle varie librerie utilizzate dal sistema operativo ed hanno un significato solo per noi.

    Se l’eccezione capita sporadicamente è difficile trovare quale parte del programma la genera, se invece capita sistematicamente, basterà sezionare il programma per capire dove si genera il problema.

Stai visualizzando 15 post - dal 1,516 a 1,530 (di 4,395 totali)