Andy
What programming language are you using? Are you using LabVIEW?
If you are trying to write to more than one digital port (and you are using LabVIEW), you will need to use a Port Config VI for each port, thus generating a task ID for each port. Same goes for reading from more than one digital port.
Please see this
link for example code.
Another thing you can do is check your ports using Measurement and Automation Explorer (MAX). If your ports behave as expected in MAX, then the problem is most likely in your program.
Russell G.
Applications Engineer
National Instruments