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

电子说

1.3w人已加入

描述

步骤1:工具和软件

工具与材料

Arduino UNO

用于Arduino的RS485 Shield

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

可选:

面包板

推按钮

红色LED

220欧姆电阻

10k电阻

跳线

软件

Arduino IDE

Modbustester

步骤2:连接RS485

MODBUS

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

步骤3:接线Arduino(可选)

MODBUS

建议向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:跳线设置

MODBUS

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

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

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

步骤6:安装MODBUS Tester软件

MODBUS

在本示例中,我们将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

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分