Missing pulses!

Now this piece of code has made a major improvement!

Maybe we're happy with it now. Or if you could see anything that could cause a failure?

#define MAX485_DE       2

char PenBuff[5];
int PenBuffLen=5;
int IncPenLen=0;
float penetration=0;
float k=0.0025; 

void setup() {
  Serial.begin(9600); 
  Serial3.begin(19200); 
  pinMode(MAX485_DE, OUTPUT);       
  digitalWrite(MAX485_DE, 0);       
}

void loop() {

  while (Serial3.available() > 0) {

    IncPenLen=Serial3.readBytes(PenBuff, PenBuffLen);
    
    for (int i=0; i<IncPenLen;i++){
        if(PenBuff[i]=='A'){
          penetration +=k;
        }
        else if (PenBuff[i]=='B'){
          penetration -=k;
        }
        else if (PenBuff[i]=='+'){
          penetration=penetration;
        }
        if (penetration <=0 ){
          penetration=0;
        }
    }
    Serial.println(penetration,4);
  }
}

Robin & Fredrik