首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >禁化武组织C++监视项目做回调功能

禁化武组织C++监视项目做回调功能
EN

Stack Overflow用户
提问于 2021-08-03 13:36:05
回答 1查看 221关注 0票数 0

我在opcua的世界里很新,我试图用C++中的客户端监控服务器变量。

我在1.2.2版的蛋白卡上

在节点(1,6070)的服务器中有一个布尔变量,当我运行以下代码时,会收到日志:

2021-08-03 15:27:47.442 (UTC+0200) info/session Connection 5 SecureChannel 2 SecureChannel Session ns=1;g=913a21de-f 467-5bc9-ed9e-29b27b470490订阅2 x创建了发布间隔500.00 ms的订阅。

但是,我从来没有达到'handler_events_datachange‘函数,在这个函数中,我现在只输入一个输出。(我确信节点6070中的值已被更改)

谢谢你的帮助!

代码语言:javascript
运行
复制
int main(void) {
   signal(SIGINT, stopHandler); /* catches ctrl-c */

   UA_Client *client = UA_Client_new();
   UA_ClientConfig *cc = UA_Client_getConfig(client);
   UA_ClientConfig_setDefault(cc);

   UA_Client_connect(client, "opc.tcp://localhost");

   UA_MonitoredItemCreateResult result;
   UA_CreateSubscriptionResponse response; // warning memory leak
   UA_CreateSubscriptionRequest request = UA_CreateSubscriptionRequest_default();

   UA_Client_Subscriptions_create(client, request, NULL, NULL,  NULL);
   UA_Int32 subId = response.subscriptionId;

   if(response.responseHeader.serviceResult == UA_STATUSCODE_GOOD)
   {
      UA_LOG_INFO(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND ,  "subscription succed");
   } else {
      UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND ,  "subscription UNsucced");
   }

   UA_MonitoredItemCreateRequest monRequest = UA_MonitoredItemCreateRequest_default(UA_NODEID_NUMERIC(1, 6070));

   result = UA_Client_MonitoredItems_createDataChange(client, subId, UA_TIMESTAMPSTORETURN_BOTH, monRequest, NULL, handler_events_datachange, NULL);

   while(running) {
    
   }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-06 09:26:42

我终于发现了错误!

问题来自于没有提供自动处理异步事件的方法。但是,一些同步函数调用将触发处理,但是为了确保发生这种情况,客户机应该定期显式地调用UA_Client_run_iterate。

因此,解决方案是在while()中添加UA_Client_run_iterate(client,100)。

我不完全明白超时是怎么回事,但如果可以的话,我会完成这个答案的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68637076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档