#pragma once #include "module.h" //通信端口信息 class CPlcIOPar { public: CString m_Port;//端口号 CString m_CtrlContent;//控制内容 }; //plc 进行I/O 控制管理类 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 &PortVec); void ReadCtrlContentFile(vector &PortVec,CString FilePath); private: bool m_bUse;//是否使用PLC I/O控制 bool m_bShowLog;//是否显示日志 int m_BaudRate;//通信波特率 int m_ComPort;//通信串口号 int m_ExcuteTimes;//执行时间,直到返回OK vector m_OutPortVec;//输出控制端口容器 vector m_InPortVec;//输入控制端口容器 }; extern CPlcIOMgr *gPlcIOMgr;