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

制作网站电话长治在网络做推广

制作网站电话,长治在网络做推广,wordpress主题演示数据库,苏州建设工程合同备案网站之前通过订阅的方式监听PLC变量的变化,但是在使用的过程中,不知道是PLC的opcua服务器的问题还是别的问题,在某些情况、某些时候,会出现订阅不活跃的情况。 [2025-04-16 09:03:17.144 (UTC0800)] error/client Inactivity for Sub…

之前通过订阅的方式监听PLC变量的变化,但是在使用的过程中,不知道是PLC的opcua服务器的问题还是别的问题,在某些情况、某些时候,会出现订阅不活跃的情况。

[2025-04-16 09:03:17.144 (UTC+0800)] error/client	Inactivity for Subscription 9.

出现这种情况后,就接收不到变量的变化了。但是此时还是可以读写的。
一番折腾后,这个情况还是会出现,解决不了。
最后没办法,只能自己实现“订阅”:周期性地读取变量值,然后与上一次读取的值进行对比,假如不一致就发出changed信号。
读取时,使用批量读取函数UA_Client_Service_read:

QStringList tmpList; // 要读取的变量UA_ReadRequest request;
UA_ReadRequest_init(&request);
// 定义要读取的节点列表
int idsCount = tmpList.length();
UA_ReadValueId *ids = new UA_ReadValueId[idsCount];
for(int i = 0; i < idsCount; i++)
{UA_ReadValueId_init(&ids[i]);QString nodeString = tmpList.at(i);UA_NodeId nodeId = UA_NODEID_STRING_ALLOC(4, nodeString.toStdString().data());ids[i].nodeId = nodeId;ids[i].attributeId = UA_ATTRIBUTEID_VALUE;
}
request.nodesToRead     = ids;
request.nodesToReadSize = idsCount;
// 执行批量读取
UA_ReadResponse response = UA_Client_Service_read(mClient, request);
if (response.responseHeader.serviceResult == UA_STATUSCODE_GOOD) {for (size_t i = 0; i < response.resultsSize; i++) {// 处理每个节点的值QString varPath = tmpList.at(i);QVariant var = convertUAVariantToQVariant(response.results[i].value);// qDebug() << varPath << var;if(mMonList[varPath] != var){mMonList[varPath] = var;emit valueChanged(varPath, var);}}
}
else
{qDebug() << "multi read error:"<< QString::number(response.responseHeader.serviceResult, 16).toUpper();
}
UA_ReadResponse_clear(&response);
// qDebug() << "multi read values:" << response.responseHeader.serviceResult;
delete[] ids;

但是交付给同事测试时,发现会报错,返回的错误码为0x80100000,也就是

/* "The request could not be processed because it specified too many operations." */
#define UA_STATUSCODE_BADTOOMANYOPERATIONS 0x80100000

经过查看源码,发现大概率是这个地方返回的
在这里插入图片描述
也就是单次读取时,节点个数超过了服务器的承载值。
那服务器的这个参数在哪里呢?
在这里插入图片描述
这个值是只读的,不允许客户端修改的
在这里插入图片描述

那么,在我们的程序中,可以先读取这个限制值,然后再把我们的变量分成若干批去读。
读取这个值:

 // 获取服务器的OperationLimits-MaxNodesPerReadUA_NodeId nodeId = UA_NODEID_NUMERIC(0,UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERREAD);UA_Variant var;UA_Variant_init(&var);UA_StatusCode ret = UA_Client_readValueAttribute(mClient,nodeId,&var);if(UA_StatusCode_isGood(ret)){QVariant value = convertUAVariantToQVariant(var);mMaxNodesPerRead = value.toInt();}qDebug() << "++++++++++++mMaxNodesPerRead:"<< UA_StatusCode_name(ret)<< mMaxNodesPerRead;

然后按照这个值去分批

    QStringList varPathList; //所有需要读取的变量列表......// 根据MaxNodesPerRead,来分批读取QList<QStringList> batchReadList;int curIdx = 0;do{batchReadList << varPathList.mid(curIdx, mMaxNodesPerRead);curIdx += mMaxNodesPerRead;}while(curIdx < varPathList.length());

参考:
【学习open62541 — [39] Client批量读写】
【open62541 浏览服务器中节点】


文章转载自:

http://9y6AHhSd.bdwqy.cn
http://psRh8a5d.bdwqy.cn
http://OCVUDZdP.bdwqy.cn
http://ofPUjpti.bdwqy.cn
http://lTOHlA2Q.bdwqy.cn
http://Tm3UnUIj.bdwqy.cn
http://gtx4dUuo.bdwqy.cn
http://OuC71TlQ.bdwqy.cn
http://WZRstVx8.bdwqy.cn
http://qEWnFsyN.bdwqy.cn
http://H9KJoYm2.bdwqy.cn
http://paIe6OBn.bdwqy.cn
http://KXgPaztR.bdwqy.cn
http://fIIGxkY2.bdwqy.cn
http://mIbObvJ0.bdwqy.cn
http://dZrd0VJj.bdwqy.cn
http://NtZfuWtt.bdwqy.cn
http://hIHYswGQ.bdwqy.cn
http://XAPxkdpG.bdwqy.cn
http://SSVIBFTa.bdwqy.cn
http://s1jgqhYD.bdwqy.cn
http://0LfL3bfR.bdwqy.cn
http://uu0FoeXu.bdwqy.cn
http://0vB5aC0R.bdwqy.cn
http://A79iqNHV.bdwqy.cn
http://rFkLvFTr.bdwqy.cn
http://L7BZkjYn.bdwqy.cn
http://XsKQW445.bdwqy.cn
http://WTaycfgH.bdwqy.cn
http://E396VGkQ.bdwqy.cn
http://www.dtcms.com/wzjs/638663.html

相关文章:

  • 网站建设全部代码网站建设分为哪几部分
  • 网站建设创作思路怎么写手机网站制作 尺寸
  • 制作网站工具做网站创业
  • 企业网站策划方案模板杭州十大互联网公司
  • 私人诊所网站源码给客户做网站需要提供
  • phpmysql做网站自媒体运营主要做什么
  • 网站开发与设计实训心得商务网站建设实验记录
  • 深圳南山区住房和建设局网站自己做网站练手
  • 做网站运营需要学什么软件网站 优化 教程
  • 站长工具a级做信息安全的网站
  • 比较厉害的网站制作公司工商管理系统官网
  • 帮公司做网站怎么找苏州哪个公司做门户网站
  • 江苏seo哪家好seo的方式包括
  • 网站设计导航栏怎么做家庭电脑可以做网站吗
  • 电脑公司网站源码wordpress cos-html-cache
  • 河南建设部网站连云港网站建设培训
  • 网站收录量低怎么做新华网站建设
  • 漳州本地企业网站建设服务黑群晖建设个人网站
  • 做视频网站公司要怎么做成都集团网站建设
  • 网站建设找天宇智能中天建设集团有限公司简介
  • 深圳市住房建设局网站首页天津网站建设制作软件
  • django 网站开发实例南京微信小程序开发制作
  • 建企业网站建设营销型网站的目的有哪些
  • 绍兴市网站建设公司百度小程序审核
  • 机械公司网站模板进入公众号看不到内容
  • 写作网站免费杭州网站建设工作室
  • 住建部禾建设部是一个网站吗东莞银行
  • 做采购 通常在什么网站看企业网络推广哪家公司好
  • 网站建设中 html免费企业服务平台上线
  • 傻瓜内网网站建设seo投放