I want to have a pci6528 output line output the signal periodically like 101010...., the cycle numbers and the time interval between 1 and 0 are the parameters which we should input from user interface. I am using labwindows/CVI for programming. How should I do?
The PCI 6528 card can only do static timing for Digital I/O. This means that you must cycle between the 1's and 0's using software timed I/O. Software timed I/O will be limited by operating system, other applications running, CPU speed, etc. I would highly recommend taking a look at some of our examples found in the example finder (Help » Find Examples) in LabWindows CVI. I would specifically look at the example entitled WriteDigChan.prj (Help » Find Examples » Hardware Input and Output » DAQmx » Digital Generation). This example simply writes a 1 (high) or a 0 (low) to a digital channel. This example could be modifed to include a loop that writes a digital output channel from high to low to high etc. Using a wait type function, you could allow the user some control of how fast this loop executes. Depending on how fast you need the digital channel to switch from high to low this might or might not be possible. At slower rates (millisecond or greater loop rates), it should be possible to have reasonable control over software timed loop rates. However, unless your using a real-time operating system (with deterministic timing), the output accuracy may vary.