diff --git a/CapMachine.Shared/Controls/Meter.xaml b/CapMachine.Shared/Controls/Meter.xaml index c033f37..86fb258 100644 --- a/CapMachine.Shared/Controls/Meter.xaml +++ b/CapMachine.Shared/Controls/Meter.xaml @@ -85,6 +85,8 @@ + + - + + public ProStepExe NextProStepExe { get; set; } + private ProStepExe _CurProStepExe; /// /// 当前步骤数据执行 /// 给看步骤是否变化使用 /// - public ProStepExe CurProStepExe { get; set; } + public ProStepExe CurProStepExe + { + get { return _CurProStepExe; } + set { _CurProStepExe = value;RaisePropertyChanged(); } + } + + ///// + ///// 当前步骤数据执行 + ///// 给看步骤是否变化使用 + ///// + //public ProStepExe CurProStepExe { get; set; } /// /// 上一步步骤数据执行 diff --git a/CapMachine.Wpf/Services/CanDriveService.cs b/CapMachine.Wpf/Services/CanDriveService.cs index cfb1546..6cf565f 100644 --- a/CapMachine.Wpf/Services/CanDriveService.cs +++ b/CapMachine.Wpf/Services/CanDriveService.cs @@ -183,6 +183,8 @@ namespace CapMachine.Wpf.Services /// public void UpdateCapEnableCmdData(bool IsEnable) { + if (!ToomossCanDrive.IsCycleSend) return; + if (EnableCanCmdData != null) { EnableCanCmdData.SignalCmdValue = IsEnable ? 1 : 0; diff --git a/CapMachine.Wpf/Services/LinDriveService.cs b/CapMachine.Wpf/Services/LinDriveService.cs index fef1c02..e4c512a 100644 --- a/CapMachine.Wpf/Services/LinDriveService.cs +++ b/CapMachine.Wpf/Services/LinDriveService.cs @@ -167,6 +167,8 @@ namespace CapMachine.Wpf.Services /// public void UpdateCapEnableCmdData(bool IsEnable) { + if (!ToomossLinDrive.IsCycleSend) return; + if (EnableLinCmdData != null) { EnableLinCmdData.SignalCmdValue = IsEnable ? 1 : 0; diff --git a/CapMachine.Wpf/Services/MachineRtDataService.cs b/CapMachine.Wpf/Services/MachineRtDataService.cs index a7756cc..5232b8f 100644 --- a/CapMachine.Wpf/Services/MachineRtDataService.cs +++ b/CapMachine.Wpf/Services/MachineRtDataService.cs @@ -2211,24 +2211,34 @@ namespace CapMachine.Wpf.Services ListHandSwitchData = new List() { new HandSwitchData(){Name="自动",ActionAddress="M0.0",StateAddress="M0.0" }, - new HandSwitchData(){Name="抽真空",ActionAddress="M0.1",StateAddress="V15.2" }, - //new HandSwitchData(){Name="复位",ActionAddress="M0.2",StateAddress="M0.2" },放到上侧的按钮区域了 + new HandSwitchData(){Name="抽真空",ActionAddress="M0.3",StateAddress="V9.0" }, + //new HandSwitchData(){Name="复位",ActionAddress="M0.7",StateAddress="M0.7" },放到上侧的按钮区域了 //new HandSwitchData(){Name="消音",ActionAddress="M0.3",StateAddress="M0.3" },放到上侧的按钮区域了 new HandSwitchData(){Name="HV电源",ActionAddress="M1.1",StateAddress="Q0.1" }, - new HandSwitchData(){Name="HV启动",ActionAddress="M1.2",StateAddress="Q0.6" }, + new HandSwitchData(){Name="HV启动",ActionAddress="M1.2",StateAddress="Q2.0" }, new HandSwitchData(){Name="LV电源",ActionAddress="M1.3",StateAddress="Q0.2" }, - new HandSwitchData(){Name="水泵",ActionAddress="M1.4",StateAddress="Q0.3" }, - new HandSwitchData(){Name="冷凝器电加热",ActionAddress="M1.5",StateAddress="Q0.4" }, - new HandSwitchData(){Name="吸气混合器电加热",ActionAddress="M1.6",StateAddress="Q0.5" }, - new HandSwitchData(){Name="吸排气球阀",ActionAddress="M1.7",StateAddress="Q0.7" }, - new HandSwitchData(){Name="试验箱",ActionAddress="M2.0",StateAddress="V15.0" }, - new HandSwitchData(){Name="水SEV1",ActionAddress="M2.1",StateAddress="Q1.0" }, - new HandSwitchData(){Name="水SEV2",ActionAddress="M2.2",StateAddress="Q1.1" }, - new HandSwitchData(){Name="HCV1",ActionAddress="M2.3",StateAddress="Q1.2" }, - new HandSwitchData(){Name="HCV2",ActionAddress="M2.4",StateAddress="Q1.3" }, - new HandSwitchData(){Name="ECV1",ActionAddress="M2.5",StateAddress="Q1.4" }, - new HandSwitchData(){Name="ECV2",ActionAddress="M2.6",StateAddress="Q1.5" }, - new HandSwitchData(){Name="使能",ActionAddress="M2.7",StateAddress="V15.1" }, + new HandSwitchData(){Name="LV启动",ActionAddress="M1.4",StateAddress="M1.4" },//VW30=1 + + new HandSwitchData(){Name="P1水泵",ActionAddress="M1.5",StateAddress="Q0.3" }, + new HandSwitchData(){Name="P2水泵",ActionAddress="M1.6",StateAddress="Q0.4" }, + + new HandSwitchData(){Name="OS1加热器",ActionAddress="M1.7",StateAddress="Q0.5" }, + new HandSwitchData(){Name="OS2加热器",ActionAddress="M2.0",StateAddress="Q0.6" }, + + new HandSwitchData(){Name="COND2加热器",ActionAddress="M2.1",StateAddress="Q0.7" }, + new HandSwitchData(){Name="EVAP加热器",ActionAddress="M2.2",StateAddress="Q1.0" }, + new HandSwitchData(){Name="HCV1",ActionAddress="M2.3",StateAddress="Q1.1" }, + new HandSwitchData(){Name="HCV2",ActionAddress="M2.4",StateAddress="Q1.7" }, + new HandSwitchData(){Name="HCV3",ActionAddress="M2.5",StateAddress="Q1.2" }, + new HandSwitchData(){Name="HCV4",ActionAddress="M2.6",StateAddress="Q1.3" }, + + new HandSwitchData(){Name="EV1",ActionAddress="M2.7",StateAddress="Q1.4" }, + new HandSwitchData(){Name="EV2",ActionAddress="M3.0",StateAddress="Q1.5" }, + new HandSwitchData(){Name="EV3",ActionAddress="M3.1",StateAddress="Q1.6" }, + new HandSwitchData(){Name="EV4",ActionAddress="M3.2",StateAddress="Q2.1" }, + new HandSwitchData(){Name="试验箱",ActionAddress="M3.3",StateAddress="M3.3" },//VW32=1 + new HandSwitchData(){Name="吸排气球阀",ActionAddress="M3.4",StateAddress="Q2.3" }, + new HandSwitchData(){Name="使能",ActionAddress="M3.5",StateAddress="V9.1" }, }; ListPlcExdConfigCell = new List() @@ -2285,23 +2295,25 @@ namespace CapMachine.Wpf.Services /// public bool SysReset() { - //return true; + + SiemensDrive.Write("M0.7", true); + return true; - //取消XXX - var FindData = ListHandSwitchData.Where(a => a.Name == "复位"); - if (FindData.Count() > 0) - { - var Result = SiemensDrive.Write(FindData.First().ActionAddress, true); - if (Result.IsSuccess) - { - return true; - } - else - { - return false; - } - } - return false; + ////取消XXX + //var FindData = ListHandSwitchData.Where(a => a.Name == "复位"); + //if (FindData.Count() > 0) + //{ + // var Result = SiemensDrive.Write(FindData.First().ActionAddress, true); + // if (Result.IsSuccess) + // { + // return true; + // } + // else + // { + // return false; + // } + //} + //return false; } /// @@ -2628,8 +2640,6 @@ namespace CapMachine.Wpf.Services } - - //PV批量读取 OperateResultBlockPVRead = SiemensDrive.Read("VW100", 200); if (OperateResultBlockPVRead.IsSuccess) @@ -2703,6 +2713,11 @@ namespace CapMachine.Wpf.Services } } + //手自动切换按钮条件 + AutoHandSwtichConditionState.AlarmStateResult = SiemensDrive.ReadBool(AutoHandSwtichConditionState.AlarmAddress); + AutoHandSwtichConditionState.HandStateResult = SiemensDrive.ReadBool(AutoHandSwtichConditionState.HandStateAddress); + AutoHandSwtichConditionState.SumResult(); + //程序步骤的写入 ProRunStepWrite(); @@ -2713,44 +2728,44 @@ namespace CapMachine.Wpf.Services //Console.WriteLine("Add Elapsed output runTime:{0}", stopwatch.Elapsed.TotalSeconds.ToString()); //stopwatch.Reset(); - ////读取报警信息 取消报警XXX - //OperateResultAlarm = SiemensDrive.ReadBool("V0.0", 15); - //if (OperateResultAlarm.IsSuccess) - //{ - // foreach (var item in AlarmService.ListAlarmRunCell) - // { - // item.UpdateBoolValue(OperateResultAlarm.Content[item.Index]); - // } - //} + //读取报警信息 取消报警XXX + OperateResultAlarm = SiemensDrive.ReadBool("V0.0", 15); + if (OperateResultAlarm.IsSuccess) + { + foreach (var item in AlarmService.ListAlarmRunCell) + { + item.UpdateBoolValue(OperateResultAlarm.Content[item.Index]); + } + } - ////循环读取手自动切换 取消XXX - //foreach (var item in ListHandSwitchData) - //{ - // item.StateOperateResult = SiemensDrive.ReadBool(item.StateAddress); - // if (item.StateOperateResult.IsSuccess) - // { - // item.State = item.StateOperateResult.Content; - // //根据PLC得到执行的步骤数据,更新到CAN和LIN的数据 - // if (item.Name!.Equals("使能")) - // { - // switch (ConfigService.CanLinRunStateModel.CurSysSelectedCanLin) - // { - // case CanLinEnum.Can: - // //获取PLC的使能状态,更新到CAN的使能状态 - // CanDriveService.UpdateCapEnableCmdData(item.State); - // //itemTag.Value.EngPvValue = 0; - // break; - // case CanLinEnum.Lin: - // //获取PLC的使能状态,更新到LIN的使能状态 - // LinDriveService.UpdateCapEnableCmdData(item.State); - // //itemTag.Value.EngPvValue = 0; - // break; - // default: - // break; - // } - // } - // } - //} + //循环读取手自动切换 取消XXX + foreach (var item in ListHandSwitchData) + { + item.StateOperateResult = SiemensDrive.ReadBool(item.StateAddress); + if (item.StateOperateResult.IsSuccess) + { + item.State = item.StateOperateResult.Content; + //根据PLC得到执行的步骤数据,更新到CAN和LIN的数据 + if (item.Name!.Equals("使能")) + { + switch (ConfigService.CanLinRunStateModel.CurSysSelectedCanLin) + { + case CanLinEnum.Can: + //获取PLC的使能状态,更新到CAN的使能状态 + CanDriveService.UpdateCapEnableCmdData(item.State); + //itemTag.Value.EngPvValue = 0; + break; + case CanLinEnum.Lin: + //获取PLC的使能状态,更新到LIN的使能状态 + LinDriveService.UpdateCapEnableCmdData(item.State); + //itemTag.Value.EngPvValue = 0; + break; + default: + break; + } + } + } + } ////拓展信息的展示 取消XXX diff --git a/CapMachine.Wpf/Views/MonitorView.xaml b/CapMachine.Wpf/Views/MonitorView.xaml index 1ee7088..d4baa6b 100644 --- a/CapMachine.Wpf/Views/MonitorView.xaml +++ b/CapMachine.Wpf/Views/MonitorView.xaml @@ -301,7 +301,7 @@ VerticalAlignment="Center" FontSize="30" FontWeight="Bold" - Text="" /> + Text="{Binding ProRuntimeService.SpeedProExModel.CurProStepExe.ProStepInfo}" />