c# - 如何在 C# 中写入 OPC UA 服务器中的字符串标签?
问题描述
我正在使用来自 Unified Automation 的 SDK,它本质上是一些创建和运行 OPC UA 服务器的 C# 源代码。目前,由于代码中写入函数的性质,我只能写入初始化为整数或双精度的数据标签。每种数据类型都有一个写入函数,如下所示:
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 中阅读它时,我得到了一个不寻常的结果: 见第一行
任何帮助表示赞赏。
解决方案
推荐阅读
- linux - 如何在 vimrc 中编写命令
- python-3.x - Modifying the GET request response in django rest framework
- azure - 健康服务机器人测试在 Microsoft Teams 中不起作用
- firebase - 将嵌套的 json 数据添加到 firestore 文档
- rendering - Holoviews 布局的散景渲染错误
- php - 使用 GMT+Offset String 将 PHP 字符串转换为时间
- swift - Swift / SwiftUI:为什么我不能覆盖返回某些视图的方法?
- javascript - 如何使用 Selenium 单击“只读”单选按钮
- python - 如何在python中读取合并的excel列?
- javascript - 正则表达式在开始和结束时排除字符