I opened a MW support case about this issue and learned a bit. It turns out that virtual CAN transmission works on wall-clock time, while CAN receive works on simulation step time. So the tx/rx are not synced. The reason that speeding up the simulation timestep "worked" was that it literally slowed down the simulation, meaning it became closer to wall-clock time, which brought the Receive side closer to the transmission side.
There is apparently no way to force virtual CAN tx to synchronize with simulation time. The best that can be done is to use simulation pacing, to artificially slow down simulation time.
I had hoped to build simulation test harnesses for CAN communication using these virtual CAN blocks. If anyone has a way to synchronize the transmission with simulation time, please let me know.




