Put dataread.vi inside the main case structure so it runs alongside the while loop with the event structure, and just wire your start/stop global to the stop terminal in the subVI. You'll need to either invert it or change the "stop if true" to a "continue if true." This will stop the subVI when you click the stop switch and the main VI will go through the big loop without doing anything until you start it again.