baltimora Inserito: 5 gennaio 2012 Segnala Share Inserito: 5 gennaio 2012 Sperando di fare cosa gradita, posto un piccolo esempio di come gestire uno zelio dotato di modulo ethernet modbus tramite un pannello operatore KTP 400, sfruttando come master un S7 1200. La comunicazione avviene mediante prootcollo modbus TCP.Le potenzialità dello zelio, sono purtroppo molto limitati, è possibile leggere e scrivere solo 8 reggistri word. (4 in scrittura e 4 in lettura).Tale soluzione può essere però utilizzata per la realizzazione di piccoli e semplici automazioni e/o impiantini domotici sfruttando l'eventuale rete ethernet esistente.Il progetto di esempio può essere scaricato QuiMentre un video di dimostrazione è visibile Link al commento Condividi su altri siti More sharing options...
biros66 Inserita: 10 gennaio 2012 Segnala Share Inserita: 10 gennaio 2012 a cosa serve il plc Siemens? Link al commento Condividi su altri siti More sharing options...
baltimora Inserita: 11 gennaio 2012 Autore Segnala Share Inserita: 11 gennaio 2012 Da master. L'esempio non è per gestire lo zelio mediante KTP400, ma come realizzare un sistema di scambio dati tra master e slave modbus. Link al commento Condividi su altri siti More sharing options...
baltimora Inserita: 11 gennaio 2012 Autore Segnala Share Inserita: 11 gennaio 2012 (modificato) Se era questo il senso della tua domanda. Modificato: 11 gennaio 2012 da baltimora Link al commento Condividi su altri siti More sharing options...
step-80 Inserita: 17 novembre 2012 Segnala Share Inserita: 17 novembre 2012 Da master. L'esempio non è per gestire lo zelio mediante KTP400, ma come realizzare un sistema di scambio dati tra master e slave modbus. Ciao giuseppe,praticamente in questo caso il 1200 fa il master e lo zelio slave?cioè tu con il ktp in realtà programmi il 1200 che poi comanda lo zelio? Link al commento Condividi su altri siti More sharing options...
baltimora Inserita: 17 novembre 2012 Autore Segnala Share Inserita: 17 novembre 2012 (modificato) Si, esatto , ma lo zelio potresti comandarlo anche senza l'S7 1200, direttamente da un qualunque pannello operatore impostato come master modbus. L'esenpio da me postato e per far funzionare il 1200 come master modbus TCP. Ovviamente per tale esempio ho utilizzato le apparecchiature che avevo a disposizione in quel momento. Esattamente come dici tu con il KTP invio le informazioni al S7 1200 e poi S7 1200 le invia e legge dallo zelio. Modificato: 17 novembre 2012 da baltimora Link al commento Condividi su altri siti More sharing options...
gpp1969 Inserita: 18 novembre 2012 Segnala Share Inserita: 18 novembre 2012 Complimenti baltimora !!!! Link al commento Condividi su altri siti More sharing options...
step-80 Inserita: 18 novembre 2012 Segnala Share Inserita: 18 novembre 2012 Si, esatto , ma lo zelio potresti comandarlo anche senza l'S7 1200, direttamente da un qualunque pannello operatore impostato come master modbus. L'esenpio da me postato e per far funzionare il 1200 come master modbus TCP. Ovviamente per tale esempio ho utilizzato le apparecchiature che avevo a disposizione in quel momento. Esattamente come dici tu con il KTP invio le informazioni al S7 1200 e poi S7 1200 le invia e legge dallo zelio. Bel lavoro. Ho notato però che il modulo di comunicazione viene montato sulla dx dello zelio,esattamente dove io ora ho montato un espansione I/O. Cio significa che io non potrei montarlo?o possono essere montati entrambi contemporaneamente? Ps:non c entra niente,ma qualcuno sa se si possono inserire le faccine scrivendo da iphone? Link al commento Condividi su altri siti More sharing options...
baltimora Inserita: 18 novembre 2012 Autore Segnala Share Inserita: 18 novembre 2012 (modificato) Complimenti baltimora !!!! Grazie Si il modulo di comunicazione viene inserito al lato dello zelio. Possono essere inseriti anche altri moduli in uno all'interfaccia modbus sia se RTU (seriale) che TCP (ethernet). In una precedente applicazione ho anche condiviso oltre l'espanzione RTU anche quella GSM senza alcun problema. L'espanzione modbus per lo zelio è simpatica per la realizzazione di qualche semplice interfaccia grafica in visual basic. Unica pecca che le espansioni per il modbus dello zelio sono limitate a solo 8 reggistri (4 in scrittura e 4 in lettura) pertanto molto limitati. Modificato: 18 novembre 2012 da baltimora Link al commento Condividi su altri siti More sharing options...
step-80 Inserita: 18 novembre 2012 Segnala Share Inserita: 18 novembre 2012 Grazie Si il modulo di comunicazione viene inserito al lato dello zelio. Perdona la mia eterna ignoranza,ma lo slave zelio tu dove lo vedi?sul tia?cioè fisicamente come riesci a comunicarci? Link al commento Condividi su altri siti More sharing options...
baltimora Inserita: 18 novembre 2012 Autore Segnala Share Inserita: 18 novembre 2012 (modificato) Qui la cosa si complica nel riuscire a farti capire come funziona un protocollo di comunicazione. Senza entrare troppo nel merito per non far confusione, ma restando nel tema dell'esempio, tu nel tia non vedrai mai lo zelio, come ad esempio vedi il KTP 400 e lo inserisci nel programma. Nel tuo progetto integri delle librerie di conunicazione che in questo caso sono già presenti nel tia, ma potrebbero provenire da terze parti o scriverle tu, che si preoccupano di gestire la comunicazione con un oggetto remoto e quindi di andare a leggere e scrivere delle variabili che gli indichi tu ed il quale tu sai quel valore che riceverai cosa indica. In alcuni casi, ad esempio se devi comunicare con un driver per motori stepper, è il costruttore dell'apparecchio che ti dice registro per registro a cosa servono e quale è il significato del valore che ti viene restituito. Ad esempio registro 1 valore della velocità rampa di acc, registro 2 velocità rampa decel. registro 3 velocità nominale di lavoro regostro 4 1° bit enable, 2° bit direzione ecc. ecc In altri casi ad esempio quando comunichi tra due PLC nei registri metti il valore e gli attribuisci il significato che vuoi tu. Ciao Modificato: 18 novembre 2012 da baltimora Link al commento Condividi su altri siti More sharing options...
manu8582 Inserita: 26 novembre 2012 Segnala Share Inserita: 26 novembre 2012 Salve a tutti sono nuova del Forum. E' da poco che mi sono avvicinata ai plc. Ho provato a far comunicare Plc e computer. Fin qui tutto ok, riesco a farli comunicare correttamente. Se per caso va via la comunicazione (ad esempio, se tolgo il cavo di rete oppure si spegne il plc) e il plc sta leggendo i dati dal plc, l'applicazione si blocca per circa 20 secondi. Premium = New TcpClient() Dim result As IAsyncResult = Premium.BeginConnect(IP_Plc, 502, Nothing, Nothing) Dim success As Boolean = result.AsyncWaitHandle.WaitOne(150, True) if (success) Then Dim Master As Device.ModbusIpMaster = Modbus.Device.ModbusIpMaster.CreateIp(Premium) Try Word_uscita = Master.ReadHoldingRegisters(20, 4) Word_Orario = Master.ReadHoldingRegisters(32, 3) Catch ex As InvalidOperationException 'Richiamo timer per far ripartire la comunicazione End Try Label1.Text = Word_uscita(0) Label2.Text = Word_uscita(1) Label3.Text = Word_uscita(2) Label4.Text = Word_uscita(3) Else 'Riprovo la connessione End if L'applicazione si blocca su questa istruzione : Word_uscita = Master.ReadHoldingRegisters(20, 4) Come posso intercettare l'errore per non farlo bloccare?? Nonostante ci sia l'eccezione va in blocco lo stesso. Grazie. Link al commento Condividi su altri siti More sharing options...
baltimora Inserita: 26 novembre 2012 Autore Segnala Share Inserita: 26 novembre 2012 (modificato) Un'idea veloce sarebbe quella di fare un ping sull'indirizzo IP del PLC e leggi il risultato del ping. Con il risultato del ping gestisci l'errore. Un metodo veloce per fare il ping è quello di langiare il comando PING dal dos con Shell e fai la redirezione del risultato in un file da cui leggi il risultato. Se fai una ricerca su google trovi comunque diversi modi di come fare un ping da VB. Spero di esserti stato utile. Modificato: 26 novembre 2012 da baltimora Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora