Buscar en este blog

miércoles, 24 de septiembre de 2014

Escribir en un puerto serial RS232 mediante Dynamics Ax 2012

Hace poco necesite escribir en un puerto serial para enviar información a un dispositivo que a su vez enviaba información a dispositivos inalambricos. Así que aquí esta el método para enviar lo que necesiten por RS232 o mejor conocido como puerto serial.

public void sendSerial(int _numeroLocalizador)
{
    str linea1, linea2, linea3, completo;
    boolean banderaPuerto;
    System.IO.Ports.SerialPort puerto;
    ;
    try
    {
        linea1 = int2str(_numeroLocalizador) + num2char(13) + "Movimiento de Unidad *Empresa1*" + num2char(13 );
        linea2 = num2char(127 ) + num2char( 127) + num2char (127);
        linea3 = num2char(127 ) + num2char( 127) + num2char (127);

        puerto = new System.IO.Ports.SerialPort();
        banderaPuerto = puerto.get_IsOpen();
        puerto.set_PortName( "COM1");
        puerto.set_BaudRate( 9600);
        puerto.set_Parity(System.IO.Ports.Parity::None);
        puerto.set_DataBits( 8);
        puerto.set_StopBits(System.IO.Ports.StopBits::One);
        puerto.Open();
        puerto.set_ReceivedBytesThreshold( 1);

        banderaPuerto = puerto.get_IsOpen();
        if(banderaPuerto)
        {
            puerto.Write(linea1);
            puerto.Write(linea2);
            puerto.Write(linea3);

            puerto.Dispose();
            puerto.Close();
            banderaPuerto = puerto.get_IsOpen();
            info( strFmt("Alerta enviada a localizador: %1" , _numeroLocalizador));
        }
    }
    catch (Exception::CLRError)
    {
        puerto.Dispose();
        puerto.Close();
        info(CLRInterop::getLastException());
    }
}



Por último, te invito a que te unas a la página de facebook recién creada para estar al día con las actualizaciones del blog y que podamos tener más comunicación. La meta? es hacer la comunidad de habla hispana mas grande sobre Dynamics Ax en cuestiones de desarrollo.



1 comentario:

  1. Excelente blog me ayuda mucho, no logro hacerlo a la inversa es decir leer un valor de rs232 me podrías asesorar por favor, mil gracias.

    ResponderBorrar