logo

IT層搞定自動化層數(shù)據(jù)的妙招

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


一、WebService應(yīng)用背景

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


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


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


二、WebService技術(shù)概述

1、什么是WebService?

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


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

?跨平臺

基于XML格式的SOAP消息是互聯(lián)網(wǎng)上通用的標準協(xié)議,任何能夠訪問Internet的平臺既可以發(fā)布WebService也可以接收來自WebService的SOAP消息,與操作系統(tǒng)無關(guān)。


?跨語言

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


?分布式應(yīng)用

WebService本質(zhì)上是一種跨編程語言和跨操作系統(tǒng)平臺的遠程調(diào)用技術(shù),服務(wù)端和客戶端通過基于XML的SOAP消息進行通信,可方便搭建分布式應(yīng)用。


三、易控天地對WebService的支持

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


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


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


四、實際應(yīng)用案例

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


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


?方案1:易控做服務(wù)端

在本方案中,信息化平臺通過調(diào)用易控天地提供的WebService服務(wù),來獲取采集的實時數(shù)據(jù)和產(chǎn)生的實時報警信息,實現(xiàn)兩個系統(tǒng)的無縫集成。

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


 image.png


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

 

image.png


3、在設(shè)置選項中,配置WebService的服務(wù)名稱和端口號:

 

image.png


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


?方案2:易控做客戶端

在本方案中,信息化平臺制定并實現(xiàn)了WebService服務(wù)接口供易控天地調(diào)用,易控將采集的實時數(shù)據(jù)和產(chǎn)生的實時報警信息推送至平臺,實現(xiàn)兩個系統(tǒng)的無縫集成。


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


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


image.png 


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

 

image.png


上一篇:2024 CAIMRS丨潘英章講稿摘要:六邊形突圍,自動化市場正觸底復蘇 下一篇:自動化監(jiān)控軟件融合三維與視頻打造出的時空智能
最新資訊