//disable timestep
Timestep OFF
//get temperature for the first time
CALL CALCTEMP
VAR2 = VAR1
 
 
LABEL LOOP
     //get temperature and put it into VAR1
     CALL CALCTEMP
      
     IF VAR1 != $VAR2 Then
     //previous mesurement differs from current mesurement
          IF VAR3 > 0005 Then
               //time since last speech output is 5sec minimum
               VAR3 = 0
               CALL SAYTEMP
               VAR2 = VAR1
          ELSE
               //time since previous speech output was too short
          END IF
     END IF
      
     //wait 1 second between each mesurement (and increase counter VAR3)
     WAIT 1000
     VAR3 = VAR3 + 1
GOTO LOOP
 
 
 
//Sub Saytemperature: says the current temperature. (make connection)
SUB SAYTEMP
     CONNECT TCP,127.0.0.1,9999
END SUB
 
//Sub Saytemperature: says the current temperature. (connection made)
SUB EVENT_CONNECTION_ESTABLISHED
     //Speech Server running! clear error LED
     CLEARIO 01
     SEND "The temperature changed to $VAR1 degrees"
     DISCONNECT
END SUB
 
//Sub Saytemperature: says the current temperature. (connection not possible)
SUB EVENT_CONNECTION_ERROR
     //Speech Server not running! - set error LED
     SETIO 01
END SUB
 
 
 
//Sub CalcTemp: calculates the current temperature (put into VAR1)
SUB CALCTEMP
          TEXTVAR = "(($AD02*0.0196)/0.02)-24.1"
          VAR1 = $CALC(TEXTVAR)
END SUB

BACK TO SAMPLE OVERVIEW