Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 3,166 a 3,180 (di 4,374 totali)
  • Autore
    Post
  • in risposta a: Come conoscere l’indirizzo IP del Cloud HMI cMT-SVR #37951
    Sergio Bertana
    Amministratore del forum

    Attualmente vi è un App solo per IoS può essere che in futuro venga rilasciata anche una applicazione Android.
    Correzione luglio 2014, è disponibile su Google Play anche l’app per Android vedi pagina prodotto.

    in risposta a: Visualizzazione valori di temperatura su PC e smartphone #37948
    Sergio Bertana
    Amministratore del forum

    Ricordo che è possibile provare il prodotto STE direttamente su PC o su smartphone collegandosi ad un STE normale presso il sito del fornitore http://ste.hwg.cz. Ecco lo screenshot della connessione da browser come si vede sul mio smartphone.

    Scaricando l’applet per lo smartphone è possibile aggiungere un nuovo device e definendo l’indirizzo del dispositivo in test presso il  fornitore http://ste.hwg.cz è possibile visualizzarlo (Screenshot).

    Credo che il provare il prodotto direttamente On-Line sia il modo migliore per capirne il funzionamento, naturalmente in questo caso il fornitore ha pubblicato su di un indirizzo IP pubblico (Nel suo caso lo ha abbinato ad un DNS pubblico) un STE posizionato presso la sua sede di Praga. Ma chiunque può pubblicare i suoi STE utilizzando un indirizzo IP pubblico anche dinamico utilizzando un servizio di DynDNS.

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

    Navigando su Internet ho trovato una spiegazione su come è realizzato il tuo display (Vedi forum Arduino). In pratica è un dispaly con interfaccia parallela 4/8 bit a cui è stato aggiunto un circuito stampato su cui è montato un I/O expander I2C (Vedi schema elettrico). Non ha nulla a che vedere con il display trattato nel forum in cui è il controller del display ad avere integrata l’interfaccia I2C.

    Per gestire questo display devi utilizzare i comandi I2C di gestione dell’I/O expander (Di cui è possibile reperire il datasheet). 4 degli 8 bit di uscita dell’I/O expander sono stati utilizzati per i dati del bus del display (Deve essere configurata una interfaccia a 4 bit), altri 3 bit gestiscono i segnali En, R/W, Rs del display. L’ultimo bit è utilizzato per il comando del LED di retroilluminazione. Il controller utilizato sul modulo display probabilmente è il classico HD44780 o equivalente di cui è facilissimo trovare documentazione. Ora hai le informazioni per sviluppare una tua FB di gestione, un ottimo banco di prova per apprendere la programmazione IEC61131 in linguaggio ST.

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

    Il fatto che la funzione SysI2CWrRd tornasse sempre TRUE con qualsiasi indirizzo mi è parso indice di un bug, in effetti ho controllato il sistema operativo dello SlimLine ed ho trovato un errore nel ritorno della funzione. Ho provveduto a correggere l’errore nel nuovo sistema operativo SFW184A850. Puoi eseguirne il download dal sito da questa KB dove è spiegato come eseguirne l’upgrade.

    in risposta a: Visualizzazione valori di temperatura su PC e smartphone #37944
    Sergio Bertana
    Amministratore del forum

    Aggiungo questo post per trarre le somme da quanto detto nel precedente, entrambi i prodotti fanno al caso richiesto, ma se non si ha esperienza di configurazione di reti e/o non si può accedere alla configurazione del router ADSL (Perché fornito dal gestore e bloccato), consiglio l’utilizzo del modello Plus.

    L’STE Plus si connette al portale SensDesk da qualsiasi connessione Internet è veramente plug and play e poi tutte le configurazioni possono essere fatte dal portale. Il portale inoltre storicizza i valori di temperatura/umidità permettendo di analizzarli nel tempo.

    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.

Stai visualizzando 15 post - dal 3,166 a 3,180 (di 4,374 totali)