Example #1
0
        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);
            }
        }
Example #2
0
        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);
                }
            }
        }
Example #3
0
        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);
            }
        }