00015 {
00016 emcGetArgs(argc,argv);
00017 INIFILE inifile;
00018 const char *inistring;
00019
00020
00021 if (-1 == inifile.open(EMC_INIFILE)) {
00022 exit(-1);
00023 }
00024
00025 if (NULL != (inistring = inifile.find("NML_FILE", "EMC"))) {
00026
00027 strcpy(EMC_NMLFILE, inistring);
00028 }
00029 else {
00030
00031 }
00032
00033
00034 sim_cmd = new NML(simmot_format, "simmot_cmd","inisim",EMC_NMLFILE);
00035 if(NULL == sim_cmd)
00036 {
00037 exit(-1);
00038 }
00039 if(!sim_cmd->valid())
00040 {
00041 exit(-1);
00042 }
00043
00044 sim_stat = new NML(simmot_format, "simmot_stat","inisim",EMC_NMLFILE);
00045 if(NULL == sim_stat)
00046 {
00047 exit(-1);
00048 }
00049 if(!sim_stat->valid())
00050 {
00051 exit(-1);
00052 }
00053 int retval,t;
00054 char sectionString[INIFILE_MAX_LINELEN];
00055
00056 for (t = 0; t < SIM_MAX_AXIS; t++)
00057 {
00058 #ifndef UNDER_CE
00059 sprintf(sectionString, "AXIS_%d", t);
00060 #else
00061 strcpy(sectionString,"AXIS_");
00062 _itoa(t,sectionString+5,10);
00063 #endif
00064
00065 if (0 != amplifierIniLoad(&cmd.data.amplifier[t], EMC_INIFILE, sectionString))
00066 {
00067 retval = -1;
00068 }
00069 if (0 != dcmotorIniLoad(&cmd.data.dcmotor[t], EMC_INIFILE, sectionString))
00070 {
00071 retval = -1;
00072 }
00073 if (0 != encoderIniLoad(&cmd.data.encoder[t], EMC_INIFILE, sectionString))
00074 {
00075 retval = -1;
00076 }
00077 }
00078 sim_cmd->write(&cmd);
00079 while(sim_stat->read() == 0) ;
00080
00081 delete sim_cmd;
00082 delete sim_stat;
00083
00084
00085 }