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

    文章

    2384

    浏览量

    82226
  • 开发板
    +关注

    关注

    25

    文章

    6121

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

    本文档主要介绍T113-i处理器的RISC-V案例开发,演示RISC-V核心RTOS案例的编译与加载方法。适用开发环境如下。
    的头像 发表于 08-13 11:34 3.7w次阅读
    国产!<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>手册(上)

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

    本文将介绍基于米尔电子MYD-LT536开发板米尔基于T536
    的头像 发表于 06-19 08:03 1465次阅读
    基于<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

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

    本文将介绍基于米尔电子MYD-LT536开发板米尔基于T536
    的头像 发表于 06-05 08:01 1768次阅读
    基于<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>的视频识别应用方案

    1分钟学会T113-i核心串口调试技巧

    前言:本篇开始将对T113-i这款极具性价比的工业评估的使用和调试展开介绍。通过这些使用技巧和调试方法可以让您快速上手,加深对于评估
    的头像 发表于 04-10 08:31 1118次阅读
    1分钟学会<b class='flag-5'>T113-i</b>核心<b class='flag-5'>板</b>串口调试技巧

    OpenCV行人检测应用方案--基于米尔T527开发板

    本文将介绍基于米尔电子MYD-LT527开发板米尔基于T527
    的头像 发表于 04-10 08:03 1096次阅读
    OpenCV行人检测应用方案--基于<b class='flag-5'>米尔</b><b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T</b>527<b class='flag-5'>开发板</b>

    国产开发板米尔T113-i如何实现ARM+RISC-V+DSP协同计算?

    、实时性要求差异大,单一架构无法满足所有需求。因此米尔推出MYD-YT113i开发板(基于T113-
    发表于 03-21 16:50

    一篇文章玩转T113的ARM+RSIC V+DSP三核异构!

    (基于T113-i)来应对这一市场需求。米尔基于T1
    的头像 发表于 03-20 08:04 2158次阅读
    一篇文章玩转<b class='flag-5'>T113</b>的ARM+RSIC V+DSP三核异构!

    【正点原子】T113-i开发板资料震撼来袭!异核开发、工控设计方案!

    【正点原子】T113-i开发板震撼来袭!异核开发、工控设计方案!ATK-DLT113IS
    发表于 03-13 15:37

    实用调试技能:T113-i 音视频测试

    前言:音视频功能是现代嵌入式系统中的核心应用之一,尤其在T113-i开发板中,其丰富的音视频接口为开发者提供了强大的
    的头像 发表于 03-06 08:31 2242次阅读
    实用调试技能:<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113-i</b> 音视频测试

    哇!5.2秒进入应用界面!Linux快速启动方案分享,基于T113-i国产平台

    本帖最后由 Tronlong创龙科技 于 2025-1-23 10:30 编辑 本文主要介绍基于创龙科技TLT113-EVM评估(基于T
    发表于 01-23 09:53

    T113-S3开发板网络通信

    电子EVM-T113-S3是一款基于T113-S3双核ARMCortex-A7多核处理器设计的国产工业评估,主频高达1.2GHz。评估
    的头像 发表于 12-26 08:32 1984次阅读
    <b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113</b>-S3<b class='flag-5'>开发板</b>网络通信

    实战案例 | 基于T113-i 的星闪模组适配之路

    前言:星闪技术(NearLink)是新一代近距离无线连接技术,拥有低延时、高吞吐、高并发的特点,将进一步扩大其在消费电子产品及工业领域的广泛应用。T113系列作为当下热门的国产工业
    的头像 发表于 12-26 08:32 3885次阅读
    实战案例 | 基于<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113-i</b> 的星闪模组适配之路

    有奖丨米尔 T536开发板免费试用

    米尔合作发布的新品基于T536应用处理器的MYD-LT536-GK
    的头像 发表于 12-26 08:05 1306次阅读
    有奖丨<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>免费试用

    如何用OpenCV进行手势识别--基于米尔T527开发板

    本文将介绍基于米尔电子MYD-LT527开发板米尔基于T527
    的头像 发表于 12-13 08:04 1758次阅读
    如何用OpenCV进行手势识别--基于<b class='flag-5'>米尔</b><b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T</b>527<b class='flag-5'>开发板</b>