0

我正在尝试使用 WinForm 和 ADS.NET 从 TwinCAT PLC 读取字符串数据。我的代码基于他们的示例代码。将字符串写入控制台显示我的数据为:“123456????????????????????????”。我可以使用文本框,它会显示并保存“123456”,但我想直接保存它而不使用文本框。

我究竟做错了什么?还是我的代码中缺少某些内容?

谢谢!

附加信息:

(我正在尝试将数据保存到数据库中):

错误信息

代码:

private String readPLCData(String variableHandle)
        {
            int length;
            string text;
            AdsStream dataStream;
            BinaryReader reader;
            try
            {
                varHandle = adsClient.CreateVariableHandle(variableHandle);
                // length of the stream = length of string in sps + 1
                dataStream = new AdsStream(31);
                reader = new BinaryReader(dataStream, System.Text.Encoding.ASCII);
                length = adsClient.Read(varHandle, dataStream);
                text = new string(reader.ReadChars(length));
                return text;
            }
            catch (Exception err)
            {
                MessageBox.Show(err.Message);
                return null;
            }
        }
4

0 回答 0