示例#1
0
        /// <summary>
        /// Inicializace motoru
        /// </summary>
        /// <param name="connector">connector sběrnice</param>
        /// <param name="stateObserver">posluchač stavu motoru</param>
        /// <param name="nodeNumber">číslo node</param>
        /// <param name="id">id motoru</param>
        /// <param name="mode">defaultní nastavení módu</param>
        /// <param name="reverse">příznak obrácení směru točení</param>
        /// <param name="multiplier">násobitel otáček v případě, že je motor za převodovkou</param>
        /// <param name="positionVeocity">rychlost motoru v otáčkách při pozicování</param>
        /// <param name="positionAceleration">zrychlení motoru v otáčkách při pozicování</param>
        /// <param name="positionDeceleration">zpomalení motoru v otáčkách při pozicování</param>
        /// <param name="velocity">maximální rychlost motoru při rychlostním řízení</param>
        /// <param name="aceleration">zrychlení motoru při rychlostním řízení</param>
        /// <param name="deceleration">zpomalení motoru při rychlostním řízení</param>
        public void inicialize(DeviceManager connector, IStateObserver stateObserver, Action motorErrorOccuredObserver, int nodeNumber, MotorId id, MotorMode mode, bool reverse, int multiplier, uint positionVelocity, uint positionAceleration, uint positionDeceleration, uint velocity, uint aceleration, uint deceleration)
        {
            try
            {
                this.mode                      = mode;
                this.stateObserver             = stateObserver;
                this.motorErrorOccuredObserver = motorErrorOccuredObserver;
                this.id         = id;
                this.multiplier = multiplier;

                if (reverse)
                {
                    rev = -1;
                }

                motor        = connector.CreateDevice(Convert.ToUInt16(nodeNumber));
                stateHandler = motor.Operation.MotionInfo;

                sm = motor.Operation.StateMachine;
                if (sm.GetFaultState())
                {
                    sm.ClearFault();
                }
                sm.SetEnableState();

                maxSpeed        = (int)velocity;
                velocityHandler = motor.Operation.ProfileVelocityMode;
                velocityHandler.SetVelocityProfile(aceleration, deceleration);
                positionHandler = motor.Operation.ProfilePositionMode;
                positionHandler.SetPositionProfile(positionVelocity, positionAceleration, positionDeceleration);
                homingHandler = motor.Operation.HomingMode;
                changeMode(mode);

                setStateObserver();
                state = MotorState.enabled;
                stateObserver.motorStateChanged(MotorState.enabled, "", id, 0, 0, 0, 0);
                targetPosition = stateHandler.GetPositionIs();
                targetAngle    = getAngleFromPosition(targetPosition);
            }
            catch (DeviceException e)
            {
                sm = null;
                disableStateObserver();
                state = MotorState.error;
                stateObserver.motorStateChanged(MotorState.error, String.Format("{0}\nError: {1}", e.ErrorMessage, errorDictionary.getComunicationErrorMessage(e.ErrorCode)), id, 0, 0, 0, 0);
            }
        }
示例#2
0
        /// <summary>
        /// Inicializace motoru
        /// </summary>
        /// <param name="connector">connector sběrnice</param>
        /// <param name="stateObserver">posluchač stavu motoru</param>
        /// <param name="nodeNumber">číslo node</param>
        /// <param name="id">id motoru</param>
        /// <param name="mode">defaultní nastavení módu</param>
        /// <param name="reverse">příznak obrácení směru točení</param>
        /// <param name="multiplier">násobitel otáček v případě, že je motor za převodovkou</param>
        /// <param name="positionVeocity">rychlost motoru v otáčkách při pozicování</param>
        /// <param name="positionAceleration">zrychlení motoru v otáčkách při pozicování</param>
        /// <param name="positionDeceleration">zpomalení motoru v otáčkách při pozicování</param>
        /// <param name="velocity">maximální rychlost motoru při rychlostním řízení</param>
        /// <param name="aceleration">zrychlení motoru při rychlostním řízení</param>
        /// <param name="deceleration">zpomalení motoru při rychlostním řízení</param>
        public void inicialize(DeviceManager connector, IStateObserver stateObserver, Action motorErrorOccuredObserver, int nodeNumber, MotorId id, MotorMode mode, bool reverse, int multiplier, uint positionVelocity, uint positionAceleration, uint positionDeceleration, uint velocity, uint aceleration, uint deceleration)
        {
            this.mode                      = mode;
            this.stateObserver             = stateObserver;
            this.motorErrorOccuredObserver = motorErrorOccuredObserver;
            this.id         = id;
            this.multiplier = multiplier;

            if (reverse)
            {
                rev = -1;
            }

            changeMode(mode);

            setStateObserver();
            state = MotorState.enabled;
            stateObserver.motorStateChanged(MotorState.enabled, "", id, 0, 0, 0, 0);
        }
        public Motor Motor(MotorId motor)
        {
            switch (motor)
            {
            case MotorId.MotorOne:
                if (motors[0] == null)
                {
                    motors[0] = new Motor((int)MotorMap.OnePlus, (int)MotorMap.OneMinus);
                }
                return(motors[0]);

            case MotorId.MotorTwo:
                if (motors[1] == null)
                {
                    motors[1] = new Motor((int)MotorMap.TwoPlus, (int)MotorMap.TwoMinus);
                }
                return(motors[1]);

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
示例#4
0
 /// <summary>
 /// Pohne s daným motorem v daném směru o daný krok
 /// </summary>
 /// <param name="motorId">id motoru</param>
 /// <param name="step">krok motoru v qc</param>
 public void moveWithMotor(MotorId motorId, int step)
 {
     if (!error)
     {
         motors[motorId].move(step);
     }
 }
 public Motor Motor(MotorId motor) {
     switch (motor) {
         case MotorId.MotorOne:
             if (motors[0] == null) { motors[0] = new Motor((int)MotorMap.OnePlus, (int)MotorMap.OneMinus); }
             return motors[0];
         case MotorId.MotorTwo:
             if (motors[1] == null) { motors[1] = new Motor((int)MotorMap.TwoPlus, (int)MotorMap.TwoMinus); }
             return motors[1];
         default:
             throw new ArgumentOutOfRangeException();
     }
 }
示例#6
0
 /// <summary>
 /// Inicializace motoru
 /// </summary>
 /// <param name="connector">connector sběrnice</param>
 /// <param name="stateObserver">posluchač stavu motoru</param>
 /// <param name="nodeNumber">číslo node</param>
 /// <param name="id">id motoru</param>
 /// <param name="mode">defaultní nastavení módu</param>
 /// <param name="reverse">příznak obrácení směru točení</param>
 /// <param name="multiplier">násobitel otáček v případě, že je motor za převodovkou</param>
 /// <param name="positionVeocity">rychlost motoru v otáčkách při pozicování</param>
 /// <param name="positionAceleration">zrychlení motoru v otáčkách při pozicování</param>
 /// <param name="positionDeceleration">zpomalení motoru v otáčkách při pozicování</param>
 /// <param name="velocity">maximální rychlost motoru při rychlostním řízení</param>
 /// <param name="aceleration">zrychlení motoru při rychlostním řízení</param>
 /// <param name="deceleration">zpomalení motoru při rychlostním řízení</param>
 /// <param name="minPosition">minimální pozice motoru</param>
 /// <param name="maxPosition">maximální pozice motoru</param>
 /// <param name="angleMap">Pole definující vztah úhlu ze škály uvedené u motoru a opravdového úhlu a pozicí motoru. Jeden řádek obsahuje {úhel ze škály ve stupních; opravdový úhel; pozice motoru}</param>
 public void inicialize(DeviceManager connector, IStateObserver stateObserver, Action motorErrorOccuredObserver, int nodeNumber, MotorId id, MotorMode mode, bool reverse, int multiplier, uint positionVelocity, uint positionAceleration, uint positionDeceleration, uint velocity, uint aceleration, uint deceleration, int[,] angleMap)
 {
     this.angleMap = angleMap;
     inicialize(connector, stateObserver, motorErrorOccuredObserver, nodeNumber, id, mode, reverse, multiplier, positionVelocity, positionAceleration, positionDeceleration, velocity, aceleration, deceleration, angleMap[angleMap.GetLength(0) - 1, 2], angleMap[0, 2], angleMap[angleMap.GetLength(0) - 1, 1], angleMap[0, 1]);
 }
示例#7
0
 /// <summary>
 /// Inicializace motoru
 /// </summary>
 /// <param name="connector">connector sběrnice</param>
 /// <param name="stateObserver">posluchač stavu motoru</param>
 /// <param name="nodeNumber">číslo node</param>
 /// <param name="id">id motoru</param>
 /// <param name="mode">defaultní nastavení módu</param>
 /// <param name="reverse">příznak obrácení směru točení</param>
 /// <param name="multiplier">násobitel otáček v případě, že je motor za převodovkou</param>
 /// <param name="positionVeocity">rychlost motoru v otáčkách při pozicování</param>
 /// <param name="positionAceleration">zrychlení motoru v otáčkách při pozicování</param>
 /// <param name="positionDeceleration">zpomalení motoru v otáčkách při pozicování</param>
 /// <param name="velocity">maximální rychlost motoru při rychlostním řízení</param>
 /// <param name="aceleration">zrychlení motoru při rychlostním řízení</param>
 /// <param name="deceleration">zpomalení motoru při rychlostním řízení</param>
 /// <param name="minPosition">minimální pozice motoru</param>
 /// <param name="maxPosition">maximální pozice motoru</param>
 public void inicialize(DeviceManager connector, IStateObserver stateObserver, Action motorErrorOccuredObserver, int nodeNumber, MotorId id, MotorMode mode, bool reverse, int multiplier, uint positionVelocity, uint positionAceleration, uint positionDeceleration, uint velocity, uint aceleration, uint deceleration, int minPosition, int maxPosition, int minAngle, int maxAngle)
 {
     hasPositionLimit = true;
     this.maxPosition = maxPosition;
     this.minPosition = minPosition;
     this.minAngle    = minAngle;
     this.maxAngle    = maxAngle;
     inicialize(connector, stateObserver, motorErrorOccuredObserver, nodeNumber, id, mode, reverse, multiplier, positionVelocity, positionAceleration, positionDeceleration, velocity, aceleration, deceleration);
 }
示例#8
0
 /// <summary>
 /// Inicializace motoru
 /// </summary>
 /// <param name="connector">connector sběrnice</param>
 /// <param name="stateObserver">posluchač stavu motoru</param>
 /// <param name="nodeNumber">číslo node</param>
 /// <param name="id">id motoru</param>
 /// <param name="mode">defaultní nastavení módu</param>
 /// <param name="reverse">příznak obrácení směru točení</param>
 /// <param name="multiplier">násobitel otáček v případě, že je motor za převodovkou</param>
 /// <param name="positionVeocity">rychlost motoru v otáčkách při pozicování</param>
 /// <param name="positionAceleration">zrychlení motoru v otáčkách při pozicování</param>
 /// <param name="positionDeceleration">zpomalení motoru v otáčkách při pozicování</param>
 /// <param name="velocity">maximální rychlost motoru při rychlostním řízení</param>
 /// <param name="aceleration">zrychlení motoru při rychlostním řízení</param>
 /// <param name="deceleration">zpomalení motoru při rychlostním řízení</param>
 /// <param name="minPosition">minimální pozice motoru</param>
 /// <param name="maxPosition">maximální pozice motoru</param>
 /// <param name="angleMap">Pole definující vztah úhlu ze škály uvedené u motoru a opravdového úhlu a pozicí motoru. Jeden řádek obsahuje {úhel ze škály ve stupních; opravdový úhel; pozice motoru}</param>
 public void inicialize(DeviceManager connector, IStateObserver stateObserver, Action motorErrorOccuredObserver, int nodeNumber, MotorId id, MotorMode mode, bool reverse, int multiplier, uint positionVelocity, uint positionAceleration, uint positionDeceleration, uint velocity, uint aceleration, uint deceleration, int[,] angleMap)
 {
     this.angleMap = angleMap;
     inicialize(connector, stateObserver, motorErrorOccuredObserver, nodeNumber, id, mode, reverse, multiplier, positionVelocity, positionAceleration, positionDeceleration, velocity, aceleration, deceleration, angleMap[angleMap.GetLength(0) - 1, 2], angleMap[0, 2], angleMap[angleMap.GetLength(0) - 1, 1], angleMap[0, 1]);
 }
示例#9
0
 /// <summary>
 /// Zobrazí stav konkrétního motoru
 /// </summary>
 /// <param name="motorView">vizualizace motoru</param>
 /// <param name="state">stav</param>
 /// <param name="message">zpráva ke stavu</param>
 /// <param name="motorId">id motoru</param>
 private void showMotorState(Label motorView, MotorState state, String message, MotorId motorId, int speed, int position) {
     switch (state)
     {
         case MotorState.error:
             motorView.BackColor = Color.Red;
             break;
         case MotorState.enabled:
             motorView.BackColor = Color.Green;
             break;
         case MotorState.disabled:
             motorView.BackColor = Color.LightSlateGray;
             break;
         case MotorState.running:
             motorView.BackColor = Color.Orange;
             break;
     }
     this.Invoke((MethodInvoker)delegate
     {
         ((Label)motorView.GetChildAtPoint(new Point(0,0))).Text = speed.ToString();
         motorView.Text = position.ToString();
         toolTip.SetToolTip(motorView, "ID motoru: " + motorId + "\nStav motoru: " + state + "\nZpráva: " + message);
         motorView.Update();
     });
 }
示例#10
0
 /// <summary>
 /// Změní parametry pro vizualizaci
 /// </summary>
 /// <param name="motorId">id motoru jehož parametry byly změněny</param>
 /// <param name="speed">rychlost motoru (-100 až 100)</param>
 /// <param name="angle">poloha motoru jako úhel</param>
 private void changeVisualization(MotorId motorId, int speed, int angle) {
     switch (motorId) {
         case MotorId.LP_P:
             LP_P = speed;
             break;
         case MotorId.LP_R:
             LP_R = angle;
             break;
         case MotorId.LP_Z:
             LP_Z = angle;
             break;
         case MotorId.LP_ZK:
             LP_ZK = angle;
             break;
         case MotorId.PP_P:
             PP_P = speed;
             break;
         case MotorId.PP_R:
             PP_R = -angle;
             break;
         case MotorId.PP_Z:
             PP_Z = angle;
             break;
         case MotorId.PP_ZK:
             PP_ZK = -angle;
             break;
         case MotorId.LZ_P:
             LZ_P = speed;
             break;
         case MotorId.LZ_R:
             LZ_R = -angle;
             break;
         case MotorId.LZ_Z:
             LZ_Z = angle;
             break;
         case MotorId.LZ_ZK:
             LZ_ZK = -angle;
             break;
         case MotorId.PZ_P:
             PZ_P = speed;
             break;
         case MotorId.PZ_R:
             PZ_R = angle;
             break;
         case MotorId.PZ_Z:
             PZ_Z = angle;
             break;
         case MotorId.PZ_ZK:
             PZ_ZK = angle;
             break;
     }
     robotCanvas.Invalidate();
 }
示例#11
0
 /// <summary>
 /// Zobrazí stav konkrétního motoru
 /// </summary>
 /// <param name="state">stav</param>
 /// <param name="message">zpráva ke stavu</param>
 /// <param name="motorId">id motoru</param>
 /// <param name="speed">aktuální rychlost motoru</param>
 /// <param name="position">aktuální pozice motoru</param>
 /// <param name="speedRelative">relativní rychlost (-100 až 100)</param>
 /// <param name="angle">poloha motoru jako úhel</param>
 public void motorStateChanged(MotorState state, string message, MotorId motorId, int speed, int position, int speedRelative, int angle)
 {
     showMotorState(motorViews[motorId], state, message, motorId, speed, position);
     changeVisualization(motorId, speedRelative, angle);
 }
示例#12
0
        /// <summary>
        /// Zobrazí stav konkrétního motoru
        /// </summary>
        /// <param name="motorView">vizualizace motoru</param>
        /// <param name="state">stav</param>
        /// <param name="message">zpráva ke stavu</param>
        /// <param name="motorId">id motoru</param>
        private void showMotorState(Label motorView, MotorState state, String message, MotorId motorId, int speed, int position)
        {
            switch (state)
            {
            case MotorState.error:
                motorView.BackColor = Color.Red;
                break;

            case MotorState.enabled:
                motorView.BackColor = Color.Green;
                break;

            case MotorState.disabled:
                motorView.BackColor = Color.LightSlateGray;
                break;

            case MotorState.running:
                motorView.BackColor = Color.Orange;
                break;
            }
            this.Invoke((MethodInvoker) delegate
            {
                ((Label)motorView.GetChildAtPoint(new Point(0, 0))).Text = speed.ToString();
                motorView.Text = position.ToString();
                toolTip.SetToolTip(motorView, "ID motoru: " + motorId + "\nStav motoru: " + state + "\nZpráva: " + message);
                motorView.Update();
            });
        }
示例#13
0
        /// <summary>
        /// Změní parametry pro vizualizaci
        /// </summary>
        /// <param name="motorId">id motoru jehož parametry byly změněny</param>
        /// <param name="speed">rychlost motoru (-100 až 100)</param>
        /// <param name="angle">poloha motoru jako úhel</param>
        private void changeVisualization(MotorId motorId, int speed, int angle)
        {
            switch (motorId)
            {
            case MotorId.LP_P:
                LP_P = speed;
                break;

            case MotorId.LP_R:
                LP_R = angle;
                break;

            case MotorId.LP_Z:
                LP_Z = angle;
                break;

            case MotorId.LP_ZK:
                LP_ZK = angle;
                break;

            case MotorId.PP_P:
                PP_P = speed;
                break;

            case MotorId.PP_R:
                PP_R = -angle;
                break;

            case MotorId.PP_Z:
                PP_Z = angle;
                break;

            case MotorId.PP_ZK:
                PP_ZK = -angle;
                break;

            case MotorId.LZ_P:
                LZ_P = speed;
                break;

            case MotorId.LZ_R:
                LZ_R = -angle;
                break;

            case MotorId.LZ_Z:
                LZ_Z = angle;
                break;

            case MotorId.LZ_ZK:
                LZ_ZK = -angle;
                break;

            case MotorId.PZ_P:
                PZ_P = speed;
                break;

            case MotorId.PZ_R:
                PZ_R = angle;
                break;

            case MotorId.PZ_Z:
                PZ_Z = angle;
                break;

            case MotorId.PZ_ZK:
                PZ_ZK = angle;
                break;
            }
            robotCanvas.Invalidate();
        }
示例#14
0
 /// <summary>
 /// Zobrazí stav konkrétního motoru
 /// </summary>
 /// <param name="state">stav</param>
 /// <param name="message">zpráva ke stavu</param>
 /// <param name="motorId">id motoru</param>
 /// <param name="speed">aktuální rychlost motoru</param>
 /// <param name="position">aktuální pozice motoru</param>
 /// <param name="speedRelative">relativní rychlost (-100 až 100)</param>
 /// <param name="angle">poloha motoru jako úhel</param>
 public void motorStateChanged(MotorState state, string message, MotorId motorId, int speed, int position, int speedRelative, int angle)
 {
     showMotorState(motorViews[motorId], state, message, motorId, speed, position);
     changeVisualization(motorId, speedRelative, angle);
 }
示例#15
0
        /// <summary>
        /// Inicializace motoru
        /// </summary>
        /// <param name="connector">connector sběrnice</param>
        /// <param name="stateObserver">posluchač stavu motoru</param>
        /// <param name="nodeNumber">číslo node</param>
        /// <param name="id">id motoru</param>
        /// <param name="mode">defaultní nastavení módu</param>
        /// <param name="reverse">příznak obrácení směru točení</param>
        /// <param name="multiplier">násobitel otáček v případě, že je motor za převodovkou</param>
        /// <param name="positionVeocity">rychlost motoru v otáčkách při pozicování</param>
        /// <param name="positionAceleration">zrychlení motoru v otáčkách při pozicování</param>
        /// <param name="positionDeceleration">zpomalení motoru v otáčkách při pozicování</param>
        /// <param name="velocity">maximální rychlost motoru při rychlostním řízení</param>
        /// <param name="aceleration">zrychlení motoru při rychlostním řízení</param>
        /// <param name="deceleration">zpomalení motoru při rychlostním řízení</param>
        public void inicialize(DeviceManager connector, IStateObserver stateObserver, Action motorErrorOccuredObserver, int nodeNumber, MotorId id, MotorMode mode, bool reverse, int multiplier, uint positionVelocity, uint positionAceleration, uint positionDeceleration, uint velocity, uint aceleration, uint deceleration)
        {
            this.mode = mode;
            this.stateObserver = stateObserver;
            this.motorErrorOccuredObserver = motorErrorOccuredObserver;
            this.id = id;
            this.multiplier = multiplier;

            if (reverse)
            {
                rev = -1;
            }

            changeMode(mode);

            setStateObserver();
            state = MotorState.enabled;
            stateObserver.motorStateChanged(MotorState.enabled, "", id, 0, 0, 0, 0);
        }
示例#16
0
        /// <summary>
        /// Inicializace motoru
        /// </summary>
        /// <param name="connector">connector sběrnice</param>
        /// <param name="stateObserver">posluchač stavu motoru</param>
        /// <param name="nodeNumber">číslo node</param>
        /// <param name="id">id motoru</param>
        /// <param name="mode">defaultní nastavení módu</param>
        /// <param name="reverse">příznak obrácení směru točení</param>
        /// <param name="multiplier">násobitel otáček v případě, že je motor za převodovkou</param>
        /// <param name="positionVeocity">rychlost motoru v otáčkách při pozicování</param>
        /// <param name="positionAceleration">zrychlení motoru v otáčkách při pozicování</param>
        /// <param name="positionDeceleration">zpomalení motoru v otáčkách při pozicování</param>
        /// <param name="velocity">maximální rychlost motoru při rychlostním řízení</param>
        /// <param name="aceleration">zrychlení motoru při rychlostním řízení</param>
        /// <param name="deceleration">zpomalení motoru při rychlostním řízení</param>
        public void inicialize(DeviceManager connector, IStateObserver stateObserver, Action motorErrorOccuredObserver, int nodeNumber, MotorId id, MotorMode mode, bool reverse, int multiplier, uint positionVelocity, uint positionAceleration, uint positionDeceleration, uint velocity, uint aceleration, uint deceleration)
        {
            try
            {
                this.mode = mode;
                this.stateObserver = stateObserver;
                this.motorErrorOccuredObserver = motorErrorOccuredObserver;
                this.id = id;
                this.multiplier = multiplier;

                if (reverse)
                {
                    rev = -1;
                }

                motor = connector.CreateDevice(Convert.ToUInt16(nodeNumber));
                stateHandler = motor.Operation.MotionInfo;

                sm = motor.Operation.StateMachine;
                if (sm.GetFaultState())
                    sm.ClearFault();
                sm.SetEnableState();

                maxSpeed = (int)velocity;
                velocityHandler = motor.Operation.ProfileVelocityMode;
                velocityHandler.SetVelocityProfile(aceleration, deceleration);
                positionHandler = motor.Operation.ProfilePositionMode;
                positionHandler.SetPositionProfile(positionVelocity, positionAceleration, positionDeceleration);
                homingHandler = motor.Operation.HomingMode;
                changeMode(mode);

                setStateObserver();
                state = MotorState.enabled;
                stateObserver.motorStateChanged(MotorState.enabled, "", id, 0, 0, 0, 0);
                targetPosition = stateHandler.GetPositionIs();
                targetAngle = getAngleFromPosition(targetPosition);
            }
            catch (DeviceException e)
            {
                sm = null;
                disableStateObserver();
                state = MotorState.error;
                stateObserver.motorStateChanged(MotorState.error, String.Format("{0}\nError: {1}", e.ErrorMessage, errorDictionary.getComunicationErrorMessage(e.ErrorCode)), id, 0, 0, 0, 0);
            }
        }
示例#17
0
 /// <summary>
 /// Callback při stisknutí tačítka pro otočení daného motoru v daném směru o daný krok
 /// </summary>
 /// <param name="motorId">id motoru</param>
 /// <param name="step">krok motoru v qc</param>
 private void buttonForAbsoluteMoveClicked(MotorId motorId, int step)
 {
     robot.moveWithMotor(motorId, step);
 }
示例#18
0
 /// <summary>
 /// Inicializace motoru
 /// </summary>
 /// <param name="connector">connector sběrnice</param>
 /// <param name="stateObserver">posluchač stavu motoru</param>
 /// <param name="nodeNumber">číslo node</param>
 /// <param name="id">id motoru</param>
 /// <param name="mode">defaultní nastavení módu</param>
 /// <param name="reverse">příznak obrácení směru točení</param>
 /// <param name="multiplier">násobitel otáček v případě, že je motor za převodovkou</param>
 /// <param name="positionVeocity">rychlost motoru v otáčkách při pozicování</param>
 /// <param name="positionAceleration">zrychlení motoru v otáčkách při pozicování</param>
 /// <param name="positionDeceleration">zpomalení motoru v otáčkách při pozicování</param>
 /// <param name="velocity">maximální rychlost motoru při rychlostním řízení</param>
 /// <param name="aceleration">zrychlení motoru při rychlostním řízení</param>
 /// <param name="deceleration">zpomalení motoru při rychlostním řízení</param>
 /// <param name="minPosition">minimální pozice motoru</param>
 /// <param name="maxPosition">maximální pozice motoru</param>
 public void inicialize(DeviceManager connector, IStateObserver stateObserver, Action motorErrorOccuredObserver, int nodeNumber, MotorId id, MotorMode mode, bool reverse, int multiplier, uint positionVelocity, uint positionAceleration, uint positionDeceleration, uint velocity, uint aceleration, uint deceleration, int minPosition, int maxPosition, int minAngle, int maxAngle)
 {
     hasPositionLimit = true;
     this.maxPosition = maxPosition;
     this.minPosition = minPosition;
     this.minAngle = minAngle;
     this.maxAngle = maxAngle;
     inicialize(connector, stateObserver, motorErrorOccuredObserver, nodeNumber, id, mode, reverse, multiplier, positionVelocity, positionAceleration, positionDeceleration, velocity, aceleration, deceleration);
 }
示例#19
0
 /// <summary>
 /// Callback při stisknutí tačítka pro otočení daného motoru v daném směru o daný krok
 /// </summary>
 /// <param name="motorId">id motoru</param>
 /// <param name="step">krok motoru v qc</param>
 private void buttonForAbsoluteMoveClicked(MotorId motorId, int step)
 {
     robot.moveWithMotor(motorId, step);
 }