750-658 - How to use FbCanRx29BitFrameall?

Hello,
I use an 750-658 card to collect and send CAN Frame. It is working with FbCanRx29BitFrame.
I have various periods for Received Frames: 10ms, 50 ms, 100ms and 5s.

I would like to use FbCanRx29BitFrameall instead of with a period of 20ms. I have put data on each array with the CAN ID.
My question is How to be sure that the 10ms frames will not hide all others frames?

Hi,
If I understand you correctly I believe the answer is that you should enable the FunctionBlock-innput «xBufferMode». This will make the FunctionBlock store not only the very latest incoming CAN-message but also older ones that have arrived inbetween the CoDeSysTask-execution. That said; please be aware of the limited bandwidth between the Controller (e.g. 750-821x) and 750-658. That is; even though the 750-658 is capable of CAN-speeds up to 1 Mbps the 750-658 also needs to exchange associated data with the Controller through an internal bus (kbus) and this basically limits the average bandwidth well below 100 kbps. So, for instance; the 750-658 can easily receive (and buffer locally) CAN-messages at 1 Mbps, but if the timegap between the CAN-messages becomes so short that the average bit-rate of the incoming CAN-messages exceeds the kbus bandwidth then the internal bus (kbus) will start losing CAN-messages.

Thanks WagoTorgeir,
I use FbCanRx29BitFrameall with buffer mode and it is working.
I asked support to have more informations about the buffer array.

Ok, as far as I remember the functionblock must be called multiple times within the same TaskCycle in order to read out the buffered messages.