Ejemplo n.º 1
0
        private void CreateConfigs()
        {
            // start the device polling.
            // Polling requests a status update every specified number of milliseconds.
            this.currentMotor.StartPolling(250);

            // needs a delay so that the current enabled state can be obtained
            // ????
            Thread.Sleep(500);

            // enable the channel otherwise any move is ignored
            this.currentMotor.EnableDevice();

            // needs a delay to give time for the device to be enabled
            Thread.Sleep(500);

            // call GetMotorConfiguration on the device to initialize the DeviceUnitConverter object required for real world unit parameters
            // Sets up proper unit conversion for the correct device.  Only call this function ONCE
            MotorConfiguration motorSettings = this.currentMotor.LoadMotorConfiguration(this.serialNo);

            // Simply retrieves the "motor device settings"
            KCubeDCMotorSettings currentDeviceSettings = this.currentMotor.MotorDeviceSettings as KCubeDCMotorSettings;

            // display info about device

            // Retrieves a device info block
            DeviceInfo deviceInfo = this.currentMotor.GetDeviceInfo();

            Console.WriteLine("Device {0} = {1}", deviceInfo.SerialNumber, deviceInfo.Name);

            // Getting the homing velocity
            uint homeVel = currentMotor.GetHomingVelocity_DeviceUnit();


            // After the device is opened we want to save the velocity
            // Retrieves the "velocity parameters" in real world units
            VelocityParameters_DeviceUnit velPars = this.currentMotor.GetVelocityParams_DeviceUnit();

            // Restricts the velocity allowed to be the user-defined velocity
            decimal dVelocity = this.velocity;

            velPars.MaxVelocity = (int)(homeVel);
            this.currentMotor.SetVelocityParams_DeviceUnit(velPars);
        }
Ejemplo n.º 2
0
        /// <summary> Tests velocity parameters. </summary>
        /// <param name="device"> The device. </param>
        public static void TestVelocityParameters(IGenericAdvancedMotor device)
        {
            try
            {
                VelocityParameters_DeviceUnit originalVelocityParameters = device.GetVelocityParams_DeviceUnit();
                VelocityParameters            realVP = device.GetVelocityParams();
                realVP.Acceleration += 0.5m;
                realVP.MaxVelocity  += 0.5m;
                device.SetVelocityParams(realVP);
                Thread.Sleep(250);

                realVP = device.GetVelocityParams();

                device.SetVelocityParams_DeviceUnit(originalVelocityParameters);
            }
            catch (DeviceException ex)
            {
                Console.WriteLine("Failed to update settings {0} - {1}", ex.DeviceID, ex.Message);
            }
        }