Transferencia de datos en serie desde el hardware heredado Omega DP80 a la computadora

¿Alguien puede brindarme alguna orientación sobre cómo configurar una conexión en serie heredada en una pantalla de termopar Omega (marca)? Me gustaría usar la interfaz de datos en serie (Omega DP80-Ser) para transferir de manera confiable una cadena de texto ASCII a través de una conexión en serie RS-232.

A continuación se incluye información adicional si cree que puede ayudar. ¡Gracias por echar un vistazo a mi pregunta!


Compré un Omega DP86T ( http://www.omega.com/pptst/DP80.html ) con poco uso hace varios meses. La unidad incluía varias tarjetas de expansión:

  • cuatro tarjetas de termopar de 6 canales
  • una tarjeta de salida de voltaje escalada que emite un voltaje proporcional a una temperatura de escala completa definida para el canal que se ha seleccionado
  • una tarjeta RS232 que genera una cadena de texto ASCII que incluye el número de dispositivo, el valor en la pantalla, las unidades y luego algunos caracteres de terminación (espacios, retornos de carro, saltos de línea).

Después de configurar los termopares y estar seguro de que la unidad funcionaba bien como una pantalla de temperatura independiente, me centré en lograr que las comunicaciones en serie funcionaran para poder usar la unidad junto con mi computadora como registrador de datos de temperatura. Aquí, por supuesto, es donde comenzó el agravamiento.

El manual de Omega ( http://www.omega.com/Manuals/manualpdf/M0511.pdf ) tiene una descripción razonable de la tarjeta serial, instalándola y configurándola en dos áreas diferentes:

  • La página 2-21 habla sobre el diseño de la tarjeta, su instalación en el dispositivo y la velocidad en baudios, la longitud de palabra, los bits de parada y la configuración de paridad.
  • La página 3-44 ofrece más detalles sobre la configuración de los parámetros y la salida ASCII. Hay una gran cantidad de superposición entre las dos secciones.

Actualmente tengo la configuración de la tarjeta serie Omega para 4800 baudios, longitud de palabra de 8 bits, 1 bit de parada e incluso paridad.

Estoy usando algunos programas gratuitos diferentes (Termite, RS232 Data Logger y UltraMonitor) para escanear la entrada serial a la computadora.

Por supuesto, tengo una computadora portátil relativamente nueva que no tiene un puerto RS232 nativo (no hay sorpresa, ¿verdad?), Así que compré el convertidor CablesToGo USB a DB25 RS232. Fue bien revisado en algunos lugares diferentes por personas que intentaban conectar hardware heredado a una computadora moderna. (Antes de que alguien lo sugiera, no, este NO es un cable de interfaz de impresora paralela).

Desafortunadamente, cuando conecté la pantalla de temperatura Omega a la computadora a través del convertidor USB/RS232, se transfirió un galimatías al programa de terminal en serie. Intenté jugar con la configuración de hardware de Windows para el puerto COM:

  • Me aseguré de que fueran exactamente iguales en el administrador de hardware; como en la tarjeta Omega; a en el software de registro.
  • Probé velocidades de transmisión más rápidas y más lentas, diferentes longitudes de palabra, bits de parada y configuraciones de paridad en la tarjeta.
  • Probé diferentes tamaños de búfer de envío/recepción en el administrador de hardware de Windows, y básicamente todo lo demás que se me ocurrió.

Recientemente, traje a casa una computadora portátil vieja (2000) del trabajo que todavía tiene un puerto serie DB9. Conecté la caja Omega a la computadora portátil con un cable DB9 a DB25, verifiqué la configuración de Windows e intenté ejecutar el software de registro de datos, pero no sucedió nada.

Esto es interesante por una razón: cuando estaba usando mi computadora portátil mucho más nueva y el cable USB/RS232, el software de registro de datos registraba símbolos incomprensibles. Con el puerto serie nativo en la computadora portátil de 12 años, el sistema ni siquiera se comunica con la caja Omega y, por lo tanto, ni siquiera genera el galimatías que generaba el cable USB/RS232.

(Por lo que sea que valga, el cable RS232 por sí solo no hace que el software registre caracteres aleatorios).

Más recientemente, salté los pines 2 y 3 en el extremo del dispositivo (25 pines) del cable RS232 y verifiqué que puedo hacer que una señal enviada repita el programa del terminal. Esta prueba funcionó solo en la computadora antigua con interfaz RS-232 nativa y la computadora nueva con adaptador USB/RS-232.

Si no puedo hacer que la interfaz RS232 funcione, probablemente configuraré la salida de voltaje escalada y la alimentaré a un Arduino (o similar) para que pueda obtener la interfaz de la computadora, así como algún control de circuito cerrado. Por lo tanto, no se pierde toda esperanza, pero aún me gustaría que la interfaz en serie funcione, aunque solo sea para ganar una pelea de rencor.

Cualquier sugerencia sobre la resolución de problemas de software o hardware sería muy apreciada. Gracias a todos.

¿Puede dar un ejemplo del galimatías que está recibiendo? ¿Has probado a activar/desactivar el protocolo de enlace?
Oli - gracias por tu ayuda. Here's an example of the gibberish that I currently receive when I use the USB/RS-232 adapter: ÿÿþÿÿþÿÿÿþÿÿþþÿÿÿÿÿþþÿþÿÿþÿÿþþÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿþþÿþÿÿþþÿÿÿÿÿþþþþÀÿüÿÿÿþàÿøÐþÿüüøÀÿüüüþÿüôþþøÿÿÿÿÿÿÿÿÿÿþÿÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿß
La cadena de símbolos que se muestra arriba tiene aproximadamente 15 segundos de datos a 4800 baudios. En cuanto a su segunda pregunta, sí, he intentado diferentes apretones de manos, incluido 'sin apretón de manos'. Una línea en el manual (página 3-48, 3.10.3 Formato de datos de salida en serie) me sugirió que el dispositivo responde a los cambios de estado 'RTS/CTS'. Específicamente: "Baja la línea CTS para detener la transmisión de datos..." No me he metido con 'Xon/Xoff' porque estoy bastante seguro de que el protocolo serial para este dispositivo no es tan avanzado.
Probablemente desee utilizar un programa que pueda capturar en hexadecimal, como Realterm, para ver cómo se ve y publicarlo en la pregunta. Lo anterior parece una gran cantidad de caracteres en el rango > 0xF0 y probablemente no se muestre menos de < 0x1F, por lo que puede ser una cadena de números con signo en binario.
Eso parece ver muchos caracteres 0xFF. A menudo veo eso en mi hardware cuando (a) tengo la velocidad de transmisión incorrecta, o (b) mi hardware emite niveles "RS232TTL" (0 = 0 V, 1 = 5 V, en lugar de RS232 estándar 0 = + 12 V, 1=-12V -- Me falta un chip MAX232 o equivalente en alguna parte), o ambos.
Si pudiera conectar cualquier tipo de osciloscopio a la salida de su dispositivo, sería más útil para determinar los niveles de voltaje y la velocidad en baudios que adivinarlo aquí.

Respuestas (1)

Así es como sugeriría depurar este problema:

  1. Verifique las conexiones ... si ha mezclado la señal de tierra y la tierra del chasis (blindaje), podría obtener un comportamiento extraño tal como lo describe. El pin 7 en el DB-25 es el que desea conectar al pin 5 del DE-9. Asumiré que está usando un adaptador/cable comercial o tiene uno cableado como este.

    ingrese la descripción de la imagen aquí

    Tal vez verifique la línea de salida de transmisión para asegurarse de que esté inactiva en -12 (<-3 de todos modos).

  2. Asegúrese de que el instrumento esté configurado en RS-232 y no en bucle de corriente (Puente 7,8 y 1,2).

  3. Pruebe la configuración de puerto serie más común (9600/8-N-1), 9600 baudios, SIN paridad, 1 bit de parada interruptor 1, 2, 3 APAGADO interruptor 4, 5 ENCENDIDO interruptor 6 ENCENDIDO interruptor 7, 8 ENCENDIDO

    ASEGÚRESE de entender cuál está 'APAGADO' y cuál está 'ENCENDIDO'. No se ría, he visto que esto sucede más de una vez, y algunos tipos de interruptores DIP están marcados de forma ambigua. En caso de duda, un ohmímetro a través del interruptor... de hecho, podría comprobar todos los interruptores para asegurarse de que funcionan.

    Me gusta Realterm como programa de terminal. Es gratis y fácil de cambiar los parámetros. Pruébelo en algo conocido que funcione primero, por supuesto, y busque un tutorial en línea. Realmente vale la pena

  4. Si todavía hay galimatías después de eso, obtenga una tapa de pantalla o una foto de alcance y publíquela.

  5. Si tiene una necesidad continua de un analizador lógico, este es muy barato y relativamente útil. No es tan buena como mi ancla de barco Tektronix, pero esta cabe en el bolsillo de un abrigo. Pero primero obtendría un alcance si no tienes uno. Incluso el peor alcance es mejor que nada.