Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - inviare byte a una fotocellula modbus [vb.net]
Forum - C# / VB.NET - inviare byte a una fotocellula modbus [vb.net]

Avatar
yuri85 (Normal User)
Rookie


Messaggi: 33
Iscritto: 28/07/2008

Segnala al moderatore
Postato alle 12:18
Venerdì, 26/09/2008
dovrei fare un semplice programmino che invii una determinata sequenza di byte a una fotocellula tramite com.

esempio: 01000311 ... ecc

la fotocellula dovrebbe poi rispondere con un'altra sequenza di byte.

ora: ho l'oggetto serialport su cui imposto la porta, il baude, timeout ecc.

ho provato ad inviare una stringa contenente quei valori (serialport.writeline(stringa)

ma l'evento SerialPort_Receive non viene mai richiamato, quindi significa che la fotocellula non riceve nulla.

ho provato anche ad inserire le coppie di byte (00, 01, 03) attraverso un array string .

anche in questo caso senza esito ..

qualcuno sa indirizzarmi sulla strada giusta?


grazie mille.

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 15:26
Venerdì, 26/09/2008
Non è che forse invii stringhe al posto di byte? Non dovresti creare un array di byte?

PM Quote
Avatar
yuri85 (Normal User)
Rookie


Messaggi: 33
Iscritto: 28/07/2008

Segnala al moderatore
Postato alle 16:15
Venerdì, 26/09/2008
si è quello che dovrei fare

dim array() as byte

quindi se devo passare i seguenti valori 01 00 03 56 136 02

array(0) = 0
array(1) = 1
array(2) = 0

e quindi dentro un ciclo for scrivo:

serialport.write(array(i))

l'ho scritto un pò velocemente .. ma è questa la strada da seguire?



PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 15:02
Sabato, 27/09/2008
No, aspetta, forse stai passando gli argomenti sbagliati. Se i bytes sono 01 00 03 56 136 02, il tuo array è:
Codice sorgente - presumibilmente VB.NET

  1. Dim Bytes() As Byte = _
  2.   New Byte() {1, 0, 3, 56, 136, 2}


O no?

PM Quote