Modbus是工业电子设备间通信的业界标准,可通过串口、以太网以及其他支持互联网协议的网络进行通信。

  Modbus有以下的优势 :

  • Modbus协议是开源免费的,任何工业通讯传感器设备等都可以使用。
  • Modbus支援多种常见工控接口(RS232, RS485, TCP/IP etc.),且可以各种物理层装置上传输(双绞线、光纤、无线等)。
  • Modbus格式简单易于开发。
  • Modbus能够将众多设备连接到DCS, PLC系统上,再利用中控(云、中央计算机)进行监控与下达指令,以便于集中式控制。

  Modbus通信协议是一个主-从架构,在整个Modbus通讯网路中能够同时拥有多个从机但是只允许拥有一个专门发送请求的的主机。
  Modbus是一个一主多从协议(最多可连接247台从机,所以从机地址范围在1~247之间),只有在主机发出请求时从机才会做出回应,从机之间不能相互沟通。
  每条主机所发出的指令,都包含一个从机地址,每台主机都会收到该请求,都只有符合该地址的主机才会回应该请求。

  ModbusRTU是利用RS485作为物理层实现的Modbus通信协议,也是现代工业通信中使用广泛的通讯连接方式,这种方式的连接抗干扰能力强,连接速率稳定,适应工业的恶劣环境。

  硬件设备连接完成后,我们需要使用专用的客户端来作为Modbus主机读取其中的数据,我们可以使用Smart物联网开发平台来制作ModbusRTU通讯连接测试的示例。

  示例的布局界面如下,在Smart物联网开发平台中以下布局的示例可以很快做到。


  功能实现的部分程序如下:

procedure TMyHandler.BitBtn01Click;
//BitBtn01的OnClick事件,对应的Modbus功能码为01 读取线圈寄存器,可选择读取单个或者多个寄存器的数据
beginFThis.ModbusClient1.ReadCoils(1,2,nil); //从地址1开始,读取两位
end;procedure TMyHandler.ModbusClient1CoilsRead;
//ModbusClient1的OnCoilsRead事件,用于获取读取线圈寄存器的结果
vari:Integer;
beginFThis.Memo1.Lines.Add('线圈寄存器读取结果:');for i := Low(BitValues) to High(BitValues) dobeginif BitValues[i] thenFThis.Memo1.Lines.Add('True')elseFThis.Memo1.Lines.Add('False') end;
end;procedure TMyHandler.BitBtn05Click;
//BitBtn05的OnClick事件,对应的Modbus功能码为05 写单个线圈寄存器
beginFThis.ModbusClient1.WriteSingleCoil(1,True,nil);FThis.Memo1.Lines.Add('写单个线圈寄存器:1');
end;procedure TMyHandler.BitBtn16Click;
//BitBtn16的OnClick事件,对应的Modbus功能码为16 写多个保持寄存器
varv: TRegValues;
beginSetLength(v,3);v[0] := 1;v[1] := 123;v[2] := 224;FThis.ModbusClient1.WriteMultipleRegisters(1,v,nil);FThis.Memo1.Lines.Add('写多个保持寄存器:1,123,224');
end;

  保存设计后,不需要执行编译操作,直接运行就可以启用程序功能。此处可以使用相关仿真软件或者实体Modbus协议通讯的设备连接来进行。

  仿真软件切换至线圈寄存器模式,点击[01 读取线圈寄存器],程序读取对应的线圈寄存器位址并返回读取结果。点击[05 写单个线圈寄存器],程序向单个线圈寄存器位址写入数据并返回结果。点击[15 写多个线圈寄存器],程序向多个线圈寄存器位址写入数据并返回结果。

  仿真软件切换至离散输入寄存器模式,点击[02 读取离散输入寄存器],程序读取对应的离散输入寄存器位址并返回读取结果。

  仿真软件切换至保持寄存器模式,点击[03 读取保持寄存器],程序读取对应的保持寄存器位址并返回读取结果。点击[06 写单个保持寄存器],程序向单个保持寄存器位址写入数据并返回结果。点击[16 写多个保持寄存器],程序向多个保持寄存器位址写入数据并返回结果。

  仿真软件切换至输入寄存器模式,点击[04 读取输入寄存器],程序读取对应的输入寄存器位址并返回读取结果。

  • 产品:https://www.isoface.cn/isoface/production/software/smart
  • 范例视频:https://www.isoface.cn/isoface/component/k2/video-tutorial/smart/s-eq-dem-2009
  • 范例手册:https://www.isoface.cn/isoface/doc/smart/demo/modbusrtu/
  • 产品手册:https://www.isoface.cn/isoface/doc/smart/main/
  • 公司网址:https://www.isoface.cn
  • QQ群:309174897

物联网开发平台快速实现ModbusRTU连接相关推荐

  1. 腾讯云物联网开发平台 IoT Explorer 全面指引

    文章目录 * 1 设备侧开发教程 * 1.1 [腾讯云](https://l.gushuji.site/tencent)端侧资源 1.2 LoRa 设备 * LoRaWAN 节点接入 LoRaWAN ...

  2. STM32节点移植lorawan协议连接腾讯云物联网开发平台(IoT Explorer)

    STM32移植lorawan协议栈连接腾讯云物联网开发平台(IoT Explorer) 前言 开发环境的准备 正文 初始化 入网 发送与接收 前言 在移植协议之前,先给大家科普一下Lora 和 lor ...

  3. 【STM32+ESP-12S连接腾讯云物联网开发平台 1】云平台的创建和AT固件烧录

    腾讯云物联网开发平台创建和ESP-12S的固件烧录 前言 一.腾讯云物联网开发平台的创建 1. 创建产品 2. 配置产品和创建设备 3. 设备三元组说明 二.ESP-12S固件烧录 1.固件获取 2. ...

  4. 【STM32+ESP8266连接腾讯云物联网开发平台 2】STM32+ESP8266-01S连接腾讯云

    文章目录 前言 一.硬件准备 1.ESP8266-01S 2. STM32F103C8T6核心板或者小开发板及其程序下载器 二.软件准备 1.STM32CubeMX 2. MDK (Keil v5) ...

  5. STM32+ESP8266+MQTT协议连接腾讯物联网开发平台

    一.环境介绍 单片机采用:STM32F103C8T6 上网方式:采用ESP8266,也可以使用其他设备代替,只要支持TCP协议即可.比如:GSM模块.有线网卡等. 开发软件:keil5 物联网平台: ...

  6. 【物联网开发平台MQTT快速接入使用】

    物联网开发平台MQTT快速接入使用 最近做的一个小项目需要将数据上传到物联网平台,然后在网上看了相关视频是如何操作的,进行一些简单的记录,使用的平台是腾讯云平台 视频教程链接 图 1 图 2 图 3 ...

  7. 如何精准选型物联网开发平台

    物联网云平台是连接传感器.资产.数据.软件和业务流程的物联网引擎.它集成了物联网基础设施的所有不同组件,以便企业可以获得所有可能的应用. 物联网云平台是连接传感器.资产.数据.软件和业务流程的物联网引 ...

  8. 浅谈5G时代下的物联网开发平台

    在当前5G通信的推动下,物联网领域受到了广泛的关注,由于5G通信标准在很大程度上会促进物联网的发展,所以也有人把5G时代称为物联网时代.从这个角度来看,物联网在5G时代会成为一个创新.创业的热点领域. ...

  9. 物联网开发平台B-L475E-IOT01A探索套件简介

    在本文中,我们来介绍一下意法半导体公司推出的B-L475E-IOT01A探索套件. 该套件结合了云连接和低功耗功能,可以快速轻松的实现物联网设备开发. STM32微控制器 B-L475E-IOT01A ...

  10. mqtt调试助手_腾讯物联网开发平台入门操作,如何使用MQTT协议上传温度湿度数据...

    今天我们测试一下腾讯云的物联网开发平台上传数据的功能,也就是构建一下发布数据的PUBLISH报文命令,上传温湿度数据. 我们接着使用前文中的D001设备,但是D001的品类是插座,并没有温度和湿度的功 ...

最新文章

  1. 微信助力活动表结构设计
  2. 面试(之)三赴上海易传媒—揭秘之旅
  3. ios 系统状态栏样式修改_iOS设置状态栏样式,statusBarStyle
  4. [MySQL基础]MySQL常见命令介绍
  5. ubuntu php7 memcache,linux上安装php7 memcache扩展
  6. php公司面试反问,php面试坑集锦
  7. 开关电源怎么测试文波_开关电源环路增益测试
  8. ubuntu18设置屏幕旋转_无线电对讲机,常用电台上中继台设置
  9. 【气温预测】基于matlab BP神经网络气温预测【含Matlab源码 714期】
  10. java-ActiveXComponent调用com组件
  11. SIFT与SURF算法
  12. AUTOCAD——LEN命令
  13. linux认证ppt的图片,linux用户、组和身份认证-课件(PPT-精).ppt
  14. 打开.sql文件的方法
  15. 使用声卡录制编辑收藏自己喜欢的音乐
  16. C++笔试笔记1(4399 西山居 深信服 剑心互娱 快手)
  17. 几个有用的谷歌Chrome插件
  18. 微型计算机2017年3月上,2017年3月份规模以上工业增加值增长7.6%
  19. 使用android.view.TouchDelegate扩大View的触摸点击区域
  20. Mysql 连环20问

热门文章

  1. 好用的蓝牙连接测试工具
  2. 2-思科防火墙:思科ASDM
  3. java数组排序的方法_Java数组排序方法详解
  4. Java数组排序的方法
  5. myeclipse 修改jsp模板
  6. Eclipse修改jsp模板
  7. Shell设置环境变量
  8. IntelliJ IDEA主题修改
  9. Python 文本转语音
  10. 买服务器做网站 镜像选什么,云服务器做网站镜像类型选啥