aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs79
1 files changed, 75 insertions, 4 deletions
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<HeaterElementEditor, HeaterItem, TechHeater>(bounds, Adapter.TechHeaters.FirstOrDefault());
InitTechHeater(editor.HeaterItem);
}
+ else if (item is ValveItem)
+ {
+ var editor = CreateElement<ValveElementEditor, ValveItem, TechValve>(bounds, Adapter.TechValves.FirstOrDefault());
+ InitTechValveItem(editor.ValveItem);
+ }
else if (item is SingleGraphItem)
{
var editor = CreateElement<SingleGraphElementEditor, SingleGraphItem, TechMonitor>(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<HeaterElementEditor>(item);
}
+ else if (item is ValveItem)
+ {
+ (item as ValveItem).TechValve = Adapter.TechValves.FirstOrDefault(x => x.Guid == item.ItemGuid);
+ CreateElement<ValveElementEditor>(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
+ /// <summary>
+ /// Initializes the monitor recorder item.
+ /// </summary>
+ /// <param name="item">The item.</param>
private void InitMonitorRecorderItem(MonitorRecorderItem item)
{
item.RecordingStarted += () =>
@@ -1090,6 +1140,27 @@ namespace Tango.MachineStudio.Technician.ViewModels
}
/// <summary>
+ /// Initializes the tech valve.
+ /// </summary>
+ /// <param name="item">The valve item.</param>
+ 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));
+ }
+ };
+ }
+
+ /// <summary>
/// Initializes the blower item.
/// </summary>
/// <param name="item">The blower item.</param>