基於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的數據。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM