From a909429b932b76f4310933c1dba6e3e77f88c92d Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Wed, 10 Oct 2018 20:58:55 +0300 Subject: Done Implementing Valves !!! --- .../ViewModels/MachineTechViewVM.cs | 79 ++++++++++++++++++++-- 1 file changed, 75 insertions(+), 4 deletions(-) (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs') diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs index 1e1638928..59cd6fe19 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs @@ -559,6 +559,17 @@ namespace Tango.MachineStudio.Technician.ViewModels heaterItem.HeaterState = heaterState; } } + else if (item.GetType() == typeof(ValveItem)) + { + ValveItem valveItem = item as ValveItem; + + var valveState = data.ValvesStates.SingleOrDefault(x => x.ValveType == (ValveType)valveItem.TechValve.Code); + + if (valveState != null) + { + valveItem.EffectiveState = valveState.State; + } + } else if (item.GetType() == typeof(BlowerItem)) { BlowerItem blowerItem = item as BlowerItem; @@ -686,6 +697,11 @@ namespace Tango.MachineStudio.Technician.ViewModels var editor = CreateElement(bounds, Adapter.TechHeaters.FirstOrDefault()); InitTechHeater(editor.HeaterItem); } + else if (item is ValveItem) + { + var editor = CreateElement(bounds, Adapter.TechValves.FirstOrDefault()); + InitTechValveItem(editor.ValveItem); + } else if (item is SingleGraphItem) { var editor = CreateElement(bounds, Adapter.TechMonitors.Where(x => !x.MultiChannel).FirstOrDefault()); @@ -822,6 +838,11 @@ namespace Tango.MachineStudio.Technician.ViewModels (item as HeaterItem).TechHeater = Adapter.TechHeaters.FirstOrDefault(x => x.Guid == item.ItemGuid); CreateElement(item); } + else if (item is ValveItem) + { + (item as ValveItem).TechValve = Adapter.TechValves.FirstOrDefault(x => x.Guid == item.ItemGuid); + CreateElement(item); + } else if (item is MeterItem) { (item as MeterItem).TechMonitor = Adapter.TechMonitors.Where(x => !x.MultiChannel).FirstOrDefault(x => x.Guid == item.ItemGuid); @@ -1018,26 +1039,51 @@ namespace Tango.MachineStudio.Technician.ViewModels var dispenser = element.HostedElement as DispenserItem; InitDispenserItem(dispenser); } - else if (element is DigitalOutItem) + else if (element is DigitalOutElementEditor) { var ioItem = element.HostedElement as DigitalOutItem; InitDigitalOutItem(ioItem); } - else if (element is ThreadMotionItem) + else if (element is ThreadMotionElementEditor) { var threadMotionItem = element.HostedElement as ThreadMotionItem; InitThreadMotionItem(threadMotionItem); } - else if (element is MotorGroupItem) + else if (element is MotorGroupElementEditor) { var motorGroupItem = element.HostedElement as MotorGroupItem; InitMotorGroupItem(motorGroupItem); } - else if (element is ControllerItem) + else if (element is ControllerElementEditor) { var controllerItem = element.HostedElement as ControllerItem; InitControllerItem(controllerItem); } + else if (element is MonitorRecorderElementEditor) + { + var item = element.HostedElement as MonitorRecorderItem; + InitMonitorRecorderItem(item); + } + else if (element is ValveElementEditor) + { + var item = element.HostedElement as ValveItem; + InitTechValveItem(item); + } + else if (element is BlowerElementEditor) + { + var item = element.HostedElement as BlowerItem; + InitBlowerItem(item); + } + else if (element is HeaterElementEditor) + { + var item = element.HostedElement as HeaterItem; + InitTechHeater(item); + } + else if (element is ProcessParametersElementEditor) + { + var item = element.HostedElement as ProcessParametersItem; + InitProcessParameterItem(item); + } } } @@ -1045,6 +1091,10 @@ namespace Tango.MachineStudio.Technician.ViewModels #region Init Tech Items + /// + /// Initializes the monitor recorder item. + /// + /// The item. private void InitMonitorRecorderItem(MonitorRecorderItem item) { item.RecordingStarted += () => @@ -1089,6 +1139,27 @@ namespace Tango.MachineStudio.Technician.ViewModels }; } + /// + /// Initializes the tech valve. + /// + /// The valve item. + private void InitTechValveItem(ValveItem item) + { + item.StateChanged += async (x, state) => + { + try + { + CheckMachineOperator(); + await MachineOperator.SetValveState((ValveType)item.TechValve.Code, state); + } + catch (Exception ex) + { + LogManager.Log(ex, String.Format("Error executing technician set valve state command on '{0}'.", item.TechName)); + _eventLogger.Log(ex, String.Format("Error executing technician set valve state command on '{0}'.", item.TechName)); + } + }; + } + /// /// Initializes the blower item. /// -- cgit v1.3.1