Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 7
0
        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);
 }
Ejemplo n.º 11
0
        public override List <MachineStep> Convert(SetVariableIstruction istruction, State state)
        {
            state.Panel.Dy = istruction.Value;

            return(null);
        }
Ejemplo n.º 12
0
        public override List <MachineStep> Convert(SetVariableIstruction istruction, State state)
        {
            state.SelectedHead = (int)istruction.Value;

            return(null);
        }