专门化时间调试了一下,效果还行,因此怒删上次的bug,这次的问题就很少了,大致可以正确运行!
//Author :Chenxingman //file_input_output #include <stdio.h> #include <stdlib.h> #include <time.h> #include <math.h> #include <string.h> #include <malloc.h> #define STOPTIME 2.0 #define LOCAL #define UP_RUN 1 #define DOWN_RUN 2 #define UP_STOP 3 #define DOWN_STOP 4 #define IDLE 5 #define RUNAFLOOR 10 #define BREAKTIME 0.1 int debug=0; double timecount=0; int lockbeginer=1; struct _cmd { double Time;//指令呼叫时间 char state[60];//state表示指令 _cmd *next; }; typedef struct _cmd cmd; //链表存储待处理业务 typedef struct { /* State=<电梯状态>, NowF=<电梯当前楼层>, GoalF=<电梯目标楼层>, WaitF=<未响应的楼层请求> StopT=<停靠时间>, pointer_top=<指向队列最前端> pointer_rare=<指向队列最尾端> */ float NowF; int State; float GoalF; float StopT; int top; int rare; char Waitf[60]; }run_state; run_state lift; cmd * creat()//complete { cmd *head; cmd *p1,*p2; head=(cmd *)malloc(sizeof(cmd)); if(scanf("T=%lf,",&head->Time)!=EOF) { scanf("CallF="); char temp='a'; int pt=0; memset(head->state,'\0',sizeof(head->state)); while(temp!='\n') { head->state[pt++]=getchar(); head->state[pt++]=getchar(); temp=getchar(); } p2=head; float temptime; while(scanf("T=%f,",&temptime)!=EOF) { p1=(cmd *)malloc(sizeof(cmd)); temp='a'; pt=0; p1->Time=temptime; scanf("CallF="); memset(p1->state,'\0',sizeof(p1->state)); while(temp!='\n'&&temp!=-1) { p1->state[pt++]=getchar(); p1->state[pt++]=getchar(); temp=getchar(); } p2->next=p1; p2=p1; } p1->next=NULL; } return head; } void print(cmd *head)//complete { cmd *p; p=head; while(p!=NULL) { printf("time=%f,state:%s\n",p->Time,p->state); p=p->next; } } void print2(cmd *p)//complete { printf("time=%f,state:%s\n",p->Time,p->state); } void addup(char input[])//complete { ++lift.top; int i=lift.top; int j=0; for(;j<strlen(input);i++,j++) { lift.top=lift.top%60; lift.Waitf[lift.top]=input[j]; lift.top++; } lift.top--; } int EqualZero(float t)//complete { if(t>-10e-3&&t<10e-3) return 1; return 0; } void deletecmd() { lift.Waitf[(lift.rare)%60]='\0'; lift.Waitf[(lift.rare+1)%60]='\0'; lift.rare+=2; lift.rare=lift.rare%60; } void changestate() { if(lockbeginer==1) { lift.GoalF=1; } else lift.GoalF=lift.Waitf[lift.rare]-'0'; if(lift.GoalF<1||lift.GoalF>9) lift.GoalF=lift.NowF; switch(lift.State) { case IDLE: if(EqualZero(lift.GoalF-lift.NowF)) { lift.State=IDLE;//不用改变 } else if(lift.GoalF>lift.NowF) { lift.State=UP_RUN;//一旦改变如果是动作完成就要deletecmd lift.NowF+=1.0/RUNAFLOOR; if(EqualZero(lift.NowF-lift.GoalF)) { lift.State=UP_STOP;//这个不用担心,不会刚刚开始运行就停止的 } } else if(lift.GoalF<lift.NowF) { printf("NOW:LIFT.GOALF=%.8f,LIFT.NOWF=%.8f \n\n",lift.GoalF,lift.NowF); lift.State=DOWN_RUN;//一旦改变如果是动作完成就要deletecmd lift.NowF-=1.0/RUNAFLOOR; if(EqualZero(lift.NowF-lift.GoalF)) { lift.State=DOWN_STOP;//这个不用担心,不会刚刚开始运行就停止的 } } else if(EqualZero(lift.GoalF-lift.NowF)) { lift.State=DOWN_STOP;//这里就得deletecmd了 deletecmd(); if(lift.StopT<STOPTIME) lift.StopT+=BREAKTIME; else { lift.StopT=0; lift.State=IDLE; } } break; case UP_RUN: lift.NowF+=1.0/RUNAFLOOR; if(EqualZero(lift.NowF-lift.GoalF)) { lift.State=UP_STOP; deletecmd(); } break; case DOWN_RUN: lift.NowF-=1.0/RUNAFLOOR; if(EqualZero(lift.NowF-lift.GoalF)) { lift.State=DOWN_STOP; deletecmd(); } break; case UP_STOP: case DOWN_STOP: if(EqualZero(lift.StopT-STOPTIME)) { lift.StopT=0; if(EqualZero(lift.GoalF-lift.NowF)) { lift.State=IDLE;//不用改变 } else if(lift.GoalF>lift.NowF) { lift.State=UP_RUN;//一旦改变如果是动作完成就要deletecmd lift.NowF+=1.0/RUNAFLOOR; if(EqualZero(lift.NowF-lift.GoalF)) { lift.State=UP_STOP;//这个不用担心,不会刚刚开始运行就停止的 } } else if(lift.GoalF<lift.NowF) { printf("NOW:LIFT.GOALF=%.8f,LIFT.NOWF=%.8f \n\n",lift.GoalF,lift.NowF); lift.State=DOWN_RUN;//一旦改变如果是动作完成就要deletecmd lift.NowF-=1.0/RUNAFLOOR; if(EqualZero(lift.NowF-lift.GoalF)) { lift.State=DOWN_STOP;//这个不用担心,不会刚刚开始运行就停止的 } } else if(EqualZero(lift.GoalF-lift.NowF)) { lift.State=DOWN_STOP;//这里就得deletecmd了 deletecmd(); if(lift.StopT<STOPTIME) lift.StopT+=BREAKTIME; else { lift.StopT=0; lift.State=IDLE; } } } else { lift.StopT+=BREAKTIME; } break; }//switch } void printstate()//complete { printf("T=%.2f,State=",timecount); switch(lift.State) { case IDLE: printf("IDLE"); break; case UP_RUN: printf("UP_RUN"); break; case DOWN_RUN: printf("DOWN_RUN"); break; case UP_STOP: printf("UP_STOP"); break; case DOWN_STOP: printf("DOWN_STOP"); break; }//switch printf(",NowF=%.2f,",lift.NowF); printf("GoalF=%.2f,",lift.GoalF); printf("StopT=%.2f,",lift.StopT); printf("WaitF="); if((lift.rare+60-1)%60!=lift.top) {int i; for(i=lift.rare;;i++) { i=i%60; printf("%c",lift.Waitf[i]); if(i==lift.top) break; } } printf("\n"); } int main() { lift.NowF=1; lift.State=IDLE; lift.GoalF=1; lift.top=59; lift.rare=0; memset(lift.Waitf,'\0',sizeof(lift.Waitf)); #ifdef LOCAL freopen("data.in","r",stdin); freopen("data.out","w",stdout); #endif cmd *head; head=creat(); print(head); cmd temp; cmd *pointer=head; temp.next=head; temp.Time=pointer->Time; strcpy(temp.state,pointer->state); pointer=pointer->next; while(temp.next!=NULL)//条件不太合理,太困了,明天再看 { if(EqualZero(timecount-temp.Time)) { addup(temp.state); lockbeginer=0; temp.Time=pointer->Time; strcpy(temp.state,pointer->state); pointer=pointer->next; //读取最新的queue } timecount+=BREAKTIME; changestate(); printstate(); } return 0; }
data.in:
T=1,CallF=4U 5U T=2,CallF=8D T=4,CallF=9T T=100,CallF=1U
data.out:
time=1.000000,state:4U5U time=2.000000,state:8D time=4.000000,state:9T time=100.000000,state:1U T=0.10,State=IDLE,NowF=1.00,GoalF=1.00,StopT=0.00,WaitF= T=0.20,State=IDLE,NowF=1.00,GoalF=1.00,StopT=0.00,WaitF= T=0.30,State=IDLE,NowF=1.00,GoalF=1.00,StopT=0.00,WaitF= T=0.40,State=IDLE,NowF=1.00,GoalF=1.00,StopT=0.00,WaitF= T=0.50,State=IDLE,NowF=1.00,GoalF=1.00,StopT=0.00,WaitF= T=0.60,State=IDLE,NowF=1.00,GoalF=1.00,StopT=0.00,WaitF= T=0.70,State=IDLE,NowF=1.00,GoalF=1.00,StopT=0.00,WaitF= T=0.80,State=IDLE,NowF=1.00,GoalF=1.00,StopT=0.00,WaitF= T=0.90,State=IDLE,NowF=1.00,GoalF=1.00,StopT=0.00,WaitF= T=1.00,State=IDLE,NowF=1.00,GoalF=1.00,StopT=0.00,WaitF= T=1.10,State=UP_RUN,NowF=1.10,GoalF=4.00,StopT=0.00,WaitF=4U5U T=1.20,State=UP_RUN,NowF=1.20,GoalF=4.00,StopT=0.00,WaitF=4U5U T=1.30,State=UP_RUN,NowF=1.30,GoalF=4.00,StopT=0.00,WaitF=4U5U T=1.40,State=UP_RUN,NowF=1.40,GoalF=4.00,StopT=0.00,WaitF=4U5U T=1.50,State=UP_RUN,NowF=1.50,GoalF=4.00,StopT=0.00,WaitF=4U5U T=1.60,State=UP_RUN,NowF=1.60,GoalF=4.00,StopT=0.00,WaitF=4U5U T=1.70,State=UP_RUN,NowF=1.70,GoalF=4.00,StopT=0.00,WaitF=4U5U T=1.80,State=UP_RUN,NowF=1.80,GoalF=4.00,StopT=0.00,WaitF=4U5U T=1.90,State=UP_RUN,NowF=1.90,GoalF=4.00,StopT=0.00,WaitF=4U5U T=2.00,State=UP_RUN,NowF=2.00,GoalF=4.00,StopT=0.00,WaitF=4U5U T=2.10,State=UP_RUN,NowF=2.10,GoalF=4.00,StopT=0.00,WaitF=4U5U8D T=2.20,State=UP_RUN,NowF=2.20,GoalF=4.00,StopT=0.00,WaitF=4U5U8D T=2.30,State=UP_RUN,NowF=2.30,GoalF=4.00,StopT=0.00,WaitF=4U5U8D T=2.40,State=UP_RUN,NowF=2.40,GoalF=4.00,StopT=0.00,WaitF=4U5U8D T=2.50,State=UP_RUN,NowF=2.50,GoalF=4.00,StopT=0.00,WaitF=4U5U8D T=2.60,State=UP_RUN,NowF=2.60,GoalF=4.00,StopT=0.00,WaitF=4U5U8D T=2.70,State=UP_RUN,NowF=2.70,GoalF=4.00,StopT=0.00,WaitF=4U5U8D T=2.80,State=UP_RUN,NowF=2.80,GoalF=4.00,StopT=0.00,WaitF=4U5U8D T=2.90,State=UP_RUN,NowF=2.90,GoalF=4.00,StopT=0.00,WaitF=4U5U8D T=3.00,State=UP_RUN,NowF=3.00,GoalF=4.00,StopT=0.00,WaitF=4U5U8D T=3.10,State=UP_RUN,NowF=3.10,GoalF=4.00,StopT=0.00,WaitF=4U5U8D T=3.20,State=UP_RUN,NowF=3.20,GoalF=4.00,StopT=0.00,WaitF=4U5U8D T=3.30,State=UP_RUN,NowF=3.30,GoalF=4.00,StopT=0.00,WaitF=4U5U8D T=3.40,State=UP_RUN,NowF=3.40,GoalF=4.00,StopT=0.00,WaitF=4U5U8D T=3.50,State=UP_RUN,NowF=3.50,GoalF=4.00,StopT=0.00,WaitF=4U5U8D T=3.60,State=UP_RUN,NowF=3.60,GoalF=4.00,StopT=0.00,WaitF=4U5U8D T=3.70,State=UP_RUN,NowF=3.70,GoalF=4.00,StopT=0.00,WaitF=4U5U8D T=3.80,State=UP_RUN,NowF=3.80,GoalF=4.00,StopT=0.00,WaitF=4U5U8D T=3.90,State=UP_RUN,NowF=3.90,GoalF=4.00,StopT=0.00,WaitF=4U5U8D T=4.00,State=UP_STOP,NowF=4.00,GoalF=4.00,StopT=0.00,WaitF=5U8D T=4.10,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=0.10,WaitF=5U8D9T T=4.20,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=0.20,WaitF=5U8D9T T=4.30,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=0.30,WaitF=5U8D9T T=4.40,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=0.40,WaitF=5U8D9T T=4.50,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=0.50,WaitF=5U8D9T T=4.60,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=0.60,WaitF=5U8D9T T=4.70,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=0.70,WaitF=5U8D9T T=4.80,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=0.80,WaitF=5U8D9T T=4.90,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=0.90,WaitF=5U8D9T T=5.00,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=1.00,WaitF=5U8D9T T=5.10,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=1.10,WaitF=5U8D9T T=5.20,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=1.20,WaitF=5U8D9T T=5.30,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=1.30,WaitF=5U8D9T T=5.40,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=1.40,WaitF=5U8D9T T=5.50,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=1.50,WaitF=5U8D9T T=5.60,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=1.60,WaitF=5U8D9T T=5.70,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=1.70,WaitF=5U8D9T T=5.80,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=1.80,WaitF=5U8D9T T=5.90,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=1.90,WaitF=5U8D9T T=6.00,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=2.00,WaitF=5U8D9T T=6.10,State=UP_RUN,NowF=4.10,GoalF=5.00,StopT=0.00,WaitF=5U8D9T T=6.20,State=UP_RUN,NowF=4.20,GoalF=5.00,StopT=0.00,WaitF=5U8D9T T=6.30,State=UP_RUN,NowF=4.30,GoalF=5.00,StopT=0.00,WaitF=5U8D9T T=6.40,State=UP_RUN,NowF=4.40,GoalF=5.00,StopT=0.00,WaitF=5U8D9T T=6.50,State=UP_RUN,NowF=4.50,GoalF=5.00,StopT=0.00,WaitF=5U8D9T T=6.60,State=UP_RUN,NowF=4.60,GoalF=5.00,StopT=0.00,WaitF=5U8D9T T=6.70,State=UP_RUN,NowF=4.70,GoalF=5.00,StopT=0.00,WaitF=5U8D9T T=6.80,State=UP_RUN,NowF=4.80,GoalF=5.00,StopT=0.00,WaitF=5U8D9T T=6.90,State=UP_RUN,NowF=4.90,GoalF=5.00,StopT=0.00,WaitF=5U8D9T T=7.00,State=UP_STOP,NowF=5.00,GoalF=5.00,StopT=0.00,WaitF=8D9T T=7.10,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=0.10,WaitF=8D9T T=7.20,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=0.20,WaitF=8D9T T=7.30,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=0.30,WaitF=8D9T T=7.40,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=0.40,WaitF=8D9T T=7.50,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=0.50,WaitF=8D9T T=7.60,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=0.60,WaitF=8D9T T=7.70,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=0.70,WaitF=8D9T T=7.80,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=0.80,WaitF=8D9T T=7.90,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=0.90,WaitF=8D9T T=8.00,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=1.00,WaitF=8D9T T=8.10,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=1.10,WaitF=8D9T T=8.20,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=1.20,WaitF=8D9T T=8.30,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=1.30,WaitF=8D9T T=8.40,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=1.40,WaitF=8D9T T=8.50,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=1.50,WaitF=8D9T T=8.60,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=1.60,WaitF=8D9T T=8.70,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=1.70,WaitF=8D9T T=8.80,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=1.80,WaitF=8D9T T=8.90,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=1.90,WaitF=8D9T T=9.00,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=2.00,WaitF=8D9T T=9.10,State=UP_RUN,NowF=5.10,GoalF=8.00,StopT=0.00,WaitF=8D9T T=9.20,State=UP_RUN,NowF=5.20,GoalF=8.00,StopT=0.00,WaitF=8D9T T=9.30,State=UP_RUN,NowF=5.30,GoalF=8.00,StopT=0.00,WaitF=8D9T T=9.40,State=UP_RUN,NowF=5.40,GoalF=8.00,StopT=0.00,WaitF=8D9T T=9.50,State=UP_RUN,NowF=5.50,GoalF=8.00,StopT=0.00,WaitF=8D9T T=9.60,State=UP_RUN,NowF=5.60,GoalF=8.00,StopT=0.00,WaitF=8D9T T=9.70,State=UP_RUN,NowF=5.70,GoalF=8.00,StopT=0.00,WaitF=8D9T T=9.80,State=UP_RUN,NowF=5.80,GoalF=8.00,StopT=0.00,WaitF=8D9T T=9.90,State=UP_RUN,NowF=5.90,GoalF=8.00,StopT=0.00,WaitF=8D9T T=10.00,State=UP_RUN,NowF=6.00,GoalF=8.00,StopT=0.00,WaitF=8D9T T=10.10,State=UP_RUN,NowF=6.10,GoalF=8.00,StopT=0.00,WaitF=8D9T T=10.20,State=UP_RUN,NowF=6.20,GoalF=8.00,StopT=0.00,WaitF=8D9T T=10.30,State=UP_RUN,NowF=6.30,GoalF=8.00,StopT=0.00,WaitF=8D9T T=10.40,State=UP_RUN,NowF=6.40,GoalF=8.00,StopT=0.00,WaitF=8D9T T=10.50,State=UP_RUN,NowF=6.50,GoalF=8.00,StopT=0.00,WaitF=8D9T T=10.60,State=UP_RUN,NowF=6.60,GoalF=8.00,StopT=0.00,WaitF=8D9T T=10.70,State=UP_RUN,NowF=6.70,GoalF=8.00,StopT=0.00,WaitF=8D9T T=10.80,State=UP_RUN,NowF=6.80,GoalF=8.00,StopT=0.00,WaitF=8D9T T=10.90,State=UP_RUN,NowF=6.90,GoalF=8.00,StopT=0.00,WaitF=8D9T T=11.00,State=UP_RUN,NowF=7.00,GoalF=8.00,StopT=0.00,WaitF=8D9T T=11.10,State=UP_RUN,NowF=7.10,GoalF=8.00,StopT=0.00,WaitF=8D9T T=11.20,State=UP_RUN,NowF=7.20,GoalF=8.00,StopT=0.00,WaitF=8D9T T=11.30,State=UP_RUN,NowF=7.30,GoalF=8.00,StopT=0.00,WaitF=8D9T T=11.40,State=UP_RUN,NowF=7.40,GoalF=8.00,StopT=0.00,WaitF=8D9T T=11.50,State=UP_RUN,NowF=7.50,GoalF=8.00,StopT=0.00,WaitF=8D9T T=11.60,State=UP_RUN,NowF=7.60,GoalF=8.00,StopT=0.00,WaitF=8D9T T=11.70,State=UP_RUN,NowF=7.70,GoalF=8.00,StopT=0.00,WaitF=8D9T T=11.80,State=UP_RUN,NowF=7.80,GoalF=8.00,StopT=0.00,WaitF=8D9T T=11.90,State=UP_RUN,NowF=7.90,GoalF=8.00,StopT=0.00,WaitF=8D9T T=12.00,State=UP_STOP,NowF=8.00,GoalF=8.00,StopT=0.00,WaitF=9T T=12.10,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=0.10,WaitF=9T T=12.20,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=0.20,WaitF=9T T=12.30,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=0.30,WaitF=9T T=12.40,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=0.40,WaitF=9T T=12.50,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=0.50,WaitF=9T T=12.60,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=0.60,WaitF=9T T=12.70,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=0.70,WaitF=9T T=12.80,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=0.80,WaitF=9T T=12.90,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=0.90,WaitF=9T T=13.00,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=1.00,WaitF=9T T=13.10,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=1.10,WaitF=9T T=13.20,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=1.20,WaitF=9T T=13.30,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=1.30,WaitF=9T T=13.40,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=1.40,WaitF=9T T=13.50,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=1.50,WaitF=9T T=13.60,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=1.60,WaitF=9T T=13.70,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=1.70,WaitF=9T T=13.80,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=1.80,WaitF=9T T=13.90,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=1.90,WaitF=9T T=14.00,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=2.00,WaitF=9T T=14.10,State=UP_RUN,NowF=8.10,GoalF=9.00,StopT=0.00,WaitF=9T T=14.20,State=UP_RUN,NowF=8.20,GoalF=9.00,StopT=0.00,WaitF=9T T=14.30,State=UP_RUN,NowF=8.30,GoalF=9.00,StopT=0.00,WaitF=9T T=14.40,State=UP_RUN,NowF=8.40,GoalF=9.00,StopT=0.00,WaitF=9T T=14.50,State=UP_RUN,NowF=8.50,GoalF=9.00,StopT=0.00,WaitF=9T T=14.60,State=UP_RUN,NowF=8.60,GoalF=9.00,StopT=0.00,WaitF=9T T=14.70,State=UP_RUN,NowF=8.70,GoalF=9.00,StopT=0.00,WaitF=9T T=14.80,State=UP_RUN,NowF=8.80,GoalF=9.00,StopT=0.00,WaitF=9T T=14.90,State=UP_RUN,NowF=8.90,GoalF=9.00,StopT=0.00,WaitF=9T T=15.00,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=15.10,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=0.10,WaitF= T=15.20,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=0.20,WaitF= T=15.30,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=0.30,WaitF= T=15.40,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=0.40,WaitF= T=15.50,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=0.50,WaitF= T=15.60,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=0.60,WaitF= T=15.70,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=0.70,WaitF= T=15.80,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=0.80,WaitF= T=15.90,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=0.90,WaitF= T=16.00,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=1.00,WaitF= T=16.10,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=1.10,WaitF= T=16.20,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=1.20,WaitF= T=16.30,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=1.30,WaitF= T=16.40,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=1.40,WaitF= T=16.50,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=1.50,WaitF= T=16.60,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=1.60,WaitF= T=16.70,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=1.70,WaitF= T=16.80,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=1.80,WaitF= T=16.90,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=1.90,WaitF= T=17.00,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=2.00,WaitF= T=17.10,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=17.20,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=17.30,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=17.40,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=17.50,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=17.60,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=17.70,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=17.80,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=17.90,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=18.00,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=18.10,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=18.20,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=18.30,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=18.40,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=18.50,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=18.60,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=18.70,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=18.80,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=18.90,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=19.00,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=19.10,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=19.20,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=19.30,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=19.40,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=19.50,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=19.60,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=19.70,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=19.80,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=19.90,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=20.00,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=20.10,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=20.20,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=20.30,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=20.40,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=20.50,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=20.60,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=20.70,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=20.80,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=20.90,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= T=21.00,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF= 。。。。。。后面省略。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。