中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁(yè) > 手機(jī)與無(wú)線(xiàn)通信 > 設(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 來(lái)源:網(wǎng)絡(luò) 收藏

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

          4.3 連接opc服務(wù)器

           客戶(hù)能夠連接到服務(wù)器上,并建立組和OPC項(xiàng),這是OPC訪(fǎng)問(wèn)的基礎(chǔ),如果沒(méi)有這個(gè)機(jī)制,訪(fǎng)問(wèn)的其它機(jī)能不可能[4]。連接 OPC服務(wù)器,OPC客戶(hù)需要事先指定計(jì)算機(jī)名(如果OPC服務(wù)器和OPC客戶(hù)不在同一臺(tái)計(jì)算機(jī)上)和OPC數(shù)據(jù)訪(fǎng)問(wèn)服務(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客戶(hù)不在同一臺(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客戶(hù)在同一臺(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è)有指定名稱(chēng)和屬性的OPC組。在調(diào)用該方法之前,可以使用上一步得到的Iunknown接口指針,通過(guò)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類(lèi)型結(jié)構(gòu)數(shù)組,它包含數(shù)據(jù)項(xiàng)的詳細(xì)信息,客戶(hù)需要知道要進(jìn)行的數(shù)據(jù)在RSView32標(biāo)簽數(shù)據(jù)庫(kù)中的名稱(chēng)、數(shù)據(jù)類(lèi)型及作為 OPC服務(wù)器的RSView32項(xiàng)目名稱(chēng)。添加數(shù)據(jù)項(xiàng)之前,要用這些數(shù)據(jù)項(xiàng)信息對(duì)ItemArray結(jié)構(gòu)數(shù)組進(jìn)行初始化。



        評(píng)論


        相關(guān)推薦

        技術(shù)專(zhuān)區(qū)

        關(guān)閉