Está en la página 1de 2

void Mover(){ int i=0; float PasosX=0,PasosY=0,PasosZ=0,resolucionx=0,resoluciony=0,resolucionz=0; int pasos=0; int Xa=0,Ya=0,Za=0; float X,Y,Z; PasosX=Sistema.Xo-Sistema.X; PasosY=Sistema.Yo-Sistema.Y; PasosZ=Sistema.Zo-Sistema.

Z; X=Sistema.X; Y=Sistema.Y; Z=Sistema.Z; Xa=Sistema.X; Ya=Sistema.Y; Za=Sistema.Z; if((absf(PasosX)>=absf(PasosY))&&(absf(PasosX)>=absf(PasosZ))){ if(PasosX>=0)resolucionx=1; else resolucionx=-1; resoluciony=PasosY/absf(PasosX); resolucionz=PasosZ/absf(PasosX); pasos=PasosX; } else if((absf(PasosY)>=absf(PasosX))&&(absf(PasosY)>=absf(PasosZ))){ if(PasosY>=0)resoluciony=1; else resoluciony=-1; resolucionx=PasosX/absf(PasosY); resolucionz=PasosZ/absf(PasosY); pasos=PasosY; } else if((absf(PasosZ)>=absf(PasosX))&&(absf(PasosZ)>=absf(PasosY))){ if(PasosZ>=0)resolucionz=1; else resolucionz=-1; resolucionx=PasosX/absf(PasosZ); resoluciony=PasosY/absf(PasosZ); pasos=PasosZ; }else{ pasos=0; resolucionx=0; resoluciony=0; resolucionz=0; } //printf("Resolucion X %f , Y %f",resolucionx,resoluciony); printf("\nMovimientos %d Res(X,Y,Z):%f %f %f\n",abs(pasos),resolucionx,resolu ciony,resolucionz); _sleep(2000); for(i=0;i<abs(pasos);i++){ X=X+resolucionx;

Y=Y+resoluciony; Z=Z+resolucionz; if(i!=(abs(pasos)-1)){ Sistema.X=X; Sistema.Y=Y; Sistema.Z=Z; }else{ Sistema.X=Sistema.Xo; Sistema.Y=Sistema.Yo; Sistema.Z=Sistema.Zo; } //MotorX(Dir,abs(Sistema.X-Xa)); //MotorY(Dir,abs(Sistema.Y-Ya)) system("cls"); printf("\nPosicion Actual:X=%d Y=%d Z=%d\nPosicion Objetivo:X=%d Y=%d Z=%d " ,Sistema.X,Sistema.Y,Sistema.Z,Sistema.Xo,Sistema.Yo,Sistema.Zo); FicheroMov(); Xa=Sistema.X; Ya=Sistema.Y; Za=Sistema.Z; _sleep(1); } //Sistema.X=Sistema.Xo;Sistema.Y=Sistema.Yo;Sistema.Z=Sistema.Zo; _sleep(200); }

float absf(float Num){ float ret=0; if(Num>=0)ret=Num; else ret=-Num; return ret; }

También podría gustarte