标签: scada

哪本书可以学习套接字编程和TCP网络通信?

在接下来的几个月里,我会做一些小项目,需要一些书籍(最好)或URL来学习一些基本概念.

通常,一台PC或嵌入式设备(根据项目而变化)从外部硬件设备收集一些用户输入或数据,并将其发送到远程PC,远程PC将其输入数据库.

后端将使用Indy套接字组件在Delphi中编码.前端可能是使用相同的Indy套接字运行Delphi应用程序的PC,但它可能同样是一个小型控制器板,可能用C编程(既不是Windows也不是Linux作为o/s,但有一些不可预见的套接字支持).

所以,我需要的是

  1. 一些东西 - 可能是语言不可知 - 让我快速掌握套接字编程
  2. 我可以使用流和写/读来定义我自己的协议(通过TCP/IP)的构造,这将非常简单
  3. 一般网络(TCP?)概念的一些概述; 也许有点安全性,一般客户端/服务器的东西(例如,我可以从客户端发送一些到服务器并发送回复,但我不太确定服务器发起的通信到单个服务器或广播到所有客户端)
  4. 还要别的吗?

任何让我加快速度的建议,至少足以让我能够在工作中学习的小项目.

提前致谢

sockets network-programming tcp scada

31
推荐指数
2
解决办法
3万
查看次数

OPC-UA的替代品

作为访问由各种PLC组成的系统的过程数据的解决方案,OPC-UA是否还有其他可行的替代方案?什么是平台独立的,可以与不同品牌的产品"说话"?

我听说过MQTT,但它似乎更像是传输协议,只有那样.它没有像信息建模等所有更高级别的东西.

谢谢你的帮助!

plc scada opc mqtt opc-ua

16
推荐指数
3
解决办法
7771
查看次数

如何从SCADA CIMPLICITY软件的DAT和IDX文件中提取数据?

我的任务是从旧软件的数据文件中提取数据 - CIMplicity HMI Plant Edition 6.0版.它是2002年的SCADA软件.我有一份数据文件目录,里面包含很多*.DAT和*.IDX文件.我需要将此数据提取到CSV或SQL数据库.一些DAT文件只是纯文本,但其他文件具有类似二进制的格式,在PSPad中打开时,以HEX视图模式显示.

我可以使用哪些工具可靠地从这些文件中读取和提取数据?

TIA.

更新:我已经添加了包含数据文件的目录的目录列表:

 Directory of C:\tmp\xxxxxxII\data

04/30/2013  01:53 PM    <DIR>          .
04/30/2013  01:53 PM    <DIR>          ..
09/02/2008  10:46 AM            17,260 1220323606.clz
09/02/2008  10:46 AM            60,490 1220323607.clz
09/10/2008  06:36 PM           288,554 1220323608.clz
09/02/2008  10:46 AM            66,977 1220323609.clz
09/10/2008  06:37 PM            23,900 1220323610.clz
09/10/2008  06:37 PM            19,162 1220323611.clz
09/10/2008  06:48 PM            37,596 1220323612.clz
09/10/2008  06:49 PM            27,882 1220323613.clz
09/10/2008  06:49 PM            47,850 1220323614.clz
09/10/2008  06:50 PM            47,816 1220323615.clz
09/10/2008  06:52 PM         3,427,511 1220323616.clz
09/02/2008  10:46 …
Run Code Online (Sandbox Code Playgroud)

parsing scada data-extraction

7
推荐指数
1
解决办法
7165
查看次数

在 .NET 中创建 SCADA 图表

我需要创建一个工业监控应用程序,向操作员显示SCADA图,类似于此

替代文本http://img32.imageshack.us/img32/631/processcontrol.png

有哪些工具包可用于执行此操作以及人们有哪些使用这些工具包的经验?我已经知道ilog takeit 但没有经验。

编辑:我不需要软件来控制硬件本身,我只需要创建显示流程当前状态的 GUI 或图表。

.net diagram industrial scada winforms

5
推荐指数
1
解决办法
2万
查看次数

OPC UA是从许多Scada系统获取数据的最佳方式吗?

在我的公司,我们有许多分布式站点,每个站点使用一个单一的Scada系统供应商(一个使用Wincc,其他地方使用另一个......),这个系统使用几乎相同类型的信息.

我们需要从这些系统中检索一些通用数据,因此我想知道OPC UA是否可以处理它.

是否有可能购买或开发OPC UA服务器,通过Web服务从Scada系统检索数据到客户端?

scada opc opc-ua

4
推荐指数
1
解决办法
5118
查看次数

桌面 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 服务器,除了使用 Rockwell Automations RSLinx 来抓取标签并在 excel 中显示它们的值(我已经使用该确切方法创建了一个原型开始,但想远离excel,如果可能,还有 OPC 服务器 (RSLinx))。对于对 OPC 服务器主题一无所知的人,或者据我所知,对 OPC 一无所知的人,您有什么建议?

  3. 你们之前有没有人写过自己的应用程序来做类似的事情,如果与我想要完成的事情性质不同?

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


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

PSS:我想再次说明,我仍然是一名学生,并且仍在完整地学习这个主题。我只是想请您耐心等待,因为我第一次可能无法完全掌握!

如果我遗漏了您认为与能够提供答案相关的任何信息,请告诉我!我会尽我所能及时提供上述信息!

谢谢!


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

编辑 #2:修正问题 2

c++ tcp plc scada

4
推荐指数
1
解决办法
2305
查看次数

堆栈上的可执行Ada代码

我刚刚从去年的32C3开始就铁路系统的安全考虑进行了讨论.在第25分钟,演讲者简要介绍了阿达.他具体说:

典型的Ada实现具有称为"(tramp/trunk /?)行"的机制.这意味着它将在[堆栈]上执行代码,这对C程序来说并不是很好.[...]如果您想将Ada代码与C库链接,其中一种安全机制将无法正常工作.

以下是对话题各部分的链接(YouTube).是背景中的幻灯片.如你所见,我不确定其中一个词.也许是蹦床


现在我的直言不讳的问题:这句话中有没有真相?如果是这样,任何人都可以详细说明Ada语言的神秘特征及其明显影响的安全机制吗?

直到现在我总是假设代码生活在一个代码段(也称为"文本"),而数据(包括堆栈)被放置在一个数据段在不同的存储位置(如所描绘这个图形).在Ada中阅读关于内存管理的建议表明它应该没有太大的不同.

虽然有办法绕过这样的布局(参见例如" C on stack "问题和这个" C on heap "答案),但我相信现代操作系统通常会通过可执行空间保护来阻止此类尝试,除非显式地使堆栈可执行. - 但是,对于嵌入式系统,如果代码没有保存在ROM上,那么它可能仍然是一个问题(任何人都可以澄清吗?).

stack ada scada safety-critical data-segment

4
推荐指数
1
解决办法
1113
查看次数

协议转换/规范化:Biztalk,替代方案?

我们需要从安全系统,火警,摄像系统等系统中采集几十种不同的协议,并将它们集成到一个通用协议中.

我希望这是一个消息服务器,许多系统可以订阅和/或通过.

  • 轮询和非轮询"驱动程序"(协议转换器)
  • 处理RS232/RS485/tcp
  • Java或C#等托管语言中的可编程"驱动程序"
  • 规则引擎能力

biztalk适合这个吗?

有开源替代品吗?

是否有Java/Java EE方法可以做到这一点?

在一端,系统将是SCADA系统,另一端是一种中间件/消息服务器.

任何关于最佳进展方式的想法都将受到赞赏.我知道在驱动程序方面会涉及大量编程,但是尽管我很想,但从头开始构建整个系统并不合适.

messaging biztalk scada

3
推荐指数
1
解决办法
1739
查看次数

QSimpleScada 未编译“类 QTextStream”,没有名为“setCodec”的成员 SimpleScada

您好,谢谢大家的宝贵时间,简单的 scada 不想编译 -> 空项目或名为 Weather https://github.com/IndeemaSoftware/QSimpleScadaSample的示例项目。我通过 git 和 qpm 安装 lib,但在编译期间类中缺少适当成员的问题保持不变。我真的很感谢任何形式的帮助,因为我真的陷入了最崇高的敬意

关于 QT 版本 Qt Creator 5.0.1 基于 Qt 5.15.2(MSVC 2019,64 位) 构建于 2021 年 9 月 14 日 01:17:14 来自修订版 7e965629b0

关于编译器的版本 mingw 8.1.0 64

错误日志 debug\qscadaboard.o ....\Qt\libs\vendor\com\indeema\qsimplescada\QScadaBoard\qscadaboard.cpp g++ -c -fno-keep-inline-dllexport -g -std=gnu++1z -Wall - Wextra -Wextra -fexceptions -mthreads -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DQPM_INIT(E)="E.addImportPath(QStringLiteral("qrc:/"));" -DQPM_USE_NS -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I../天气-I。-I../../Qt/libs/vendor -I../../Qt/libs/vendor/com/indeema/qsimplescada -IC:/Qt/6.2.0/mingw81_64/include -IC:/Qt /6.2.0/mingw81_64/include/QtQuickWidgets -IC:/Qt/6.2.0/mingw81_64/include/QtQuick -IC:/Qt/6.2.0/mingw81_64/include/QtOpenGL -IC:/Qt/6.2.0/ mingw81_64/include/QtWidgets -IC:/Qt/6.2.0/mingw81_64/include/QtGui …

c c++ qt scada

1
推荐指数
1
解决办法
1501
查看次数