1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > monty python读音-PYTHON – 让quot;Monty 语言”进入自动化行业:第 1 部分

monty python读音-PYTHON – 让quot;Monty 语言”进入自动化行业:第 1 部分

时间:2023-06-26 05:02:47

相关推荐

monty python读音-PYTHON – 让quot;Monty 语言”进入自动化行业:第 1 部分

只需以下 11行 Python语句,就能使用 Revolution Pi平台构建基于 PID控制的加热系统:

from simple_pid import PID

import revpimodio2

import time

TempController = PID(5.0, 0.13, 10.5, setpoint=400, output_limits=(0,100))

rpi = revpimodio2.RevPiModIO(autorefresh=True)

while True:

Temp = rpi.io.Temp10.value

PWMvalue = TempController(Temp)

rpi.io.PWM_heater1.value = int(PWMvalue)

rpi.io.PWM_heater2.value = int(PWMvalue)

time.sleep(0.05)

我们将控制什么?它是一种采用经典 PID控制和基于消息的 IoT的混合应用。我将使用一个模拟温度输入(连接 PT100传感器)和一个数字输出(带有两个由 PWM控制的 10W灯泡)来模拟加热器。当前温度报告至 MQTT代理,此代理再将数据提供给 Node-Red GUI。设置值可通过此 GUI进行调节,并由 MQTT传输至 Python PID控制软件。如果您对这些感兴趣,请继续阅读下文关于如何高效使用 Python语言完成自动化任务的逐步说明。

Python 是 IT 行业中常用的编程语言。然而,尽管它问世已有近 30 年,但是鲜少用于自动化行业和嵌入式系统。 年,C 和 C++ 语言仍然占据主导地位。但是随着 Raspberry P 以及 MicroPython 等针对 IoT 开发的系统的发展,情况开始有所改变。 年,IEEE Spectrum 排行榜连续第二年将 Python 列为编程语言的第一名,排在 C++ 和 C 语言之前。此外,Python 在 年嵌入式编程语言排名中甚至未能跻身前十名,而 年则一跃成为榜首。

近几年来,Python(该名字与单词字面意义上的"巨蟒”无关,而是取自 Monty Python)持续走红,排名蹿升也反映出它受欢迎的程度。在本文中,我不想探讨其中的原因,也不会比较在嵌入式系统中使用 Python 和 C 语言的优劣。如果您希望进行此类讨论,请以发起者的身份进行评论。

在自动化行业中,许多工程师在进行 PLC 编程时甚至不使用 C 语言,而是常常使用 IEC61131 语言。为了激发大家对 Python 的兴趣,我将演示如何通过 Revolution Pi 使用 Python 轻松控制工业 IO。请勿错过 Peter Oakes 和 Andrew Back 发表的关于 Revolution Pi 的精彩文章;Dave Ives 已演示过如何通过 Revolution Pi 使用 EN61131"结构化文本”语言。

我在演示中使用的设备如下:

Revolution Pi Core 3

1 个可至少提供 1A 电流的 24V 实验室电源(还可使用 DIN 导轨式开关电源,例如这款 36W Mean Well 设备:

2 个 24V 10W 汽车灯泡(例如

1 个 PT100 传感器(我使用的是四线制传感器,例如

1 台装有 Windows 操作系统的个人电脑,带互联网连接和开关,另配 1 根用于连接 RevPi Core 3 的网络电缆

(选配)示波器,用于检查 PWM 输出

如果您是第一次接触 Revolution Pi,请阅读 Andrew 和 Peter 发表的文章,以充分了解这款硬件和软件平台。您将学到如何将 Core 3 模块连接至 IO 模块,如何连接电源,以及如何使用中央处理图像访问所有的 IO。在制造商网页上,您还可以找到许多文字教程和视频教程。我搭建的装置如下:

请注意两个细节:

我见过许多人将 DIN 导轨安装在平放在台面上的底板上。如果 RevPi Core 是以这种布置方式工作,对 Raspberry 计算模块的冷却起到关键作用的层流气流将无法形成。请勿这样做!使用时务必使 RevPi 直立,这样才能有足够的空气从底部细缝进入,再从顶部细缝流出!

我还经常看到有人在使用 RevPi 模块时不连接 FE(功能接地)接线端子。这样会导致完整的浪涌电流,并使 ESD 保护失效。请勿这样做!即使在办公室桌面上,也至少应当将 FE 接线端子连接到 0V 接线端子。请勿混淆 PE(保护接地)和 FE 的概念!虽然 RevPi 模块不需要 PE(没有接触高压的风险),但是 FE 接线端子是将任何因浪涌、电快速瞬变脉冲群或 ESD 引起的破坏性能量导出模块的唯一途径。如果不连接,将使系统失去保护,从而暴露在这类破坏性环境能量下。

请参考印在 AIO 模块侧面的原理图,以检查是否正确连接了四线或三线 RTD 传感器。我使用 RTD1 输入端子连接该装置,并用 Out1 和 Out2 连接灯泡。请注意,两个 10W 灯泡需要消耗 24V 电源近 1A 的电流。连接 IO 电源时使用粗电线,并且仅使用高侧模式下的输出(这样每个输出最高可达 500mA,而推挽式只能达到 100mA)。

几天后,我们将发布第 2 部分博客文章,我将在其中逐步介绍如何安装将要使用的库和工具。请勿错过。订阅后可在文章发布时收到消息。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。