【阿里云IoT+YF3300】9.快速开发modbus设备驱动
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就是我们直接从指定地址区读到的原生值。
驱动名称和制造商等信息,可以根据实际进行填写就行,我们这里采用默认值。设备地址和串口参数,可以设置为该设备的默认参数。

参数配置好后,我们单击“编译”按钮进行驱动文件编译,为了让YFIOs管理程序方便加载我们新编译的驱动,我们选择目录为YFIOsManager程序下的“Driver”目录。

编译成功后,我们发现在指定的目录出现一个dll和pe文件,文件名就是我们配置的“驱动名称”。

我们打开YFIOsManager程序,单击“驱动列表”项,可以看到我们刚刚编译的驱动。

好,我们测试一下刚刚编译好的驱动,看看是否能正常工作。我们添加一个用户驱动,选择我们刚刚创建好的驱动。


YF3300的RS485为COM2。配置好后,数据配置里面就会自动出来对应的变量来,如下图所示:

我们让YF3300接一个温湿度模块,把相关的组态配置部署到YF3300中去。

YF3300采购链接(最后一个颜色分类是YF3300网关):
https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-10400358307.7.82854d48viZm7V&id=42910631014
部署运行后,我们在“数据监控”中看到温湿度已经可以正常读取了。

从以上可以看成,只要知道对应的属性地址,我们可以非常迅速的开发出一款比较实用的设备驱动。另外驱动的配置可以导出为xml文件,后续可以根据需要进行修改和扩展。如果要实现的驱动比较复杂,还可以导出为Visual Studio C#项目,可以更为自由的实现对应的驱动了。
单击“导出为C#工程”,选定好要导出的目录,然后就可以到一个完整的C#驱动程序了(一个驱动接口工程,一个驱动pe工程)。


想体验阿里云IoT平台的网友,可以单击如下链接:https://dev.iot.aliyun.com/sale?source=deveco_partner_yefan
【阿里云IoT+YF3300】9.快速开发modbus设备驱动的更多相关文章
- 【阿里云IoT+YF3300】11.物联网多设备快速通信级联
我们见到的很多物联网设备,大都是“一跳”上网,所谓的“一跳”就是设备直接上网,内嵌物联网模块或者通过DTU直接上网.其实稍微复杂的物联网现场,往往网关下面连接若干物联网设备(如下图),并且这些物联网设 ...
- 【阿里云IoT+YF3300】1.时代大背景下的阿里云IoT物联网的现状和未来
“未来十到二十年,大家基本已经形成了一个共识,那便是新格局的奠定将由 AI 和物联网技术来支撑.放眼国内,在这些互联网巨头之中,未来真正成为竞争对手厮杀的,阿里和华为是首当其冲,在这两个领域双方分别暗 ...
- 【阿里云IoT+YF3300】10.快速开发188协议设备驱动
188协议的全称为CJ-T188-2004 <户用计量仪表数据传输技术条件>,是针对水表.燃气表.热量表和其他集中采集的一个国家行业标准协议. YFIOs就是YFSoft I/O Serv ...
- 【阿里云IoT+YF3300】8.物联网设备用户脚本开发
除了我们必须熟悉的网页脚本,比如JavaScript.其实在工业自动化中,组态软件是必备脚本的,只是有的脚本语言风格类似C或类似Basic而已.比如昆仑通泰的组态屏中的组态软件.通过安装组态软件可以简 ...
- 【阿里云IoT+YF3300】6.物联网设备报警配置
纵然5G时代已经在时代的浪潮中展现出了它的身影,但是就目前的物联网环境中,网络问题仍旧是一个比较突出的硬伤.众所周知,在当前的物联网规划中,与其说是实现万物互联,倒不如说是行业指标数据监控.对于一些特 ...
- 【阿里云IoT+YF3300】12.阿里云IoT Studio入门介绍
阿里云IoT Studio是针对物联网场景提供的生产力工具,可覆盖各个物联网行业核心应用场景,帮助您高效经济地完成设备.服务及应用开发.物联网开发服务提供了移动可视化开发.Web可视化开发.服务开发与 ...
- 【阿里云IoT+YF3300】13.阿里云IoT Studio WEB监控界面构建
Web可视化开发是阿里云IoT Studio中比较重要的一个功能,通过可视化拖拽的方式,方便地将各种图表组件与设备相关的数据源关联,无需编程,即可将物联网平台上接入的设备数据可视化展现. 目前支持的组 ...
- 【阿里云IoT+YF3300】14.阿里IoT Studio打造手机端APP
在上一篇<13.阿里云IoT Studio WEB监控界面构建>中,我们介绍了用阿里云IoT Studio(原Link Develop)可视化构建WEB界面程序.本篇文章将介绍用阿里云Io ...
- 【阿里云IoT+YF3300】15.阿里云物联网小程序构建
2013年8月,“轻应用”概念提出,但是仅仅活跃四年随后淡出 ,直到2017年1月9号借助微信小程序成功续命.一时间,以微信小程序和支付宝小程序为代表的轻应用解决方案迅速贯穿多个环节,成为“万物互联” ...
随机推荐
- CRM-Modelformset
CRM-Modelformset 效果图 利用modelformset实现上面的效果: views.py文件: from user.formself.myform import RegForm, Cu ...
- 7. Input and Output
7. Input and Output There are several ways to present the output of a program; data can be printed i ...
- 【Flask】 python学习第一章 - 2.0 视图方式和返回值
路由参数与请求方式制定 ALT+回车 pycharm 快速导包 demo3 指定访问地址 与请求方式 # 给路由传入参数 使用尖括号 ,视图函数需要接收参数 @app.route(&q ...
- 从零开始配置MacBook Pro
购买macbook, 是因为它的效率性.由于我第一次使用macbook,所以按照我开发的习惯和参照了其他人的文章进行配置我的个人mac,希望我的设置对你们也有所帮助 1.基本配置 查找我的Mac 系统 ...
- 解决问题:Jupyter Notebook启动不会自动打开浏览器,每次都要自己打开浏览器输入网址
1.找到anaconda下的anaconda prompt并打开(或者CMD)都可以 2.在anaconda prompt里面输入:jupyter notebook --generate-config ...
- AngularJs中Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.3.15/
我在使用angularjs的时候报出来这个错误: Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.3.15/ 当时 ...
- 大数据之路week07--day06 (Sqoop 的使用)
Sqoop的使用一(将数据库中的表数据上传到HDFS) 首先我们先准备数据 1.没有主键的数据(下面介绍有主键和没有主键的使用区别) -- MySQL dump 10.13 Distrib 5.1.7 ...
- python开发笔记-python-numpy
一.Numpy概念 Numpy(Numerical Python的简称)是Python科学计算的基础包.它提供了以下功能: 除了为Python提供快速的数组处理能力,Numpy在数据分析方面还有另外 ...
- test20190830 NOIP 模拟赛
100+70+0=170.这套题早就被上传到BZOJ上了,可惜我一到都没做过. BZOJ4765 普通计算姬 小G的计算姬可以解决这么个问题:给定一棵n个节点的带权树,节点编号为1到n,以root为根 ...
- jquery中ajax跨域加载
今天学习ajax跨域加载,先来一段代码,异步加载的链接是爱奇艺的开源,我直接拿来用作测试 <!DOCTYPE html> <html lang="en"> ...