IT層搞定自動化層數(shù)據(jù)的妙招
對于從事信息化層開發(fā)的人員來講,亟待解決打通底層自動化數(shù)據(jù)的問題,有沒有一種比OPC、Modbus自動化專業(yè)度更低更簡單又比數(shù)據(jù)庫接口簡單更易維護的方式呢?來看看易控軟件的webservice用法吧。
一、WebService應用背景
隨著工業(yè)互聯(lián)網(wǎng)和智能制造、智慧城市等智能場景應用的加速推進,越來越多的項目渴望有一種模式,能夠打通自動化層軟件與信息管理層軟件之間的數(shù)據(jù)交互,把大量實時數(shù)據(jù)、圖像數(shù)據(jù)、地理數(shù)據(jù)、管理數(shù)據(jù)、虛擬與現(xiàn)實場景應用等融合到一起,從而實現(xiàn)數(shù)據(jù)之間的實時聯(lián)動、集成分析,進而成功打造出各類智能場景應用。
但是在實際部署的過程中,卻常常因為自動化軟件和信息化軟件的技術強項不同,導致在數(shù)據(jù)的交互上出現(xiàn)斷層。自動化軟件擅長的OPC、Modbus等通信技術對于信息化軟件通常比較陌生,開發(fā)往往面臨著難度大、周期長、可靠性低等問題。反過來信息化軟件熟悉的數(shù)據(jù)庫交換方式則存在部署復雜、接口多樣、維護成本高等弊端。
面對這樣的問題,WebService通信方式逐漸成為了很多信息化軟件與底層數(shù)據(jù)實時交互的不錯的選擇。
二、WebService技術概述
1、什么是WebService?
WebService是一個平臺獨立的,低耦合的,自包含的,基于可編程的web應用程序,可用于開發(fā)分布式的互操作應用程序。能使得運行在不同機器上的不同應用無須借助附加的、專門的第三方軟件或硬件,就可以相互交換數(shù)據(jù)或集成。依據(jù)WebService規(guī)范實施的應用之間,無論它們所使用的語言、平臺或內(nèi)部協(xié)議是什么,都可以相互交換數(shù)據(jù)。
2、WebService的主要特點有哪些?
跨平臺
基于XML格式的SOAP消息是互聯(lián)網(wǎng)上通用的標準協(xié)議,任何能夠訪問Internet的平臺既可以發(fā)布WebService也可以接收來自WebService的SOAP消息,與操作系統(tǒng)無關。
跨語言
WebService的接口定義是標準的,實現(xiàn)WebService服務接口和調(diào)用WebService接口客戶端程序編程語言可以不同。C#可以調(diào)用Java編寫的WebService,反之亦然??梢杂肅++、C#、Java、Python等任意一種編程語言編寫或者調(diào)用WebService。WebService服務軟件供應商和客戶可以根據(jù)自已業(yè)務需要選擇編程語言。
分布式應用
WebService本質(zhì)上是一種跨編程語言和跨操作系統(tǒng)平臺的遠程調(diào)用技術,服務端和客戶端通過基于XML的SOAP消息進行通信,可方便搭建分布式應用。
三、易控天地對WebService的支持
在以上所述的背景之下,我們看到越來越多的自動化軟件廠商也都開始在其組態(tài)軟件產(chǎn)品中增加了對WebService功能的支持。但是深究后我們會發(fā)現(xiàn),礙于傳統(tǒng)組態(tài)軟件對于WebService技術的支持具有天生的劣勢,目前常見的做法是組態(tài)軟件提供若干可以調(diào)用的方法,其預設了固定的數(shù)據(jù)格式和固定的用法,能夠交互的內(nèi)容也無非是設備點表讀取、實時數(shù)據(jù)讀寫等。這樣在對接千變?nèi)f化的信息管理系統(tǒng)時,對雙方的要求難免就會比較高,導致實際應用面過窄。
與之相比,易控天地智能化監(jiān)控和運營管理平臺則完美地支持了WebService通信方式。在易控天地平臺中,不是將固定結構的方法廠家封裝起來以供調(diào)用,而是可以通過工程層面客戶自己做工作就可以實現(xiàn)非常復雜的功能,并允許用戶自由發(fā)揮要如何利用WebSerivce來交換不同的數(shù)據(jù)格式、結構、甚至文件的類型,例如企業(yè)的管理數(shù)據(jù)、政府公布的天氣預報數(shù)據(jù)、環(huán)保數(shù)據(jù)、交通地理數(shù)據(jù)、圖像數(shù)據(jù)等等。
在易控天地平臺中,用戶可以自定義服務方法,將易控工程作為服務端,工程運行后即可提供WebService服務,以供各種高級編程語言編寫的信息化軟件客戶端程序所調(diào)用,很方便地從控制系統(tǒng)中把數(shù)據(jù)傳遞給信息化軟件,為其提供分析和管理的數(shù)據(jù)基礎。除此之外,易控工程也可以作為WebService客戶端,既支持調(diào)用其他易控工程的WebService服務,也支持調(diào)用其他語言編寫的第三方WebService服務,將項目中的信息層數(shù)據(jù)貫穿到底層控制系統(tǒng),指導和優(yōu)化控制過程,從而幫助企業(yè)實現(xiàn)信息化、智能化。
四、實際應用案例
下面將通過一個實際的應用案例來展示在易控天地平臺中如何使用WebService方式與其他平臺進行數(shù)據(jù)交互。
某用戶現(xiàn)有一個使用Java語言自研開發(fā)的信息化平臺,需要在該平臺中調(diào)用3萬多條從現(xiàn)場采集的實時溫度、管道壓力、實時報警等數(shù)據(jù)。作為信息化平臺,其最初的設計中并沒有實現(xiàn)從現(xiàn)場設備層直接采集數(shù)據(jù)的功能,即使現(xiàn)在投入研發(fā),也將面臨成本高、時間長、穩(wěn)定性差等問題。于是用戶決定借助于易控天地平臺在數(shù)據(jù)采集和報警機制等方面的優(yōu)勢,先通過易控天地來完成現(xiàn)場設備層的數(shù)據(jù)采集,再采用WebSerivice技術與易控天地直接之間進行信息交換?;陔p方對WebService支持的完善性,該需求可以采用以下兩種方案實現(xiàn):(1)信息化平臺做服務端,易控天地做客戶端;(2)易控天地做服務端,信息化平臺做客戶端。
方案1:易控做服務端
在本方案中,信息化平臺通過調(diào)用易控天地提供的WebService服務,來獲取采集的實時數(shù)據(jù)和產(chǎn)生的實時報警信息,實現(xiàn)兩個系統(tǒng)的無縫集成。
1、首先在易控工程中,通過“集成互聯(lián)”建立一個WebService服務項:
2、在易控天地的程序編輯器中提供訪問接口:
3、在設置選項中,配置WebService的服務名稱和端口號:
4、上述配置好之后,運行本工程,即可啟動易控的WebService服務。
方案2:易控做客戶端
在本方案中,信息化平臺制定并實現(xiàn)了WebService服務接口供易控天地調(diào)用,易控將采集的實時數(shù)據(jù)和產(chǎn)生的實時報警信息推送至平臺,實現(xiàn)兩個系統(tǒng)的無縫集成。
1、拿到信息化平臺提供的WebService的dll文件(如setinfo.dll,)通過工具生成setinfo.dll,在該文件中定義了WebService服務端的數(shù)據(jù)接口方法,通過調(diào)用這個方法,就可以與服務端進行數(shù)據(jù)交互。
2、在易控天地的編程子系統(tǒng)中引用setinfo.dll:
3、在用戶程序中直接使用封裝在SetInfo.dll程序集中的SetInfof方法,就可以將數(shù)據(jù)通過WebService發(fā)送給信息化平臺。
提交
九思易公司輕松通過CMMI3國際認證
九思易受邀參加2024《新工業(yè)智物聯(lián)》CEO峰會
易控管控平臺系列EconMCP介紹
易控數(shù)據(jù)網(wǎng)關EconBox介紹
易控人機界面 EconPanel介紹