我想使用 UA-Expert 客户端下载并上传,例如.txt文件,到/从我在设备上设置的服务器上传。 有人可以为我提供分步解决方案或有关如何实现此解决方案的示例吗?
我首先遵循了 open62541 网站上的教程。 我试图遵循和理解OPC-UA规范,特别是第5部分附件C。
提前谢谢你。
此功能是最近添加的,但尚未包含在正式版本中。
看看:https://github.com/opcua-tsn-team-kalycito/open62541/tree/fileType_object_implementation
(确保使用提交76eb14f6886911f954c40492cbe346c69b055ba5
;最新的提交不起作用(
一个示例实现是:
UA_StatusCode result = UA_Server_addFile(server, FileTypeNodeId,
UA_NODEID_NUMERIC(0, UA_NS0ID_OBJECTSFOLDER),
UA_NODEID_NUMERIC(0, UA_NS0ID_ORGANIZES),
UA_QUALIFIEDNAME(1, "Sample File"),
oAttr, filePath, NULL, NULL
);
open62541 不支持开箱即用,这意味着没有预制插件可以实现各种平台所需的对象。
也就是说,自己做这件事并没有太多工作(特别是如果你不需要通用/跨平台的东西(。 几个月前我做过这样的一次性工作。这就像两天的工作。它仅限于从服务器下载特定文件。
如果我没记错的话,您需要做的就是启用 part5/annex c 指定的类型的生成(源代码树中有一个包含应生成的所有类型的.txt或.csv(,之后您需要实例化这样一个对象(例如 File(并将其放置在服务器地址空间中的某个位置。剩下要做的就是实现各种方法(打开、读取等(并通过对这些对象的回调来连接您的对象。