- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我已经使用 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/
我首先要说的是,我是一名几乎没有 C++ 经验的大学生。你听对了多少次?我正在使用 libnodave 库中的测试程序 testISO_TCP(简化版)。该程序在连接到 seimens 300 PLC
这几天我一直在尝试使用 libnodave 作为通信库来与西门子的 S7-1200 PLC(CPU 1214C)进行通信。libnodave 库提供了一些东西。Delphi 应用程序正在运行,Wind
我已经使用 libnodave 库建立了与 Siemens S7-300 PLC(通过 PlcSIM 模拟)的连接。连接 PLC 并将数据写入 PLC 没有问题。但是,我无法从开始/停止更改 PLC
在检查 s7nodave 对 S7-1200 的 EPICS 设备支持时,我遇到了一个涉及 libnodave 的问题。当我尝试读取 PLC 中的任何内存地址时,IOC 控制台报错: epics> 2
我是一名优秀的程序员,十分优秀!