gpt4 book ai didi

c++ - Libnodave - 使用 TCP 连接的 daveStart() 错误

转载 作者:太空宇宙 更新时间:2023-11-04 13:59:10 26 4
gpt4 key购买 nike

我已经使用 libnodave 库建立了与 Siemens S7-300 PLC(通过 PlcSIM 模拟)的连接。连接 PLC 并将数据写入 PLC 没有问题。但是,我无法从开始/停止更改 PLC 的状态。我正在尝试使用以下 libnodave 方法来执行此类操作:

int daveStatus = daveStart(dc);
int daveStatus = daveStop(dc);

两个函数调用返回相同的错误:33794

nodave.c 引用错误如下:

case 0x8402:返回“CPU already in RUN or already in STOP?”;

daveStart()daveStop()函数的使用可以查看示例testS7online.c:

if(doStop) {
daveStop(dc);
}
if(doRun) {
daveStart(dc);
}

在示例中,启动/停止功能仅在与 PLC 建立 MPI 连接时调用。有谁知道启动/停止功能是否支持用于 TCP 连接?如果是这样,关于什么可能导致我的错误有什么建议吗?

最佳答案

我刚刚使用 libnodave 8.4 和 NetToPlcSim 工具尝试了 dc.start() 和 dc.stop()。它工作得很好。可能您没有使用通过 TCP/IP 连接到 PLCSim 的 NetToPlcSim 工具(显然是 127.0.0.1 端口 102),因此 dc 甚至无法连接。因此,如果您的线路不起作用,那么您一定做错了什么。

关于c++ - Libnodave - 使用 TCP 连接的 daveStart() 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19958712/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com