Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 1,501 a 1,515 (di 4,381 totali)
  • Autore
    Post
  • in risposta a: Lettura di 3 temperature da sonde 1-Wire #51462
    Sergio Bertana
    Amministratore del forum

    Trovo in Internet specifiche che indicano come lunghezza massima della rete 1-WIRE 400 metri e 500 il numero massimo di sensori. Ogni sensore equivale ad un accorciamento di 0,5 metri di lunghezza e ogni 100 metri di cavo causa una capacità aggiuntiva di 5nF aumentando la distorsione del segnale. In pratica la lunghezza della rete ed il numero di sensori dipendono da:

    Tipo di cavi.
    Qualità delle connessioni.
    Interferenza da campi elettromagnetici esterni.

    Si accomanda cavi intrecciati per computer UTP collegando i cavi non utilizzati, e se cavo schermato anche lo schermo, alla linea di terra. Tutti i sensori sono connessi in parallelo alla linea, possono essere utilizzati sensori a 2 fili anche se nel caso di molti sensori connessi al bus per evitare il sovraccarico del segnale si consiglia di utilizzare sensori a 3 fili portando anche l’alimentazione.

    Personalmente so di clienti che hanno realizato reti con il DS9097U-S09 in cui sono stati collegati fino a 20 sensori a 2 fili su una lunghezza di 100 mt. Essendo sensori a 2 fili per evitare di caricare troppo il bus è stata posta una resistenza da 100 Ohm in serie al segnale su ogni sensore, come cavo trattandosi di applicazione domotica è stato utilizzato del normale doppimo telefonico fatto passare in cavo corrugato distante da linee di potenza a 220Vca.

    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…

Stai visualizzando 15 post - dal 1,501 a 1,515 (di 4,381 totali)