Hey Eric,
I have heard back from R&D and understand what the problem is now. If you notice, all of your calculated scan rates are reasonable, except for the 1 Hz rates. The reason for this is that the driver does not actually support any rate slower then ~1.21 Hz. I have already left feedback with R&D that an error message is needed for this limitation.
If you really need a scan rate slower then 1.21 Hz, I would strongly suggest over sampling and disregarding the excess data in software. However, if you would like to know why we have a limitation of ~1.21 Hz, or are curious as to what a possible solution is, please read the rest of this post.
Explanation---
E Series DAQ boards contain a 24-bit scan down counter that they use for AI, and if you look through the driver, you can see that this counter is loaded with a value inside of the DAQmx Base Start Task.vi>> DAQmxBase Start Task ESeries.vi>>ESeries-- Config Timing.vi. Inside of the ESeries-- Convert Clock Rate.vi, the count down value is determined. Another point to note is that this scan down counter runs on the boards 20 MHz clock. So if you want a 1 Hz signal, then the initial scan down value should be 20 million. If you want a 4 Hz signal, the initial scan down value should be 5 million. The problem lies in that a 24-bit counter is limited to 2^24 - 1 (16,777,215) as its highest count value. So when you go to load the register with a value greater then ~ 16 million, you do not get an error, it simply ignores bits in positions greater then 24. So trying to load 19,999,999 (0x1312CFF) effectively loads a value of 3,222,783 (0x312CFF) because of the missing bit. If you divide 3,222,783 by 20 MHz, you get .1611 seconds, yielding a scan rate of 6.2 Hz, which is what we are seeing. Now the slowest possible rate is found by setting the board to the maximum count of 16,777,215. If you divide 16,777,215 by 20 MHz, you get ~.83 seconds, or ~1.2 Hz. At this point, you have probably wondered �why can DAQmx acquire at 1 Hz?� The reason is that DAQmx uses one of your general purpose counters, which can use the internal 100 KHz signal. If you divide 2^24 by 100 KHz, you get 167.77 seconds, or .0059 Hz. If you try and use a rate slower then .0059 Hz, or you reserve counter 0 for a DMA operation, then DAQmx will give an error or a warning. The problem now becomes that DAQmx Base 1.0 does not support using an external clock for analog input. So while it is possible to generate a 1 Hz pulse train with counter 0, the driver will have to be modified in order to support this. If this is of interest to you, then please let us know, and we can look into helping you modify the driver.
I know this is a lot of information. Please let me know what questions you have over the material that I have posted.
Best regards,
Justin T.
National Instruments