Exemple #1
0
async def new_enum(server: Union["Server", "Client"], idx: Union[int, ua.NodeId], name: Union[int, ua.QualifiedName], values: List[str]) -> Node:
    edef = ua.EnumDefinition()
    counter = 0
    for val_name in values:
        field = ua.EnumField()
        field.DisplayName = ua.LocalizedText(text=val_name)
        field.Name = val_name
        field.Value = counter
        counter += 1
        edef.Fields.append(field)

    dtype = await server.nodes.enum_data_type.add_data_type(idx, name)
    await dtype.write_data_type_definition(edef)
    return dtype
 def _get_edef(self, obj):
     if not obj.definitions:
         return None
     edef = ua.EnumDefinition()
     for field in obj.definitions:
         f = ua.EnumField()
         f.Name = field.name
         if field.dname:
             f.DisplayName = ua.LocalizedText(Text=field.dname)
         else:
             f.DisplayName = ua.LocalizedText(Text=field.name)
         f.Value = field.value
         f.Description = ua.LocalizedText(Text=field.desc)
         edef.Fields.append(f)
     return edef
async def new_enum(server, idx, name, values):
    edef = ua.EnumDefinition()
    edef.Name = name
    counter = 0
    for val_name in values:
        field = ua.EnumField()
        field.DisplayName = ua.LocalizedText(text=val_name)
        field.Name = val_name
        field.Value = counter
        counter += 1
        edef.Fields.append(field)

    dtype = await server.nodes.enum_data_type.add_data_type(idx, name)
    await dtype.write_data_type_definition(edef)
    return dtype