/********************************************************************* * * 文 件: 处理轧辊相关的功能,换辊等 * * 版权所有: Shanghai Baosight Software Co., Ltd. * * 概述://TODO请添加本文件包含功能详细描述 * ://TODO * ://TODO * * 版本历史 * 1.0 2010-06-25 tonny //TODO请添加本次主要修改内容 * %USER% *********************************************************************/ #ifndef _ROLL_MACHINE_H_ #define _ROLL_MACHINE_H_ #include #include #include #include #include #include using namespace std; namespace baosight{ class RollTele; /********************************************************************* * 类 名: 轧机类。一直在考虑要不要将该类功能分开成2个类,因为RollMachine拥有CopyRoll等方法实际是可笑的 * 版权所有: Shanghai Baosight Software Co., Ltd. * 类 职 责://TODO请添加类职责描述 * ://TODO * ://TODO * 版本历史 * 1.0 2010-06-25 tonny //TODO请添加本次主要修改内容 * *********************************************************************/ class RollMachine { public: /********************************************************************** * 概述: 构造函数 * 函数名: RollMachine * 返回值: //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * name : [IN/OUT] string 轧机名 * stand : [IN/OUT] int 机架数 * workroll : [IN/OUT] int 工作辊数目 * midroll : [IN/OUT] int 中间辊数目 * burroll : [IN/OUT] int 支承辊数目 * * 版本历史 * 1.0 2010-07-26 tonny //TODO请添加本次主要修改内容 * **********************************************************************/ RollMachine(string name="",int stand = 1,int workroll = 2,int midroll = 2,int burroll = 2); virtual ~RollMachine(); //根据轧辊号获得轧辊信息 int GetRollInfo(string rollNo,RollInfo& rollInfo); /********************************************************************** * 概述: 获取轧辊列表 * 函数名: GetRollInfo * 返回值: int * 参数列表: 参数类型 取值范围 描述 * rollType: string * rollStatus: string * rollPos: string * vRoll: VecRoll & * * 版本历史 * 1.0 2010-10-14 echo_li 初次建立 * **********************************************************************/ int GetRollInfo(string rollType,string rollStatus,string rollPos,int standNo,VecRoll& vRoll); /********************************************************************** * 概述: 获得机架数目 * 函数名: GetStandCount * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * * 版本历史 * 1.0 2010-07-26 tonny //TODO请添加本次主要修改内容 * **********************************************************************/ int GetStandCount(){return m_standCount;} /********************************************************************** * 概述: 获得工作辊数目 * 函数名: GetWorkRollCount * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * * 版本历史 * 1.0 2010-07-26 tonny //TODO请添加本次主要修改内容 * **********************************************************************/ int GetWorkRollCount(){return m_workrollCount;} /********************************************************************** * 概述: 获得支承辊数目 * 函数名: GetBurRollCount * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * * 版本历史 * 1.0 2010-07-26 tonny //TODO请添加本次主要修改内容 * **********************************************************************/ int GetBurRollCount(){return m_midrollCount;} /********************************************************************** * 概述: 获得中间辊数目 * 函数名: GetMidRollCount * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * * 版本历史 * 1.0 2010-07-26 tonny //TODO请添加本次主要修改内容 * **********************************************************************/ int GetMidRollCount(){return m_burrollCount;} /********************************************************************** * 概述: 换辊,抽出旧辊插入新辊 * 函数名: ChangeRoll * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * mode : [IN] int 换辊模式 * stand : [IN] int 机架号 * * 版本历史 * 1.0 2010-07-26 tonny //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int ChangeRoll( unsigned short mode, int stand = 1); //根据轧辊号换辊 virtual int ChangeRoll(string rollNo); /********************************************************************** * 概述: 预备换辊 * 函数名: PrepareChangeRoll * 返回值: int //TODO:返回值描述 返回成功切换到Next状态的辊数 * 参数列表: 参数类型 取值范围 描述 * data : vector //TODO:参数取值范围 * stand : int 默认为0 机架号:0表示按照轧辊数据里的机架号换备辊 * 大于0表示按照此机架号换备辊 * * 版本历史 * 1.0 2010-07-26 tonny //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int PrepareChangeRolls( vector v_rollNo, int stand = 0); virtual int ChangeRollStatus(string roll, string status); virtual int ChangeRollStand( string roll, int stand); //发送轧辊设定值给L1 virtual int SendSetData( VecRoll &rolldata); //发送新辊实绩值给L3 virtual int SendNewData( VecRoll &rolldata); //发送旧辊实绩值给L3 virtual int SendOldData( VecRoll &rolldata); //钢卷剪切后,累计轧制里程、轧辊重量、轧制时间、 virtual int DoRollStatistics(const RollProdData& data ); //根据MU_CODE读取数据,进行轧制里程的累计 virtual int DoRollStatistics(const MU_CODE& muCode); /********************************************************************** * 概述: 复制轧辊数据,根据提供的oldRollNo,复制其全部数据,并将辊号改为newRollNo * 函数名: CopyRoll * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * oldRollNo : [IN/OUT] string //TODO:参数取值范围 * newRollNo : [IN/OUT] string //TODO:参数取值范围 * * 版本历史 * 1.0 2010-07-26 tonny //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int CopyRoll(string oldRollNo,string newRollNo); /********************************************************************** * 概述: 删除轧辊数据,根据提供的oldRollNo,删除其全部数据 * 函数名: DelRoll * 返回值: int //TODO:删除失败 * 参数列表: 参数类型 取值范围 描述 * RollNo : [IN] string 只能输入状态为P或者R的轧辊 * * 版本历史 * 1.0 2010-07-26 tonny //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int DelRoll( string RollNo); /********************************************************************** * 概述: 将Next中的辊插入机架 * 函数名: InsertNewRolls * 返回值: int //TODO:删除失败 * 参数列表: 参数类型 取值范围 描述 * mode : [IN] unsigned short 换辊模式 * stand : [IN] int 机架号 * * 版本历史 * 1.0 2010-07-26 tonny //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int InsertNewRolls( unsigned short mode, int stand = 1); /********************************************************************** * 概述: 将机架中的辊抽出 * 函数名: ExtractOldRolls * 返回值: int //TODO:删除失败 * 参数列表: 参数类型 取值范围 描述 * mode : [IN] unsigned short 换辊模式 * stand : [IN] int 机架号 * * 版本历史 * 1.0 2010-07-26 tonny //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int ExtractOldRolls( unsigned short mode, int stand = 1); /********************************************************************** * 概述: 根据模式检查Next辊是否存在 * 函数名: CheckChangeRoll * 返回值: short * 参数列表: 参数类型 取值范围 描述 * mode: int 换辊模式 * rolldata VecRoll 返回符合模式的Next辊信息 * stand int 机架号 * * 版本历史 * 1.0 2010-10-12 echo_li 初次建立 * * **********************************************************************/ virtual short NextRollExist( unsigned short mode, VecRoll & rolldata, int stand = 1); /********************************************************************** * 概述: 根据模式检查Current辊是否存在 * 函数名: CheckChangeRoll * 返回值: short * 参数列表: 参数类型 取值范围 描述 * mode: int 换辊模式 * rolldata VecRoll 返回符合模式的Next辊信息 * stand int 机架号 * * 版本历史 * 1.0 2010-10-12 echo_li 初次建立 * * **********************************************************************/ virtual short CurrentRollExist( unsigned short mode, VecRoll & rolldata, int stand = 1); string ToString(); /********************************************************************** * 概述: 设定具体的访问对象 * 函数名: SetObejct * 返回值: void //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * dao : [IN/OUT] RollDAO * //TODO:参数取值范围 * tel : [IN/OUT] RollTele * //TODO:参数取值范围 * * 版本历史 * 1.0 2010-07-26 tonny //TODO请添加本次主要修改内容 * **********************************************************************/ void SetObejct(RollDAO* dao,RollTele* tel); private: /* int GetRollDataByRollNo*/ private: RollDAO* mp_rollDao; RollTele* mp_tel; string m_machineName;//轧机名字 int m_standCount; int m_workrollCount; int m_midrollCount; int m_burrollCount; }; } #endif