The input parameters are Sensor Address and command.
The Sensor address is written in Hexadecimal on the Sensor.

 private int read_distance(int Sensor,byte cmd)
        {
 
            //byte cmd;
            byte addr_h,addr_m, addr_l;
            byte distance_h, distance_l;
            byte data=0;
            byte checksum;
            int tmp_checksum;
            int distance;
 
            addr_l = (byte)Sensor;
            Sensor = Sensor >> 8;
            addr_m = (byte)Sensor;
            Sensor = Sensor >> 8;
            addr_h = (byte)Sensor;
 
            tmp_checksum = ~(cmd + addr_h + addr_l + addr_m + data);
            checksum = (byte)tmp_checksum;
 
            // Break for 1ms
            serialPort1.BreakState = true;
            System.Threading.Thread.Sleep(1);
            serialPort1.BreakState = false;
            serialPort1.Write(new byte[6] { cmd, addr_h, addr_m, addr_l, data, checksum }, 0, 6);
 
            if (cmd == 94) //if reading command is given
            {
 
                distance_h = (byte)serialPort1.ReadByte();
                distance_l = (byte)serialPort1.ReadByte();
                distance = distance_h;
                distance = distance << 8;
                distance = distance | distance_l;
            }
            else
            {
                distance = 0;
            }
            return distance;
        }

First the distance needs to be measured.

read_distance(4643, 81);

After a waiting time of at least 70ms the measured distance can be read from the sensors.

System.Threading.Thread.Sleep(70);
sens1 = read_distance(4643, 94);