If you need to update the data of your waveform, the basic Transmit Periodic type is preferable to Transmit Periodic Waveform. As Randy pointed out, the Transmit Periodic Waveform is limited, in that it doesn't really allow updates.
The attached LLB shows a method that ensures that each "point" of the waveform is transmitted, yet allows the waveform to be updated. It includes a Tranmit and Receive VI, so you can try it port-to-port.
The idea of this example is to use the Write Queue to maximum advantage. It keeps writing data points to the write queue, and when it detects overflow (queue full), it simply re-submits the point. Since this technique does not wait on any CAN states, it buys time for other code (such as another CAN Object, DAQ code, and
so on).
In your case, I'd recommend 2 CAN Objects with Transmit Periodic type, each 500ms each. Each loop, you can write 1 point for each CAN Object, then use a LabVIEW Wait of about 400ms (or do other processing). You won't even need to look for overflow. This should ensure that you always submit a new point before it is transmitted to the bus.