4
\$\begingroup\$

I have an old piece of instrument that suppose to connect with a Windows XP machine. I keep getting "Framing Error" messages on the instrument panel while the PC side shows that the instrument could not be found.

The instrument uses RS232C in a 9 pin serial port to connect to the PC. If I understand correctly, RS232C is the same as the prevailing RS232 on Windows XP. I have tested the serial port on the XP machine with Hyper Terminal, and made sure I use the proper "straight through" type of cable. The cable has been used on the same location with other instrument and worked properly.

In order to connect the instrument with an XP machine, I have set the following parameters to be the same on both sides:

    Baud rate 9600
    Data Bits 8
    Parity    None
    Stop Bits 1
    Handshake None

However, on the instrument side, there is an item called "terminator" with CR, LF, and CR+LF settings, which is not available on the serial port settings for Windows XP. I tries all three settings but none worked.

What should I do next?


Edit:

According to the service manual:

An RS232C format serial port is available at the DE-9 connector J3. U8 provides voltage level translation from +5 volts and ground to ± 12 volts. Direct I/O control lines are used for all signals because of the timing critical nature of the communications protocol. Two data lines (TXD/RXD) are used and two control lines (RTS/CTS) are available for hardware handshaking if enabled by the software. ....

What are "direct I/O control lines"?

\$\endgroup\$
  • 4
    \$\begingroup\$ Use PuTTY or some other serial terminal which is much more flexible than HyperTerminal. \$\endgroup\$ – Eugene Sh. May 28 at 16:33
  • 1
    \$\begingroup\$ The terminator is unlikely to have anything to do with a framing error. \$\endgroup\$ – Scott Seidman May 28 at 16:35
  • 2
    \$\begingroup\$ Depends how the "instrument" is defining it. Usually the framing error is something related to the RS-232 protocol itself (incorrect number of bits or such), but the "instrument" might call this name for the higher layer errors (which I agree is not very likely) \$\endgroup\$ – Eugene Sh. May 28 at 16:37
  • 2
    \$\begingroup\$ Spectronic 20 Genesys spectrophotometer. The board was made in 1996. \$\endgroup\$ – user1596683 May 28 at 16:47
  • 2
    \$\begingroup\$ What do you mean by "PC side shows that the instrument could not be found"? Have you tried directly controlling the equipment without using their user interface program? \$\endgroup\$ – Reinstate Monica May 28 at 17:39
1
\$\begingroup\$

I found a copy of a service manual here: https://archive-resources.coleparmer.com/Manual_pdfs/genesys%2020%20service%20manual.pdf

It says:

  1. Ensure the RS232 setup on the GENESYS 20 is set up correctly by following these steps:

    a. Press the Utility key.

    b. Use the down arrow key until you see the RS232 Setup option on the display. To change any of the settings of the RS232 setup, press CHANGE, then use the up or down arrow keys until you getthe correct setting and then press ACCEPT.

    c. Set Baud Rate for 9600

    d. Set Data Bits for 8

    e. Set Parity for None

    f. Set Stop Bits for 1

    g. Set Handshake for CTS/RTS

    h. Set Terminator for CR+LF

    i. Press the ESC key to go back to the normal menu

In particular, I noticed that the recommended handshake is CTS/RTS. Probably worth trying that.

Update: I also found a copy of the operator's manual here: http://photos.labwrench.com/equipmentManuals/1726-1828.pdf

\$\endgroup\$
  • 2
    \$\begingroup\$ Well, the handshake part is important. One should also make sure that the cable they are using has these lines. \$\endgroup\$ – Eugene Sh. May 28 at 17:37
  • \$\begingroup\$ Thanks! The "Handshake for CTS/RTS" is missing on the Windows XP side. The XP side has a "flow control: hardware" option. When I try this pairing, I got the same "Framing Error" \$\endgroup\$ – user1596683 May 28 at 17:43
  • \$\begingroup\$ Check that RTS/CTS are pulled along your cable (pins 7 & 8 on DB9 connector). And use PuTTY as said for more flexible config. It has CTS/RTS vs DTR/DSR flow controls. \$\endgroup\$ – Eugene Sh. May 28 at 17:47
  • \$\begingroup\$ Ah. Putty crashed on "unhandled win32 exception 1964" on my XP machine. Is there any other way to set CTS/RTS of a serial port? \$\endgroup\$ – user1596683 May 28 at 18:37
  • \$\begingroup\$ @user1596683 Windows machines were notorious for having useless hardware handshake. Things might have changed since I last tried them, but in a workshop a couple decades ago out of at least 20 machines only 2 were able to properly use CTS/RTS on their serial ports. I had designed an instrument that relied on hardware handshake that I was demoing at the workshop, it worked perfectly with Unix/Linux/Mac and our single lab Windows machine before I tested it there. I had to rewrite the communications library to make it work with software handshake. \$\endgroup\$ – Edgar Brown May 28 at 18:48
0
\$\begingroup\$

A framing error on the Tx side (Instrument or PC) means the connection was not ready to send data.

You have two choices use a cable compatible with the one in user manual to connect the status lines, or make loopback jumpers to fake that it is ready all the time on the serial port.

  • on instrument side make a jumper pin 2 (CTS) to Vcc > 3V to 15V

Serial Port
The Serial Input/Output (I/O) Port is used to connect the instrument to the Accessory Printer(Cat. No. 335488) or to an external device, enabling the instrument to accept and execute any one of six commands sent from the device in RS-232-C format. The signals on each pin are listed below:
1 Analog output
2 Clear to send (CTS)
3 Ground
4 Transmit data (TXD)
5 Receive data (RXD)
6 Print (1200 Bd)
Refer to page 2-5 for remote operation and to Table2-1 on page 2-1 for cabling requirements.

  • On PC side jumper DSR to DTR and RTS to CTS.
    One or both of these should make device = ready.
\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.