Esempio n. 1
0
        /// <summary>
        /// ReadServo Load and Current Details on All axis
        /// </summary>
        /// <param name="current">Current in Amp</param>
        /// <returns>Servo Load</returns>
        public static string ReadServoLoadCurrentDetails(ushort handle, out string current)
        {
            current = string.Empty;
            string buff = "";
            //string sb = "";
            string DL = "#";

            short[] types = { 0, 1, 2 };

            /*
             * cls = 2 (Servo)
             * type = 0 : Servo load meter
             *      1 : Load current (% unit)
             *      2 : Load current (Ampere unit)
             */

            short MAX_AXIS = FocasLibBase.MAX_AXIS;
            short len      = MAX_AXIS;

            FocasLibBase.ODBAXDT odbaxdt = new FocasLibBase.ODBAXDT();

            List <string> pos = new List <string>();
            //1st parameter - Position(=1), Servo(=2), Spindle(=3)
            //4th parameter - After execution, "(*len)" will have the actual number of axes.
            short ret = FocasLib.cnc_rdaxisdata(handle, 2, types, (short)types.Length, ref len, odbaxdt);

            if (ret == 0)
            {
                MAX_AXIS = len;
                get_actual_axis_value(odbaxdt, ref pos, len, types.Length);

                int i;
                //Servo load meter
                for (i = 0 * MAX_AXIS; i < 0 * MAX_AXIS + len; i++)
                {
                    buff += pos[i];
                    buff += ",";
                }
                buff += DL;

                // Load current (% unit)
                for (i = 1 * MAX_AXIS; i < 1 * MAX_AXIS + len; i++)
                {
                    buff += pos[i];
                    buff += ",";
                }
                buff += DL;

                //Load current (Ampere unit)
                for (i = 2 * MAX_AXIS; i < 2 * MAX_AXIS + len; i++)
                {
                    buff    += pos[i];
                    buff    += ",";
                    current += pos[i];
                    current += ",";
                }
            }
            return(buff);
        }
Esempio n. 2
0
 private static void get_actual_axis_value(FocasLibBase.ODBAXDT odbaxdt, ref List <string> pos, short len, int types)
 {
     pos.Add(FocasData.get_ax_val2(odbaxdt.data1.data, odbaxdt.data1.dec).ToString());
     pos.Add(FocasData.get_ax_val2(odbaxdt.data2.data, odbaxdt.data2.dec).ToString());
     pos.Add(FocasData.get_ax_val2(odbaxdt.data3.data, odbaxdt.data3.dec).ToString());
     pos.Add(FocasData.get_ax_val2(odbaxdt.data4.data, odbaxdt.data4.dec).ToString());
     pos.Add(FocasData.get_ax_val2(odbaxdt.data5.data, odbaxdt.data5.dec).ToString());
     pos.Add(FocasData.get_ax_val2(odbaxdt.data6.data, odbaxdt.data6.dec).ToString());
     pos.Add(FocasData.get_ax_val2(odbaxdt.data7.data, odbaxdt.data7.dec).ToString());
     pos.Add(FocasData.get_ax_val2(odbaxdt.data8.data, odbaxdt.data8.dec).ToString());
     pos.Add(FocasData.get_ax_val2(odbaxdt.data9.data, odbaxdt.data9.dec).ToString());
     pos.Add(FocasData.get_ax_val2(odbaxdt.data10.data, odbaxdt.data10.dec).ToString());
     pos.Add(FocasData.get_ax_val2(odbaxdt.data11.data, odbaxdt.data11.dec).ToString());
     pos.Add(FocasData.get_ax_val2(odbaxdt.data12.data, odbaxdt.data12.dec).ToString());
     if (types == 3 && len == 4)
     {
         return;
     }
     pos.Add(FocasData.get_ax_val2(odbaxdt.data13.data, odbaxdt.data13.dec).ToString());
     pos.Add(FocasData.get_ax_val2(odbaxdt.data14.data, odbaxdt.data14.dec).ToString());
     pos.Add(FocasData.get_ax_val2(odbaxdt.data15.data, odbaxdt.data15.dec).ToString());
     if (types == 3 && len == 5)
     {
         return;
     }
     pos.Add(FocasData.get_ax_val2(odbaxdt.data16.data, odbaxdt.data16.dec).ToString());
     if (types == 4 && len == 4)
     {
         return;
     }
     pos.Add(FocasData.get_ax_val2(odbaxdt.data17.data, odbaxdt.data17.dec).ToString());
     pos.Add(FocasData.get_ax_val2(odbaxdt.data18.data, odbaxdt.data18.dec).ToString());
     pos.Add(FocasData.get_ax_val2(odbaxdt.data19.data, odbaxdt.data19.dec).ToString());
     pos.Add(FocasData.get_ax_val2(odbaxdt.data20.data, odbaxdt.data20.dec).ToString());
     if (types == 4 && len == 5)
     {
         return;
     }
     pos.Add(FocasData.get_ax_val2(odbaxdt.data21.data, odbaxdt.data21.dec).ToString());
     pos.Add(FocasData.get_ax_val2(odbaxdt.data22.data, odbaxdt.data22.dec).ToString());
     pos.Add(FocasData.get_ax_val2(odbaxdt.data23.data, odbaxdt.data23.dec).ToString());
     pos.Add(FocasData.get_ax_val2(odbaxdt.data24.data, odbaxdt.data24.dec).ToString());
     pos.Add(FocasData.get_ax_val2(odbaxdt.data25.data, odbaxdt.data25.dec).ToString());
 }