/// <summary> /// 后台刷新线程 /// </summary> /// <param name="source"></param> /// <param name="e"></param> public void ThreadFunc() { UpdateLampdelegate upLampDelegate = new UpdateLampdelegate(Update); while (true) { //表盘 voltageGauge.Score = Lib.S71KConnect.userType.Voltage; currentGauge.Score = Lib.S71KConnect.userType.Current; powerGauge.Score = Lib.S71KConnect.userType.Power; energyGauge.Score = Lib.S71KConnect.userType.Energy; //X轴数据 xActPos.DataText = Lib.S71KConnect.userType.XActPos.ToString("f2"); xActSpeed.DataText = Lib.S71KConnect.userType.XActSpeed.ToString("f2"); xSetPos.DataText = Lib.S71KConnect.userType.XSetPos.ToString("f2"); xSetSpeed.DataText = Lib.S71KConnect.userType.XSetSpeed.ToString("f2"); xActCurrent.DataText = Lib.S71KConnect.userType.XActCurrent.ToString("f2"); //Y轴数据 yActPos.DataText = Lib.S71KConnect.userType.YActPos.ToString("f2"); yActSpeed.DataText = Lib.S71KConnect.userType.YActSpeed.ToString("f2"); ySetPos.DataText = Lib.S71KConnect.userType.YSetPos.ToString("f2"); ySetSpeed.DataText = Lib.S71KConnect.userType.YSetSpeed.ToString("f2"); yActCurrent.DataText = Lib.S71KConnect.userType.YActCurrent.ToString("f2"); //Z轴数据 zActPos.DataText = Lib.S71KConnect.userType.ZActPos.ToString("f2"); zActSpeed.DataText = Lib.S71KConnect.userType.ZActSpeed.ToString("f2"); zSetPos.DataText = Lib.S71KConnect.userType.ZSetPos.ToString("f2"); zSetSpeed.DataText = Lib.S71KConnect.userType.ZSetSpeed.ToString("f2"); zActCurrent.DataText = Lib.S71KConnect.userType.ZActCurrent.ToString("f2"); //温度数据 actTemp1.DataText = Lib.S71KConnect.userType.ActTemp1.ToString("f2"); actTemp2.DataText = Lib.S71KConnect.userType.ActTemp2.ToString("f2"); actTemp3.DataText = Lib.S71KConnect.userType.ActTemp3.ToString("f2"); //流量数据 actFlow1.DataText = Lib.S71KConnect.userType.ActFlow1.ToString("f2"); actFlow2.DataText = Lib.S71KConnect.userType.ActFlow2.ToString("f2"); actFlow3.DataText = Lib.S71KConnect.userType.ActFlow3.ToString("f2"); //位移传感器 actLenght1.DataText = Lib.S71KConnect.userType.ActLenght1.ToString("f2"); actLenght2.DataText = Lib.S71KConnect.userType.ActLenght2.ToString("f2"); //压力 actPressure.DataText = Lib.S71KConnect.userType.ActPressure.ToString("f2"); //指示灯委托方法 A.Dispatcher.Invoke(upLampDelegate); Thread.Sleep(200); } }
/// <summary> /// 后台刷新界面数据线程 /// </summary> private void ThreadFunc() { UpdateLampdelegate upLampDelegate = new UpdateLampdelegate(Update); while (true) { while (threadEnabled) { //X轴数据更新 xActPos.DataText = Lib.S71KConnect.userType.XActPos.ToString("f2"); xActSpeed.DataText = Lib.S71KConnect.userType.XActSpeed.ToString("f2"); xSetPos.DataText = Lib.S71KConnect.userType.XSetPos.ToString("f2"); xSetSpeed.DataText = Lib.S71KConnect.userType.XSetSpeed.ToString("f2"); xActCurrent.DataText = Lib.S71KConnect.userType.XActCurrent.ToString("f2"); //Y轴数据更新 yActPos.DataText = Lib.S71KConnect.userType.YActPos.ToString("f2"); yActSpeed.DataText = Lib.S71KConnect.userType.YActSpeed.ToString("f2"); ySetPos.DataText = Lib.S71KConnect.userType.YSetPos.ToString("f2"); ySetSpeed.DataText = Lib.S71KConnect.userType.YSetSpeed.ToString("f2"); yActCurrent.DataText = Lib.S71KConnect.userType.YActCurrent.ToString("f2"); //Z轴数据更新 zActPos.DataText = Lib.S71KConnect.userType.ZActPos.ToString("f2"); zActSpeed.DataText = Lib.S71KConnect.userType.ZActSpeed.ToString("f2"); zSetPos.DataText = Lib.S71KConnect.userType.ZSetPos.ToString("f2"); zSetSpeed.DataText = Lib.S71KConnect.userType.ZSetSpeed.ToString("f2"); zActCurrent.DataText = Lib.S71KConnect.userType.ZActCurrent.ToString("f2"); //滑块数据写入 Lib.S71KConnect.siemensS7Net.Write("DB1.218", Convert.ToInt32(m_XOverSetSld)); //写入PLC变量 Lib.S71KConnect.siemensS7Net.Write("DB1.222", Convert.ToInt32(m_YOverSetSld)); //写入PLC变量 Lib.S71KConnect.siemensS7Net.Write("DB1.226", Convert.ToInt32(m_ZOverSetSld)); //写入PLC变量 Lib.S71KConnect.siemensS7Net.Write("DB7.60", Convert.ToSingle(m_PowerSetSld)); //写入PLC变量 //指示灯委托方法 a.Dispatcher.Invoke(upLampDelegate); Thread.Sleep(200); } } }