如何用C#在OPC UA服务器中创建文件对象?

问题描述 投票:0回答:1

我正在尝试创建一个 File 对象,以便客户端可以通过服务器发送文件,但是当我尝试将本地文件写入该对象时,它返回一个 BadImplementation error

此外,File 对象的某些属性显示为无效并采用值 BadAttributeIdInvalid,我不知道为什么。

我在 Files 文件夹中创建一个 FileState 节点,如下所示。并且 node 按预期出现在客户端。但它并不像前面提到的那样工作。

folder = opcServer_.CreateFolderState(root, "Files", "Files", "String");

FileState file = new(folder)
{
    SymbolicName = "FileName",
    Description = "File object",
    ReferenceTypeId = ReferenceTypes.Organizes,
    TypeDefinitionId = ObjectTypeIds.FileType,
    NodeId = ObjectIds.FileDirectoryType_FileName_Placeholder,
    BrowseName = new QualifiedName("FileName", NamespaceIndex),
    DisplayName = "FileName",
    RolePermissions = new(),
    UserRolePermissions = new(),
};

folder.AddChild(file);
opcServer_.AddNode(folder);

有谁知道我还需要实现什么才能使这个对象按预期工作?

c# file opc-ua opc
1个回答
0
投票

在 OPC UA 中,文件对象是通过您需要调用的 CreateFile 方法创建的 - 如果服务器支持(情况并非总是如此)。请参阅 https://reference.opcfoundation.org/v104/Core/docs/Part5/C.3.4 .

© www.soinside.com 2019 - 2024. All rights reserved.