实现FreeModbus协议所需要的软/硬件需求
The hardware requirements are minimal - Any reasonable microcontroller with a serial interface, at least some RAM to hold the modbus frames should suffice.
A UART which support and interrupts and has at least an receiver buffer full and transmit buffer empty interrupt.
A timer capable of creating the t3.5 character timeout timer for Modbus RTU.
实现Modbus协议对硬件的需求是极其少的-任何一个具有串行接口和一定量的能够处理modbus数据帧的RAM就足够了。
一个支持中断的异步串行接口,该中断至少包括接收缓冲区满中断和发送寄存器空中断
一个定时器,用以产生Modbus的RTU模式所需要的T3.5个字符的超时时间
For the software part a simple event queue is necessary. The STR71X/FreeRTOS port uses FreeRTOS queues for this purpose to reduce the time spent in the Modbus task. Smaller microcontrollers will most likely come without an operating system. In that case a simple implementation with a global variable is possible (The Atmel AVR port uses such an implementation).
对于软件部分而言,实现Modbus仅仅需要一个简单的事件队列。在STR71X/FreeRTOS 的移植中,使用了FreeRTOS的队列来实现了该事件队列以降低处理Modbus任务时的时间消耗。较小的微控制器往往不使用实时内核,在这种情况下,可以通过全局变量的使用来实现这个事件队列(Atmel的AVR控制器的移植中使用了该方法)。
The actual memory requirements depend on the used modules. The first table shows the required memory with all supported functions compiled in. Values for the ARM where obtained using the GNUARM compiler collection 3.4.4 with -O1 in ARM mode. The AVR values where obtained using the WinAVR compiler collection 3.4.5 with -Os.
实际的内存需求量决定于使用的模块的多少。第一个表列出了所有功能模块所需要的内存量。对应ARM来讲,内存量的获取是通过使用GNUARM编译器在使用-O1命令下统计得来的。AVR所需要得内存量是通过WINAVR编译器在使用-Os命令下统计得来得。Module ARM Code ARM RAM (static) AVR Code AVR RAM (static)
Modbus RTU (Required) 1132Byte 272Byte 1456Byte 266Byte
Modbus ASCII (Optional) 1612Byte 28Byte 1222Byte 16Byte
Modbus Functions [1] 1180Byte 34Byte 1602Byte 34Byte
Modbus Core (Required) 924Byte 180Byte 608Byte 75Byte
Porting Layer (Required [2]) 1756Byte 16Byte 704Byte 7Byte
Totals 7304Byte 530Byte 5592Byte 398Byte
[1]: Actual size depends on the available Modbus functions. They are configurable in the header file mbconfig.h.
[2]: Depends on the hardware.
相关推荐
FreeModbus 移植笔记- 1-认识FreeModbus
FreeModbus 移植笔记 目录 1 FreeMODBUS介绍 2 FreeMODBUS官网及源码下载地址 3 移植之前的准备 3.1FreeModbus V1.6 3.2Modbus 3.3 Modbus Registers 3.4Modbus Configuration 3.5Utilities 3.6移植和头文件 3.7FreeModbus Examples 3.8Port...
FreeModbus ascill工作模式数据接收发送分析
文章目录1. ASCII帧结构介绍2. FreeModBus ASCII工作模式发送数据代码分析3. FreeModBus ASCII工作模式接收数据代码分析 前面分析代码一直是拿RTU工作模式来分析的,不知道ascill工作模式有何不同。其实除了帧起始和末尾格式有些差异外,其它基本是一致的。大概的差异点有下面几点 1.ASCII是以字符’:‘开始,以回车 换行结束-’\r,’\n’(CR,LF...
FreeModbus——介绍(二)
参考自百度百科,里面还有移植介绍,非常详细1. FreeMODBUS是一个人写的协议。它是一个针对嵌入式应用的一个免费(自由)的通用协议的移植。2. FreeMODBUS 提供了RTU/ASCII 传输模式及支持3. FreeModbus不能做主机。
Hardware Recommendations【硬件推荐】
2019独角兽企业重金招聘Python工程师标准>>> ...
一文说清freemodbus如何实现RTU协议
通过详尽分析freemodbus的代码结构与运行逻辑,揭示其如何高效实现Modbus RTU协议的串行通信过程。重点剖析帧处理、定时控制与状态机设计,帮助开发者快速掌握freemodbus在实际嵌入式项目中的应用技巧。
STM32平台下FreeModbus TCP协议栈集成指南
深入讲解在STM32平台如何移植和配置freemodbus协议栈,实现TCP通信功能。结合嵌入式开发细节,帮助开发者快速掌握freemodbus的应用与调试技巧。
FreeModbus开源协议简介
个人笔记,供个人查阅。FreeModbus是奥地利人写的Modbus协议,主要针对嵌入式应用的免费通用Modbus协议的移植。modbus通信协议栈包括两层:应用层协议(定义了数据模型和功能)和网络层。FreeModbus提供了RTU/ASCII传输模式和TCP协议支持,遵循BSD许可证(意味着用户可以将FreeModbus应用于商业环境中)。
FreeModbus ASCII传输
首先,在使能modbus协议栈的时候,会调用pvMBFrameStartCur函数 /* 使能modbus */ eMBErrorCode eMBEnable(void) { eMBErrorCode eStatus = MB_ENOERR; /* modbus还未使能 */ if(eMBState == STATE_DISABLED) { /* 启动modbus */ pv...
10分钟教你玩起来freemodbus
源码获取 本节教程源码资料获取方式: 1、公众号后台回复“modbus” 2、小飞哥gitee仓库自提 3、留言区获取资料链接 freemodbus是什么? 简介及应用场景 FreeMODBUS是一个奥地利人写的Modbus协议。它是一个针对嵌入式应用的一个免费(自由)的通用MODBUS协议的移植。Modbus是一个工业制造环境中应用的一个通用协议。Modbus通信协议栈包括两层:Modbus应用层协议,该层定义了数据模式和功能;另外一层是网络层。 协议介绍 FreeMODBUS 提供了R
STM32 FreeModbus RTU Slave 实现指南
本文还有配套的精品资源,点击获取 简介:本文详细介绍了如何在STM32微控制器上实现基于FreeModbus库的Modbus RTU Slave模式,以建立设备间的通信。首先,解释了Modbus RTU协议和其四种基本命令,然后详细描述了STM32F103微控制器的相关特性。接下来,文章指导如何配置FreeModbus库到STM32项目中,并进行硬件资源映射和通信命令的解析...
freemodbus v1.6最新版本
FreeMODBUS一个奥地利人写的Modbus协议。它是一个针对嵌入式应用的一个免费(自由)的通用MODBUS协议的移植。Modbus是一个工业制造环境中应用的一个通用协议。Modbus通信协议栈包括两层:Modbus应用层协议,该层定义了数据模式和功能;另外一层是网络层。
FreeMODBUS库 实现串口的选择切换
FreeMODBUS库 实现串口的选择切换 日期 作者 版本 说明 2020.12.16 Hxj V1.0 完成主体 目录FreeMODBUS库 实现串口的选择切换介绍一、FreeMODEBUS的串口配置源码头文件源文件二.使用指南思路说明:使用步骤 介绍 在FreeMODBUS 库中是不支持串口在运行的时候进行切换,同时也不支持多串口同时运行,必须得从新的配置才能进行串口的输出的选择。这样就使得程序有他的局限性。下文将会着重介绍如何进行选择性配置串口的输出。 一、FreeMODE
MODBUS协议中文版(高清版)
MODBUS协议中文版(高清版),主要讲述串行链路和TCP/IP上的MODBUS标准及开发指导
【STM32】FreeModbus 移植Modbus-RTU从机协议到STM32详细过程
是否使能Modbus-ASCII、Modbus-RTU、Modbus-TCP,这是只使能Modbus-RTU。协议栈应支持的最大 Modbus 功能码数量。/** FreeModbus库:用于Modbus ASCII/RTU的可移植实现。* 版权所有(c)2006-2018 Christian Walter <cwalter@embedded-solutions.at>* 保留所有权利。
ModBus 报文解析
modbus 报文解析 可惜帮助开发与PLC或人机界面的电路板
【深圳】IBM V3500存储维修 更换控制器故障
今天给大家分享的是深圳.福田区一个电商客户公司一台IBM Storwize v3500存储控制器故障从远程诊断 收集日志 分析结果的实际案例,如图所示通过存储管理口登陆进去后直接看到少了一个控制器,经过工程师分析日志后判定为该控制器损坏,接下来更换控制器配件,标准套件的控制器不带子卡和电池,所以需要把故障控制器上的子卡和电池拆下来装到新控制器上,这个电池拆还需要点技巧,接着把新的控制器插回V3500主机,等待大约十分钟后,新控制器指示灯全绿,管理界面看到节点已联机;冠峰科技-爱科技爱分享。
FreeModbus应用系列之一
FreeModbus应用总结系列之一FreeModbus简介硬件需求移植1. 物理层接口文件的修改1.1portserial.c中函数的修改porttimer.c中函数的修改2. 应用层回调函数的修改3. 应用层初始化及协议访问初始化及运行FreeModbus启动流程分析 FreeModbus简介 FreeMODBUS是一个奥地利人写的Modbus协议。它是一个针对嵌入式应用的一个免费(自由)的通用MODBUS协议的移植。Modbus是一个工业制造环境中应用的一个通用协议。Modbus通信协议栈包括两层:M
使用电荷放大器处理压电加速度计输出
电阻器 R p模拟传感器的绝缘电阻,为产生的电荷创建泄漏路径。在此图中,顶部波形显示传感器产生的电荷,而底部波形显示电荷放大器的输出。这需要具有大输入阻抗的放大级,以防止产生的电荷通过与传感元件并联的放大器的输入阻抗泄漏。换句话说,电荷放大器补偿传感器产生的电荷 q p ,反馈电容器 C F中具有相反极性的等量电荷。因此,任何与传感器并联的绝缘电阻,如电缆的绝缘电阻或传感器的漏电电阻Rp,都不能流过电流。漂移是指电荷放大器输出在一段时间内发生的变化,而不是由被测物理参数的变化(我们讨论的加速度)引起的。
从零构建:STM32F103与FreeModbus的双协议融合实战
本文详细介绍了如何在STM32F103微控制器上实现FreeModbus库支持的ModbusRTU与ModbusTCP双协议融合方案。通过协议栈选型、环境搭建、资源分配与任务调度等关键技术点解析,提供了一套完整的工业控制与物联网通信解决方案,帮助开发者高效实现设备间的可靠通信。
opencv去除印章痕迹
今天看到一个很有意思的程序,就是去除票据上的红色印章,觉得很有意思,就把它抄过来记录一下,同时自己也开了一下脑洞。 原来的程序来自:https://www.cnblogs.com/skyfsm/p/7638301.html 可以看到图像效果很不错,下面是源码实现: #include <iostream> #include <opencv2/imgproc/imgpro...
Centos7 XFS(dm-0):Internal error XFS_WANT_CORRUPTED_GOTO
在k8s的道路上我们都是小白,每天启动虚机都会遇到各种各样的问题,这不。部署的k8s虚机启动发现操作系统启动异常,提示如下报错信息。进入/dev/mapper目录下,查询目录下路径信息。可以通过对文件系统进行修复操作,操作如下。重启完成后虚机恢复正常登录。
6851



被折叠的 条评论
为什么被折叠?



