using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.Toolkit.Mvvm.ComponentModel; using System.Collections.ObjectModel; using BPASmartClient.JXJFoodSmallStation.Model; using BPASmartClient.Helper; using Microsoft.Toolkit.Mvvm.Input; using BPASmartClient.CustomResource.UserControls.MessageShow; using BPASmartClient.CustomResource.UserControls; using System.Diagnostics; using BPASmartClient.JXJFoodSmallStation.Model.WindSend; using BPASmartClient.JXJFoodSmallStation.Model.Par; using BPASmartClient.JXJFoodSmallStation.Model.HK_PLC; namespace BPASmartClient.JXJFoodSmallStation.ViewModel { public class SystemParViewModel : ObservableObject { public SystemParViewModel() { SiemensConnect = Json.Data.deviceConnectPar.SiemensConnect; WindSendConnect = Json.Data.deviceConnectPar.WindSendConnect; HKPlcConnect = Json.Data.deviceConnectPar.HKPlcConnect; ShieldStockbinAlarm = Json.Data.deviceConnectPar.ShieldStockbinAlarm; AxisLoadSpeed = Json.Data.deviceConnectPar.AxisLoadSpeed; AxisMidSpeed = Json.Data.deviceConnectPar.AxisMidSpeed; AxisUnLoadSpeed = Json.Data.deviceConnectPar.AxisUnLoadSpeed; AxisMidSpeed = Json.Data.deviceConnectPar.AxisMidSpeed; Axis1Speed = Json.Data.deviceConnectPar.Axis1Speed; Axis2Speed = Json.Data.deviceConnectPar.Axis2Speed; SaveCommand = new RelayCommand(() => { Json.Data.deviceConnectPar.SiemensConnect = SiemensConnect; Json.Data.deviceConnectPar.WindSendConnect = WindSendConnect; Json.Data.deviceConnectPar.HKPlcConnect = HKPlcConnect; Json.Data.deviceConnectPar.ShieldStockbinAlarm = ShieldStockbinAlarm; Json.Data.deviceConnectPar.AxisLoadSpeed = AxisLoadSpeed; Json.Data.deviceConnectPar.AxisMidSpeed = AxisMidSpeed; Json.Data.deviceConnectPar.AxisUnLoadSpeed = AxisUnLoadSpeed; Json.Data.deviceConnectPar.AxisMidSpeed = AxisMidSpeed; Json.Data.deviceConnectPar.Axis1Speed = Axis1Speed; Json.Data.deviceConnectPar.Axis2Speed = Axis2Speed; Json.Save(); NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"参数保存成功!"); }); SetParCommand = new RelayCommand(() => { ActionManage.GetInstance.Send("PLCWrite", new HKDeviceWrite() { Address = "DB47.DBD0", PlcVarType = PlcVarType.Real, Value = Axis1Speed }); ActionManage.GetInstance.Send("PLCWrite", new HKDeviceWrite() { Address = "DB47.DBD4", PlcVarType = PlcVarType.Real, Value = Axis2Speed }); ActionManage.GetInstance.Send("PLCWrite", new HKDeviceWrite() { Address = "DB47.DBW8", PlcVarType = PlcVarType.Int, Value = AxisLoadSpeed }); ActionManage.GetInstance.Send("PLCWrite", new HKDeviceWrite() { Address = "DB47.DBW10", PlcVarType = PlcVarType.Int, Value = AxisMidSpeed }); ActionManage.GetInstance.Send("PLCWrite", new HKDeviceWrite() { Address = "DB47.DBW12", PlcVarType = PlcVarType.Int, Value = AxisUnLoadSpeed }); //ActionManage.GetInstance.Send("AxisLoadSpeedSet", AxisLoadSpeed); //ActionManage.GetInstance.Send("AxisMidSpeedSet", AxisMidSpeed); //ActionManage.GetInstance.Send("AxisUnLoadSpeedSet", AxisUnLoadSpeed); //ActionManage.GetInstance.Send("Axis1SpeedSet", Axis1Speed); //ActionManage.GetInstance.Send("Axis2SpeedSet", Axis2Speed); NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"参数设置成功!"); }); } public ConnectParMode CommBaseParModel { get { return Json.Data.deviceConnectPar; } set { Json.Data.deviceConnectPar = value; OnPropertyChanged(); } } public bool SiemensConnect { get { return _mSiemensConnect; } set { _mSiemensConnect = value; OnPropertyChanged(); } } private bool _mSiemensConnect; public bool WindSendConnect { get { return _mWindSendConnect; } set { _mWindSendConnect = value; OnPropertyChanged(); } } private bool _mWindSendConnect; public bool HKPlcConnect { get { return _mHKPlcConnect; } set { _mHKPlcConnect = value; OnPropertyChanged(); } } private bool _mHKPlcConnect; public bool ShieldStockbinAlarm { get { return _mShieldStockbinAlarm; } set { _mShieldStockbinAlarm = value; OnPropertyChanged(); } } private bool _mShieldStockbinAlarm; public short AxisLoadSpeed { get { return _mAxisLoadSpeed; } set { _mAxisLoadSpeed = value; OnPropertyChanged(); } } private short _mAxisLoadSpeed; public short AxisMidSpeed { get { return _mAxisMidSpeed; } set { _mAxisMidSpeed = value; OnPropertyChanged(); } } private short _mAxisMidSpeed; public short AxisUnLoadSpeed { get { return _mAxisUnLoadSpeed; } set { _mAxisUnLoadSpeed = value; OnPropertyChanged(); } } private short _mAxisUnLoadSpeed; public float Axis1Speed { get { return _mAxis1Speed; } set { _mAxis1Speed = value; OnPropertyChanged(); } } private float _mAxis1Speed; public float Axis2Speed { get { return _mAxis2Speed; } set { _mAxis2Speed = value; OnPropertyChanged(); } } private float _mAxis2Speed; public RelayCommand SaveCommand { get; set; } public RelayCommand SetParCommand { get; set; } } }