第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

如何添加具有子屬性的節(jié)點(diǎn)并為其設(shè)置值?

如何添加具有子屬性的節(jié)點(diǎn)并為其設(shè)置值?

C#
Cats萌萌 2023-05-14 16:14:40
我從 OPCFoundation 示例構(gòu)建了一個(gè) OPC UA 服務(wù)器 - https://github.com/OPCFoundation/UA-.NETStandard還編譯了我自己的模型 - https://github.com/Pro/UA-ModelCompiler/tree/eebf9988940a789a4f36cbef8c5bd6340f1b2f42在示例中,他們將生成的文件放在文件夾中,然后為 NodeManger、State 等定制類。我已成功加載生成的 .uanodes 文件,其中包含一些示例節(jié)點(diǎn)。但是我無法通過服務(wù)器端的代碼創(chuàng)建這些節(jié)點(diǎn)。測試時(shí),我在函數(shù)中進(jìn)行 - LoadPredefinedNodes(ISystemContext context)。我的結(jié)構(gòu)應(yīng)該是對象下面的一個(gè)節(jié)點(diǎn),稱為“標(biāo)簽”,在該節(jié)點(diǎn)中,我想在服務(wù)器運(yùn)行時(shí)動態(tài)添加節(jié)點(diǎn)并設(shè)置它們的屬性。我在測試時(shí)使用 Integration Object 的 OPC UA 客戶端。結(jié)構(gòu)看起來正確,例如:Objects => Tags => MyTestTag (Properties: Name, Description, Value)前兩個(gè)屬性是從模型文件定義中正確添加的   <!-- ### Object Types ###-->    <!-- BaseType -->    <ObjectType SymbolicName="TAG:TagType" BaseType="ua:BaseObjectType" IsAbstract="true" SupportsEvents="true" AccessLevel="ReadWrite">        <Description>Base type for all tags</Description>        <Children>            <Property SymbolicName="TAG:Name" DataType="ua:String" ValueRank="Scalar" ModellingRule="Mandatory" AccessLevel="ReadWrite">                <Description>Name of the tag</Description>            </Property>            <Property SymbolicName="TAG:Description" DataType="ua:String" ValueRank="Scalar" ModellingRule="Optional" AccessLevel="ReadWrite">                <Description>Description of the tag</Description>            </Property>        </Children>    </ObjectType>    <!-- ### Objects ###-->    <Object SymbolicName="TAG:Tags" TypeDefinition="ua:BaseObjectType">        <Description>Contains all instances of tags</Description>        <References>            <Reference IsInverse="true">                <ReferenceType>ua:Organizes</ReferenceType>                <TargetId>ua:ObjectsFolder</TargetId>            </Reference>        </References>    </Object>第三個(gè)是我嘗試從服務(wù)器端代碼定義的屬性。我添加了 Value 屬性,但我不知道如何寫它的值。從這段代碼中,一個(gè)名為 MyTestTag 的節(jié)點(diǎn)被添加到 Tags 節(jié)點(diǎn)中。從模型中添加屬性“名稱”和“描述”。并且“Value”屬性是通過代碼添加的。但是,我無法為這些屬性中的任何一個(gè)設(shè)置值。在客戶端中單擊屬性 MyTestTag.Value 時(shí),會打印錯(cuò)誤“可為空的對象必須有一個(gè)值”。請告訴我我做錯(cuò)了什么。
查看完整描述

2 回答

?
慕少森

TA貢獻(xiàn)2019條經(jīng)驗(yàn) 獲得超9個(gè)贊

在我的例子中,問題是 nodeId。我變了


ps.NodeId = new NodeId();

// to

ps.NodeId = new NodeId(Guid.NewGuid(), NamespaceIndex);

然后它確實(shí)出現(xiàn)在節(jié)點(diǎn)樹中。


查看完整回答
反對 回復(fù) 2023-05-14
?
鳳凰求蠱

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超4個(gè)贊

OPC-UA 的例子有更新變量的代碼位,所以我不確定它有什么問題。假設(shè)我設(shè)置了良好的價(jià)值,代碼可能如下所示:


variable.Value = value;

variable.Timestamp = DateTime.UtcNow;

variable.StatusCode = StatusCodes.Good;

variable.ClearChangeMasks(SystemContext, false);


查看完整回答
反對 回復(fù) 2023-05-14
  • 2 回答
  • 0 關(guān)注
  • 195 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號