/// <summary> /// GPI事件触发后处理 /// </summary> /// <param name="e"></param> /// <param name="Num"></param> private void SetEpcEvent(GpiChangedEventArgs e, int Num) { bool blnRes = false; if (e.State == GpioState.High) { blnRes = true; } else { blnRes = false; } switch (Num) { case 1: gpi1Status = blnRes; break; case 2: gpi2Status = blnRes; break; } if (gpi1Status && gpi2Status && !eventFlag) { eventFlag = true; Task.Factory.StartNew(updateCountingTime); } else { if (eventFlag) { PlusTagsEvent(); } } }
/// <summary> /// GPI2事件触发 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnGpi1Change(object sender, GpiChangedEventArgs e) { SetEpcEvent(e, 1); }