Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 3,061 a 3,075 (di 4,264 totali)
  • Autore
    Post
  • in risposta a: Visualizzazione valori di temperatura su PC e smartphone #37943
    Sergio Bertana
    Amministratore del forum

    Il termometro/igrometro STE fà quello che è richiesto, esistono due modelli STE normale e STE Plus entrambi visibili tra le nostre soluzioni per Monitoraggio ambienti. Vediamo come è possibile utilizzarli per le esigenze richieste. Per quanto riguarda STE normale può gestire 2 sonde di temperatura/umidità, per potervi accedere occorre che la connessione ADSL abbia un IP pubblico e se non si dispone di un IP statico occorre avvalersi di un servizio DynDNS. Fatto questo configurando opportunamente il router (NAT o port forwarding) sarà possibile accedere alla pagina web del dispositivo da Internet, sono anche disponibili applet per gli smartphone. Il modello Plus oltre a quanto detto per il modello normale può gestire anche 2 ingressi digitali che possono essere utilizzati per controllo di stati logici e/o allarmi. Questo modello inoltre si connette al portale SensDesk tramite il quale è possibile creare un dashboard di visualizzazione dei dati (Topic). L’utilizzo di questo prodotto è veramente plug and play e l’invio di email ed SMS è configurabile tramite il portale SensDesk.Per quanto riguarda l’invio di Email il dispositivo STE non supporta la crittografia SSL quindi occorre avvalersi di un servizio che non la richieda (Topic). Mentre per il modello Plus l’invio di email è eseguito dal portale SensDesk e può quindi utilizzare la crittografia. Per il servizio EmailToSMS occorre abbonarsi ad un servizio di questo tipo, esempio Skebby (Topic).

    in risposta a: Gestire un display alfanumerico con un modulo SlimLine #37941
    Sergio Bertana
    Amministratore del forum

    La modalità 4/8 bit si riferisce alla connessione in parallelo, il controller del display può gestire sia la connessione I2C che la connessione su bus, il bus può essere a 4 o 8 bit. Ma quando si utilizza la connessione su I2C il dato è sempre a 8 bit.

    Il tool a cui ti riferisci è la possibilità di gestire il display dei sistemi Netlog III da LogicLab, in questo topic ho realizzato una FB apposita per gestire il display su bus I2C potendo definire i messaggi dall’editor di LogicLab. Ma utilizzo sempre un display da 2 righe per 16 caratteri.

    Naturalmente puoi modificare il FB per adattarla al tuo display. Ma venendo alle tue prove ho estrapolato un pezzo di codice della FB.

    DWrBuffer[0]:=16#80; (* Co:=TRUE, A0:=FALSE *)DWrBuffer[1]:=16#30; (* Default function set *)

    Result:=SysI2CWrRd(16#3F,02, ADR(DWrBuffer), 0, 0);S

    e lo esegui in un tuo program (Certo devi definire le variabili) puoi verificare il valore di Result, come vedi dal manuale la funzione SysI2CWrRd torna FALSE se errore, in questo modo almeno sappiamo se la connessione I2C e se l’indirizzo 16#3F del display sono corretti. Cosi si inizia a fare un po’ di troubleshooting sul problema.

    in risposta a: Connessione SlimLine a router per programmazione a distanza #37939
    Sergio Bertana
    Amministratore del forum

    Intanto parli di router perché è l’oggetto con il quale ti connetti alla ADSL ma nella rete locale viene utilizzato come switch di rete usando le sue 4 porte 10/100. Probabilmente utilizzi il server DHCP interno per assegnare gli indirizzi IP alle apparecchiature connesse al router, visto che hai scelto l’indirizzo IP 192.168.1.122 per lo SlimLine devi verificare che il router assegni indirizzi nella stessa classe 192.168.1.xxx e che il netmask sia 255.255.255.0.

    Non mi è chiaro come hai impostato l’indirizzo IP del tuo PC quando lo connetti direttamente allo SlimLine, se lo imposti manualmente e se poi cambi configurazione quando connetti il PC al router. Credo che il tuo problema sia nella configurazione della rete, che indirizzo IP ha il router ? i PC connessi al router hanno il DHCP attivo ? e che indirizzo IP viene a loro assegnato ?

    Per quanto riguarda la programmazione a distanza via Internet dai una occhiata a questo topic.

    in risposta a: Gestire un display alfanumerico con un modulo SlimLine #37938
    Sergio Bertana
    Amministratore del forum

    Per utilizzare un display connesso al bus di espansione dello SlimLine hai due diverse possibilità, utilizzi la mia libreria che è testata con il display suggerito (Che è da 2 linee da 16 caratteri) oppure ti sviluppi tu il driver di gestione display. Ogni display ha delle piccole differenze nella sequenza di inizializzazione e quello da te utilizzato ha addirittura 4 linee. Ho cercato su Internet il datasheet del display da te utilizzato ma non sono riuscito a reperirlo. Se anziché la libreria utilizzi il programma presente nel primo post di questo topic puoi modificarlo per adattare la sequenza di inizializzazione al tuo display. In modo particolare al CASE 3 dovrai modificare la riga.

    DWrBuffer[1]:=16#38; (* 8 bits, 2 lines, 5*7 dots *)

    Come vedi configura un display a 2 righe mentre il tuo è a 4, e poi dovrai anche modificare gli indirizzi di DDRAM a cui scrivere. Inoltre sono scritti 32 bytes di dato mentre il display ha 4 righe da 20 caratteri quindi 80 bytes. In pratica usando il linguaggio ST puoi gestire qualsiasi display ma bisogna conoscere le caratteristiche dell’hardware da gestire. Attenzione non puoi utilizzare display che hanno indirizzi I2C compresi tra 16#20 e 16#2F.

    in risposta a: Simulatore PLC, simulare programma PLC su PC #37936
    Sergio Bertana
    Amministratore del forum

    L’ambiente di simulazione SimuLab integrato in LogicLab (Topic) permette di testare direttamente sul PC i programmi, può essere un valido strumento per impratichirsi nella programmazione. Ricordo che dal nostro sito è possibile scaricare gratuitamente l’ambiente di sviluppo LogicLab (Vai a pagina) con il quale è possibile iniziare a svilippare i proprii programmi. Nel forum si trovano moltissimi esempi in codice sorgente è possibile scaricarli ed utilizzarli per i proprii test.

    in risposta a: Scambio di I/O su rete Internet con connessione ADSL #37935
    Sergio Bertana
    Amministratore del forum

    Per quanto riguarda lo scambio di I/O tra sistemi su rete ethernet abbiamo diversi moduli di I/O-Ethernet che prevedono lo scambio degli I/O punto-punto (Topic). Inoltre utilizzando i nostri controllori programmabili è possibile realizzare oltre allo scambio punto-punto anche lo scambio punto-multipunto (Topic).

    Tutti questi sistemi si basano sulla definizione dell’indirizzo IP dei vari nodi della rete, quindi se tu mi parli di connessioni ADSL dovrai utilizzare degli indirizzi IP pubblici e statici per poter realizzare lo scambio degli I/O. Una possibilità per ovviare a questo è di realizzare una VPN tra i siti da gestire, e poi utilizzare gli indirizzi IP statici all’interno della rete VPN.

    Quasi tutti i Modem/Router ADSL prevedono la gestione delle VPN e gestiscono anche servizi di DNS dinamico, in modo da poter realizzare la rete VPN anche su indirizzi IP pubblici dinamici.

    in risposta a: Trasmissione dati RTK su linea seriale #37932
    Sergio Bertana
    Amministratore del forum

    Nella nostra gamma di radiomodem trovi molti prodotti adatti alla trasmissione di dati seriali, i prodotti ZigBee sono piccoli e consumano poco ma il loro raggio di azione è molto limitato (500 metri) ma se le antenne sono ben posizionate. Abbiamo già avuto clienti con problematiche come la tua e il radiomodem, messo nello zaino ha una portata ridicola.
     
    I radiomodem serie DL a 169 o 868 MHz hanno sicuramente una portata eccellente anche con l’antenna male posizionata o posizionata molto vicino al terreno. Consumano un pò di più li puoi tranquillamente alimentare con un piccolo accumulatore a 12 VDC.
     
    Ora il tuo problema è quello di realizzare un software per la trasmissione dei dati RTK ricevuti via Internet sulla porta seriale verso il radiomodem. Non conosco la problematica e magari esistono già applicazioni pronte all’uso. In alternativa posso consigliare l’utilizzo di un router con antenna opportuna per la connessione alla rete UMTS e poi tramite un access point WiFi ripetere la connessione verso il tuo telefono o tablet. Naturalmente devi pensare alla copertura WiFi che vista l’antenna del telefono o del tablet potrebbe essere ridotta. Questa soluzione però ti permetterebbe di posizionare la stazione in posizione elevata su di un palo in prossimità dell’auto da cui puoi prelevare anche l’alimentazione ed usare in tutta autonomia il tuo smartphone o tablet connessi ad Internet.

    in risposta a: Protezione su funzionamento librerie #37934
    Sergio Bertana
    Amministratore del forum

    Come vedi dal manuale (Estratto), il numero continua a crescere in funzione del tipo prodotto e della matricola. Il massimo valore di tipo prodotto è 9999 che abbinato al massimo valore di matricola (99999), produce un UniqueID massimo di 1310688927 (0x4E1F869F).

    in risposta a: Problema di casting TO_UINT su array di byte #37930
    Sergio Bertana
    Amministratore del forum

    I nostri sistemi SlimLine sono basati su architettura ARM, questo tipo di architettura vuole che le variabili a due bytes siano allocate ad indirizzi divisibili per 2 e le variabili a 4 bytes siano allocate ad indirizzi divisibili per 4. L’allocazione delle variabili ad indirizzi che non rispondono a queste regole ne rende impossibile l’accesso.

    LogicLab provvede automaticamente ad allocare le variabili seguendo le direttive imposte dalla architettura ARM, ma utilizzando un puntatore su di un array di bytes ecco che sarà il tuo programma a gestire l’indirizzamento e quindi quando ti trovi a puntare indirizzi pari verrà letta corettamente la variabile UINT (Come sequenza di due bytes) mentre se l’indirizzo è dispari la variabile non viene letta correttamente.

    Ma devi anche prestare attenzione all’endiannes dei dati, l’architettura ARM è di tipo Little-Endian, quindi il byte meno significativo si trova ad indirizzo più basso rispetto al byte più significativo. Come vedi dallo screenshot del programma ByteToWord, ho allocato un array di bytes a MX100.0 (In questo modo sono sicuro che sono allocati ad indirizzo pari divisibile per 4).

    Quando il puntatore a WORD punta l’indice 2 dell’array il risultato Result[0] è corretto (Il valore di LSB è l’indirizzo puntato mentre l’MSB è indirizzo+1, Little-Endian). Quando il puntatore a WORD punta l’indice 3 dell’array il risultato Result[1] è errato.

    in risposta a: Come creare un array di I/O digitali #37929
    Sergio Bertana
    Amministratore del forum

    Gli I/O digitali sono allocati in array di dati e possono essere gestiti utilizzando direttamente le variabili. Gli I/O del modulo con indirizzo 0 sono allocati in SysDI00 e SysDO00, quelli del modulo con indirizzo 1 sono allocati in SysDI01 e SysDO01, e così via. Quindi un semplice programma che copia 8 ingressi del modulo 0 sulle sue rispettive 8 uscite può essere:

    FOR i:=0 TO 7 DO SysDO00[i]:=SysDI00[i]; END_FOR;

    Questa sintassi è molto comoda se nel loop si trattano I/O consecutivi, ma se gli I/O non sono consecutivi è preferibile utilizzare un array di puntatori a variabili BOOL:

    IArray : ARRAY[ 0..15 ] OF @BOOL;  { DE:”Input array” }
    OArray : ARRAY[ 0..15 ] OF @BOOL;  { DE:”Output array” }

    Valorizzando l’array con gli indirizzi degli I/O ed utilizzando un loop nel modo:

    IArray[0]:=ADR(%IX0.0);
    IArray[1]:=ADR(%IX0.4);
    OArray[0]:=ADR(%QX0.0);
    OArray[1]:=ADR(%QX0.7);
     
    FOR i:=0 TO 1 DO @OArray[i]:=@IArray[i]; END_FOR;

    Allego la stampa ed il programma sorgente di un esempio di utilizzo di questa tecnica.

    in risposta a: Come iniziare a programmare un PLC #37928
    Sergio Bertana
    Amministratore del forum

    Ti aggiungo altre semplici informazioni, i PLC eseguono i programmi ciclicamente, lo SlimLine prevede 3 differenti Tasks di esecuzione (Topic). Di solito i programmi logici sono inseriti nella task Slow, il sistema operativo legge gli ingressi logici poi esegue tutti i programmi inseriti nella task e poi aggiorna le uscite logiche (Queste operazioni sono svolte ciclicamente ogni 10 mS).

    La normativa prevede 5 linguaggi, perché per ogni tipo di operazione da svolgere si utilizza il linguaggio più consono. Per la logica il linguaggio è LD, mentre per i calcoli è preferibile usare FBD o ST. Per realizzare un programma devi partire dalla definizione degli Ingressi/Uscite che poi leghi nel tuo programma con sequenze logiche (Serie e parallelo) proprio come fai con uno schema elettromeccanico a relè.

    Se ti servono dei relè di appoggio ecco che definisci delle variabili di tipo BOOL che userai come bobine (Coil) all’interno di rami logici. Ogni relè all’interno del PLC (Come pure gli ingressi e le uscite) ha infiniti contatti ausiliari, per cui potrai usare i contatti del tuo relè di appoggio (Sia NO che NC) in tutti i rami che vuoi.

    in risposta a: Come iniziare a programmare un PLC #37927
    Sergio Bertana
    Amministratore del forum

    Non è semplice descrivere in poche righe la programmazione di un PLC, per cercare di spiegare in modo semplice come utilizzare LogicLab con i nostri prodotti abbiamo approntato dei videocorsi (Vedi pagina). Essenzialmente vi sono 3 corsi dove nel primo si spiegano i passaggi per creare un nuovo progetto, nel secondo si realizza un semplice programma in linguaggio LD e nel terzo si simula il funzionamento del programma.

    Credo che il seguire questi 3 videocorsi aiuti a prendere confidenza con l’ambiente di sviluppo, poi certo occorre provare da soli a sviluppare semplici programmi, la disponibilità di un simulatore su PC ti permette di verificare il funzionamento dei programmi che realizzi (Topic). Ti rimando ad alcuni topics dove puoi eseguire il download di programmi già pronti per il simulatore (Relè Passo/Passo, Movimentazione carrello in SFC, Demo FB Average, Conteggio sacchi, Esempio scrittura di un blocco funzione, Regolazione PID).

    in risposta a: Realizzare un semplice convertitore Ethernet/Seriale #37926
    Sergio Bertana
    Amministratore del forum

    Se si vuole utilizzare un software di VirtualCOM con il programma descritto precedentemente è possibile utilizzare il HW VSP3 – Virtual Serial Port della HWgroup, questo screenshot illustra l’utilizzo di uno SlimLine proprio con il software di virtualizzazione porta seriale.In un PC con Windows 7 è stato installato il software Virtual Serial Port impostando la porta COM3 sull’indirizzo IP dello SlimLine (192.168.0.162) su porta 1000 come definito nel programma. Nel PC è anche installato un convertitore USB/Seriale ATC-810 configurato come COM8, la sua porta seriale RS232 è connessa con la porta COM0 dello SlimLine.Utilizzando Toolly sono stati aperte due sessioni di terminale una connessa alla COM3 ed una alla COM8, come si vede i dati inviati sulla COM3 sono ricevuti dalla COM8 e viceversa.Attenzione, sulla porta virtuale COM3 non è possibile impostare i parametri di comunicazione seriale, il valore 9600, e, 8 è indicativo perché in realtà lo SlimLine utilizza sulla sua seriale COM0 i parametri definiti nel programma con il FB SetSMode.

    in risposta a: Come eseguire un factory reset dello SlimLine #37925
    Sergio Bertana
    Amministratore del forum

    Accedendo al sistema da telnet, oppure eseguendo un catch alla accensione è possibile accedere all’interprete comandi (Topic). Il comando CfgCommit -d permette di riportare tutte le impostazioni di configurazione al loro valore iniziale (Factory default) (Screenshot).

    Eseguendo il login come User sono impostati a default:
    Parametri comunicazione porte seriali (115200, e, 8, DTR auto).
    Parametri configurazione Modbus sia su porta seriale che su TCP/IP (Nodo 1, porta TCP 502).
    I 4 valori di settaggio utente SysUSetA, SysUSetB, SysUSetC, SysUSetD sono abblencati.

    Eseguendo il login come Admin oltre alle impostazioni User sono impostati a default:
    Credenziali di accesso (Admin, User, Guest).
    Sono abilitati sia il web server che il modbus da TCP/IP.
    Configurazione di rete (Ethernet IP 192.168.0.122, RNDIS IP 192.168.1.122, Mask 255.255.255.0).
    Pagine di default e non presente su web server (System/Home.htm, System/NotFound.htm).
    Sono azzerati tutti i codici di protezione funzioni e blocchi funzione.

    in risposta a: Gestire un display alfanumerico con un modulo SlimLine #37924
    Sergio Bertana
    Amministratore del forum

    Con la nuova versione di LogicLab 2.2.0 è stato aggiunto un editor di messaggi per display alfanumerici, ora è possibile definire i messaggi da visualizzare sui display connessi al bus di espansione dei sistemi SlimLine direttamente da LogicLab (Topic).

Stai visualizzando 15 post - dal 3,061 a 3,075 (di 4,264 totali)