C++開發(fā)BacnetIP主站程序

    C++開發(fā)BacnetIP主站程序

    這里要說的方法就是調(diào)用Bacnet IP主站快速開發(fā)工具OMBacnetIPMaster.dll。
    步驟1、引用頭文件和LiB文件

    #include "OM_BacnetIP_API.h"
    #pragma comment (lib, "OMBacnetIPMaster.lib")
    把OMBacnetIPMaster.dll放到新建的VC++工程的同一個(gè)文件夾
    步驟2、創(chuàng)建通道,通道管理所有的Bacnet屬性對(duì)象
    void CBacnetDemoDlg::OnBtnCreateChannel()
    {
    UpdateData(TRUE);
    m_hChannel = CreateChannel(m_strIP, m_nPort);
    }
    步驟3、創(chuàng)建要訪問的屬性對(duì)象。一些是訪問Analog Output 1的當(dāng)前值屬性。
    void CBacnetDemoDlg::OnBtnBacnetObject()
    {
    if (m_hChannel && !m_hBacnetObj)
    {
    m_hBacnetObj = CreateBacnetObject(m_hChannel, OBJECT_ANALOG_OUTPUT, 1, PROP_PRESENT_VALUE);
    }
    }
    步驟4、讀寫屬性對(duì)象的值
    void CBacnetDemoDlg::OnBtnReadObject()
    {

    if (m_hBacnetObj && m_hBacnetObj)
    {

    VARIANT variant;
    VariantInit(&variant);
    BOOL bIsOK = ReadBacnetObject(m_hBacnetObj, &variant);

    m_strPV.Format("%f", variant.fltVal);
    VariantClear(&variant);
    UpdateData(FALSE);
    }
    }
    寫1000到Analog Output 1
    void CBacnetDemoDlg::OnBtnWriteObject()
    {
    if (m_hBacnetObj)
    {
    VARIANT variant;
    VariantInit(&variant);
    variant.vt = GetBacnetObjType(m_hBacnetObj);
    variant.fltVal = 1000;
    BOOL bIsOK = WriteBacnetObject(m_hBacnetObj, &variant);
    VariantClear(&variant);
    }

    }
    步驟4、關(guān)閉程序釋放創(chuàng)建的資源
    最后還有幾個(gè)輔助的API函數(shù),可以選擇性地使用。

    具體的頭文件申明如下:


    typedef VOID (CALLBACK *ERRORHANDLERPROC)(LPCTSTR lpErrorMsg);
    typedef VOID (CALLBACK *ABORTHANDLERPROC)(LPCTSTR lpAbortMsg);
    typedef VOID (CALLBACK *REJECTHANDLERPROC)(LPCTSTR lpRejectMsg);
    #ifdef __cplusplus
    extern "C" {
    #endif
    //通道管理用于創(chuàng)建、修改、刪除通道。創(chuàng)建通道以后,才能創(chuàng)建Bacnet屬性對(duì)象
    //創(chuàng)建一個(gè)通道對(duì)象只要是為了設(shè)置不同設(shè)備的IP地址和端口號(hào)。網(wǎng)絡(luò)**時(shí)等待時(shí)間默認(rèn)是100毫秒
    //同時(shí)管理通道下的Bacnet屬性對(duì)象
    //參數(shù) hChannel 為通道對(duì)象的句柄
    HANDLE OMOPCSVRAPI WINAPI CreateChannel(LPCTSTR lpIP, WORD wPort, DWORD dwTimeOut =100);
    BOOL OMOPCSVRAPI WINAPI ConfigureChannel(HANDLE hChannel, LPCTSTR lpIP, WORD wPort, DWORD dwTimeOut=100);
    BOOL OMOPCSVRAPI WINAPI RemoveChannel (HANDLE hChannel);

    //Bacnet對(duì)象管理,創(chuàng)建、修改、刪除

    //參數(shù) eObjType 為Bacent屬性對(duì)象的類型ID,譬如0表示 Analog Input,1表示Analog Output
    //參數(shù) wInstanceNum 為指明哪一個(gè)對(duì)象,譬如要訪問Analog Input 1。則 nInstanceNum為1
    //參數(shù) ePropID 為要訪問屬性的ID,譬如當(dāng)前值的屬性ID是85
    //參數(shù) hBacnetObj 為Bacnet對(duì)象的句柄
    HANDLE OMOPCSVRAPI WINAPI CreateBacnetObject(HANDLE hChannel, BACNET_OBJECT_TYPE eObjType, WORD wInstanceNum, BACNET_PROPERTY_ID ePropID = PROP_PRESENT_VALUE );
    BOOL OMOPCSVRAPI WINAPI ConfigureBacnetObject(HANDLE hBacnetObj, BACNET_OBJECT_TYPE eObjType, WORD wInstanceNum, BACNET_PROPERTY_ID ePropID);
    BOOL OMOPCSVRAPI WINAPI RemoveBacnetObject (HANDLE hBacnetObj);
    // Bacnet對(duì)象屬性值讀寫
    //參數(shù) eTegNumber 為Bacnet對(duì)象的Tag Number。也就是要寫的對(duì)象屬性的數(shù)據(jù)類型。當(dāng)操作過ReadBacnet以后,這個(gè)參數(shù)可以為空。
    //當(dāng)只寫操作的時(shí)候,則需要用戶自己指明是什么數(shù)據(jù)類型。譬如Analog Output為4.也就是單精度浮點(diǎn)型。
    BOOL OMOPCSVRAPI WINAPI ReadBacnetObject(HANDLE hBacnetObj, VARIANT *pValue);
    BOOL OMOPCSVRAPI WINAPI WriteBacnetObject(HANDLE hBacnetObj,VARIANT* pValue, BACNET_APPLICATION_TAG eTegNumber = BACNET_APPLICATION_TAG_NULL);


    //以下是輔助函數(shù),可以選擇性使用


    //設(shè)置寫操作的**等級(jí)
    BOOL OMOPCSVRAPI WINAPI SetBacnetPriority(HANDLE hBacnetObj, WORD wPriority);
    //返回Bacnet對(duì)象屬性的數(shù)據(jù)類型,一般用于寫操作
    VARTYPE OMOPCSVRAPI WINAPI GetBacnetObjType(HANDLE hBacnetObj);

    //通信故障狀況回調(diào)函數(shù)
    BOOL OMOPCSVRAPI WINAPI EnableErrorMsgNofity(ERRORHANDLERPROC fnCallback);


    上海迅饒自動(dòng)化科技有限公司專注于BTL認(rèn)證協(xié)議BACnet網(wǎng)關(guān),Modbus轉(zhuǎn)BACnet網(wǎng)關(guān),OPC轉(zhuǎn)BACnet,協(xié)議轉(zhuǎn)換Modbus網(wǎng)關(guān),改造項(xiàng)目協(xié)議轉(zhuǎn)換HUB網(wǎng)關(guān),協(xié)議轉(zhuǎn)換WEB組態(tài)觸摸屏等

  • 詞條

    詞條說明

  • 手機(jī)通過WEB訪問協(xié)議網(wǎng)關(guān)獲取光伏逆變器的實(shí)時(shí)數(shù)據(jù)

    手機(jī)通過WEB訪問協(xié)議網(wǎng)關(guān)獲取光伏逆變器的實(shí)時(shí)數(shù)據(jù) 手機(jī)通過瀏覽器訪問迅饒協(xié)議網(wǎng)關(guān)讀取光伏逆變器實(shí)時(shí)數(shù)據(jù) 協(xié)議網(wǎng)關(guān)側(cè)面: 協(xié)議網(wǎng)關(guān)支持實(shí)時(shí)數(shù)據(jù)瀏覽: 并通過WEB設(shè)置網(wǎng)口,串口。 通過網(wǎng)頁我們能看到數(shù)據(jù)幀的收發(fā),方便故障診斷。 該產(chǎn)品由上海迅饒自動(dòng)化*,產(chǎn)品穩(wěn)定。

  • 迅饒協(xié)議轉(zhuǎn)換WEB組態(tài)觸摸屏W10-1041

    10寸WEB組態(tài)觸摸屏(型號(hào)W10-1041) 產(chǎn)品簡介 W10-1041觸摸屏是迅饒的新一代HMI人機(jī)界面,可以支持PC、手機(jī)端、iPad等訪問。配合組態(tài)編輯軟件X2View可實(shí)現(xiàn)現(xiàn)場數(shù)據(jù)采集,編輯成組態(tài)畫面,較終在觸摸屏上顯示,實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)監(jiān)控。同時(shí)具有微信報(bào)警、短信報(bào)警、MQTT服務(wù)、工程上傳云端等功能;還可以轉(zhuǎn)發(fā)為BACnet IP/MSTP服務(wù)器或Modbus TCP/RTU服務(wù)器,開放

  • 硬件協(xié)議網(wǎng)關(guān)方便操作人員進(jìn)行現(xiàn)場故障診斷

    硬件協(xié)議網(wǎng)關(guān)方便操作人員進(jìn)行現(xiàn)場故障診斷 迅饒硬件協(xié)議網(wǎng)關(guān)之前已有的功能: -支持通過網(wǎng)頁設(shè)置串口,網(wǎng)口。對(duì)RS232/RS485通訊模式的選擇; 網(wǎng)頁界面 -支持實(shí)時(shí)數(shù)據(jù)查看; -方便故障診斷,操作人員能通過網(wǎng)頁看到數(shù)據(jù)幀收發(fā)的狀態(tài);

  • BACnet 協(xié)議介紹

    BACnet 協(xié)議介紹 樓宇自動(dòng)控制網(wǎng)絡(luò)數(shù)據(jù)通訊協(xié)議(Data Communication Protocol for Building Automation and Control Network)簡稱為BACnet,是一種專門為樓宇設(shè)備的集成控制制定的數(shù)據(jù)通訊協(xié)議,是為了規(guī)范樓宇內(nèi)空調(diào)、給排水和供配電等樓宇設(shè)備自動(dòng)控制系統(tǒng)之間的互連,使之成為較具有開放性和互操作性的數(shù)據(jù)通信統(tǒng)一標(biāo)準(zhǔn)協(xié)議。 《建

聯(lián)系方式 聯(lián)系我時(shí),請告知來自八方資源網(wǎng)!

公司名: 上海迅饒自動(dòng)化科技有限公司

聯(lián)系人: 陳沖

電 話: 021-58776098

手 機(jī): 13564889340

微 信: 13564889340

地 址: 上海浦東浦東新區(qū)金海路2588號(hào)*科技園428室

郵 編: 201209

網(wǎng) 址: sunfull2013.cn.b2b168.com

八方資源網(wǎng)提醒您:
1、本信息由八方資源網(wǎng)用戶發(fā)布,八方資源網(wǎng)不介入任何交易過程,請自行甄別其真實(shí)性及合法性;
2、跟進(jìn)信息之前,請仔細(xì)核驗(yàn)對(duì)方資質(zhì),所有預(yù)付定金或付款至個(gè)人賬戶的行為,均存在詐騙風(fēng)險(xiǎn),請?zhí)岣呔瑁?
    聯(lián)系方式

公司名: 上海迅饒自動(dòng)化科技有限公司

聯(lián)系人: 陳沖

手 機(jī): 13564889340

電 話: 021-58776098

地 址: 上海浦東浦東新區(qū)金海路2588號(hào)*科技園428室

郵 編: 201209

網(wǎng) 址: sunfull2013.cn.b2b168.com

    相關(guān)企業(yè)
    商家產(chǎn)品系列
  • 產(chǎn)品推薦
  • 資訊推薦
關(guān)于八方 | 八方幣 | 招商合作 | 網(wǎng)站地圖 | 免費(fèi)注冊 | 一元廣告 | 友情鏈接 | 聯(lián)系我們 | 八方業(yè)務(wù)| 匯款方式 | 商務(wù)洽談室 | 投訴舉報(bào)
粵ICP備10089450號(hào)-8 - 經(jīng)營許可證編號(hào):粵B2-20130562 軟件企業(yè)認(rèn)定:深R-2013-2017 軟件產(chǎn)品登記:深DGY-2013-3594
著作權(quán)登記:2013SR134025
Copyright ? 2004 - 2025 b2b168.com All Rights Reserved