Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Marzo 20, 2015 alle 5:50 pm in risposta a: Informazioni su bus I2C, possibilità utilizzo moduli custom #38833
Sergio Bertana
Amministratore del forumHai colto l’essenza di quello che si vuole offrire con l’utilizzo della funzione SysI2CWrRd, la funzione offre proprio la possibilità di gestire dal modulo CPU dei proprii moduli di I/O. Questo permette di sfruttare tutte le potenzialità offerte dall’ambiente di sviluppo LogicLab e/o CODESYS e dalle librerie da noi fornite su di un hardware costruito sulle esigenze del Cliente abbattendo i costi.
In merito al limite sul numero di bytes da scambiare è un problema solo legato al tempo di scambio che se i bytes sono molti provoca dei jitters sulla esecuzione delle tasks in interrupt (Task Fast e Slow). Ma è comunque possibile frazionare i comandi, così ads esempio se devo gestire una memoria I2C anche da 1 Mb basterà scrivere/leggere i dati a blocchi di 10 bytes alla volta in modoi da permettere all’interupt di “entrare” tra una gestione è l’altra.
In pratica la funzione SysI2CWrRd è atomica, quindi ad esempio se operasse su 100 bytes consecutivi fino a quando non ha terminato le tasks Fast e Slow sono bloccate (In questo topic trovi ulteriori informazioni).
Sergio Bertana
Amministratore del forumLa risposta è articolata, intanto partiamo dal presupposto di avere una connettività Internet in entrambe le abitazioni (Nel caso non fosse disponibile una connessione ADSL o WiFi si può utilizzare un router GSM/UMTS). Se si dispone di indirizzi IP pubblici (Anche dinamici, Topic) è possibile pensare ad un dialogo tra i sistemi SlimLine utilizzando il protocollo Modbus.
Attualmente non disponendo della connessione TCP client sugli SlimLine LogicLab, bisogna appoggiarsi ad un convertitore Ethernet-Seriale come indicato in questo topic. In alterenativa si può utilizzare lo SlimLine CODESYS.
Un FB ModbusMaster sullo SlimLine di Genova dialoga via Internet con lo SlimLine di Aosta e tutti i dati sono riportati poi sul pannello operatore connesso. Se il pannello operatore è pubblicato su Internet tramite una applicazione VNC è possibile accedervi anche da smartphone (Topic).
Se non si ha la disponibilità di IP pubblici occorre operare in una configurazione cloud, tutti gli impianti domotici si connettono ad un server nel cloud ed è il server a creare l’interscambio dei dati tra le varie abitazioni. Il server sul cloud potrà anche pubblicare pagine web consultabili anche dallo smartphone (In questo topic una soluzione simile).
Marzo 19, 2015 alle 7:18 am in risposta a: Informazioni su bus I2C, possibilità utilizzo moduli custom #38830Sergio Bertana
Amministratore del forumIl bus I2C è uno standard ben definito, non si può inventare. Il primo byte inviato dopo il bit di start start è proprio composto da 7 bits di indirizzo (Infatti il range dell’indirizzo è compreso tra 16#00 e 16#7F) e da un bit che identifica il comando di read (Bit a 1) o write (Bit a 0).
Marzo 18, 2015 alle 1:38 pm in risposta a: Informazioni su bus I2C, possibilità utilizzo moduli custom #38828Sergio Bertana
Amministratore del forumIl bus I2C dei sistemi SlimLine e NetlogIII opera a 400Khz. La funzione SysI2CWrRd ha questi parametri:
Address (USINT) Indirizzo dispositivo I2C (Range da 16#00 a 16#7F).
WrBytes (USINT) Numero di bytes dati da scrivere. 0 se solo lettura.
WrBuffer (@USINT) Indirizzo buffer memoria che contiene i dati da scrivere. NULL se solo lettura.
RdBytes (USINT) Numero di bytes dati da leggere. 0 se solo scrittura.
RdBuffer (@USINT) Indirizzo buffer memorizzazione dati letti. NULL se solo scrittura.Il frame I2C si compone di due sequenze eseguite una di seguito all’altra.
Se definiti dati da scrivere (WrBytes <> 0, WrBuffer <> NULL), inizia con start seguito da indirizzo I2C (Address), comando di write poi sono scritti tutti i bytes ed infine stop.
Se definiti dati da leggere (RdBytes <> 0, RdBuffer <> NULL), inizia con start seguito da indirizzo I2C (Address), comando di read poi sono letti tutti i bytes ed infine stop.
In merito alla composizione dei comandi I2C tu ti riferisci ai nostri comandi proprietari di gestione moduli di espansione che hanno un CRC per verificare la correttezza dei dati. Ma tu puoi utilizzare i comandi che desideri, in base al componente hardware da gestire. Discorso a parte sulla lunghezza dei dati da gestire in scrittura/lettura, noi consigliamo di tenere frame non più lunghi di una decina di bytes in totale questo per evitare jitters sulla esecuzione delle tasks (Vedi ulteriori informazioni in questo topic).
Sergio Bertana
Amministratore del forumCome vedi nei posts precedenti la Modem Machine è un laboratorio, il prodotto è programmabile tramite LogicLab. Se dai una occhiata alla stampa del programma, vedrai che la gestione degli I/O è realizzata in linguaggio ladder e quindi è completamente modificabile per adattarla alle tue necessità.
Il programma utilizza il FB ModemCore per la gestione del modem e come troverai in altri topic collegando alla ModemCore altri FB puoi cimentarti in applicazioni più ardite ed ampliare il progetto come desideri (Topic). Utilizzando come linguaggio di programmazione l’ST (Structured Text) puoi estendere ulteriormente le applicazioni (Topic).
Marzo 18, 2015 alle 9:52 am in risposta a: Come funziona e costi del supporto tecnico On-Line #38822Sergio Bertana
Amministratore del forumCome detto nel post precedente il servizio ha un costo, ma molte volte viene dai nostri tecnici richiesto di aprire sessioni “veloci” di assistenza, in quanto è più veloce e produttivo vedere un problema direttamente sul PC del cliente piuttosto che cercare di creare la situazione in laboratorio.
In questi casi previo accordi con i nostri tecnici il servizio può essere offerto gratuitamente.
Marzo 18, 2015 alle 9:37 am in risposta a: Nuovo blocco funzione per richiesta pagina da Web server #38823Sergio Bertana
Amministratore del forumHai in per caso nella finestra di watch l’istanza del FB HTTPGetPage ? Oppure qualche tua variabile stringa o array molto lunga ? Questo perchè quando le variabili in watch diventano molto lunghe LogicLab le tronca.
Infatti quando trascini nella finestra di watch una stringa od un array compare un avvertimento che ti chiede se vuoi mettere tutta la variabile o solo una posizione della stessa (Esempio un locazione dell’array). Eventualmente puoi chiamare in azienda e vediamo di vedere il problema con una sessione di supporto tecnico On-Line.
Marzo 17, 2015 alle 4:39 pm in risposta a: Programmazione da connessione Internet nostri dispositivi #38820Sergio Bertana
Amministratore del forumEcco lo screenshot della configurazione del NAT su di un router. Come si vede nella rete interna vi sono due dispositivi SlimLine uno LogicLab (Indirizzo 192.168.1.128) ed uno CODESYS (Indirizzo 192.168.1.32).
Per raggiungere i due dispositivi occorre raggiungere l’IP pubblico del router e sulla porta 1000 potremo programmare lo SlimLine LogicLab mentre sulla porta 1200 potremo programmare lo SlimLine CODESYS.
Ho anche provveduto a pubblicare il server web (Porta 80) dei due dispositivi, su altre due porte pubbliche.
Attenzione, come detto prima per poter programmare da remoto lo SlimLine CODESYS ho abilitato il router a rispondere al ping da internet (Vedi screnshot).
Sergio Bertana
Amministratore del forumHai fatto una gran confuzione tra connessione ethernet e seriale. Il convertitore ATC-1000 permette di veicolare una connessione seriale su una connessione ethernet. Tu invece vuoi realizzare una connessione ethernet tra due PC utilizzando un doppino in rame.
Esistono sul mercato prodotti per estendere la rete ethernet su doppino in rame (Esempio Ethernet SHDSL extender della Westermo, Data sheet), noi non li trattiamo più, ma credo che il loro costo sia almeno 10 volte più caro dell’ATC-1000.
In alternativa se vi è la visibilità ottica tra i due punti puoi utilizzare una connessione wireless esempio con due Nanostation.
Marzo 17, 2015 alle 2:13 pm in risposta a: Disponibilità terminali operatore Weintek senza frame #38818Sergio Bertana
Amministratore del forumSergio Bertana
Amministratore del forumSia il modulo espansione 20I/O mixed signal che il modulo espansione I/O analogico dispongono di una modalità di acquisizione resistenza. In pratica viene utilizzata la configurazione di acquisizione PT100 e PT1000 per acquisire il valore in Ohm delle resistenze. Questa soluzione utilizza un generatore di corrente e viene acquisita la tensione ai capi della resistenza, il fondo scala è quello definito nel modo di acquisizione 300Ω o 5000Ω, la risoluzione è:
Modulo PCB122: AD_RESISTOR_300_OHM 0,0061Ω
Modulo PCB126: AD_RESISTOR_300_OHM 0,00067Ω, AD_RESISTOR_5000_OHM 0,00536ΩSe l’esigenza è quella di acquisire valori più elevati di resistenza è possibile utilizzare un partitore resistivo collegato agli ingressi analogici, un apposito FB ResistorValue (Estratto manuale) ne calcola il valore ohmico.
In questo topic trovi un esempio di acquisizione resistenza con il nostro modulo analogico.
Marzo 17, 2015 alle 9:25 am in risposta a: Disponibilità protocollo Modbus sullo SlimLine CODESYS #38816Sergio Bertana
Amministratore del forumSi in effetti l’etichetta è stata fatta in comune con quella dello SlimLine LogicLab e riporta la nomenclatura errata. Stiamo modificando l’etichetta per correggere il problema.
Sergio Bertana
Amministratore del forumPer accedere al dispositivo Cloud HMI cMT-SVR serve una VPN completa senza limitazioni.
Sergio Bertana
Amministratore del forumLa variabile di sistema SysDateTime è espressa in EpochTime ed opera con l’ora locale, quindi tiene conto sia del fuso orario che dell’ora legale secondo quanto impostato nella pagina web di configurazione.
Marzo 16, 2015 alle 4:35 pm in risposta a: Funzionamento convertitore seriale da RS232 a RS422/485 #38810Sergio Bertana
Amministratore del forumIn effetti i driver della FTDI sono secondo me i più completi e funzionali, tutti i convertitori USB-Seriale della ATC sono realizzati utilizzando il convertitore FTDI.
-
AutorePost