Red de conocimiento informático - Consumibles informáticos - ¡Los expertos vienen y ayudan! comunicación serie vb

¡Los expertos vienen y ayudan! comunicación serie vb

1. Programa de inicialización del puerto serie:

MSComm1.CommPort = 1

MSComm1.Settings= "9600, e, 8, 1"

MSComm1.InputLen = 0

MSComm1.RTreshold = 1

MSComm1.InputMode = comInputModeBinary

El protocolo PPI define el puerto serie para enviar y recibir datos en forma binaria, por lo que la eficiencia de comunicación de los mensajes es mayor que la del código ASCII.

2. Programa de lectura de datos del puerto serie, tomando como ejemplo la lectura de la unidad de datos VB100:

Dim Str_Read(0 To 32) 'Define los datos enviados como una matriz con bytes como elementos .

Str_ Read (32) = amp; H16 'La asignación de elementos de matriz correspondiente, según el siguiente formato:

Str_ Read (29) = (100*8) \ 256 ' La dirección es el valor del puntero, tome primero el puntero de dirección superior

Str_ Read (30) = (100*8) Mod 256 'Obtenga el puntero de dirección inferior

Str_ Read (24) = 1 'Longitud de los datos leídos (número de bytes)

Para I=4 a 30

Temp_FCS = Temp_FCS Str_Read(i)

Siguiente I

Str_Read(31)= Temp_FCS Mod 256 'Calcula el código de verificación FCS y se omiten otras asignaciones de elementos de matriz.

68 1B 1B 68 2 0 6C 32 1 0 0 0 0 0 E 0 0 4 1 12 A 10 2 0 1 0 1 84 0

3 20 8B 16

Después de que el PLC devuelva los datos E5, confirme el comando de lectura y envíe los siguientes datos:

10 2 0 5C 5E 16

Luego, el programa VB de la computadora host recibe los siguientes datos :

68 16 16 68 0 2 8 32 3 0 0 0 0 0 2 0 5 0 0 4 1 FF 4 0 8 22 78 16

Primero identifique la dirección de destino y el origen dirección, confirme Son los datos devueltos de esta aplicación, y luego, después de la verificación e inspección, se analiza que los datos No. 26 (amp; H22) son datos de VB100 bytes.

3. Programa de escritura de datos en puerto serie, tomando como ejemplo la escritura de la unidad de datos VB100:

Dim Str_Write(0 To 37) 'Define los datos enviados como una matriz con bytes como elementos .

Str_Write (37) = amp; H16 'La asignación del elemento de matriz correspondiente, de acuerdo con el siguiente formato

Str_Write (35) = amp; H10 'El valor de datos a escribir

68 20 20 68 2 0 7C 32 1 0 0 0 0 0 E 0 5 5 1 12 A 10 2 0 1 0 1 84 0

3 20 0 4 0 8 C B9 16

Después de que el PLC devuelva los datos E5, confirme el comando de escritura y envíe los siguientes datos:

10 2 0 5C 5E 16

Luego, el programa VB de la computadora host recibe los siguientes datos:

68 12 12 68 0 2 8 32 3 0 0 0 0 0 2 0 1 0 0 5 1 FF 47 16

Este es el retorno del PLC correctamente recibir y escribir datos de información.

4. Programa de recepción de puerto serie:

En el programa de recepción de datos, use el control MSComm en VB para recibir todos los datos en el búfer a la vez y almacenarlos en un formato temporal. unidad de almacenamiento en forma de matriz, y luego analizar el valor de cada elemento para obtener los datos de lectura y escritura.

Atenuar RCV_Array() como byte

Atenuar Dis_Array como cadena

Atenuar RCV_Len mientras

RCV_Array = MSComm1.Input 'Eliminar el puerto serie Recibe datos del buffer.

RCV_Len = UBound(RCV_Array)

ReDim Temp(0 a UBound(RCV_Array))

Para i = 0 a RCV_Len

Dis_Array = Dis_Array amp; Hex(RCV_Array (i)) amp; " "

Siguiente i

Text1.Text = Dis_Array 'Se muestran los datos recibidos.

Durante el proceso de lectura y escritura del programa, se pueden leer y escribir un máximo de 222 bytes a la vez. Los datos proporcionados actualmente se leen y escriben en formato entero.

Tipo de datos Str_ Read (27)

S 04H

SM 05H

I 81H

Q 82H

M 83H

V 84H