void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            serialPort.GetDataRTU(ScopeSysType.OscilStatusAddr, 32, EndLoadStatuses);
            waitResponce.WaitOne();
            if (backgroundWorker.CancellationPending)
            {
                e.Cancel = true;
                return;
            }

            for (int i = 0; i < scopeConfig.ScopeCount; i++)
            {
                if (oscilsStatus[i] >= 4)
                {
                    loadTimeStampStep = i;
                    serialPort.GetDataRTU((ushort)(ScopeSysType.TimeStampAddr + i * 8), 8, UpdateTimeStamp);
                    waitResponce.WaitOne();
                    if (backgroundWorker.CancellationPending)
                    {
                        e.Cancel = true;
                        return;
                    }
                }
            }

            e.Result = true;
        }
Exemple #2
0
        void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            while (true)
            {
                //************************************************************************************************************************************//
                serialPort.GetDataRTU((ushort)(ScopeSysType.LoadOscilStartAddr + loadOscNum), 1, EndLoadStepOne, requestPriority);
                waitResponce.WaitOne();
                if (backgroundWorker.CancellationPending)
                {
                    e.Cancel = true;
                    return;
                }

                if (loadOscilIndex == 0)
                {
                    backgroundWorker.ReportProgress(65536);
                    break;
                }
                else
                {
                    backgroundWorker.ReportProgress(loadOscilIndex);
                }
            }

            e.Result = true;
        }
 //Чтение значений
 private void GetInput()
 {
     foreach (var addr in AddrInput())
     {
         _serialPort.GetDataRTU(addr, 1, InputAnswer, addr);
     }
 }
 public static void SendReadTimeRequest(byte SlaveAddr, AsynchSerialPort SerialPort, AsynchSerialPort.DataRecievedRTU DataRecieved, TimeConfig CurrentConfig)
 {
     if (CurrentConfig.TimeFormat == TimeFormats.STMFormat)
     {
         SerialPort.GetDataRTU(SlaveAddr, CurrentConfig.STMProcAddr1, 4, DataRecieved, RequestPriority.Normal);
     }
     else if (CurrentConfig.TimeFormat == TimeFormats.ADSPFormat)
     {
         SerialPort.GetDataRTU(SlaveAddr, CurrentConfig.ReadAddr, 7, DataRecieved, RequestPriority.Normal);
     }
     else if (CurrentConfig.TimeFormat == TimeFormats.RTCFormat)
     {
         SerialPort.GetDataRTU(SlaveAddr, CurrentConfig.ReadAddr, 4, DataRecieved, RequestPriority.Normal);
     }
 }
        void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            for (eventIndex = 0; eventIndex < eventCount; eventIndex++)
            {
                eventData.Add(new ushort[blockCount * 32]);
                serialPort.SetDataRTU(loadEventAddr, serialPort_DataReceived, RequestPriority.Normal, (ushort)(eventIndex + 1));
                waitResponce.WaitOne();
                if (backgroundWorker.CancellationPending)
                {
                    e.Cancel = true;
                    return;
                }

                for (blockIndex = 0; blockIndex < blockCount; blockIndex++)
                {
                    serialPort.GetDataRTU((ushort)(startDataAddr + 32 * blockIndex), 32, serialPort_LoadDataReceived);
                    waitResponce.WaitOne();
                    if (backgroundWorker.CancellationPending)
                    {
                        e.Cancel = true;
                        return;
                    }
                }
                Array.Copy(loadEventLine, 0, eventData[eventIndex], 0, blockCount * 32);
                backgroundWorker.ReportProgress(eventIndex + 1);
            }
            e.Result = true;
        }
        void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            serialPort.GetDataRTU(ScopeSysType.ChannelCountAddr, 1, LoadConfigRecieveOne);
            waitResponce.WaitOne();
            if (backgroundWorker.CancellationPending)
            {
                e.Cancel = true;
                return;
            }

            serialPort.GetDataRTU(ScopeSysType.ScopeCountAddr, 1, LoadConfigRecieveTwo);
            waitResponce.WaitOne();
            if (backgroundWorker.CancellationPending)
            {
                e.Cancel = true;
                return;
            }

            serialPort.GetDataRTU(ScopeSysType.OscilFreqAddr, 1, LoadConfigRecieveThree);
            waitResponce.WaitOne();
            if (backgroundWorker.CancellationPending)
            {
                e.Cancel = true;
                return;
            }

            serialPort.GetDataRTU(ScopeSysType.HystoryAddr, 8, LoadConfigRecieveFour);
            waitResponce.WaitOne();
            if (backgroundWorker.CancellationPending)
            {
                e.Cancel = true;
                return;
            }

            serialPort.GetDataRTU(ScopeSysType.DataStartAddr, 16, LoadConfigRecieveFive);
            waitResponce.WaitOne();
            if (backgroundWorker.CancellationPending)
            {
                e.Cancel = true;
                return;
            }

            e.Result = true;
        }
Exemple #7
0
        void LoadOscDataRequest()
        {
            if (stopRequests)
            {
                return;
            }
            if (!serialPort.IsOpen)
            {
                this.Close();
                return;
            }
            switch (loadOscDataStep)
            {
            //Загрузка стартового адреса
            case 0:
            {
                serialPort.GetDataRTU((ushort)(ScopeSysType.LoadOscilStartAddr + loadOscNum), 1, EndLoadStepOne, RequestPriority.High);
            } break;

            //Загрузка данных
            case 1:
            {
                ushort[] writeArr = new ushort[6];
                UInt32   m;
                writeArr[0] = 0x0001;
                writeArr[1] = ScopeSysType.ParamLoadDataAddr;
                m           = CalcMemoryAddr(loadOscNum);
                writeArr[2] = (ushort)(m & 0x3FFF);
                m           = m & 0x003FC000;
                m           = m >> 6;
                m           = m & 0xFFFF;
                m           = m | 0x8001;
                writeArr[3] = (ushort)m;
                writeArr[4] = 32;
                writeArr[5] = 1;
                serialPort.SetDataRTU(ScopeSysType.ParamLoadConfigAddr, EndLoadStepTwo, RequestPriority.High, writeArr);
            } break;

            case 2:
            {
                serialPort.GetDataRTU(ScopeSysType.ParamLoadDataAddr, 32, EndLoadStepThree, RequestPriority.High);
            } break;
            }
        }
 //************************ ЗАГРУЗКА КОНФИГУРАЦИИ *********************************************************//
 //********************************************************************************************************//
 void LoadConfigStepOne()
 {
     if (configLoaded)
     {
         return;
     }
     serialPort.GetDataRTU(ScopeSysType.ChannelCountAddr, 1, LoadConfigRecieveOne);
 }
 private void NewReadRequest()
 {
     if ((serialPort.IsOpen) && (this.Visible))
     {
         serialPort.GetDataRTU((ushort)(loadIndex * 16 + startAddr), 16, ReadDataRecieved);
     }
     else
     {
         button1.Enabled = button2.Enabled = button3.Enabled = true;
     }
 }
Exemple #10
0
        private void timer1_Tick(object sender, EventArgs e)
        {
            if (!this.Visible)
            {
                return;
            }
            if (portBusy)
            {
                return;
            }

            if (!requestStep)
            {
                serialPort.GetDataRTU(0x015C, 1, ReadDataRecieved);
            }
            else
            {
                serialPort.GetDataRTU(0x015F, 1, ReadDataRecieved);
            }
            portBusy = true;
        }
        private void timer1_Tick(object sender, EventArgs e)
        {
            if (!this.Visible)
            {
                return;
            }
            if (portBusy)
            {
                return;
            }

            serialPort.GetDataRTU(0x05A6, 1, ReadDataRecieved);

            portBusy = true;
        }
        //***************************ЧТЕНИЕ ДАННЫХ****************************************************************//
        //********************************************************************************************************//
        private void readBtn_Click(object sender, EventArgs e)
        {
            if (portBusy)
            {
                return;
            }

            if (!CheckAddr())
            {
                MessageBox.Show(appTexts.ParameterName(10), this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            portBusy = true;
            serialPort.GetDataRTU(addr, 1, ReadDataRecieved);
        }
 //**************************************ОБМЕН СИГНАЛАМИ***********************************************************//
 //****************************************************************************************************************//
 private void timer1_Tick(object sender, EventArgs e)
 {
     if (!serialPort.IsOpen)
     {
         return;
     }
     if (!this.Visible)
     {
         return;
     }
     if (portBusy)
     {
         return;
     }
     portBusy = true;
     serialPort.SetDataRTU((ushort)(startAddr + 1), null, RequestPriority.Normal, maskOR, maskAND);
     serialPort.GetDataRTU((ushort)(startAddr + 3), 1, DataRecieved);
 }
 private void SendReadRequest(ushort Addr)
 {
     serialPort.GetDataRTU(Addr, 2, ReadDataRecieved);
 }