我正在使用该libnodave
库与 Siemens S7 PLC 进行通信。它工作正常,直到我尝试写入字节。我几乎总是超时。
我必须连接的代码:
fds.rfd = libnodave.openSocket(port, address.ToString());
fds.wfd = fds.rfd;
if (fds.rfd > 0) {
di = new libnodave.daveInterface(fds, "IF1", 0, libnodave.daveProtoISOTCP, libnodave.daveSpeed187k);
di.setTimeout(10000000);
dc = new libnodave.daveConnection(di, 0, 0, 2);
if (0 == dc.connectPLC()) {
_status.connected = true;
}
}
并写入字节(在另一种方法中,在稍后阶段调用):
dc.writeBytes(libnodave.daveDB, datablock, address, bytestowrite, buftosend);
几乎总是返回-1025(超时)。
更改超时,或直接在写入之前移动连接例程都没有效果。