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

📄 dpf_cprtn.cpp

📁 电力系统潮流程序adsfasdfasfd
💻 CPP
字号:
/**************************************************************
* 所属模块 : dpflow
* 文件路径 : pas/dpflow
* 文 件 名 : dpf_cprtn.cpp
* 文件功能 : 取状态估计结果数据
* 继承关系 :
* 操作系统 : PC & UNIX
* 备    注 :
* 历史记录 :
*   时间            版本                作者             原因
*===============================================================
* 2004年04月08日      1.0               pas              created
***************************************************************/

#include "dpf_pub.h"
#include "dpf_fun.h"
#include "system.h"

#ifndef  _WINDOWS32
  #ifdef _ALPHA
    #include <sys/uswitch.h>
  #endif
#endif

#ifndef _DEFINE_HIDBVAR_AS_GLOBAL_
#define _DEFINE_HIDBVAR_AS_GLOBAL_
#endif
#include "dpf_pas.h"

int main(int argc, char**argv)
{
#ifdef _ALPHA
  long uval = uswitch(USC_GET, 0);
  uval = uswitch(USC_SET, uval | USW_CORE);
  if (uval < 0)    perror("uswitch");
#endif

  CContext::SetContextNo(argc, argv,AC_REALTIME_NO);
  CCommArgs::Set(argc,argv,AP_PAS_DPF);
  int    app_no = CCommArgs::AppNo();

  CGnParaCfg   gn_type_cfg;
  gn_type_cfg.GetType (app_no);

  int cp_result = RequestRtnetWithApp(app_no);
  dpf_access_db();
  
  string msgstr;
  if (cp_result > 0)
  {
//    strncpy(pfpart1_->MESSLN1,"已成功拷贝状态估计数据",MESSLN1$CHAR$SIZE);
    msgstr = "已成功拷贝状态估计数据";
    pferrmom_->LV$DPFOP=0;
    gn_type_cfg.SetType();
  }
  else
  {
//    strncpy(pfpart1_->MESSLN1,"拷贝状态估计数据失败",MESSLN1$CHAR$SIZE);
    msgstr = "拷贝状态估计数据失败";
  }        
  strcpy(pfpart1_->MESSLN2,"");
  dpf_sendall();
  
  struct DPF_PARA_T
  {
    int  tse;
    char runmsg[80];
    char dpfopmsg[256];
    int dpfoptim;
  }dpf_para;

  dpf_para.tse = netbus_->TSE;
  memset(dpf_para.runmsg, 0, 80);
  strncpy(dpf_para.runmsg, msgstr.c_str(), 80);
  memset(dpf_para.dpfopmsg, 0,256);
  dpf_para.dpfoptim = 0;

  ODB::CTableOp dpf_para_tblop;
  if (dpf_para_tblop.Open(app_no, PARA_DPFLOW_EMS_NO) >= 0)
  {    
    if (dpf_para_tblop.TableModify("tse, runmsg, dpfopmsg, dpfoptim", (const char*)&dpf_para, sizeof(DPF_PARA_T)) < 0)
    {
      cerr << "dpf_cprtn: Error -------- tableop modify tse,runmsg failed!" << endl;
    }
  }
  else
  {
    cerr << "dpf_cprtn: Error -------- tableop open PARA_DPFLOW_EMS_NO failed!" << endl;
  }

  if (cp_result > 0)
  {
    info_comm_ems_pas comm_info;
    GetCommInfo(app_no, comm_info);
    comm_info.tse = dpf_para.tse;
    strcpy(comm_info.message, dpf_para.runmsg);
    UpdateCommInfo(app_no, comm_info);
  }
  else
  {
    UpdateCommInfo(app_no, dpf_para.runmsg, dpf_para.tse);
  }

  int op_id=2, conv_stat=0;
  dpflow_log_event(app_no,op_id,conv_stat);

  SendAppChangeDataMsg(app_no);

  cerr << "+++++++++++++ " << dpf_para.runmsg << endl;
  return 0;
}

⌨️ 快捷键说明

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