如何在C#中的OPC UA服务器中写入字符串标签?

时间:2018-07-24 13:30:24

标签: c# string opc opc-ua unified-automation-sdk

我使用的是来自Unified Automation的SDK,该SDK本质上​​是一些C#源代码,用于创建和运行OPC UA服务器。目前,由于代码中写入功能的性质,我只能写入初始化为整数或双精度的数据标签。每种数据类型都有一个写函数,如下所示:

private void Write(int blockAddress, int offset, int value)
    {   
        byte[] bytes = BitConverter.GetBytes(value);
        Array.Copy(bytes, 0, m_registers, blockAddress + offset, bytes.Length);
    }
private void Write(int blockAddress, int offset, double value)
    {  
        byte[] bytes = BitConverter.GetBytes((float)value);            
        Array.Copy(bytes, 0, m_registers, blockAddress + offset, bytes.Length);
    }

问题在于BitConverter,因为转换字符串不那么直接。到目前为止,我已经尝试使用:

 private void Write(int blockAddress, int offset, string value)                 
    {

       byte[] bytes = Encoding.ASCII.GetBytes(value);
        Array.Copy(bytes, 0, m_registers, blockAddress + offset, bytes.Length);

    }

后来,当在Kepware中阅读它时,我得到了一个异常的结果: See the first line

任何帮助表示赞赏。

0 个答案:

没有答案