Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations IDS on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

RS-232 questions... need hardware solution.

Status
Not open for further replies.

EngLucas

Mechanical
Jun 21, 2005
2
Here's the story:

My boss asked me to find an alternative way of printing off of a HMI (Human Machine Interface) then the one printer that the company offered for it. The printer that they offered was a Seiko thermal printer that they were selling for $2000 plus the price of the cable. I talked to Dell and they wanted to set me up with a printer for $750 that could be used with the RS232 signal.

I decided that there had to be a cheaper solution and knowing that the HMI sent out RS232 signal, I ended up finding the Sipix A6 thermal printer which uses the RS232 signal. All I had to do was make a cable... so I thought. When I recieved the printer, I rang out the cable they included so I could figure out where each signal to make the cable correctly. I needed to make a cable because the HMI had a female RJ45 jack and the Sipix a6 had a female 8 pin mini-din connector.

The problem came when the Sipix A6 used 5 signals (I believe it is the TXD, RXD, GND, DCD, & either the CTS or RTS) and the HMI interface only sends out 3 signals (TXD, RXD, GND). The HMI's flow control is set to None and the Printer is supposed to be set to Hardware (the HMI doesn't have the hardware option). All other RS232 settings were able to be changed to the required ones for the printer. So I thought that I could spoof the 2 signals (the CTS/RTS and the DCD) the HMI didn't supply. The sipix a6 does not send out the respective signal partner and there is no connection for their pins on the pcb making it so that I couldn't spoof it that way.

This past friday I was messing with the wires and trying out different combinations, somehow I was able to get the printer to run off of only three wires but when I tryed to do it again, it did not work.

Has anyone run into this problem and have been able to solve it? If so, how?

Does anyone know how to make a circuit to emulate the extraneous signals (DCD, DSR, DTR, CTS, RTS) by using a similar IC?

Any solutions are welcome, no matter how jerry-rigged they might be.

I am not an electrical or computer engineer so this stuff is frustrating the heck out of me. Any help will be greatly appreciated because my boss gave me a deadline of friday this week. Thanks.
 
Replies continue below

Recommended for you

Communications glitches drive everyone nuts occasionally. Try working with two modems over 5 miles apart on a pipeline in Alaska... gives me the sweats just thinking about it.

On a 25 pin connector you often jumper pins 4 to 5 and pins 6-8-20 together to fake out the receiving unit.

Now those signal are:
RTS (Request to Send) to CTS (Clear to send)

And

DSR (Data set ready) to DCD (Data carrier detect) to
DTR (Data terminal ready)

Try this, let us know if it doesn't work.
 
Hi-

This is *EXTREMELY NITPICKY* of me and I apologize in
advance. "RS232" only defines SIGNAL NAMES and VOLTAGE
LEVELS. Many older modems were Syncronous not Async
(as is usually assumed).

Just for the record itsmoked has given you the classic
"null modem" connection. You might hear people talking
about it.

As a word to the wise, if you plan on doing a lot of
"RS232" type work, it might be worth it to invest in a
"BLUE BOX". They run about $25.00 and have saved my
rear end countless times.

A handfull of LED's jumpers and switches in a little box
are extremely useful for "dinking" around with cables.

Oh, and one thing that you might look at. See if in the
documentation for the printer if it uses "XON/XOFF"
protocol or "software flow control" stuff. This has
to do with the sending portion of the link sending
characters faster than the receiving hardware can take it.
If both sides do this, then you have TX data going to
RX data and the other way round (maybe) and pin 7 to
pin 7 (signal ground).

The other method of doing flow control is to dedicate
a hardware line (like the aforementioned Clear to Send
or CTS), as a signal to the sending side to slow down
for awhile.

Or, it might just be that the printer can keep up with
the sending side and you don't have to worry about it
at all!

Just my little "rant" and suggestions.

Best of luck.

Cheers,

Rich S.
 
Thanks for the replies. I have figured out more about the printer yet it seems it can't fit the function I need it for.

Jumping the pins doesn't work, The only setting for the printers flow control is hardware. I tested each line and I was able to get the printer to run off three signals, but not the signals I needed.

It ran off the Txd, Gnd, and CTS. It comes down to what the CTS line is doing which is the problem. I thought that I could use my own voltage to fake the clear to send signal but it is not that easy. The software drivers, when printing, send a mesh of positive and negative voltages to control the flow accordingly through the CTS. With a constant voltage (either positive or negative) the printer turns off. Making a circuit to do a switch pattern between the postive and negative didn't work either (I am assuming that the postive and negative voltage coorilates to the computers output and then the computer adjusts accordingly. Right about now I am kind of screwed... At least I made a good power source from a computer power source. $35 total cost and I get +3.3, +5, +12, -5 and -12 vdc output.
 
Have you tried connecting it to a PC (all signal and data lines) and running hyperterminal? You could play with the hyperterminal settings until you get legible data. And taking it further, if it does work, then use it to capture and print data to a 'normal' parallel or USB printer connected to the PC.

There are also 'serial snooper' programs out there that monitor all lines of a port and report logic levels, etc. TAL Tech comes to my foggy mind

By tinkering with an external supply, you could risk damaging the HMI, and that would cost additional $$ and time to repair.

IMHO, buying the Dell printer (if it was specified to work) was probably the cheapest and fastest solution. Or buy the Seiko printer directly from Seiko and skip the HMI company overhead. Or find a used one on ebay. Your time spent on this and the time you could have spent on something else adds up quickly. Plus the potential risk for damaged hardware. I am not lecturing, but rather sometimes our higher up's balk at cost of equipment and then try to 'save' money by tying up personnel in-house to provide a solution.

Best of luck EngLucas, and let us know how it turned out!

Wheels within wheels / In a spiral array
A pattern so grand / And complex
Time after time / We lose sight of the way
Our causes can't see / Their effects.

 
Status
Not open for further replies.

Part and Inventory Search

Sponsor