You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
1.4 KiB
C

#pragma once
#include "module.h"
//ͨ<>Ŷ˿<C5B6><CBBF><EFBFBD>Ϣ
class CPlcIOPar
{
public:
CString m_Port;//<2F>˿ں<CBBF>
CString m_CtrlContent;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
};
//plc <20><><EFBFBD><EFBFBD>I/O <20><><EFBFBD>ƹ<EFBFBD><C6B9><EFBFBD><EFBFBD><EFBFBD>
class CPlcIOMgr :public CModule
{
public:
CPlcIOMgr(void);
~CPlcIOMgr(void);
virtual MODULE GetModuleType(){return _PLC_IO_PROP;};
virtual CMFCPropertyGridProperty *CreatGridProperty();
virtual void Ini();
virtual void ExportPar(ofstream *pFile);
bool SwitchPort(CString CtrlContent,bool bOpen);
bool CheckPortState(CString PortNum,int WaitTime);
int GetComPort(){return m_ComPort;};
private:
CString GetPortNum(CString CtrlContent,vector<CPlcIOPar> &PortVec);
void ReadCtrlContentFile(vector<CPlcIOPar> &PortVec,CString FilePath);
private:
bool m_bUse;//<2F>Ƿ<EFBFBD>ʹ<EFBFBD><CAB9>PLC I/O<><4F><EFBFBD><EFBFBD>
bool m_bShowLog;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ʾ<EFBFBD><CABE>־
int m_BaudRate;//ͨ<>Ų<EFBFBD><C5B2><EFBFBD><EFBFBD><EFBFBD>
int m_ComPort;//ͨ<>Ŵ<EFBFBD><C5B4>ں<EFBFBD>
int m_ExcuteTimes;//ִ<><D6B4>ʱ<EFBFBD><CAB1><><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>OK
vector<CPlcIOPar> m_OutPortVec;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ˿<C6B6><CBBF><EFBFBD><EFBFBD><EFBFBD>
vector<CPlcIOPar> m_InPortVec;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ˿<C6B6><CBBF><EFBFBD><EFBFBD><EFBFBD>
};
extern CPlcIOMgr *gPlcIOMgr;