You could enclose all of your "working code" in a case statement, have the loop running (at whatever loop rate < 2 seconds) and in the "non-working code" case check for an elapsed time of 2 seconds. If you need to have it be more accurate you could have a sub-vi that waits two seconds, but has an internal "first call?" from the "Syncronization pallette, to allow it to wait only the first time through the loop. The first example I gave has the possible error of a whole "loop time", the later is only limited to the accuracy of your timing source.
					
				
			
			
				
	PutnamCertified LabVIEW Developer
Senior Test Engineer  North Shore Technology, Inc. 
Currently using LV 2012-LabVIEW 2018, RT8.5

   LabVIEW Champion