问题标签 [siemens]

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 投票
2 回答
3184 浏览

plc - S7-1500 OPC UA 服务器如何与自定义客户端通信

我对 S7-1500 嵌入式 OPC UA 服务器通信如何在 PC 上安装自定义客户端的情况下工作感到有点困惑,因为到目前为止我看到的所有示例都包括一个 Simatic PC Station 作为 OPC 服务器!!!

在 PLC 方面,我有 S7-1511-1PN 并激活了 OPC UA 服务器。该 PLC 通过 PROFINET 连接到 ET200SP+几个 AI 模块。

在 PC 端(不是 Simatic PC Station),我有一个应用程序,其中有某种 OPC UA 客户端功能,可以从 AI 模块读取输入,在 PLC 上写入一些标签,并在必要时将 AI 模块的重新配置记录发送到 PLC(重新配置通过用户程序)。

我无法理解的是:

如果 PLC 已经具有此功能,为什么总是将 Simatic PC 站添加为 OPC 服务器?

PLC OPC 服务器是否/如何直接与我的自定义客户端通信?(PLC上需要的任何编程)

对于“功能手册,10/2018,A5E03735815-AG(第 222 页)”中定义的证书限制,什么是“可实现的服务器方法的最大数量”,“参数的最大数量”,“服务器接口的最大数量”, “用户定义的服务器接口中的最大节点数”,“可加载服务器接口的最大大小”?

我如何从我的申请中估算出这些数字?

(是/否)我的 PC 应用程序和 PLC 之间是否需要第二次通信(例如 TCP)来发送/接收重新配置数据?

0 投票
2 回答
156 浏览

c# - 复制和粘贴 xml 结构片段

我是 xml 编辑的新手,我需要复制描述 TIA Portal 中变量的 xml 文件片段,并将其粘贴到同一文件的下方,这样我就可以得到另一个相同的 var,以后可以编辑。是否有严格的“复制”功能来复制包含所有子节点和值的整个结构片段?更像是文本复制粘贴?

这是我要 1:1 复制的 xml 片段:

父节点是:

我需要复制整个大结构并将其放在下面,所以在 (...) 里面。然后,我将使用“for”语句根据另一个文件中的数组大小生成变量。

0 投票
0 回答
113 浏览

javascript - xmlHttpRequest.responseText 问题(未定义)

我正在尝试为在 Siemens S7-1200 PLC 上运行的表单网页生成动态变量。我遇到的问题是,大多数问题(据我所知)是,如果我执行 console.log(xhttp.responseText),我的 xmlhttprequest.responseText 正在工作,但我无法获得responseText 变成一个变量,因为它们保持“未定义”。即使我尝试将其放入全局变量中。我已经看到很多关于“回调”的答案,但我不知道这意味着什么。

这是我的代码:

这是控制台中结果的图像:

https://i.imgur.com/6YpIIOo.png

在“xhttp.open()”函数中,我都尝试过 false 和 true,但没有区别。我也试过得到一个“return(xhttp.responseText)”,但也没有用

该函数也每 30 毫秒在一个重复循环中运行,因此它的更新绰绰有余。请记住,这不是全部代码,并且由于我公司的保密性,某些内容被审查。

我希望我能尽快得到一些帮助!

已经谢谢了!

0 投票
2 回答
148 浏览

plc - 如何修复我在 PLC 中的设备队列上的错误

我正在尝试在 .st 中创建一个简单的队列,其中包含 6 个设备,这些设备应该按队列顺序打开和关闭,只有可用的设备应该连接。例如,我用 6 个可用设备进行了测试,然后我一个接一个不可用,但最后一个始终不会在输出处关闭,并使程序停止。我使用 infoteam 的 OpenPCS IDE。

0 投票
0 回答
484 浏览

c - 自定义solidGauge C# .NET

具体来说,我正在尝试在此基础上构建图像图像1

我在 C# .NET 中编程并在 Adob​​e XD 中设计图形,但我无法将其传递给 Visual Studio,保持风格。在 WinForm ( https://lvcharts.net/App/examples/v1/wf/Solid%20Gauge )中使用 nuget LiveCharts 。尝试生成类似于 Adob​​e 设计的图形,但我不明白(第二张图片)。我需要有人指导我制作与第一张图像对应的相同图形。

我在组装图像 1 的图形时遇到问题;更改显示当前值的数字的颜色,打勾等。

图3

我借此机会咨询一下,一旦我调试并加载了.dll,就会显示“黑色”图像,如图所示。这是我的第一个 C# 项目。该组件然后从 WinCC 充电,这是一个 SCADA 软件,它以黑色背景显示,如果我更改值,它会显示条,但背景仍然是黑色(图 4 和图 5)。

图4

图5

图6

0 投票
1 回答
360 浏览

c# - OPC dll - 如何批量检索标签值

我正在使用 带有 C# .NET 的OPCSiemensDAAutomation dll 从 OPC Server 检索标签的值。我设法使用 QueryAvailableProperties()和 GetItemProperties()检索值,但目标是检索每个请求的 500k 个标签值。

我已经用 100 个标签进行了测试,代码在 45 秒内完成,多线程导致 100 个标签的 30 秒小幅改进。以当前速度达到目标标签量需要 4 个多小时。有什么方法可以批量检索标签值并具有更好的性能?谢谢。

0 投票
1 回答
2169 浏览

plc - 安装 TIA 门户时遇到问题:缺少 sqlcmd.exe

我正在尝试安装 Siemens TIA 门户,但出现设置错误。设置说明“某些已安装的产品需要许可证”,但它不应该只使用试用许可证吗?它确实给出了一些与缺少 sqlcmd.exe 相关的错误。我拥有的具体版本是:TIA Portal STEP 7 Professional V15.1。

设置截图:https
://imgur.com/a/gNIXDHs 日志文件:

非常感谢您提前。

0 投票
0 回答
159 浏览

c# - S7.Net 从西门子 S7-1500 读取负值得到错误值

我正在使用 S7.net 与 S7-1500 PLC 进行通信。plc 中设置的值之一是 -90,当我使用下面的代码读取此值时,它在 winforms 中显示 65570 而不是 -90。

plc 程序中设置的类型是“ShortToSignedWord”。

如何获得 -90 并在 winforms 中显示?

0 投票
3 回答
1620 浏览

plc - 需要清楚 opc ua 服务器和 opc ua 客户端

我想为工业自动化创建一个应用程序来执行以下功能:

  1. 从 PLC、SCADA 和 DCA 读取值
  2. 处理这些值并将故障通知主管和技术人员

我是工业自动化行业和物联网的新手,我知道我们有 OPC UA 来救援。

我浏览了许多网站和 youtube 视频来了解 OPC UA 及其前身(OPC DA、OPC A&E、OPC HDA)。我已经安装了 matrikon OPC 服务器和资源管理器(客户端)来探索更多。

假设我想从 SIMATIC S7-1200 PLC 读取信号,据我了解,OPC UA 服务器与 PLC 一起提供,用于将 OPC UA 信息转换为 Profinet 信息。

所以,我的问题是:

  • 我应该在哪里编写逻辑来读取值?OPC 服务器还是客户端?
  • 我将使用 NODE-OPC-UA。那里有任何开源 OPC 客户端 GUI 吗?
  • 如何为没有 OPC UA 投诉的 PLC 编写我们自己的 OPC 服务器?

如果有人分享一些资源,将不胜感激!

0 投票
1 回答
3087 浏览

c# - 使用 S7netplus 在 C# 中读取 Siemens PLC s7 字符串

我无法使用 S7netplus 读取 Siemens PLC S7 1500 的 DB 中的数据。

情况:

  • 我有一个 C# 应用程序正在运行。
  • 我在PLC上连接得很好。
  • 我可以读取 Boolean、UInt、UShot、Bytes 等数据

但我不知道如何读取字符串数据(见下图)

PLC 数据

要读取 Boolean 等其他数据,我使用以下调用:

我知道在数据块 105 (DB105) 中读取的数据类型为布尔 (DBX),偏移量为 0.0 我想对字符串应用相同类型的读取。所以我在我的例子中尝试了“DB105.DBB10.0”。但它返回一个字节类型的值“40”(我应该有别的东西)

我看到还有另一种阅读方法

但是我很难看到如何将它应用到我的示例中(我知道我必须在之后将其转换为字符串)。

继续: - 是否有一种简单的方法可以使用“DB105.DBX0.0”之类的字符串来读取西门子 PLC 中的字符串数据?- 如果不是如何在我的示例中使用 ReadBytes 函数?

谢谢你的帮助