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

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

3天内不再提示

常用IO设备节点详解

ZLG致远电子 2023-09-14 08:27 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文介绍如何通过EsDA开发套件,快速熟悉常用IO设备节点及其使用方法,大大缩短了用户对EsDA的学习开发周期。

本文选用EPC6450-AWI开发板,以及图形化设计工具AWFlow Designer进行测试讲解,对常用IO设备节点和使用方法进行详细说明。

42aa604e-5295-11ee-a20b-92fbcf53809c.jpg  常用节点简介本文将对gpio引脚电平操作的gpio节点,gpio_in节点,gpio_out节点三个节点,对led灯操作的led节点,对按键操作的button节点,对adc通道采集的adc节点进行详细描述。1. gpio节点1.1 查看帮助文档

在搜索框中输入gpio关键字即可检索出gpio节点,点击gpio节点即可看到右边弹出gpio节点的帮助文档界面,里面包含节点的简介以及属性,输入和输出的相关参数介绍。用户可以在此操作下找寻相关节点的帮助文档去了解节点的相关参数。

42b2ce50-5295-11ee-a20b-92fbcf53809c.png

此节点将属性值“GPIO序号”配置为GPIO输入模式。因该节点为filter类型节点,所以有1输入1输出,当本节点输入值msg.payload不为0时,则读取属性值“GPIO序号”的电平值作为输出;若输入值msg.payload为0则不将读取到的引脚电平值进行输出传递,此时无输出。1.2 属性

  • 名称:可用于索引查找本节点;
  • 显示名称:用于画布上显示的名称,仅做显示;
  • GPIO序号:对需要操作的GPIO引脚序号进行选定,此引脚序号与目标板的丝印一一对应;
  • 模式:设置GPIO序号引脚的输入模式,float是浮空输入,pull up是输入上拉,pull down是输入下拉。

1.3 输入

msg.payload :不为0则表示读取属性值“GPIO序号”的电平值,为0则不将读取到的电平值进行输出传递给下一个节点。

所有节点的输入参数都是由上级节点的输出提供的,且通常为msg对象携带的对应属性参数。

1.4 输出

msg.payload:输出的数据,需要注意的是只有当输入的msg.payload不为0时才有输出,0表示读取属性值“GPIO序号”的电平值为低电平,1表示读取到的是高电平。

1.5 加载demo示例

在相关节点的帮助文档旁边有一个示例,点击后则可以看到对应的节点demo示例,选中查看的demo示例,并加载到项目中即可查看。42d7a8ec-5295-11ee-a20b-92fbcf53809c.png1.6 自定义demo1.6.1 绘制流图添加timer,fscript,gpio,fscript节点到画布中并连线如下图。

42e76f16-5295-11ee-a20b-92fbcf53809c.png

1.6.2 节点配置timer节点周期性的触发fscript节点,需要更改周期性的时长可双击timer节点,修改属性值“定时周期”即可。而fscript节点作为gpio的上级节点,那么传递的则是gpio的输入值,在此希望能周期性的读取电平值,所以msg.payload的值不为0即可,gpio的上级节点fscript的内容:

msg.payload = 666

双击gpio节点,选择目标板对应丝印的GPIO序号,在此选择的模式是浮空输入如下图。
42f721fe-5295-11ee-a20b-92fbcf53809c.png

gpio节点的消费者fscript节点作为输出,直接打印gpio节点的输出值显示电平值即可,gpio节点的消费者fscript节点内容如下:

print("read gpio level value is "+msg.payload)

将此流图下载到目标板后,连接调试串口后,打开串口助手,改变UTX5的电平值可得到如下显示:

4302e00c-5295-11ee-a20b-92fbcf53809c.png2. gpio_in节点

将GPIO配置为输入模式,并轮询读取电平状态且将其作为输出值。与gpio节点功能类似,都是配置为输入模式且可以将读取到的电平值作为输出,只不过gpio_in是不间断循环的输出,并且gpio节点还加了一个是否开启读电平的输入。

2.1 属性

名称:可用于索引查找本节点;

显示名称:用于画布上显示的名称,仅做显示;

GPIO序号:对需要操作的GPIO引脚序号进行选定,此引脚序号与目标板的丝印一一对应;

模式:设置GPIO序号引脚的输入模式,float是浮空输入,pull up是输入上拉,pull down是输入下拉;

轮询:是否开启以设定值去轮询的读取GPIO序号的电平状态,off则关闭用设定值去轮询读取电平状态而使用默认的50ms去轮询读取,on则以设定值去轮询读取电平状态值;

轮询间隔(ms):以设定值去轮询读取电平状态,设置生效的前提是轮询需为on。

2.2 输出

  • msg.payload:属性值“GPIO序号”的电平状态值,0为低电平,1为高电平;

msg.topic:固定输出gpio_in字符串。

pump类型节点无输入,相关类型节点介绍可查看AWFlow节点开发指南进行更多的了解。

2.3 使用方法

2.3.1 绘制流图

添加timer,fscript,log节点到画布中并连接如下图所示:

430eaaa4-5295-11ee-a20b-92fbcf53809c.png

2.3.2 节点配置双击gpio_in节点,选择目标板对应丝印的GPIO序号,在此选择的模式是浮空输入,开启以设定值2000ms去轮询读取gpio电平状态值如下图所示。4324debe-5295-11ee-a20b-92fbcf53809c.png

gpio_in节点的消费者节点fscript是对gpio_in的输出参数进行输出显示,内容如下:

msg.payload = "read gpio status is " + msg.payload + "\n" + "msg.topic:"+msg.topic

用log节点对上一级节点的msg.payload输出到调试窗口进行显示。

2.3.3 下载验证

将此流图以下载运行的模式下载到目标板后,可在AWFlow Designer的调试窗口查看到如下信息:

433bebe0-5295-11ee-a20b-92fbcf53809c.png

3. gpio_out节点

配置为GPIO输出,将输入的msg.payload的值设置为GPIO的电平值。

3.1 属性

名称:可用于索引查找本节点;

显示名称:用于画布上显示的名称,仅做显示;

GPIO序号:对需要操作的GPIO引脚序号进行选定,此引脚序号与目标板的丝印一一对应;

模式:设置GPIO输出模式,push pull为推挽输出模式,open drain为开漏输出模式;

GPIO初始状态:设置GPIO初始输出的状态值,0为低电平,1为高电平。

3.2 输入

msg.payload:设置属性GPIO序号的输出电平值,0为低电平,1为高电平,2为电平翻转。

sink类型节点无输出。

3.3 使用方法

3.3.1 绘制流图添加timer,fscript,gpio_out节点到画布中,并连线如下图所示。

43588084-5295-11ee-a20b-92fbcf53809c.png

3.3.2 节点配置timer节点周期性定时触发fscript节点,这里的timer的属性定时周期值配置为3000ms,而fscript节点作为gpio_out节点的上一级节点,主要内容是设置gpio_out的输入参数,内容如下:

if(((msg.payload/1000)%2)==0) { msg.payload = 0 print("low level\n")}else { msg.payload = 1 print("high level\n")}

双击gpio_out节点,选择目标板对应丝印的GPIO序号,在此选择的模式是推挽输出。

436d67a6-5295-11ee-a20b-92fbcf53809c.png

3.3.3 下载验证

下载流图到目标板后,可以用万用表去查询GPIO序号对应的引脚电平值可知,电平是周期性的翻转。

4. led节点

该节点主要有两种模式,一种是设置led灯的状态,一种是设置快闪灯。

4.1 属性

名称:可用于索引查找本节点;

显示名称:用于画布上显示的名称,仅做显示;

led设备名称:Led设备名称,可根据不同的目标板对应丝印进行设备选择;

初始状态:对选中的led的设备设置初始状态值,0为led灯的初始状态为灭,1为led灯的初始状态为亮。

4.2 输入

  • msg.device_name:led设备名称,将与属性值“led设备名称”进行对比,若不同则该节点功能无效;
  • msg.payload:模式一,设置led的状态值。0为关闭led灯,1为开启led灯,2为翻转led灯;
  • msg.timer:模式二,快闪灯。该输入参数为设置定时闪烁的时间,单位ms,若为0则关闭快闪,大于0则设置闪烁间隔时间;

msg.fast_blink:模式二,快闪灯。设置定时快闪的次数,在定时闪烁周期中的快闪次数,输入参数msg.timer与msg.fast_blink需同步设置才能生效。

sink类型节点无输出。

4.3 设置灯状态示例

4.3.1 绘制流图

添加timer,fscript,led节点到画布中并连线如下图所示:

438233d4-5295-11ee-a20b-92fbcf53809c.png

4.3.2 节点配置

timer节点周期性的去设置led灯的状态值,fscript节点作为led的上一级节点,其内容主要是对led设备状态的设置:

msg.payload = 2

双击led节点,在属性“led设备名称”的下拉框中选择对应丝印的LED设备如下:

438f3980-5295-11ee-a20b-92fbcf53809c.png

4.3.3 下载验证下载流图后可看到RUN灯周期性的3s翻转一次。

4.4 快闪灯示例

4.4.1 绘制流图

添加gpio_in,fscript,led节点到画布,并连线如下图所示:

439ea79e-5295-11ee-a20b-92fbcf53809c.png

4.4.2 节点配置

双击gpio_in节点,本节点主要作用就是运行流图后只触发一次fscript节点,所以要开启定时轮询,且轮询间隔需设置尽量大一点如下图所示:

43b4004e-5295-11ee-a20b-92fbcf53809c.png

fscript节点作为led的上一级节点,主要内容是led相关的输入参数,内容如下:

if(msg.payload == 0) { msg.timer = 2000 msg.device_name = "/dev/led_run" msg.fast_blink = 2 print("fast led\n")}

双击led节点,在属性“led设备名称”的下拉框中选择对应丝印的LED设备如下:

43c84e6e-5295-11ee-a20b-92fbcf53809c.png

4.4.3 下载验证

下载流图到目标板后,对gpio_in节点配置的引脚进行电平置低,5s内切换到高电平后即可看到led灯2s闪烁2次的实验现象。

5. button节点5.1 属性

  • 名称:可用于索引查找本节点;
  • 显示名称:用于画布上显示的名称,仅做显示;
  • 对应的GPIO编号:对需要操作的GPIO引脚序号进行选定,此引脚序号与目标板的丝印一一对应;
  • 触发条件:按钮按下时的触发条件,fall表示按钮按下的触发条件为GPIO下降沿触发,up表示按钮按下的触发条件为GPIO上升沿触发。

5.2 输出msg.payload :按钮按下状态输出为on,松开状态输出为off,在初始化完成以及按钮状态发生改变的时候会输出当前的状态。

pump类型节点没有输入。

5.3 使用方法

5.3.1 绘制流图

添加button,fscript,led节点到画布中并连线如下图所示:

43d9ae7a-5295-11ee-a20b-92fbcf53809c.png

5.3.2 节点配置

双击button节点,对需要操作的引脚进行选择如下:43e879c8-5295-11ee-a20b-92fbcf53809c.png

fscript节点作为button的消费者节点,内容是button的相关输出参数:

if(msg.payload == "on"){ msg.payload = 1}else if(msg.payload == "off") { msg.payload = 0}

双击led节点,选择闪灯的led设备。

5.3.3 下载验证

下载流图后,对button配置的按钮进行按下和松开的操作可以看到相应led灯的效果。

6. adc节点

6.1 属性

  • 名称:可用于索引查找本节点;
  • 显示名称:用于画布上显示的名称,仅做显示;
  • 通道号:进行采样的ADC通道号,可根据不同的目标板对应丝印进行设备选择;
  • 采集次数:ADC 通道对ADC值的采集次数;
  • 采样率:ADC通道号采样率(每秒ADC的采样次数)。

6.2 输出

  • msg.payload:通道采样的最终电压值(mv);
  • msg.vref:基准电压;
  • msg.bits:ADC通道位数;

msg.rate:ADC通道采样率。

pump类型节点没有输入。

6.3 使用方法

6.3.1 绘制流图

添加adc,fscript,log节点到画布中并连线。

43f68cde-5295-11ee-a20b-92fbcf53809c.png

6.3.2 节点配置

双击adc选择对应丝印的ADC设备如下:

4406d788-5295-11ee-a20b-92fbcf53809c.png

fscript节点作为adc的消费者节点,其内容主要是adc的相关输出参数:

msg.payload = "adc value is "+msg.payload

log节点对上一级fscript节点进行输出显示。6.3.3 下载流图

下载流图后,对adc配置的通道号进行不同电压值的采样结果如下:

44198ac2-5295-11ee-a20b-92fbcf53809c.png

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

    关注

    0

    文章

    505

    浏览量

    41862
  • 设备
    +关注

    关注

    2

    文章

    4781

    浏览量

    73262
  • ESDA
    +关注

    关注

    0

    文章

    28

    浏览量

    7959
  • 开发板
    +关注

    关注

    25

    文章

    6122

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    超实用!一页搞定威纶通IO显示

    IO监控画面是自动化设备中用于快速诊断故障的常用功能。然而,当设备IO点数量众多时,往往需要配置多个监控画面,这一过程不仅繁琐易错,也降低了
    的头像 发表于 11-12 15:42 297次阅读
    超实用!一页搞定威纶通<b class='flag-5'>IO</b>显示

    Node-RED工业节点推荐:Modbus、PLC、OPC UA、MQTT 都能搞定!

    / ASCII 三种模式,是最常用的工业通信节点。 应用场景 电表、电能分析仪、温控器、传感器等设备的数据采集 多通道
    的头像 发表于 10-13 18:02 710次阅读
    Node-RED工业<b class='flag-5'>节点</b>推荐:Modbus、PLC、OPC UA、MQTT 都能搞定!

    常用的谐波检测设备有哪些?

    常用的谐波检测设备按 “使用场景(长期 / 临时 / 校准)” 和 “功能定位(监测 / 分析 / 校准)” 可分为在线式谐波监测装置、便携式谐波分析仪、实验室谐波标准源三大类,另有配套的采样辅助
    的头像 发表于 10-13 16:44 558次阅读

    干货分享 | TSMaster IO功能使用指南—基于同星带IO设备的配置与操作步骤

    IO模块是一种用于连接计算机系统或控制系统与外部设备之间的接口模块。数字IO模块用于处理二进制信号的输入和输出,它们可以接收和发送数字信号,通常用于控制逻辑开关、触发器和其他数字
    的头像 发表于 08-09 20:04 709次阅读
    干货分享 | TSMaster <b class='flag-5'>IO</b>功能使用指南—基于同星带<b class='flag-5'>IO</b><b class='flag-5'>设备</b>的配置与操作步骤

    远程IO模块技术详解:2025年行业标准与应用方案选型指南

    随着工业4.0和物联网(IoT)的深入推进,远程IO模块作为工业自动化控制系统的重要组成部分,正在各行各业发挥越来越关键的作用。其核心功能是进行分布式数据采集、信号处理和设备控制,为工业生产、智慧
    的头像 发表于 08-06 13:09 916次阅读

    一文详解Advanced IO wizard异步模式

    7nm Versal系列相对于16nm Ultrascale plus系列,IO做了升级,U+系列的HPIO在Versal升级为XPIO。Versal系列每一个XPIO bank包含54个IO管脚
    的头像 发表于 07-11 09:52 1194次阅读
    一文<b class='flag-5'>详解</b>Advanced <b class='flag-5'>IO</b> wizard异步模式

    达梦数据库常用管理SQL命令详解

    达梦数据库常用管理SQL命令详解
    的头像 发表于 06-17 15:12 6558次阅读
    达梦数据库<b class='flag-5'>常用</b>管理SQL命令<b class='flag-5'>详解</b>

    数据采集的关键节点设备是什么

    数据采集是从各种数据源中获取所需信息的过程,其关键节点设备根据应用场景、采集对象和技术需求的不同而有所差异。以下是一些常见的数据采集关键节点设备及其功能和应用场景的详细介绍: 传感器(
    的头像 发表于 06-13 09:15 749次阅读
    数据采集的关键<b class='flag-5'>节点</b><b class='flag-5'>设备</b>是什么

    SSH常用命令详解

    SSH常用命令详解
    的头像 发表于 06-04 11:30 1703次阅读

    广成科技Profinet IO设备的应用场景

    Profinet IO作为工业以太网通信协议,凭借其实时性、灵活性和开放性,在工业自动化领域有广泛的应用。
    的头像 发表于 05-21 11:31 794次阅读

    电子电路设计中常用的接地方式详解

    在电子电路设计中,接地方式的选择至关重要,它直接影响到电路的稳定性、抗干扰能力和安全性。以下是电子电路设计中常用的几种接地方式的详解: 一、浮地 1. 定义:浮地是指电路或设备与公共地线可能引起环流
    的头像 发表于 04-17 16:24 1334次阅读
    电子电路设计中<b class='flag-5'>常用</b>的接地方式<b class='flag-5'>详解</b>

    Kubernetes Pod常用管理命令详解

    Kubernetes Pod常用管理命令详解
    的头像 发表于 02-17 14:06 977次阅读
    Kubernetes Pod<b class='flag-5'>常用</b>管理命令<b class='flag-5'>详解</b>

    分布式 IO 模块:水稻加工设备的智能 “中枢”

    在水稻加工行业,如何提升设备的运行效率、保障加工质量,一直是从业者们不懈探索的重要课题。随着科技的不断进步,明达技术推出的MR30分布式 IO 模块作为一种先进的控制技术,正悄然走进水稻加工领域,为水稻加工设备的升级与优化注入了
    的头像 发表于 02-13 09:25 653次阅读
    分布式 <b class='flag-5'>IO</b> 模块:水稻加工<b class='flag-5'>设备</b>的智能 “中枢”

    远程IO模块怎么用

    在工业自动化和物联网(IoT)领域,远程IO(输入/输出)采集模块扮演着至关重要的角色,允许系统远程监控和控制各种设备状态,从而实现更高效、灵活的数据采集和控制流程。 远程IO模块是一种硬件
    的头像 发表于 01-21 16:55 1136次阅读

    明达IO——助力冶金设备智能化升级

    在现代冶金工业的宏大舞台上,设备的高效稳定运行是确保生产顺利进行、产品质量卓越以及企业竞争力强劲的核心要素。明达技术MR30分布式 IO 模块的出现,宛如一颗璀璨的科技之星,为冶金设备的智能化革新注入了澎湃动力,正引领着冶金行业
    的头像 发表于 12-05 11:39 673次阅读
    明达<b class='flag-5'>IO</b>——助力冶金<b class='flag-5'>设备</b>智能化升级