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

    文章

    27

    浏览量

    17418
  • STM32F401RE
    +关注

    关注

    0

    文章

    2

    浏览量

    4251
收藏 人收藏

    评论

    相关推荐

    霍尔传感AH401/AH401F/AH402F广泛用于电机控制

    霍尔传感AH401/AH401F/AH402F广泛用于电机控制
    的头像 发表于 08-19 09:47 480次阅读
    霍尔传感<b class='flag-5'>器</b>AH<b class='flag-5'>401</b>/AH<b class='flag-5'>401F</b>/AH402<b class='flag-5'>F</b>广泛用于电机<b class='flag-5'>控制</b>

    TMP401 ±1°C可编程、远程和本地数字输出温度传感数据表

    电子发烧友网站提供《TMP401 ±1°C可编程、远程和本地数字输出温度传感数据表.pdf》资料免费下载
    发表于 08-13 10:17 0次下载
    TMP<b class='flag-5'>401</b> ±1°C<b class='flag-5'>可编程</b>、远程和本地数字输出温度传感<b class='flag-5'>器</b>数据表

    可编程逻辑控制器的特点与用途

    随着工业自动化技术的不断发展,可编程逻辑控制器PLC)作为其核心控制设备,发挥着至关重要的作用。PLC
    的头像 发表于 06-19 14:16 722次阅读

    变频驱动可编程逻辑控制器的区别

    在工业自动化领域中,变频驱动(变频)和可编程逻辑控制器PLC)是两种重要的
    的头像 发表于 06-12 11:36 827次阅读

    可编程逻辑控制器的基本功能

    可编程逻辑控制器(Programmable Logic Controller,简称PLC)作为现代工业自动化控制领域的核心设备之一,已经广泛
    的头像 发表于 06-03 15:10 810次阅读

    可编程逻辑控制器和微控制器的区别

    在电子技术和工业自动化领域中,可编程逻辑控制器PLC)和微控制器(MCU)是两种常用的控制设备
    的头像 发表于 06-03 14:52 856次阅读

    PLC可编程逻辑控制器)的升级方式有哪些呢?

    PLC可编程逻辑控制器)的升级通常包括硬件升级和软件升级两个方面。
    的头像 发表于 05-27 11:26 746次阅读

    STM32F401RE-Nucleo的BIN能直接用于STM32F411RE-Nucleo吗 ?

    各位猜猜看:STM32F401RE-Nucleo的BIN能直接用于 STM32F411RE-Nucleo吗 ? 可以试试看哦。
    发表于 05-13 09:01

    STM32F401RE修改EGR寄存时,SR寄存值随之变化,这是什么情况?

    STM32F401RE,TIMER2,IAR环境:发现修改EGR寄存时,SR寄存值随之变化,这是什么情况?
    发表于 05-11 07:40

    Nucleo-F401RE下载bin断电后再上电bin文件丢失的原因?

    手上有一块NUCLEO-F401RE的板子,这两天用来跑了下Mbed的mbed-examples-led-blink的例程。在网上编译后直接下载bin文件到Nucleo映射在电脑的移动U盘里。板子
    发表于 04-28 08:04

    nucleof401RE通过usb烧录完以后断电重新上电代码就没有了,怎么解决?

    我手里有一个nucleo f401RE的板子,但是我发现每次我通过usb烧录完以后断电重新上电代码就没有了,请问怎么解决呀
    发表于 04-17 07:22

    PLC可编程逻辑控制器)利用Modbus通讯可以完成哪些任务呢?

    PLC可编程逻辑控制器)利用Modbus通讯可以完成多种任务,以下是其中的一些主要应用
    的头像 发表于 04-11 15:41 620次阅读

    NUCLEO-G474RE开发板的例程在哪儿下载?如和用usb和pc串口通信?

    NUCLEO-G474RE这个开发板的例程在哪儿下载啊,不知道如和用他的usb和pc串口通信
    发表于 03-18 08:22

    极海APM32F407可编程逻辑控制器PLC应用概述

    PLC可编程逻辑控制器)作为可控制、执行和监控自动化机器设备的数字运算操作电子系统
    的头像 发表于 03-05 18:11 1275次阅读
    极海APM32<b class='flag-5'>F</b>407<b class='flag-5'>可编程</b><b class='flag-5'>逻辑</b><b class='flag-5'>控制器</b><b class='flag-5'>PLC</b>应用概述

    可编程控制器的组成 可编程控制器有哪些特点?

    可编程控制器(Programmable Logic Controller,PLC)是一种使用数字计算机技术和专用外设实现工业过程自动化控制的设备。它在工业生产中起到了非常重要的作用。本文将详细介绍
    的头像 发表于 01-18 11:18 1481次阅读