Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Sergio Bertana
Amministratore del forumLa funzione di “pass-through” del Weintek può mettere in comunicazione un PLC con un PC creando una porta seriale virtuale che deve essere impostata come interfaccia di comunicazione nel PLC.
Il programma EasyManager è stato testato sia su sistema operativo Vista che Windows 7. Di certo ho Clienti che lo stanno usando in questi due sistemi operativi ed sono certo che almeno uno di essi utilizza la funzione pass through.
Allego per il download una FAQ rilasciata da Weintek che riporta le indicazioni su come impostare i diritti di esecuzione del programma in Windows Vista, potrebbe essere utile seguirla anche sotto Windows 7.
Febbraio 25, 2011 alle 9:23 am in risposta a: Realizzazione ponte radio punto-punto con distanza 1 Km #36650Sergio Bertana
Amministratore del forumLe soluzioni proposte sono entrambe valide, in generale le note salienti sono:
NanoBridge M2
Usa solo protocollo 802.11n, con un throughput fino a MCS15 (300Mbs con 40Mhz di canalizzazione)AirGrid M2
Usa sia protocollo 802.11g che 802.11n, con un throughput fino a MCS7 (150Mbs con 40Mhz di canalizzazione)In termini di installazione sono perfettamente identiche. Per quanto riguarda il disturbo del terreno sulla fresnel zone, rimando alla lettura di questa FAQ, comunque una certa copertura della Fresnel zone è accettata.
Febbraio 25, 2011 alle 7:23 am in risposta a: Realizzazione ponte radio punto-punto con distanza 1 Km #36648Sergio Bertana
Amministratore del forumLa distanza di 1Km è una distanza facilmente copribile con molti degli apparati Ubiquiti, anche la Nanostation Loco potrebbe essere utilizzata allo scopo. Ma trattandosi di una comunicazione punto punto in cui oltre alla connessione Internet si tratta di veicolare anche altre risorse di rete, io adotterei una soluzione MiMo che permette di avere un throughput di più di 150 Mbps.
Quindi sceglierei prodotti MiMo e dovendo fare un bridge tra due edifici sceglierei sicuramente un prodotto pensato per questo scopo quindi ti consiglierei il NanoBeam M.
Febbraio 15, 2011 alle 11:15 am in risposta a: Virtual COM per Windows 7 per convertitori ethernet/seriali #36646Sergio Bertana
Amministratore del forumPer il prodotto ATC-2000 attualmente non esiste un software VirtualCOM per Windows 7. Il fornitore mi ha informato che è in studio ma non sà ancora dare una data certa di disponibilità.
Nella gamma di convertitori Ethernet/Seriale che commercializziamo esiste anche il modello TRP-C37 della Trycom. Per questo modello è disponibile un software VirtualCOM per Windows 7. E’ possibile eseguirne il download dal nostro sito dalla pagina del prodotto nella sezione download.
Ricordo comunque che è possibile utilizzare due convertitori Ethernet/Seriale, uno configurato come server e l’altro come client, per avere una ripetizione pura della porta seriale e potersi quindi connettere ad una porta COM reale del PC.
In configurazione Client/Server i duer convertitori si scambiano i dati ricevuti dalle rispettive porte seriali, e si può anche effettuare un cambio di interfaccia, un convertitore in RS232 e l’altro in RS485. In questa configurazione è possibile utilizzare anche il modello più economico ATC-1000 che non dispone di un software VirtualCOM molto efficente.
Sergio Bertana
Amministratore del forumVista la distanza tra i due punti, sicuramente i prodotti Nanostation Loco o Loco M sono sicuramente adatti alla applicazione. I prodotti sono stati pensati per uso in esterno e la polvere sicuramente non è un problema. Il modello M adotta la tecnologia MIMO (Vedi post) e quindi ha una velocità di comunicazione doppia rispetto al modello tradizionale. Anche se dovendo remotare una connessione ADSL i 54 Mbps della Nanostation Loco tradizionale sono ampiamente sufficienti allo scopo. Consiglio un montaggio su due pali alti dal terreno oppure sul muro di una costruzione, e consiglio l’acquisto del kit montaggio parete/palo NanoStation Loco.
Sergio Bertana
Amministratore del forumWireshark è un programma che permette di analizzare tutti i pacchetti di rete, quindi se è posto sulla stessa rete su cui è connesso il dispositivo IP WatchDog permette di analizzare i pacchetti ricevuti ed inviati dal dispositivo.
Attenzione! per stessa rete si intende in parallelo (Quindi usando un HUB) se si usa uno switch di rete per la connessione lo switch instraderà i pacchetti in base agli indirizzi IP ed il PC che esegue Wireshark non riceverà i pacchetti di Ping inviati al IP WatchDog.
Attivando Wireshark, dal menù Capture, si definisce l’interfaccia di rete da cui si desidera catturare i dati, nella finestra Filter occorre definire il protocollo icmp (Scritto in minuscole), in questo modo verranno catturati solo i pacchetti ICMP di ping. Ora inviando un ping sul dispositivo (O per effettuare un test inviando un ping all’indirizzo IP del PC che esegue Wireshark) vederemo i paccchetti ICMP, con qualcosa del tipo:
3962 22.458798 192.168.0.31 192.168.0.64 ICMP Echo (ping) request
3963 22.460255 192.168.0.64 192.168.0.31 ICMP Echo (ping) replyDove, in ordine, abbiamo, il numero di pacchetto, il tempo in cui è stato ricevuto, l’IP che ha generato il pacchetto e l’IP che ha ricevuto il pacchetto.
Nel mio esempio il sistema 192.168.0.31 ha effettuato un ping sul sistema 192.168.0.64 che ha risposto.
Quindi individuati i pacchetti ICMP di ping diretti all’IP WatcDog potremo capire quale è l’IP sorgente del pacchetto e potremo definirlo nelle impostazioni.
Sergio Bertana
Amministratore del forumLe impostazioni sono estramente semplici, quindi credo che siano state fatte in modo corretto, tra l’altro il fatto che quando l’IP WatchDog è connesso direttamente al PC funzioni correttamente sembra avvalorare la tesi che tutto sia correttamente impostato.
Mi viene il dubbio che quando la connessione passa tramite l’infrastruttura di rete aziendale succeda qualcosa sugli indirizzi IP. Non è che avete una rete VPN oppure gateway tra reti o server proxy che eseguono mascheratura degli IP. Siccome il dispositivo controlla l’IP da cui proviene il ping, se l’IP che è indicato nel pacchetto ICMP del ping non è quello atteso, verrà comunque inviata la risposta al ping ma non viene eseguito il rinfresco del tempo di watchdog.
Consiglio di provare ad impostare nella maschera di configurazione nel campo Incoming ping, il valore di IP 0.0.0.0 e mask 0.0.0.0. In questo modo tutti i ping ricevuti (Da qualsiasi IP arrivino) eseguono il reset del tempo di watch dog. Se in questo modo il sistema funziona correttamente occorrerà determinare l’IP definito nel pacchetto ICMP ricevuto dal prodotto.
Consiglio l’utilizzo del programma Wireshark http://www.wireshark.org per analizzare i pacchetti ICMP ricevuti ed individuare l’IP.
Sergio Bertana
Amministratore del forumAbbiamo parecchi clienti che utilizzano i nostri prodotti in ambiente domotico. La possibilità di alimentazione da 10 a 30 volt permette di utilizzare i 12 Volts tipici delle applicazioni domotiche.
Come consiglio indirizzerei verso la famiglia Slim Line che essendo dotata di interfaccia Ethernet permette di essere utilizzata in edifici di nuova costruzione provvisti di cablaggio strutturato dove la rete ethernet diventa irrinunciabile. Nel caso in cui non vi sia il cablaggio Ethernet è possibile con access point WiFi risolvere efficacemente l’interconnesione dei sistemi a costi contenuti.
Nella famiglia ci sono moduli con I/O solo digitali e/o analogico e digitali, basta scegliere il modulo con il numero di I/O desiderato. La disponibilità di interfacce verso lettori RFiD, verso sensori One-Wire di temperatura, umidità, Tag riconoscimento, permettono di realizzare automazioni come il controllo accessi, regolazioni di temperatura, ecc.
Per i moduli remoti, posso consigliare I/O in modbus su linea seriale RS485 (Vedi post), oppure per non dovere stendere altri cavi è possibile utilizzare altre CPU Slim con moduli di I/O locali ed interconnetterle tutte tra di loro usando la rete Ethernet od il WiFi (Vedi post). Usando sensori di temperatura/umidità su rete Ethernet è possibile integrare nel programma anche letture acquisite in modo distribuito (Vedi post).
Abbinando un modem GSM, è possibile ricevere SMS di allarme e/o gestire comandi tramite invio di SMS, oppure semplicemente utilizzarlo come apricancello, basta effettuare una chiamata ed il sistema leggendo il numero del chiamante senza rispondere alla chiamata può aprire il cancello (Vedi post).
Abbinando un pannello operatore touch screen è possibile creare una interfaccia gradevole ed intuitiva per la gestione delle logiche domotiche, impostare gli orari di accensione/spegnimento elettrodomestici e/o riscaldamento, gestire l’impianto di allarme, ecc. Il pannello operatore è possibile visualizzarlo da remoto (Anche da Internet) con qualunque browser, questo permette di accedere alla casa anche dall’ufficio (Vedi post).
Febbraio 9, 2011 alle 7:12 am in risposta a: Raggiungere un convertitore ethernet/seriale da IP pubblico #36639Sergio Bertana
Amministratore del forumIl router deve essere configurato per reindirizzare l’accesso da Internet su IP del router da una determinata porta verso l’IP dell’ATC sulla porta definita nel parametro Port number.
Ammettendo che l’ATC sia configurato come server TCP ed accetti connessioni su porta 1000, dovremo configurare il router in modo che le connessioni in ingresso da Internet sulla porta 1000 siano reindirizzate sull’IP dell’ATC porta 1000.
Ricordo che i numeri di porta possono essere qualsiasi, e possono essere diversi tra la porta in ingresso del router e la porta dell’ATC. Ma se si usa lo stesso numero di porta si evita di doverlo cambiare quando si opera dall’interno della rete e dall’esterno. In pratica si dovrà cambiare solo l’IP.
Altro particolare da tenere presente è l’indirizzo del gateway definito sull’ATC che deve essere quello del router.
Poi bisogna essere certi che il provider che offre il servizio Internet (Telecom, Fastweb, ecc.) non blocchi la porta definita, alcuni provider bloccano l’accesso in ingresso da Internet su alcune porte per sicurezza.
Sergio Bertana
Amministratore del forumIn questo programma eseguibile sul simulatore, è stato realizzato un blocco funzione di gestione timer esattamente uguale al blocco standard eTON (Estratto manuale).
Il blocco funzione è realizzato in linguaggio ST ed aprendo il progetto è possibile simularlo completamente, inoltre disponendo dei sorgenti è possibile modificare il blocco funzione e/o prendere spunto per realizzare dei proprii blocchi funzione (Download programma).
Sergio Bertana
Amministratore del forumIn questo post, si può trovare un programma di simulazione per il blocco funzione PID eseguibile sul simulatore.
Sergio Bertana
Amministratore del forumIl simulatore ha 16 ingressi digitali (Simulati con pulsanti virtuali), 16 uscite digitali (Simulate con LED virtuali), 4 ingressi analogici (Simulati con slider) e 4 uscite analogiche (Simulate con bar-graph).
Da programma PLC è possibile definire un commento accanto ad ognuno dei comandi virtuali del simulatore, a tal proposito rimando al programma PLCEmulConfig presente nei programmi dimostrativi. Efettuato il trasferimento del programma sul simulatore, agendo sul pulsante Reboot Plc del simulatore, il simulatore reinizializza l’esecuzione del programma eseguendo la task di Boot. In questa task verrà eseguito il programma PLCEmulConfig che abbinerà i testi definiti accanto ai comandi virtuali.
Per iniziare ho preparato un semplice programma di marcia/arresto, trasferendo il programma sul simulatore è possibile verificarne il funzionamento. Con il programma in esecuzione è possibile attivare il debug e vedere lo stato degli I/O in tempo reale (Download programma).
Febbraio 4, 2011 alle 2:04 pm in risposta a: Connessione Box/Multibox con dispositivi I/O controller #36630Sergio Bertana
Amministratore del forumI dispositivi I/O controller sono predisposti unicamente per lo scambio Box-to-Box. In pratica due I/O controller si scambiano gli I/O tra di loro, non è quindi possibile realizzare la soluzione da te richiesta.
In alternativa è possibile utilizzare i nostri sistemi SlimLine, utilizzando l’apposito blocco funzione UDPDataTxfer (Estratto manuale), è possibile scambiare blocchi di memoria tra diversi sistemi utilizzando il protocollo UDP. Dovrai realizzare un programma per ogni sistema SlimLine dove viene richiamato il blocco funzione configurato per scambiare i dati con l’altro sistema (Definendo opportunamente gli indirizzi IP).Per ogni sistema è possibile inserire tutte le chiamate necessarie al blocco funzione UDPDataTxfer (Una per ogni sistema con cui si desidera scambiare i dati). Il vantaggio di questa soluzione è che essendo un sistema programmabile SlimLine permette di realizzare anche logiche personalizzate per ogni sistema. Il blocco funzione UDPDataTxfer permette di scambiare tra i sistemi blocchi di memoria, quindi oltre agli I/O logici sarà possibile effettuare lo scambio anche di I/O analogici e di altri valori numerici. Allego un programma da trasferire su due sistemi SlimLine che esegue lo scambio di 16 I/O logici e di 4 valori analogici (Stampa programma, Download programma).Febbraio 2, 2011 alle 7:01 am in risposta a: Collegamento inverter PowerOne convertitore Ethernet/Seriale #36629Sergio Bertana
Amministratore del forumCome si può leggere dal primo post del topic, il software di collegamento PowerOne Aurora “Aurora communicator” dalla versione 2.8.11 e successive permette di definire come modalità di collegamento con l’inverter oltre alla porta seriale anche un stack TCP/IP.
Premesso che io non conosco il software in questione, ma il concetto è che basta scegliere nei parametri di connessione il tipo TCP/IP, definendo come indirizzo IP l’indirizzo assegnato al convertitore ATC-1000 e la porta su cui l’ATC-1000 ridirige i dati seriali.
Il valore di porta è impostabile dalla pagina web di configurazione dell’ATC-1000. Attenzione! dalla pagina web del convertitore andranno anche definiti il tipo di comunicazione RS232/RS485, il baud rate ed il formato dati che l’inverter si aspetta.
Sergio Bertana
Amministratore del forumAllego un esempio di programma in ST che effettua la gestione che necessiti, ho realizzato due diverse versioni, una che gestisce la rampa con un array ad indice ed un’altra che gestisce la rampa con i puntatori.
Ecco la soluzione ad indice (Tempo di esecuzione 507 uSec).
FOR IDx:=0 TO 500 BY 1 DO
(* Se valore minore del preset incremento valore. *)
(* Se valore maggiore del preset decremento valore. *)
IF (Value[IDx] <> Preset[IDx]) THEN
IF Value[IDx] < Preset[IDx] THEN
Value[IDx]:=Value[IDx]+1;
ELSE
Value[IDx]:=Value[IDx]-1;
END_IF;
END_IF;
END_FOR;Ecco la soluzione a pointer (Tempo di esecuzione 681 uSec).
ValuePtr:=ADR(Value); (* Value pointer *)
PresetPtr:=ADR(Preset); (* Preset pointer *)
FOR IDx:=0 TO 500 BY 1 DO(* Se valore minore del preset incremento valore. *)
(* Se valore maggiore del preset decremento valore. *)
IF (@ValuePtr <> @PresetPtr) THEN
IF (@ValuePtr < @PresetPtr) THEN
@ValuePtr:=@ValuePtr+1;
ELSE
@ValuePtr:=@ValuePtr-1;
END_IF;
END_IF;ValuePtr:=ValuePtr+2; (* Value pointer *)
PresetPtr:=PresetPtr+2; (* Preset pointer *)
END_FOR;Per avere l’incremento ogni 5 mSec occorre settare il tempo di esecuzione della task fast a 5 mSec usando la funzione SysSetTaskLpTime. Per verificare il tempo di esecuzione occorre mettere nella finestra di watch la variabile SysTFastExTmMax.
Attenzione! Se il tempo di esecuzione della task fast supera il tempo definito il programma và in errore e l’esecuzione si arresta. Allego programma per download. -
AutorePost