问题标签 [libnodave]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2188 浏览

c# - 与西门子 S7-200 的 C# 应用程序连接

我在将数据从 PLC 获取到 PC 时遇到问题。我有 S7-200 和 CP 243-1 通信模块。

我需要从 PLC 读取数据。我已经阅读了很多关于libnodave库的内容,并尝试为自己编写一个应用程序进行交流,并在模板上的 Vb 链接中下载了示例。

在我的应用程序中,我收到异常错误

无法下载 DLL“libnodave.dll”。未找到模块。

但是在项目的引用中,我添加了 libnodave.net.dll ......我不知道。

我所有的尝试都失败了,也许有人知道如何使用 libnodave 或其他库与 PLC Siemens S7-200 通信 PC。提前致谢。

问候。

0 投票
2 回答
8531 浏览

plc - 从 Siemens s7-1200 (0x8104) 读取时出现 libnodave 错误

在检查 s7nodave 对 S7-1200 的 EPICS 设备支持时,我遇到了一个涉及 libnodave 的问题。当我尝试读取 PLC 中的任何内存地址时,IOC 控制台报告错误:

那是 libnodave 状态码 0x8104。当我尝试在网上搜索此错误代码时,所有结果都引用了 S7-1500,而不是 S7-1200。

我可以通过 Siemens SDK 访问这些内存块:它们存在并包含有效数据。

为什么 S7-1200 拒绝向 libnodave 发送数据?是否有任何选项可以使数据块从网络中可用?

我用的是 EPICS 版本。3.14.12.4, s7nodave 1.03 build with asyn ver. 4.11,增强版。1.55.0。在 PC 和 Virtualbox 上尝试了各种版本。

0 投票
1 回答
4099 浏览

c++ - 与 S7-1200 的 libnodave 通信

几天来,我一直在尝试使用 libnodave 作为通信库与西门子的 S7-1200 PLC(CPU 1214C)进行通信。libnodave 库提供了一些东西。Delphi 应用程序正在运行,Windows 可执行文件正在运行。

在 Vmware 上,我正在运行 Linux,并且 testISO_TCP 的预编译二进制文件正在运行。好像可以用吧?

但是当我将源代码 1:1 复制到我的 IDE (Eclipse) 时,我收到以下错误消息:

连接到PLC时似乎出现了一些错误。以下函数会生成此错误:

DaveConnectPLC(直流)

请注意,当您将其与 Linux 中执行的二进制文件进行比较时,机架和插槽是不变的!

有人能帮我让它在 Eclipse IDE 上运行吗?所有的可执行文件/二进制文件都在工作,这很奇怪,但是当我想直接从 IDE 执行它时却没有。

提前致谢。

0 投票
1 回答
6132 浏览

c# - 如何使用 libnodave 从 PLC 读取/写入结构

我正在编写一个小的 c# 应用程序,它可以将一些数据读/写到 S7-300 PLC 的 DB 内存中。我正在使用 PLCSim 模拟器和 DotNetSiemensPLCToolBoxLibrary 来执行一些测试。如您所知,DotNetSiemensPLCToolBoxLibrary 是 libnodave 之上的一层,所以我经常直接使用 libnodave。我可以与 PLC 成功连接,我可以写/读输入、merker 和字符串。但是当我尝试写入/读取结构时遇到问题。这是在 plc 中编写结构的代码:

这是阅读的代码:

这是结构:

读数的输出是:

为什么?我需要帮助。谢谢

0 投票
2 回答
6781 浏览

c# - C# and PLC (S7-1200) Data Block Reading Error 33028

I am working on the connection between C# and a Siemens PLC (S7-1200). I've created a datablock (a.k.a. database) to which I need to read and eventually write. The connection to the PLC works, but I can't read anything from its datablock. It always give me the following error:

Error 33028 context is not supported. Step7 says: Function not implemented or error in telegram.

The number of the datablock is 311. I am starting at the first byte and I've only given up 1 as length.

I've also disabled Optimize block access, enabling does not solve this problem.

I hope somebody can help me out with the problem.

0 投票
1 回答
1738 浏览

java - libnodave java - “读取”操作的持续时间

我在 java 中(使用 NetBean)制作了一个小程序,它使用 libnodave 库libnodave-java.0.1每 500 毫秒(间隔)读取一个字节。我对读取操作持续时间感到失望,大约 250 毫秒(dt)。

图形界面

这是我的主要课程。如您所见,连接请求仅在第 9 行执行一次:

这是包含读取功能的 DataIsoTCP 类。如您所见,这只是一个“readBytes()”请求,没有可能延迟代码执行的繁重操作。

我需要至少每 250 毫秒读取一次数据,然后读取操作的持续时间应该减半。有人设法加速了这项行动?谢谢您的帮助!斯特凡诺

0 投票
0 回答
482 浏览

android - Libnodave 和 Android Studio - 导入库

有没有办法在 Android Studio 中导入 Libnodave 库?我能找到的唯一可下载的库是 *.tar.gz 扩展名。Android Studio 是否只接受 *.jar 文件来导入库?

0 投票
3 回答
1355 浏览

c# - writeBytes 使用 LibNoDave 返回 -1025

我从 C# 到我的 Simatic S7-1200 的连接有一个奇怪的问题。我正在使用 LibNoDave 进行连接,并且我想使用 C# 程序设置我的 SPS 位。这工作得很好,但它只工作 9 次,然后 writeBytes(..) 函数返回 -1025 而不是它应该返回的 0,它不再设置字节。然后我必须重新启动应用程序,它会再次工作 9 次。

这是我的 LibNoDave 课程。

我在这里调用函数:

0 投票
1 回答
1660 浏览

delphi - 使用 Delphi 和 libnodave 库从 PLC 读取数据

我又来了一个新问题;这次是关于PLC。

我首先说我是 PLC 的新手,直到几个月前我才见过其中一个。我被要求编写一个程序,从 Delphi 读取来自 PLC Siemens S7-300 的一些数据,以便将它们归档到 SQL Server 数据库中。我正在使用“libnodave”库。

该程序非常简单。我必须验证一下,当它打开时,我必须从 PLC 读取数据并关闭该位。使用我所说的库,我可以毫无问题地读写,但是我必须读取的数据存储在一组字节(大约 60 个字节)中,所以我必须读取一些字节,跳过其他一些字节并读取其他字节。此外,我必须测试的位在这组字节的末尾。

所以我读取了整个字节组,将数据放入一组变量中,然后测试该位,如果它打开,我将数据存储到数据库中。为了跳过我不必阅读的字节,我使用这种语句:

我的问题是:

  • 有更好的方法来读取数据,跳过我不必读取的数据吗?
  • 读取整个字节组并在测试位后方便还是将两个读取分开更好?

我这样说是因为我在互联网上发现读取操作需要一些时间,所以最好尽可能减少读取次数。

爱神

0 投票
1 回答
540 浏览

plc - Libnodave 的价值改变了

我正在使用 libnodave 0.8.4.4 库连接到 S7 PLC,我想知道如何检测 PLC DB 中的某个位(例如 DB100.DBX8.0)是否改变了它的值。我所做的是在一个while循环中读取这个位,但我想在这个位上更改值创建一个事件,并在它发生时启动一个任务。