欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  互联网

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

程序员文章站 2022-03-06 08:15:08
背景经过上两次的介绍我们已经可以在树莓派上跑C#代码了,这次我我们再树莓派上创建一个RestfulWebAPI 再内部实现对于 西门子(Siemens)PLC200的读取写入。硬件树莓派 3B+USB 转485模块Siemens PLC 200导线两根进行连接没有硬件的可以使用软件进行环境的模拟 相关软件可以在QQ群内进行下载:QQ群:901388775 欢迎大家进群交流树莓派 使用USB 转485 模块 和西门子PLC 进行连接创建工程创建WebAP......

背景

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

硬件

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

进行连接

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

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

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

 

创建工程

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

创建ModbusRTU接口

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

集成并实现

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

 

Startup 中注册

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

 

控制器:

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

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

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

 

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

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

 

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

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

 

使用PostMan 进行测试

写入操作

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

读取操作

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

postman 进行读写完全没有问题

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

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

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

 

置位一下输出点

当前状态:

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

 

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

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

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

总结

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

 

 

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