11-11-2003 08:55 AM
11-11-2003 09:59 AM
11-13-2003 02:51 PM
11-13-2003 09:47 PM
11-14-2003 01:43 AM
11-17-2003 02:13 AM
04-06-2006 01:39 AM
Hi Dirk !
Just a question about the queue length. You wrote you can have 350 messages defined for all queues... Is it 350 messages for read/ write queue of one board ? One port ? All boards ???
Hmm.. about the number og object that can be defined... I tought it was 255 objects for all cards ...
04-06-2006 10:01 AM
Hi,
It is a question of how you use the onboard memory as mentioned aerlier in this thread. In the end it is aprox. 350 messages for all queues but can differ .
The number of objects (50) is for one board, no matter using one port or two.
DirkW
04-06-2006 11:14 AM
Hello Dirk,
I also want to point out the issue of maximum number of CAN objects. For our application, we intended to use the Channel API, with timestamp for each frame we receice. In this case, we discovered it was compulsory to create one object for each frame.
Our NI local support indicated us that there was a maximum of 50 CAN objects per card. For the dbc files we expect to use, having a 50 frame limitation is really a problem.
However, I tested the real limitation with latest version of NI-CAN driver used on a PXI-RT controller, and what I found is that there is a limitation of 127 objects, but global for the whole system. So 2 ports on 2 different boards would have to share these 127 objects.
To do this benchmark, I created plenty of ncd files and created 1 object for each ncd. Each channel could be used for reading or writing.
Have I something wrong in my benchmark setup ? Where would this 49 or 50 objects limitation come from.
In my understanding 127 was also considering the maximum of 32 CAN cards therotically supported. With 2 ports per card and 2 objects created for each port, that would lead to 2x32x2 indeed.
Now we use the Frame API, using a dedicated dll to perform channel to frame conversion, but I think NI CAN limitations are really unclear...
04-07-2006 07:55 AM
Hi Impriser,
Ok we have to take care not mixing Frame and Channel API facts. The 50 Objects Limit is related to the onboard memory used by Objects created with the Frame API.
The Channel API with Sample Rate 0 mainly uses the RAM memory and therefore other Limits apply. The Channel API allows you to create max 128 Tasks, that means you can create 128 Task Handles using the Initialize Function and the 128th would cause an error message.
The second Limit for the Channel API is that the max number of messages in your tasks is limited to 272 minus the number of Tasks you are using.
DirkW