我已经使用 libnodave 库建立了与 Siemens S7-300 PLC(通过 PlcSIM 模拟)的连接。将数据连接和写入 PLC 没有问题。但是,我无法从 Start/Stop 更改 PLC 的状态。我正在尝试将以下 libnodave 方法用于此类操作:
int daveStatus = daveStart(dc);
int daveStatus = daveStop(dc);
两个函数调用都返回相同的错误:33794
nodave.c
引用错误如下:
案例 0x8402:返回“CPU 已处于 RUN 或已处于 STOP 状态?”;
daveStart()
和函数的使用daveStop()
可以在例子中查看testS7online.c
:
if(doStop) {
daveStop(dc);
}
if(doRun) {
daveStart(dc);
}
在示例中,仅当 MPI 连接到 PLC 时才会调用启动/停止功能。有谁知道 TCP 连接是否支持启动/停止功能?如果是这样,关于可能导致我的错误的任何建议?