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; }
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; }
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; } }
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); }