基于树莓派采集网关3 创建ModbusRESTfulAPI

背景

经过上两次的介绍我们已经可以在树莓派上跑C#代码了,这次我我们再树莓派上创建一个RestfulWebAPI 再内部实现对于 西门子(Siemens)PLC200的读取写入。

硬件

  • 树莓派 3B+ 
  • USB 转485模块
  • Siemens PLC 200
  • 导线两根

进行连接

没有硬件的可以使用软件进行环境的模拟 相关软件可以在QQ群内进行下载:QQ群:901388775 欢迎大家进群交流

树莓派 使用USB 转485 模块 和西门子PLC 进行连接 

 

创建工程

创建WebAPI 工程过程不再赘述,下面只是介绍关键部分

创建ModbusRTU接口

集成并实现

 

Startup 中注册

 

控制器:

这里用到的只有一个Action 所有的 查询和写入都使用  ReadOrWriteRegishold 具体读写区分使用 Post  request 进行区分

 

PLC 设置:主要进行Modbus 参数设置

 

将程序发布并复制到树莓派中进行启动运行:

 

使用PostMan 进行测试

写入操作

读取操作

postman 进行读写完全没有问题

当然我们也可以使用WinForm 来调用Webapi  进行PLC 的控制

我们来读取刚才postman 写入的值 也是完全正确的 

 

置位一下输出点

当前状态:

 

执行一次写入操作 可看到 输出点已经输出为ON 了  

总结

这个小Demo  完成了 远程对于PLC 的操作 包括 读取 写入,这里值得注意的一点是 Siemens PLC 200 在进行Modbus 通信的时候 不能使用一次写入多个输出点  只能一个是操作,树莓派本身有很好的扩展性,自带WIFI  ,也可以加装4G 模块,对于没有网口的PLC 或者仪表使用树莓派进行通信完全实现了设备的联网操作,这个示例还封装了 通信部分,开发人员只需要操作API 即可 ,不需要关系通信部分,对于软件开发人员比较友好,PLC 可以通过树莓派进行联网采集通信,数控设备CNC 是否也可以呢?欢迎进群讨论 QQ群:901388775 ,再次提醒,这个只是例子,工业环境比较恶劣 还是需要安全可靠的硬件。

 

 

本文地址:https://blog.csdn.net/s64906549/article/details/110197943

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐