00001
00002
00003 #include "simmot_n.h"
00004 #include "inifile.h"
00005 #include "emcglb.h"
00006 #include <stdlib.h>
00007 #include <string.h>
00008
00009
00010 NML *sim_cmd;
00011 NML *sim_stat;
00012 SIMMOT_COMMAND cmd;
00013 SIMMOT_STATUS *simmot_stat;
00014 int axis=0;
00015
00016 int main(int argc, char **argv)
00017 {
00018 emcGetArgs(argc,argv);
00019 INIFILE inifile;
00020 const char *inistring;
00021
00022 for(int i = 0; i < argc-1; i++)
00023 {
00024 if(!strcmp(argv[i],"-axis"))
00025 {
00026 axis = strtol(argv[++i],0,0);
00027 break;
00028 }
00029 }
00030
00031
00032 if (-1 == inifile.open(EMC_INIFILE)) {
00033 exit(-1);
00034 }
00035
00036 if (NULL != (inistring = inifile.find("NML_FILE", "EMC"))) {
00037
00038 strcpy(EMC_NMLFILE, inistring);
00039 }
00040 else {
00041
00042 }
00043
00044
00045 sim_stat = new NML(simmot_format, "simmot_stat","simstatprint",EMC_NMLFILE);
00046 if(NULL == sim_stat)
00047 {
00048 exit(-1);
00049 }
00050 if(!sim_stat->valid())
00051 {
00052 exit(-1);
00053 }
00054
00055 while(sim_stat->read() != SIMMOT_STATUS_TYPE) esleep(0.01);
00056
00057 simmot_stat = (SIMMOT_STATUS *) sim_stat->get_address();
00058
00059 printf("amplifier[%d].gain=%8.8f\n",axis, simmot_stat->data.amplifier[axis].gain);
00060 printf("amplifier[%d].maxOutputCurrent=%8.8f\n",axis, simmot_stat->data.amplifier[axis].maxOutputCurrent);
00061 printf("amplifier[%d].configured=%d\n",axis, simmot_stat->data.amplifier[axis].configured);
00062 printf("amplifier[%d].enabled=%d\n",axis, simmot_stat->data.amplifier[axis].enabled);
00063 printf("amplifier[%d].tripped=%d\n",axis, simmot_stat->data.amplifier[axis].tripped);
00064 printf("dcmotor[%d].Ra=%8.8f\n",axis, simmot_stat->data.dcmotor[axis].Ra);
00065 printf("dcmotor[%d].La=%8.8f\n",axis, simmot_stat->data.dcmotor[axis].La);
00066 printf("dcmotor[%d].Kb=%8.8f\n",axis, simmot_stat->data.dcmotor[axis].Kb);
00067 printf("dcmotor[%d].Jm=%8.8f\n",axis, simmot_stat->data.dcmotor[axis].Jm);
00068 printf("dcmotor[%d].Bm=%8.8f\n",axis, simmot_stat->data.dcmotor[axis].Bm);
00069 printf("dcmotor[%d].a=%8.8f\n",axis, simmot_stat->data.dcmotor[axis].a);
00070 printf("dcmotor[%d].b=%8.8f\n",axis, simmot_stat->data.dcmotor[axis].b);
00071 printf("dcmotor[%d].c=%8.8f\n",axis, simmot_stat->data.dcmotor[axis].c);
00072 printf("dcmotor[%d].fourac_minus_b_squared=%8.8f\n",axis, simmot_stat->data.dcmotor[axis].fourac_minus_b_squared);
00073 printf("dcmotor[%d].sa_real=%8.8f\n",axis, simmot_stat->data.dcmotor[axis].sa_real);
00074 printf("dcmotor[%d].sa_img=%8.8f\n",axis, simmot_stat->data.dcmotor[axis].sa_img);
00075 printf("dcmotor[%d].sb_real=%8.8f\n",axis, simmot_stat->data.dcmotor[axis].sb_real);
00076 printf("dcmotor[%d].sb_img=%8.8f\n",axis, simmot_stat->data.dcmotor[axis].sb_img);
00077 printf("dcmotor[%d].sa_time_factor=%8.8f\n",axis, simmot_stat->data.dcmotor[axis].sa_time_factor);
00078 printf("dcmotor[%d].sb_time_factor=%8.8f\n",axis, simmot_stat->data.dcmotor[axis].sb_time_factor);
00079 printf("dcmotor[%d].wo=%8.8f\n",axis, simmot_stat->data.dcmotor[axis].wo);
00080 printf("dcmotor[%d].dwo=%8.8f\n",axis, simmot_stat->data.dcmotor[axis].dwo);
00081 printf("dcmotor[%d].cycleTime=%8.8f\n",axis, simmot_stat->data.dcmotor[axis].cycleTime);
00082 printf("dcmotor[%d].A=%8.8f\n",axis, simmot_stat->data.dcmotor[axis].A);
00083 printf("dcmotor[%d].B=%8.8f\n",axis, simmot_stat->data.dcmotor[axis].B);
00084 printf("dcmotor[%d].delta_thm=%8.8f\n",axis, simmot_stat->data.dcmotor[axis].delta_thm);
00085 printf("dcmotor[%d].last_ea=%8.8f\n",axis, simmot_stat->data.dcmotor[axis].last_ea);
00086 printf("dcmotor[%d].thm=%8.8f\n",axis, simmot_stat->data.dcmotor[axis].thm);
00087
00088 delete sim_stat;
00089 }