Author Topic: == Connecting multiple boards on a network ==  (Read 9937 times)

modtro2

  • Administrator
  • Hero Member
  • *****
  • Posts: 564
    • View Profile
== Connecting multiple boards on a network ==
« on: September 28, 2005, 04:02:30 PM »
When connecting multiple Ethernet SBC boards (SBC44EC, SBC45EC, SBC65EC, SBC68EC....) onto a network, there are a couple of points that should be noted.

Unique MAC and IP address
When using multiple Ethernet SBC devices, it is VERY important that you give each one a unique MAC and IP address. At delivery they all have the same MAC address = "0.4.163.0.0.0". You can change this on the network page of your SBC device. If the MAC fields are not editable, first log in (click on login page) with Username=admin and Password =pw (or mxsuper:pw for old SBC44EC and SBC45EC boards). After logging in, go back to the network page. The MAC field will now be editable. For example, if you have 5 Ethernet SBC boards on your network, increment the last digit for each one. Give them the following MAC addresses:
Ethernet SBC number 1 = "0.4.163.0.0.0"
Ethernet SBC number 2 = "0.4.163.0.0.1"
Ethernet SBC number 3 = "0.4.163.0.0.2"
Ethernet SBC number 4 = "0.4.163.0.0.3"
Ethernet SBC number 5 = "0.4.163.0.0.4"
Do the same thing for the IP address. Each device must have a unique IP address. For example, increment the last digit of the IP address. First device="10.1.0.1", second device="10.1.0.2", third ........

On windows, after doing this, it is a good idea to clear the ARP table of your computer. You can do this by entering the following command in a DOS command window:
Code: [Select]
arp -d
Use a switch
It is very important to connect the SBC boards to a switch, and not a hub. Especially when on a busy network. The switch will only send network packets to the devices they are addressed to. Any network packets not addressed to the devices, will not be sent to it by the switch. On a busy network there are 1000s of network packets being sent all over the place all the time, and if no switch is use, all these packets will be sent to every SBC board. This migth be too much for it to handle. When your Ethernet SBC board is connected to your network through some other device, it might receive all network traffic, if it is meant for it or not. To check if your SBC65EC is connected to the network via a switch like that, send some data on your network (look at a web page, check for email....) and ensure that the activity lights on the SBC65EC do not flash. There might be some short flashes (due to broadcast messages), but shouldn't be too much activity. Nearly all network switches sold now days are like this, and will work.
« Last Edit: June 16, 2009, 02:07:00 PM by modtro2 »

ampires

  • Newbie
  • *
  • Posts: 2
    • View Profile
Re: == Connecting multiple boards on a network ==
« Reply #1 on: February 06, 2009, 07:38:59 AM »
Dear Sirs,
 
Iím experiencing a very strange problem when connecting two SBC68EC together.

The project consists of two SBC68EC acting as MODBUS slaves and connected to two PLCs over an SHDSL Ethernet extender. Iím using an Ethernet switch connected to both the SBC68ECs and the SHDSL modem. The system has been working without a single problem since two years ago.

A recent requirement has emerged to put the two SBC68EC talking one to each other. Consequently Iíve implemented in one SBC the tcp client code and in the other the tcp server (listener) code. I followed the examples supplied by Modtronix with a few changes in order to accommodate my requirements (basically the way how the data to be sent and received is managed).

What happens is that they start to work very well and then suddenly after one or two minutes they stop working. I decided to design two VB6 programs to emulate the SBCís. When I connect each SBC to the respectiveVB6 emulator, everything works as expected, no problems at all. Connecting then the two SBC they donít work.

I also tried to implement the communication using UDP instead of TCP but results are even worst.

Can somebody help?

Thank you.


ampires

  • Newbie
  • *
  • Posts: 2
    • View Profile
Re: == Connecting multiple boards on a network ==
« Reply #2 on: February 09, 2009, 07:03:28 AM »
The problem is not related to the MAC addresses because I've changed them. They are different.

Anyway, my problem was sorted out yesterday.
 
As I mentioned before, the problem was not caused by the MAC addresses because I've changed them before.
 
I know that it is not good practice to change several things at the same time, but I changed the NetBIOS names (they are now different) and uncommented the " #define TCP_NO_WAIT_FOR_ACK " in the projdefs.h file.
 
After a minor modification to the code, everything works ok now.

Thanks.

 


mohandino

  • Sr. Member
  • ****
  • Posts: 25
    • View Profile
Re: == Connecting multiple boards on a network ==
« Reply #3 on: June 12, 2011, 04:55:54 AM »
The problem is not related to the MAC addresses because I've changed them. They are different.

Anyway, my problem was sorted out yesterday.
 
As I mentioned before, the problem was not caused by the MAC addresses because I've changed them before.
 
I know that it is not good practice to change several things at the same time, but I changed the NetBIOS names (they are now different) and uncommented the " #define TCP_NO_WAIT_FOR_ACK " in the projdefs.h file.
 
After a minor modification to the code, everything works ok now.

Thanks.

 

Hello,

I whant to use the modbus protocol whith my sbc68ec, can you help me ? ( give me your sources ) , HAvez you made a web site to explain, any tutorials ?

thanks for your help

mohandino

  • Sr. Member
  • ****
  • Posts: 25
    • View Profile
Re: == Connecting multiple boards on a network ==
« Reply #4 on: June 15, 2011, 02:30:01 AM »
Hello, can you tell us if you have finished your work with the modbus  on the sbc ?

thanks

AlexKots

  • Jr. Member
  • **
  • Posts: 5
    • View Profile
Re: == Connecting multiple boards on a network ==
« Reply #5 on: November 20, 2012, 10:32:09 AM »
I have a SBC65EC and I did a serious mistake!
I disabled the serial bus and the "connection" to the UDP.

Now after rebooting the device, there is no communication!
Is there any way to reset the board to its initial state?


gr

  • Hero Member
  • *****
  • Posts: 171
    • View Profile
Re: == Connecting multiple boards on a network ==
« Reply #6 on: November 20, 2012, 11:02:37 AM »
This is a bad place to post this message because almost no one will be notified.  Create a new thread if you don't get a useful response and by all means don't reply to this post as I will probably be the only one who sees it.  But if you start a new thread...


The bootloader code should be protected even if you wrote over the existing code. 


I don't understand what you mean by disabling udp but if you

a) commented out key code, recompiled and linked the code, then downloaded the code with bootloader then:
Put the safe mode jumper in, run the bootloader program on your pc and download the working software.  You may have to time things - power cycle the board at the right moment when you hit the connect button in bootloader.  I beleive there is a 3 second window after you reboot the board that the bootloader can connect to it.

b) If (more likely) you disabled something with the web interface then the solution should be even easier maybe?  Maybe all you have to do is put the safe mode jumper in?  And then try to find the board?  I think if you read the manual it explains where everything is stored.  I think there are 4 prom locations.  One for code.  One for bootloader which is unerasable.  One for all the settings such as the web settings and ip address and so on.  And one for the web pages which might be the same spot.

There should be a way to reset all the settings/web settings.   Probably you can do it from the bootloader.  Read the manual.

Certainly for the first second or two after you boot the SBC it ignores all those settings and you can talk to the board with the bootloader even if UDP is disabled (whatever that means).