/// <summary> /// Nếu kiểm tra thấy túi mỡ vừa được nhấc ra, xử lý kiểm tra lượng mỡ /// </summary> private void CalculateTakeOut(int high) { switch (high) { case 1: // Kiểm tra vừa lấy vật ra LbdWeighTakeOut.Weigh = 0; //Console.WriteLine("Giá trị cũ: " + oldWeighValue.ToString()); break; case 2: // Kiểm tra vừa đặt vật vào if (oldWeighValue > lowRangeValue) { LbdWeighTakeOut.Weigh = -valueArr.Average() + oldWeighValue; } oldWeighValue = LbdWeighRead.Weigh; //Console.WriteLine("Giá trị mới: " + oldWeighValue.ToString()); if (Math.Abs(LbdWeighTakeOut.Weigh) < limitValue && LbdWeighTakeOut.Weigh > 0) { //App.Current.Dispatcher.Invoke(() => WriteToKeyBoard()); //if (BalanceChangeValueEvent != null) BalanceChangeValueEvent(LbdWeighTakeOut.Weigh); string value = LbdWeighTakeOut.Weigh.ToString("N3"); _Form.Invoke((MethodInvoker) delegate { _Form.SetRealValue(value, _rowIndex, _WorkingID); }); } break; default: break; } }
private void port_DataReceived(object sender, SerialDataReceivedEventArgs e) { countReceive += 1; string temp = COM_Kern.ReadLine(); if (_Form.InvokeRequired) { _Form.Invoke((MethodInvoker) delegate { _Form.SetRealValue(temp, _rowIndex, _WorkingID); }); } else { _Form.SetRealValue(temp, _rowIndex, _WorkingID); } return; //Console.WriteLine("READ " + temp); if (temp.IndexOf("g") >= 0) { float wValue = 0; try { wValue = float.Parse((temp.Substring(temp.LastIndexOf(" ") + 1)).Replace("g", "")); } catch { wValue = (float)-9.999; } lbdWeighRead.Weigh = wValue; PushToArray(valueArr, wValue); // Kiểm tra var tempCheck = CheckDataStatus(); // Nếu trạng thái dữ liệu - Không có vật trên cân if (tempCheck == 1) { CalculateTakeOut(1); } // Nếu trạng thái dữ liệu - Vừa đặt vật vào cân if (tempCheck == 2) { CalculateTakeOut(2); } } }
/// <summary> /// Kiểm tra chuỗi nhận về /// Nếu là giá trị lực thì gửi qua Event /// </summary> private void ProcessTCPReceiveData(string tempStringReceive) { //Console.WriteLine(tempStringReceive); // Bổ xung thêm điều kiện kiểm tra OK/NG (09110 => OK) if ((tempStringReceive.IndexOf("0061") >= 0) && ((tempStringReceive.IndexOf("09110") >= 0))) { //Console.WriteLine("Nhận tín hiệu đo lực gửi về! " + tempStringReceive); float valueReturn = GetData(tempStringReceive); _Form.Invoke((MethodInvoker) delegate { _Form.SetRealValue(valueReturn, _rowIndex, _WorkingID); }); //if (ReceiveTCPEvent != null) ReceiveTCPEvent(tempStringReceive); } }