SQL数据库和事务管理器在工业生产中的应用

本文介绍了关系数据库在工业生产中的应用以及如何使用事务管理器将生产参数下载到PLC,以简化OT/IT融合过程。

一 什么是配方(Recipe)

我们以一家汽车零件制造商的应用举例,该企业专业从事汽车轮毂生产制造。假设该轮毂的型号是“高级镁合金”,而关于其制造方式的描述则有多达数千个参数,例如尺寸、颜色、钻孔位置、孔的大小、轮毂辐条等等,这就是所谓的配方(Recipe)

如果客户订购“黑色高级镁合金”或“灰色高级镁合金”,则其配方都会有所不同。因为配方是一组参数的集合,而这些数据的值是不固定的,并会根据生产线或客户订单进行调整。与用于执行重复任务的传统PLC的静态数据相比,这些可根据生产需求而实时变化的数据更为复杂。

配方不仅是一组参数的集合,还是处理复杂数据的一个优秀工具。然而,对于PLC而言,配方是以什么形式提供?答案是一张表格(如图1)。对于该轮毂制造示例,表格的每一行是一个配方,每一列都有配方的参数:油漆类型(PAINTTYPE)、油漆级别(PAINTLEVEL)等。

7a07afc1-a7fe-484b-93c9-11c45e423009
图1 通过配方,这种表格形式的参数集合,可以很好地处理复杂数据。而PLC在处理表格数据方面则面临了一些挑战,对此可使用SQL数据库来处理这种复杂数据。

为什么PLC在处理表格数据时会面临一些挑战?因为PLC的内存和性能是经过优化的,专门用于处理简单数据:生产流程、移动机器、移动产品、制造产品,而处理复杂数据则需更多内存,PLC难以满足——在PLC中,内存是相当珍贵的。

那么,什么平台能够很好地处理复杂的表格数据并减轻PLC的负担和风险呢?——SQL数据库

二 SQL数据库的功能

什么是SQL数据库?您可将其想象为一张表格,而且您很可能已经拥有这样一个表格——您的IT部门经理或许已使用企业SQL数据库以在整个组织中共享信息(如图2)。因为企业需要在整个公司范围内共享信息,而SQL数据库正是为此而设计的。

例如,当接收到新订单后,该订单将被存入SQL数据库中。如果销售经理想要一份销售报告,他可从SQL数据库中获取该报告;如果生产部门需生产该订单产品,他们可从SQL数据库中获得订单的详细信息。此外,在零件生产完成后,其性能、质量等指标均可被存储在SQL数据库中。通过从SQL数据库中提取这些指标并分析数据之间的关系,可生成报告并优化生产流程。

a1c2f93d-d49b-42ba-bb2c-afa72d5a9aff
 图2 公司使用企业SQL数据库在整个组织中共享信息。(图片来源: https://www.youtube.com/watch?v=s4BwNbnsjm0)

SQL数据库经过安全优化,可严格限制数据存储与读取权限,因此只有经过批准的用户才能访问某些数据。SQL数据库运行在功能强大的PC服务器上,这些设备往往具有大内存、大存储等特点,不仅支持冗余、故障转移等功能,而且还支持从多个位置访问,以确保整个公司始终处于在线状态。

一般情况下,您可能会将配方或生产关键绩效指标(KPIs)和质量参数直接以常数的形式存储在PLC中,然而,PLC是专门处理业务逻辑的设备,若使用PLC来处理复杂数据,则将导致其性能达到极限,容易出现故障,发生计划外的中断。对此,您完全可利用工厂中现有的这些服务器和数据库,来减轻PLC的重负。

如何充分利用这一庞大资源——企业SQL数据库或设施中已有的其他数据库来减轻PLC的负担?接下来我们将从以下这三个方面来进行阐述:准备PLC准备SQL数据库准备事务管理器

| 准备PLC

您需要在PLC中做一些准备工作,而无需在PLC中创建常数配方,比如,在您的PLC中有1000个常数×10种不同的车轮类型,您需要将这些常数更改为在PLC中的变量或用户定义数据类型(UDTs),用于存放从SQL数据库下载的配方,这样您将拥有一个逻辑代码库。当需要制造不同的零件时,您可从SQL数据库中下载新的配方到PLC,且这些新建的变量都将自动更新。

您如何更新PLC中的这些变量来制造10种轮毂中的任意一种呢?——这便需要发挥SQL数据库的作用。您可把1000个常数乘以10个车轮的数据存储在一个SQL数据库表中,并仅在需要时,才将SQL数据库中的数据下载到PLC,由此您的数据库服务器和事务管理器将承担存储和响应信息请求的任务,而PLC只需在读取到数据后进行它所擅长的逻辑控制处理即可。

如何准备企业SQL数据库呢?这就需要由工程师来引导管理SQL数据库的IT部门经理进行接下来的操作。以下将介绍IT部门经理需操作的内容。

| 创建SQL关系数据库

您的配方将存储在所谓的关系数据库中。为了让您的IT部门经理在SQL数据库中创建合适的表格,您需要向他/她提供三条信息:1)表头;2)配方名称;3)配方数据(如图3)。

d0ca9374-a911-48e8-ba2d-c630b3d0d99b
图3 为了让IT经理创建SQL数据库,您需要向IT经理提供三部分信息:表头、配方名称和配方数据。

表头位于每一列的顶部,其只是您数据的一个简短描述或说是一个列标题。如果您使用Microsoft Excel作为建立模板的工具,则可从定义电子表格中的表头开始,然后将其放在每一列的顶部。

在SQL数据库中,每一行被称为一条记录(Record)。配方名称放在每一行的第一个单元格中,如图2所示。如果您有10个配方,那您将有10行或说10条记录。

为什么称之为记录?在关系数据库中,我们有四个主要的任务:插入(Insert)记录、选择(Select)记录、更新(Update)记录和删除(Delete)记录。

在我们的例子中,由于我们要从数据库里获取配方并将配方下载到PLC中,因此我们将使用“Select”命令。在您的配方电子表格中,需将配方名称放在每一行的第一个单元格中,最后需填写您的配方电子表格数据。这意味着,对于每个配方,您都要填写每一列的常数数据。至此,您的电子表格已包含有配方名称、列描述和数据——而这就是IT经理构建SQL表格所需的全部信息。

目前,我们已引导您完成了最难的部分——SQL数据库模板构建过程。SQL数据库的另一个极其实用的应用是“Insert”命令,而这恰好也是最容易使用的命令,因为无需修改PLC程序。通过使用“Insert”命令,我们可将PLC的值上传到数据库中。“Insert”主要用于在SQL数据库中存储PLC变量,例如,当我们需要查看KPI(关键绩效指标)或产品质量时,可将这些变量上传到SQL数据库中。

在PLC标签和SQL表格被创建后,如何在PLC和SQL数据库之间进行数据的双向传输?如何将配方从SQL数据库下载到PLC?对此,可通过使用事务管理器来轻松解决。

| 准备事务管理器(Transaction Manager)

事务管理器有什么作用?如果您需要下载一个配方到PLC,则可使用“Select”命令,从SQL数据库中获取配方......

请点击此处,查看剩余30%精彩内容!

| 往期回顾

▶ Softing dataFEED OPC Suite:轻松应对工业4.0数据通信挑战

▶ Softing echocollect e:连接OT和IT的多协议工业网关

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/472577.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

echart trigger 为 axis 的时候不显示 tooltip 解决办法

echart trigger 为 axis 的时候不显示 tooltip 解决办法 在项目 vitetsvue3 中使用 echart 显示了一个曲线图: 但当把图表的 trigger 设置成 axis 的时候,鼠标扫过并不显示具体的数值,如上图所示。 但 trigger item 的时候是正常的。 解决…

浏览器工作原理与实践--仅仅打开了1个页面,为什么有4个进程?

无论你是想要设计高性能Web应用,还是要优化现有的Web应用,你都需要了解浏览器中的网络流程、页面渲染过程,JavaScript执行流程,以及Web安全理论,而这些功能是分散在浏览器的各个功能组件中的,比较多、比较散…

idea创建maven-archetype-quickstart框架无法显示src/目录

一、配置好idea中Maven目录 1、不使用idea自带Maven&#xff0c; 2、配置好Maven环境变量M2_HOME 3、修改maven中 setting.xml文件 <?xml version"1.0" encoding"UTF-8"?><settings xmlns"http://maven.apache.org/SETTINGS/1.2.0"…

【C语言】—— 指针三 : 参透数组传参的本质

【C语言】—— 指针三 &#xff1a; 参透数组传参的本质 一、数组名的理解二、使用指针访问数组2.1、指针访问数组2.2、[ ] 的深入理解2.3、数组与指针的区别 三、一维数组的传参本质四、数组指针变量4.1、数组指针变量是什么4.2、 数组指针的初始化 五、二维数组传参的本质 一…

【LabVIEW FPGA入门】插值、输出线性波形

概述 NI 的可重配置 I/O (RIO) 硬件使开发人员能够创建自定义硬件&#xff0c;以在坚固耐用、高性能和模块化架构中执行许多任务&#xff0c;而无需了解低级 EDA 工具或硬件设计。使用 RIO 硬件轻松实现的此类任务之一是模拟波形生成。本教程介绍了使用 CompactRIO 硬件和 LabV…

计算机网络:计算机网络概述

计算机网络&#xff1a;计算机网络概述 因特网概述网络&#xff0c;互连网&#xff0c;因特网因特网发展的三个阶段因特网的标准化工作因特网组成 计算机网络的定义计算机网络的分类按使用者分类按传输介质分类按网络的覆盖范围分类按拓扑结构分类 因特网概述 网络&#xff0c…

投简历没回复?9位DBA公众号集结,快上车!

&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&#x1f61c;&#x1f61c; 中国DBA联盟(ACD…

Unicode转码 [ASIS 2019]Unicorn shop1

打开题目 我们买最贵的试试看&#xff0c;结果提示只能输入一个字符 抓包分析一下看看 从中可以发现源代码是如何处理price的 使用的是unicodedata.numeric() 但是我们查看页面源代码&#xff0c;发现页面的编码是utf-8编码 所以&#xff0c;前端html使用的是utf-8&#xff0…

【学习】CMMI评估认证的意义和需要注意的问题

​ CMMI认证是软件能力成熟度集成模型&#xff0c;是软件行业中的一种质量管理体系&#xff0c;旨在评估软件开发组织的成熟度和能力&#xff0c;以帮助企业提高软件质量、降低成本、控制风险&#xff0c;并获得更好的商业效益。 一、CMMI评估认证的意义 1. 提高软件质量&am…

win提权第二弹服务提权

阅读须知&#xff1a; 探索者安全团队技术文章仅供参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作,由于传播、利用本公众号所提供的技术和信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者 本人负责&#xff0c;作者不为此承担任何责任,如…

Windows 10中打开控制面板的13种方法,总有一种适合你

前言 虽然有传言称微软将取消控制面板,但它不会那么快消失。一些重要的设置仅在Windows 10的经典控制面板中找得到,它们不在设置应用程序中。本文有13种方法可以打开控制面板。 搜索开始菜单 你可以使用“开始”菜单的搜索功能搜索PC上的任何应用程序。在任务栏左侧的搜索…

基于微信小程序的电影交流平台

技术&#xff1a;springbootmysqlvue 一、背景 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。所以各行业&#xff0c;尤其是规…

[蓝桥杯 2015 省 B] 生命之树

水一水的入门树形DP #include<iostream> #include<algorithm> #include<vector> using namespace std; using ll long long; #define int long long const int N 2e610; const int inf 0x3f3f3f3f; const int mod 1e97;int n; int w[N]; vector<vecto…

环境检测LIMS系统 环境检测实验室信息管理系统

环境检测行业在所有检测领域流程最长&#xff0c;数据量最大&#xff0c;专家组不同&#xff0c;认证体系的记录单/报告模板也是各自不同&#xff0c;因此如何选择一套适用本企业的LIMS也成为重中之重的工作&#xff0c;好的系统可以给企业带来非常大的便捷&#xff0c;也能大大…

4 Redis持久化

Redis 是一个内存数据库&#xff0c;所以其运行效率非常高。但也存在一个问题&#xff1a;内存中的数据是不持久的&#xff0c;若主机宕机或 Redis 关机重启&#xff0c;则内存中的数据全部丢失。当然&#xff0c;这是不允许的。Redis 具有持久化功能&#xff0c;其会按照设置以…

让AI给你写代码(五)—— 应用Agent,理解Agent,走进现实世界

本文想解决一个问题&#xff0c;理解Agent有啥具体的作用&#xff1f; 所谓读书千遍&#xff0c;不如动手一试&#xff0c;我们还是借助于上一篇&#xff0c;让AI给你写代码&#xff08;四&#xff09;—— 初步利用LangChain Agent根据输入生成&#xff0c;保存&#xff0c;执…

基于springboot的药房进销存管理系统

光明医院药品库房信息管理系统的设计与实现医院管理员 1.医院管理员信息管理—增加删除修改人员信息(人员信息包括年龄性别学历) 2医院管理员账号密码修改 3发布公告—医院管理者发布医院公告对药库管理者可见 4查看药品入库出库信息 (药品厂商&#xff0c;生产日期&#xff0c…

【接口测试】神器JMeter

‍1 JMeter是什么 Apache JMeter是Apache组织开发的一款开源软件&#xff0c;是一款非常好用的接口测试工具。它的特点是开源免费&#xff0c;简单好用。 我们在测试过程需要做接口测试的话就可以使用它&#xff0c;也可以用来批量造数据&#xff0c;接下来我们就来看看JMete…

统计学第1天

描述性统计 统计数据类型分类 按计量尺度划分 分类数据 能归于某一类别的非数字数据&#xff0c;数据是对事进行分类的结果&#xff0c;结果表现为类别&#xff0c;用文字来描述。 例如&#xff1a;人口按照性别&#xff08;男、女&#xff09;&#xff0c;企业按照所处行业…

进程(2)——进程优先级

1、基本概念 cpu资源分配的先后顺序&#xff0c;就是指进程的优先权&#xff08;priority&#xff09;。 优先权高的进程有优先执行权利。配置进程优先权对多任务环境的linux很有用&#xff0c;可以改善系统性能。 还可以把进程运行到指定的CPU上&#xff0c;这样一来&a…