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.cs122
1 files changed, 106 insertions, 16 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 7bed3f441..8ed8a4a80 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
@@ -253,6 +253,13 @@ namespace Tango.MachineStudio.Technician.ViewModels
Elements.Add(editor);
InitMotorItem(motorItem);
}
+ else if (SelectedTechItem is DispenserItem)
+ {
+ var dispenserItem = new DispenserItem(Adapter.TechDispensers.FirstOrDefault());
+ DispenserElementEditor editor = new DispenserElementEditor(dispenserItem, bounds);
+ Elements.Add(editor);
+ InitDispenserItem(dispenserItem);
+ }
}
public void OnElementsRemoved(List<IElementEditor> elements)
@@ -319,56 +326,139 @@ namespace Tango.MachineStudio.Technician.ViewModels
{
item.ActionExecuted += async (x, action) =>
{
- if (action == MotorActionType.HomingStarted)
+ if (action == MotorActionType.ForwardPressed)
+ {
+ await MachineOperator.StartMotorJogging(new MotorJoggingRequest()
+ {
+ Code = item.TechMotor.Code,
+ Direction = MotorDirection.Forward,
+ });
+ }
+ else if (action == MotorActionType.ForwardReleased)
+ {
+ await MachineOperator.StopMotorJogging(new MotorAbortJoggingRequest()
+ {
+ Code = item.TechMotor.Code,
+ });
+ }
+ else if (action == MotorActionType.BackwardPressed)
+ {
+ await MachineOperator.StartMotorJogging(new MotorJoggingRequest()
+ {
+ Code = item.TechMotor.Code,
+ Direction = MotorDirection.Backward,
+ });
+ }
+ else if (action == MotorActionType.BackwardReleased)
+ {
+ await MachineOperator.StopMotorJogging(new MotorAbortJoggingRequest()
+ {
+ Code = item.TechMotor.Code,
+ });
+ }
+ else if (action == MotorActionType.HomingStarted)
{
item.HomingProgress = 0;
item.IsHoming = true;
item.IsHomingCompleted = false;
- await Task.Factory.StartNew(() =>
+ MachineOperator.StartMotorHoming(new MotorHomingRequest()
+ {
+ Code = item.TechMotor.Code
+ })
+ .Subscribe((response) =>
{
- for (int i = 0; i < 101; i++)
- {
- item.HomingMaximumProgress = 100;
- item.HomingProgress++;
- Thread.Sleep(60);
- }
+ item.HomingMaximumProgress = response.Message.MaxProgress;
+ item.HomingProgress = response.Message.Progress;
+
+ }, () =>
+ {
item.IsHoming = false;
item.IsHomingCompleted = true;
+
});
}
- else if (action == MotorActionType.ForwardPressed)
+ else if (action == MotorActionType.HomingStopped)
{
- await MachineOperator.StartMotorJogging(new MotorJoggingRequest()
+ await MachineOperator.StopMotorHoming(new MotorAbortHomingRequest()
{
Code = item.TechMotor.Code,
+ });
+
+ item.IsHoming = false;
+ }
+ };
+ }
+
+ private void InitDispenserItem(DispenserItem item)
+ {
+ item.ActionExecuted += async (x, action) =>
+ {
+ if (action == MotorActionType.ForwardPressed)
+ {
+ await MachineOperator.StartDispenserJogging(new DispenserJoggingRequest()
+ {
+ Code = item.TechDispenser.Code,
Direction = MotorDirection.Forward,
});
}
else if (action == MotorActionType.ForwardReleased)
{
- await MachineOperator.StopMotorJogging(new MotorAbortJoggingRequest()
+ await MachineOperator.StopDispenserJogging(new DispenserAbortJoggingRequest()
{
- Code = item.TechMotor.Code,
+ Code = item.TechDispenser.Code,
});
}
else if (action == MotorActionType.BackwardPressed)
{
- await MachineOperator.StartMotorJogging(new MotorJoggingRequest()
+ await MachineOperator.StartDispenserJogging(new DispenserJoggingRequest()
{
- Code = item.TechMotor.Code,
+ Code = item.TechDispenser.Code,
Direction = MotorDirection.Backward,
});
}
else if (action == MotorActionType.BackwardReleased)
{
- await MachineOperator.StopMotorJogging(new MotorAbortJoggingRequest()
+ await MachineOperator.StopDispenserJogging(new DispenserAbortJoggingRequest()
{
- Code = item.TechMotor.Code,
+ Code = item.TechDispenser.Code,
+ });
+ }
+ else if (action == MotorActionType.HomingStarted)
+ {
+ item.HomingProgress = 0;
+ item.IsHoming = true;
+ item.IsHomingCompleted = false;
+
+ MachineOperator.StartDispenserHoming(new DispenserHomingRequest()
+ {
+ Code = item.TechDispenser.Code
+ })
+ .Subscribe((response) =>
+ {
+
+ item.HomingMaximumProgress = response.Message.MaxProgress;
+ item.HomingProgress = response.Message.Progress;
+
+ }, () =>
+ {
+
+ item.IsHoming = false;
+ item.IsHomingCompleted = true;
+
});
}
+ else if (action == MotorActionType.HomingStopped)
+ {
+ await MachineOperator.StopDispenserHoming(new DispenserAbortHomingRequest()
+ {
+ Code = item.TechDispenser.Code,
+ });
+
+ item.IsHoming = false;
+ }
};
}
}