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.
|
|
|
|
#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;
|