a
This commit is contained in:
@@ -0,0 +1,127 @@
|
||||
// Device.h: interface for the CDevice class.
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
#if !defined(AFX_DEVICE_H__48E31879_2EDD_4069_B001_126D9CECFFBB__INCLUDED_)
|
||||
#define AFX_DEVICE_H__48E31879_2EDD_4069_B001_126D9CECFFBB__INCLUDED_
|
||||
|
||||
#include "SComPort.h"
|
||||
#include "ProgressDlg.h"
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER > 1000
|
||||
|
||||
|
||||
class CSComPort;
|
||||
class COpDevPamModifyDlg;
|
||||
enum EN_CHECK_PASSWORD_RESULT
|
||||
{
|
||||
enPasswordError = 0,
|
||||
enPasswordSucc,
|
||||
enExecCmdError
|
||||
};
|
||||
|
||||
enum EN_CHECK_OTHER_DATA
|
||||
{
|
||||
enNotExistOtherData = 0,
|
||||
enExistOtherData,
|
||||
enNotExistCmd,
|
||||
enGetCmdResFailed
|
||||
};
|
||||
|
||||
class CDevice
|
||||
{
|
||||
public:
|
||||
//由于在win10的消息处理机制很接近真实的时间,所以将循环次数由原来的100改成500,每次循环休眠5毫秒,
|
||||
//这样总共的超时时间应该是在半分钟左右
|
||||
BOOL ExecuteOrder(CString strOrder, CString strSign, CString *pStrResult, int nRepeatCnt = 3, int nPollCnt = 500);
|
||||
BOOL ExecuteSignleOrder(CString f_szOrder, CString f_szSign , CString *f_szResult, int nCmdPollCnt = 100);
|
||||
BOOL ModifyTimeWindow();
|
||||
BOOL LockDevice();
|
||||
CDevice(DWORD dwID, _ConnectionPtr& pConnection);
|
||||
virtual ~CDevice();
|
||||
|
||||
BOOL Reset(); //重置设备
|
||||
|
||||
BOOL DelSynInfo(); //删除同步信息
|
||||
BOOL DelGRInfo(); //删除接地电阻信息
|
||||
|
||||
BOOL GetSynInfo(); //去同步信息
|
||||
BOOL GetDevInfo(); //取设备信息
|
||||
BOOL GetGRInfo(); //去接地电阻信息
|
||||
|
||||
int GetPoleCount(); //取电极总数
|
||||
|
||||
BOOL Register(); //注册
|
||||
BOOL Unregister(); //取消注册
|
||||
|
||||
BOOL SendFile(const CString &szHostFilePath, const CString &szLocFilePath, const CString& szLocFileName);
|
||||
//发送文件(szHostFilePath---in:主机文件路径,szLocFilePath---in:本地文件路径,szLocFileName---in:本地文件名称)
|
||||
BOOL ReceiveFile(const CString &szLocFilePath, const CString& szHostFileName,int nRetryCnt = 3);
|
||||
//接收文件(szLocFilePath---in:本地文件路径,szHostFileName---in:主机文件名)
|
||||
bool ShowFLDetailInfo(CListCtrl& devDetailList);
|
||||
//显示离线详细信息(devDetailList---in:设备详情列表)
|
||||
bool ShowOLDetailInfo(CListCtrl& devDetailList);
|
||||
//显示在线详细信息(devDetailList---in:设备详情列表)
|
||||
|
||||
bool ShowGRInfo(CListCtrl& devGRList); //显示接地电阻信息(devGRList---in:接地电阻列表)
|
||||
bool ShowACInfo(CListCtrl& devDetailList);
|
||||
//显示视极化率信息(devDetailList---in:视极化率列表)
|
||||
BOOL ModifyParameter(); //修改参数
|
||||
BOOL ShowCableHeadInfoDlg(); //显示电缆头信息
|
||||
|
||||
BOOL IsTheNumofPoleChanged(); //电极是否已经发生改变
|
||||
BOOL TestGRForPerPole(int iSN, CStringArray& strResArray);
|
||||
//为每一个电极测试接地电阻
|
||||
BOOL TestGRForAllPole(); //为所有电极测试接地电阻
|
||||
|
||||
void SetState(UINT uState); //设置状态(uState---in:状态参数)
|
||||
void SetID(DWORD dwID); //设置ID(dwID---in:设备ID)
|
||||
|
||||
void PrintLog(CString& strLog); //打印日志信息函数
|
||||
|
||||
int IsExistOtherUserData(); //查询下微机是否拥有除当前主机外其它用户的数据,有返回true,否则false
|
||||
|
||||
int CheckGD10Password(CString strGD10Password); //在GD10上校验密码
|
||||
|
||||
DWORD m_dwID;
|
||||
UINT m_uState;
|
||||
UINT m_uType;
|
||||
BYTE m_ucDevType;//0 代表本地,1:代表远端的GD10, 2代表处于远端的PLC
|
||||
|
||||
CSComPort m_sComPort;
|
||||
|
||||
CString m_szDevSN;
|
||||
CString m_szDevName;
|
||||
CString m_szModelNO;
|
||||
CString m_szMDate;
|
||||
CString m_szHWV;
|
||||
CString m_szSWV;
|
||||
CString m_szMBatch;
|
||||
CString m_szMacAddress;
|
||||
_ConnectionPtr m_pConnection;
|
||||
|
||||
FILE *m_pLogFile;
|
||||
|
||||
private:
|
||||
|
||||
|
||||
BOOL GetTdSynInfo(); //取数据同步信息
|
||||
BOOL GetSptSynInfo(); //取脚本同步信息
|
||||
|
||||
BOOL GenerateUserFile(CString& szFilePath, CString& szFileName);
|
||||
//生成用户文件(szFilePath---in:文件路径,szFileName---in:文件名称)
|
||||
|
||||
bool InitialCableHeadDlg(CListCtrl& cableHeadList);
|
||||
//初始化电缆头对话框(cableHeadList---in:电缆头列表)
|
||||
BOOL InitialOpDevPamModifyDlg(COpDevPamModifyDlg* const pOpDevPamModifyDlg);
|
||||
//初始化修改设备参数对话框(pOpDevPamModifyDlg---in:设备参数对话框)
|
||||
//进行传送的终止操作
|
||||
BOOL EndTransfer();
|
||||
|
||||
//获取子任务dat文件最大点数
|
||||
UINT32 GetXmlMaxTestPoint(int iSubIndex,CString strPrCN, CString strTzCN,CString strXmlFile);
|
||||
};
|
||||
|
||||
#endif // !defined(AFX_DEVICE_H__48E31879_2EDD_4069_B001_126D9CECFFBB__INCLUDED_)
|
||||
Reference in New Issue
Block a user