Estamos probando un nuevo cliente Wyse (modelo Z90D7) que tiene una conexión de puerto serie a una PC. Tenemos un cliente externo que usa un equipo dedicado, sin embargo, la PC es lo que usamos para las pruebas. Ejecutamos una aplicación C # en los clientes a través de Citrix. Cuando ejecutamos la aplicación que estamos utilizando en nuestro antiguo equipo Wyse, todo funciona bien sin errores. Sin embargo, en el nuevo equipo, el puerto serie funciona aproximadamente una vez cada 10 intentos. Todas las otras veces, me dará un error de desbordamiento, un error de paridad o un error de RXOver.
Mediante el registro, verifiqué que el puerto se abre y que varios comandos se ejecutan después de que se abre. Sin embargo, los errores aleatorios ocurren antes de que se pueda transmitir cualquier dato real. He leído en numerosos lugares que esto podría ser un problema de búfer, sin embargo, no he visto ninguna publicación que mencione errores antes de recibir los datos, por lo que no estoy completamente seguro.
También he tratado de usar apretones de manos y memorias intermedias de lectura / escritura más grandes sin suerte. He probado un nuevo cable y el segundo puerto COM en este dispositivo, tampoco tuve suerte. Nuestra configuración predeterminada es:
9600 baudios, paridad uniforme, 8 bits de datos, 1 bit de parada
Dado que esto se está ejecutando en Citrix, también tenemos que ejecutar los comandos de uso de red que se muestran aquí antes de hacer nada. Si no lo hace, la conexión en serie siempre indicará que está conectada y no recibirá ningún dato (esto también ocurre en el equipo antiguo). El comando exacto que estamos ejecutando (con el nombre de la aplicación cambiado, por supuesto) es:
net use com1 /DELETE
net use com2 /DELETE
net use com1: \\client\com1:
net use com2: \\client\com2:
start /d "D:\myapp" MyApplication.exe
¿Alguien que haya tratado con puertos seriales ha oído hablar de estos tres errores alternando así? ¿Hay algo más que un puerto defectuoso (o dos puertos defectuosos) que pueda causar esto? Estoy pensando que el tamaño del búfer de hardware podría ser el problema, pero no puedo encontrar ninguna manera de superar esto.