我有一个Siemens S7-1212 AC / DC / Rly PLC,我想使用Snap7与C#应用程序通信。我已经在用户界面中成功建立了到PLC的连接,甚至可以成功地将值写入PLC。 但是有时写函数(三分之一)不会将值写到PLC并给出非常高的整数。
C#代码: 通过以下代码建立了与PLC的连接:
private S7Client Client = new S7Client();
Client.ConnectTo("192.186.0.1", 0, 0);
写入功能:
byte[] writeBuffer = new byte[1];
S7.SetBitAt(ref writeBuffer, 0, 0, true);
int result = Client.DbWrite(1,0,writeBuffer.Length, writeBuffer);
if (result == 0)
// connection successfull
else
// Connection unsuccessfull
现在有时当我执行以上结果的函数时,结果为0,因此写操作已成功执行。我可以在PLC程序中看到将值更改为true。 但是有时候(大约三分之一),结果是非常高的值,大多数时候是3145728(有时是另一个数字,但大部分是这个)。在这种情况下,该函数确实可以运行(未给出异常或错误),但该值不会更改。
我的问题:
为什么我得到如此高的价值,这是什么意思?
预先感谢, 西奥