在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<abbr id="27omo"></abbr>

<menu id="27omo"><dl id="27omo"></dl></menu>
    • <label id="27omo"><tt id="27omo"></tt></label>

      新聞中心

      EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 利用OPC實(shí)現(xiàn)VC應(yīng)用程序與PLC的數(shù)據(jù)交換

      利用OPC實(shí)現(xiàn)VC應(yīng)用程序與PLC的數(shù)據(jù)交換

      作者: 時(shí)間:2011-09-11 來源:網(wǎng)絡(luò) 收藏

      本文引用地址:http://www.biyoush.com/article/155781.htm

        4.3 連接opc服務(wù)器

         客戶能夠連接到服務(wù)器上,并建立組和OPC項(xiàng),這是OPC訪問的基礎(chǔ),如果沒有這個(gè)機(jī)制,訪問的其它機(jī)能不可能[4]。連接 OPC服務(wù)器,OPC客戶需要事先指定計(jì)算機(jī)名(如果OPC服務(wù)器和OPC客戶不在同一臺(tái)計(jì)算機(jī)上)和OPC數(shù)據(jù)訪問服務(wù)器名 (RSI.RSView32OPCTagServer)。代碼如下:

        ConnectToServer(/*in */LPOLESTR ProgID,/*in*/ BOOL IsRemote,/*out */ IUnknown **ppUnknown)

        {

        CLSID OPCCLSID;

        HRESULT hRet=CLSIDFromProgID(ProgID,OPCCLSID);

        //將字符串ProgID轉(zhuǎn)換為唯一OPCCLSID

        if(IsRemote)

        //opc服務(wù)器和opc客戶不在同一臺(tái)計(jì)算機(jī)上

        {

        COSERVERINFO ServerInfo;

        memset(ServerInfo,0,sizeof(ServerInfo));

        ServerInfo.pwszName=T2OLE(ServerComouter);

        MULTI_QI qi[1];

        memset(qi, 0, sizeof(qi));

        qi[0].pIID=IID_IUnknown;

        HRESULT hRet=CoCreateInstanceEx(OPCCLSID,NULL,CLSCTX_REMOTE_SERVER,

        ServerInfo,1,qi);

        *ppUnknown=qi[0].pItf;

        }

        else

        //opc服務(wù)器和opc客戶在同一臺(tái)計(jì)算機(jī)上

        {

        hRet=CoCreateInstance(OPCCLSID,NULL,CLSCTX_LOCAL_SERVER,IID_IUnknown,

        (void **)ppUnknown);

        }

        }

        4.4 創(chuàng)建OPC組

        IOPCServer接口的AddGroup()方法可以創(chuàng)建一個(gè)有指定名稱和屬性的OPC組。在調(diào)用該方法之前,可以使用上一步得到的Iunknown接口指針,通過QueryInterface()方法請(qǐng)求IOPCServer接口指針。代碼如下:

        ppUnknown->QueryInterface(IID_IOPCServer,(void **)pServer);

        //得到IOPCServer接口指針

        pServer->AddGroup(L,TRUE,500,1235,lTimeBias,fTemp,0,hOPCServerGroup, dwActualRate,IID_IOPCItemMgt, pOPCItemMgt);

        4.5 添加數(shù)據(jù)項(xiàng)

        IOPCItemMgt接口的AddItem()方法可以添加具有特殊屬性的指定數(shù)量的數(shù)據(jù)項(xiàng)。

        pOPCItemMgt->AddItems(ItemNumber,ItemArray,

        (OPCITEMRESULT**)pItemResult,(HRESULT **)pErrors);

        ItemArray 為OPCITEMDEF類型結(jié)構(gòu)數(shù)組,它包含數(shù)據(jù)項(xiàng)的詳細(xì)信息,客戶需要知道要進(jìn)行的數(shù)據(jù)在RSView32標(biāo)簽數(shù)據(jù)庫中的名稱、數(shù)據(jù)類型及作為 OPC服務(wù)器的RSView32項(xiàng)目名稱。添加數(shù)據(jù)項(xiàng)之前,要用這些數(shù)據(jù)項(xiàng)信息對(duì)ItemArray結(jié)構(gòu)數(shù)組進(jìn)行初始化。



      評(píng)論


      相關(guān)推薦

      技術(shù)專區(qū)

      關(guān)閉