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

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

3天内不再提示

如何使用Arduino UNO创建简单的Modbus设备

454398 来源:网络整理 作者:网络整理 2019-11-15 10:05 次阅读

步骤1:工具和软件

工具与材料

Arduino UNO

用于Arduino的RS485 Shield

用于PC连接的任何RS485-USB适配器(或更便宜的一种)

可选:

面包板

推按钮

红色LED

220欧姆电阻

10k电阻

跳线

软件

Arduino IDE

Modbustester

步骤2:连接RS485

接线非常简单。您只需要将HAT的A和B端子与Modbus系统的A和B线连接即可。 Y和Z端子不用于此类应用。对于长距离,建议对A和B使用双绞线。

步骤3:接线Arduino(可选)

建议向Arduino添加一个LED和一个按钮,以查看MODBUS通信的某些效果。

步骤4:DIP开关设置

我们的RS422/RS485 Shield带有3个DIP开关银行。您必须如上图所示为Modbus设置这些DIP开关。

开关1:1-OFF 2-ON 3-ON 4-OFF

开关2 :1-OFF 2-OFF 3-ON 4-ON

开关3:1-OFF或ON * 2-OFF 3-OFF 4-OFF

*取决于位置在Modbus线路中的RS422/RS485屏蔽层上,您必须打开或关闭终端电阻。仅当屏蔽层在总线线路的一端时,才应将电阻器切换到ON位置。在所有其他情况下,请关闭终端电阻:

步骤5:跳线设置

在盾牌上找到3个不同的跳线区域。跳线JP1对于电源电压非常重要。 Arduino UNO内部可使用5V。您必须将该跳线设置为5V位置(对于3.3V板,例如Arduino 101,将其设置为3.3V位置)。

此外,将左上角的通信端口的跳线设置为如图所示以上。在这种情况下,端口0和1上的内部UART将连接到屏蔽的RS485接口

最后但并非最不重要的一点是,我们必须为RX/TX控制端口设置跳线。由于配置了自动RX/TX切换,因此我们不用此跳线。

步骤6:安装MODBUS Tester软件

在本示例中,我们将PC作为MODBUS主站。您必须下载Modbustester。请将zip压缩文件解压缩到硬盘上的新目录中。打开软件,然后如上图所示更改标记的字段。您必须先连接USB-RS485适配器-请在Modbustester中为此适配器选择正确的COM端口。

步骤7:Arduino软件

我们为Arduino UNO,Genuino 101和STM Nucleo提供了3个示例程序。请将它们加载到Arduino IDE中进行编译和编程

这些程序非常简单,可让您对MODBUS通信的基本功能有所了解。您可以根据需要添加其他功能。

在编译之前不要忘记安装库SimpleModbus:

https://github.com/angeloc/simplemodbusng

第8步:测试您的工作

现在可以测试您的工作了!

您可以按Modbustester中的“读取”按钮。该命令将读取我们新的从设备的存储器的8个字节。在地址400008中,您可以找到按钮的状态。地址400001-400006包含ADC端口的值。

使用写入按钮,您可以操作从站中的寄存器。您可以在地址400007中输入0或1来打开或关闭LED。

责任编辑:wv

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

    关注

    28

    文章

    1759

    浏览量

    76820
  • Arduino
    +关注

    关注

    187

    文章

    6462

    浏览量

    186613
收藏 人收藏

    评论

    相关推荐

    使用Modbus、楼宇自控、电力协议转Modbus协议网关实现生产设备的远程监控和管理

    Modbus网关BL120ML的下行采集协议支持Modbus RTU、DLT645、BACnet MS/TP、Lonworks协议、IEC104、IEC61850、BACnet IP协议的设备,实现
    的头像 发表于 08-08 17:29 337次阅读
    使用<b class='flag-5'>Modbus</b>、楼宇自控、电力协议转<b class='flag-5'>Modbus</b>协议网关实现生产<b class='flag-5'>设备</b>的远程监控和管理

    ESP32的程序是不是和uno r3一样都是以插入就开始运行?

    大神们好,小弟一直在用Arduino Uno R3来运行hex编好了的程序,但是uno r3的容量实在是太少了,所以想问问ESP32可以代替Uno r3吗? 还有,如果我有几个hex程
    发表于 06-25 07:56

    简单介绍Modbus RTU协议

    介绍modbus rtu之前,我们可以了解到,Modbus是施耐德电气公司,于1979年发明的,是全球第一个真正用于工业现场的总线协议。
    的头像 发表于 05-09 09:13 2301次阅读
    <b class='flag-5'>简单</b>介绍<b class='flag-5'>Modbus</b> RTU协议

    如何使用Arduino设置热敏电阻来创建温度计

    在本教程中,我们将指导您如何使用Arduino设置热敏电阻以创建基本温度计。提供的原理图、试验板图和示例代码将使热敏电阻工作变得简单明了。
    的头像 发表于 02-11 10:37 2246次阅读
    如何使用<b class='flag-5'>Arduino</b>设置热敏电阻来<b class='flag-5'>创建</b>温度计

    如何使用Arduino UNO板和电位器控制伺服电机

    在本Arduino伺服电机教程中,您将学习如何使用Arduino UNO板和电位器控制伺服电机。
    的头像 发表于 02-11 10:11 2557次阅读
    如何使用<b class='flag-5'>Arduino</b> <b class='flag-5'>UNO</b>板和电位器控制伺服电机

    如何使用Arduino UNO和TIP120晶体管驱动和控制直流电机的速度

    在本 Arduino 电机指南中,您将学习如何使用 Arduino UNO 和 TIP120晶体管驱动和控制直流电机的速度。在此示例中,您将使用按钮来提高电机速度,然后减慢速度,这要归功于脉宽调制 (PWM) 的强大功能。
    的头像 发表于 02-11 10:08 1309次阅读
    如何使用<b class='flag-5'>Arduino</b> <b class='flag-5'>UNO</b>和TIP120晶体管驱动和控制直流电机的速度

    如何使用arduino板控制接触器?

    我将避免铅酸电池过载。我想通过使用近 30A 的接触器和 arduino uno 板来控制电池过载。如何使用arduino板控制接触器?
    发表于 01-22 07:14

    什么是Modbus协议?

    Modbus协议是一种在工业自动化领域广泛应用的通信协议,它允许不同设备之间进行可靠的数据交换和控制。该协议最初由Modicon公司于1979年创建,旨在提供一种简单而有效的方法,使P
    的头像 发表于 01-09 08:00 881次阅读
    什么是<b class='flag-5'>Modbus</b>协议?

    Profinet转Modbus使设备互联更简单

    Modbus和Profinet之间的转换可以使工业自动化设备互联更加方便和高效。通过Modbus转Profinet网关(XD-MDPN100/200),设备通信更灵活可靠,降低工程师配
    的头像 发表于 01-04 17:54 406次阅读
    Profinet转<b class='flag-5'>Modbus</b>使<b class='flag-5'>设备</b>互联更<b class='flag-5'>简单</b>

    Modbus转Profinet网关实现Modbus设备与Profinet设备的无缝连接

    具备网口和串口两种通信接口,并能够进行Modbus和Profinet数据的解析和转换。而软件方面,网关需要加载相应的GSD文件,简单配置几项参数便可实现Modbus设备与Profine
    的头像 发表于 12-27 18:17 640次阅读
    <b class='flag-5'>Modbus</b>转Profinet网关实现<b class='flag-5'>Modbus</b><b class='flag-5'>设备</b>与Profinet<b class='flag-5'>设备</b>的无缝连接

    Modbus转Profinet网关的作用

    Modbus转Profinet网关(XD-MDPN100/2000)实现了Modbus和Profinet协议的相互转换,支持多种Modbus设备和接口,配置
    的头像 发表于 12-25 09:21 373次阅读
    <b class='flag-5'>Modbus</b>转Profinet网关的作用

    小安派Arduino开发板 ,全新支持以太网口

    前面几款小安派出来的时候,经常有粉丝询问是否支持Arduino?其它款小安派也是支持的,大家可以去安信可社区搜索查看,小安派-UNO-ET485 Arduino开发板来了,兼容UNO
    的头像 发表于 12-06 16:00 741次阅读
    小安派<b class='flag-5'>Arduino</b>开发板 ,全新支持以太网口

    采集EtherCAT从站设备数据转modbus方案

    通过vfbox网关实现EtherCAT协议转换成modbus协议,连接scada系统或者设备。此应用方案操作简单,不需要编程,轻松实现设备之间的互联互通。
    的头像 发表于 12-06 09:07 462次阅读
    采集EtherCAT从站<b class='flag-5'>设备</b>数据转<b class='flag-5'>modbus</b>方案

    采集Profinet IO从站设备数据转modbus方案

    通过vfbox网关实现Profinet IO协议转换成modbus协议,连接scada系统或者设备。此应用方案操作简单,不需要编程,轻松实现设备之间的互联互通。
    的头像 发表于 12-05 09:20 463次阅读
    采集Profinet IO从站<b class='flag-5'>设备</b>数据转<b class='flag-5'>modbus</b>方案

    小安派-UNO-ET485 Arduino开发板简介

    前面几款小安派出来的时候,经常有粉丝询问是否支持Arduino?其它款小安派也是支持的,大家可以去安信可社区搜索查看,小安派-UNO-ET485 Arduino开发板来了,兼容UNO
    的头像 发表于 12-03 09:58 896次阅读
    小安派-<b class='flag-5'>UNO</b>-ET485 <b class='flag-5'>Arduino</b>开发板简介