问题标签 [scada]

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 回答
452 浏览

winapi - 将 PLC 连接到我的 mfc 程序

在当前场景中,我使用 RS-232 通信在 PC 之间使用微控制器操作硬件组件。整个应用程序是在 MFC 中创建的。

我正在考虑连接 PLC 以将硬件组件与 PC 通信。那么谁能告诉我我们如何做到这一点?

0 投票
1 回答
997 浏览

scada - 如何将 PLC 标签读取到 CIMPLICITY 屏幕

嗨不知何故得到了 GE Cimplicity 8.2 演示版。现在我开始学习了......

如何将 Omron PLC 标签读取到 Cimplicity。我有 Omron PLC 和 HMI 经验,假设我将在 HMI 条形图对象上分配 PLC 寄存器地址。因此基于 PLC 寄存器的值条形图将显示显示。

如何在 Cimplicity 屏幕中实现相同并运行以查看条形图的显示

此外,任何有助于学习基础知识的材料/示例代码都受到高度赞赏。

0 投票
0 回答
205 浏览

java - Java gui 和 java 线程

在这个类中,我有一个模拟温度为双精度的线程,然后我使用 start 并在另一个类中使用该线程:

现在,百万美元的问题!我有另一个类(如果你愿意,可以在 GUI 之间进行其他模拟的导航器)

而且我需要读取与此启动线程相同的数据,但是如何在不实例化新线程的情况下做到这一点?这几天一直困扰着我。

0 投票
1 回答
2670 浏览

java - 使用 OPC UA Java (OPC Foundation) 写入值

我正在尝试使用 OPC Foundation 的 OPC UA java 堆栈连接到远程环境。读取值工作正常,因为我正在使用以下代码:

现在我正在尝试使用 write 命令来设置这个(输入)变量,如下所示:

写命令运行没有错误,但值永远不会改变。有人可以帮帮我吗?

0 投票
4 回答
2445 浏览

c++ - 桌面 SCADA 应用程序 - 通过 C++ 读取和写入 PLC

我尽力搜索有关 SCADA 和开发您自己的 C++ 桌面应用程序以与 PLC 通信的所有主题,但找不到任何最近或在我看来符合我需要的相关主题。如果我错过了他们,将非常感谢他们的链接。如果我也碰巧在错误的部分发布了这个,或者你可以想到一个更好的部分让我发布这个,我会把它带到那里。

话虽如此,我提前感谢您花时间阅读我的问题,并感谢您提供的任何意见。


关于我在做什么的一点点

我目前在学校学习机电工程,在我最后一年的项目中,我正在开发一个 C++ 桌面应用程序来监控我们位于我们实验室之一的 PLC。

在这个实验室中,我有一个预先存在的以太网网络,将所有 PLC 连接到单点,我正在将其与 PC 绑定,并将从那里完成我的所有工作。

我将在 Qt 中开发应用程序,以便以一种简单的方式设计 GUI,并允许我访问 QNetworkInterface 和 QTcpSocket。

话虽如此,我不会说我是一个经验丰富的程序员,但我已经用几种语言(即:python、c++、c、php)鬼混了好几年了,现在仍然学习,考虑到学习永远不会停止。


我的问题

  1. 是否有任何我可以阅读的参考资料,您可以建议,以便更轻松地了解我需要通过什么样的过程来接收信息(即:单个 I/O、状态位、标签、日志等)。 ..) 直接来自 PLC,而不是通过 OPC 服务器?

  2. 如果需要 OPC 服务器,除了使用罗克韦尔自动化的 RSLinx 来抓取标签并在 excel 中显示它们的值之外,我从未处理过 OPC 链接(我已经使用该确切方法创建了一个原型,但想离开excel,如果可能的话,还有 OPC 服务器 (RSLinx))。对于对 OPC 服务器主题一无所知的人,或者据我所知,对于一般的 OPC,您有什么建议?

  3. 你们中的任何人以前是否编写过自己的应用程序来做类似的事情,如果与我想要完成的事情性质不同的话?

  4. 对于正在尝试此类项目的人,您有什么建议或建议?


PS:作为这个项目的开始,我最初只是想读取 I/O(标签或地址)以查看它们的当前值(输入关闭或打开,输出通电或不通电)。但最终我还希望能够根据我从它们那里收到的值将值写入我正在监视的 PLC 上的标签。

PSS:我想再次指出,我仍然是一名学生,并且仍在全面了解这个主题。我想请您耐心等待,因为我可能第一次无法完全掌握!

如果我错过了您认为能够提供答案的任何信息,请告诉我!我会尽力及时提供上述信息!

谢谢!


编辑#1:在另一个问题中添加,并稍微改变了我的第一个问题

编辑#2:修正问题 2

0 投票
3 回答
13333 浏览

scada - SCADA 协议 - iec-104

我正在为一个大学项目研究 IEC 60870-5 系列协议,特别是 IEC-101 和 IEC-104。尽管购买了 IEC-101 和 IEC-104 标准,但我仍然有一些基本问题,我似乎无法找到使用 Google 的答案。我现在专注于理解每一个类型识别——它的目的、用途、如何使用它,并绘制一个简单的流程。该标准不提供有关命令的必要信息。任何人都可以向我推荐一些解释这些事情的网站或任何我可以就这些标准提出问题的论坛吗?

任何帮助表示赞赏。

0 投票
1 回答
153 浏览

eclipse - 在 Eclipse 中导入多模块项目

我正在尝试开始使用 Eclipse SCADA 并从他们的 git存储库中导入项目。

我克隆了以下项目:

对于每个项目,我在父文件夹中进行了 mvn 验证并在 Eclipse 中导入了项目。我也改变了目标平台。但是,我似乎仍然对它们的依赖关系有疑问。

任何帮助将不胜感激。

0 投票
4 回答
2143 浏览

autocad - SCADA 系统的 AutoCAD 格式

我正在做项目,我的任务是将房屋平面图从 AutoCAD 导出为最适合 SCADA 的格式。任何建议都会帮助我。谢谢!

0 投票
1 回答
97 浏览

automation - 计算自动化系统中的压降速度

我有个问题。如果仅从压力计获取数据,您将如何计算压降速度?我需要以 [bar/h] 为单位的特定下降速度,并且只能以 [bar] 为单位读取压力。我想不出一种方法可以在我的软件中做到这一点,除了以某种采样率进行采样测量并且使用 dp=p(i-1)-p(i)。提前致谢。

0 投票
2 回答
1604 浏览

c# - How can i get an object from pointer-address

i have written a user control for WinCC (Siemens) (SCADA). Now I want to pass a pointer to the control. The only way to do this is: write the pointer to a property.

WinCC has only this methods to set properties

  • SetPropBOOL
  • SetPropChar
  • SetPropDouble
  • SetPropWord

The property from control has UInt as datatype and i use the SetPropDouble method to set the address from an object.

WinCC Global Script (ANSI-C)

I've debug my control (hook on WinCC-process) and i see the property-set becomes assigned an address-value e.g. 0x03041080.

Now the question: How can i get the object in c# (.Net) on the address?

My try throws an exception: ExecutionEngineException


Ok: i've changed my code to use STRING

WinCC

And c# is now


Other findings!

The address from the ADO-Object is not in the process-memory who called my control (debug with ollydbg). WinCC has two programs: PDLRT.exe for visualisation (this is calling my control) and SCRIPT.exe for running GLOBAL-SCRIPT (Ansi-C).

From PDLRT, i've access to the pointer-address from ADO-Object. By call GCHandle in C# of the ADO-object-address, the exception is thrown. (ExecutionEngineException)