问题标签 [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 投票
1 回答
965 浏览

sql - 我应该从哪里开始使用 OPC-UA 客户端?

我需要创建一些东西来从 PLC 读取数据并将其写入 SQL 数据库。我主要与 Siemens(和 Sigmatek)合作,我认为 OPC-UA 将是一个很好的解决方案。我的问题是我不知道从这个开始的“正确”方式是什么。使用 PLC,您有时会接触到 C 或 C++(我总是忘记哪一个)。所以我认为这将是一个很好的起点,但是与 SQL 数据库的良好连接将非常方便。这就是我变得模糊的地方。

过去,我编写了一些代码(在 C# 中)从 OPC-UA 服务器(在 Sigmatek PLC 上)读取数据。一旦我能够在 C# 中读取数据,就很容易使用 Windows 窗体应用程序将其可视化并将数据导出到 excel 文件。

我想开始一个“项目”来学习如何将我的数据从 OPC-Server 获取到 SQL 数据库中,生成报告(并创建 GUI)。

我希望得到一个好的起点,关于使用哪种编程语言的建议,也许是一本能让我更好地理解我正在使用的东西的好书。

提前致谢!

0 投票
1 回答
634 浏览

plc - SCL 代码:标签 FUNCTION 未在 TIA 上定义

我想用 TIA 15.1 创建一个新的 SCL 函数。我选择了程序块 => 添加新块 => 功能。当我在文件中写入关键字 FUNCTION 时,出现以下错误:未定义标记 FUNCTION。这对于其他关键字(例如 VAR)也是如此。

我的代码:

我搜索了网络,但没有很多关于该主题的文档。有什么想法可以解决这个问题吗?

0 投票
1 回答
791 浏览

c++ - 使用 open62541 将值写入 PLC 标签

我正在尝试将布尔值写入PLC 标记(打开或关闭继电器),使用 OPC UA 作为客户端写入在Siemens S7-1512 PLC上运行的 OPC UA 服务器。客户端必须c/c++实现

我已经尝试了几个不同的 GUI 客户端,没有任何问题。

另外,我尝试过 Python SDK,包括freeopcua。我有一些小问题,但在写入请求中设置属性后能够写入值。但是对于 open62541 我找不到任何解决方案(状态代码很好但值没有改变我能够读取值):

Python工作请求:

node.set_attribute(ua.AttributeIds.Value, ua.DataValue(not node.get_value()))

C 不工作的请求代码如下:

我希望将 PLC 标记的值更改为相反的值,或者向我提供有关它为什么不起作用的信息。

0 投票
3 回答
3139 浏览

python - 如何使用 Python-snap7 与西门子 PLC 进行 Python 通信?

我正在尝试将 Python 与 CPU1212C PLC(使用 PLCSIM)进行通信,但总是出现错误。

代码:

这是Windows10的问题吗?

我正在使用 Windows10 64 位、Python 2.7.17、Snap7 1.1.0、Python-Snap7 0.10。

我将 snap7.dll 和 snap7.lib 文件复制并粘贴到 System32、Python27、Python27/site-packages/snap7 文件夹中。我为每个文件夹在环境变量中创建了一个路径以尝试工作。

我遵循了本教程:https ://www.youtube.com/watch?v=BKnK4AT_WKs

0 投票
2 回答
46 浏览

getjson - $.getJSON 正确执行,但 js 标签未更新(已解决)

我不是 JS 方面的专家,我希望得到任何支持。我正在尝试每 1000 毫秒更新许多标签(此处代码中的 1 个)。

我正在使用这段代码:

这个 getjson 似乎有效,因为我在带有更新标签的网络选项卡(chrome)中看到“响应”:

--> 这对应于我的“Maj_Tag_PLC.htm”

伟大的 !

但是,我的代码的以下部分似乎从未执行过:

我这么说是因为看门狗字段永远不会更新,并且如果我在其上放置断点,脚本永远不会在此行停止。

知道发生了什么吗?

谢谢你的帮助

(我已经阅读了一些关于“异步查询”的信息以及“脚本的这一部分可以在返回答案之前执行”这一事实,但我真的不明白这是什么意思以及如何解决它。)

0 投票
1 回答
1044 浏览

siemens - 如何在现有的活动工作区页面中添加插入自定义操作?

我是 Siemens 的 Teamcenter Active 工作区的新手,这是一个基于 Angularjs 的产品生命周期管理框架 [PLM]。我需要在现有 UI 中进行一些自定义。

背景:

我在 IIS 上安装了 Teamcenter / Active Workspace,并使用http://hostname:8080/awc12/#/之类的 URL 访问它[Teamcenter Active workapce 基本安装的默认 URL]

我使用“活动工作区环境”提供的 generateModule 脚本创建了另一个活动工作区模块,并部署在 IIS 服务器上,并以http://hostname:8080/myModule/#/mySubLocation访问它

我想在基本安装的面板上插入一个按钮http://hostname:8080/awc12/#/com.siemens.splm.clientfx.tcui.xrt.showObject?uid=xxx

单击此按钮后,我想将新创建的模块http://hostname:8080/myModule/#/mySubLocation作为模态对话框启动

问题:

  1. 我需要采取哪些步骤才能实现添加新按钮并使用模块页面打开模式?
  2. 在哪里可以找到 Teamcenter Active 工作区公开的 API 列表
  3. 是否有任何文档/站点可以在其中找到一些带有代码的 Hello World 应用程序?

在此处输入图像描述

0 投票
2 回答
3859 浏览

c# - 将 Siemens PLC (S7-1200) 中的真实数据类型转换为在 Visual C# Windows 窗体中显示

我正在尝试从 Siemens PLC (S7-1200) 读取实际值并将其显示在 Windows 窗体中。我正在使用 S7.NET 库与 PLC 通信,并使用 TIA Portal V15 对 PLC 进行编程/监控。

我能够从 PLC 读取 Windows 窗体中的特定数据块(DB3.DBD0),它确实返回一个值,但该值以其他格式显示。例如,如果我将DB3.DBD0中的值修改为“2.22”,则会得到“1.074665+09”。我希望它返回与 TIA Portal 中相同的值,即“2.22”。

下面是我用来转换值的代码。

如果我的问题不清楚,请告诉我,我可以尝试更详细地解释。

先感谢您!

0 投票
0 回答
79 浏览

python - OPC(服务器和客户端)与 python

我需要通过以太网用 python 构建我自己的 OPC(服务器和客户端)。所以我可以把PLC的ip地址和输入或输出的地址。请如果有人有这方面的任何例子。

0 投票
1 回答
1262 浏览

c# - 使用 C# 应用程序(Windows 窗体)和 opccomrcw.dll 连接到 KEPSERVER

我有 KEPSERVER EX5 的许可证,它连接到西门子 S7 PLC。是否有使用 C# 应用程序和 & opccomrcw.dll 或使用任何其他免费插件来读取 Kepserver 上显示的数据的教程?我知道 Kepserver 的插件似乎能够使用 odbc 连接数据库,但我的老板没有购买许可证。是的,它是公司资产,以前的开发人员使用 C# windows form 和 & opccomrcw.dll 连接到 kepserver 以读取 plc 数据。不幸的是,它是由第 3 方开发人员完成的,我们没有完整的源代码。我真的不在乎它是通过 opccomrcw.dll。我只需要能够在 c# windows 窗体应用程序上读取 kepserver 上显示的数据。到目前为止,我找不到任何关于此的教程指南。帮助。

0 投票
1 回答
45 浏览

c++ - 在NX OPEN C++ 库中,是否有将模型划分为三角形补丁的接口?

我用的是NX OPEN C++库,需要把PART文件中的模型分割成小三角形,但是很多天都没有找到相关的API。这样的 API 存在吗?