What is the best data transmission protocol for high noise environment?

Hi.
How about using Siemns' Power Rail Booster.
PDF:
https://cache.industry.siemens.com/dl/files/069/60522069/att_91594/v1/PRB_12_2005_e.pdf
From the Manual:
"The PRB (Power Rail Booster) is intended for use as a network component in electrical PROFIBUS networks. It's purpose is the amplification and safe, reliable transmission of PROFIBUS signals. The PRB enables the transmission of PROFIBUS signals over contact rails,loops and other cable types (such as telephone cables) not compliant with the PROFIBUS Specification. The PRB also enables data transmission in the face of an excessive EMC load."

Knut
 
I’d be much more concerned about inducted voltage than noise. I’d be looking for a power line modem that’s designed to deal with the amount of voltages you’re dealing with. Having said that, I’m not sure anybody is making that sort of technology anymore.

Ok It is going to take a while for me to research everyone's suggestions. I started with the powerline modem suggestion since it would even further reduce the number of conductors needed.

Actually powerline modems are still around, and have only gotten better recently. They are making gigabit EoP device pairs that sell for <$100 and have a range of 300m. Unfortunately they're all consumer grade stuff, with industrial offerings scarce to nonexistent. At the price they're worth the experiment, but I don't have high hopes.

There's only one company I found offering industrial solutions, Adaptive Networks. I'll give them a call this week and get some details and pricing. I'm imagining a 5 digit price tag.


But one potential solution I came across while googling for powerline modems was DSL modems. I wasn't aware that DSL modems could be used for more than just obtaining internet access from an ISP in 2004. I wasn't aware that DSL modems can be used to extend an ethernet network 8km over a single unshielded pair. What do you guys think about this?

If it can transmit error free 15Mbps through an unshielded 8.0 km (or 100Mbps through a 3.0km) aerial antenna and back, then to me it seems at least half way plausible that it could transmit 0.2km through a shielded twisted pair, perhaps at a lower data rate, despite running the gauntlet of intense EMI.
 
Hi.
How about using Siemns' Power Rail Booster.
PDF:
https://cache.industry.siemens.com/dl/files/069/60522069/att_91594/v1/PRB_12_2005_e.pdf
From the Manual:
"The PRB (Power Rail Booster) is intended for use as a network component in electrical PROFIBUS networks. It's purpose is the amplification and safe, reliable transmission of PROFIBUS signals. The PRB enables the transmission of PROFIBUS signals over contact rails,loops and other cable types (such as telephone cables) not compliant with the PROFIBUS Specification. The PRB also enables data transmission in the face of an excessive EMC load."

Knut

Have you used one before? I have. It's been a few years and I don't remember all the details but I do remember walking away with a bad taste in my mouth. It was on a tubular strander (cable twisting machine) and the OEM had profibus running through a series of slip rings. It had constant profibus issues due to the sliprings. So I installed one of those, it didn't fix the problem, and made it harder to troubleshoot the machine; IIRC it was because my profibus tool wasn't able to see "through" the PRB - it wan't a "transparent" device. ...I think.... I'll estimate that was the reason with 80% confidence. If that wasn't the reason, there definitely was a reason I didn't like it.

I might be alone in this, but most times I come in contact with profibus, things become much more agonizing than they need to be. It's probably just me; I'm probably just allergic to it. I know millions of devices are communicating flawlessly with each other over profibus as I type this, but I can't help the primal association hard wired in my head between profibus and cruel torment. I can't see myself designing anything around profibus unless it floats to the surface as the only possible solution.
 
Re the profibus problems, then it is obvious that the testing tool could not see through the powerline boosters. The powerline booster regenerates the signal, thereby stripping all information for the testing tool to work with.

In addition to the suggestions so far, I also suggest to remove as much noise from the VFD driven wires by the use of sinus-filters. Not to be confused with regular output chokes.
 
Forget powerline stuff - had to use it on a job - nothing but trouble! Had to replace it with fibre optic comms.
 
I have used the Adaptive Networks AN1000's to communicate between a PC and moving cranes which had onboard A-B PLC2's. They did work reliably for low baud rate RS-232 communications (1200 baud as I recall). That was at least 30 years ago. I didn't even know that A-N was still around until you dug up that link.
 
I have used the Adaptive Networks AN1000's to communicate between a PC and moving cranes which had onboard A-B PLC2's. They did work reliably for low baud rate RS-232 communications (1200 baud as I recall). That was at least 30 years ago. I didn't even know that A-N was still around until you dug up that link.

Interesting... We're working on a project to upgrade a warehouse from PLC-2 to Logix. The existing system has Adaptive Networks AN-192 modems that were installed with the PLC-2 upgrade in 1989. The 480V:120V isolation board looks like a homebrew kluge, even if it is shown in the manual. The serial ports run at 9600 baud and I saw no update delays as the crane moved down the aisle and the power pickups were sliding along the distribution rails.

Later this month we find out how well wireless Ethernet works.

Mike
 
I have some results if anyone is interested. I tested RS485, CANbus, and 2-wire DSL extender.

In all tests I used Arduino as a test platform, as Arduino is considered expendable. My test program was written in Python; It it generates a 20byte text string containing a number. The arduino on the other end receives the string, parses out the number, adds one, and retransmits the string back to Python on my PC. Python checks the number, adds one, and sends it back, and repeat.

The tradeoff for using Arduino is that the crude software protocols I wrote for testing purposes did not offer much in the way of error handling. With better protocols in place I could have gotten better results I'm sure.

I tested with one of our existing machines with a 100M umbilical. I looped through the umbilical twice to get 200M. The comms bus was shielded twisted pair 26ga. There were 3 power busses live in the cable:
  • 990V, 2A clean sine AC
  • 230V, 3A, clean sine AC
  • Motor power: 0V-3000V, 0-60Hz, 0-3.7A from a VFD, PWM frequency ranged from 8kHz to 20kHz.


For RS485:
On the "surface" side I used a CH341 USB dongle to my PC.
On the "subsea" side I used an arduino Uno with RS485 shield
RS485 worked fine with live 990V and 230V until I started the motor, then my comms were obliterated. Bytes were corrupted beyond repair. A better protocol with auto correction and retransmission might have helped.


For CAN bus:
On the "surface" side I used a Arduino UNO with CANBUS shield
On the "subsea" side I used an Arduino NANO connected to a CAN module (just to translate CAN to serial)
CAN bus failed miserably once I started the motor. Not only were comms impossible, but it also caused a USB fault in the PC which was powering the "subsea" arduino. I think there is no isolation between the transciever and the USB port. I do not recommend anyone try this as I did, and I don't think any higher protocol would have helped.


For ethernet (DSL extender):
On the "surface" side and on the "subsea" side I used a pair of Netsys DSL extenders.
On the "subsea" side I had an Arduino UNO connected to the extender via an ethernet shield.
Once I turned on the motor, comms got spotty. There was some throughput, but occasional pauses of up to 5 seconds between transmissions.
Then I adjusted the DIP switches on the back, Set all ON (raises SNR and increases retry period to 8mS) and then things got better. The improvement was not immediate, but after 30S or so, it started to come through with no errors and minimal latency.
According to the Netsys manual, there is something of a "learning" period which may last up to 3min, wherein the devices characterize the noise environment and adapt to it.

I am very impressed with the Netsys modules. I did not think they would work. But I am still not 100% comfortable with the "learning" period at the beginning.

I am going to revisit RS485 with some more advanced equipment, maybe a devicenet enabled PLC, and see how much better an INDUSTRIAL device can withstand the noise.
 
Very interesting!

I'll give you one more to try - current loop.

No, not analog current loop but digital.
https://en.wikipedia.org/wiki/Digital_current_loop_interface

20mA or 0mA. I think you'd need A LOT of noise to generate a 20mA current.

Modbus rtu or any other serial protocol would work just fine with current loop. Search for current loop converters.

Regarding RS485: RS485 requires fail-safe termination resistors (three) to make sure the communication is at zero when no device is sending. It's extremely sensitive to noise otherwise. RS422 is much better in that regard as it is full duplex and the transmitters are always active. It only needs a "normal" termination resistor.
 
Last edited:
Very interesting!

I'll give you one more to try - current loop.

No, not analog current loop but digital.
https://en.wikipedia.org/wiki/Digital_current_loop_interface

20mA or 0mA. I think you'd need A LOT of noise to generate a 20mA current.

Modbus rtu or any other serial protocol would work just fine with current loop. Search for current loop converters.

HA! I didn't know that already existed. I was planning on inventing it.

http://www.electro-tech-online.com/threads/comms-bus-immune-to-emi.147504/#post-1255815

No glory for me guess, oh well.
Thanks for the tip. This should save me a lot of time not having to design the hardware.

Regarding RS485: RS485 requires fail-safe termination resistors (three) to make sure the communication is at zero when no device is sending. It's extremely sensitive to noise otherwise. RS422 is much better in that regard as it is full duplex and the transmitters are always active. It only needs a "normal" termination resistor.

I don't know anything about this 3 resistor business; could be the key. I'll look into it and see if it's the missing link. Thanks again.
 

Similar Topics

Had a philosophical discussion with a colleague of a related discipline today and I want to get the opinion of the folks here. The most common...
Replies
5
Views
2,600
We have an AB system that is connected to several CANbus networks via HMS gateways. A CAN message is comprised of upto eight, eight-bit bytes...
Replies
0
Views
1,416
I have two cells. They are identical (almost). Each cell has a Contrologix 1756-L73 processor and a 1756-ENBT addressed at 192.168.1.10. Each...
Replies
29
Views
6,225
Hi all, I've only worked on Profinet once before to talk between a few S7-300 PLCs. I managed to get the system communicating by using the "GET"...
Replies
4
Views
2,574
I'm fairly new to the PLC world. We are adding a pc to a line at my work the pc is to track good/bad parts and up/down time of the machine maybe...
Replies
8
Views
2,489
Back
Top Bottom