#ifndef _LINE_TRACK_H #define _LINE_TRACK_H #include #include #include #include #include #include #include #include #include #include #ifdef _WIN32 #include #else #endif #include class LineTrack { public: LineTrack(); virtual ~LineTrack(); int Init(SignData *data); //Strip tracing int Track(void); int SimTrack(void); int CancelWeld(); // print plc signal void PrintSignal(void); void WeldCoil(const char* entId,const char* extId); void MatchColor(int color); private: //Initialize historical data int InitOLD(SignData *data); //Calculate the movement of each roller within the signal interval void CalcOnceMove(void); //Calculate the step size in the interval void CalcGroupStep(void); //The movement of a roller within the signal interval is calculated float CalcLenDose(long oldENCS,long newENCS, double imp); float CalcLenDose(long oldENCS,long newENCS, double nDriverScale,double rollDia,double nDriveCycle); // check line is run bool CheckIsRun(); //Calculate weld on bool WeldOn(int wdNum); // weleder finish bool WelderOK(void); private: // plc signal output excel file void OutputExcel(void); short Proxy(int eventNo, const string& proxyName,const char* keyValue,int length); int CheckCoilidTail(); private: CMemTable* mp_table; SignData* mp_oldsign; SignData* mp_newsign; ZoneTracking *mp_ltrk; CalcData m_calcdata; private: char msg[256]; string m_lastExtId; //×îºóÇøÓòµÄ¸Ö¾íºÅ; int m_lastti; }; #endif