using System; using System.Text; using System.Linq; using System.Drawing; using System.Diagnostics; using System.Windows.Forms; using System.Threading; using System.Threading.Tasks; using System.Collections.Generic; using Tango.PMR.Stubs; using Tango.Stubs; //unmark Auto logging ! const Int32 x_ABS_POS = 0x01; const Int32 x_EL_POS = 0x02; const Int32 x_MARK = 0x03; const Int32 x_SPEED = 0x04; const Int32 x_ACC = 0x05; const Int32 x_DEC = 0x06; const Int32 x_MAX_SPEED = 0x07; const Int32 x_MIN_SPEED = 0x08; const Int32 x_FS_SPD = 0x15; const Int32 x_KVAL_HOLD = 0x09; const Int32 x_KVAL_RUN = 0x0A; const Int32 x_KVAL_ACC = 0x0B; const Int32 x_KVAL_DEC = 0x0C; const Int32 x_INT_SPD = 0x0D; const Int32 x_ST_SLP = 0x0E; const Int32 x_FN_SLP_ACC = 0x0F; const Int32 x_FN_SLP_DEC = 0x10; const Int32 x_K_THERM = 0x11; const Int32 x_ADC_OUT = 0x12; const Int32 x_OCD_TH = 0x13; const Int32 x_STALL_TH = 0x14; const Int32 x_STEP_MODE = 0x16; const Int32 x_ALARM_EN = 0x17; const Int32 x_CONFIG = 0x18; const Int32 x_STATUS = 0x19; //------------------------------- const Int32 x_GET_PARAM = 0x20; //------------------------------- const Int32 Max_Motor_ID = 25; Int32 i = 12; // to run only for specific motor public void OnExecute(StubManager stubManager) { for (i = 0; i < Max_Motor_ID; i++) { if((i%8 ==0) ) { stubManager.Write("MoTor\tMIN_SPEED\tMAX_SPEED\tSTEP_MODE\tACC\t\tDEC\t\tKVAL_HOLD\tKVAL_RUN\tKVAL_ACC\tKVAL_DEC\tOCD_TH\t\tSTALL_TH\tCONFIG\t\tFS_SPD\t\tADC_OUT\n"); stubManager.Write("------\t--------\t--------\t----------\t---\t\t---\t\t---------\t--------\t--------\t--------\t------\t\t--------\t------\t\t------\t\t------\n"); } stubManager.Write(i); stubManager.Write("\t"); var response = stubManager.Run("StubMotorRequest" ,i, (x_GET_PARAM | x_MIN_SPEED)<<16, 0, 0); stubManager.WriteHex(response.RecivedData,4); stubManager.Write("\t\t"); response = stubManager.Run("StubMotorRequest" ,i, (x_GET_PARAM | x_MAX_SPEED)<<16, 0, 0); stubManager.WriteHex(response.RecivedData,4); stubManager.Write("\t"); stubManager.Write("\t"); response = stubManager.Run("StubMotorRequest" ,i, (x_GET_PARAM | x_STEP_MODE)<<8, 0, 0); stubManager.WriteHex(response.RecivedData,4); stubManager.Write("\t\t"); response = stubManager.Run("StubMotorRequest" ,i, (x_GET_PARAM | x_ACC)<<16, 0, 0); stubManager.WriteHex(response.RecivedData,4); stubManager.Write("\t\t"); response = stubManager.Run("StubMotorRequest" ,i, (x_GET_PARAM | x_DEC)<<16, 0, 0); stubManager.WriteHex(response.RecivedData,4); stubManager.Write("\t\t"); response = stubManager.Run("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_HOLD)<<8, 0, 0); stubManager.WriteHex(response.RecivedData,4); stubManager.Write("\t\t"); response = stubManager.Run("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_RUN)<<8, 0, 0); stubManager.WriteHex(response.RecivedData,4); stubManager.Write("\t\t"); response = stubManager.Run("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_ACC)<<8, 0, 0); stubManager.WriteHex(response.RecivedData,4); stubManager.Write("\t\t"); response = stubManager.Run("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_DEC)<<8, 0, 0); stubManager.WriteHex(response.RecivedData,4); stubManager.Write("\t\t"); response = stubManager.Run("StubMotorRequest" ,i, (x_GET_PARAM | x_OCD_TH)<<8, 0, 0); stubManager.WriteHex(response.RecivedData,4); stubManager.Write("\t\t"); response = stubManager.Run("StubMotorRequest" ,i, (x_GET_PARAM | x_STALL_TH)<<8, 0, 0); stubManager.WriteHex(response.RecivedData,4); stubManager.Write("\t\t"); response = stubManager.Run("StubMotorRequest" ,i, (x_GET_PARAM | x_CONFIG)<<16, 0, 0); stubManager.WriteHex(response.RecivedData,4); stubManager.Write("\t\t"); response = stubManager.Run("StubMotorRequest" ,i, (x_GET_PARAM | x_FS_SPD)<<16, 0, 0); stubManager.WriteHex(response.RecivedData,4); stubManager.Write("\t\t"); response = stubManager.Run("StubMotorRequest" ,i, (x_GET_PARAM | x_ADC_OUT)<<8, 0, 0); stubManager.WriteHex(response.RecivedData,4); stubManager.Write("\n\n"); } stubManager.Write("MoTor\tINT_SPD\tST_SLP\t\tSLP_ACC\tSLP_DEC\tSTATUS\n"); stubManager.Write("-----\t-------\t------\t\t-------\t--------\t-----\n"); for (i = 0; i < Max_Motor_ID; i++) { stubManager.Write(i); stubManager.Write("\t"); var response = stubManager.Run("StubMotorRequest" ,i, (x_GET_PARAM | x_INT_SPD)<<16, 0, 0); stubManager.WriteHex(response.RecivedData,4); stubManager.Write("\t\t"); response = stubManager.Run("StubMotorRequest" ,i, (x_GET_PARAM | x_ST_SLP)<<8, 0, 0); stubManager.WriteHex(response.RecivedData,4); stubManager.Write("\t\t"); response = stubManager.Run("StubMotorRequest" ,i, (x_GET_PARAM | x_FN_SLP_ACC)<<8, 0, 0); stubManager.WriteHex(response.RecivedData,4); stubManager.Write("\t\t"); response = stubManager.Run("StubMotorRequest" ,i, (x_GET_PARAM | x_FN_SLP_DEC)<<8, 0, 0); stubManager.WriteHex(response.RecivedData,4); stubManager.Write("\t\t"); response = stubManager.Run("StubMotorRequest" ,i, (x_GET_PARAM | x_STATUS)<<16, 0, 0); stubManager.WriteHex(response.RecivedData,4); stubManager.Write("\n\n"); } }