You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用TitaniumAS OPC DA客户端写入时报System.NullReferenceException异常

TitaniumAS OPC DA客户端写入操作抛出NullReferenceException异常的解决方法

问题描述

使用TitaniumAS OPC DA客户端时,读取标签功能正常,但执行写入操作时抛出System.NullReferenceException异常,报错行:HRESULT[] results = group.Write(items, values)。已确认TagID正确(读取该标签可正常运行)。

问题原因

刚创建的OpcDaGroup实例中,Items集合是空的,调用FirstOrDefault查找指定ItemId的元素时会返回null,将null传入group.Write方法就会触发空引用异常。

解决方案

先通过group.AddItem方法将需要写入的标签添加到Group中,再执行写入操作。

修正后的代码

using System;
using TitaniumAS.Opc.Client.Common;
using TitaniumAS.Opc.Client.Da;

namespace OPCDA
{
    class Program
    {
        static void Main(string[] args)
        {
            TitaniumAS.Opc.Client.Bootstrap.Initialize();

            Uri url = UrlBuilder.Build("Kepware.KEPServerEX.V6");

            using (var server = new OpcDaServer(url))
            {
                server.Connect();

                // 创建标签组
                OpcDaGroup group = server.AddGroup("MyGroup");
                group.IsActive = true;

                // 先将需要写入的标签添加到Group中
                OpcDaItem int2 = group.AddItem("Channel1.Device1.Woord");
      
                OpcDaItem[] items = { int2 };
                object[] values = { 15601 };
                HRESULT[] results = group.Write(items, values);
            }
        }
    }
}

内容的提问来源于stack exchange,提问作者Seyl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 17:25:24