| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 | 
							- #pragma once
 
- #include <map>
 
- #include <vector>
 
- #include <string>
 
- static std::map<int, std::string> g_mapAcqTypeIDtoString=
 
- {
 
- {0x101,"定位测力值"},
 
- {0x102,"反位测力值"},
 
- {0x103,"转换阻力测力值"},
 
- {0x104,"温度"},
 
- {0x105,"湿度"},
 
- {0x201,"定位密贴"},
 
- {0x202,"定位开程"},
 
- {0x203,"反位密贴"},
 
- {0x204,"反位开程"},
 
- {0x205,"轨间距离"},
 
- {0x206,"直轨横移"},
 
- {0x207,"曲轨横移"},
 
- {0x208,"直尖轨爬行"},
 
- {0x209,"曲尖轨爬行"},
 
- {0x210,"转辙机振动"},
 
- {0x301,"密贴缺口值"},
 
- {0x302,"斥离缺口值"},
 
- {0x303,"左表示杆行程"},
 
- {0x304,"右表示杆行程"},
 
- {0x305,"密贴缺口偏移值"},
 
- {0x306,"密贴缺口标准值"},
 
- {0x307,"油位"},
 
- {0x308,"温度"},
 
- {0x309,"湿度"},
 
- {0x310,"油压曲线"},
 
- {0x311,"电流"},
 
- {0x312,"电压"}
 
- };
 
- static std::map<std::string, int> g_mapAcqTypeStringtoID =
 
- {
 
- 	{"定位测力值", 0x101             },
 
- 	{ "反位测力值"             ,0x102 },
 
- 	{ "转换阻力测力值"         ,0x103 },
 
- 	{ "温度"                   ,0x104 },
 
- 	{ "湿度"                   ,0x105 },
 
- 	{ "定位密贴"               ,0x201 },
 
- 	{ "定位开程"               ,0x202 },
 
- 	{ "反位密贴"               ,0x203 },
 
- 	{ "反位开程"               ,0x204 },
 
- 	{ "轨间距离"               ,0x205 },
 
- 	{ "直轨横移"               ,0x206 },
 
- 	{ "曲轨横移"               ,0x207 },
 
- 	{ "直尖轨爬行"             ,0x208 },
 
- 	{ "曲尖轨爬行"             ,0x209 },
 
- 	{ "转辙机振动"             ,0x210 },
 
- 	{ "密贴缺口值"             ,0x301 },
 
- 	{ "斥离缺口值"             ,0x302 },
 
- 	{ "左表示杆行程"           ,0x303 },
 
- 	{ "右表示杆行程"           ,0x304 },
 
- 	{ "密贴缺口偏移值"         ,0x305 },
 
- 	{ "密贴缺口标准值"         ,0x306 },
 
- 	{ "油位"                   ,0x307 },
 
- 	{ "温度"                   ,0x308 },
 
- 	{ "湿度"                   ,0x309 },
 
- 	{ "油压曲线"               ,0x310 },
 
- 	{ "电流"                   ,0x311 },
 
- 	{ "电压"                   ,0x312 },
 
- };
 
- #pragma pack(push, 1)
 
- struct C315CommData
 
- {
 
- 	std::vector<BYTE>	m_vecData;
 
- 	~C315CommData()
 
- 	{
 
- 		m_vecData.clear();
 
- 	}
 
- 	const BYTE  * const GetData() const { return m_vecData.data(); }
 
- 	size_t GetDataSize()const { return m_vecData.size(); }
 
- 	void Clear_Data()
 
- 	{
 
- 		m_vecData.clear();
 
- 	}
 
- 	void Push_Data(const BYTE * lpData, WORD wSize)
 
- 	{
 
- 		//m_vecData.assign(lpData, lpData + wSize);
 
- 		if (wSize == 0) return;
 
- 		size_t nInsertPos = m_vecData.size();
 
- 		m_vecData.resize(nInsertPos + wSize);
 
- 		CopyMemory(m_vecData.data() + nInsertPos, lpData, wSize);
 
- 	}
 
- 	void Update_Data(int nIdx, const void *lpData, WORD wSize)
 
- 	{
 
- 		//m_vecData.assign(lpData, lpData + wSize);
 
- 		if (wSize == 0) return;
 
- 		if (nIdx + wSize > m_vecData.size()) return;
 
- 		CopyMemory(m_vecData.data() + nIdx, lpData, wSize);
 
- 	}
 
- 	void Reserve(DWORD dwSize)
 
- 	{
 
- 		size_t nInsertPos = m_vecData.capacity();
 
- 		if (dwSize > nInsertPos)
 
- 			m_vecData.reserve(dwSize);
 
- 	}
 
- 	template<class T>
 
- 	void Push_Data(T d)
 
- 	{
 
- 		Push_Data((const BYTE*)&d, sizeof(T));
 
- 	}
 
- 	template<class T>
 
- 	void Push_Data(T *d, WORD wSize)
 
- 	{
 
- 		Push_Data((const BYTE*)d, wSize);
 
- 	}
 
- 	void Push_Tail()
 
- 	{
 
- 		static const BYTE cbTail[4] = { 0xFF, 0xFF, 0xFF, 0xFF };
 
- 		Push_Data(cbTail, 4);
 
- 	}
 
- 	void Update_FrameLen(DWORD dwFrameLen)
 
- 	{
 
- 		size_t nDataSize = m_vecData.size();
 
- 		if (nDataSize >= 12)
 
- 		{
 
- 			CopyMemory(m_vecData.data() + 8, &dwFrameLen, sizeof(dwFrameLen));
 
- 		}
 
- 	}
 
- 	void Update_FrameLen()
 
- 	{
 
- 		DWORD nDataSize = m_vecData.size();
 
- 		if (nDataSize >= 12)
 
- 		{
 
- 			nDataSize -= 16;		//帧内容长度
 
- 			CopyMemory(m_vecData.data() + 8, &nDataSize, sizeof(nDataSize));
 
- 		}
 
- 	}
 
- };
 
- #pragma  pack(pop)
 
 
  |