问题标签 [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 回答
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 回答
1514 浏览

plc - 西门子 S7-1200。TRCV_С。错误代码:893A;事件 ID 02:253A

请帮助解决 PC 和 1211C 之间建立通信的问题(6ES7-211-1BD30-0XB0 固件:V 2.0.2)。我觉得我在某个地方犯了一个愚蠢的错误,但无法弄清楚它到底在哪里。所以,我正在使用函数 TRCV_С ...

配置似乎没问题:

在此处输入图像描述

当我设置 CONT=1 时,连接建立没有任何问题......

在此处输入图像描述

但是,当我设置 EN_R=1 时,我得到“错误 893A ”。

在此处输入图像描述

这就是我的诊断缓冲区中的内容:(DB9 - 是应该写入接收到的数据的块)

在此处输入图像描述

手册中有对“ 893A ”的解释:参数包含未加载的DB编号。在诊断中。缓冲区还写了未加载DB9。但就我而言,它已加载!那么在这种情况下我应该怎么做呢?

0 投票
4 回答
1584 浏览

csv - make a dynamic chart on a plc

I'm searching for a way to make a graph on a user web page on a plc with data from the plc (datablocks or log files). The log files can be converted to CSV files.

I get data per our and day from the plc and want to put this into a dynamic chart.

What I want is that when there is new data from the plc, the graph should automatically change.

The plc is a siemens S7-1200.

0 投票
1 回答
691 浏览

plc - 西门子 S7-1200 PLC LED DI/DO 历史

有没有办法查看 Siemens S7-1200 PLC 的数字输入/数字输出 LED 灯历史?

如果是这样,是通过门户网站还是通过 Simatic,有人可以指出我在哪里可以找到此类信息的方向吗?

谢谢-如果可能的话,将以任何方式为我节省一次现场访问。

0 投票
1 回答
7695 浏览

javascript - 从 Siemens S7 1500 PLC 上的 Web 服务器页面读取 JSON 结构

我一直在使用 HTML 和 javascript 创建图形网页,以显示来自 Siemens S7 1500 PLC 的数据。当请求信息的网页由 PLC Web 服务器提供并且与具有 JSON 结构的文件和所有所需的文件位于同一目录中时,我一直在使用 $.getJSON 命令成功地从 PLC 读取值价值观。

我有一台 PC 通过以太网连接到我的 PLC,并希望在 PC 上本地运行一个网页,并从 PLC Web 服务器读取一个页面提供的值。

当要读取的数据位于 Web 服务器上的同一目录中时,我当前用于读取值的代码如下所示:

“inputs.htm”文件很简单:

其中“WebData”是使用我的 PLC 上的值更新的数据块。

我对它的工作方式很满意,但是当我尝试在本地运行一个页面来查看“inputs.htm”页面时,它没有工作。

我的 PLC 的 IP 地址为 172.17.2.11,我已将 $.getJSON 更改为:

虽然都没有工作。我知道这些是正确的网址,因为我可以访问其中任何一个并读取我尝试访问的值。

我已在我的 PLC 的 Web 服务器上设置了权限,以允许所有用户完全访问,因此不再需要登录。我想知道是否有我遗漏的步骤或 $.getJSON 结构的某些限制阻止我这样阅读。

任何输入将不胜感激。如果您有任何其他方法可以让我在 PC 本地托管的页面中读取当前 PLC 值,这也会有所帮助。

提前致谢。

0 投票
3 回答
1355 浏览

c# - writeBytes 使用 LibNoDave 返回 -1025

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

这是我的 LibNoDave 课程。

我在这里调用函数:

0 投票
4 回答
15617 浏览

python - python snap7 windows - 找不到 snap7 库

我尝试使用它的 python-snap7 0.4 包装器安装 snap7(从 S7-1200 读取),但我总是使用以下简单代码进行回溯。

追溯:

我安装 snap7 和 python 包装器的步骤是:

  1. 从 sourceforge 下载 snap7 并将 snap7.dll 和 snap7.lib 复制到 windows 8 的 system32 文件夹
  2. 使用 pip install python-snap7 安装包装器

如何在 Windows 上正确安装 snap7?

[pip 安装日志][1]

0 投票
1 回答
3905 浏览

c++-cli - Snap7 写入 S7-1200 PLC

我正在尝试使用 C++/CLI 应用程序向我的 Siemens PLC编写一些东西。

读取是好的(除了第一次读取它给出奇数值)。

但是写作正在做一些与我想要的完全不同的事情。

您可以在下面找到代码:

sPLC->SetBitAt 方法:

写数据库方法:

我实际上收到消息“Gelukt”,但它仍然写入 rwong 值。所以填写我的buffer. 我在缓冲区中做错了吗?

在 C# 中,我有相同类型的应用程序,除了缓冲区是byte buffer[];

我的问题是:

  • byte* buffer;C++中的a和C#中的a有什么区别byte buffer[];
  • 当我在调试时将鼠标悬停在缓冲区上时,它会显示buffer* = 0 ''. 这是否意味着它是空的?如果是这样,为什么它仍然向我的 PLC 发送随机数?
0 投票
1 回答
1086 浏览

timer - 西门子 PLC S7 1200 TOF 问题

假设我有一个可以自动切换其状态的布尔输入。从 0 切换到 1 和从 1 切换到 0 设置一个循环。要确定该循环是否有效,循环时间必须至少为 10 秒。

我可以确定一个半球是否无效,但我不知道如何在循环结束时确定它是否无效。

这就是我所拥有的:

在此处输入图像描述

0 投票
1 回答
3673 浏览

c# - Access Siemens S7-1200 through C# Application

I'm trying to access the Siemens S7-1200 database to set and read tags through a C# executable that I will run on Windows. The intention is to have a desktop app that can establish a connection with a PLC over Wi-Fi / Ethernet. The app will then allow the user to read data off the device (and save in SQL database or .csv, etc.) and send commands to the device (via setting certain tags and then the PLC executes an instruction).

Siemens S7-1200 and S7-1500 devices host a webserver which allows users to create websites and set / read data via that. I've already got that working successfully. I intend to bypass the website and pull data directly from the device. Instead of constantly pulling data from a website.

I've looked at the following already:

Along with a lot of the Siemens tutorials and manuals.

Any ideas on how to set up this connection in C# will be greatly appreciated.