Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Sergio Bertana
Amministratore del forumLa mia esperienza con i modem è nata dallo svilupo del blocco funzione di gestione modem per i nostri sistemi SlimLine (Topic). Nella nostra libreria è il PLC che interroga il modem per verificare se ha ricevuto messaggi SMS con il comando AT+CMGR, e dopo avere letto il messaggio lo cancella con il comando AT+CMGD.
Quello che ho visto con i messaggi lunghi è che in testa al messaggio vi sono uno o più caratteri “0” che vengono interpretati dalle funzioni stringa del PLC come terminatore di stringa e questo porta a problemi nella interpretazione della stringa. Non sò se questo è riferibile al tuo problema.
Marzo 30, 2015 alle 9:19 am in risposta a: Collegamento inverter PowerOne convertitore Ethernet/Seriale #38863Sergio Bertana
Amministratore del forumIl convertitore ATC-1000 và impostato come server TCP e fà da gateway tra il TCP/IP e la seriale. Quindi certo devi connetterti al suo indirizzo IP ed alla porta TCP che hai configurato dalla pagina web del convertitore.
Sergio Bertana
Amministratore del forumNella nostra gamma di prodotti non abbiamo un convertitore di protocollo per l’OpenTherm, però cercando in Internet ho trovato dei convertitori di protocollo.
Ho anche visto che esiste la documentazione del protocollo ed anche un progetto realizzato ad-hoc. Ho dato una occhiata veloce al protocollo, la comunicazione è a 1000 Bit/Sec. Quindi connettendo il bus con una opportuna interfaccia hardware a degli I/O logici di un PLC ed eseguendo una scansione degli stessi almeno ogni 250 uS credo che con un pò di tempo a disposizione sia anche possibile gestire direttamente il protocollo.
Ad esempio con la nostra famiglia di sistemi programmabili SlimLine è possibile gestire gli I/O in una task fast eseguita ogni 250 uS. Nel forum troverai esempi di programmi che trattano l’argomento (Topic, topic).
Marzo 30, 2015 alle 6:41 am in risposta a: Come verificare ricezione di interrogazioni Modbus #38860Sergio Bertana
Amministratore del forumA differenza del blocco funzione ModbusSlave dove il bit Done si attiva per un loop ad ogni ricezione di stringa di interrogazione, per la funzione slave embedded nel sistema operativo non è prevista alcuna segnalazione. Per risolvere il tuo problema hai due possibilità.
Utilizzi il FB ModbusSlave, per fare questo puoi abiltare il FB su una porta diversa dalla 502, in questo modo hai anche la possibilità di abilitare il protocollo Modbus solo sull’area di memoria che vuoi modificare, mentre la gestione embedded opera su tutta l’area della DB 100.
Se invece vuoi utilizzare la gestione embedded, puoi gestire una variabile UINT che dovrai scrivere dal sistema master. Ad esempio la puoi azzerare da master mentre il programma SlimLine la valorizza ad 1. Se la variabile rimane valorizzata per il tempo di controllo significa che il master non ha fatto accessi.
Marzo 27, 2015 alle 4:55 pm in risposta a: Nuovo blocco funzione per richiesta pagina da Web server #38859Sergio Bertana
Amministratore del forumCerto che sì, naturalmente devi disabilitare il comando Get e poi dopo avere cambiato l’indirizzo di pagina riabilitarlo. Ma più che le parole possono gli esempi ecco la stampa del programma che chiede due diverse pagine (Download programma).
Naturalmente a differenza del FB eseguito su CODESYS (Topic) che grazie al client TCP permette di definire anche server web diversi, qui essendo la connessione client gestita dal’ATC-3000 potrai richiedere pagine diverse ma dallo stesso server.
Ho colto l’occasione per correggere l’esempio di richiesta di una sola pagina citato nel post precedente utilizzando l’ultima versione del FB.
Marzo 26, 2015 alle 2:15 pm in risposta a: Interfacciarsi in RS232 ad elettronica a microcontollore #38857Sergio Bertana
Amministratore del forumCerto qualsiasi dei nostri convertitori Ethernet-Seriale può fare al caso tuo. In pratica assegni un IP al convertitore, poi con un browser accedi alle sue pagine di configurazione.
Configuri i parametri di comunicazione seriale e lo imposti come server TCP. Ora connettendoti sempre con Hyperterminal ma devi scegliere una connessione di tipo Winsock (In alternativa all’Hyperterminal puoi usare il nostro Toolly) potrai fare le stesse dentiche operazioni che facevi da seriale.
Marzo 25, 2015 alle 2:21 pm in risposta a: Nuovo blocco funzione per richiesta pagina da Web server #38856Sergio Bertana
Amministratore del forumSi è proprio un problema legato all’errore da parte del server sul riconoscimento dell’indirizzo della pagina. Il Web server quando viene richiesta una pagina che non esiste risponde con una pagina che può essere anche graficamente ricercata (Ecco lo screenshot di quello che ritorna Altervista). Come vedi nel corpo della pagina vi è la definizione degli stili css che è quello che trovi tu nel tuo PBuffer.
Lo strano è capire come mai a volte non viene capito correttamente dal server web l’indirizzo della pagina richiesta. Purtroppo oggi non avendo la gestione del client TCP nello SlimLine LogicLab (Stiamo lavorando per gestirlo), dobbiamo affidarci ad un convertitore esterno. Stò utilizzando per test da diversi giorni il blocco funzione di richiesta pagina su SlimLine CODESYS (Che ha la gestione del client) è non ho problemi (Topic).
Marzo 25, 2015 alle 7:42 am in risposta a: Nuovo blocco funzione per richiesta pagina da Web server #38854Sergio Bertana
Amministratore del forumSembra che la pagina che hai richiesto non sia esistente sul sito ed allora ti viene ritornata una pagina di errore che probabilmente è molto più lunga della dimensione dei buffers da te stabiliti. Ho corretto il FB, ora vengono ignorati i caratteri che eccedono la dimensione del buffer stabilito. Prova ad eseguire il download della libreria, il link del post precedente ora punta la nuova versione.
Sergio Bertana
Amministratore del forumIl Modbus RTU prevede un solo sistema master, quindi per la tua soluzione opterei per avere il pannello operatore master che scrive/legge dai due moduli CPU, che operano come slave. Per il passaggio dati da uno SlimLine all’altro puoi utilizzare l’oggetto Data Transfer sul pannello che permette di trasferire su comando (Trigger) o a tempo (Ciclico), dati da un sistema slave all’altro.
Naturalmente l’utilizzo del FB ModbusMaster sullo SlimLine per lo scambio dati è più veloce rispetto al Data Transfer da terminale (Che anche se impostabile a 200 mS credo sia difficile scendere sotto i 500 mS), ma se non hai particolari problemi di velocità l’utilizzo del Data Transfer è molto più semplice.
In alternativa uno degli SlimLine agisce da Modbus master e scambia dati con l’altro e con il terminale che agisce come slave Modbus (Topic). Utilizzare il terminale come slave è comunque più complesso rispetto alla classica configurazione master.
Riguardo alle ricette, è possibile caricare ricette da Pen Drive e/o SDCard dierettamente dal terminale, non è possibile utilizzare quella dello SlimLine (Topic, topic).
Marzo 24, 2015 alle 11:18 am in risposta a: Movimentazione carro ponte con ricette e data logging #38851Sergio Bertana
Amministratore del forumLa famiglia SlimLine viene offerta sia in versione LogicLab che CODESYS, a livello di caratteristiche funzionali i due tipi di prodotto sono equivalenti e condividono gli stessi moduli di estensione. Il modulo CPU della versione CODESYS è leggermente più costoso a causa delle royalties dell’ambiente di sviluppo.
Entrambi gli ambienti di sviluppo sono IEC-61131 compliant e supportano i 5 linguaggi della normativa. Per la gestione delle logiche di automazione è possibile realizzare logiche in LD (Ladder Diagram) e/o a piacere utilizzare qualsiasi altro linguaggio IL, FBD, ST o SFC. Per la comunicazione è disponibile il protocollo Modbus si RTU su seriale che TCP/IP su poprta ethernet.
Come hai giustamente fatto notare per l’interfaccia Uomo/Macchina si può utilizzare un qualsiasi modello dei ns terminali operatore Touch screen. Il modulo CPU CODESYS dispone anche della visualizzazione grafica WebVisu (Topic, Screenshot).
Il datalogging può essere effettuato sia dal terminale operatore (Topic), che memorizzando un file formato CSV direttamente sul modulo CPU (Topic, topic). Il file potrà poi essere scaricato con una connessione FTP.
Sergio Bertana
Amministratore del forumSe si vuole mantenere esattamente uguale la gestione l’unico modo è di creare una VPN tra la Modem Machine ed il tuo server, per fare questo puoi utilizzare un router Conel (Topic). In questo modo la VPN si comporta come un cavo di rete tra i due punti e puoi utilizzare la tecnica dello scambio di messaggi UDP.
Il router Conel alla accensione crea la VPN, naturalmente devi disporre sul tuo sito server di un indirizzo IP pubblico, la VPN può essere creata tra il router Conel ed il tuo router ADSL di acceso Internet, oppure puoi utilizzare un client VPN su PC (Esistono client gratuiti sia OpenVPN che IPSec).
Questa soluzione però prevede come ovvio l’aggiunta di un router oltre al modem, e devi utilizzare due SIM, una sul modem per la gestione delle chiamate ed una sul router per la VPN.
In alternativa è possibile modificare la gestione utilizzando il solo modem, in questo caso avresti anche una sola SIM, ma occorre fare modifiche sia lato Modem Machine che lato server. Il modem effetua una connessione HTTP verso il server chiedendo la pagina e passando in GET il comando (Heartbeat o numero telefono). Il server deve agire come server web ritornando una pagina web con con il comando verso il modem (Heartbeat , Denied o Allowed). In questo topic trattiamo una soluzione simile.
Occorre tenere presente che la connessione HTTP via modem richiede un certo tempo (da 20 a 60 Sec) ed in questo tempo il modem risulta cieco alle chiamate telefoniche. Questo non sarebbe un problema sulla attivazione dell’apertura perchè la chiamata sarebbe già ricevuta, ma potrebbe fare perdere chiamate sulla gestione dell’Heartbeat.
Marzo 23, 2015 alle 1:33 pm in risposta a: Nuovo blocco funzione per richiesta pagina da Web server #38847Sergio Bertana
Amministratore del forumSe la pagina richiesta è più grande della dimensione del buffer di pagina PBuffer si incorre in un bug del FB, ho provveduto a correggere l’errore. Ecco la libreria con la versione corretta del FB (Download HTTPGetPage.pll).
Ho provveduto successivamente anche a correggere il programma del post precedente che ora utilizza questa versione del FB.
Marzo 23, 2015 alle 1:15 pm in risposta a: Configurazione convertitore Wi-Fi seriale ATC-1000WF #38845Sergio Bertana
Amministratore del forumQuindi mi sembra di capire che ora il modulo si connette alla rete WiFi ed il server DHCP gli assegna un indirizzo, è così ?
L’indirizzo IP assegnato è coerente con la classe di indirizzi della tua rete ?
Il PC da cui effettui il Ping è connesso alla stessa rete ?Sergio Bertana
Amministratore del forumE’ sicuramente possibile aumentare il numero di POU gestibili, basta definire il nuovo valore nelle impostazioni del target (Screenshot). Unica accortezza come indicato nel post precedente è non superare il limite di memoria disponibile. Quindi se aumenti il numero di POU devi diminuire l’area di memoria (Ti consiglio di ridurre l’area di memoria globale). Ricorda come già detto precedentemente che ogni POU necessita di 12 bytes di memoria.
Quindi se aumenti di 1536 il numero di POU portandolo a 2048, dovrai ridurre di 18432 bytes l’area di memoria globale.
Sergio Bertana
Amministratore del forumEcco lo screenshot di un test eseguito con Modscan. Il protocollo Modbus TCP è diverso dal Modbus RTU, ma utilizzando Modscan se lo imposti per modbus TCP sicuramente genera la trama corretta. Piuttosto hai impostato correttamente gli altri parametri:
Indirizzo di nodo Modbus deve essere 1.
Hai eseguito un comando 16#03 Read Holding Register ?
Che indirizzo di registro hai usato (Devi usare indirizzi nel range da 40000 a 42047). -
AutorePost