¿Cómo podemos ayudar?

Print

Envío y recepción de caracteres ASCII a través del puerto serie de la HMI

 

En algunos casos, necesitamos utilizar la HMI para una comunicación directa con un dispositivo específico (placa electrónica, dispositivo electrónico,…) Este ejemplo muestra cómo enviar y recibir caracteres ASCII a través del puerto serie de la HMI. Descargue este ejemplo para probar esta función.

Vea cómo funciona en la sección de macros del software HMI-Tool.

Las 2 macros de la HMI son las siguientes

Para recibir datos

#include "MacroInit.h"
#include
void Macro_main(IN *p)
{
MarcoInit
/Hacer
unsigned char ch[512];
int longitud = 0
int PortID = 0; //com1:0 com2:1
if(LocalBit[0]) //Detener la recepción de datos al modificar ASCII, y recibirlos al finalizar
devolver;
memset(ch , 0 , 512);
length = GETCHARS(PortID,ch); //Recibir datos
if(length > 2) //Se establece la condición de recepción de los datos, el primer byte no se muestra finaliza el último byte
{
LocalBit[1] = 1; //Bit establecido para información (registro de datos, pantalla de llamada, ..)
memset(&LocalWord[100], 0 , 256);
memcpy((unsigned char *)(&LocalWord[100]) , &ch[0], length-0);
CLEARBUFFER(PortID); //vaciar
}
}

Para enviar datos

#include "MacroInit.h"
#include
// BOTÓN ENVIAR
void Macro_main(IN *p)
{
MarcoInit
/Hacer
unsigned char ch[512];
unsigned char * data = (unsigned char *)(&LocalWord[0]);
int PortID = 0; //com1:0 com2:1
memset(ch , 0 , 512);
ch[0] = ':';
memcpy(&ch[1], data , strlen(data));
ch[strlen(datos) 1] = '!';
PUTCHARS(PortID,ch,strlen(data) 2);
LocalBit[0] = 0; //Recepción de datos
}