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++
38 lines
1.4 KiB
C++
#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<CPlcIOPar> &PortVec);
|
|
void ReadCtrlContentFile(vector<CPlcIOPar> &PortVec,CString FilePath);
|
|
private:
|
|
bool m_bUse;//是否使用PLC I/O控制
|
|
bool m_bShowLog;//是否显示日志
|
|
int m_BaudRate;//通信波特率
|
|
int m_ComPort;//通信串口号
|
|
int m_ExcuteTimes;//执行时间,直到返回OK
|
|
vector<CPlcIOPar> m_OutPortVec;//输出控制端口容器
|
|
vector<CPlcIOPar> m_InPortVec;//输入控制端口容器
|
|
};
|
|
|
|
extern CPlcIOMgr *gPlcIOMgr; |