Python在工业自动化领域的应用详解

2023-09-21 11:17:19

640?wx_fmt=other&wxfrom=5&wx_lazy=1&wx_co=1


概要

当我们开始讨论在工业自动化应用中使用哪种编程语言时,通常我们会首先谈论IEC 61131-3标准中用于可编程逻辑控制器(PLC)的语言,比如经典的梯形图(LD)或结构化文本(ST)。对于机器人等应用,我们经常看到低级编译语言,比如C语言。

这几年有不少人讨论在工厂生产线上使用Python。是什么让Python这种解释型的高级语言突然变得吸引人?Python代码运行速度通常比更接近机器代码的编译语言慢,而且它显然无法胜任实时控制的任务,这是开发工业系统时的一个主要问题。

然而,现在我们看到了一系列因素的影响,使Python在工业应用领域备受关注。首先,工业4.0正在改变我们对工业自动化的看法,特别是它强调了“智能”制造的重要性,其具有更高的自主性、丰富的大数据,并与增材制造、云计算等下一代技术全面集成。

工业4.0的另一个影响是工业物联网(IIoT),它连接了本地网络上的工业机械,用于实时机器对机器(M2M)通信,并提供持续的传感器数据流以供分析使用。因此,我们正在见证信息技术(IT)和运营技术(OT)之间的融合,打破了长期以来分隔信息技术专业人员与运营技术专业人员的隔离。毕竟,IIoT设备需要使用信息技术来优化其运作。

640?wx_fmt=other&wxfrom=5&wx_lazy=1&wx_co=1

这里Python就有了用武之地。当我们考虑世界上最流行的编程语言的优势时,我们可以看到Python在IIoT方面具有明显的优势。

首先,Python分析和处理大数据集能力强大。其次,Python可读性强,可以让团队成员更好地协作编写或维护代码。最后,Python是开源的,拥有强大的开发社区,很多应用都选择Python作为开发和维护语言,比如Tensorflow、Pytorch等。

机器学习

毫无疑问,Python影响最大的领域是机器学习(ML),这是人工智能(AI)的一个分支,其中算法从数据中学习,而不需要任何人工编写规则。常见的工业应用包括预测性维护和自动化机器人。

如今大多数的ML都是用Python编写的,诸如PyTorch和Google的开源TensorFlow等框架使用Python,亚马逊的云AI服务AWS SageMaker带有内置的Python软件开发工具包(SDK)。简而言之,Python是最适合这项工作的工具。

640?wx_fmt=other&wxfrom=5&wx_lazy=1&wx_co=1

以下是常见的工业ML场景。机器和传感器数据被发送到云端,我们可以利用高性能资源来训练ML模型。一旦我们有了一个训练有素的模型,例如可以分析机器何时可能会出现故障的模型,然后我们可以将该模型返回到工厂生产线上。

通过在生产设备中嵌入GPU进行边缘计算,或者利用本地IIoT网关的资源进行雾计算,我们可以在现场使用我们训练有素的模型。

我们观察下自动化机器人,Python代码将解释高级目标,然后由与硬件直接交互的低级编译代码解释成动作。一个简单的类比是移动你的手臂:你的大脑设定高级意图,而低级的神经系统移动你的肌肉。

随着我们进一步深入工业4.0并找到更多用于AI的创新用途,预计Python工程技能将成为越来越重要的资产。

计算机视觉

要让机器手臂捡起东西,首先需要知道它在看什么。这就是计算机视觉(CV)的作用,它是一种使机器能够使用摄像头作为眼睛并且更关键的是能够识别它们看到的物体的人工智能领域。仅仅考虑到Python在ML中的重要作用,就不难看出Python对CV非常有用。

640?wx_fmt=other&wxfrom=5&wx_lazy=1&wx_co=1

最初由英特尔在90年代末开发,OpenCV现在是开源CV开发的最佳选择之一。尽管库仍然是用C++编写的,但Python包装器opencv-python对于像深度学习的CV应用非常有用,因为它保留了原始C++代码的速度,同时仍然具备Python的优点。

640?wx_fmt=other&wxfrom=5&wx_lazy=1&wx_co=1

此外,由于opencv-python创建NumPy数组作为输出,因此我们可以立即将数据转移到其他Python工具,比如SciPy、Matplotlib或其它ML工具。其结果是,一台机器可以看到的不仅仅是像素,它可以区分产品,执行质量保证检查,并以复杂的细节处理其环境。

搭建系统间通信连接的桥梁

当机器制造商创造产品时,他们通常不会将与人机界面(HMI)之外的通信的能力置于首位。再加上许多机器运行专有代码,这些代码非常接近硬件,IT方面的IT/OT融合变得更加困难。如果这些机器不能说相同的语言,我们如何使它们彼此通信?

640?wx_fmt=other&wxfrom=5&wx_lazy=1&wx_co=1

嗯,我们需要一个翻译器——Python正好能够胜任这项任务。像OpenMTC这样的程序充当M2M和物联网应用程序的中间件或“软件胶水”。例如,如果我们将这个中间件放在像树莓派这样的设备上,然后Python脚本从一个来源获取数据,进行转换,并以另一台机器能够读取的格式发送到不同的机器。

640?wx_fmt=other&wxfrom=5&wx_lazy=1&wx_co=1

一个简单的示例是任何对温度敏感的制造过程。虽然机械可能无法自行调整温度,但它的温度计可以进行读数,如果温度越过某个阈值,那么它会通知中间件,然后中间件可以告诉加热器降低恒温器的温度。

我们可以将这个逻辑应用于依赖于另一台机器输出的任何机器。此外,我们不仅可以使用这种方法来集成当前的机器以提高性能,还可以打开通往新可能性的大门。

其中一个领域是无人驾驶汽车,通过与道路上的其他车辆通信,它们将优化交通模式,缩短通勤时间,减少事故发生率。可以预料的是,Python将是这个互联未来的关键模块。

总结

虽然我们最终可能不会使用Python来控制机器硬件或直接与制造设备进行接口,但这并不意味着Python没有工业应用。

当我们从大局角度看工业4.0时,我们发现数据是其关键特征。我们正在直接将数字世界叠加到物理世界上。这就是为什么我们需要Python的原因:为了弥合它们之间的差距,处理我们正在生成的前所未有的大量数据,并支持宏观控制。

更多推荐

Adobe Bridge 2024:解锁创意力的数字媒体利器

在当今数字化的时代,创意工作者们需要处理和管理大量的数字媒体资源,如照片、视频、音频等。为了提高工作效率和创作质量,他们需要一个功能强大、易于使用的工具来组织、浏览和共享这些媒体文件。幸运的是,AdobeBridge2024正好满足了这些需求,并成为让创意力得以解锁的数字媒体利器。首先,AdobeBridge2024提

金融贷款行业实时高精准获客 ——三网运营商大数据

都说生产是第一因素,但对于任何企业来说,客户来源才是第一因素。在大多数行业,获得客户的困难已经成为行业的挑战。如今,许多行业和企业获得客户的主要来源是在线促销和客户获取。现在几乎每个人都有一部手机。运营商可以根据移动客户的访问行为、通信行为、浏览行为和其他功能来探索他们的需求。运营大数据拥有海量的用户数据,包括众多领域

C++:初始化列表,static成员,友元,内部类

个人主页:个人主页个人专栏:《数据结构》《C语言》《C++》文章目录前言一、初始化列表二、static成员三、友元四、内部类总结前言本篇博客作为C++:初始化列表,static成员,友元,内部类的知识总结。一、初始化列表初始化列表:以冒号开始,接着是一个以逗号分隔的数据成员列表,每个“成员变量”后面跟一个放在括号中的初

STM32 CAN使用记录:bxCAN基础通讯

文章目录目的关键配置与代码轮询方式中断方式收发测试示例链接总结目的CAN是非常常用的一种数据总线,被广泛用在各种车辆系统中。这篇文章将对STM32中CAN的使用做个示例。CAN的一些基础介绍可以参考下面文章:《CAN基础概念》https://blog.csdn.net/Naisu_kun/article/details

第五章 数据库完整性

第五章数据库完整性数据库的完整性指数据的正确性和相容性正确性指数据是符合现实世界语义,反映了当前实际状况的相容性指数据库同一对象在不同关系表中的数据是符合逻辑的防止数据库中存在不符合语义的数据,也就是防止数据库存在不正确的数据防范对象不合语义的,不正确的数据数据的安全性保护数据库防止恶意的破坏和非法的存取防范对象非法用

动态负荷对电力系统摆幅曲线的影响研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。⛳️座右铭:行百里者,半于九十。📋📋📋本文目录如下:🎁🎁🎁目录💥1概述📚2运行结果🎉3参考文献🌈4Matlab代码实现💥1概述摆动曲线仿真是评估扰动后电力系统稳定性的重要工具。

Hbase分布式集群部署

目录一、环境说明二、部署Hbase2.1解压Hbase2.2移动解压包2.3修改hbase-env.sh文件2.4修改环境变量2.5修改hbase-site.xml文件2.6修改regionservers文件2.7分发hbase2.7.1分发hbase包2.7.2分发环境配置2.8启动hbase服务2.8.1环境生效2

【机器学习教程】二、逻辑回归:从概率到分类的利器

引言在机器学习领域中,逻辑回归(LogisticRegression)是一种经典的分类算法,被广泛应用于各种实际问题中。尽管名字中带有"回归"一词,但逻辑回归实际上是一种分类模型,它通过将输入数据映射到一个概率范围内来进行二分类或多分类任务。逻辑回归具有许多优点,如简单易懂、计算效率高以及对大规模数据集的可扩展性。本文

日志技术-Logback

日志技术将系统执行的信息,方便的记录到指定位置(控制台、文件、数据库)可以随时以开关的形式开关日志,无需入侵到源代码去修改日志接口:设计日志框架的统一标准注:有人对JCL接口不满意,就有了SLF4J。有人对log4j性能不满意,就有了LogBack,LogBack是基于SLF4J开发的依赖:下载:下载时注意不同版本JD

爬虫使用Selenium生成Cookie

在爬虫的世界中,有时候我们需要模拟登录来获取特定网站的数据,而使用Selenium登录并生成Cookie是一种常见且有效的方法。本文将为你介绍如何使用Selenium进行登录,并生成Cookie以便后续的爬取操作。让我们一起探索吧!一、Selenium简介1.定义:Selenium是一套自动化测试工具,可以模拟用户在浏

基于Python开发的AI智能联系人管理程序(源码+可执行程序+程序配置说明书+程序使用说明书)

一、项目简介本项目是一套基于Python开发的AI智能联系人管理程序,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Python学习者。包含:项目源码、项目文档等,该项目附带全部源码可作为毕设使用。项目都经过严格调试,确保可以运行!二、开发环境要求本系统的软件开发及运行环境具体如下。操作系统:Windo

热文推荐