I have read through this site and Lynn’s site and it is very informative. But I am having a problem that I hope can be clarified. I have a Siemens D6201 controller that speaks Modbus and has a Lantronix converter to Modbus TCP/IP. I want to switch it to a Digi One for a Modbus to AB Ethernet, (to be polled by a 5/05). The Lantronix and D620i are RS 232 - 2 wire (half duplex). Tech support told me to set it up for RS 232 and terminate and the ground from the D620i to the GND on the Digi serial port 1. Then terminate one wire to either Tx+ or Rx+ and the other to Tx- or Rx-. That did not work, then they told me to set up the Digi One as a Half duplex RS 485. Then they told me to jumper Tx+ or Rx+ and jumper Tx- or Rx-. I would like a one time correct answer.
Assuming that by “Digi One” you mean either a Digi One IAP or a Digi One IA, this should be simple.
Set the 4 dip switches to RS-232: 1 on, 2-4 off.
Ground is screw terminal 5. RS-232 TxD (output from Digi) is terminal 3, and RS-232 RxD (input to Digi) is terminal 2.
All this is actually printed on the side of the unit.
I have tested this–we’ve used the DOIAP in both RS-422 (full duplex) and RS-232 applications.
You MUST turn Digi’s termination ON or you won’t have line BIAS and it won’t work. The Lantronix ALWAYS has line BIAS active, so it works with external (or lack of external) termination. No so for the Digi.
If you expect to use external termination, then you MUST also provide external line bias as well (weakly pull the + wire towards a V+ and - wire towards gnd or V-). I repeat, things won’t work if you don’t have line bias (but some field/slaves devices ALSO supply line-bias, so that would be acceptable).
I am not familar with the Siemens D6201 controller, but I have had bad experience with Siemens products and COM Redirectors (such as Digi RealPort) as Siemens tends to artifically assume timing based on real serial behavior. For example I spent some time goofing around trying to get MicroWin for S7-2xx to talk via modem over Ethernet. I could see MicroWin send “AT”, then (using PortMon) I’d see us return “OK” as 1 Ethernet packet and then Siemens would say “No Response” because I guess they don’t expect BOTH bytes to show up at the same time.
So I have to assume they ask for 1 byte (the “A”) then ask to be notified when the NEXT BYTE comes without first seeing that the next byte is already buffered in Windows, but alas … they are never notified of more data because no more data is coming and they never see the “T”.
My comments on Siemens and COM Redirector would only apply if you wanted that :-).
Assuming the AB/PLC5/05 is using CSPv4 (the old native protocol) and you’re bridging this to Modbus/RTU then you should be fine. The old CSPv4 is preferred because it is far less network traffic & thus work for the DOIAP than the Ethernet/IP protocol.
In such cases I always ENABLE A MODBUS/TCP master and confirm you can use some tool (like ModScan32) to poll the Modbus serial slave BEFORE goofing around with the AB PLC. If the Modbus master cannot poll your modbus slave, then neither will the AB PLC.
Here are some more useful web pages:
This explains how to get an ‘event trace’ from the DOIAP, which can be very helpful if things don’t seem to work:
Here is my blurb on how to setup the SLC5/05’s MSG block:
Here is a useful document on understanding how the DOIAP manages multi-master timing, which explains how to manage the message-vs-slave-vs-character timeouts in a proper manner: