public override List <MachineStep> Convert(SetVariableIstruction istruction, T state) { var bytes = BitConverter.GetBytes((uint)istruction.Value); var ar = new BitArray(bytes); var s = GetState(state); var r = new BitArray(ar).Xor(s); var step = new MachineStep() { Id = GetStepId(), Name = $"{istruction.Name}[{istruction.Index}]", Actions = new List <BaseAction>() }; for (int i = 0; i < r.Length; i++) { if ((_linkIds[i] > 0) && r[i]) { AddAction(step, ar[i], _linkIds[i]); s[i] = ar[i]; } } FilterMultipleActionOnSameLink(step); SetActionsIds(step); return((step.Actions.Count() > 0) ? new List <MachineStep>() { step } : null); }
public override List <MachineStep> Convert(SetVariableIstruction istruction, State state) { var v = (int)istruction.Value; state.HeadSetup = (v == 0) ? 1 : 0; return(null); }
public virtual List <MachineStep> Convert(SetVariableIstruction istruction, T state) { if (istruction == null) { throw new ArgumentNullException($"The istruction is not type {typeof(SetVariableIstruction).Name}"); } Debug.WriteLine($"Convert method for variable {istruction.Name}{istruction.Index} not implemented!"); return(null); }
public override List <MachineStep> Convert(SetVariableIstruction istruction, State state) { bool clamp1 = false; bool clamp2 = false; var v = istruction.Value; var step = new MachineStep() { Id = GetStepId(), Name = "ETK[714]", Actions = new List <BaseAction>() }; if (v == 1.0) { clamp1 = true; } else if (v == 2.0) { clamp2 = true; } else if (v == 3.0) { clamp1 = true; clamp2 = true; } if (clamp1 ^ state.Clamps.SxClamp) { step.Actions.Add(new TwoPositionLinkAction() { LinkId = 11, RequestedState = clamp1 ? TwoPositionLinkActionRequestedState.On : TwoPositionLinkActionRequestedState.Off }); state.Clamps.SxClamp = clamp1; } if (clamp2 ^ state.Clamps.DxClamp) { step.Actions.Add(new TwoPositionLinkAction() { LinkId = 12, RequestedState = clamp2 ? TwoPositionLinkActionRequestedState.On : TwoPositionLinkActionRequestedState.Off }); state.Clamps.DxClamp = clamp2; } SetActionsIds(step); return((step.Actions.Count() > 0) ? new List <MachineStep>() { step } : null); }
private void OnSetVariableMessage(SetVariableMessage msg) { var vr = ParseVariableName(msg.Name); var value = double.Parse(msg.Value, NumberStyles.Any, CultureInfo.InvariantCulture); var istruction = new SetVariableIstruction(vr.Item1, vr.Item2, value); var steps = _converterManager.Convert(istruction); if ((steps != null) && (steps.Count > 0)) { MachineSteps.AddRange(steps); } }
public override List <MachineStep> Convert(SetVariableIstruction istruction, State state) { var bytes = BitConverter.GetBytes((uint)istruction.Value); var ar = new BitArray(bytes); var n = Math.Min(state.Plane.RoolerBars.Length, ar.Length); for (int i = 0; i < n; i++) { state.Plane.RoolerBars[i] = ar[i]; } return(null); }
private List <MachineStep> Convert(SetVariableIstruction istruction) { if (istruction == null) { throw new ArgumentNullException($"The istruction is not type {typeof(SetVariableIstruction).Name}"); } if (_setVariableIstructionConverters.TryGetValue(new Tuple <string, int>(istruction.Name, istruction.Index), out BaseIstructionConverter <State> c)) { return(c.Convert(istruction, _state)); } else { return(null); } }
public static BaseIstruction Create(string data, bool isIndexWithParentesis, int lineNumber) { BaseIstruction istruction = null; var ss = Regex.Split(data, "\\="); if (ss != null && ss.Count() == 2) { ss[1] = Regex.Replace(ss[1], "\\[|\\]", string.Empty); var value = double.Parse(ss[1], CultureInfo.InvariantCulture); var name = GetVariableName(ss[0], isIndexWithParentesis); istruction = new SetVariableIstruction(name.Item1, name.Item2, value); istruction.LineNumber = lineNumber; } return(istruction); }
public override List <MachineStep> Convert(SetVariableIstruction istruction, State state) { state.ToolChange.ToolChangeSteps[1].ToolId = (int)istruction.Value; return(null); }
public override List <MachineStep> Convert(SetVariableIstruction istruction, State state) { state.Clamps.DxDistance = istruction.Value; return(null); }
public override List <MachineStep> Convert(SetVariableIstruction istruction, State state) { state.Panel.Dy = istruction.Value; return(null); }
public override List <MachineStep> Convert(SetVariableIstruction istruction, State state) { state.SelectedHead = (int)istruction.Value; return(null); }