完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本人之前一直从事的电控工作 就是搞PLC 触摸屏 变频器这些,后台由于换工作接触到了工业物联网,就是现在很火热的现场设备采集,后来自学了C#,做了一些开发上位机的工作,后来又接触到了树莓派,由于公司业务需要,需要采集现场设备的信息,自己尝试着使用.NET Core 在树莓派上运行C#代码进行设备采集,由于树莓派简单易学,不需要特别复杂的嵌入式知识就能实现采集所以选择使用树莓派+.NET Core 进行采集(自己学习 调试) ,如果使用在工业现场大家还是需要使用能适应工业环境的开发板,或者自己开发,此次的教程,重在思路和编码上,最好能起到抛砖引玉的作用,教程是本人工作之余抽时间写的所以有时候可能更新不是很及时所以还望大家见谅,再有文章中只是Demo ,重点在实现功能,有不严谨的地方还请口下留情。
第一个阶段我们先完成Modbus 在树莓派端的采集,大概流程是: 树莓派 +西门子PLC 200 +WinForm/WPF ,树莓派端进行PLC 的采集 并提供WebAPI 给外部访问,然后使用WinForm 或者WPF 访问树莓派WebAPI 获取PLC 的数据。 本地测试 开始之前我们首先进行本地软件的测试,在本机测试通过以后,在继续后面的工作。 用到的测试工具有; Modbus Slave: 用来做Modbus 从站 VS2019 :编写 代码用来做主站 Configure Virtual Serial Port Driver : 虚拟串口软件 用来连接 APP 和从站的串口 第一步: 使用Modbus Slave 创建从站 使用VSPD进行虚拟连接 使用Modbus 串口助手测试 创建两个串口COM3 COM4 设置从站 端口 和串口参数 9600 8 N 1 Modbus 调试助手设置 两个软件都点击连接以后 写入测试 使用串口助手 写入 数值123 从站 相应地址会显示291 原因是 串口使用的是16进制进行写入的 使用WIN10自带的计算器可以看出 16进制的123 就是291 说明 通信没有问题 进行读取测试 在从站中设置 地址1 的数值是 123 使用串口助手读取 也是123 下面我们编写代码进行测试 因为是测试所以代码没有进行防呆 不是很严谨大家见谅 创建控制台项目 我们使用NModbus4 开源库进行测试 使用NuGet 下载包 编写测试代码 读取寄存器的值 置为输出线圈 我们现在查看从站里面的值 可以看到写入和读取都没有问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
882浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 18:12 , Processed in 0.636472 second(s), Total 81, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号