Example #1
0
        /// <summary>
        /// Read RPM(Spindle Speed) and FeedRate
        /// </summary>
        /// <param name="feedRate"></param>
        /// <returns>RPM</returns>
        public static double ReadFeedRateDecimal(ushort handle)
        {
            FocasLibBase.ODBSPEED b = new FocasLibBase.ODBSPEED();
            FocasLib.cnc_rdspeed(handle, 0, b);
            return(((double)b.actf.data) / Math.Pow(10.0, (double)b.actf.dec));
            //feedRateUnit = b.actf.unit.ToString();
            //spinddleUnit = b.acts.unit.ToString();
            //return (((double)b.acts.data) / Math.Pow(10.0, (double)b.acts.dec));

            /*
             * Unit 0 : mm/min
             *      1 : inch/min
             *      2 : rpm
             *      3 : mm/rev
             *      4 : inch/rev
             */
        }
        /// <summary>
        /// Read RPM(Spindle Speed) and FeedRate
        /// </summary>
        /// <param name="feedRate"></param>
        /// <returns>RPM</returns>
        public static double ReadRPMFeedRate(ushort handle, out double feedRate, out string feedRateUnit, out string spinddleUnit)
        {
            FocasLibBase.ODBSPEED b = new FocasLibBase.ODBSPEED();
            FocasLib.cnc_rdspeed(handle, -1, b);
            feedRate     = (((double)b.actf.data) / Math.Pow(10.0, (double)b.actf.dec));
            feedRateUnit = b.actf.unit.ToString();
            spinddleUnit = b.acts.unit.ToString();
            return(((double)b.acts.data) / Math.Pow(10.0, (double)b.acts.dec));

            /*
             * Unit 0 : mm/min
             *      1 : inch/min
             *      2 : rpm
             *      3 : mm/rev
             *      4 : inch/rev
             */
        }