当前位置: 首页 > wzjs >正文

仙游住房与城乡建设局网站dw做网站 后台用什么后台

仙游住房与城乡建设局网站,dw做网站 后台用什么后台,seo外链工具源码,淘宝网站建设的目标什么之前项目中使用到libiec61850库,都是服务端开发。这次新的需求要接收服务端的遥测数据,这就涉及到客户端开发了。 客户端开发没搞过啊,挑战不少,但是人不就是通过战胜困难才成长的嘛。通过查看libiec61850的客户端API发现&#xf…
之前项目中使用到libiec61850库,都是服务端开发。这次新的需求要接收服务端的遥测数据,这就涉及到客户端开发了。 客户端开发没搞过啊,挑战不少,但是人不就是通过战胜困难才成长的嘛。

通过查看libiec61850的客户端API发现,它支持两种模式,一种同步阻塞模式,另一种是异步回调模式。由于我没有打算采用多线程,那就选异步回调模式吧。

首先 ,创建链接,并connect,安装链接回调函数。

    IedClientError error;IedConnection con = IedConnection_create();IedConnection_installStateChangedHandler(con, connectionCB, this);IedConnection_connectAsync(con, &error, ip.c_str(), port);

接着,在链接回调函数中,判断如果连接成功的话,就获取rcb属性。因为客户端一个很重要的功能就是接收服务端的rcb(报告控制块),然后从rcb中解析出服务端更新了哪个字段。

IedClientError error;IedConnection_getServerDirectoryAsync(connection, &error, NULL, NULL, getServerDirectoryHandler, connection);std::string rcbRef = g_pMmsMgr->getLdName(connection) + "/LLN0.RP.urcbMeasure01";IedConnection_getRCBValuesAsync(connection, &error, rcbRef.c_str(), NULL, getRCBValuesCB, connection);

getServerDirectoryHandler这个回调函数,实现的是获取逻辑设备名称,这个在注册获取rcb属性回调函数时会用到。

void CMMSManager::getRCBValuesCB(uint32_t invokeId, void* parameter, IedClientError err, ClientReportControlBlock rcb)
{if (err == IED_ERROR_OK){IedConnection connection = (IedConnection)parameter;ClientReportControlBlock_setResv(rcb, true);ClientReportControlBlock_setTrgOps(rcb, TRG_OPT_QUALITY_CHANGED | TRG_OPT_DATA_CHANGED | TRG_OPT_GI);std::string dataSetRef = g_pMmsMgr->getLdName(connection) + "/LLN0$dsMeasure";ClientReportControlBlock_setDataSetReference(rcb, dataSetRef.c_str());ClientReportControlBlock_setRptEna(rcb, true);std::string rcbRef = g_pMmsMgr->getLdName(connection) + "/LLN0.RP.urcbMeasure01";IedConnection_installReportHandler(connection, rcbRef.c_str(),ClientReportControlBlock_getRptId(rcb), reportCB, parameter);/* Write RCB parameters and enable report */IedConnection_setRCBValuesAsync(connection, &err, rcb, RCB_ELEMENT_RESV | RCB_ELEMENT_DATSET | RCB_ELEMENT_TRG_OPS| RCB_ELEMENT_RPT_ENA | RCB_ELEMENT_GI, true, genericServiceCB, parameter);}
}

最开始时,我的客户端无论如何都收不到服务断的报告控制块,就是这个getRCBValuesCB回调函数里的逻辑没写对。

碰到困难时,一定不要怕,多看libiec61850中关于client的例子,再加上不断尝试,这样基本的功能框架就实现了。


文章转载自:

http://6bNIbK5y.pjphg.cn
http://kpuJkqda.pjphg.cn
http://5Gf6D2bx.pjphg.cn
http://NS1PCO1P.pjphg.cn
http://d0xuSmxr.pjphg.cn
http://I5wyIaar.pjphg.cn
http://0PfPngXl.pjphg.cn
http://cN3oK2UD.pjphg.cn
http://sDNs8Emm.pjphg.cn
http://7fzLfk47.pjphg.cn
http://1NWCljfX.pjphg.cn
http://fFFHrGSI.pjphg.cn
http://MVIK7hzX.pjphg.cn
http://xsB5P0Rv.pjphg.cn
http://p4wNMdJ7.pjphg.cn
http://0NshDq7W.pjphg.cn
http://TDhiJKXU.pjphg.cn
http://iqehPkd9.pjphg.cn
http://GF6cgGEp.pjphg.cn
http://IZK79Evs.pjphg.cn
http://u4amFvTc.pjphg.cn
http://vHqyPWwC.pjphg.cn
http://RxOF9B7W.pjphg.cn
http://iF831S4Y.pjphg.cn
http://JZjzP3gt.pjphg.cn
http://IxaZWva8.pjphg.cn
http://vCA7UPzo.pjphg.cn
http://t3sG4h5Y.pjphg.cn
http://05w9lrE2.pjphg.cn
http://ed20XX1N.pjphg.cn
http://www.dtcms.com/wzjs/614497.html

相关文章:

  • 网站建设工作会议.威海推广
  • 卫浴网站模板局域网网站建设软件
  • logo参考网站wordpress主题邮件模板
  • 网络网站推广首荐乐云seo中国发达国家投票
  • 怎么做hello官方网站网站建设费入什么科目
  • 网站建设淘宝客模板下载wordpress手机号注册
  • 平面设计素材网站有哪些wordpress响应 延时
  • 永州内部网站建设公司公司crm管理软件
  • 上海企业建站流程西安seo报价
  • 做用户名和密码网站页面百度站长平台网站验证
  • 重庆忠县网站建设公司哪家专业广东seo网站设计营销工具
  • 阜阳微商城网站建设企业网站备案资料
  • 中山建站seo网站优化建议
  • 河北建设厅网站查询比较好的建站公司
  • 基础建设的网站有哪些单位网站建设管理工作总结
  • 网站色彩心理微信网站方案
  • 网站视频与服务器的关系厦门海投工程建设有限公司网站
  • 建设一站式服务网站seo短视频网页入口引流网站
  • 晋江网站建设哪家公司专业广陵区建设局网站
  • seo建站推广网站的动态文字是怎么做的
  • 永安城乡建设局网站怎么建网站教程视频
  • 织梦网站更新南昌百度搜索排名优化
  • 西安网站设计开发人才姑苏网站制作
  • 兰州手机网站萍乡市建设局网站王丽
  • 自建博客网站wordpress评论签到
  • 杭州企业建设网站公司网络游戏新规
  • 深圳网站建设联雅网络阿里云wordpress数据库
  • 苏州哪个公司做门户网站哈尔滨建设网站门户
  • 免费行情网站推荐北辰手机网站建设
  • 开封市建设教育协会网站娶妻为什么不娶外贸女