using FLY.Weight2.Server; using System; using System.Collections.Generic; using System.ComponentModel; 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; namespace FLY.Weight2.UI.Server { /// <summary> /// PgMain.xaml 的交互逻辑 /// </summary> public partial class PgMain : Page { public PgMain() { InitializeComponent(); } public void Init(TDGage gage) { var plsos = gage.mData.PLCos as FLY.OBJComponents.Server.PLCProxySystem; //grid_plcos.DataContext = plsos; //grid_plc.DataContext = plsos.PLCs[0]; grid_WeightSystem.DataContext = gage.mData; this.itemcontrol.ItemsSource = plsos.PLCs; } private void btnSetupClick(object sender, RoutedEventArgs e) { WdSetup w = new WdSetup(); w.Owner = App.Current.MainWindow; w.ShowDialog(); } private void btnMoreClick(object sender, RoutedEventArgs e) { Button button = sender as Button; var plc = button.Tag as Modbus.WithThread.ModbusMapper_Client; WdDRList w = new WdDRList(); w.Init(plc); w.ShowDialog(); } } public class PgMainVmUt : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; public List<ModbusMapperClientView> PLCs { get; set; } public PgMainVmUt() { PLCs = new List<ModbusMapperClientView>() { new ModbusMapperClientView(){ ActUpdateInterval = TimeSpan.FromMilliseconds( 623), Client = new TcpClientView(){ IsConnected = true, RemoteAddr = "127.168.50.1:502" }, DRCnt = 130, DRNeedUpdateCnt = 30, ErrorCnt = 2 }, new ModbusMapperClientView(){ ActUpdateInterval = TimeSpan.FromMilliseconds(2623), Client = new TcpClientView(){ IsConnected = false, RemoteAddr = "127.168.50.2:502" }, DRCnt = 45, DRNeedUpdateCnt = 40, ErrorCnt = 2 }, new ModbusMapperClientView(){ ActUpdateInterval = TimeSpan.FromMilliseconds(123), Client = new TcpClientView(){ IsConnected = true, RemoteAddr = "127.168.50.3:502" }, DRCnt = 10, DRNeedUpdateCnt = 3, ErrorCnt = 0 } }; } } public class ModbusMapperClientView : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; /// <summary> /// 实际更新间隔 /// </summary> public TimeSpan ActUpdateInterval { get; set; } public int ErrorCnt { get; set; } public int DRNeedUpdateCnt { get; set; } public int DRCnt { get; set; } public TcpClientView Client { get; set; } } public class TcpClientView : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; public string RemoteAddr { get; set; } public bool IsConnected { get; set; } } }