Vai al contenuto
PLC Forum


Problema Software Vb


zeno099

Messaggi consigliati

Ho un problema con un dispositivo remoto che non mi sta facendo dormire la notte!!!

Io uso un modem FALCOM seriale e collegandomi al dispositivo con hyperteminal (settando il numero della sim) il dispositivo si connette e mi risponde, invio un file di testo con una stringa e mi risponde correttamente.

Ho pensato di fare un software in vb che faccia le stesse cose descritte sopra, non c'è modo di farlo funzionare.

Il dispositivo con atd <numero sim> si collega e mi risponde correttamente, ma non riesco a inviare i comandi, ho persino provato ad inviare il file come faccio con hyperterminal ma niente, il componente che c'è sul dispositivo remoto è un telit GM862.

Il componente che uso per vb è l'MSCOMM che mi gestisce la seriale che va sul modem.

Ciao

Link al commento
Condividi su altri siti


del_user_27683

In teoria non cambia nulla tra l'invio dei comandi con hyperteminal oppure con il controllo MSCOMM di VB, personalmente utilizzerei lo stesso programma VB per ricevere i comandi da hyperteminal così da poter copiare esattamente tutto (caratteri di controllo compresi).

Link al commento
Condividi su altri siti

Secondo me hai sbagliato forum e sito...

comunque io ho fatto un applicativo simile (modem diverso) e non ho avuto particolari problemi.

Ti consiglio di visitare il sito www.visual-basic.it nella sezione download potrai scaricare un paio di esempi che ti saranno molto utili, in più esiste un forum che potrai consultare.

Vista la tua notte insonne ti passo una citazione cinematografica...

Buona notte e buona fortuna.

BR1

Link al commento
Condividi su altri siti

Metti caso di scrivere una cosa di questo tipo, per il tuo modem i comandi potrebbero essere diversi, comunque nel caso fatti un'idea:

Sub InviaMessaggio
Dim pComando As String
Dim pNumero As String
Dim pTesto As String
Dim pConferma As String
Dim pControllo As String
Dim pIdentificatore As String

pComando = "AT+CMGS="
pNumero = "33512345678" + vbCrLf
pTesto = "Prova"
pConferma = Chr$(26) + Chr$(27)
pControllo = "OK" + vbCrLf
pIdentificatore = ":"

'In questo punto la porta dovrebbe essere gia' aperta con i giusti parametri
'MSComm1.PortOpen = true

Dim Dummy                           As Integer  'Gestione Eventi
Dim Buffer                          As String   'Buffer di lettura
Dim PosizioneStart                  As Integer  'Non indispensabile
Dim PosizioneStop                   As Integer  'Non indispensabile

'Azzera il buffer
Buffer = ""
'Invia il primo comando
MSComm1.Output = pComando + pNumero
'Loop attesa prima risposta
Do
    'Abilta il gestore eventi durante l'attesa
    Dummy = DoEvents()
    'Controlla la risposta
    Buffer = Buffer + MSComm1.Input
Loop Until InStr(Buffer, ">")
'Se sei qui la prima risposta e' ok

'Azzera il buffer
Buffer = ""
'Invia il secondo comando
MSComm1.Output = pTesto + pConferma
'Loop attesa seconda risposta
Do
    'Abilta il gestore eventi durante l'attesa
    Dummy = DoEvents()
    'Controlla la risposta
    Buffer = Buffer + MSComm1.Input
Loop Until InStr(Buffer, pControllo)
'Se sei qui la risposta è ok

'Chiudi la porta
'MSComm1.PortOpen = False

'Formatta il risultato, se ti interessa cosa ti risponde
Risultato = Buffer
PosizioneStart = InStr(Risultato, pIdentificatore) + Len(pIdentificatore)
PosizioneStop = InStr(Risultato, pControllo) - PosizioneStart
Risultato = Mid$(Risultato, PosizioneStart, PosizioneStop)
End Sub

Link al commento
Condividi su altri siti

Non so se è il caso, ma mi intrufolo lo stesso...io acquisisco dei dati dalla seriale "sparati" da un microcontrollore, ho il problema che l'applicazione (scritta da me in VB) si blocca...nella mia ignoranza credo sia il buffer di ricezione, in quanto appena disconnetto il dispositivo(stacco l'alimentazione brutalmente) l'applicazione si riprende...come risolvo?

devo svuotare il buffer periodicamente?Come si fa?

Accetto consigli...

Grazie a tutti

Link al commento
Condividi su altri siti

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...