RS485 Speed Issue

Hi

i am facing a srange situation, having two ardu uno connected with RS485 bus.

first the master ask an analog value from the slave and based on that value it sends back to open or close aled on the slave

the issue is the following ,n case i add delay on the master less than 2000 ms then the serial gets grab...

in case i switch the delay on 4000 then works fine but the data comes really slow !

how can i speed up the data speed from ???

#include <SoftwareSerial.h>
#define SSerialRX        10  //Serial Receive pin
#define SSerialTX        11  //Serial Transmit pin

#define rs485 3   //RS485 Direction control

#define RS485Transmit    HIGH
#define RS485Receive     LOW

#define Pin13LED         13
#define Pin1             12

SoftwareSerial RS485Serial(SSerialRX, SSerialTX);


int Received;
int Send;

void setup()
{

  Serial.begin(115200);
  Serial.println("YourDuino.com SoftwareSerial remote loop example");
  Serial.println("Use Serial Monitor, type in upper window, ENTER");

  pinMode(Pin13LED, OUTPUT);
  pinMode(rs485, OUTPUT);
  pinMode(Pin1, INPUT);

  digitalWrite(rs485, LOW);
  RS485Serial.begin(2400);

}

void loop()
{
  //if (Serial.available())
  // {
  // Send = Serial.read();
  // digitalWrite(rs485, HIGH);
  // RS485Serial.write(Send);
  //  delay(1);
  //  digitalWrite(rs485, LOW);
  //}




  if ( millis() > 4000 )
  {
    digitalWrite(rs485, HIGH);
    RS485Serial.write("xz");

    digitalWrite(rs485, LOW);

 
    Received = RS485Serial.read();
    Serial.println();
    Serial.print(Received);
    delay(100);
  }

  if ( Received >= 100 )
  {
    digitalWrite(rs485, HIGH);
    RS485Serial.write("xww");

    digitalWrite(rs485, LOW);
  
  }
  if ( Received < 100 )
  {
    digitalWrite(rs485, HIGH);
    RS485Serial.write("zww");

    digitalWrite(rs485, LOW);
  
  }
   delay(200);



   
  //  if (RS485Serial.available())
  //  {
  //  digitalWrite(rs485, HIGH);
  //   Received = RS485Serial.read();
  //  Serial.println();
  //   Serial.print(Received);
  //  delay(1);
  //   digitalWrite(rs485, LOW);
  //  }
}

slave

#include <SoftwareSerial.h>
#define SSerialRX        10  //Serial Receive pin
#define SSerialTX        11  //Serial Transmit pin

#define rs485 3

#define RS485Transmit    HIGH
#define RS485Receive     LOW
#define State1           HIGH
#define State2           LOW
#define Pin13LED         13


SoftwareSerial RS485Serial(SSerialRX, SSerialTX);
int Received;
int Send;
String d;
int xds;
int reer;


void setup()
{

  Serial.begin(115200);
  Serial.println("SerialRemote");

  pinMode(Pin13LED, OUTPUT);
  pinMode(rs485, OUTPUT);

  digitalWrite(rs485, LOW);
  RS485Serial.begin(2400);
}


void loop()
{
  reer = analogRead(0);
  xds = map(reer, 0, 1023, 0, 255);

  while (RS485Serial.available())
  {

    d = RS485Serial.readString();
   
    if (d.indexOf("xz") >= 0)
    {
      digitalWrite(rs485, HIGH);
      RS485Serial.write(xds);
      Serial.flush();
      delay(1);
      digitalWrite(rs485, LOW);

    }
        if (d.indexOf("xww") >= 0)
    {
      digitalWrite(Pin13LED, State1); 
    }

    if (d.indexOf("zww") >= 0)
    {
      digitalWrite(Pin13LED, State2); 
    }

  }
}

images attached