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

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

3天内不再提示

CAT1 RTU软硬件设计开源资料分析(TCP协议+Modbus协议+GNSS定位版本 )

jf_94171069 来源:jf_94171069 作者:jf_94171069 2024-09-20 17:19 次阅读

一、CAT1 RTU方案简介

远程终端单元( Remote Terminal Unit,RTU),一种针对通信距离较长和工业现场环境恶劣而设计的具有模块化结构的、特殊的计算机测控单元,它将末端检测仪表和执行机构与远程控制中心相连接。

奇迹TCP RTU+GNSS+Modbus版本的RTU,用于将远程现场的传感器和执行器数据传输到中央控制系统或监控中心。RTU 通常用于工业自动化、能源管理、环境监测等领域,它可以收集和传输各种类型的数据,如温度、压力、流量、电流、电压等,可以对各种类型的传感器进行远程控制。

二、CAT1 RTU方案的硬件设计分享

1.硬件功能概述

奇迹TCP RTU+GNSS+Modbus版本的RTU具有5*6贴片卡/外置SIM卡/全网通卡功能,支持北斗/GPS定位,支持卡基站定位,内嵌看门狗,掉线自动恢复。标准工业RS232/485接口,可以支持6-20V的宽电压输入,支持5路DO,5路DI,1路AI

TCP RTU+GNSS+Modbus版本的RTU为用户提供标准固件以及对应源码,以及对应的TCP透传、GNSS、DI、DO、AI、Modbus等功能的操作例程。

2.产品硬件定义

2.1 系统框图:

wKgaombtPUKAId1EAANU6WWfhnQ100.png

2.2 HaaS框图:

AM430EV5系列SOM板:

AM430EV5 SOM板4(5*6卡/GNSS)Haas框图

wKgaombtPUyAd7W2AADsHvc1_DA387.png

AM430EV5 SOM板5(全网通卡/GNSS)Haas框图

wKgZombtPViAWePFAAD3VA2YdFg437.png

AM430EV5 SOM板6(插拔卡/GNSS)Haas框图

wKgZombtPWiAJufcAADrQGPpEMs425.png

REV1主板Haas框图

wKgaombtPXOAEaC9AAHxAgbEH5M178.png

2.3 SCH原理图拆解分析:

AM430EV5系列SOM板SCH:

详情点击此处。

REV1主板SCH:

详情点击此处。

三、CAT1 RTU方案的软件设计分享

1.软件功能概述

功能概述:

网络通讯功能:为了实现远程控制中心对终端测控单元的控制,RTU首先应该具备联网的能力,通过网络将两者连接起来。实现了网络通讯,就要考虑网络稳定的问题,如果不稳定,需要实现断线重连等。服务器确定设备目前在线

参数配置功能:网络通讯可以选择TCP,MQTT等协议。连接TCP服务器,需要配置TCP服务器地址,端口号等参数;连接MQTT服务器需要配置鉴权信息,订阅和发布的Topic等参数。此外,其它复杂功能,也会涉及到一些参数的配置。

网络参数配置功能:上述功能实现后,可以考虑后期维护过程中,当RTU现场维护不方便,使用网络对其进行配置的方式。配置的方式可以选择多种形式,可以将上面的指令稍微修改,也可以另外写一份协议。

心跳功能:当RTU和远程服务器建立连接后,服务器判断设备是否在线,需要RTU定时发送一串数据给服务器,用通信来确认RTU在线。

远程控制功能:依托上述功能的实现,可以轻松地制定一些协议,远程服务器通过下发对应的协议,来控制RTU的DI、DO、AI等接口。控制方式包括读写、定时写、IO联动等。

Modbus功能:工业现场控制中,很多设备都支持Modbus协议。因此RTU实现Modbus协议很有必要。因为大多数设备都是通过01H、02H、03H、04H、05H、06H来控制,所以实现这些功能码基本可以满足工业现场控制设备的需求。

2.软件功能定义

2.1 软件实现功能:

AT指令配置设备运行参数,包括:服务器连接IP、端口号;心跳包开启/关闭;心跳包内容;注册包模式;注册包内容。以及复位和查询相关配置参数指令。

可随时选择进入、退出透传模式

心跳保持功能,心跳间隔可配置

网络重连功能

理论上可以发送无限长度数据包

波特率固定为115200,可以根据客户需求定制

网络AT指令和JSON协议配置功能,可以通过服务器下发远程AT指令配置

支持远程升级

支持5路DI,DI可以配置为,上拉/下拉,初始电平,主动上报,定时上报,可以单独读某一路,可以5路同时读

支持5路DO,包含,可配上拉/下拉,初始电平,重启状态,可以单独设置某一路的输出电平,也可以同时设置5路的输出电平

支持1路AI,可以采集4 - 20mA的电流,可以配置阈值,按照配置触发报警,周期上报

闹钟功能,DO定时执行设置动作

IO联动,DI/AI作为输入源,DO跟随动作,包括正向跟随、反向跟随DI;阈值内、阈值外执行相应动作

支持设置50组(01H 02H 03H 04H 05H 06H)指令,设置两组(10H)指令。支持按照设置的功能码等配置,通过Modbus轮训,支持Modbus RTU,JSON三种协议格式上报。

2.2 软件功能模块分析:

按照上面的分析,开发的过程就是实现一个个组件,几个组件完成一个模块,几个模块完成一个项目的开发。

开发过程会从核心组件验证,完整代码详解,调试三个章节来讲,如何使用服务层API或应用层组件中的代码实现组件和模块,从而完成整个项目。

2.3 软件流程图:

wKgaombtPYSAG36TAAU-tbUohIc662.png

3.基开发豆平台开发分析

我们的目的是做一款RTU,根据RTU应该具有的的功能,代码可以分为:数据存储模块,AT指令模块,切卡模块,透传模式切换模块,TCP模块,心跳模块,掉线重连模块,GNSS模块,DI模块,DO模块,AI模块,JSON模块,闹钟模块,Modbus模块。

模块是根据相似的功能,把对应的代码放到同一个源文件中。每个功能算作一个组件,不同组件组合以来,构成了模块的主要功能。

数据存储组件:包括文件创建,初始化,读写,关闭等。

AT指令组件:包括串口初始化,串口数据接收,发送,数据分析,AT指令解析

切卡组件:包括GPIO初始化,复位切卡

透传模式切换组件:包括串口初始化,串口数据接收,发送,数据分析,切换模式

掉线重连组件:包括连接状态检测,掉线重连

TCP组件:包括参数配置,创建Socket,连接服务器,发送,接收数据

心跳组件:包括参数配置,定时发送

GNSS组件:包括参数配置,串口初始化,串口数据接收,数据分析,模式切换,定时上报

DI组件:包括参数配置,GPIO初始化,中断检测,模式切换,定时上报,中断上报

AI组件:包括参数配置,ADC接口初始化,电流计算,定时上报

DO组件:包括参数配置,GPIO初始化,模式切换,定时上报,跟随DI或者AI

闹钟组件:包括参数配置,定时,超时动作

JSON组件:包括数据接收,解析,数据发送

Modbus组件:包括参数配置,数据接收,解析,数据发送

上述模块功能大致是按照依赖顺序来的,下面的模块实现可能要基于上面的组件。

AT指令模块

心跳模块

TCP网络模块

网络AT模块

主任务模块

升级模块

IO模块

文件模块

JSON协议模块

DO模块

DI模块

AI模块

MODBUS模块

四、CAT1 RTU方案成果展示

1.SCH的讲解和Geber文件资料

详情请点击此处:https://rckrv97mzx.feishu.cn/wiki/Mm3PwKqybiYQe8k41XLcxts4nNb?fromScene=spaceOverview

2.Datasheet

详情请点击此处:https://rckrv97mzx.feishu.cn/wiki/WhDsw6PjiiHjnykCKlXcnnK6nBb?fromScene=spaceOverview

3.AT指令手册

详情请点击此处:https://rckrv97mzx.feishu.cn/wiki/AmMKw2qh2ixigakGoo3c4UawnOe?fromScene=spaceOverview

4.产品BOM

详情请点击此处:https://rckrv97mzx.feishu.cn/wiki/MteSwCtS9ijenVkjafxcEEfEnDV?fromScene=spaceOverview

5.固件下载链接

详情请点击此处:‍‬‬​​​​​​​​‍​‬‌‍‬​⁠‬⁠​​​‌‬‍‬‌​​​​​​‌​​​‍​​⁠‬​​https://rckrv97mzx.feishu.cn/wiki/SZy6wTNGZiOXr1kun3FcoJTsnUg?fromScene=spaceOverview

五、如何了解更多CAT1 RTU方案

本文章源自奇迹物联开源的物联网应用知识库Cellular IoT Wiki,更多技术干货欢迎关注收藏Wiki:Cellular IoT Wiki 知识库(https://rckrv97mzx.feishu.cn/wiki/wikcnBvAC9WOkEYG5CLqGwm6PHf)

欢迎同学们走进AmazIOT知识库的世界!

这里是为物联网人构建的技术应用百科,以便帮助你更快更简单的开发物联网产品。

Cellular IoT Wiki初心:

在我们长期投身于蜂窝物联网 ODM/OEM 解决方案的实践过程中,一直被物联网技术碎片化与产业资源碎片化的问题所困扰。从产品定义、芯片选型,到软硬件研发和测试,物联网技术的碎片化以及产业资源的碎片化,始终对团队的产品开发交付质量和效率形成制约。为了减少因物联网碎片化而带来的重复开发工作,我们着手对物联网开发中高频应用的技术知识进行沉淀管理,并基于 Bloom OS 搭建了不同平台的 RTOS 应用生态。后来我们发现,很多物联网产品开发团队都面临着相似的困扰,于是,我们决定向全体物联网行业开发者开放奇迹物联内部沉淀的应用技术知识库 Wiki,期望能为更多物联网产品开发者减轻一些重复造轮子的负担。

Cellular IoT Wiki沉淀的技术内容方向如下:

wKgaombqoM2AYL2RAAQrZ8e-uz8392.jpg

奇迹物联的业务服务范围:基于自研的NB-IoT、Cat1、Cat4等物联网模组,为客户物联网ODM/OEM解决方案服务。我们的研发技术中心在石家庄,PCBA生产基地分布在深圳、石家庄、北京三个工厂,满足不同区域&不同量产规模&不同产品开发阶段的生产制造任务。跟传统PCBA工厂最大的区别是我们只服务物联网行业客户。

连接我们,和10000+物联网开发者一起 降低技术和成本门槛

让蜂窝物联网应用更简单~~

哈哈你终于滑到最重要的模块了,

千万不!要!划!走!忍住冲动!~

欢迎加入飞书“开源技术交流”,随时找到我们哦~

点击链接如何加入奇迹物联技术话题群(https://rckrv97mzx.feishu.cn/docx/Xskpd1cFQo7hu9x5EuicbsjTnTf)可以获取加入技术话题群攻略

Hey 物联网从业者,

你是否有了解过奇迹物联的官方公众号“eSIM物联工场”呢?

这里是奇迹物联的物联网应用技术开源wiki主阵地,欢迎关注公众号,不迷路~

及时获得最新物联网应用技术沉淀发布

审核编辑 黄宇

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

    关注

    2894

    文章

    43301

    浏览量

    366348
  • ModBus协议
    +关注

    关注

    3

    文章

    166

    浏览量

    33314
  • GNSS
    +关注

    关注

    9

    文章

    722

    浏览量

    47632
  • TCP协议
    +关注

    关注

    1

    文章

    89

    浏览量

    12044
收藏 人收藏

    评论

    相关推荐

    Modbus库开发笔记之十一:关于Modbus协议栈开发的说明

    Modbus协议在串行链路上的实现指南》GB/T 19582.3-2008 《基于Modbus协议的工业自动化网络规范 第1部分:Modbus协议
    发表于 08-27 20:32

    modbus协议讲解modbus-rtu以及modbus-tcp协议详解

    modbus协议讲解modbus-rtu以及modbus-tcp协议详解,见附件。
    发表于 03-01 10:14

    Modbus TCP协议学习笔记分享

    公司于1979年开发,是一种工业现场总线协议标准。1996年施耐德公司推出基于以太网TCP/IP的modbus协议:modbusTCP。Modbus协议是一项应用层报文传输
    发表于 07-01 10:36

    modbus协议笔记

    1 Modbus协议概要​ Modbus通信协议由Modicon公司(现在的施耐德电气Schneider Electric)于1979年为可编程逻辑控制(即PLC)通信而发表。目前,
    发表于 07-02 07:17

    Modbus-RTU协议模式学习下载

    1.Modbus定义: 是一种串行通信协议,一开始是为使用PLC(即可编程逻辑控制器)设备通信而发表,已成为工业上通信协议的标准,是工业电子设备间常用连接方式。2.Modbus协议组成
    发表于 07-02 06:12

    MODBUS协议和RS485硬件电路两者之间的联系

    文章目录前言一、RS4851.介绍2.两者之间的联系二、通信格式1.MODBUS协议2.通信代码总结前言Modbus 是属于工业上常用的通讯协议,包括RTU、ASCII、
    发表于 11-30 07:41

    Modbus-RTU协议包括哪些呢

    Modbus-RTUModbus 一个工业上常用的通讯协议、一种通讯约定。Modbus协议包括RTU、ASCII、TCP。其中
    发表于 02-16 07:43

    如何快速实现Modbus RTUModbus TCP协议转换?

    Modbus协议是工业现场串口设备之间常用的连接方式,其中最常见的就是Modbus RTUModbus TCP两种。许多工厂需要将现场各种
    发表于 08-18 18:36

    基于RT-Thread实现的Agile Modbus协议

    基于 RT-Thread 实现的支持 Modbus 固件升级的 Bootloader:HPM6750_Boot  特性  支持 rtutcp 协议,使用纯 C 开发,不涉及任何
    发表于 10-08 15:04

    Modbus协议的理解

    系统的兼容,最好采用通用的通讯协议。   我们可以Modbus协议进行修改,使之能使用在自己的系统中。Modbus协议包括ASCII、RTUTCP
    发表于 05-05 16:47

    Modbus-RTU协议

    Modbus-RTUModbus 一个工业上常用的通讯协议、一种通讯约定。Modbus协议包括RTU、ASCII、TCP。其中
    发表于 12-20 18:48 38次下载
    <b class='flag-5'>Modbus-RTU</b><b class='flag-5'>协议</b>

    BL124采集Modbus RTUModbus TCP协议

    Modbus网关BL120是一款专注于Modbus协议之间相互转换的通信设备。Modbus网关BL120支持多种下行采集协议,包括Modbus
    的头像 发表于 04-29 16:28 307次阅读
    BL124采集<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>和<b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b><b class='flag-5'>协议</b>

    红豆Cat 1开源 项目一: 从0-1设计一款TCP版本RTU 支持Modbus+GNSS 产品的软硬件全过程

    软硬件定义、硬件设计分析、软件设计分析,并详细讲解单一功能点功能模块的验证过程和测试验证方法。通过学习本内容,初学者可以在 1-2 天内完
    的头像 发表于 07-10 17:36 263次阅读
    红豆<b class='flag-5'>Cat</b> <b class='flag-5'>1</b><b class='flag-5'>开源</b> 项目一: 从0-<b class='flag-5'>1</b>设计一款<b class='flag-5'>TCP</b><b class='flag-5'>版本</b><b class='flag-5'>RTU</b> 支持<b class='flag-5'>Modbus+GNSS</b> 产品的<b class='flag-5'>软硬件</b>全过程

    Modbus网关实现Modbus RTUModbus TCP协议相互转换

    钡铼Modbus网关BL120是一款专注于Modbus协议转换的通信设备,支持Modbus RTUModbus
    的头像 发表于 08-02 15:13 352次阅读
    <b class='flag-5'>Modbus</b>网关实现<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>和<b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b><b class='flag-5'>协议</b>相互转换

    NB DTU/RTU软硬件设计开源资料分析TCP协议+MQTT协议+GNSS定位

    一 、系统综述 1 项目综述 NB DTU/RTU开源产品,使用奇迹的AM21EV5/V6模组作为主控,支持NB通讯和GNSS,支持通过上位机配置相应信息,将普通产品数据通过边缘网络设
    的头像 发表于 09-20 16:44 52次阅读
    NB DTU/<b class='flag-5'>RTU</b><b class='flag-5'>软硬件</b>设计<b class='flag-5'>开源</b><b class='flag-5'>资料</b><b class='flag-5'>分析</b>(<b class='flag-5'>TCP</b><b class='flag-5'>协议</b>+MQTT<b class='flag-5'>协议</b>+<b class='flag-5'>GNSS</b><b class='flag-5'>定位</b>)