10-14-2019 05:05 PM
So I'm interested in having a system with 16 CAN ports on a single computer, would something like 8 USB-8502s work? Is there a limitation to the number of XNet devices to be enumerated on a system? I realize there is a practical limitation at some point in regards to the bus load. I mean if I had 16 CAN ports all at 100% bus load at a baud of 1M then my LabVIEW code is probably going to struggle to read all CAN frames and do something like log them all. In my situation 8 buses will probably be at 10% load, and 8 will be at 40% load or so. Both running at 500k baud, and I'd like to log all CAN frames.
I realize there is a session limitation with XNet but it seems quite high. 8 Frame Input Stream sessions per CAN port (I will probably have 1) and 8192 sessions per system. At most I could see having 5 sessions per port only making 80. Output sessions are "limited by system memory.
I guess a different question is, what is the most number of CAN ports that has been deployed to a single system? I've seen 9 USB-8473 into a single USB hub and then have that go into a single USB port on the computer and work but I wasn't logging all CAN frames just sending out some stuff in software timing that wasn't critical. And in this case I think I'd be running Windows on a desktop and try to dedicate a physical USB port for each device and avoid hubs. Although I may need to invest in some PCI-E USB cards.
Does NI (or anyone) see an issue with this kind of system? It won't be doing much else other than than some non-time critical controlling of ethernet or serial based devices. I've never had this many devices on a single system and am just trying to predict where the limitation will happen. Thanks.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
16 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
10-20-2019 05:08 AM
I have several systems with 9 NI-9860's (and 18 TRC-8542's) on a cDAQ-9179 that have worked fairly well, even on laptops or plugged into a USB hub. The systems use CAN FD with 2M data and 500k arbitration for 16 of the channels and 500k standard CAN for the other two modules. I do log all CAN frames with stream sessions on each device.
I haven't tried large numbers of USB-8502's. It would be nice to know if they work reliably, as they are about half the cost per channel of the cDAQ modules (or the similar 6-port PXI modules).
There is one other limitation that you didn't mention (though this application won't get anywhere near it): XNET only supports CAN1 through CAN200 as interfaces. If you are using XNET 16.1 or earlier, that drops to CAN1 through CAN100. This is mostly a problem if you try to do some sort of numbering scheme for your devices (https://forums.ni.com/t5/Additional-NI-Software-Idea/Custom-aliases-for-CAN-LIN-FR-buses-in-MAX/idi-...).
10-21-2019 09:00 AM
That's really encouraging news to hear. That is quite a system and I'm a bit impressed it works as well as it sounds. Our design has changed a bit and is a little more modest. I think we are now planning on having 5 USB devices, 9 CAN FD (500k and 2M), and one 500k, logging all the CAN FD data. Our desktop has lots of USB 2.0 ports no 3.0. Lots of RAM, and a decent processor, but at the moment we are planning LabVIEW 32-bit. I'll certainly report back on how it works in our setup.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
16 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
10-21-2019 10:11 AM
The biggest issue I've had with that many devices is that every once and a while, the names would reset themselves. That was a while back -- maybe this never happens anymore. Complete pain when it did, though.
I wouldn't worry about the bandwidth so much. Reasonably modern systems can stream HD video off USB, decode and display. Compared to that CAN is a rounding error.