亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于大華軟件開發(fā)工具包的組態(tài)軟件視頻監(jiān)控控件*

        2017-08-11 11:41:50孫云云
        上海電氣技術(shù) 2017年2期
        關(guān)鍵詞:大華云臺控件

        孫云云

        上海電氣集團(tuán)股份有限公司 中央研究院 上海 200070

        ?

        基于大華軟件開發(fā)工具包的組態(tài)軟件視頻監(jiān)控控件*

        孫云云

        上海電氣集團(tuán)股份有限公司 中央研究院 上海 200070

        視頻監(jiān)控用于重要場所的安全防護(hù),組態(tài)軟件作為數(shù)據(jù)采集與過程控制的專用軟件,整合視頻監(jiān)控功能很有必要。介紹了使用C#語言調(diào)用大華軟件開發(fā)工具包開發(fā)可嵌入NetControl組態(tài)軟件的控件,以實現(xiàn)網(wǎng)絡(luò)攝像機(jī)的視頻預(yù)覽、錄像存儲、截圖、云臺控制等功能,同時實現(xiàn)與組態(tài)軟件中其它子系統(tǒng)的數(shù)據(jù)交互。

        軟件開發(fā)工具包; 視頻監(jiān)控; 組態(tài)軟件

        組態(tài)軟件是處于自動控制系統(tǒng)監(jiān)控層一級的軟件平臺和開發(fā)環(huán)境,可為用戶實現(xiàn)快速構(gòu)建工業(yè)自動控制系統(tǒng)的監(jiān)控功能[1]。針對國內(nèi)中小型企業(yè)面臨的生產(chǎn)需求,上海電氣集團(tuán)結(jié)合國內(nèi)組態(tài)軟件的發(fā)展情況,開發(fā)出NetControl通用數(shù)據(jù)采集和監(jiān)控軟件,用于機(jī)械制造、化工、電力等涉及自動化的領(lǐng)域[2]。

        伴隨計算機(jī)網(wǎng)絡(luò)、多媒體技術(shù)的發(fā)展,視頻監(jiān)控得到了快速發(fā)展。隨著人們安全意識的提高,視頻監(jiān)控廣泛應(yīng)用于各種行業(yè)。視頻監(jiān)控由于具備內(nèi)容直觀豐富、操作簡單等優(yōu)點,近年來在工業(yè)自動化領(lǐng)域中也開始廣泛運用[3-4]。組態(tài)軟件作為自動化領(lǐng)域中數(shù)據(jù)采集和過程控制的專用軟件,整合視頻監(jiān)控功能十分有必要[5]。

        筆者主要介紹基于大華軟件開發(fā)工具包(SDK)的NetControl組態(tài)軟件視頻監(jiān)控控件,可以為組態(tài)軟件添加大華視頻監(jiān)控功能,進(jìn)而實現(xiàn)視頻監(jiān)控信息采集與設(shè)備控制,同時實現(xiàn)與組態(tài)軟件其它子系統(tǒng)的實時數(shù)據(jù)交互。

        1 SDK簡介

        SDK一般是軟件工程師為特定軟件包、軟件框架、硬件平臺、操作系統(tǒng)等建立的應(yīng)用軟件開發(fā)工具[6]。大華設(shè)備網(wǎng)絡(luò)SDK是基于設(shè)備私有網(wǎng)絡(luò)通信協(xié)議而開發(fā)的套件,為網(wǎng)絡(luò)硬盤錄像機(jī)、網(wǎng)絡(luò)視頻服務(wù)器、網(wǎng)絡(luò)攝像機(jī)、網(wǎng)絡(luò)球機(jī)、智能設(shè)備等產(chǎn)品服務(wù),主要包括業(yè)務(wù)操作和設(shè)備管理兩大部分,具有實時監(jiān)控、錄像回放與下載、云臺控制、遠(yuǎn)程升級等功能[7]。

        2 SDK的使用

        2.1 調(diào)用外部聲明

        在C#語言中聲明.dll文件中的外部方法,其基本形式是:

        [DllImport(“.dll文件”)]

        修飾符extern返回變量類型 方法名稱 (參數(shù)列表)

        例如:

        using System.Runtime.InteropServices;

        [DllImport(@".DHdhnetsdk.dll")]

        public static extern bool CLIENT_Init(fDisConnect cbDisConnect, UInt64 dwUser);

        由于是非托管.dll文件,無法在公共語言運行庫(CLR)中直接調(diào)用,因此在聲明的方法名前需要使用[DllImport(@".DHdhnetsdk.dll")]聲明.dll文件及其所在路徑。需要注意的是,在程序聲明中需要使用System.Runtime.InteropServices命名空間,DllImport只能放置在方法聲明上[8]。由于控件需要嵌入組態(tài)軟件中使用,因此.dll文件必須位于組態(tài)軟件安裝目錄下。返回變量類型、方法名稱、參數(shù)列表要與.dll文件中的定義相一致。

        2.2 重寫結(jié)構(gòu)體

        例如:

        [StructLayoutAttribute(LayoutKind.Sequential)]

        public struct NET_PARAM

        {

        int nWaittime;

        //等待超時時間,單位為ms,若為0,則默認(rèn)為5000ms

        int nConnectTime;

        //連接超時時間,單位為ms,若為0,則默認(rèn)為1500ms

        int nConnectTryNum;

        //連接嘗試次數(shù),若為0,則默認(rèn)為1次

        int nSubConnectSpaceTime;

        //子連接之間的等待時間,單位為ms,若為0,則默認(rèn)為10ms

        int nGetDevInfoTime;

        //獲取設(shè)備信息超時時間,單位為ms,若為0,則默認(rèn)為1000ms

        int nConnectBufSize;

        //每個連接接收數(shù)據(jù)的緩存大小,單位為Byte,若為0,則默認(rèn)為250×1024Byte

        int nGetConnInfoTime;

        //獲取子連接信息超時時間,單位為ms,若為0,則默認(rèn)為1000ms

        int nSearchRecordTime;

        //按時間查詢錄像文件的超時時間,單位為ms,若為0,則默認(rèn)為3000ms

        int nsubDisconnetTime;

        //檢測子連接斷線等待時間,單位為ms,若為0,則默認(rèn)為60000ms

        byte byNetType;

        //網(wǎng)絡(luò)類型,0為局域網(wǎng),1為廣域網(wǎng)

        byte byPlaybackBufSize;

        //回放數(shù)據(jù)接收的緩存大小,單位為Byte,若為0,則默認(rèn)為4MByte

        [MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst=2, ArraySubType=UnmanagedType.I1)]

        byte[] byReserved1;

        //保留字段

        int nPicBufSize;

        //實時圖片接收的緩存大小,單位為Byte,若為0,則默認(rèn)為1024×1024 Byte

        [MarshalAsAttribute(UnmanagedType.ByValArray,SizeConst=4, ArraySubType=UnmanagedType.I1)]

        byte[] bReserved;

        //保留字段

        }

        2.3 參數(shù)數(shù)據(jù)類型轉(zhuǎn)換

        表1 C++與C#中數(shù)據(jù)類型對照

        3 控件開發(fā)

        3.1 SDK開發(fā)

        根據(jù)控制要求,視頻監(jiān)控控件功能主要包括進(jìn)程間通信監(jiān)視預(yù)覽、云臺控制、回放、下載、截圖、錄像等,主要流程如圖1所示??丶垂δ芸煞譃椴煌K,實現(xiàn)每個功能前需要初始化SDK,用戶注冊至設(shè)備,操作結(jié)束后注銷設(shè)備,釋放SDK。

        圖1 控制流程圖

        初始化SDK完成對整個網(wǎng)絡(luò)SDK系統(tǒng)的初始化、內(nèi)存預(yù)分配等操作。

        用戶注冊至設(shè)備實現(xiàn)用戶的注冊功能,注冊成功后,返回的登錄標(biāo)志碼(ID)作為其它功能操作的唯一標(biāo)識。對設(shè)備而言,普通數(shù)字錄像設(shè)備最多同時允許10個用戶注冊,網(wǎng)絡(luò)硬盤錄像設(shè)備最多同時允許20個用戶注冊,超級硬盤錄像設(shè)備不做限制。

        功能調(diào)用結(jié)束后,或設(shè)備主動注銷時調(diào)用注銷用戶。

        程序關(guān)閉時調(diào)用釋放SDK資源,完成內(nèi)存分配資源的回收。

        監(jiān)視預(yù)覽模塊主要包括從前端服務(wù)器取實時碼流、解碼顯示及播放控制等功能。用戶注冊至設(shè)備成功后,在CLIENT_RealPlayEx接口中播放有效句柄的窗口句柄,由SDK實現(xiàn)解碼功能,進(jìn)而實現(xiàn)實時視頻流調(diào)取播放。

        云臺控制模塊使用CLIENT_DHPTZControl接口,實現(xiàn)對云臺的基本操作,以及預(yù)置點、巡航、軌跡和三維定位控制。按照SDK中規(guī)定的參數(shù)形式,指定不同的云臺控制方向,通過用戶登陸ID號即可進(jìn)行云臺控制。

        回放下載模塊可按照文件或時間回放下載錄像。按文件回放或下載需要先查找錄像文件接口獲取文件信息(CLIENT_FindFile、CLIENT_FindClose接口),然后根據(jù)獲取的文件名開始回放或下載(CLIENT_PlayBackByRecordFile、CLIENT_DownloadByRecordFile接口)。按時間回放或下載文件時,用戶不需要調(diào)用查找錄像文件的相關(guān)接口,只要在接口中指定開始和結(jié)束時間,調(diào)用CLIENT_PlayBackByTime、CLIENT_DownloadByTime接口即可,此時,將按指定時間范圍內(nèi)最近的有錄像時間段開始回放或下載。

        視頻處理模塊主要包括對視頻截圖(CLIENT_CapturePicture接口)、通過鼠標(biāo)滾輪實現(xiàn)放大縮小(CLIENT_DHPTZControl接口)等操作。

        3.2 與組態(tài)軟件的數(shù)據(jù)交互

        為實現(xiàn)與NetControl組態(tài)軟件的數(shù)據(jù)交互,方便其它子系統(tǒng)對視頻信息的控制與操作,開發(fā)了面向底層的服務(wù)方法。在代碼中封裝切換攝像頭、截圖、云臺控制方法,在方法體前添加[ServiceMethod]注釋,如:

        [ServiceMethod]

        public bool SwitchCam(string IPAddress, ushort PortNumber)

        這樣,在組態(tài)軟件的腳本程序中可以調(diào)用該服務(wù)方法,如圖2所示。

        圖2 NetControl腳本程序中服務(wù)方法調(diào)用

        3.3 控件使用

        視頻監(jiān)控控件成功安裝后將在組態(tài)軟件工具箱中顯示,如圖3所示。NetControl運行時控件界面如圖4所示。

        圖3 視頻監(jiān)控控件在NetControl中的顯示

        4 結(jié)束語

        筆者主要介紹了通過控件形式在NetControl組態(tài)軟件中添加大華視頻監(jiān)控的功能,解決了NetControl中無法利用大華視頻設(shè)備進(jìn)行監(jiān)控的問題,同時介紹了如何實現(xiàn)控件與組態(tài)軟件的數(shù)據(jù)交互,便于實現(xiàn)工程中各子系統(tǒng)聯(lián)動。文中介紹的控件仍存在改善和提高的空間,需要在后期工程中不斷進(jìn)行功能完善。

        圖4 NetControl組態(tài)軟件視頻監(jiān)控控件界面

        [1] 施祖銘.智能電網(wǎng)發(fā)展現(xiàn)狀[J].裝備機(jī)械,2010(3): 2- 12.

        [2] 張勇旭,康盛,闞文勇.一種新型組態(tài)軟件的功能分析及應(yīng)用實例[J].儀表技術(shù),2009(11): 26-28.

        [3] 信師國,劉慶磊,劉全賓.網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)現(xiàn)狀和發(fā)展趨勢[J].信息技術(shù)與信息化,2010(1): 23-25.

        [4] 王靖,龐立.數(shù)模結(jié)合視頻監(jiān)控系統(tǒng)在軌道交通中的應(yīng)用[J].上海電氣技術(shù),2010,3(2): 10-16.

        [5] 楊湛瑩.基于工控組態(tài)技術(shù)的隧道綜合監(jiān)控系統(tǒng)的實現(xiàn)[J].上海電氣技術(shù),2011,4(4): 5-10.

        [6] 陳俊良,葛俊鋒,葉林,等.基于海康威視SDK的視頻監(jiān)控軟件的開發(fā)[J].工業(yè)控制計算機(jī),2015,28(7): 97-98,101.

        [7] 浙江大華技術(shù)股份有限公司.設(shè)備網(wǎng)絡(luò)SDK(NetSDK)_Win64[EB/OL].http: //download.dahuatech.com/sdk_det.php?cid=1094&id=220.

        [8] 牛軍龍.動力電池測試平臺軟件控制系統(tǒng)設(shè)計[D].北京: 北京交通大學(xué),2014.

        [9] 黃雙玲.面向C/C++程序函數(shù)調(diào)用關(guān)系的靜態(tài)分析方法研究[D].合肥: 中國科學(xué)技術(shù)大學(xué),2015.

        [10] 劉建峰..NET環(huán)境下軟件組件之間的互操作方法研究[D].南京: 南京理工大學(xué),2007.

        (編輯: 爾 東)

        Video surveillance is used for safety protection of important places. Configuration software as special software for data acquisition and process control, has the necessity to integrate video surveillance function. Introduced the use of C# language to call Dahua SDK for development of embedded NetControl configuration software controls to achieve the functions of network camera including video preview, video storage, screenshots and PTZ control while realizing data interaction with other subsystems in the configuration software.

        SDK; Video Surveillance; Configuration Software

        2016年12月

        孫云云(1990— ),女,碩士,助理工程師,主要從事工業(yè)軟件研發(fā)工作, E-mail: sunyy5@shanghai-electric.com

        TM925.7

        B

        1674-540X(2017)02-009-04

        *上海市科學(xué)技術(shù)委員會企業(yè)合作專項(編號: 15dz1180400)

        猜你喜歡
        大華云臺控件
        北京大華無線電儀器有限責(zé)任公司
        云上之家——萬科·郡西云臺
        龍門山·臥云臺
        買車
        故事會(2021年14期)2021-07-21 15:51:26
        幫我買云臺
        基于STM32的無線FPV云臺設(shè)計
        電子制作(2019年23期)2019-02-23 13:21:16
        關(guān)于.net控件數(shù)組的探討
        軟件(2018年7期)2018-08-13 09:44:42
        構(gòu)建生態(tài)格局 靜待大華榮耀綻放
        王大華書畫作品
        旅游縱覽(2017年1期)2016-12-27 17:51:30
        就這樣玩會VBA中常見的自定義控件
        電腦迷(2012年24期)2012-04-29 00:44:03
        国产精品一区二区三区四区亚洲 | 久久久久久久一线毛片| 久久久精品国产亚洲av网| 国产草逼视频免费观看| 久久久久国产综合av天堂| 91精品一区国产高清在线gif| 污污内射在线观看一区二区少妇 | 国产欧美日韩午夜在线观看 | 亚洲免费观看在线视频| 色二av手机版在线| 蜜乳一区二区三区亚洲国产| 成熟丰满熟妇av无码区| 天天做天天躁天天躁| 欧美精品一本久久男人的天堂| 国产一区二区三区十八区| 日本丰满熟妇videossex一| 久久tv中文字幕首页| 日本第一区二区三区视频| 精品人妻一区二区三区视频| 亚洲人成网站色www| 日子2020一区二区免费视频| 日本黄色高清视频久久| 亚洲国产精品成人久久久 | 国产黑色丝袜在线观看网站91| 亚洲综合av大全色婷婷| 精产国品一二三产品蜜桃| 久久久国产精品福利免费| 中文字幕熟女激情50路| 内射口爆少妇麻豆| 久久精品国产一区二区电影| 中文字幕成人精品久久不卡| 成人日韩精品人妻久久一区| 无码少妇一区二区浪潮av| 亚洲精品中文字幕观看| 免费在线亚洲视频观看| 摸进她的内裤里疯狂揉她动图视频 | 久久精品午夜免费看| 二区视频在线免费观看| 人妻丝袜av中文系列先锋影音| 亚洲黄色尤物视频| 激情五月开心五月av|