【阿里云IoT+YF3300】9.快速开发modbus设备驱动

简介: Modbus是一种串行通信协议,是莫迪康公司为PLC(编程逻辑控制器)通信而设计的协议。Modbus目前已经成为工业领域通信协议的业界标准,大部分的仪器仪表都支持该通信协议。很早以前就开发过基于Modbus协议的各种驱动,在2007年的时候还曾写了一篇《我的Modbus Slave/Client开发历程》的博客文章 。

   Modbus是一种串行通信协议,是莫迪康公司为PLC(编程逻辑控制器)通信而设计的协议。Modbus目前已经成为工业领域通信协议的业界标准,大部分的仪器仪表都支持该通信协议。很早以前就开发过基于Modbus协议的各种驱动,在2007年的时候还曾写了一篇《我的Modbus Slave/Client开发历程》的博客文章 。
   YFIOs就是YFSoft I/O Server的简称,是一款物联网时代的轻量级嵌入式组态系统。支持策略和驱动二次开发,不过常规策略和驱动开发有些繁琐,由于大部分物联网设备都支持modbus协议,所以提供给一款快速开发的modbus驱动的工具,还是非常必要的。
  本篇文章将介绍一款基于modbus协议的温湿度模块的快速驱动开发过程。
   打开“YFIOsIDE”程序,启动后,单击“文件”主菜单下面的“modbus驱动开发向导”。
   查温湿度传感器的说明书我们可以知道,温度和湿度在modbus寄存器的偏移地址是0和1(40000区),我们把标识符分别设置为“T”和“H”。看说明书我们可知,直接读取的值还不是温度和湿度,还需要除以10,所以我们配置一下运算表达式为“$Value/10.0”,其中$Value就是我们直接从指定地址区读到的原生值。
   驱动名称和制造商等信息,可以根据实际进行填写就行,我们这里采用默认值。设备地址和串口参数,可以设置为该设备的默认参数。
9.02.png
  参数配置好后,我们单击“编译”按钮进行驱动文件编译,为了让YFIOs管理程序方便加载我们新编译的驱动,我们选择目录YFIOsManager程序下的“Driver”目录。
9.03.png
   编译成功后,我们发现在指定的目录出现一个dll和pe文件,文件名就是我们配置的“驱动名称”。
9.004.png
   我们打开YFIOsManager程序,单击“驱动列表”项,可以看到我们刚刚编译的驱动。
9.04.png
  好,我们测试一下刚刚编译好的驱动,看看是否能正常工作。我们添加一个用户驱动,选择我们刚刚创建好的驱动。
9.05.png
9.06.png
   YF3300的RS485为COM2。配置好后,数据配置里面就会自动出来对应的变量来,如下图所示:
9.07.png
   我们让YF3300接一个温湿度模块,把相关的组态配置部署到YF3300中去。
9.08.png
   YF3300采购链接(最后一个颜色分类是YF3300网关):
   https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-10400358307.7.82854d48viZm7V&id=42910631014
   部署运行后,我们在“数据监控”中看到温湿度已经可以正常读取了。
9.09.png
   从以上可以看成,只要知道对应的属性地址,我们可以非常迅速的开发出一款比较实用的设备驱动。另外驱动的配置可以导出为xml文件,后续可以根据需要进行修改和扩展。如果要实现的驱动比较复杂,还可以导出为Visual Studio C#项目,可以更为自由的实现对应的驱动了。
   单击“导出为C#工程”,选定好要导出的目录,然后就可以到一个完整的C#驱动程序了(一个驱动接口工程,一个驱动pe工程)。
9.10.png
9.11.png
   想体验阿里云IoT平台的网友,可以单击如下链接:https://dev.iot.aliyun.com/sale?source=deveco_partner_yefan

相关文章
|
1月前
|
Rust 资源调度 安全
为什么使用 Rust over C++ 进行 IoT 解决方案开发
为什么使用 Rust over C++ 进行 IoT 解决方案开发
70 7
|
1月前
|
人工智能 安全 物联网
|
3月前
|
存储 分布式计算 物联网
Apache IoTDB进行IoT相关开发实践
当今社会,物联网技术的发展带来了许多繁琐的挑战,尤其是在数据库管理系统领域,比如实时整合海量数据、处理流中的事件以及处理数据的安全性。例如,应用于智能城市的基于物联网的交通传感器可以实时生成大量的交通数据。据估计,未来5年,物联网设备的数量将达数万亿。物联网产生大量的数据,包括流数据、时间序列数据、RFID数据、传感数据等。要有效地管理这些数据,就需要使用数据库。数据库在充分处理物联网数据方面扮演着非常重要的角色。因此,适当的数据库与适当的平台同等重要。由于物联网在世界上不同的环境中运行,选择合适的数据库变得非常重要。 原创文字,IoTDB 社区可进行使用与传播 一、什么是IoTDB 我
177 9
Apache IoTDB进行IoT相关开发实践
|
2月前
|
机器学习/深度学习 人工智能 算法
物联网(IoT)就像是一个大型派对,无数的设备都在欢快地交流着信息
【9月更文挑战第4天】在这个万物互联的时代,物联网(IoT)犹如一场盛大的派对,各类设备欢聚一堂。然而,如何让这些设备互相理解并协同工作呢?这就需要机器学习与人工智能的助力。例如,智能空调通过学习你的使用习惯来调节温度,使你更加舒适;智能安防系统则能识别异常行为并及时报警,保障家庭安全。此外,智能农业、交通等领域也因机器学习和人工智能的应用变得更加高效。下面通过一个简单的温度预测代码示例,展示机器学习在物联网中的实际应用,让我们一起感受其强大潜力。
61 0
|
3月前
|
存储 SQL JSON
【Azure IoT Hub】从设备端如何向IOT发送海量数据,可以使用从设备到IoT连接的直接传输吗?如何把IoT Hub中的数据存储到Azure Storage中?
【Azure IoT Hub】从设备端如何向IOT发送海量数据,可以使用从设备到IoT连接的直接传输吗?如何把IoT Hub中的数据存储到Azure Storage中?
|
3月前
|
物联网 数据管理 Apache
拥抱IoT浪潮,Apache IoTDB如何成为你的智能数据守护者?解锁物联网新纪元的数据管理秘籍!
【8月更文挑战第22天】随着物联网技术的发展,数据量激增对数据库提出新挑战。Apache IoTDB凭借其面向时间序列数据的设计,在IoT领域脱颖而出。相较于传统数据库,IoTDB采用树形数据模型高效管理实时数据,具备轻量级结构与高并发能力,并集成Hadoop/Spark支持复杂分析。在智能城市等场景下,IoTDB能处理如交通流量等数据,为决策提供支持。IoTDB还提供InfluxDB协议适配器简化迁移过程,并支持细致的权限管理确保数据安全。综上所述,IoTDB在IoT数据管理中展现出巨大潜力与竞争力。
108 1
|
16天前
|
安全 物联网 网络安全
智能设备的安全隐患:物联网(IoT)安全指南
智能设备的安全隐患:物联网(IoT)安全指南
44 12
|
14天前
|
传感器 监控 安全
物联网(IoT):定义、影响与未来
物联网(IoT):定义、影响与未来
40 3
|
23天前
|
存储 JSON 运维
智能物联网平台:Azure IoT Hub在设备管理中的实践
【10月更文挑战第26天】随着物联网技术的发展,Azure IoT Hub成为企业管理和连接数百万台设备的强大平台。本文介绍Azure IoT Hub的设备管理功能,包括设备注册、设备孪生、直接方法和监控诊断,并通过示例代码展示其应用。
32 4
|
22天前
|
SQL 监控 物联网
ClickHouse在物联网(IoT)中的应用:实时监控与分析
【10月更文挑战第27天】随着物联网(IoT)技术的快速发展,越来越多的设备被连接到互联网上,产生了海量的数据。这些数据不仅包含了设备的状态信息,还包括用户的使用习惯、环境参数等。如何高效地处理和分析这些数据,成为了一个重要的挑战。作为一位数据工程师,我在一个物联网项目中深入使用了ClickHouse,以下是我的经验和思考。
50 0
下一篇
无影云桌面