工控網首頁
>

應用設計

>

IT層搞定自動化層數據的妙招

IT層搞定自動化層數據的妙招

對于從事信息化層開發的人員來講,亟待解決打通底層自動化數據的問題,有沒有一種比OPC、Modbus自動化專業度更低更簡單又比數據庫接口簡單更易維護的方式呢?來看看易控軟件的webservice用法吧。

一、WebService應用背景

隨著工業互聯網和智能制造、智慧城市等智能場景應用的加速推進,越來越多的項目渴望有一種模式,能夠打通自動化層軟件與信息管理層軟件之間的數據交互,把大量實時數據、圖像數據、地理數據、管理數據、虛擬與現實場景應用等融合到一起,從而實現數據之間的實時聯動、集成分析,進而成功打造出各類智能場景應用。

但是在實際部署的過程中,卻常常因為自動化軟件和信息化軟件的技術強項不同,導致在數據的交互上出現斷層。自動化軟件擅長的OPC、Modbus等通信技術對于信息化軟件通常比較陌生,開發往往面臨著難度大、周期長、可靠性低等問題。反過來信息化軟件熟悉的數據庫交換方式則存在部署復雜、接口多樣、維護成本高等弊端。

面對這樣的問題,WebService通信方式逐漸成為了很多信息化軟件與底層數據實時交互的不錯的選擇。

二、WebService技術概述

1、什么是WebService?

WebService是一個平臺獨立的,低耦合的,自包含的,基于可編程的web應用程序,可用于開發分布式的互操作應用程序。能使得運行在不同機器上的不同應用無須借助附加的、專門的第三方軟件或硬件,就可以相互交換數據或集成。依據WebService規范實施的應用之間,無論它們所使用的語言、平臺或內部協議是什么,都可以相互交換數據。

2、WebService的主要特點有哪些?

  • 跨平臺

基于XML格式的SOAP消息是互聯網上通用的標準協議,任何能夠訪問Internet的平臺既可以發布WebService也可以接收來自WebService的SOAP消息,與操作系統無關。

  • 跨語言

WebService的接口定義是標準的,實現WebService服務接口和調用WebService接口客戶端程序編程語言可以不同。C#可以調用Java編寫的WebService,反之亦然。可以用C++、C#、Java、Python等任意一種編程語言編寫或者調用WebService。WebService服務軟件供應商和客戶可以根據自已業務需要選擇編程語言。

  • 分布式應用

WebService本質上是一種跨編程語言和跨操作系統平臺的遠程調用技術,服務端和客戶端通過基于XML的SOAP消息進行通信,可方便搭建分布式應用。

三、易控天地對WebService的支持

在以上所述的背景之下,我們看到越來越多的自動化軟件廠商也都開始在其組態軟件產品中增加了對WebService功能的支持。但是深究后我們會發現,礙于傳統組態軟件對于WebService技術的支持具有天生的劣勢,目前常見的做法是組態軟件提供若干可以調用的方法,其預設了固定的數據格式和固定的用法,能夠交互的內容也無非是設備點表讀取、實時數據讀寫等。這樣在對接千變萬化的信息管理系統時,對雙方的要求難免就會比較高,導致實際應用面過窄。

與之相比,易控天地智能化監控和運營管理平臺則完美地支持了WebService通信方式。在易控天地平臺中,不是將固定結構的方法廠家封裝起來以供調用,而是可以通過工程層面客戶自己做工作就可以實現非常復雜的功能,并允許用戶自由發揮要如何利用WebSerivce來交換不同的數據格式、結構、甚至文件的類型,例如企業的管理數據、政府公布的天氣預報數據、環保數據、交通地理數據、圖像數據等等。

在易控天地平臺中,用戶可以自定義服務方法,將易控工程作為服務端,工程運行后即可提供WebService服務,以供各種高級編程語言編寫的信息化軟件客戶端程序所調用,很方便地從控制系統中把數據傳遞給信息化軟件,為其提供分析和管理的數據基礎。除此之外,易控工程也可以作為WebService客戶端,既支持調用其他易控工程的WebService服務,也支持調用其他語言編寫的第三方WebService服務,將項目中的信息層數據貫穿到底層控制系統,指導和優化控制過程,從而幫助企業實現信息化、智能化。

四、實際應用案例

下面將通過一個實際的應用案例來展示在易控天地平臺中如何使用WebService方式與其他平臺進行數據交互。

某用戶現有一個使用Java語言自研開發的信息化平臺,需要在該平臺中調用3萬多條從現場采集的實時溫度、管道壓力、實時報警等數據。作為信息化平臺,其最初的設計中并沒有實現從現場設備層直接采集數據的功能,即使現在投入研發,也將面臨成本高、時間長、穩定性差等問題。于是用戶決定借助于易控天地平臺在數據采集和報警機制等方面的優勢,先通過易控天地來完成現場設備層的數據采集,再采用WebSerivice技術與易控天地直接之間進行信息交換。基于雙方對WebService支持的完善性,該需求可以采用以下兩種方案實現:(1)信息化平臺做服務端,易控天地做客戶端;(2)易控天地做服務端,信息化平臺做客戶端。

  • 方案1:易控做服務端

在本方案中,信息化平臺通過調用易控天地提供的WebService服務,來獲取采集的實時數據和產生的實時報警信息,實現兩個系統的無縫集成。

1、首先在易控工程中,通過“集成互聯”建立一個WebService服務項:

 image.png

2、在易控天地的程序編輯器中提供訪問接口:

 image.png

3、在設置選項中,配置WebService的服務名稱和端口號:

 image.png

4、上述配置好之后,運行本工程,即可啟動易控的WebService服務。

  • 方案2:易控做客戶端

在本方案中,信息化平臺制定并實現了WebService服務接口供易控天地調用,易控將采集的實時數據和產生的實時報警信息推送至平臺,實現兩個系統的無縫集成。

1、拿到信息化平臺提供的WebService的dll文件(如setinfo.dll,)通過工具生成setinfo.dll,在該文件中定義了WebService服務端的數據接口方法,通過調用這個方法,就可以與服務端進行數據交互。

2、在易控天地的編程子系統中引用setinfo.dll:

 image.png

3、在用戶程序中直接使用封裝在SetInfo.dll程序集中的SetInfof方法,就可以將數據通過WebService發送給信息化平臺。

 image.png

審核編輯(
王靜
)
投訴建議

提交

查看更多評論
其他資訊

查看更多

九思易公司輕松通過CMMI3國際認證

九思易受邀參加2024《新工業智物聯》CEO峰會

易控管控平臺系列EconMCP介紹

易控數據網關EconBox介紹

易控人機界面 EconPanel介紹