集成SQL数据库和SCADA,最大限度提高效率和可靠性

结构化查询语言(SQL)可以帮助SCADA软件用户提高他们的连通性和发送和接收数据的能力。

通过归纳自动化 2023年5月17日
感应式自动化

结构化查询语言(SQL)洞察力

  • 结构化查询语言(SQL)可以帮助监控和数据采集(SCADA)用户更好地管理他们的数据。
  • SQL数据库比其他数据库更简单,更容易使用,可以给用户更多的自由来管理和处理他们的数据。

使用结构化查询语言(SQL)实现自动化并不是什么新鲜事。几十年来,SQL数据库一直在许多不同系统的后台工作,但即使在今天,仍有一些人对将SQL与监控和数据采集(SCADA)等工业自动化软件混合使用犹豫不决。然而,随着更多SCADA在当今这个互联的、数据驱动的世界里,软件用户感到了跟上潮流的压力,SQL得到了更多当之无愧的关注。

数据库通常是任何控制系统中最重要的组件之一。经过多年的开发,越来越清楚的是,与使用开放标准(如SQL)的数据库集成的控制系统比使用专有数据库的系统具有主要优势,这就是SQL和工业应用程序平台的组合如此有价值的原因。

SQL编程语言

根据美国国家标准协会(ANSI)的说法,SQL是关系数据库管理系统(RDBMS)中管理数据的标准编程语言,也是关系数据库中使用最广泛的语言之一。它最初是在20世纪70年代为IBM开发的,并且已经持续使用了近50年,用于在SQL数据库中存储和管理数据。

它的主要功能是使用SQL语句或“查询”快速有效地对小到非常大量的数据提出问题,这允许用户存储、更新、检索、搜索或删除数据库中的特定数据。

软件工程师使用SQL语言的各种组件(如标识符、变量和搜索条件)构建SQL查询,以形成正确的语句。它们还可以将SQL查询保存为“存储过程”,以便以后使用,这样用户就不必重写经常使用的查询。这些功能是SQL如此高效的部分原因;即使是专有数据库也经常使用相同的基本结构。

SQL关系数据库

虽然所有数据库都存储供将来或连续使用的数据,但有许多类型的数据库,它们根据其结构进行区分。最广泛使用的类型被称为关系数据库。在关系数据库中,每个数据点都与其周围的数据相关,其功能是组织和检索关系数据。

“SQL数据库是用于数据存储和访问检索的最重要的技术之一,”inductiveautomation首席技术架构师Kevin McClusky说。

用户可以认为SQL数据库有两个主要功能:访问检索,这是使用SQL执行的;存储,这是使用数据库引擎执行的。SQL数据库在基于云的SQL数据库中将数据组织到物理硬盘或在线服务器上的文件和特定存储区域中。

SQL数据库的结构类似于包含行、列和单元格的Excel表,这使得组织和检索任意数量的数据变得容易。这种结构对于实时和时间序列(或历史)数据特别有用。它有助于将与其他数据相关的数据按共性组织到表中,显示事件或数据集的图片。

SQL数据库最强大的一个方面是它“查询”或询问数据问题并与数据建立关系的能力。SQL查询允许用户执行分析、回答复杂问题、操作和聚合数据,而无需许多步骤,因此可以从多个表中检索数据、将记录与公共字段类型关联、利用数据中的关系并精确控制数据的位置和排除哪些数据。

例如,一个公司可能有两个不同的员工表——一个表存储他们的个人数据,如姓名、地址和出生日期,另一个表包含每个员工工资的详细信息。虽然雇员表和工资表分别存在于数据库中,但它们的数据可以相互关联,并可能一起检索。这种关联是通过在一个表中建立可以在另一个表中引用的唯一标识符(通常称为主键)来实现的。例如,员工的唯一ID号可以是employees表中的主键,而该ID可以用作工资表中的外部标识符(通常称为外键)。这允许employees表中员工的数据与工资表中的工资数据相关联,所有这些都是通过唯一员工ID的单个值实现的。创建这种关联或关系的能力是将这些类型的数据库称为关系数据库的原因。

通过跨表创建这些关系,然后可以编写查询来汇总来自多个表的汇总结果,例如按部门划分的员工工资。如果SQL数据库连接到工厂车间,用户可以实时地找到一个房间或几个房间的平均温度,温度控制机器何时或是否停机,工作多长时间,多个停机事件的数据集之间的标准偏差,等等。

SQL查询可以很简单,只有一两行代码查询单个表,也可以非常复杂,需要数百行代码一起查询多个表。一般来说,查询越简短越好。麦克卢斯基说:“这些查询的复杂程度取决于你需要它们有多复杂。SQL查询的范围和灵活性是关系SQL数据库成为数据检索、存储和管理的强大和通用工具的部分原因。

SQL的四个好处

每年都有许多技术趋势来来去去。然而,在近50年后,SQL仍然很强大。以下是SQL持续突出的四个主要原因:简单性、可伸缩性、可访问性和选项的多样性。

1.简单

SQL是高度发达的,非常容易学习。有许多学习SQL的免费资源,找到一个熟悉SQL的IT人员或工程师通常不是问题,因为很多人都在使用它。此外,用户只需要了解检索、更新、删除或聚合数据的一些基本操作。

2.可伸缩性

与许多专有数据库不同,SQL数据库并不过于昂贵,并且可以处理大量数据,因此可以轻松地对任何业务进行扩展。一些最流行的SQL数据库甚至可以免费使用,比如MySQL和Postgres。

3.可访问性

像SQL数据库这样的开放标准技术对每个人都是可用的,并且很容易访问,不像专有技术,这些技术通常在高收费墙后面,并且通常难以从中提取或迁移数据。用户还可以将SQL数据库与许多其他技术集成在一起,而不必坚持使用单一的供应商和有限的定制数据库。

4.许多选项

“我认为它仍然如此强大的另一个原因是有很多不同的选择。SQL是多种不同数据库为您提供的一种标准查询语言,您不受SQL数据库的供应商限制。您不必强制使用一种SQL数据库。你有很多选择,”麦克拉斯基说。

SQL的替代品呢?

在21世纪初,将SQL数据库与历史数据库相结合是不常见的,这导致在处理大量数据时出现问题。为了帮助解决这个可伸缩性问题,同时继续使用SQL数据库的一些基本结构,软件工程师在1998年开发了NoSQL,然后在2011年开发了NewSQL。然而,NoSQL和NewSQL着手解决的可伸缩性问题现在已经很少了,因为存储空间更便宜了,而且您可以将SQL数据库与历史记录结合起来创建高性能数据库。近年来,NoSQL越来越受欢迎。MongoDB和Amazon Web Services的DynamoDB是目前最流行的两个NoSQL数据库。

收集和存储时间序列数据

SQL数据库的另一个主要优点是,它们可以帮助用户从组织的时间序列数据中获得更多价值。时间序列数据是按连续间隔进行时间戳的数据点序列。这些数据点通常可以存储在数据库中,然后检索并显示在显示任何类型的随时间变化的数据(如温度、重量、体积等)的表或图表中。

有些人认为,时间序列数据仅用于确定特定时间点的单个数据点的状态,跟踪特定趋势,而不是其他。然而,时间序列数据实际上是来自连接到SCADA系统的监控机器和过程的最有价值的产品之一。时间序列数据可以潜在地帮助节省数百万美元的停机时间,为提高能源效率制定更详细的计划,等等。

然而,许多组织不收集时间序列数据,因为它们要么没有收集数据的方法,要么没有存储和检索数据的应用程序。存储时间序列数据基本上有三种选择:在专有过程历史记录中的可编程逻辑控制器(plc)或SQL数据库中。

在plc中存储数据不是一个好的解决方案。PLC存储的数据越多,效率就越低,不可避免地减慢了整体运行速度。如果没有连接到数据库,检索存储在PLC中的数据也很困难,因为用户必须物理地插入才能检索数据。

过程历史机比plc要好,但它们可能非常昂贵。它们也不像SQL数据库那样通用,并且不允许用户轻松升级数据库。

麦克拉斯基说:“你可能会找到一个很好的解决方案,但这个解决方案只是在这个由特定供应商提供的封闭生态系统中,当你未来进入下一个升级周期时,它不会给你带来任何好处。”

SQL数据库通常是存储时间序列数据的最佳选择。他们有能力处理SCADA系统的大量时间序列数据,并且通过将时间序列数据转换为整个组织都可以读取的简单格式来丰富时间序列数据。

许多大型企业系统多年来一直使用SQL数据库。“这些数据库有时是管理的IT数据库,包含来自公司其他部门的信息。有时这些与企业资源规划(ERP)软件有关,”McClusky说。客户关系管理(CRM)和MES软件也有使用SQL数据库的悠久历史。通过将SCADA系统或应用程序连接到SQL数据库,用户可以快速有效地共享这些信息,并使其他系统更容易访问这些数据。

一旦进入SQL数据库,时间序列数据就可以讲述有关其生产的各个方面的多层故事,或者揭示可以为组织节省大量资金的未见趋势。通过覆盖这些信息,用户可以实时看到每个系统如何影响其他系统,并找到提高效率和增加盈利能力的新方法。

例如,假设钣金制造商注意到其中一条生产线的材料耗尽速度比另一条快,即使两条生产线都工作正常。在检查连接到每条线的材料库存的SQL数据库后,发现它们收到相同数量的原材料。然后,用户检查连接到SCADA系统的SQL数据库,从机器的plc和传感器收集时间序列数据。

在比较了两条生产线后,用户注意到一条生产线生产的金属板材比另一条生产线厚几微米。这可能是机器的测量问题,机器可能磨损,需要更换,或者它没有正确设置。即使额外的几微米在可接受的范围内,解决这个问题也将为将来节省大量的库存和资金——所有这些都是将时间序列数据存储在易于访问的SQL数据库中的结果。

OT与IT对接

在这一点上,SQL听起来像是梦想成真,但并非自动化行业中的每个人最初都使用SQL数据库。OT专业人员,特别是SCADA用户,对使用SQL处理时间序列数据持怀疑态度,他们更喜欢专门为该任务设计的专有数据库。然而,IT专业人员通常将专有数据库及其专有代码和代码翻译器视为获取有价值数据和与业务其他部分进行有效通信的另一个障碍。

让问题对立双方的专家意见一致从来都不是件容易的事,但幸运的是,像Ignition和SQL这样的工具可以让OT-IT鸿沟的双方再次合作。将SCADA系统连接到SQL数据库是IT和OT部门之间相互理解的一大步。

“SCADA系统将获取这些数据。它需要一个地方来存放这些数据,如果你把它放在SQL数据库中,你就拥有了SQL数据库的所有优势。”

通过集成这些技术,就不需要担心连接专有数据库可能会导致问题并阻碍系统的其余部分。此外,大多数IT人员都熟悉SQL,所以对于那些使用SQL数据库和工业自动化平台(如Ignition)对SCADA系统进行现代化改造的企业来说,通常没有必要教员工如何使用它。

尽管有些人仍然不愿意将SQL与SCADA配对,但SQL和其他开放标准技术正变得越来越流行。

麦克拉斯基说:“我想说,对于那些正在对基础设施进行现代化改造的人来说,他们过去在制造过程中使用的是较旧的设置,他们正在转向Ignition, SQL绝对在增加,而且应该增加。”这是因为SQL数据库与使用这些开放标准的任何新技术或应用程序兼容。集成SQL数据库和SCADA提供了许多优势,因为技术变化非常快,SQL可以跟上需求,因为它的互操作性。

-感应自动化是CFE媒体和技术内容合作伙伴。

原创内容可在归纳自动化