Modbus on AT32 MCU

Modbus on AT32 MCU

前言

本应用笔记介绍了如何将FreeMODBUS协议栈移植到AT32F43x单片机方法。本文档提供的源代码演示了使用Modbus的应用程序。单片机作为Modbus从机,可通过RS485或RS232与上位机相连,与Modbus Poll调试工具(Modbus主机)进行通讯。

注:本应用笔记对应的代码是基于雅特力提供的V2.x.x 板级支持包(BSP)而开发,对于其他版本BSP,需要注意使用上的区别。

支持型号

AT32F435xx

AT32F437xx

AT32F425xx

关于 Modbus 协议

Modbus协议使用的是主从的通讯技术,即由主设备主动查询和操作从设备。一般将主控设备方所使用的协议称为Modbus Master,从设备方所使用的协议称为Modbus Slave。典型的主设备包括工控机和工业控制器等;典型的从设备如可编程逻辑控制器(PLC)等。MODBUS是OSI模型第7层上的应用层报文传输协议,它在连接至不同类型总线或网络的设备之间提供客户机/服务器通信。Modbus通讯物理接口可以选用串口(包括RS232、RS485等),也可以选择以太网口等。

MODBUS协议定义了一个与基础通信层无关的简单协议数据单元(PDU)。特定总线或网络上的MODBUS协议映射能够在应用数据单元(ADU)上引入一些附加域。

当服务器对客户机响应时,它使用功能码域来指示正常(无差错)响应或者出现某种差错(称为异常响应)。需要管理超时,以便明确地等待可能不会出现的应答。

关于 FreeModbus 协议栈

FreeMODBUS是一个针对通用的Modbus协议栈在嵌入式系统中应用的实现。它提供了RTU/ASCII传输模式及TCP协议支持。FreeModbus遵循BSD许可证,这意味着用户可以将FreeModbus应用于商业环境中。目前FreeMODBUS只免费提供了一个Modbus从机节点的协议栈。该协议栈使用ANSI C编写,并且支持多个变量。本应用指南将介绍如何在AT32F435单片机上,通过FreeMODBUS协议栈实现Modbus从机节点的主要功能,并提供基于AT32F43x_StdPeriph_Lib和FreeMODBUS协议栈的源代码。如结合AT32-Comm-EV Board和AT-START Board可以方便快速的搭建起基于RS485的Modbus从机节点。

关于 Modbus Poll 调试软件

Modbus Poll是一个Modbus主机模拟器,支持Modbus RTU、ASCI、TCP/IP传输模式。它可以协助开发人员调试Modbus从设备,测试和模拟Modbus协议的通信。通过多文档界面接口,可以同时监控多个Modbus从机设备、数据域等。每个窗口可简单地设定从设备ID、功能码、地址、长度和轮询间隔。支持Modbus数据模型的四个基本表格,支持Modbus的多个公共功能码。本应用指南中将下载安装Modbus Poll在PC机上作为Modbus主机,与AT-START Board(作为Modbus从机)通过USB转RS485的模块相连,实现一个完整的、可测试的Modbus通信网络。

AT32 硬件准备

硬件主要由AT32-Comm-EV Board和AT-START Board组成。

本应用指南提供的demo使用到的外设资源有USARTTMR等,用户可根据具体需要灵活配置和修改,使用RS232或RS485来实现Modbus物理层的连接

AT-START Board当前提供例程基于AT-START-F435。可提供基于RS232的Modbus通信。

AT32-Comm-EV Board可提供例程基于RS485的Modbus通信支持。

以上为摘要部分内容,具体实现细节请下载附件查看。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值