Esempio n. 1
0
        private void InterceptInfo(object source, ElapsedEventArgs e)
        {
            var x = new DistMeasureRes {
                Dist = 0
            };

            var timestamp = (int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds;

            timestamp++;
            while (Math.Abs(x.Dist) < 0.000001)
            {
                using var wc = new WebClient();
                try
                {
                    var json = wc.DownloadString(
                        "http://169.254.168.150/datagen.php?type=Meas&callback=callback&_=" +
                        timestamp);
                    x = GetTemp(json);
                }
                catch (Exception ex)
                {
                    SetLogMessage?.Invoke(ex.Message);
                }

                ObtainedDataEvent?.Invoke(x);
            }
        }
Esempio n. 2
0
        private void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
        {
            var sp = (SerialPort)sender;

            try
            {
                var cnt    = sp.ReadBufferSize;
                var mXdata = new byte[cnt + 1];
                try
                {
                    sp.Read(mXdata, 0, cnt);
                }
                catch (Exception ex)
                {
                    _errList.Add(ex.Message);
                    SetLogMessage?.Invoke(ex.Message);
                }

                var ascii   = Encoding.ASCII;
                var answers = ascii.GetString(mXdata).Split('\r');
                foreach (var s in answers)
                {
                    if ((s.Length > 3) && (s.Length < 50))
                    {
                        _msgList.Add(s);
                    }
                    SetResMatt(s);
                }
            }
            catch (Exception ex)
            {
                SetLogMessage?.Invoke(ex.Message);
                _errList.Add(ex.Message);
            }
        }
Esempio n. 3
0
 private void Write(byte[] buf)
 {
     try
     {
         _port.Write(buf, 0, buf.Length);
     }
     catch (Exception ex)
     {
         //ErrList.Add(ex.Message);
         SetLogMessage?.Invoke(ex.Message);
     }
 }
Esempio n. 4
0
 private void StopPump()
 {
     if (f_MPort.IsOpen)
     {
         f_MPort.Write("t");
         SetLogMessage?.Invoke($"Pump  stop: {f_ComId}");
     }
     else
     {
         SetLogMessage?.Invoke($"Pump port {f_ComId} is closed");
     }
 }
Esempio n. 5
0
 public void OpenPort()
 {
     SetLogMessage?.Invoke($"Try connect pump on port {f_ComId}");
     try
     {
         f_MPort.Open();
     }
     catch (Exception ex)
     {
         SetLogMessage?.Invoke(ex.Message);
     }
     Active = true;
 }
Esempio n. 6
0
        public void GetSignal(byte[] rxData)
        {
            PwrItem pi = new PwrItem(rxData);

            if (pi.IsCorrect)
            {
                SetChannelParameters?.Invoke(f_pwrSerial.CurChannel, pi);

                SetLogMessage?.Invoke($"Чтение из бп, канал {f_pwrSerial.CurChannel}, успешно");
            }
            else
            {
                SetLogMessage?.Invoke("Нераспознаный ответ БП");
            }
        }
Esempio n. 7
0
        public void Calibrate()
        {
            var fName = $"{Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location)}\\calibrate.arr";

            if (File.Exists(fName))
            {
                _ = ElvWrapper.Elveflow_Calibration_Load($"{System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location)}\\calibrate.arr", _fCalibration, 1000);
                SetLogMessage?.Invoke("Калибровочный массив загружен");
            }
            else
            {
                SetLogMessage?.Invoke("Производиться калибровки, подождите около 2х минут");
                ElvWrapper.AF1_Calib(_pId, _fCalibration, 1000);
                ElvWrapper.Elveflow_Calibration_Save($"{System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location)}\\calibrate.arr", _fCalibration, 1000);
                SetLogMessage?.Invoke("Калибровка окончена");
            }
        }
Esempio n. 8
0
 public void OpenPort()
 {
     try
     {
         f_MPort.Open();
         SendCommand(1);
         SendCommand(7);
         SendCommand(18);
         SendCommand(16);
         SendCommand(21);
         SendCommand(13);
         SendCommand(30);
         SendCommand(23);
     } catch (Exception ex)
     {
         SetLogMessage?.Invoke(ex.Message);
     }
 }
Esempio n. 9
0
 public void SetCounterClockwiseDirection()
 {
     if (f_MPort.IsOpen)
     {
         if (PumpReverse)
         {
             f_MPort.Write("r");
         }
         else
         {
             f_MPort.Write("l");
         }
         System.Threading.Thread.Sleep(130);
     }
     else
     {
         SetLogMessage?.Invoke($"Pump port {f_ComId} is closed");
     }
 }
Esempio n. 10
0
        private void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
        {
            var sp = (SerialPort)sender;

            try
            {
                var cnt = sp.ReadBufferSize;
                f_RxData = new byte[cnt + 1];
                sp.Read(f_RxData, 0, cnt);
            }
            catch (Exception ex)
            {
                SetLogMessage?.Invoke(ex.Message);
            }
            var t = RcConvert(f_RxData);

            f_TempLog.Add(f_RxIdx, t);
            f_RxIdx++;
            EventHandler?.Invoke(t);
        }
Esempio n. 11
0
 public PwrSerial(string port)
 {
     CurChannel = 99;
     _modBus    = new ModBus();
     SetLogMessage?.Invoke($"Try connected Power Supply on port {port}");
     if (port == "")
     {
         port = "COM9";
     }
     _port = new SerialPort(port)
     {
         BaudRate  = 115200,
         Parity    = Parity.None,
         StopBits  = StopBits.One,
         DataBits  = 8,
         Handshake = Handshake.None,
         RtsEnable = true
     };
     _port.DataReceived += DataReceivedHandler;
 }
Esempio n. 12
0
 private void WriteAnyCommand(string cmd)
 {
     if (f_MPort.IsOpen)
     {
         try
         {
             f_MPort.Write(cmd);
             //SetLogMessage?.Invoke($"Pump start command {cmd}");
         }
         catch (Exception ex)
         {
             SetLogMessage?.Invoke($"Port {f_ComId} is occuped");
             SetLogMessage?.Invoke(ex.Message);
         }
     }
     else
     {
         SetLogMessage?.Invoke($"Pump port {f_ComId} is closed");
         f_CmdQueue.Clear();
     }
 }
Esempio n. 13
0
 public PyroSerial(string port)
 {
     if (string.IsNullOrEmpty(port))
     {
         port = "COM4";
     }
     f_RxIdx = 0;
     SetLogMessage?.Invoke($"Try connected Pyro on port {port}");
     _port = new SerialPort(port)
     {
         BaudRate  = 57600,
         Parity    = Parity.None,
         StopBits  = StopBits.One,
         DataBits  = 8,
         Handshake = Handshake.None,
         RtsEnable = true
     };
     _port.DataReceived += DataReceivedHandler;
     f_ATimer.Elapsed   += OnTimedEvent;
     f_ATimer.Interval   = 1200;
 }
Esempio n. 14
0
        private void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
        {
            var sp = (SerialPort)sender;

            try
            {
                var cnt = sp.ReadBufferSize;
                RxData = new byte[cnt + 1];
                var rc = sp.Read(RxData, 0, cnt);
                if (cnt > 3 && RxData[0] == 1 && RxData[1] == 3 && RxData[2] == 18)
                {
                    // EventArgs ea = new EventArgs();
                    OnRecieve?.Invoke(RxData);
                }
            }
            catch (Exception ex)
            {
                SetLogMessage?.Invoke(ex.Message);
                //ErrList.Add(ex.Message);
            }
        }
Esempio n. 15
0
        private void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
        {
            System.Threading.Thread.Sleep(30);
            var cnt     = f_MPort.ReadBufferSize;
            var mRxData = new byte[cnt + 1];

            try
            {
                f_MPort.Read(mRxData, 0, cnt);
                mRxData = TrimReceivedData(mRxData);
            }
            catch (Exception ex)
            {
                SetLogMessage?.Invoke(ex.Message);
            }
            var ascii = Encoding.ASCII;

            if (mRxData.Length > 0)
            {
                //f_RecievedData.Add(ascii.GetString(mRxData));
                // Debug.WriteLine($"{f_ComId}:{ascii.GetString(mRxData)}");
            }
        }
Esempio n. 16
0
 private void TestLog(string msg)
 {
     SetLogMessage?.Invoke(msg);
 }
Esempio n. 17
0
        private void DispatchData(byte[] data)
        {
            if (!(data.Length > 2 & data[0] == 0x06))
            {
                SetLogMessage?.Invoke($"Вероятная ошибка из порта диспенсера: {BitConverter.ToString(data)}");
                return;
            }
            //SetLogMessage?.Invoke($"Answer:{BitConverter.ToString(data)}");
            //SetLogMessage?.Invoke($"Status byte:{data[2]}");

            var st        = 2;
            var TxtStatus = GetStatusText(data[st]);

            // Debug.WriteLine(string.Join(":", TxtStatus));
            switch (data[1])
            {
            case 0x01:
                SetLogMessage?.Invoke($"Успешный сброс параметров диспенсера, {GetStatusText(data[st])}");
                break;

            case 0x03:
                SetLogMessage?.Invoke($"Число капель на импульс установлено, {GetStatusText(data[st])}");
                break;

            case 0x04:
                SetLogMessage?.Invoke($"Дискретный режим установлен, {GetStatusText(data[st])}");
                break;

            case 0x06:
                SetLogMessage?.Invoke($"Параметры сигнала установлены, {GetStatusText(data[st])}");
                break;

            case 0x08:
                SetLogMessage?.Invoke($"Внутренний источник импульсов установлен, {GetStatusText(data[st])}");
                break;

            case 0x0A:
                var tmpStr = data[3] == 38 ? "Запущен" : "Остановлен";
                SetLogMessage?.Invoke($"{tmpStr} процесс, {GetStatusText(data[st])}, data:  {BitConverter.ToString(data)}");
                break;

            case 0x0C:
                SetLogMessage?.Invoke($"Канал установлен, {GetStatusText(data[st])}");
                break;

            case 0x0D:
                SetLogMessage?.Invoke($"Доступно каналов: {data[4]}, Status byte:{data[2]}");
                break;

            case 0x0E:
                SetLogMessage?.Invoke($"Группировка каналов: {data[3]}, {GetStatusText(data[st])}");
                break;

            case 0x19:
                SetLogMessage?.Invoke($"Частота установлена, {GetStatusText(data[st])}");
                break;

            case 0xF0:
                SetLogMessage?.Invoke($"Успешный запрос версии: {data[4]}, {GetStatusText(data[st])}");
                break;

            case 0x60:
                SetLogMessage?.Invoke($"Port was sent {data.Length}, x60: {BitConverter.ToString(data)}");
                SetDispOptions(data);
                break;

            default:
                SetLogMessage?.Invoke($"NoHandler: {BitConverter.ToString(data)}");
                break;
            }
        }