studio54 Inserito: 27 giugno 2006 Segnala Inserito: 27 giugno 2006 Ciao,avrei bisogno di aiuto riguardo il modbus tcp ip.Dovrei realizzare una piccola interfaccia in VB che mi permetta di utilizzare le funzioni modbus in tcp ip.Potreste darmi delle indicazioni su dove posso trovare esempi o informazioni su questo protocollo.Grazie!
Claudio Monti Inserita: 27 giugno 2006 Segnala Inserita: 27 giugno 2006 Modbus Protocol Reference GuideProva a leggere questa, poi prova a navigare sul sito ufficialehttp://www.modbus.org
studio54 Inserita: 28 giugno 2006 Autore Segnala Inserita: 28 giugno 2006 Buongiorno Claudio,scusami ancora , oggi ho provato ad utilizzare le winsock di VB per costruire il protocollo Modbus tcp ip. tcp_client.RemoteHost = "192.168.100.1"tcp_client.RemotePort = 502tcp_client.connectma sfortunatamente non riesco a connettermi. tcp_client.State = 6Posso usare le winsock di VB per realizzare un protocollo modbus tcp ip?Sai dove posso trovare degli esempi a cui ispirarmi?Grazie per l'aiuto...Saluti Danilo
mfaccendo Inserita: 11 agosto 2011 Segnala Inserita: 11 agosto 2011 Anche se è un topic un po' vecchio per me è attuale, poiché sto cercando di realizzare un client modbus TCP. Ho trovato in rete le librerie nmodbus (il sito ufficiale nmodbus.org da tempo non è più attivo) su http://code.google.com/p/nmodbus/, però sto cercando degli esempi funzionanti. Qualcuno ha qualcosa in VB.NET ?Grazie
batman1970 Inserita: 12 marzo 2012 Segnala Inserita: 12 marzo 2012 Dim Dinteger(2) As Integer Dinteger(0) = RealToDinteger(RealValue.Text) Dim DIW As New MieConversioni.M340.ModbusXmlDa DIW.WriteInt32(0, 100, Dinteger) rimane poi il big/little endianism.... e ti devi fare una cosa così.. Function IntegerToReal(ByVal Dint As UInteger) As String 'Conversione da intero a binario Formato Stringa If Dint >= 0 Then Dim StrBinaryNumber As String = Convert.ToString(Dint, 2) StrBinaryNumber = "00000000000000000000000000000000" & StrBinaryNumber StrBinaryNumber = Right(StrBinaryNumber, 32) 'Calcolo Mantissa Dim MantissaBin As String = 0 Dim MantissaDec As String = 0 Dim i As Integer = 0 MantissaBin = Mid(StrBinaryNumber, 10, 23) For i = 1 To 23 MantissaDec = MantissaDec + (Mid(MantissaBin, 24 - i, 1) * (2 ^ (i - 1))) Next i MantissaDec = CSng((MantissaDec / 8388608) + 1) 'Calcolo Esponente Dim ExpBin As String = 0 Dim ExpDec As String = 0 Dim E As Integer = 0 ExpBin = Mid(StrBinaryNumber, 2, 8) For E = 1 To 8 ExpDec = ExpDec + (Mid(ExpBin, 9 - E, 1)) * (2 ^ (E - 1)) Next E ExpDec = CInt(ExpDec - 127) 'Calcolo Segno Dim SignBin As String = 0 Dim SignDec As Integer = 0 SignBin = Mid(StrBinaryNumber, 1, 1) If SignBin = 0 Then SignDec = 1 Else SignDec = -1 End If IntegerToReal = Math.Round(SignDec * MantissaDec * (2 ^ ExpDec), 1) Else IntegerToReal = "NAN" End If End Function Dimmi come farai perchè cio sto perdendo l'anima...
ifachsoftware Inserita: 9 giugno 2012 Segnala Inserita: 9 giugno 2012 Una buona libreria è questa : http://code.google.com/p/nmodbus/ è scritta in c# ma puo' essere linkata ad un progetto vb met o convertita in vb net con un qualsiasi convertitore online c# -> vb net E' dotata di sorgenti e permette di realizzare sia un client che n server
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