// CdtZf.h: interface for the CZFCasco class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_ZFCASCO_H__B4D62291_5002_4D1A_B5EE_C9606A1837EB__INCLUDED_) #define AFX_ZFCASCO_H__B4D62291_5002_4D1A_B5EE_C9606A1837EB__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include "se_btl.h" #include "se_log.h" #include "daq/daq_protocol.h" #include "redisats.h" #define StaNums 13 class CZFCasco : public CProtocol { public: CZFCasco(); virtual ~CZFCasco(); public: virtual sint32 TxProc(); virtual sint32 RxProc(); virtual sint32 GetZfFlag() { return 1; }; virtual void Init(S_PROTOCOLCFG * pcfg); void readini(); private: void IscsAtsPlannedTrain(); void IscsAtsPracticalTrain(); void IscsAtsFasInfo(); void IscsAtsScadaInfo(); void IscsAtsEmcsInfo(); void MsgPolling(); uint8 RxAtsTrainLocation(uint8 *buf); uint8 RxAtsBlockInfo(uint8 *buf); uint8 RxAtsPlannedTrain(uint8 *buf); uint8 RxAtsPracticalTrain(uint8 *buf); uint8 RxAtsDynamicTrain(uint8 *buf); uint8 GetZf(); uint8 zfYX[400]; // float zfYC[30]; uint8 zfYCmx[30]; uint8 zfFas[30]; uint8 zfScada[200]; uint8 zfEmcs[48 * 3]; uint8 Fas[30]; uint8 ScadaZone[15][4]; uint8 Emcs[48][2];//onoff-dir uint8 bInited; uint8 bFas; uint8 bEmcs; uint8 bScada; uint8 bIdle; void zfScadaToATS(uint8 *yc, uint8 *yx, int len); void zfEmcsToATS(uint8 *buf, int len); uint16 winHan[1500]; //winHan[车次窗号]=列车车体号 uint8 m_SysId; sint32 GetNowSecond(); sint32 m_LastSendTime; sint32 m_LastCallAllTime; sint32 m_LastCallKWHTime; sint32 m_RcvTimeOuts; //超时时间 sint32 m_CallAllData; //总召唤时间 sint32 m_CallKWH; //召唤电度时间 sint32 m_LastSynctime; sint32 m_SyncTime; uint16 cnt_sequence; void PrtBuf(uint8 *buf, int len); sint32 PrintLog(unsigned int type, char *fmt, ...) { char buffer[8000]; va_list data; va_start(data, fmt); int count = vsprintf(buffer, fmt, data); va_end(data); int module = 1; if (pLink) module = pLink->GetRtuNo(); if (count>0) return kprintf(LOG_COMM, module, type, buffer); return 0; }; CTrainDataOpt *m_popt_train; char redisip[100]; int redisport; }; #endif // !defined(AFX_ZFCASCO_H__B4D62291_5002_4D1A_B5EE_C9606A1837EB__INCLUDED_)