// показать write and read private void showSettindBtn_Click(object sender, EventArgs e) { LimitsCpu limitsCpu = loadCpu.ReadLimits(); if (limitsCpu == null) { showSettindBtn.BackColor = Color.Red; return; // error connect } showSettindBtn.BackColor = Color.Green; writeSetLabel.Text = limitsCpu.PositionWrite.ToString(); readSetLabel.Text = limitsCpu.PositionRead.ToString(); }
public WorkCpu() { LoadCpu loadCpu = new LoadCpu(); while (true) { // STOP if (Form1.stopThreadAll) { return; } workCpuStatus = true; // Makes the status, for a long time there was no connection with the CPU NoConnectionTimeSec(loadCpu); // select limits--------------- LimitsCpu limitsCpu = loadCpu.ReadLimits(); if (limitsCpu == null) { continue; // error connect } if ((limitsCpu.PositionRead < limitsCpu.PositionMin) || (limitsCpu.PositionRead > limitsCpu.PositionMax)) { loadCpu.WritePositionLimitsCpu(limitsCpu.PositionMin); // write PositionRead continue; } //------------------------------ writeIndex = limitsCpu.PositionWrite; readIndex = limitsCpu.PositionRead; // new PositionRead + 1 int newIndexDb = LocationIndexDb(loadCpu, limitsCpu); // if there isn't data if (newIndexDb < limitsCpu.PositionMin) { FindMaxIdFromSql(); continue; } else { // loading data all CPU-------- Model_dateTime modelDTBase = loadCpu.ReadDatetime(newIndexDb); if (modelDTBase == null) { continue; // error connect } if (modelDTBase.Id_DateTime == -1) { loadCpu.WritePositionLimitsCpu(newIndexDb); // write PositionWrite (+1) continue; } //------------------------------ idMaxSql = modelDTBase.Id_DateTime; // save ID to static // ok <<< Write id and DateTime to SQL WriteDateTimeToSql(loadCpu, modelDTBase, newIndexDb); } if (Form1.stopThreadAll) { return; // STOP } Thread.Sleep(Properties.Settings.Default.timerWorkCycle); } }