步骤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
发布评论请先 登录
相关推荐
评论