1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
using FLY.DownBlowing.Common;
using FLY.DownBlowing.IService;
using FLY.OBJComponents.Client;
using FObjBase.Reflect;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Unity;
namespace FLY.DownBlowing.UI.Client.UiModule
{
/// <summary>
/// T1VelocityPanel.xaml 的交互逻辑
/// </summary>
public partial class T1VelocityPanel : UserControl
{
static string[] update_propertynames;
IDownBlowingSystemService downBlowingSystemService;
SetPLCUpdatePlan setPlan;
static T1VelocityPanel()
{
update_propertynames = new string[] {
nameof(WinderData.T1Velocity),
nameof(WinderData.T1VelocitySet),
nameof(WinderData.IsT1VelocityChanged)
};
}
public T1VelocityPanel()
{
InitializeComponent();
}
[InjectionMethod]
public void Init(
IDownBlowingSystemService downBlowingSystemService)
{
this.downBlowingSystemService = downBlowingSystemService;
this.DataContext = this.downBlowingSystemService;
this.setPlan = new SetPLCUpdatePlan(
this.downBlowingSystemService.PLCos,
this.downBlowingSystemService.WinderData,
update_propertynames
);
this.downBlowingSystemService.WinderData.PropertyChanged += WinderData_PropertyChanged;
}
private void WinderData_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
if (downBlowingSystemService is Reflect_SeviceClient)
{
var client = downBlowingSystemService as Reflect_SeviceClient;
if (client.IsInPushValue)
{
return;
}
}
if (e.PropertyName == nameof(WinderData.T1VelocitySet))
{
//TODO 检测是否会发送modbus写!!!
downBlowingSystemService.WinderData.IsT1VelocityChanged = true;
downBlowingSystemService.WinderData.IsT1VelocityChanged = false;
}
}
private void UserControl_Unloaded(object sender, RoutedEventArgs e)
{
if (this.setPlan != null)
{
setPlan.Dispose();
setPlan = null;
}
}
}
}