0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32F401RE(Nucleo-401RE 开发板):创建定制无线可编程逻辑控制器 (PLC)

丫丫119 来源:未知 作者:肖冰 2019-09-19 06:57 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

虽然工业 IoT 正在快速发展,但传统可编程逻辑控制器 (PLC) 提供的定制灵活性和连接性,却无法满足工业工程师的需求。然而,构建定制解决方案可能成本昂贵,而且非常耗时,同时在基于微控制器实现真正嵌入式解决方案方面,几乎没有工业工程师拥有相关的操作经验。

本文对 PLC 进行了简要介绍,然后说明了开发人员如何创建自己的无线 PLC,从而能够使用梯形逻辑来实现应用。

可编程逻辑控制器 (PLC) 简介

PLC 是一种耐用的计算机,用于在工业应用中实现特定流程的自动化。要实现自动化的流程非常广泛,从制造工厂的装配线到物联网建筑照明控制系统,以及中间涉及到的所有流程。

典型 PLC 架构包括(图 1):

带有内部 RAMROM 的中央处理单元

数字和模拟输入

数字和模拟输出

工业级电源

用于执行所需特性的逻辑应用程序

图 1:典型 PLC 架构包括一系列模拟和数字输入,这些输入按照逻辑应用程序处理和执行,然后驱动其用于模拟和数字输出的特性。(图片来源:Unitronics)

虽然市场上有很多传统 PLC 可供选择,但开发人员可能还是希望定制 PLC 特性,或者定制构建他们自己的器件。目前,多种不同的方式可用于实现此目的;但是,传统嵌入式系统工程师可以采用其中一种非常有趣的简单方式,也就是使用 STM32 开放式开发环境 (ODE)。

构建无线 PLC

要构建自己的无线 PLC,开发人员需要三个主要硬件组件:

CPU

输入/输出信号调节

Wi-Fi 模块

开发人员可以从头重新设计所有这些组件,或者也可以利用现有的生态系统。STMicroelectronics 推出了 STM32 开发人员工具包,包括所有这些组件,从而简化了 PLC 创建过程,另外还提供了用于开发梯形逻辑应用程序的基本软件。

现在,我们将探讨这些主要组件,以及让它们在工业环境中运行必须达到的条件。

我们要探讨的第一个组件是 CPU,本例中的 CPU 为STM32F401RE,来自STMicroelectronics。STM32F401RE 是一款 32 位 Arm®Cortex®-M4 处理器,并具有以下特点:工作频率 84 MHz、应用代码闪存空间 512 MB、RAM 96 KB。Nucleo-401RE评估板上提供了 STM32F401RE,还包括用于连接其他硬件的 Arduino 针座,以及用于为嵌入式软件编程的 ST-Link。所有 PLC 代码将在 Nucleo-401RE 上执行。

图 2:Nucleo-401RE 开发板构成了 PLC 控制器的基础,它包含 512 MB 的应用代码空间,以及用于存储数据的 96 KB RAM。(图片来源:STMicroelectronics)

构建 PLC 所必需的第二个组件是用于输入和输出的信号调节板。开发人员可以从两种信号调节板中进行选择,或者如果应用需要,也可以组合使用。

第一个是X-Nucleo-PLC01A1工业 I/O 扩展板(图 3)。X-Nucleo-PLC01A1 包含通过CLT01-38SQ7高速数字输入限流器的八个经过调节的输入。CLT01-38SQ7 可限制输入引脚能够消耗的电流,从而为 PLC 提供数字输入保护。另外,还有采用VNI8200XP单片式 8 通道驱动器进行调节的八个工业输出。这种驱动器具有极低供电电流、集成 SPI 接口和高能效 100 mA 微功耗降压型开关。VNI8200XP 提供八个片载固态继电器,每个继电器能够驱动高达 0.7 安培的电流。X-Nucleo-PLC01A1 还包括 LED 指示灯,以便从直观地查看每个输入和输出的状态,以及三个报警灯用于指示超温和其他板故障。X-Nucleo-PLC01A1 通过 SPI 通信链路与 Nucleo-401RE 进行通信。

图 3:X-Nucleo-PLC01A1 是一款工业级扩展板,可提供具有八个数字输入和八个数字输出的 PLC 应用。(图片来源:STMicroelectronics)

PLC 可能还需要能够控制高电流和模拟信号。X-Nucleo-PLC01A1 专为数字信号设计。为了控制其他信号,开发人员可以使用X-Nucleo-OUT01A1(图 4)。X-Nucleo-OUT01A1 包含 STMicroelectronics 的ISO8200BQ电位隔离八通道高压侧智能电源固态继电器。在将这些输出与 PLC01A1 进行比较时,一个很大差异是该扩展板能够在 10.5 至 33 伏特的电压范围内工作,实现模拟信号和数字信号之间的电位隔离。此外,该扩展板上还有几个 LED 指示灯,可用于指示是否发生了通信故障或热保护事件。

图 4:X-Nucleo-OUT01A1 是一款工业级扩展板,可提供具有八个继电器输出的 PLC 应用,其中这些输出能够处理高达 0.7 安培的电流。(图片来源:STMicroelectronics)

最后一个组件是无线芯片,可用于提供无线编程机制,或用于创建物联网连接的 PLC。开发人员可以使用X-Nucleo-IDW01M1,它是一款符合 802.11 b/g/n 标准的 Wi-Fi 扩展模块,同样来自 STMicroelectronics(图 5)。X-Nucleo-IDW01M1 经过 FCC、IC 和 CE 认证,带有集成天线,因而可随时直接用于生产系统。

图 5:X-Nucleo-IDW01M1 是一款工业级 Wi-Fi 模块,能够集成到 PLC 中以提供无线连接。(图片来源:STMicroelectronics)

借助上述所有三个组件,开发人员可以按照图 6 所示的顺序组装硬件 PLC。虽然也可以按照相反顺序组装开发板,这不会造成损坏,但将需要一些额外调试。万一需要将任何定制硬件添加到 PLC(例如 RS-485 芯片),开发人员可以使用Arduino原型开发扩展板,例如Proto Shield(来自Olimex)或AdafruitProto Shield。

图 6:组装 STMicroelectronics 开发板以构建功能 PLC 的顺序。(图片来源:Beningo Embedded Group)

设置 PLC 软件

我们需要使用多个软件来设置 PLC。其中包括:

PLC 嵌入式软件

嵌入式编译器

梯形逻辑应用程序

PLC 嵌入式软件 FP_IND_PLCWIFI1 由 STMicroelectronics 开发,可从 STM 网站下载。它包含让 STM32F401RE 投入运行所需的全部代码,还包含多种预设配置,具体取决于需要哪些硬件堆栈。该嵌入式软件附带了已针对 STM System Workbench、IAR Workbench 和 Keil MDK 设置的三个项目,并且可从http://www.st.com/en/embedded-software/fp-ind-plcwifi1.html下载(图 7)。开发人员可以使用其中任何一种设置,以便在 PLC 上编译和部署嵌入式软件。

图 7:运行 PLC 必需的嵌入式 PLC 应用程序包(图片来源:Beningo Embedded Group)

下载嵌入式应用程序之后,可将其导入所需的编译器 IDE 并进行编译。开发人员应该确保代码编译没有问题。然后,可通过与 PC 的标准 USB 连接,将编译的应用程序下载到 PLC。

最后,STMicro 还创建了简单的 PLC 应用程序,可用于创建梯形逻辑应用程序。该应用程序适用于 iOSAndroid。通过在移动设备的应用商店中搜索“ST PLC App”,可将该应用程序下载到移动设备上。

简单的应用程序示例

一旦 PLC 的嵌入式软件运行之后,开发人员便可以专注于使用 ST PLC 应用程序开发他们的应用代码。应用代码将使用梯形逻辑来开发。开发人员可以启动应用程序,并基于他们选择要包括在硬件堆栈中的开发板来创建新项目(图 8)。

图 8:通过使用 ST PLC 应用程序,开发人员可以创建新项目(左图红色突出显示),选择项目名称(右图橙色),然后配置将要使用的硬件(右图绿色)。(图片来源:Beningo Embedded Group)

配置项目之后,开发人员即可为应用程序创建梯级。第一个项目不妨简单地测试是否能够读取输入,以及基于该输入能否设置输出。开发人员可以通过如下方法来创建此测试:单击“Add rung”(添加梯级),然后实现在应用程序中必需的逻辑。一旦完成此操作之后,开发人员应该会创建一个类似图 9 左侧所示的梯级。

图 9:通过使用 ST PLC 应用程序,开发人员可以实现自己的逻辑,以便根据他们的需求来控制设备(左)。一旦创建应用程序之后,便可通过单击发送应用程序按钮(右),将其无线推送至 PLC。(图片来源:Beningo Embedded Group)

保存梯级之后,开发人员将返回到主项目屏幕。在该屏幕上,他们可以在应用程序中编辑梯级或创建更多梯级。如果准备部署应用程序,请单击图 9 右侧所示的无线传输按钮,这样可进行连接并传输 PLC 应用程序。请注意,开发人员必须将移动设备连接到 PLC 接入点,并配置端口和 IP 地址,这样才能成功传输应用程序。

构建无线 PLC 的技巧和诀窍

在创建自己的定制无线 PLC 时,开发人员可以遵循一些技巧和诀窍。其中包括:

如果无线开发板不工作,请确认开发板在堆栈上的方向正确。(即按正确的方向放置)

通过为 SSID 添加安全密钥,提升系统安全性。

将默认无线特性更改为站模式,并仅在更新过程中切换到接入点,从而更新 PLC。

考虑添加工业通信协议,例如 RS-485 和 Modbus。

快速构建 PLC 的最佳方式是将它视为一个有趣的问题,然后尝试使用 PLC 解决该问题。

使用 IAR Embedded Workbench for Arm 来编译 PLC 嵌入式软件。该工具链在 30 天内代码不受限。

结论

构建定制 PLC 不一定就那么困难。如本文所示,STMicroelectronics 提供的生态系统让开发人员能够开发基本 PLC 软件,并且极其快速地运行该软件。然后,开发人员还能够轻松地修改和定制该应用程序,以满足各种应用的需求和应对各种挑战。

虽然主要目标是使用梯形逻辑来创建最终应用代码,但如果开发人员拥有丰富的经验和知识,他们可以轻松地对嵌入式软件进行调整,构建更加强大和灵活的混合系统。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Nucleo
    +关注

    关注

    0

    文章

    36

    浏览量

    18232
  • STM32F401RE
    +关注

    关注

    0

    文章

    2

    浏览量

    4447
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    STMicroelectronics X-NUCLEO-OUT04A1扩展板数据手册

    Nucleo上的微控制器连接。该扩展板可连接到NUCLEO-F401RENUCLEO-G431RB开发板。 还可以评估由多达四个堆叠X-
    的头像 发表于 10-31 10:27 239次阅读
    STMicroelectronics X-<b class='flag-5'>NUCLEO</b>-OUT04A1扩展板数据手册

    ST X-NUCLEO-OUT03A1扩展板技术详解与工业应用指南

    NUCLEO-F401RENUCLEO-G431RB开发板。 还可以评估由多达四个堆叠式X-NUCLEO-OUT03A1扩展板组成的系统。
    的头像 发表于 10-31 10:12 229次阅读
    ST X-<b class='flag-5'>NUCLEO</b>-OUT03A1扩展板技术详解与工业应用指南

    STM32工业数字输出扩展板X-NUCLEO-OUT06A1技术详解

    (连接5.7A工业负载)。X-NUCLEO-OUT06A1通过5kV光耦合STM32 Nucleo上的微控制器连接,由GPIO引脚和Ar
    的头像 发表于 10-30 09:47 280次阅读
    <b class='flag-5'>STM32</b>工业数字输出扩展板X-<b class='flag-5'>NUCLEO</b>-OUT06A1技术详解

    STM32工业数字输出扩展板X-NUCLEO-OUT05A1技术解析与应用指南

    2.5A工业负载)。X-NUCLEO-OUT05A1通过5kV光耦合STM32 Nucleo上的微控制器连接,由GPIO引脚和Ardui
    的头像 发表于 10-29 16:19 480次阅读
    ‌<b class='flag-5'>STM32</b>工业数字输出扩展板X-<b class='flag-5'>NUCLEO</b>-OUT05A1技术解析与应用指南

    基于VL53L7CX ToF传感STM32开发套件技术解析与应用实践

    X-NUCLEO-53L7A1扩展板与 NUCLEO-F401RE开发板。STMicroelectronics P-NUCLEO-53L7A1评估套件为用户测试新想法并利用任何一款
    的头像 发表于 10-28 09:25 272次阅读
    基于VL53L7CX ToF传感<b class='flag-5'>器</b>的<b class='flag-5'>STM32</b><b class='flag-5'>开发</b>套件技术解析与应用实践

    X-NUCLEO-OUT01A2工业数字输出扩展板技术解析‌

    ISO8200BQ的诊断和驱动能力。该扩展板可连接至NUCLEO-F401RENUCLEO-G431RB STM32 Nucleo开发板
    的头像 发表于 10-24 09:33 266次阅读
    X-<b class='flag-5'>NUCLEO</b>-OUT01A2工业数字输出扩展板技术解析‌

    STM32 Nucleo-64开发板技术解析与应用指南

    ARDUINO^®^ Uno V3连接和ST morpho接头,可轻松扩展STM32 Nucleo开放式开发平台的功能。该设有板载ST-LINK调试
    的头像 发表于 10-22 14:26 402次阅读
    <b class='flag-5'>STM32</b> <b class='flag-5'>Nucleo</b>-64<b class='flag-5'>开发板</b>技术解析与应用指南

    STMicroelectronics NUCLEO-H533RE STM32 Nucleo-64开发板数据手册

    STMicroelectronics NUCLEO-H533RE STM32 Nucleo-64开发板为用户提供一种经济划算、灵活的方法来尝试新兴概念。用户可以从
    的头像 发表于 10-21 10:48 433次阅读
    STMicroelectronics <b class='flag-5'>NUCLEO-H533RE</b> <b class='flag-5'>STM32</b> <b class='flag-5'>Nucleo</b>-64<b class='flag-5'>开发板</b>数据手册

    STMicroelectronics NUCLEO-C071RB STM32 Nucleo-64开发板数据手册

    STMicroelectronics NUCLEO-C071RB STM32 Nucleo-64开发板带有板载STM32C071RB MC
    的头像 发表于 10-17 16:47 519次阅读
    STMicroelectronics <b class='flag-5'>NUCLEO</b>-C071RB <b class='flag-5'>STM32</b> <b class='flag-5'>Nucleo</b>-64<b class='flag-5'>开发板</b>数据手册

    STM32 Nucleo-64开发板技术解析与应用指南

    STMicroelectronics -C051C8 STM32 Nucleo-64开发板通过由STM32控制器为概念测试和原型
    的头像 发表于 10-16 10:50 401次阅读
    ‌<b class='flag-5'>STM32</b> <b class='flag-5'>Nucleo</b>-64<b class='flag-5'>开发板</b>技术解析与应用指南

    STM32 Nucleo-64开发板技术解析:以NUCLEO-C092RC为例

    用于STM32C092RC的STMicroelectronics NUCLEO-C092RC Nucleo-64开发板通过STM32
    的头像 发表于 10-16 10:26 333次阅读
    <b class='flag-5'>STM32</b> <b class='flag-5'>Nucleo</b>-64<b class='flag-5'>开发板</b>技术解析:以<b class='flag-5'>NUCLEO</b>-C092RC为例

    可编程逻辑控制器PLC是什么?如何实现上网通信?

    可编程逻辑控制器PLC)是一种专为工业环境设计的数字运算操作电子系统,其核心是通过可编程存储
    的头像 发表于 09-22 17:27 607次阅读

    H5U系列可编程逻辑控制器指令手册

    INOVANCE汇川-H5U系列可编程逻辑控制器指令手册-中文
    发表于 04-30 16:38 7次下载

    STM32F401RE的SDIO接口最大支持多大容量的TF卡?最大可以支持多少G?

    STM32F401RE的SDIO接口最大支持多大容量的TF卡?最大可以支持多少G?有支持大容量的芯片吗?
    发表于 03-07 10:53

    PLC可编程控制器的简介

    PLC的英文全称为Programmable Logic Controller,也就是可编程序控制器。它是一种将计算机技术与继电器技术结合起来的现代化自动控制装置,1969年,美国数字化设备公司研制出
    的头像 发表于 12-23 09:09 2060次阅读