完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
试用4 Modbus-RTU主机使用libmodbus库实现一个modbus-rtu的主机测试,并将获取的设备信息写入到redis实时数据库中。 Libmodbus库的编译下载libmodbus库在libmodbus官网下载libmodbus库,网址为:https//libmodbus.org/download/ 交叉编译解压刚才下载的库压缩包,
生成Makefile:
在执行配置的配过成中,会出现如下图所示的错误提示。 解决的方法: 由于龙芯的处理器配置描述在系统中不存在,所以会出现这样的提示。需要更换包含龙芯信息的如下两个文件config.guess和config.sub。将下载的两个文件替换掉/usr/share/misc中的原有两个文件即可。 执行make & make install 后,可编译出所需的库文件。 部署在执行了make install后,在我们执行的目录中会建立一个install目录,其中包含三个文件夹,尤其是lib下的文件,放置到2k500的相应目录下,我们就完成了部署。 hiredis库为了在程序中直接操作redis数据,我们需要一个接口库。通过网络查询,发现hiredis这个C语言的操作库对于我们来说还是非常的方便的。 Hiredis是Redis数据库的一个极简C客户端库。 它是极简主义的,因为它只增加了对协议的最小支持,但同时它使用了一个高级的类似printf的API。 除了支持发送命令和接收应答之外,它还附带了一个与I/O层分离的应答解析器。它是一个流解析器,设计为易于重用,例如,它可以用于更高级别的语言绑定,以实现高效的应答解析。 Hiredis只支持二进制安全的Redis协议,所以你可以使用它与任何版本的Redis >= 1.2.0。 这个库附带了多个api。有同步API、异步API和应答解析API。 交叉编译源码下载: https://github.com/redis/hiredis(官方提供) 也可以在gitee上找到源码,下载速度也快,推荐。 将下载源码解压到ubuntu的开发环境各种,执行如下命令完成编译:
将库文件和头文件分别提取出来备用。 部署我们需要将编译生成的动态库复制到ls2k500系统中的 /usr/lib目录下,并且需要修改为:
实现modbus主站功能与仿真子站通讯程序目录建立建立主站程序目t3(目录随便),建立目录结果如下图所示: 其中包括inc(头文件目录),lib(库文件目录),src(源文件目录),Makefile文件。 代码实现程序代码包含两个部分,分别为Modbus主站数据获取功能代码,和redis数据库操作代码。 利用libmodbus库实现主站功能,主要步骤。
从站站号设置:
响应时间设置(100ms):
连接:
根据设备信息,建立数据存储内存空间:这里主要读取输入状态,保持寄存器和输入寄存器。
获取数据的循环主体(简略):
清理现场,关闭连接:
2)redis数据操作代码 利用hiredis库完成redis数据的操作,hiredis的各个函数的具体使用网上挺多的,这里就不详细描述了。主要实现步骤: 连接redis数据库:
输入数据库密码:
读取的离散输入数据写入(数据库中键值为BIT+数字):
读取的保持寄存器写入(数据库中键值为HOLD_REG+数字):
读取的输入寄存器写入(数据库中键值为INPUT_REG+数字):
modbusslave模拟子站软件网上搜索可以找到modbus的子站仿真软件,用来配合调试比较方便。 实测运行效果Modbus slave模拟保持寄存器的存储状态。 Modbus主机获取modbus辅机保持寄存器数据内容。 通过treenms观察redis数据库中的保持寄存器内容。 |
|
相关推荐
1 条评论
|
|
只有小组成员才能发言,加入小组>>
324个成员聚集在这个小组
加入小组425 浏览 0 评论
1132 浏览 0 评论
【龙芯2K0300蜂鸟板试用】(求助)龙芯2K0300蜂鸟板如何驱动摄像头?
1054 浏览 1 评论
714 浏览 0 评论
【龙芯2K0300蜂鸟板试用】第十篇 龙芯2K0300蜂鸟板--基于龙芯2k300的室内环境监控系统v0.8版
732 浏览 0 评论
2329浏览 52评论
1397浏览 9评论
945浏览 9评论
7360浏览 9评论
【龙芯2K0300蜂鸟板试用】适配opencv-mobile
2965浏览 6评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-13 21:10 , Processed in 0.446637 second(s), Total 41, Slave 35 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号