订阅并收听AW的播客!
订阅并收听自动化世界让你的问题得到解答的播客!
听这里

想要建立自己的SCADA?这是一个指导方针。

尽管市场上有太多的SCADA系统,但构建定制版本仍然有很大的兴趣。然而,通过现代SCADA系统操作所需的所有连接性,这个过程比过去要复杂一些。如果你选择DIY的路线,这里有一些方法来确保你做的正确。

2012年WRCWRA工厂点火SCADA截图。http://ow.ly/BE36q
2012年WRCWRA工厂点火SCADA截图。http://ow.ly/BE36q

无论您是无法找到适合您需求的预构建SCADA包,还是只是想自己构建以确保未来的可定制性,今天,构建自己的SCADA路径仍然是一个选择。但是,随着互操作性、实时读数和远程访问的需要,待办事项清单显然变得更长了。

Nick Mudge是一名软件顾问完美的抽象和认证的感应自动化SCADA集成商,表示,在构建自己的SCADA过程的第一步涉及建立系统的通信和数据框架。

根据Mudge的说法,如果不需要,以下功能应该被视为对您自己构建的SCADA系统非常有用:

*能够与设备和plc交谈和/或使用opc - ua。这是对设备进行实时监控所需要的。

*用于第三方开发者实现框架之外的通信协议的子框架。

*内置支持连接和使用常见的SQL数据库,如MySQL, SQL Server, Oracle和PostreSQL用于实现与其他数据库或各种数据库的连接的子框架。

一种将序列数据记录到数据库的方法,用于以后的绘图和分析——本质上是数据历史学家。

*分布式数据历史学家,这是一个数据历史学家,具有跨多个物理机器读写数据的能力。

*一种将从远程位置收集的数据转发到另一个位置或中央服务器的方法。

*能够访问和使用由外部应用程序提供的esoap Web服务。这使SCADA应用程序能够向外部应用程序发送信息请求并接收响应。

*能够创建可被外部应用程序访问和使用的SOAP Web服务。这使SCADA应用程序能够接收来自外部应用程序的信息请求并发送响应。

*能够访问和使用基于http的REST (representational state transfer) api(应用程序编程接口)由外部应用程序提供。这使SCADA应用程序能够向外部应用程序发送信息请求并接收响应。

*完全支持发送和接收邮件,包括附件。

*使用SCADA框架构建的应用程序相互通信的方法。

当然,您还需要一种基于SCADA数据进行分析、评估和采取行动的方法。Mudge指出,“对脚本或编程语言的支持将有助于创建分析、评估和响应数据的算法。预先构建的工具可以配置为接收数据、处理数据并采取行动。”

您看,我告诉过您创建SCADA软件的列表非常长,包含所有现代SCADA需求。但我们才刚刚开始。

体系结构
Mudge认为SCADA框架的最佳架构是客户机-服务器架构。

“SCADA框架有服务器软件。服务器软件被配置为连接数据库、plc、设备和其他数据源。客户端应用程序被开发出来,然后存储在服务器计算机上,服务器软件可以访问它们。”用户从服务器上下载客户端应用程序。客户端应用程序与服务器软件通信,从数据库、plc等获取数据。

Mudge继续解释说,对客户端应用程序所做的更改会被上传到服务器,服务器软件会向所有安装了客户端应用程序的计算机发送更新。这允许通过计算机网络轻松地修改和更新客户机应用程序。它还消除了对安装了客户端应用程序的每台计算机进行物理运行和手动更新的需要。

“SCADA框架还应该允许只开发服务器端程序或应用程序,”他说。“在服务器上执行一些功能和活动是有意义的,而不是在客户端。诸如从plc记录数据、基于时间的活动、电子邮件报告和其他操作最好在服务器上完成。”

他还强调了对裁员的支持。“客户端应用程序可以被配置为,如果它失去了与服务器的网络连接,那么它可以自动连接到另一个网络上的另一个服务器,或者连接到与客户端应用程序在同一台机器上的本地服务器。”

此外,不要忘记,在发布新版本的软件时,应该有一种简单的方法来升级SCADA框架。他说:“理想情况下,用它构建的SCADA框架和应用程序可以运行在许多设备和操作系统上,包括移动设备。”“SCADA框架的一个关键部分是使其具有可扩展性。它应该为人们提供一种方法来创建新的工具和功能,并将它们添加到SCADA框架中。”

创建应用程序
一旦建立了框架,就该创建应用程序了。下面是一些Mudge认为有用的工具和功能:

*使用预构建的GUI组件或小部件创建客户端应用程序。Mudge建议使用预先构建的功能来节省时间,而不是从头开始开发GUI组件。他说:“更具体地说,如果存在用于创建hmiscreens、信息仪表板和业务流程工作流的预构建GUI组件和功能,它将会很有用。”预构建的、可定制的组件包括:文本字段、标签、按钮、下拉菜单、文档、表格、图表、状态指示器、日期选择器、告警、表单、报告。

*支持创建,显示和使用PDF报告和其他文件格式的报告。

*一种脚本或编程语言,用于创建新的组件、功能、定制组件和连接应用程序的不同部分之间的数据。

*在单个应用程序和多个应用程序中重用功能或代码的方法。

*应用示例和/或模板应用。它将节省时间,并提供一致性,以现有的示例应用程序或空模板应用程序,使用通用的策略和通用的应用程序结构。

*绘图工具。

*可在应用程序中使用的图像、艺术和图标集。

*能够使用在SCADA框架之外创建的图像和绘图。

*能够在部署或运行应用程序之前运行和测试应用程序。

*调试工具。用于调试和理解应用程序的记录错误和其他数据的方法。

*修订控制-查看过去对应用程序所做的更改,并将应用程序恢复到早期状态的能力。

*备份应用程序和重要配置信息的方法。

安全
与任何其他工业控制系统应用一样,SCADA应用需要安全。Mudge建议DIY SCADA系统具备以下安全功能:

*选择使用tsl / sslto加密数据发送的计算机网络。

*内置用户认证功能,并为用户分配权限。客户端部分应用程序的权限、数据访问权限、服务器部分软件和服务器应用程序的访问权限。

*能够结合和使用现有的认证和用户帐户系统,如Active Directory。

*记录用户操作到数据库。对发生的任何重要事件进行常规记录。

一种通知SCADA框架安全更新的方法。

*代码签名技术,以验证任何升级,新工具或功能添加到SCADA框架来自正确的来源,没有被篡改或损坏。

关于DIY SCADA的更多细节,解决上面所述的所有问题以及许可、警报和支持问题,都包含在Mudge开发的清单中可以在这里访问

尽管DIY SCADA可能很酷,但我必须承认,这是一个相当令人生畏的列表。就我个人而言,我只会购买现有的SCADA系统。然而,我知道DIY之痒只是需要时不时地挠一下。如果DIY SCADA在您的范围内,这是一个很好的开始。

揭示:传感器和AI的秘密
新的报告邀请同行和专家就机器视觉、智能仪器传感器和人工智能如何改善制造业进行讨论。
下载电子书
揭示:传感器和AI的秘密
如何防范网络攻击
了解几十个终端用户和系统集成商关于如何最好地保护您的操作免受网络攻击的意见。
立即下载
如何防范网络攻击