zoukankan      html  css  js  c++  java
  • 基于WebApi实现ModbusTCP数据服务

    前言

    在上位机开发过程中,有时候会遇到需要提供数据接口给MES或者其他系统,今天跟大家分享一下,如何在Winform等桌面应用程序中,开发WebApi接口,提供对外数据服务。

    为了更好地演示应用场景,本案例以读取ModbusTCP设备为例,开发好WeiApi接口后,第三方系统可以通过该接口读取到设备数据。

    实现过程

    1、创建一个Winform程序,设计UI界面如下,主要包括ModbusTCP的设备IP及端口,以及本地WepApi的Http服务及端口:

    2、实现ModbusTCP连接

    (1)Nuget搜索xktComm并安装,便于后续可以实现ModbusTCP连接

     (2)建立ModbusTCP连接

     (3)断开ModbusTCP连接

    3、创建HttpServer

    首先通过Nuget搜索这两个库,添加一下引用:

    • Microsoft.AspNet.WebApi.Client
    • Microsoft.AspNet.WebApi.SelfHost

     HttpServer主要是对HttpSelfHostServer的封装,HttpServer类如下:

     4、创建Controller 创建一个控制器HomeController,以读取保持寄存器为例,编写了一个方法可以读取一个保持寄存器存储区数据,代码如下所示:

    5、开启HttpServer

    (1)创建HttpServer对象

     (2)开启HttpServer服务

     (3)停止HttpServer服务

    功能测试

    首先用Modbus Slave开一个仿真:

    运行上位机软件后,连接设备并开启服务:

    打开浏览器,输入 http://127.0.0.1:2000/api/home/ReadKeepReg?address=0,即可获取到40001的数据。

  • 相关阅读:
    node.js--express学习之路(三)
    node.js--express学习之路(二)
    node.js--express学习之路(一)
    js简单实现获取验证码倒计时
    HTML5新特性postMessage解决跨域
    跨域通信—JSONP
    前端跨域的那些事
    前后端通信—CORS(支持跨域)
    前后端通信—webSocket(支持跨域)
    JavaScript的运行机制
  • 原文地址:https://www.cnblogs.com/xiketang/p/15420632.html
Copyright © 2011-2022 走看看