RS-485 protocol

Hi-

Does anybody know of an off-the-shelf serial protocol that will work with RS-485? Ideally, it would be like Kermit, only multi-drop instead of point-to-point. (As I understand it, Kermit and [xyz]modem are only available for point-to-point communications.) It should also be Open Source (or really cheap) :wink: and work with QNX4. Master-slave is sufficent for our application.

It would be nice if we could get file transfer going without writing our own protocol…


TIA,

  • Pete


    PS- We’ve got the hardware covered already.

There is no serial protocol for RS-232 vs RS-485 that defines bytes within a
packet. RS-485 defines an electrical interface (RS-232 = unbalanced =
TxData, RxData & Ground vs. RS-485 = balanced = TxData+, tXdATA-, rXdATA+,
rXdATA- ) RS-485 will therefore travel much greater distances without
interference from electrical noise.

Note: RS-485 is often used in multi-drop circuits as opposed to RS-422 which
is the point to point equivlent. And multi-drop will require some protocol
imposed upon it. However, I have used several pieces of RS-485 hardware in
point to point situations just fine. It was absolutely invisible that the
two devices are 485 as opposed to 232. I assume the reason you are asking
is for hardware compatabibility. If not, just ask again with more detail.


Pete DiMarco <peted.NOSPAM@NOSPAM.ifspurity.com> wrote in message
news:Voyager.010117132055.162A@node1…

Hi-

Does anybody know of an off-the-shelf serial protocol that will work
with RS-485? Ideally, it would be like Kermit, only multi-drop instead of

point-to-point. (As I understand it, Kermit and [xyz]modem are only
available for point-to-point communications.) It should also be Open Source
(or really cheap) :wink: and work with QNX4. Master-slave is sufficent for
our application.

It would be nice if we could get file transfer going without writing
our own protocol…


TIA,

  • Pete


    PS- We’ve got the hardware covered already.

Actually, I’m looking for a file transfer program (similar to Kermit or x/y/zmodem) that I can use on a RS-485 network that has multiple nodes. All file transfers would be initiated at the master node (probably a Linux box). There would be several slaves (QNX4 embedded systems) on the network.

Basically, if I could tell Kermit to connect to a particular node address, that would solve the problem.


Previously, Bill at Sierra Design wrote in comp.os.qnx:

There is no serial protocol for RS-232 vs RS-485 that defines bytes within a
packet. RS-485 defines an electrical interface (RS-232 = unbalanced =
TxData, RxData & Ground vs. RS-485 = balanced = TxData+, tXdATA-, rXdATA+,
rXdATA- ) RS-485 will therefore travel much greater distances without
interference from electrical noise.

Note: RS-485 is often used in multi-drop circuits as opposed to RS-422 which
is the point to point equivlent. And multi-drop will require some protocol
imposed upon it. However, I have used several pieces of RS-485 hardware in
point to point situations just fine. It was absolutely invisible that the
two devices are 485 as opposed to 232. I assume the reason you are asking
is for hardware compatabibility. If not, just ask again with more detail.


Pete DiMarco <> peted.NOSPAM@NOSPAM.ifspurity.com> > wrote in message
news:Voyager.010117132055.162A@node1…
Hi-

Does anybody know of an off-the-shelf serial protocol that will work
with RS-485? Ideally, it would be like Kermit, only multi-drop instead of
point-to-point. (As I understand it, Kermit and [xyz]modem are only
available for point-to-point communications.) It should also be Open Source
(or really cheap) > :wink: > and work with QNX4. Master-slave is sufficent for
our application.

It would be nice if we could get file transfer going without writing
our own protocol…


TIA,

  • Pete


    PS- We’ve got the hardware covered already.
    \

OK. So you do need a multi-drop protocol. And it sounds like this RS-485
network is already in place.

Can you write a driver that puts a byte stream into your 485 packets, sends
them out, strips off the packet on the other end and regenerates a byte
stream? That would be my choice. Short of that I don’t know what you could
do that wouldn’t interfer with the rest of your 485 network.

I seem to have really mis-communicated. :slight_smile:

Previously, Bill at Sierra Design wrote in comp.os.qnx:

OK. So you do need a multi-drop protocol.

Yes.

And it sounds like this RS-485
network is already in place.

Actually, no. We are currently developing an embedded system that will have an RS-485 port. Groups of these systems will eventually be networked together. The RS-485 network will also have a “master” computer that will poll the embedded systems for information.

At a previous company, my co-worker and I had developed a protocol and a set of programs for transmitting data across a 485 network. The development process was a hassle that I would prefer not to repeat. Since we don’t have access to what we did at our previous company (nor would we want it :slight_smile: ), we need to come up with a new solution.

It would be nice if there were a set of programs already out there that would handle file transfers across a 485. Rather than have to worry about splitting files into packets, calculating CRCs, etc., I’d like to just be able to type something like “send_file -node 2 filename” (or have a simple API I can call from a C program).

Hope this makes sense…

  • Pete


Can you write a driver that puts a byte stream into your 485 packets, sends
them out, strips off the packet on the other end and regenerates a byte
stream? That would be my choice. Short of that I don’t know what you could
do that wouldn’t interfer with the rest of your 485 network.

Hmmm. I have actually spent a good deal of time in the last few years battling with a similar problem on RS485. It is a good intellectual challenge and one which, I agree with you, you wouldn’t saddle up for twice. Still, looks like you are stuck with it. At least you are allowed to poll. I wasn’t allowed to and so our network does carrier sense
and collision detection - try doing that with off-the-shelf stuff.

Have a think about this (I haven’t tried it and i suspect there would be holes everywhere). QCP that works with qtalk for file transfers in qnx4 just talks stdin-stdout. If you limited your program to just pulling packets on and off the 485, dealing with the carrier (direction) control and sorting out addressing, you could let qcp do the
packetising and error-correction for file transfer.

How does that sound?

Pete DiMarco wrote:

I seem to have really mis-communicated. > :slight_smile:

Previously, Bill at Sierra Design wrote in comp.os.qnx:
OK. So you do need a multi-drop protocol.

Yes.

And it sounds like this RS-485
network is already in place.

Actually, no. We are currently developing an embedded system that will have an RS-485 port. Groups of these systems will eventually be networked together. The RS-485 network will also have a “master” computer that will poll the embedded systems for information.

At a previous company, my co-worker and I had developed a protocol and a set of programs for transmitting data across a 485 network. The development process was a hassle that I would prefer not to repeat. Since we don’t have access to what we did at our previous company (nor would we want it > :slight_smile: > ), we need to come up with a new solution.

It would be nice if there were a set of programs already out there that would handle file transfers across a 485. Rather than have to worry about splitting files into packets, calculating CRCs, etc., I’d like to just be able to type something like “send_file -node 2 filename” (or have a simple API I can call from a C program).

Hope this makes sense…

  • Pete

Can you write a driver that puts a byte stream into your 485 packets, sends
them out, strips off the packet on the other end and regenerates a byte
stream? That would be my choice. Short of that I don’t know what you could
do that wouldn’t interfer with the rest of your 485 network.

Pete DiMarco <peted.NOSPAM@NOSPAM.ifspurity.com> wrote in message
news:Voyager.010118132141.162A@node1…

I seem to have really mis-communicated. > :slight_smile:

And I really misunderstood. Sorry.


Previously, Bill at Sierra Design wrote in comp.os.qnx:
And it sounds like this RS-485
network is already in place.

Actually, no. We are currently developing an embedded system that will
have an RS-485 port. Groups of these systems will eventually be networked

together. The RS-485 network will also have a “master” computer that will
poll the embedded systems for information.

If this is for something not yet implemented, can you use ethernet instead
of RS-485. If would be infinately faster, more reliable and versitle.
(Well almost.) And it could actually cost less then some 485 hardware.

I don’t think there is an off-the-shelf solution for what you are trying to
do. Since no one els has volinteered any information either you just might
be out of luck.

I used Modicon’s Modbus protocol over a 484 link to 24 imbedded devices… The
Modbus protocol is public and you would just need to pick and choose the
functions to implement. (Modbus is Modicon’s PLC’s protocol.)

I could look for a reference if it interests you.

KenR

Bill at Sierra Design wrote:

Pete DiMarco <> peted.NOSPAM@NOSPAM.ifspurity.com> > wrote in message
news:Voyager.010118132141.162A@node1…

I seem to have really mis-communicated. > :slight_smile:

And I really misunderstood. Sorry.

Previously, Bill at Sierra Design wrote in comp.os.qnx:
And it sounds like this RS-485
network is already in place.

Actually, no. We are currently developing an embedded system that will
have an RS-485 port. Groups of these systems will eventually be networked
together. The RS-485 network will also have a “master” computer that will
poll the embedded systems for information.

If this is for something not yet implemented, can you use ethernet instead
of RS-485. If would be infinately faster, more reliable and versitle.
(Well almost.) And it could actually cost less then some 485 hardware.

I don’t think there is an off-the-shelf solution for what you are trying to
do. Since no one els has volinteered any information either you just might
be out of luck.

For the Modbus protocol see:

(Don’t use their search facility - it gets the wrong link)

http://public.modicon.com/
Navigate: Support Home, Networks / Modbus, Modbus Technical Manuals - Scroll down
to:

PI-MBUS-300 Modbus Protocol Reference Guide

Content type
Publications / Product Manuals
Published
04/13/99
Language
English
Product Group
Networking
Product Family
Modbus
Description:
Describes the use of Modbus protocol in
communications between programmable
controllers and other devices. Explains
how messages are constructed and parsed by
Modbus devices, and how transactions take
place between devices using the protocol.

Attachment:
PI_MBUS_300.pdf (176.4K)

KenR

rectech wrote:

I used Modicon’s Modbus protocol over a 484 link to 24 imbedded devices… The
Modbus protocol is public and you would just need to pick and choose the
functions to implement. (Modbus is Modicon’s PLC’s protocol.)

I could look for a reference if it interests you.

KenR

Bill at Sierra Design wrote:

Pete DiMarco <> peted.NOSPAM@NOSPAM.ifspurity.com> > wrote in message
news:Voyager.010118132141.162A@node1…

I seem to have really mis-communicated. > :slight_smile:

And I really misunderstood. Sorry.

Previously, Bill at Sierra Design wrote in comp.os.qnx:
And it sounds like this RS-485
network is already in place.

Actually, no. We are currently developing an embedded system that will
have an RS-485 port. Groups of these systems will eventually be networked
together. The RS-485 network will also have a “master” computer that will
poll the embedded systems for information.

If this is for something not yet implemented, can you use ethernet instead
of RS-485. If would be infinately faster, more reliable and versitle.
(Well almost.) And it could actually cost less then some 485 hardware.

I don’t think there is an off-the-shelf solution for what you are trying to
do. Since no one els has volinteered any information either you just might
be out of luck.

Thanks for the pointer. We’ll look into it.

  • Pete


    Previously, rectech wrote in comp.os.qnx:

For the Modbus protocol see:

(Don’t use their search facility - it gets the wrong link)

http://public.modicon.com/
Navigate: Support Home, Networks / Modbus, Modbus Technical Manuals - Scroll down
to:

PI-MBUS-300 Modbus Protocol Reference Guide

Content type
Publications / Product Manuals
Published
04/13/99
Language
English
Product Group
Networking
Product Family
Modbus
Description:
Describes the use of Modbus protocol in
communications between programmable
controllers and other devices. Explains
how messages are constructed and parsed by
Modbus devices, and how transactions take
place between devices using the protocol.

Attachment:
PI_MBUS_300.pdf (176.4K)

KenR

rectech wrote:

I used Modicon’s Modbus protocol over a 484 link to 24 imbedded devices… The
Modbus protocol is public and you would just need to pick and choose the
functions to implement. (Modbus is Modicon’s PLC’s protocol.)

I could look for a reference if it interests you.

KenR