#pragma once #include class ICard { public: /************************************************************************/ //!构造函数 /*! 构造函数完成了一系列初始化工作 \n 2. 对每一块卡,初始化编码器方向,限位触发,安全处理等\n 3. 对卡上的每一个轴,配置控制器,工作模式等\n 4. 针对每一个轴生成一个轴对象\n 5. 针对每一块卡成一个通用输入对象,一个通用输出对象 \param strFileName 配置文件名,当前目录的文件名或全路径文件名 */ ICard(/*string strFileName=NULL*/){}; //打开控制卡,包括OpenCard, ResetCard, 加载配置文件(建议都用这种方式,这种方式最简单) //加载配置文件:文件名称用默认的方式,比如GTSCardConfig virtual bool OpenCard() = 0; //关闭控制卡 virtual bool CloseCard() = 0; /************************************************************************/ //!析构函数 /*! 析构函数完成了一系列清理工作 \n 1. 释放各种对象对应的内存 \n 2. 关闭每个轴的伺服\n 3. 关闭卡\n */ virtual ~ICard(){}; public: int m_nCardIndex = -1; bool m_bExtCard = false; //主卡还是扩展卡,true:主卡,false:扩展卡 short m_nTotalAxisNum; std::string m_sCardLoad= ""; };