我正在尝试使用 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;
}
}