示例#1
0
        /// <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;
            }
        }
示例#2
0
 /// <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);
     }
 }
        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);
                }
            }
        }