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

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

    這里要說(shuō)的方法就是調(diào)用Bacnet IP主站快速開(kāi)發(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)建要訪問(wèn)的屬性對(duì)象。一些是訪問(wèn)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、讀寫(xiě)屬性對(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);
    }
    }
    寫(xiě)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ì)象的類(lèi)型ID,譬如0表示 Analog Input,1表示Analog Output
    //參數(shù) wInstanceNum 為指明哪一個(gè)對(duì)象,譬如要訪問(wèn)Analog Input 1。則 nInstanceNum為1
    //參數(shù) ePropID 為要訪問(wèn)屬性的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ì)象屬性值讀寫(xiě)
    //參數(shù) eTegNumber 為Bacnet對(duì)象的Tag Number。也就是要寫(xiě)的對(duì)象屬性的數(shù)據(jù)類(lèi)型。當(dāng)操作過(guò)ReadBacnet以后,這個(gè)參數(shù)可以為空。
    //當(dāng)只寫(xiě)操作的時(shí)候,則需要用戶自己指明是什么數(shù)據(jù)類(lèi)型。譬如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è)置寫(xiě)操作的**等級(jí)
    BOOL OMOPCSVRAPI WINAPI SetBacnetPriority(HANDLE hBacnetObj, WORD wPriority);
    //返回Bacnet對(duì)象屬性的數(shù)據(jù)類(lèi)型,一般用于寫(xiě)操作
    VARTYPE OMOPCSVRAPI WINAPI GetBacnetObjType(HANDLE hBacnetObj);

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


    上海迅饒自動(dòng)化科技有限公司專(zhuān)注于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)觸摸屏等

  • 詞條

    詞條說(shuō)明

  • 支持漢字的OPC服務(wù)器開(kāi)發(fā)包

    支持漢字的OPC服務(wù)器開(kāi)發(fā)包 支持漢字的OPC服務(wù)器開(kāi)發(fā)包WTOPCSvr.dll 目前國(guó)內(nèi)使用WTOPCsvr.dll的大有人在,使用WTOPCSvr.dll開(kāi)發(fā)OPC服務(wù)器是非常方便的,而且其源碼也是非常優(yōu)秀的,一遺憾的是這個(gè)開(kāi)發(fā)包畢竟是老美開(kāi)發(fā)的,他們較初的時(shí)候估計(jì)也不知道在中國(guó)的使用者會(huì)有這么多,竟然不支持漢字。解決辦法就是修改代碼了,讓它支持UNICODE就可以了。 另外VB環(huán)境里開(kāi)

  • VB開(kāi)發(fā)BACnetIP主站介紹

    ? Visual Basic開(kāi)發(fā)BACnet IP主站程序方法介紹 這里要說(shuō)的方法就是調(diào)用BACnet IP主站快速開(kāi)發(fā)工具OMBACnetIPMaster.dll。 步驟1、創(chuàng)建通道,而通道管理所有的Bacnet屬性對(duì)象。參數(shù)分別IP地址,端口號(hào)和網(wǎng)絡(luò)**時(shí)時(shí)間,默認(rèn)是100毫秒。 Private Sub OpenChannelButton_Click() StringToByte t

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

    C++開(kāi)發(fā)BacnetIP主站程序 這里要說(shuō)的方法就是調(diào)用Bacnet IP主站快速開(kāi)發(fā)工具OMBacnetIPMaster.dll。 步驟1、引用頭文件和LiB文件 #include "OM_BacnetIP_API.h" #pragma comment (lib, "OMBacnetIPMaster.lib") 把OMBacnetIPMaster.dll放到新建的VC++工程的同一個(gè)文件夾

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

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

聯(lián)系方式 聯(lián)系我時(shí),請(qǐng)告知來(lái)自八方資源網(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)不介入任何交易過(guò)程,請(qǐng)自行甄別其真實(shí)性及合法性;
2、跟進(jìn)信息之前,請(qǐng)仔細(xì)核驗(yàn)對(duì)方資質(zhì),所有預(yù)付定金或付款至個(gè)人賬戶的行為,均存在詐騙風(fēng)險(xiǎn),請(qǐng)?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)注冊(cè) | 一元廣告 | 友情鏈接 | 聯(lián)系我們 | 八方業(yè)務(wù)| 匯款方式 | 商務(wù)洽談室 | 投訴舉報(bào)
    粵ICP備10089450號(hào)-8 - 經(jīng)營(yí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