Hi Jos,
Your observation is correct. The trigger is generated when the frame is successfully received. Whether the CAN frame is valid or not (correct baud rate, not bit errors, etc.) is only known when the end of the frame (EOF) is reached. At your frame length (~140 bit @ 250kBs), the EOF is at about 560 us after the StartOfFrame (SOF).
Both NI CAN card types (Series 1 & 2) get the information about an incoming frame only, when the CAN controller determined that the transmission was good. Triggering on the SOF could be problematic as the transmission might stop before the complete frame was on the bus and is retransmit (e.g. because of an error frame during the transmission).
I don’t know your application, but one could run the DAQmx measuring task continuously and filter out later everything that is older than 600 us before the trigger pulse from the CAN card occurred.
If there is no way around triggering on the SOF, you probably need the help of a data acquisition card (analog input in differential mode) to detect the change of state from idle to SOF.
-B2k