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

news2024/11/20 3:24:14

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的原因:为了弥合它们之间的差距,处理我们正在生成的前所未有的大量数据,并支持宏观控制。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OceanBase Docker体验

实验一:OceanBase Docker体验 通过 OceanBase Docker 容器,快速的体验 OceanBase 的 自动化部署过程,以及了解 OceanBase 集群安装成功后的目录特点和使用方法。 Docker镜像 实验环境 实验环境说明 1台OCP 5台OBSERVER aarch64 Kylin Lin…

【效率提升】maven 转 gradle 实战 | 京东云技术团队

一、灵魂三问 1、gradle 是什么? 一个打包工具, 是一个开源构建自动化工具,足够灵活,可以构建几乎任何类型的软件,高性能、可扩展、能洞察等。其中洞察,可以用于分析构建过程中数据,提供分析参…

龙讯LONTIUM LT8712EXI 国产芯片

1.描述 该LT8712EXI是一种高性能的类型-C/DP1.2HDMI2.0/VGA转换器,旨在连接一个USB类型C源或DP1.2源到一个VGA接收器,并高达两个HDMI2.0接收器同时。 该LT8712EXI集成了一个DP1.2兼容接收器(MST能力),一个高速三通道…

浅谈SpringMVC的请求流程

目录标题 浅谈SpringMVC的请求流程SpringMVC的介绍SpringMVC的逻辑概念运行图解知识总结 浅谈SpringMVC的请求流程 对于SpringMVC而言重点是了解它的底层运行逻辑,从而可以根据其逻辑来进行实际业务的操作或者是利用原理增强业务的功能性,最终达到项目预…

免备案海外服务器有什么好处?

介绍一:了解海外服务器免备案的优点 免备案海外服务器是指在国外搭建网站服务器而不是在国内备案,这种模式可以带来一定的便利 。首先,海外服务器免备案可以使网站更加稳定,因为国外网络环境更加稳定,大多数国外服务 器…

并查集题目

并查集是一种十分常用并且好用的数据结构 并查集可以动态维护若干个不重叠的集合,支持合并与查询操作,是一种树形的数据结构 并查集的基础应用 村村通 对于这道题我们只需要求连通块的数量,然后将这几个联通快看成点,我们可以知…

【算法练习Day3】 移除链表元素设计链表反转链表

​ ​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:练题 🎯长路漫漫浩浩,万事皆有期待 文章目录 移除链表元素其他问题 设…

【LeetCode热题100】--53.最大子数组和

53.最大子数组和 使用动态规划: 状态定义:设动态规划列表dp,dp[i]代表以元素nums[i]为结尾的连续子数组最大和 转移方程:若dp[i-1]≤0,说明dp[i-1]对dp[i]产生负贡献,即dp[i-1]nums[i]还不如nums[i]本身大 初始状态&…

基于Python+Pygame实现一个俄罗斯方块小游戏【完整代码】

俄罗斯方块,一款起源于上世纪80年代的经典电子游戏,凭借简单的规则和独特的魅力,一跃成为全球家喻户晓的经典。你知道其实只需要一些基础的编程知识,就可以自己实现它吗?今天,我们将使用Python的Pygame库&a…

2023年前端流行什么技术和框架了?

Web前端三大主流框架有React、Vue.js和Angular,由于接触过Vue.js,接下来主讲最新的Vue3.0! Vue3.0作为最新版本的Vue.js框架,拥有更强大的性能和更丰富的功能,为低代码开发平台注入了全新的活力。而JNPF快速开发平台作…

Anchor DETR

Anchor DETR(AAAI 2022) 改进: 提出了基于anchor的对象查询提出Attention变体-RCDA 在以前DETR中,目标的查询是一组可学习的embedding。然而,每个可学习的embedding都没有明确的意义 (因为是随机初始化的)&#xff…

2024年天津专升本文化课考试大纲发生了哪些变化

2024年天津专升本文化课考试语文、数学、计算机、英语最新大纲发生了哪些变化 高职升本科《计算机应用基础》大纲更改详解:新增计算机发展新技术、win7变更为 win10、word2010变为word2019、 新 增其他常用功能模块、Excel2010变 更为Excel2019、新增演示文稿制作软件PowerPoi…

iPhone15线下购买,苹果零售店前门店排长队

今年的苹果新品发布会于北京时间 9 月 13 日凌晨举行,并于 9 月 15 日(周五)开启订购,9 月 22 日(周五)起正式发售。 据多位网友反馈,首批苹果 iPhone15 系列手机、Apple Watch Ultra 2 / Seri…

VBA技术资料MF59:从二维变体数组中删除一行数据

【分享成果,随喜正能量】小小的善业,能赢来大的利益,小小的恶业,同样也能招致严重的后果。这正如古语所云:“莫以善小而不为,莫以恶小而为之。。 我给VBA的定义:VBA是个人小型自动化处理的有效…

【数据库】Sql Server 2022通过临时表和游标遍历方式逻辑处理获取目标数据

2023年,第39周。给自己一个目标,然后坚持总会有收货,不信你试试! 今天有个小伙伴咨询一个Sql Server处理数据的问题,刚好重温下SqlServer临时表和游标的知识点 目录 一、需求点描述二、临时表2.1、局部临时表&#xff…

计算机网络相关知识点

谈一谈对OSI七层模型和TCP/IP四层模型的理解? 这两种模型都是网络通信中重要的参考模型,他们的设计和功能有一些区别。 首先OSI,OSI七层模型,也被称为开放系统互联参考模型,是一种在国际标准化组织(ISO)中…

网络知识——局域网和交换机

定义: 局域网(Local Area Network,简称LAN)是指在某一区域内由多台计算机互联成的计算机组。广域网(Wide Area Network,简称WAN)是指跨越单个建筑物或大型园区,连接分布在特定地理区…

2023 Sui Builder House全球之旅圆满收官

2023年的最后一场Builder House于上周在新加坡举行,包括主题演讲、小组讨论和研讨会等聚焦Sui的现在和未来的活动。其中,zkLogin是本次活动的最大亮点。作为一种新的Sui原语,zkLogin允许用户使用Web2身份验证创建帐户,有望推动大规…

计算机网络常见问题

1.谈一谈对OSI七层模型和TCP/IP四层模型的理解? 1.1.为什么要分层? 在计算机中网络是个复杂的系统,不同的网络与网络之间由于协议,设备,软件等各种原因在协调和通讯时容易产生各种各样的问题。例如:各物流…

通过 BigQuery 中的 11 个新链增强 Google Cloud 的区块链数据服务

2018 年初,Google Cloud 与社区合作,通过BigQuery 公共数据集实现区块链数据民主化;2019 年,又扩展了六个数据集;今天,我们在 BigQuery 公共数据集中添加了 11 个最受欢迎的区块链预览版。我们也在对该程序…