Red de conocimiento informático - Material del sitio web - Cómo implementar la recopilación de datos del puerto serie y cómo analizar estos datos

Cómo implementar la recopilación de datos del puerto serie y cómo analizar estos datos

El control MSCOMM se proporciona en VB6 Enterprise Edition y debe cargarse agregando componentes.

Sub privado MSComm_OnComm()

Atenuar bytInput() como byte

Atenuar intInputLen como entero

Seleccionar caso frmMain.ctrMSComm.CommEvent

Caso comEvReceive

Si blnReceiveFlag Entonces

Si no frmMain.ctrMSComm.PortOpen Entonces

frmMain.ctrMSComm.CommPort = intPort frmMain. ctrMSComm.InputMode = comInputModeText 'Recibir mediante codificación ASCII

intInputLen = frmMain.ctrMSComm.InBufferCount

Finalizar selección

Finalizar sub

Arriba Es un fragmento de código de evento MSCOMM ONCOMM, que toma los datos recibidos por el host y los asigna al valor de la variable global, y registra los datos en otras formas (escritos en la base de datos). En cuanto al análisis de datos, como se mencionó en el primer piso, el mar y el cielo son vastos y las tareas se pueden completar mediante control de datos y declaraciones SQL.

Lo siguiente es para referencia de MSDN:

Constantes OnComm

Descripción del valor constante

comEvSend 1 Enviar evento.

comEvReceive 2 Recibir evento.

comEvCTS 3 Borrar para enviar cambio de línea.

comEvDSR 4 Cambio de línea lista del conjunto de datos.

comEvCD 5 Cambio de línea de detección de operador.

comEvRing 6 Detección de timbre.

comEvEOF 7 Fin del archivo.

El control MSComm proporciona los dos métodos siguientes para manejar la comunicación:

La comunicación basada en eventos es una forma muy eficiente de manejar la interacción del puerto serie. En muchos casos, es necesario que se le notifique cuando ocurre un evento, por ejemplo, cuando llega un carácter o cambia en una línea de detección de operador (CD) o de solicitud de envío (RTS). En este caso, estos eventos de comunicación se pueden capturar y controlar mediante el evento OnComm del control MSComm, que también puede comprobar y controlar errores de comunicación. Para obtener una lista de todos los eventos de comunicación y errores de comunicación, consulte la propiedad CommEvent.

Los eventos y errores se pueden consultar comprobando el valor de la propiedad CommEvent después de cada función clave del programa. Este enfoque puede ser preferible si la aplicación es pequeña y autosostenible. Por ejemplo, si estuviera escribiendo un marcador telefónico simple, no habría necesidad de generar un evento para cada carácter recibido porque el único carácter esperando ser recibido es la respuesta "OK" del módem.

Propiedad de umbral

Establece y devuelve el número mínimo de caracteres permitidos en el búfer de envío antes de que el control MSComm establezca la propiedad CommEvent en comEvSend y genere un evento OnComm.

Descripción

Si la propiedad Sthreshold se establece en 0 (el valor predeterminado), los eventos de transferencia de datos no generan un evento OnComm.

Si establece la propiedad Sthreshold en 1, el control MSComm genera un evento OnComm cuando el búfer de transferencia se vacía por completo.

Si el número de caracteres en el búfer de transferencia es menor que el valor, la propiedad CommEvent se establecerá en comEvSend y se generará el evento OnComm. comEvSend se activará solo una vez cuando el número de caracteres supere el umbral. Por ejemplo, si Sthreshold es igual a 5, comEvSend solo ocurrirá cuando el número de caracteres en la cola de salida baje de 5 a 4. Si la cantidad de caracteres en la cola de salida nunca excede el umbral, el evento comEvSend nunca ocurrirá.

La propiedad CommEvent contiene el error real o el número que generó el evento OnComm. Tenga en cuenta que establecer la propiedad Rthreshold o Sthreshold en 0 hará que la captura de los eventos comEvReceive y comEvSend no tenga ningún efecto, respectivamente.