05-07-2012 10:59 AM
Hello, all. So I'm using an cDAQ-9181 as well as a Silex SX-500 serial device module to control an XY scanner system. Essentially the silex module operates the X-Y servo motors through an RS-232 connection and the NI-9401 module in the 9181 chassis operates a pneumatic cylinder that moves in the Z direction. I have two of these systems, essentially identical, daisy-chained together (scanner two has a network switch that is connected to scanner one's network switch that is connected to the controlling computer).
Scanner two works fine. Complete XY movement, cylinder works well. Scanner one will move in the XY direction, but the first time the pneumatic cylinder is triggered my VI is no longer able to communicate with the Silex module and cannot control the servo motors. It seems like the module was just "bumped" off the network.
Everything is on a static IP address and the same subnet on a local-only network. Computer is 169.254.100.110, subnet mask 255.255.255.0. Silex modules are 169.254.100.101, 169.254.100.201 respectively. NI cDAQ modules are 169.254.100.102, 169.254.100.202 respectively. I have all four modules set to subnet mask 0.0.0.0; I'm not sure if they should be set to the same as the computer or not but I've tried both ways.
Is this a network conflict? Anyone ever had a similar problem? Thanks for the help
05-08-2012 11:32 AM
Hi GatorMech89,
When using network devices, you want them to be on the same subnet, and this is determined by the subnet mask. I believe you mean you have a subnet mask for the chassis (not the modules) since you can't assign IP addresses to the modules themselves. Try keeping the IP addresses but using a subnet mask of 255.255.255.0, just like your computer.
It certainly sounds like a network conflict since hosts on different subnets cannot communicate, if not through a router, but you're just using a switch, so all hosts should be on the same subnet. The odd thing is that this is triggered when the first cylinder activates.
05-09-2012 02:46 PM
If you're using static addresses, you should not use the 169.254.x.x subnet; this is used for link-local (automatic private addressing).
I also expect that your use of the '0.0.0.0' subnet mask may be causing problems; this value indicates which bits in the IP address are the 'network' and which are the 'node', and by saying '0.0.0.0' you've said there's no 'network' portion.
Put all the devices on one of the IANA-reserved private network ranges, or a subnetwork of those ranges:
So, for example, put:
This puts everything onto the 192.168.100.0/24 network.