private ushort RetrieveSNetId(int timeoutSeconds) { try { Log.Log("Попытка получить SNetID"); var bytes = Encoding.ASCII.GetBytes("ATS05?\x0D"); _port.WriteBytes(bytes, 0, bytes.Length); var inBytes = _port.ReadBytes(8, timeoutSeconds /*ReadTimeoutSafe*/); Log.Log("inBytes = " + inBytes.ToText()); Log.Log("inBytes[2] = " + inBytes[2] + " inBytes[2].XtoV = " + inBytes[2].XtoV()); Log.Log("inBytes[3] = " + inBytes[3] + " inBytes[3].XtoV = " + inBytes[3].XtoV()); Log.Log("inBytes[4] = " + inBytes[4] + " inBytes[4].XtoV = " + inBytes[4].XtoV()); Log.Log("inBytes[5] = " + inBytes[5] + " inBytes[5].XtoV = " + inBytes[5].XtoV()); var result = (ushort)(inBytes[5].XtoV() + inBytes[4].XtoV() * 0x10 + inBytes[3].XtoV() * 0x100 + inBytes[2].XtoV() * 0x1000); Log.Log("SNetId = " + result); return(result); } catch (Exception ex) { Log.Log("Не удалось получить SNetId"); throw new Exception("Не удалось получить SNetId", ex); } }