mirror of
https://gitee.com/langsisi_admin/serein-flow
synced 2026-03-03 08:10:47 +08:00
增强了实例工程的抽象逻辑
This commit is contained in:
@@ -1,37 +1,116 @@
|
||||
using Net462DllTest.Device;
|
||||
using IoTClient;
|
||||
using Net462DllTest.Trigger;
|
||||
using Net462DllTest.Signal;
|
||||
using Net462DllTest.Utils;
|
||||
using Serein.Library.Attributes;
|
||||
using Serein.Library.Utils;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Input;
|
||||
using Net462DllTest.LogicControl;
|
||||
|
||||
namespace Net462DllTest.ViewModel
|
||||
{
|
||||
public class FromWorkBenchViewModel
|
||||
public class FromWorkBenchViewModel : INotifyPropertyChanged
|
||||
{
|
||||
public FromWorkBenchViewModel(SiemensPlcDevice Device)
|
||||
private readonly SiemensPlcDevice Device;
|
||||
private readonly ViewManagement viewManagement;
|
||||
public FromWorkBenchViewModel(SiemensPlcDevice Device,ViewManagement viewManagement)
|
||||
{
|
||||
this.Device = Device;
|
||||
}
|
||||
private SiemensPlcDevice Device;
|
||||
|
||||
public string Name { get; set; }
|
||||
|
||||
public string GetDeviceInfo()
|
||||
{
|
||||
return Device?.ToString();
|
||||
this.viewManagement = viewManagement;
|
||||
InitCommand();
|
||||
|
||||
}
|
||||
|
||||
public void Trigger(CommandSignal signal,string spcaeNumber)
|
||||
|
||||
#region 属性绑定
|
||||
private string _spcaeNumber;
|
||||
public string SpcaeNumber
|
||||
{
|
||||
_ = Task.Run(() =>
|
||||
get { return _spcaeNumber; }
|
||||
set
|
||||
{
|
||||
Device.TriggerSignal(signal, spcaeNumber);
|
||||
});
|
||||
if (_spcaeNumber != value)
|
||||
{
|
||||
_spcaeNumber = value;
|
||||
OnPropertyChanged(nameof(SpcaeNumber));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private CommandSignal _selectedSignal;
|
||||
public CommandSignal SelectedSignal
|
||||
{
|
||||
get { return _selectedSignal; }
|
||||
set
|
||||
{
|
||||
if (_selectedSignal != value)
|
||||
{
|
||||
_selectedSignal = value;
|
||||
OnPropertyChanged(nameof(SelectedSignal));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private string _deviceInfo;
|
||||
public string DeviceInfo
|
||||
{
|
||||
get { return _deviceInfo; }
|
||||
set
|
||||
{
|
||||
if (_deviceInfo != value)
|
||||
{
|
||||
_deviceInfo = value;
|
||||
OnPropertyChanged(nameof(DeviceInfo));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
|
||||
protected void OnPropertyChanged(string propertyName)
|
||||
{
|
||||
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region 操作绑定
|
||||
|
||||
/// <summary>
|
||||
/// 查看PLC信息
|
||||
/// </summary>
|
||||
public RelayCommand CommandViewPlcInfo { get; private set; }
|
||||
/// <summary>
|
||||
/// 调取车位
|
||||
/// </summary>
|
||||
public RelayCommand CommandGetParkingSpace { get; private set; }
|
||||
|
||||
public void InitCommand()
|
||||
{
|
||||
CommandViewPlcInfo = new RelayCommand((p) =>
|
||||
{
|
||||
DeviceInfo = Device?.ToString();
|
||||
});
|
||||
CommandGetParkingSpace = new RelayCommand((p) =>
|
||||
{
|
||||
viewManagement.TriggerSignal(SelectedSignal, SpcaeNumber);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user