⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 optickettopo.h

📁 电力系统潮流程序adsfasdfasfd
💻 H
字号:
#ifndef	COpticketTopo_H
#define COpticketTopo_H

#include "opt_include.h"
#include "opt_struct.h"
#include "opt_define.h"
#include "opt_global.h"

#include "opticket_api/flow_report.h"

using namespace ODB;
using namespace NM_PSNTP;
class COpticketTopo
{
public:
	COpticketTopo(int app_no=AP_SCADA);
	~COpticketTopo();
	
private:
	bool	is_on_duty;

private:
	CMsgBus 		*m_optTopoBus;
	MESSAGE_HEADER 		m_RecvMsgHeader;
	CBuffer			m_BufBase;	CTableOp                *m_scadaOp;	
	int	                m_SendMsgType;	
	char 		        *m_SendMsgBuf;
	int			m_SendMsgLen;
	
	
	IFlow                   m_flow;


private:
        int 			*m_model_time_shm;
        int 			*m_yx_change_time_shm;
        time_t 		        m_last_model_time;
	time_t                  m_last_yx_change_time;
private:
  CScadaApi scada_api;

private:
  string m_stepGraphName;
  string m_machinename;
  string m_procname;
  string m_username;

public:
	int	Init();
	int Free();
	
private:
	int	SetGraphInfo();//初始化IPsntp
	int	ReadDevice(AllDeviceStru &alldev);//读取所有设备信息
	int	FreeDevice(AllDeviceStru &alldev);//读取所有设备信息
	int SetRunMode(vector<int> &open_dev_vec,vector<int> &close_dev_vec,bool update_mode = true);//设定初始的运行方式
private:
  sql_sp_client_base	*m_sql_sp_client;
  CSqlResultAlignClient   m_sql_align;//数据库结构对齐
	
public:	
	int RecvReport(int time=100);
	int GetRecvReportType();
private:
	int SendToChannel(int channel_id);
	int SendToHost(const char *machinename,const char *processname,const char* instancename = NULL);
	void SendMsgToGraph(int appno);//add by xuxianfeng1202
	int SendDownModelMsgToHost(QString msg,int finished = RETURN_FAILED);//xxf080311
	
public:
	void SetAppNo(int app);
	int  GetAppNo();

public:
	int	CopyModeFromSCADA(int dutyflag);//从SCADA拷贝方式数据
	void CopyModeFromSCADA();//从SCADA拷贝方式数据
	int DownloadModel(int dutyflag);//下装模型
//#ifdef _WINDOWS32
  int SaveModelBase(const int copyfromapp,const int copytoapp);//处理pc平台的拷贝方式
//#endif
private:
	int	DownloadBase(TDownloadAppRequest download_app_request);//基础的发送消息函数,完成download/copy mode
	int	ReceiveDownloadAppAnswer(int requestID);//下装模型/拷贝方式数据应答
	int	ReceiveFlowVerifyAnswer(SEQOpStepVerFlowRpt  &verFlowSeq,string &msg);
	int     SendMsgToFlow(deque<OpPair> opVec,int caltype);
public:
	int ReadDevRunMode(int dutyflag);//通知opticket_topo_srver更新指定设备的运行方式
private:
	int	InsertDev(int dev_id,vector<DevType_T> &mapDev);
	int	InsertDev(vector<int> dev_vec,vector<DevType_T > &mapDev);

private:	
	int SynDevMode();//实时同步模型
	int SynRunMode();//实时同步运行方式
public:
	void SyncMode();//根据参数设定同步运行方式以及模型
	int ModelChange();//模型变化
	int YxValueChange();//遥信变化
private:
	void SetAcDotPower();
	int ReadOptPara();	int PrintErrors(const SEQDBErrorStru_var & seq_db_err);
	string GetLocalTime();
};
class devQcolor_T
{
    enum{DB_BASE_NO = 1000000};
    int c_app_no;
    int c_table_id;
    int c_qcolor_field_id;
    ODB::CTableOp c_table_op;
    vector<int> c_key_vec;
    vector<unsigned char> c_qcolor_vec;
public:
    devQcolor_T(int table_id, int app_no = AP_SCADA):c_table_id(table_id),c_app_no(app_no),c_table_op(app_no,table_id)
    {
        c_table_op.GetFieldNoByName(c_qcolor_field_id, "qcolor");
    };

    int TableId()const{return c_table_id;};
    void Reset();
    inline void AddQcolorInfo(const int key_id, const unsigned char qcolor);
    void UpdateQcolor();
};
#endif //COpticketTopo_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -