几天来,我一直在尝试使用 libnodave 作为通信库与西门子的 S7-1200 PLC(CPU 1214C)进行通信。libnodave 库提供了一些东西。Delphi 应用程序正在运行,Windows 可执行文件正在运行。
在 Vmware 上,我正在运行 Linux,并且 testISO_TCP 的预编译二进制文件正在运行。好像可以用吧?
daveInterface * di;
daveConnection * dc;
_daveOSserialType fds;
ds.rfd=openSocket(102, "192.168.0.1");
fds.wfd=fds.rfd;
if (fds.rfd>0) {
di =daveNewInterface(fds,"IF1",0, daveProtoISOTCP, daveSpeed187k);
daveSetTimeout(di,5000000);
dc =daveNewConnection(di,0,0,1); // insert your rack and slot here
if (0==daveConnectPLC(dc))
{
printf("Connected..\n");
}
}
但是当我将源代码 1:1 复制到我的 IDE (Eclipse) 时,我收到以下错误消息:
IF1 error in daveConnectPLC() step 1. retrying...IF1 error in daveConnectPLC() step 1. retrying...IF1 error in daveConnectPLC() step 1. retrying...Couldn't connect to PLC.
Please make sure you use the -2 option with a CP243 but not with CPs 343 or 443.
连接到PLC时似乎出现了一些错误。以下函数会生成此错误:
DaveConnectPLC(直流)
请注意,当您将其与 Linux 中执行的二进制文件进行比较时,机架和插槽是不变的!
有人能帮我让它在 Eclipse IDE 上运行吗?所有的可执行文件/二进制文件都在工作,这很奇怪,但是当我想直接从 IDE 执行它时却没有。
提前致谢。