public long getNewbestRecordNumber() { modbusClient = ConnectUserControl.getModbusClient(); if (modbusClient != null && modbusClient.Connected == true) { try { int[] bufNewbestRecordNumber = new int[4]; bufNewbestRecordNumber = modbusClient.ReadHoldingRegisters(1064, 4); bufNewbestRecordNumber[2] = 0; bufNewbestRecordNumber[3] = 0; long NewbestRecordNumber = Convert.ToInt64(ModbusClient.ConvertRegistersToLong(bufNewbestRecordNumber)); return(NewbestRecordNumber); } catch (Exception) { Console.WriteLine("Error: Неожиданный обрыв подключения"); return(-1);// } } else { return(-1); } }
public async void GetDataFromDevice() { modbusClient = ConnectUserControl.getModbusClient(); if (modbusClient != null && modbusClient.Connected == true) { //var startDate = Convert.ToDateTime(ConnectUserControl.getDateTimeFromDevice()); var startDate = await Task.Run(() => Convert.ToDateTime(ConnectUserControl.getDateTimeFromDevice())); float[] data = await Task.Run(() => ConnectUserControl.getMomentAndDate()); if (data != null) { PointFirstGraph1.Add(data[0]); //момент DateFirstGraph1.Add(startDate); PointTwoGraph1.Add(data[1]); //date DateTwoGraph1.Add(startDate); } } }
public List <int[]> getLogs(int startIndexRead) { modbusClient = ConnectUserControl.getModbusClient(); List <int[]> RecordNumbers = new List <int[]>(); if (modbusClient != null && modbusClient.Connected == true) { try { //long OldbestRecordNumber = getOldbestRecordNumber(); long NewbestRecordNumber = getNewbestRecordNumber(); if (startIndexRead != -1 && NewbestRecordNumber != -1) { modbusClient.WriteMultipleRegisters(1059, ModbusClient.ConvertIntToRegisters(768)); for (long i = startIndexRead; i <= NewbestRecordNumber; i++) { int[] numberCurrentWrite = new int[4]; numberCurrentWrite = ModbusClient.ConvertLongToRegisters(i); modbusClient.WriteMultipleRegisters(1060, numberCurrentWrite); int[] ArrayLogs = new int[64]; ArrayLogs = modbusClient.ReadHoldingRegisters(17344, 64); RecordNumbers.Add(ArrayLogs); } } return(RecordNumbers); } catch (Exception) { Console.WriteLine("Error: Неожиданный обрыв подключения"); return(RecordNumbers);// } } else { return(RecordNumbers); } }