This VI generates an FM signal but nowhere near real-time. I doubt you could use this in a real-time application at all. Each time through the loop it creates a waveform at a frequency defined each time through the loop. You would then have to modify this VI to write to the analog output channel each time through the loop. This takes more time than you want so you wouldn't be able to update the waveform as fast as you seem to want to. It would be much slower than the vi I posted.
The vi I posted only updates the sampling rate without changing the data that is repeatedly being output by the analog output channel so without having to send new data to the analog output channel, we are able to change the frequency of the analog output.
The limit to the vi I posted is defined by the speed of the while loop. I timed the loop at 2 ms because it didn't run fast enough when I set the timing to 1 ms. This means you can update the FM modulation at a rate of 500 Hz. If you wanted to modulate the signal with a square wave, you could run it at 500 Hz by switching between two values each time through the loop. But if you want a smoother FM modulation (sine, triangle, sawtooth), you will have a lower maximum modulation frequency. I mentioned 50 Hz because that gave the sine wave modulation 10 samples per cycle which gives a smaller jumps in frequency over time.
I will take a look at what it will take to speed it up and get back to you. There are a few things that might increase speed some, but not orders of magnitude improvement.
Randall Pursley