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

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

3天内不再提示

米尔-全志T113-i开发板与modbus设备的连接和操作

发烧电子爱好者 来源:发烧电子爱好者 作者:发烧电子爱好者 2024-03-21 19:42 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

继前面开发环境设置和libmodbus库的移植后,本文主要介绍通过米尔-全志T113-i开发板实现与modbus设备的连接和操作。

一、设备简介

刚好手头有个modbus温度传感设备。

wKgaomX8EOeAR5JAAAKvN_gAOcc390.png

各种参数也挺好,就直接拿来用了。

wKgaomX8EwSAUdPPAAGsM04qiDk282.png

二、程序设计

目标功能就是读取温度传感设备的温度,libmodbus库提供了相关API,跟网络编程的socket一样好用。

wKgaomX8FJiAII_2AAC7-NeaflI048.png

涉及的主要API包括:modbus_new_rtu、modbus_set_slave、modbus_read_registers和modbus_close 以及 modbus_free等接口。顾名思义,各种API的功能都很清晰。

具体程序功能包括周期性读取连接到米尔-全志T113-i开发板上的温度传感器,源码如下:

#include < errno.h >
#include < modbus.h >
#include < stdio.h >
#include < stdlib.h >
#include < string.h >
#include < unistd.h >

int main(int argc, char *argv[])
{
    uint16_t tab_reg[2];
    modbus_t *ctx;
    int i;
    int rc;
    uint32_t *ireal;

    ctx = modbus_new_rtu("/dev/ttyAS4", 115200, 'N', 8, 1);
    if (ctx == NULL) {
        fprintf(stderr, "Unable to allocate libmodbus contextn");
        return -1;
    }
	
    modbus_set_debug(ctx, TRUE);
    modbus_set_slave(ctx, 1);
    if (modbus_connect(ctx) == -1) {
        fprintf(stderr, "Connection failed: %sn", modbus_strerror(errno));
        modbus_free(ctx);
        return -1;
    }

   while(1)
   {
        printf("--------------------n");
        rc = modbus_read_registers(ctx, 0x0000, 1, tab_reg);
        if(rc == -1)
        {   fprintf(stderr,"%sn",modbus_strerror(errno));
            return -1;
        }
      for(i=0; i< 2; i++)
      {
         printf("reg[%d] = %d(0x%x)n",i,tab_reg[i],tab_reg[i]);
      }
	  ireal = (uint32_t *)tab_reg;
	  printf("Resd data %f n", (*ireal)/10.0);
	  
      usleep(1000000);
   }

     modbus_close(ctx);
     modbus_free(ctx);
     return 0;
}

其它Modbus的协议在此不再接受,网络上到处都是。

三、功能执行

首先根据线序连接好温度传感器和米尔-全志T113-i开发板。

wKgZomX8FvyAfJoxAAlLmObiNL4342.jpg

编译好源码。

root@EliteDesk800:~/libmodbus-3.1.10/tests$ make
make  all-am
make[1]: Entering directory '/home/libmodbus-3.1.10/tests'
  CC       mod-client.o
  CCLD     mod-client
make[1]: Leaving directory '/home/libmodbus-3.1.10/tests'
root@EliteDesk800:~

再将编译后的可执行程序SCP至米尔-全志T113-i开发板上,chmod + x后再执行。

wKgaomX8F3uAGJxEAAH2zJflafI026.png

其中的debug信息是modbus_set_debug函数设置的结果打印log。
根据执行结果,读出的温度OK。

四、结论

1、米尔-全志T113-i开发板提供了丰富的接口和稳定的操作系统环境,很适合工业控制软件程序开发;
2、依托libmodbus这个modbus协议库,对于linux应用下的modbus通信开发,简直就是一款神器,能够极大的方便工业控制程序的开发。

审核编辑 黄宇

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

    关注

    28

    文章

    2521

    浏览量

    83783
  • 开发板
    +关注

    关注

    26

    文章

    6423

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    米尔T153开发板评测】介绍、环境搭建、工程测试

    Interface 2.54mm 间距的 40PIN 排针,CAN/I2C/SPI/UART/GPIO 详见:T153核心
    发表于 03-28 13:23

    新品!从MINI到工业米尔T153开发板工业场景覆盖

    正式推出基于同款T153四核异构工业处理器的MYD-YT153MX工业开发板,两款开发板形成完整组合,下面来详细介绍工业
    的头像 发表于 03-27 08:03 2057次阅读
    新品!从MINI到工业<b class='flag-5'>板</b>:<b class='flag-5'>米尔</b><b class='flag-5'>T</b>153<b class='flag-5'>开发板</b>工业场景<b class='flag-5'>全</b>覆盖

    有奖丨米尔 T153 MINI开发板免费试用来啦

    米尔合作发布的新品基于T153应用处理器的MYD-YT153MX-MINI
    的头像 发表于 01-29 08:04 586次阅读
    有奖丨<b class='flag-5'>米尔</b><b class='flag-5'>全</b><b class='flag-5'>志</b> <b class='flag-5'>T</b>153 MINI<b class='flag-5'>开发板</b>免费试用来啦

    米尔电子获科技生态认证,共推工业智能化升级

    工业级核心开发板被市场的高度认可,米尔电子的系列产品已广泛应用于工业自动化、机器人及边
    的头像 发表于 10-16 08:06 889次阅读
    ‌<b class='flag-5'>米尔</b>电子获<b class='flag-5'>全</b><b class='flag-5'>志</b>科技生态认证,共推工业智能化升级

    国产!T113-i 双核Cortex-A7@1.2GHz 工业开发板—ARM + FPGA通信案例

    本文主要介绍基于科技T113与FPGA的核间通信案例,适用开发环境如下。
    的头像 发表于 08-19 11:16 1527次阅读
    国产!<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113-i</b> 双核Cortex-A7@1.2GHz 工业<b class='flag-5'>开发板</b>—ARM + FPGA通信案例

    国产!T113-i 双核Cortex-A7@1.2GHz 工业开发板—ARM + DSP、RISC-V核间通信开发案例

    本文档主要介绍T113-i处理器的ARM + DSP、RISC-V核间通信开发案例,演示T113-i处理器ARM Cortex-A7与HiFi4 DSP核心、玄铁C906 RISC-V核心的核间通信。
    的头像 发表于 08-18 14:03 1143次阅读
    国产!<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113-i</b> 双核Cortex-A7@1.2GHz 工业<b class='flag-5'>开发板</b>—ARM + DSP、RISC-V核间通信<b class='flag-5'>开发</b>案例

    国产!T113-i 双核Cortex-A7@1.2GHz 工业开发板—RISC-V案例开发手册(上)

    本文档主要介绍T113-i处理器的RISC-V案例开发,演示RISC-V核心RTOS案例的编译与加载方法。适用开发环境如下。
    的头像 发表于 08-13 11:34 14.8w次阅读
    国产!<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113-i</b> 双核Cortex-A7@1.2GHz 工业<b class='flag-5'>开发板</b>—RISC-V案例<b class='flag-5'>开发</b>手册(上)

    国产!T113-i 双核Cortex-A7@1.2GHz 工业开发板—DSP案例开发手册

    本文档主要介绍T113-i处理器的HiFi4 DSP核心开发案例,演示HiFi4 DSP核心RTOS案例的工程编译、程序固化和工程调试的方法。适用开发环境如下。
    的头像 发表于 08-12 11:37 1008次阅读
    国产!<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113-i</b> 双核Cortex-A7@1.2GHz 工业<b class='flag-5'>开发板</b>—DSP案例<b class='flag-5'>开发</b>手册

    【创龙TLT113-MiniEVM开发板试用体验】开箱评测

    一、基本信息 开发板型号 :TLT113-MiniEVM(基于T113-i工业级处理器) 开箱日期 :2025年8月 二、包装与配件清单
    发表于 08-05 19:59

    CODESYS + T113-i + 国产系统OneOS,打造新一代工业控制解决方案!

    创龙科技与中移物联网有限公司、CODESYS携手合作,成功实现了T113-i工业评估对国产系统OneOS + CODESYS软件的适配,此举将让工业自动化领域的工程师们更高效地开发,并为众多企业产品的快速上市提供强有力的保障。
    的头像 发表于 07-08 17:27 1440次阅读
    CODESYS + <b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113-i</b> + 国产系统OneOS,打造新一代工业控制解决方案!

    多协议物联网关的方案测试-基于米尔T536开发板

    本文将介绍基于米尔电子MYD-LT536开发板米尔基于T536
    发表于 06-20 15:44

    基于米尔T536开发板的多协议物联网关的方案测试

    本文将介绍基于米尔电子MYD-LT536开发板米尔基于T536
    的头像 发表于 06-19 08:03 2270次阅读
    基于<b class='flag-5'>米尔</b><b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T</b>536<b class='flag-5'>开发板</b>的多协议物联网关的方案测试

    米尔-T536开发板试用体验】- 连接电脑通讯与操作测试

    米尔-T536开发板试用体验】连接电脑运行测试大信(QQ:8125036)从电子发烧友网申
    发表于 06-10 11:11

    T113-i开机Logo花屏问题排查与解决指南

    前言:开机Logo作为设备启动的第一视觉印象,直接影响用户体验与产品形象。在T113-i平台开发中,因
    的头像 发表于 06-06 08:33 1753次阅读
    <b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113-i</b>开机Logo花屏问题排查与解决指南

    基于米尔T536开发板的视频识别应用方案

    本文将介绍基于米尔电子MYD-LT536开发板米尔基于T536
    的头像 发表于 06-05 08:01 2481次阅读
    基于<b class='flag-5'>米尔</b><b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T</b>536<b class='flag-5'>开发板</b>的视频识别应用方案