融合終端微應(yīng)用開(kāi)發(fā)設(shè)計(jì)規(guī)范-版本_第1頁(yè)
融合終端微應(yīng)用開(kāi)發(fā)設(shè)計(jì)規(guī)范-版本_第2頁(yè)
融合終端微應(yīng)用開(kāi)發(fā)設(shè)計(jì)規(guī)范-版本_第3頁(yè)
融合終端微應(yīng)用開(kāi)發(fā)設(shè)計(jì)規(guī)范-版本_第4頁(yè)
融合終端微應(yīng)用開(kāi)發(fā)設(shè)計(jì)規(guī)范-版本_第5頁(yè)
已閱讀5頁(yè),還剩121頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

DOCPROPERTY"Product&ProjectName"錯(cuò)誤!未知的文檔屬性名稱DOCPROPERTYDocumentName錯(cuò)誤!未知的文檔屬性名稱STYLEREF"1"\n一、STYLEREF"1"總體原則文檔版本DOCPROPERTYDocumentVersion錯(cuò)誤!未知的文檔屬性名稱(DOCPROPERTYReleaseDate錯(cuò)誤!未知的文檔屬性名稱)DOCPROPERTYProprietaryDeclaration錯(cuò)誤!未知的文檔屬性名稱PAGE74營(yíng)配融合終端微應(yīng)用開(kāi)發(fā)設(shè)計(jì)規(guī)范總體框架總體原則營(yíng)配融合終端微應(yīng)用總體架構(gòu)設(shè)計(jì)遵循三個(gè)基本原則:一是微應(yīng)用之間交互完全基于消息機(jī)制,達(dá)到數(shù)據(jù)交互解耦,避免私有交互造成的管理復(fù)雜性;二是數(shù)據(jù)集中管理原則,避免各微應(yīng)用建立私有數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)存儲(chǔ)與使用;三是微應(yīng)用開(kāi)發(fā)統(tǒng)一預(yù)留接口,保證互通互用。從微應(yīng)用開(kāi)發(fā)管理角度,按照微應(yīng)用使用數(shù)據(jù)、硬件接口的需求分析,微應(yīng)用分為四個(gè)主要類型:基礎(chǔ)管理:通信規(guī)約、數(shù)據(jù)庫(kù)、配置文件等采集監(jiān)測(cè):配變交采、低壓分路采集監(jiān)測(cè)、分支監(jiān)測(cè)與用戶端監(jiān)測(cè)、環(huán)境監(jiān)測(cè)等運(yùn)維管理:低壓拓?fù)鋭?dòng)態(tài)識(shí)別、低壓故障定位、無(wú)功自動(dòng)調(diào)節(jié)、低壓分路分段線損分析、營(yíng)配融合終端狀態(tài)管理等用戶服務(wù):配變負(fù)荷預(yù)測(cè)、臺(tái)區(qū)及用戶供電可靠性計(jì)算、低壓分布式電源即插即用等總體架構(gòu)微應(yīng)用總體流程圖總體架構(gòu)分析5個(gè)主要部分:基礎(chǔ)平臺(tái)部分,包含硬件通訊接口及驅(qū)動(dòng)、基礎(chǔ)操作系統(tǒng)、后期增加的AI芯片及訪問(wèn)接口等系統(tǒng)級(jí)模塊。資源虛擬化部分,主要由分配硬件資源的管理容器組成,對(duì)容器實(shí)現(xiàn)mqtt消息接口與硬件接口訪問(wèn)。微應(yīng)用部分,運(yùn)行于容器內(nèi)部,通過(guò)配電自動(dòng)化主站進(jìn)行部署下發(fā)與運(yùn)行監(jiān)控。數(shù)據(jù)交互總線部分,基于容器間IP化技術(shù)與MQTT協(xié)議,實(shí)現(xiàn)跨容器的消息交互。信息安全部分,可細(xì)分為數(shù)據(jù)采集安全、數(shù)據(jù)存儲(chǔ)安全、數(shù)據(jù)訪問(wèn)安全與數(shù)據(jù)上行通訊安全四個(gè)主要部分。消息交互流程信息交互流程是微應(yīng)用數(shù)據(jù)訪問(wèn)、采集數(shù)據(jù)存儲(chǔ)、微應(yīng)用間消息交互的核心部分?;贛QTT協(xié)議,各微應(yīng)用均按照規(guī)則實(shí)現(xiàn)消息接口,實(shí)現(xiàn)微應(yīng)用間消息訪問(wèn)松耦合機(jī)制,以監(jiān)測(cè)采集微應(yīng)用與高級(jí)分析類消息交互流程具體流程如下所示:消息訂閱機(jī)制流程圖關(guān)鍵節(jié)點(diǎn)如下:基于低壓臺(tái)區(qū)統(tǒng)一數(shù)據(jù)模型,定義數(shù)據(jù)采集節(jié)點(diǎn)唯一名稱,同時(shí)根據(jù)微應(yīng)用發(fā)布需求,也可以定義私有節(jié)點(diǎn)名稱供交互使用。消息總線提供發(fā)布訂閱主題接口,各微應(yīng)用運(yùn)行啟動(dòng)需先進(jìn)行發(fā)布、訂閱數(shù)據(jù)主題注冊(cè),注冊(cè)接口見(jiàn)附件。對(duì)外提供數(shù)據(jù)的微應(yīng)用,在生成新數(shù)據(jù)后調(diào)用總線消息發(fā)布接口進(jìn)行數(shù)據(jù)發(fā)布。消息總結(jié)接收到發(fā)布數(shù)據(jù)后,將數(shù)據(jù)存儲(chǔ)至實(shí)時(shí)數(shù)據(jù)庫(kù)。消息總線在發(fā)現(xiàn)被訂閱的點(diǎn)數(shù)據(jù)變化后,啟動(dòng)主題推送程序,根據(jù)訂閱主題信息調(diào)用訂閱方接收接口,推送數(shù)據(jù)。數(shù)據(jù)存儲(chǔ)架構(gòu)營(yíng)配融合終端需存儲(chǔ)多類數(shù)據(jù)信息,根據(jù)數(shù)據(jù)來(lái)源分為低壓電網(wǎng)模型臺(tái)賬數(shù)據(jù)、二次設(shè)備定值配置數(shù)據(jù)、電網(wǎng)運(yùn)行數(shù)據(jù)、營(yíng)銷采集數(shù)據(jù)、分析類微應(yīng)用計(jì)算結(jié)果數(shù)據(jù)等,按照模型統(tǒng)一、本地化自管理的數(shù)據(jù)管理原則,需建立唯一的數(shù)據(jù)管理及讀寫(xiě)通道,并建立數(shù)據(jù)庫(kù)自維護(hù)機(jī)制,以提高數(shù)據(jù)融合與采集的效率,降低管理難度。數(shù)據(jù)存儲(chǔ)總架構(gòu)如下所示:數(shù)據(jù)存儲(chǔ)訪問(wèn)架構(gòu)圖數(shù)據(jù)存儲(chǔ)總體架構(gòu)由5個(gè)主要部分組成:發(fā)布訂閱總線:基于MQTT協(xié)議的跨容器消息定與發(fā)布管理微應(yīng)用,直接對(duì)數(shù)據(jù)中心進(jìn)行讀寫(xiě)操作,主要功能為在實(shí)時(shí)數(shù)據(jù)庫(kù)值發(fā)生變化時(shí),檢索變化值被訂閱方,取得相關(guān)訂閱主題發(fā)布訂閱消息。并實(shí)時(shí)監(jiān)聽(tīng)各發(fā)布微應(yīng)用的發(fā)布接口,將發(fā)布數(shù)據(jù)寫(xiě)入實(shí)時(shí)數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)管理模塊:數(shù)據(jù)庫(kù)管理模塊主要功能有四項(xiàng):一是根據(jù)主站下發(fā)的模型與本臺(tái)區(qū)設(shè)備列表實(shí)例化,初始化實(shí)時(shí)數(shù)據(jù)庫(kù)與歷史數(shù)據(jù)庫(kù);二是在設(shè)備臺(tái)賬發(fā)生變化、新微應(yīng)用注冊(cè)新發(fā)布數(shù)據(jù)時(shí)進(jìn)行數(shù)據(jù)庫(kù)擴(kuò)展;三是根據(jù)發(fā)布數(shù)據(jù)采集頻率屬性,采樣實(shí)時(shí)數(shù)據(jù)至歷史數(shù)據(jù)庫(kù);四是在數(shù)據(jù)備份與數(shù)據(jù)庫(kù)超出容量上限后進(jìn)行循環(huán)覆蓋操作。內(nèi)存數(shù)據(jù)庫(kù)(實(shí)時(shí)數(shù)據(jù)庫(kù)):為避免數(shù)據(jù)快速讀寫(xiě)造成的終端壽命問(wèn)題,建議采用內(nèi)存數(shù)據(jù)庫(kù)進(jìn)行頻繁數(shù)據(jù)讀寫(xiě)支撐,按照定時(shí)采樣原則,將數(shù)據(jù)存儲(chǔ)至歷史數(shù)據(jù)庫(kù)。關(guān)系數(shù)據(jù)庫(kù)(歷史數(shù)據(jù)庫(kù)):關(guān)系數(shù)據(jù)庫(kù)存儲(chǔ)三個(gè)部分內(nèi)容,一是存儲(chǔ)該低壓臺(tái)區(qū)模型實(shí)例;二是為各微應(yīng)用提供過(guò)程數(shù)據(jù)臨時(shí)存儲(chǔ);三是進(jìn)行運(yùn)行數(shù)據(jù)采樣存儲(chǔ)。數(shù)據(jù)訪問(wèn)總線:基于MQTT定義統(tǒng)一的實(shí)時(shí)、歷史數(shù)據(jù)查詢總線,避免多微應(yīng)用同時(shí)并聯(lián)造成的資源浪費(fèi)。數(shù)據(jù)中心框架數(shù)據(jù)分類電力系統(tǒng)中數(shù)據(jù)可分為遙測(cè)數(shù)據(jù)、遙信數(shù)據(jù)、事件數(shù)據(jù)。遙測(cè)數(shù)據(jù)由實(shí)時(shí)數(shù)據(jù)和凍結(jié)數(shù)據(jù)組成,分鐘凍結(jié)、小時(shí)凍結(jié)、日凍結(jié)、月凍結(jié)等都屬于凍結(jié)數(shù)據(jù),遙測(cè)數(shù)據(jù)類型多樣,多用float、int等類型表示;遙信數(shù)據(jù)是一種狀態(tài),反應(yīng)設(shè)備在某時(shí)間點(diǎn)上狀態(tài)信息,數(shù)據(jù)類型為bool;事件數(shù)據(jù)是一種記錄型數(shù)據(jù),表示某時(shí)間點(diǎn)設(shè)備生的異常狀況,事件數(shù)據(jù)信息含量大,一般為struct結(jié)構(gòu)體表述。 綜合上述分析,設(shè)備數(shù)據(jù)由數(shù)據(jù)名稱、數(shù)據(jù)值、單位、數(shù)據(jù)類型、數(shù)據(jù)時(shí)間、凍結(jié)類型幾部分組成,并且定位了設(shè)備的唯一數(shù)據(jù)量。例如:電能表,A相電壓、220.0V、float數(shù)據(jù)類型、xxxx年xx月xx日xx分xx秒xx毫秒,曲線凍結(jié),這樣能夠確認(rèn)數(shù)據(jù)的唯一性;再例如:電能表,失壓事件、失壓時(shí)的各種狀態(tài)、數(shù)據(jù)類型為struct結(jié)構(gòu)體、產(chǎn)生時(shí)間xxxx-xx-xxxx:xx:xx、事件記錄。 數(shù)據(jù)中心模型是對(duì)設(shè)備所有遙測(cè)/遙信數(shù)據(jù)名稱、數(shù)據(jù)類型、數(shù)據(jù)單位的抽象,其中某一數(shù)據(jù)項(xiàng)成為屬性。例如:電能表可以抽象成表模型,A相電壓、float、V為模型屬性。設(shè)計(jì)原則數(shù)據(jù)中心核心功能是數(shù)據(jù)的存儲(chǔ)與管理以及對(duì)外提供標(biāo)準(zhǔn)的調(diào)用接口。數(shù)據(jù)中心遵循以下原則:在通信接口中屬性數(shù)值全部采用string類型;數(shù)據(jù)按設(shè)備(包括物理設(shè)備、虛擬設(shè)備)分類管理;數(shù)據(jù)按實(shí)時(shí)數(shù)據(jù)、凍結(jié)數(shù)據(jù)、事件、參數(shù)分類管理,每一類數(shù)據(jù)具有獨(dú)立的、標(biāo)準(zhǔn)的調(diào)用接口;接口中的拓展數(shù)據(jù)或私有數(shù)據(jù)采用自定義格式,并用base64編碼;數(shù)據(jù)中心接口采用MQTT+JSON方式。數(shù)據(jù)管理規(guī)范數(shù)據(jù)中心從數(shù)據(jù)安全角度考慮,遵循以下安全策略:1模型屬性具有訪問(wèn)權(quán)限,根據(jù)權(quán)限可以禁止某些APP訪問(wèn);2實(shí)時(shí)數(shù)據(jù)、參數(shù)數(shù)據(jù)只有數(shù)據(jù)生成者具有數(shù)據(jù)更新權(quán)限;3歷史數(shù)據(jù)任何APP無(wú)權(quán)修改;4APP可以任意訪問(wèn)權(quán)限允許的模型屬性;5參數(shù)具有備份和回滾能力。數(shù)據(jù)存儲(chǔ)規(guī)范模型屬性命名原則為了數(shù)據(jù)中心數(shù)據(jù)統(tǒng)一管理,變量應(yīng)具有統(tǒng)一命名標(biāo)識(shí),屬性命名參考附件《設(shè)備模型屬性規(guī)范》。以電壓電流為例,規(guī)定PhV_phsA、PhV_phsB、PhV_phsC為三相電壓標(biāo)識(shí),A_phsA、A_phsB、A_phsC、A_neut為三相及零序電流標(biāo)識(shí),任意設(shè)備的相同變量使用同一個(gè)標(biāo)識(shí)。序號(hào)變量名稱描述1PhV_phsAA相電壓2PhV_phsBB相電壓3PhV_phsCC相電壓4A_phsAA相電流5A_phsBB相電流6A_phsCC相電流7A_neut零序電流模型命名規(guī)則選定一類設(shè)備,在變量命名表中選出該類設(shè)備能夠采集的全部變量,即構(gòu)成了該類設(shè)備的設(shè)備模型表。將設(shè)備模型表初始化為數(shù)據(jù)庫(kù)表,即實(shí)現(xiàn)了設(shè)備模型到數(shù)據(jù)庫(kù)的映射。以漏保為例:IDNameTypeUnit1PhV_phsAfloatV2PhV_phsBfloatV3PhV_phsCfloatV4A_phsAfloatA5A_phsBfloatA6A_phsCfloatA7ResPhaseintnull8ResAfloatA9Timesintnull10Almboolnull11PTUV_strValboolV12PTOV_strValboolV13ResAlmboolnull14PTOV_Open_Opboolnull15PhAlmboolnull設(shè)備的實(shí)時(shí)數(shù)據(jù)與凍結(jié)數(shù)據(jù)應(yīng)分別建模,凍結(jié)數(shù)據(jù)模型表應(yīng)以“模型名_frozen”命名。以漏保為例,實(shí)時(shí)數(shù)據(jù)模型表名為MCCB,凍結(jié)數(shù)據(jù)模型表名為MCCB_frozen。設(shè)備命名規(guī)則為方便臺(tái)區(qū)設(shè)備模型建立,臺(tái)區(qū)設(shè)備應(yīng)采取統(tǒng)一命名規(guī)則,同一臺(tái)區(qū)下的相同設(shè)備間以“模型名_唯一碼”的形式區(qū)分。該關(guān)鍵字為一臺(tái)設(shè)備在臺(tái)區(qū)下的唯一標(biāo)識(shí),也是業(yè)務(wù)APP訂閱/發(fā)布的信息對(duì)象及數(shù)據(jù)庫(kù)存儲(chǔ)的表名。注:要求設(shè)備ID的唯一性,算法另考慮。序號(hào)設(shè)備類型infoPath/數(shù)據(jù)庫(kù)表名1交流采樣ADC2開(kāi)關(guān)量采樣DI3模擬量采樣AI4塑殼斷路器MCCB_1MCCB_2MCCB_frozen_1……5漏保RCD_010000000001RCD_010000000002RCD_frozen_010000000001……6多功能表MultiMeter_1MultiMeter_2MultiMeter_frozen_1……7電容器CAP8靜止無(wú)功發(fā)生器SVG9溫濕度傳感器THSensor_1THSensor_2THSensor_frozen_1……10充電樁ChargingPile_1ChargingPile_2ChargingPile_frozen_1……11換相開(kāi)關(guān)PhaseSwitch_020000000001PhaseSwitch_020000000002PhaseSwitch_frozen_020000000001……12末端/分支終端EndTerminal_030000000001EndTerminal_030000000002EndTerminal_frozen_030000000001……13分布式電源DistributedPower_1DistributedPower_2……14溫度傳感器TempSensor_1TempSensor_2……15水位傳感器WaterLevelSensor_1WaterLevelSensor_2……16煙感傳感器SmokeSensor_1SmokeSensor_2……17門磁傳感器MGSensor_1MGSensor_2……18SF6傳感器SF6Sensor_1SF6Sensor_2……19振動(dòng)傳感器VibSensor_1VibSensor_2……20局放傳感器PDSensor_1PDSensor_2……21冷凝除濕傳感器CondenseSensor_1CondenseSensor_2……22營(yíng)配融合終端TTU設(shè)備信息臺(tái)賬臺(tái)區(qū)設(shè)備信息應(yīng)下表所示的方式存儲(chǔ)到終端中。序號(hào)設(shè)備名稱設(shè)備類型TTU端口地址碼1MCCB_3MCCBRS485-232RCD_010000000001RCDRS485-10100000000013SVG_26SVGRS485-226數(shù)據(jù)類型數(shù)據(jù)類型列表常用數(shù)據(jù)類型如下:數(shù)據(jù)類型轉(zhuǎn)換模型屬性的數(shù)據(jù)類型參照《設(shè)備模型屬性規(guī)范》,采用《數(shù)據(jù)類型表》中的類型;接口規(guī)范中的模型屬性的數(shù)據(jù)類型全部采用string類型傳輸;實(shí)際應(yīng)用中需要《設(shè)備模型屬性規(guī)范》數(shù)據(jù)類型與string類型相互轉(zhuǎn)換。數(shù)據(jù)中心接口調(diào)用數(shù)據(jù)中心調(diào)用分四步:模型注冊(cè)、設(shè)備注冊(cè)、GUID獲取、數(shù)據(jù)/參數(shù)的讀寫(xiě)操作。對(duì)于APP(數(shù)據(jù)生成者)四步不可少,對(duì)于APP(消費(fèi)者)可缺少模型注冊(cè)和設(shè)備注冊(cè)。數(shù)據(jù)中心綜合考慮了配電、營(yíng)銷、物聯(lián)網(wǎng)、邊緣計(jì)算的業(yè)務(wù),基本能夠滿足電力所有業(yè)務(wù)的數(shù)據(jù)管理需要。接口概述1版本信息查詢查詢版本信息{app}/get/request/database/version查詢版本信息返回database/get/response/{app}/version2模型管理模型名稱查詢{app}/get/request/database/modelschema模型名稱查詢返回database/get/response/{app}/modelschema模型刪除{app}/action/request/database/deletemodel模型刪除返回database/action/response/{app}/deletemodel3模型交互模型內(nèi)容查詢{app}/get/request/database/model模型內(nèi)容查詢返回database/get/response/{app}/model模型設(shè)置{app}/set/request/database/model模型設(shè)置返回database/set/response/{app}/model4設(shè)備/應(yīng)用注冊(cè)設(shè)備GUID查詢app}/get/request/database/guid設(shè)備GUID查詢返回database/get/response/{app}/guid設(shè)備查詢{app}/get/request/database/register設(shè)備查詢返回database/get/response/{app}/register設(shè)備注冊(cè){app}/set/request/database/register設(shè)備注冊(cè)返回database/set/response/{app}/register5定值交互定值查詢{app}/get/request/database/parameter定值查詢返回database/get/response/{app}/parameter定值設(shè)置{app}/set/request/database/parameter定值設(shè)置返回database/set/response/{app}/parameter定值刪除{app}/action/request/database/deleteparameter定值刪除返回database/action/response/{app}/deleteparameter6數(shù)據(jù)主動(dòng)上報(bào)數(shù)據(jù)主動(dòng)上報(bào){app}/notify/event/database/{設(shè)備類型}/{設(shè)備標(biāo)識(shí)}數(shù)據(jù)主動(dòng)上報(bào)返回database/notify/response/{app}/{設(shè)備類型}/{設(shè)備標(biāo)識(shí)}7數(shù)據(jù)變化上報(bào)數(shù)據(jù)變化上報(bào){app}/notify/spont/*/{設(shè)備類型}/{設(shè)備標(biāo)識(shí)}8應(yīng)用訂閱接口應(yīng)用訂閱接口{app}/get/request/database/subscribe應(yīng)用訂閱接口返回database/get/response/{app}/subscribe9實(shí)時(shí)數(shù)據(jù)查詢實(shí)時(shí)數(shù)據(jù)查詢{app}/get/request/database/realtime實(shí)時(shí)數(shù)據(jù)查詢返回database/get/response/{app}/realtime10歷史數(shù)據(jù)查詢實(shí)例數(shù)據(jù)查詢{app}/get/request/database/historydatabase/get/response/{app}/history接口基本時(shí)序數(shù)據(jù)中心基本操作采用問(wèn)答式時(shí)序,示意圖如下:基礎(chǔ)交互時(shí)序示意圖業(yè)務(wù)流程1采集類微應(yīng)用APP接口調(diào)用流程2邊緣計(jì)算類APP接口調(diào)用流程3業(yè)務(wù)類APP接口調(diào)用流程MQTT接口規(guī)范注:消息體內(nèi)的時(shí)標(biāo)均為北京時(shí)間。注:未標(biāo)注可選項(xiàng)的字段,都為必填項(xiàng)。注:JSON值為string類選,不能為空,若需要為空填寫(xiě)NULL,例如:“token”:“NULL”。設(shè)備/應(yīng)用注冊(cè)接口中的“desc”:“”為設(shè)備的描述可以為空,不用填寫(xiě)NULL。版本信息查詢接口獲取當(dāng)前數(shù)據(jù)中心微應(yīng)用的版本信息。app發(fā)布/database訂閱主題{app}/get/request/database/version說(shuō)明注:JSON值為string類選,不能為空,若需要為空填寫(xiě)NULL,例如:“token”:“NULL”。請(qǐng)求{“token”:“123”,“timestamp”:“2019-03-01T09:30:08.230+0800”,“body”:[]}database發(fā)布/app訂閱主題database/get/response/{app}/version響應(yīng){“token”:“123”,“timestamp”:“2019-03-01T09:30:08.230+0800”,“version”:“v5.91”,“Compatible”:”v1”//最低版本號(hào)}注版本號(hào)大小版本號(hào),小數(shù)點(diǎn)前為大版本,小數(shù)點(diǎn)后為小版本;其中Compatible兼容版本只體現(xiàn)大版本。模型管理接口可獲取當(dāng)前庫(kù)中已有的全部模型名稱,可刪除指定名稱的模型。模型名稱查詢app發(fā)布/database訂閱主題{app}/get/request/database/modelschema說(shuō)明注:JSON值為string類選,不能為空,若需要為空填寫(xiě)NULL,例如:“token”:“NULL”。請(qǐng)求{“token”:“123”,“timestamp”:“2019-03-01T09:30:08.230+0800”,“body”:[]}模型名稱查詢結(jié)果返回database發(fā)布/app訂閱主題database/get/response/{app}/modelschema響應(yīng){“token”:“123”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“body”:[“ADC”,“DI”,……]}指定模型刪除app發(fā)布/database訂閱主題{app}/action/request/database/deletemodel說(shuō)明注:JSON值為string類選,不能為空,若需要為空填寫(xiě)NULL,例如:“token”:“NULL”。請(qǐng)求{“token”:“123”,“timestamp”:“2019-03-01T09:30:08.230+0800”,“body”:[“ADC”,“DI”,……]}模型刪除結(jié)果返回database發(fā)布/app訂閱主題database/action/response/{app}/deletemodel響應(yīng){“token”:“234”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“status”:“OK”/“FAILURE”}模型交互接口微應(yīng)用初始化時(shí),應(yīng)調(diào)用模型交互接口設(shè)置應(yīng)用/設(shè)備的數(shù)據(jù)模型,同一設(shè)備的實(shí)時(shí)數(shù)據(jù)與凍結(jié)數(shù)據(jù)需分別建立不同的模型,凍結(jié)數(shù)據(jù)的模型名稱后綴規(guī)定為_(kāi)frozen,如MCCB與MCCB_frozen。模型查詢app發(fā)布/database訂閱主題{app}/get/request/database/model說(shuō)明注:JSON值為string類選,不能為空,若需要為空填寫(xiě)NULL,例如:“token”:“NULL”。請(qǐng)求{“token”:“123”,“timestamp”:“2019-03-01T09:30:08.230+0800”,“body”:[“ADC”,//模型名稱“DI”,……]}模型查詢結(jié)果返回database發(fā)布/app訂閱主題database/get/response/{app}/model響應(yīng){“token”:“123”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“body”:[{“model”:“ADC”,“body”:[{“name”:“PhV_phsA”,“type”:“float”,“unit”:“V”,“deadzone”:“0.5”,“ratio”:“1”,“isReport”:“1”,“userdefine”:“”,//最大256字節(jié)},{“name”:“PhV_phsB”,“type”:“float”,“unit”:“V”,“deadzone”:“0.5”,“ratio”:“1”,“isReport”:“1”,“userdefine”:“”},……]},{“model”:“DI”,“body”:[{“name”:“DIO1”,“type”:“bool”,“unit”:null,“deadzone”:“”,“ratio”:“1”,“isReport”:“1”,“userdefine”:“”},……]},……]}模型設(shè)置app發(fā)布/database訂閱主題{app}/set/request/database/model說(shuō)明例如:正確表示“name”:“PhV_phsA”或“name”:“NULL”,錯(cuò)誤表示:“name”:“”。請(qǐng)求{“token”:“234”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“model”:“MCCB”,“body”:[{“name”:“PhV_phsA”,“type”:“float”,“unit”:“V”,“deadzone”:“0.5”,“ratio”:“1”,“isReport”:“1”,“userdefine”:“”},{“name”:“PhV_phsB”,“type”:“float”,“unit”:“V”,“deadzone”:“0.5”,“ratio”:“1”,“isReport”:“1”,“userdefine”:“”},……]}database發(fā)布/app訂閱主題database/set/response/{app}/model響應(yīng){“token”:“234”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“status”:“OK”/“FAILURE”}設(shè)備/應(yīng)用注冊(cè)接口微應(yīng)用初始化時(shí)應(yīng)調(diào)用注冊(cè)接口注冊(cè)設(shè)備/應(yīng)用的名稱、地址碼等信息,不同設(shè)備應(yīng)用“模型名稱+唯一編碼(GUID)”進(jìn)行標(biāo)識(shí),同一設(shè)備的實(shí)時(shí)數(shù)據(jù)和凍結(jié)數(shù)據(jù)應(yīng)分別注冊(cè),如MCCB_1與MCCB_frozen_1。設(shè)備取消注冊(cè)后,對(duì)應(yīng)的所有設(shè)備數(shù)據(jù)應(yīng)當(dāng)清除。唯一編碼查詢app發(fā)布/database訂閱主題{app}/get/request/database/guid說(shuō)明1、正確表示“name”:“PhV_phsA”或“name”:“NULL”,錯(cuò)誤表示:“name”:“”。2、“desc”:“”,此字段作為設(shè)備描述,可以為空,不用填寫(xiě)NULL。請(qǐng)求{“token”:“234”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“body”:[{“model”:“MCCB”,“port”:“RS485-2”,//可選(RS485-1、RS485-2、RS485-3、RS485-4、PLC)“addr”:“1”,“desc”:“”//此處值可以為空},{“model”:“APP”,“port”:“RS485-1”,“addr”:“2”,“desc”:“”},…… ]}唯一編碼查詢結(jié)果返回database發(fā)布/app訂閱主題database/get/response/{app}/guid響應(yīng){“token”:“234”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“body”:[{“dev”:“MCCB_guid”,“guid”:“guid”,……},{“dev”:“MCCB_guid”,“guid”:“guid”,……},]}注冊(cè)關(guān)系查詢app發(fā)布/database訂閱主題{app}/get/request/database/register說(shuō)明1、正確表示“name”:“PhV_phsA”或“name”:“NULL”,錯(cuò)誤表示:“name”:“”。2、“desc”:“”,此字段作為設(shè)備描述,可以為空,不用填寫(xiě)NULL。請(qǐng)求{“token”:“123”,“timestamp”:“2019-03-01T09:30:08.230+0800”,“body”:[]}注冊(cè)關(guān)系查詢結(jié)果返回database發(fā)布/app訂閱主題database/get/response/{app}/register響應(yīng){“token”:“234”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“body”:[{“model”:“MCCB”,“port”:“RS485-2”,“body”:[{“dev”:“MCCB_guid”,“addr”:“1”,“appname”:“MCCB_collector”,“desc”:“”,“guid”:“guid”,……},{“dev”:“MCCB_guid”,“addr”:“2”,“appname”:“MCCB_collector”,“desc”:“”,“guid”:“guid”,……},……]},{“model”:“RCD”,“port”:“RS485-1”,“body”:[{“dev”:“RCD_guid”,“addr”:“010000000001”,“appname”:“RCD_collector”,“desc”:“”“guid”:“guid”,},……]},……]}設(shè)備/APP注冊(cè)app發(fā)布/database訂閱主題{app}/set/request/database/register說(shuō)明1、正確表示“name”:“PhV_phsA”或“name”:“NULL”,錯(cuò)誤表示:“name”:“”。2、“desc”:“”,此字段作為設(shè)備描述,可以為空,不用填寫(xiě)NULL。請(qǐng)求{“token”:“234”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“body”:[{“model”:“MCCB”,“port”:“RS485-2”,“addr”:“1”,“desc”:“”},{“model”:“FaultAnalysis”,//高級(jí)APP名稱(未實(shí)體設(shè)備)“port”:“”,“addr”:“”,“desc”:“”},{“model”:“RCD”,“port”:“RS485-1”,“addr”:“010000000001”,“desc”:“”},……]}注冊(cè)結(jié)果返回database發(fā)布/app訂閱主題database/set/response/{app}/register響應(yīng){“token”:“234”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“status”:“OK”/“FAILURE”}設(shè)備/APP取消注冊(cè)app發(fā)布/database訂閱主題{app}/action/request/database/unregister說(shuō)明1、正確表示“name”:“PhV_phsA”或“name”:“NULL”,錯(cuò)誤表示:“name”:“”。2、“desc”:“”,此字段作為設(shè)備描述,可以為空,不用填寫(xiě)NULL。請(qǐng)求{“token”:“234”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“body”:[{“model”:“MCCB”,“port”:“RS485-1”,“addr”:“1”,“desc”:“”},……]}取消注冊(cè)結(jié)果返回database發(fā)布/app訂閱主題database/action/response/{app}/unregister響應(yīng){“token”:“234”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“status”:“OK”/“FAILURE”}定值交互接口采集類微應(yīng)用初始化時(shí)可調(diào)用定值交互接口設(shè)置/獲取程序運(yùn)行需要的定值參數(shù)。定值查詢app發(fā)布/database訂閱主題{app}/get/request/database/parameter說(shuō)明正確表示“name”:“PhV_phsA”或“name”:“NULL”,錯(cuò)誤表示:“name”:“”。請(qǐng)求消息體{“token”:“123”,“timestamp”:“2019-03-01T09:30:08.230+0800”,“body”:[{“dev”:”MCCB_guid”,“totalcall”:“0”,//是否查詢?nèi)繑?shù)據(jù)“body”:[“span”,//定值名稱“ratio”]},{“dev”:”MCCB_guid”,“totalcall”:“1”,//是否查詢?nèi)繑?shù)據(jù)“body”:[]},……]}定值查詢結(jié)果返回database發(fā)布/app訂閱主題database/get/response/{app}/parameter響應(yīng)消息體{“token”:“123”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“body”:[{“dev”:”MCCB_guid”,“body”:[{“name”:“span”,”val”:”5”},{panme”:“span”,”val”:”5”},]},{“dev”:”MCCB_guid”,“body”:[{“name”:“span”,”val”:”5”},{“name”:“ratio”,”val”:”50”},……]},……]}定值設(shè)置app發(fā)布/database訂閱主題{app}/set/request/database/parameter說(shuō)明正確表示“name”:“PhV_phsA”或“name”:“NULL”,錯(cuò)誤表示:“name”:“”。響應(yīng)消息體{“token”:“234”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“body”:[{“dev”:”MCCB_guid”,“body”:[{“name”:“span”,”val”:”5”},{“name”:“ratio”,”val”:”50”}]},{“dev”:”MCCB_guid”,“body”:[{“name”:“span”,”val”:”5”},{“name”:“ratio”,”val”:”50”},……]},……]}定值設(shè)置返回結(jié)果database發(fā)布/app訂閱主題database/set/response/{app}/parameter響應(yīng)消息體{“token”:“234”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“status”:“OK”/“FAILURE”}定值刪除app發(fā)布/database訂閱主題{app}/action/request/database/deleteparameter說(shuō)明正確表示“name”:“PhV_phsA”或“name”:“NULL”,錯(cuò)誤表示:“name”:“”。響應(yīng)消息體{“token”:“345”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“body”:[{“dev”:”MCCB_guid”,“body”:[“span”,“ratio”,……]},……]}定值設(shè)置返回結(jié)果database發(fā)布/app訂閱主題database/action/response/{app}/deleteparameter響應(yīng)消息體{“token”:“345”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“status”:“OK”/“FAILURE”}數(shù)據(jù)主動(dòng)上報(bào)接口微應(yīng)用需存儲(chǔ)的數(shù)據(jù)調(diào)用此接口。接口包括實(shí)時(shí)數(shù)據(jù)寫(xiě)接口、凍結(jié)數(shù)據(jù)寫(xiě)接口。app發(fā)布/database訂閱(實(shí)時(shí)數(shù)據(jù)寫(xiě))主題{app}/notify/event/database/{設(shè)備類型}/{設(shè)備標(biāo)識(shí)}說(shuō)明正確表示“name”:“PhV_phsA”或“name”:“NULL”,錯(cuò)誤表示:“name”:“”。請(qǐng)求{“token”:“123”,“timestamp”:“2019-03-01T09:30:08.230+0800”,“data_row”:“single”,//單組數(shù)據(jù)“body”:[{“name”:“PhV_phsA”,“val”:“220.324”,“quality”:“0”,“timestamp”:“2019-03-01T09:30:08.230+0800”},{“name”:“PhV_phsB”,“val”:“220.324”,“quality”:“0”,“timestamp”:“2019-03-01T09:30:08.230+0800”},……]}app發(fā)布/database訂閱(凍結(jié)數(shù)據(jù)寫(xiě))主題{app}/notify/event/database/{設(shè)備類型}/{設(shè)備標(biāo)識(shí)}說(shuō)明該凍結(jié)數(shù)據(jù)寫(xiě)接口可用于記錄型數(shù)據(jù)的保存,也可凍結(jié)類數(shù)據(jù)的保存;調(diào)用該接口前,必須獲得設(shè)備模型名、設(shè)備GUID等信息;正確表示“name”:“PhV_phsA”或“name”:“NULL”,錯(cuò)誤表示:“name”:“”。請(qǐng)求方式1{“token”:“123”,//消息標(biāo)識(shí),不同的APP不同的標(biāo)識(shí)“timestamp”:“2019-03-01T09:30:08.230+0800”,//時(shí)間標(biāo)簽,表示消息的時(shí)間“data_row”:“frozen”,//凍結(jié)數(shù)據(jù),frozen:表示該消息體為凍結(jié)數(shù)據(jù)“frozentype”:“day”,//可選(mon、day、hour、min、realtmie、SchFroz)。mon:表示月凍結(jié);day:表示日凍結(jié);hour:表示小時(shí)凍結(jié);min:表示分鐘凍?!癰ody”:[{“timestamp”:“2019-03-01T08:30:00.000+0800”,//凍結(jié)時(shí)間“timestartgather”:“2019-03-01T08:30:00.000+0800”,//采集開(kāi)始時(shí)間“timeendgather”:“2019-03-01T08:30:00.000+0800”,//采集結(jié)束時(shí)間“additionalcheck”:“112233445566”,//附加效驗(yàn)“body”:[{“name”:“PhV_phsA”,“val”:“220.324”},{“name”:“PhV_phsB”,“val”:“220.291”},……]},……]}返回結(jié)果database發(fā)布/app訂閱主題database/notify/response/{app}/{設(shè)備類型}/{設(shè)備標(biāo)識(shí)}響應(yīng){“token”:“234”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“status”:“OK”/“FAILURE”}數(shù)據(jù)變化上報(bào)接口微應(yīng)用變化上報(bào)數(shù)據(jù)調(diào)用此接口組幀上報(bào),數(shù)據(jù)庫(kù)不存儲(chǔ)。app發(fā)布主題{app}/notify/spont/*/{設(shè)備類型}/{設(shè)備標(biāo)識(shí)}說(shuō)明正確表示“name”:“PhV_phsA”或“name”:“NULL”,錯(cuò)誤表示:“name”:“”。推送消息體{“token”:“123”,“timestamp”:“2019-03-01T09:30:08.230+0800”,“datatype”:“0”,//0-遙測(cè)1-遙信“body”:[{“name”:“PhV_phsA”,“id”:“1”,“val”:“220.324”,“quality”:“0”,“timestamp”:“”},{“name”:“PhV_phsB”,“id”:“2”,“val”:“220.291”,“quality”:“0”,“timestamp”:“”},……]}應(yīng)用訂閱接口高級(jí)應(yīng)用可調(diào)用此接口定期訂閱需求的數(shù)據(jù)。app發(fā)布/database訂閱主題{app}/get/request/database/subscribe請(qǐng)求消息體{“token”:“123”,“timestamp”:“2019-03-01T09:30:08.230+0800”,“body”:{“sub_topic”:“database/notify/event/{app}/{topic名稱}”,//訂閱數(shù)據(jù)庫(kù)數(shù)據(jù)的主題“timespan”:“30”,//訂閱數(shù)據(jù)時(shí)間間隔,單位為s,最下30s“body”:[{“dev”:“ADC_guid”,“body”:[“PhV_phsA”,“PhV_phsB”,……]},{“dev”:“MCCB_01”,“body”:[“PhV_phsA”,“PhV_phsB”,……]},……]}}database發(fā)布/app訂閱主題database/get/response/{app}/subscribe響應(yīng)消息體{“token”:“123”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“status”:“OK”/“FAILURE”}實(shí)時(shí)數(shù)據(jù)查詢接口實(shí)時(shí)數(shù)據(jù)查詢app發(fā)布/database訂閱主題{app}/get/request/database/realtime請(qǐng)求消息體{“token”:“123”,“timestamp”:“2019-03-01T09:30:08.230+0800”,“body”:[{“dev”:“ADC_guid”,//查詢數(shù)據(jù)的設(shè)備標(biāo)識(shí)“totalcall”:“1”,//是否查詢?nèi)繑?shù)據(jù)“body”:[]},{“modelname”:“model_xx”,//查詢子集模型數(shù)據(jù)“totalcall”:“1”,//是否查詢?nèi)繑?shù)據(jù)“body”:[]},{“dev”:“RCD_guid”,“totalcall”:“0”,“body”:[“PhV_phsA”,“PhV_phsB”]},{“devNo”:“1”,“totalcall”:“0”,“body”:[“PhV_phsA”,“PhV_phsB”]}……]}實(shí)時(shí)數(shù)據(jù)查詢結(jié)果返回database發(fā)布/app訂閱主題database/get/response/{app}/realtime響應(yīng)消息體{ “token”:“123”, “timestamp”:“2019-03-01T09:30:08.230+0800”, “body”: [ { “dev”:“ADC_guid”,//查詢數(shù)據(jù)的設(shè)備標(biāo)識(shí) “body”: [ { “name”:“PhV_phsA”, “val”:“220.331”, “timestamp”:“”, “quality”:“1” },{ “name”:“PhV_phsB”, “val”:“220.317”, “timestamp”:“”, “quality”:“1” },…… ] },{ “modelname”:“model_xx”, “body”: [ { “dev”:”MCCB_guid”, “body”: [ { “name”:“PhV_phsA”, “val”:“220.331”, “timestamp”:“”, “quality”:“1” },{ “name”:“PhV_phsB”, “val”:“220.317”, “timestamp”:“”, “quality”:“1” }, ] }, ] },{ “dev”:“RCD_002”, “body”: [ { “name”:“PhV_phsA”, “val”:“220.331”, “timestamp”:“”, “quality”:“1” },{ “name”:“PhV_phsB”, “val”:“220.317”, “timestamp”:“”, “quality”:“1” } ] },{ “devNo”:“1”, “body”: [ { “name”:“PhV_phsA”, “val”:“220.331”, “timestamp”:“”, “quality”:“1” },{ “name”:“PhV_phsB”, “val”:“220.317”, “timestamp”:“”, “quality”:“1” } ] },…… ]}SOE事件存儲(chǔ)及查詢接口app發(fā)布/database訂閱主題{app}/set/request/database/SOE說(shuō)明請(qǐng)求方式1{“token”:“123”,“timestamp”:“2019-03-01T09:30:08.230+0800”,“ppeDataType”:“string”,“body”:[{“model”:“ADC”,“dev”:“ADC_guid”,“event”:“PTOC_Ovld_Op_phsA”,“status”:”0”,//0、1發(fā)生與未發(fā)生“timestamp”:“2019-03-01T09:30:08.230+0800”,“endtimestamp”:“2019-03-01T09:30:08.230+0800”,“occurnum”:“00000001”,//SOE記錄序號(hào)“occursource”:“xx”,//事件發(fā)生源“data”:[{“name”:“PhV_phsA”,“val”:“220.22”,“timestamp”:“2019-03-01T09:30:08.230+0800”},],“extdata”:“xxxxxxx”//base64事件拓展數(shù)據(jù)區(qū)},……]}請(qǐng)求方式2{“token”:“123”,“timestamp”:“2019-03-01T09:30:08.230+0800”,“ppeDataType”:“data”,“body”:[{“model”:“ADC”,“dev”:“ADC_guid”,“DevType”:“”,//時(shí)間通知使用“event”:“30000200”,“status”:”0”,//0、1發(fā)生與未發(fā)生“timestamp”:“2019-03-01T09:30:08.230+0800”,“endtimestamp”:“2019-03-01T09:30:08.230+0800”,“occurnum”:“00000001”,//SOE記錄序號(hào)“occursource”:“xx”,//事件發(fā)生源“data”:[{“name”:“20000201”,“val”:“xxxx”,“timestamp”:“2019-03-01T09:30:08.230+0800”},],“extdata”:“xxxxxxx”//base64事件拓展數(shù)據(jù)區(qū)},……]}database發(fā)布/app訂閱主題database/set/response/{app}/SOE響應(yīng)消息體{“token”:“123”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“status”:“OK”/“FAILURE”}app發(fā)布/database訂閱主題{app}/get/request/database/SOE說(shuō)明請(qǐng)求方式1{“token”:“123”,“start_time”:“2019-02-28T09:30:08.230+0800”,“end_time”:“2019-02-28T11:30:08.230+0800”,//時(shí)間為前閉后開(kāi)“ppeDataType”:“string”,“body”:{“model”:“ADC”,“totaldev”:“1”,//查詢?cè)撃P拖滤性O(shè)備“dev”:[“ADC_guid”,//查詢數(shù)據(jù)的設(shè)備標(biāo)識(shí)……]}}請(qǐng)求方式2{“token”:“123”,“start_time”:“2019-02-28T09:30:08.230+0800”,“end_time”:“2019-02-28T11:30:08.230+0800”,//時(shí)間為前閉后開(kāi)“ppeDataType”:“string”,“body”:{“model”:“ADC”,“totalevent”:“1”,//查詢?cè)撛O(shè)備下所有SOE事件“event”:[“UaLalarm”,“UbLalarm”,……]}}{“token”:“123”,“start_time”:“2019-02-28T09:30:08.230+0800”,“end_time”:“2019-02-28T11:30:08.230+0800”,//時(shí)間為前閉后開(kāi)“ppeDataType”:“data”,“body”:{“model”:“ADC”,“totalevent”:“1”,//查詢?cè)撛O(shè)備下所有SOE事件“event”:[“30000200”,“30010200”,……]}}請(qǐng)求方式3{“token”:“123”,“start_time”:“2019-02-28T09:30:08.230+0800”,“end_time”:“2019-02-28T11:30:08.230+0800”,//時(shí)間為前閉后開(kāi)“ppeDataType”:“string”,“body”:{“model”:“MCCB”,“dev”:“MCCB_guid”,//查詢?cè)撃P拖滤性O(shè)備“occurnum”:“1”,//按序號(hào)查詢“event”:“PTOC_Ovld_Op_phsA”}}{“token”:“123”,“start_time”:“2019-02-28T09:30:08.230+0800”,“end_time”:“2019-02-28T11:30:08.230+0800”,//時(shí)間為前閉后開(kāi)“ppeDataType”:“data”,“body”:{“model”:“MCCB”,“dev”:“MCCB_guid”,//查詢?cè)撃P拖滤性O(shè)備“occurnum”:“1”,//按序號(hào)查詢“event”:“30000200”}}請(qǐng)求方式4{“token”:“123”,“start_time”:“2019-02-28T09:30:08.230+0800”,“end_time”:“2019-02-28T11:30:08.230+0800”,//時(shí)間為前閉后開(kāi)“ppeDataType”:“string”,“body”:{“model”:“MCCB”,“dev”:“MCCB_guid”,//查詢?cè)撃P拖滤性O(shè)備“upperN”:“1”,//按上N條記錄查詢“event”:“PTOC_Ovld_Op_phsA”}}{“token”:“123”,“start_time”:“2019-02-28T09:30:08.230+0800”,“end_time”:“2019-02-28T11:30:08.230+0800”,//時(shí)間為前閉后開(kāi)“ppeDataType”:“string”,“body”:{“model”:“MCCB”,“dev”:“MCCB_guid”,//查詢?cè)撃P拖滤性O(shè)備“upperN”:“1”,//按上N條記錄查詢“event”:“30000200”}}database發(fā)布/app訂閱主題database/get/response/{app}/SOE響應(yīng)方式1{“token”:“123”,“timestamp”:“2019-03-01T09:30:08.230+0800”,“body”:[{“timestamp”:“2019-03-01T09:30:08.230+0800”,“endtimestamp”:“2019-03-01T09:30:08.230+0800”,“occurnum”:“00000001”,“occursource”:“xx”,“model”:“ADC”,“dev”:“ADC_guid”,“event”:“PTOC_Ovld_Op_phsA”,“data”:[{“name”:“PhV_phsA”,“val”:“1”},]},……]}APP掛接設(shè)備查詢接口(可選)可調(diào)用此接口查詢采集類APP管理的全部設(shè)備。設(shè)備關(guān)系查詢app發(fā)布/database訂閱主題{app}/get/request/database/vT請(qǐng)求消息體{“token”:“123”,“timestamp”:“2019-03-01T09:30:08.230+0800”,“body”:“”}關(guān)系查詢結(jié)果返回database發(fā)布/app訂閱主題database/get/response/{app}/vT響應(yīng)消息體{“token”:“234”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“body”:[{“appname”:“MCCB_collector”,“body”:[{“model”:“MCCB”,“dev”:“MCCB_guid”,“port”:””“addr”:“1”,“desc”:“”},{“model”:“MCCB”,“dev”:“MCCB_guid”,“port”:””“addr”:“2”,“desc”:“”},……]},{“appname”:“RCD_collector”,“body”:[{“model”:“RCD”,“dev”:“RCD_guid”,“port”:””“addr”:“010000000001”,“desc”:“”},……]},……]}數(shù)據(jù)庫(kù)相關(guān)信息數(shù)據(jù)庫(kù)性能及數(shù)據(jù)當(dāng)前統(tǒng)計(jì)信息查詢數(shù)據(jù)信息app發(fā)布/database訂閱主題{app}/get/request/database/info響應(yīng)消息體{“token”:“500”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“body”:[]}定值設(shè)置返回結(jié)果database發(fā)布/app訂閱主題database/action/response/{app}/parameter響應(yīng)消息體{“token”:“500”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“body”:[“runtime”:”23456”,//運(yùn)行時(shí)間(分)“memory”:”120/256”,//當(dāng)前內(nèi)存/總內(nèi)存(M)“flash”:”200/256”,//當(dāng)前使用存儲(chǔ)/總存儲(chǔ)(M)“l(fā)oadsize”:”4096”,//數(shù)據(jù)一次傳輸playload大小“appstatus”:[{“appname”:”jcapp”,“writeflashsize”:”1200”,//單位字節(jié)……},……]]}歷史數(shù)據(jù)查詢接口高級(jí)應(yīng)用可調(diào)用此接口查詢歷史數(shù)據(jù)庫(kù)數(shù)據(jù)。歷史數(shù)據(jù)查詢app發(fā)布/database訂閱主題{app}/get/request/database/history說(shuō)明請(qǐng)求方式1{“token”:“123”,//消息標(biāo)識(shí),不通APP有不同標(biāo)識(shí)“time_type”:“timestartgather”,//可選(timestartgather、timeendgather、timestamp),分別按采集開(kāi)始時(shí)間、采集結(jié)束時(shí)間、凍結(jié)時(shí)間篩選“start_time”:“2019-02-28T09:30:08.230+0800”,//時(shí)間前閉后開(kāi),起始時(shí)間“end_time”:“2019-03-28T11:30:08.230+0800”,//時(shí)間前閉后開(kāi),結(jié)束時(shí)間“time_spa”:“10”,//表示篩選的周期,單位day、mon、hour、min,若frozentype為realtime則該值無(wú)效,若該值為SchFroz單位為min?!癴rozentype”:“day”,//凍結(jié)類型常用類型day、mon、hour、min、realtime、SchFroz“body”:{“dev”:“METER_guid”//設(shè)備標(biāo)識(shí),表示數(shù)據(jù)中心中唯一的設(shè)備“body”:[“PhV_phsA”,“PhV_phsB”,……]}}請(qǐng)求方式2{“token”:“123”,“timestamp”:“2019-02-28T09:30:08.230+0800”,“dev”:“ADC_guid”,//設(shè)備唯一標(biāo)識(shí)“frozentype”:“day”,//凍結(jié)類型常用類型day、mon、hour、min、realtime、SchFroz“ppeDataType”:“string”,“orderNo”:“10”,//第N條記錄“body”:[“PhV_phsA”,“PhV_phsB”……]}請(qǐng)求方式3{“token”:“123”,“timestamp”:“2019-02-28T09:30:08.230+0800”,“dev”:“ADC_guid”,//設(shè)備唯一標(biāo)識(shí)“frozentype”:“string”,//凍結(jié)類型常用類型day、mon、hour、min、realtime、SchFroz“ppeDataType”:“string”,“upperN”:“10”,//上N條記錄“body”:[“PhV_phsA”,“PhV_phsB”……]}歷史數(shù)據(jù)查詢結(jié)果返回database發(fā)布/app訂閱主題database/get/response/{app}/history響應(yīng){“token”:“123”,“timestamp”:“2019-03-01T09:30:08.230+0800”,“body”:{“dev”:“ADC_guid”,“body”:[{“timestamp”:“2019-03-01T09:20:08.230+0800”,“timestartgather”:“2019-03-01T08:30:00.000+0800”,“timeendgather”:“2019-03-01T08:30:00.000+0800”,“additionalcheck”:“112233445566”,“body”:[{“name”:“PhV_phsA”,“val”:“220.345”,},……]},……]}}數(shù)據(jù)模型子集配置用于將現(xiàn)有模型進(jìn)行組合,實(shí)現(xiàn)對(duì)IOT模型兼容模型子集設(shè)置app發(fā)布/database訂閱主題{app}/set/request/database/childmodel響應(yīng)消息體{“token”:“1501”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“modelname”:”model_xx”,“body”:[{“dev”:”MCCB_guid”,“totalcall”:“0”,//是否查詢?nèi)繑?shù)據(jù)“body”:[“PhV_phsA”,….]},{“model”:”JC”,“totalcall”:“0”,//是否查詢?nèi)繑?shù)據(jù)“body”:[“PhV_phsB”,…….]},{“model”:”LTU”,“totalcall”:“1”,//是否查詢?nèi)繑?shù)據(jù)“body”:[]},…]}子集設(shè)置返回結(jié)果database發(fā)布/app訂閱主題database/set/response/{app}/childmodel響應(yīng)消息體{“token”:“1501”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“status”:“OK”/“FAILURE”}模型子集刪除app發(fā)布/database訂閱主題{app}/action/request/database/childmodel響應(yīng)消息體{“token”:“1503”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“modelname”:”model_xx”,}定值設(shè)置返回結(jié)果database發(fā)布/app訂閱主題database/action/response/{app}/childmodel響應(yīng)消息體{“token”:“1503”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“status”:“OK”/“FAILURE”}注冊(cè)設(shè)備列表如:104設(shè)備表,此設(shè)備模型需104啟動(dòng)后向數(shù)據(jù)庫(kù)注冊(cè)模型,這個(gè)步驟不可少設(shè)置設(shè)備列表app發(fā)布/database訂閱主題{app}/set/request/database/devlist響應(yīng)消息體{“token”:“1502”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“body”:[{ "devList":"104devlist", "body":[ { "devNo":"1", "port":"RS485-1", //端口RS485_X/PLC/enth "addr":"1", //地址 "model":"MCCB", //模型 "desc":"", //描述信息"protocol":"MODBUS" //協(xié)議MODBUS/485/1376.2 },{ "devNo":"2", "port":"RS485-1", //端口RS485_X/PLC/enth "addr":"2", //地址 "model":"MCCB", //模型 "desc":"", //描述信息"protocol":"MODBUS" //協(xié)議MODBUS/485/1376.2 }, ]},]}設(shè)置設(shè)備列表返回database發(fā)布/app訂閱主題database/set/response/{app}/devlist響應(yīng)消息體{"token":"1503","timestamp":"2019-03-01T09:30:09.230+0800","body":[{"devList":"104devlist","devNo":"1","dev":"MCCB_guid"},{"devList":"104devlist","devNo":"2","dev":"MCCB_guid"}………]}刪除設(shè)備列表app發(fā)布/database訂閱主題{app}/action/request/database/deletedevlist響應(yīng)消息體{"token":"1501","timestamp":"2019-03-01T09:30:09.230+0800","body":["104devlist"]}刪除設(shè)備列表返回database發(fā)布/app訂閱主題database/action/response/{app}/deletedevlist響應(yīng)消息體{"token":"123","timestamp":"2019-03-01T09:30:09.230+0800",“status”:“OK”/“FAILURE”}698參數(shù)交互接口用于698參數(shù)的配置與讀寫(xiě)(除698檔案、任務(wù)、方案參數(shù)、IP、端口、終端地址)。設(shè)置698參數(shù)app發(fā)布/database訂閱主題{app}/set/request/database/698parameter請(qǐng)求{“token”:“1502”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“SourType”:“698”,//698或other“ParaType”:“401F0201”,//填寫(xiě)OAD“body”:“xxxxx”//base64串}請(qǐng)求{“token”:“1502”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“SourType”:“698”,//698或other“ParaType”:“IP”,可選(IP、PORT、ADDR)“body”:“1”}設(shè)置698參數(shù)返回database發(fā)布/app訂閱主題database/set/response/{app}/parameter698響應(yīng){“token”:“1503”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“status”:“OK”/“FAILURE”}讀取698參數(shù)app發(fā)布/database訂閱主題{app}/get/request/database/parameter698請(qǐng)求{“token”:“1502”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“SourType”:“698”,//698或other“ParaType”:“401F0201”,//填寫(xiě)OAD}請(qǐng)求{“token”:“1502”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“SourType”:“698”,//698或other“ParaType”:“IP”,可選(IP、PORT、ADDR)}讀取698參數(shù)返回database發(fā)布/app訂閱主題database/get/response/{app}/parameter698響應(yīng){“token”:“1502”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“SourType”:“698”,//698或others“ParaType”:“401F0201”,//填寫(xiě)OAD“body”:“xxxxx”//base64串}響應(yīng){“token”:“1502”,“timestamp”:“2019-03-01T09:30:09.230+0800”,“SourType”:“698”,//698或

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論