Servotimer2, detach "stop"
my servo is only moving once, and then stops You mean it turns 180&#176; then no more? Once it has reached 180&#176; (or 2000 &#181;s) you need to decrease val by one to go the other way (from 2000 to 1000). For example:

int direction = 1;  // 1 or -1
void loop()
{ 
   int val;

   val = incPulse( servoRoll.read(), direction);
   servoRoll.write(val);
   if (direction &lt;= 1000 || direction &gt;= 2000) {
      direction = -direction;
   }
   delay(10);   
}