freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

組態(tài)王軟件驅(qū)動(dòng)程序開發(fā)-在線瀏覽

2024-08-17 15:37本頁面
  

【正文】 PlcValue}ID_NO。 { WORD wNo。 WORD wDataType。 plcValue。 BYTE Special[4]。 WORD wQualities。 成員:wVarId:變量ID struct deviceinfo TCHAR}DEVICE_INFO。 struct reginfo { sRegName[8]。 int nLowIndex。 WORD int nData。 }REG_INFO。返回值:成功返回TRUE,否則返回FALSE參數(shù)Str:[in] 用戶輸入的地址字符串lpDevAddr:[in,out] 用于保存地址信息的結(jié)構(gòu)XProtocolImp::GetRegistersXProtocolImp::GetRegisters(const TCHAR* szDeviceName, 成功返回TRUE,否則返回FALSE參數(shù)szDeviceName[in] 設(shè)備的唯一名字ppReg[out] 返回寄存器信息的指針數(shù)組的指針。pRegNum[out] 返回寄存器的個(gè)數(shù),如果szDeviceName無效,則返回0。XProtocolImp::ConvertUserConfigToVarXProtocolImp:: ConvertUserConfigToVar( LPVOID lpDbItemItem, LPVOID lpVar)類型Public目的將用戶的配置字符串轉(zhuǎn)換為組態(tài)王變量結(jié)構(gòu)否則返回FALSE。參數(shù)lpVar [in] 讀寫方式lpPacket[out] 包指針返回值BOOL:成功則返回TRUE,否則返回FALSE pDeviceName, int nUnitAddr, LPVOID lpDevAddr)目的初始化設(shè)備,設(shè)置該設(shè)備的初始化狀態(tài)參數(shù)pDeviceName[in] 設(shè)備的唯一名字nUnitAddr [in] 設(shè)備地址lpDevAddr[in]XProtocolImp::ProcessPacketXProtocolImp:: ProcessPacket(LPVOID lpPacket)目的根據(jù)協(xié)議及包狀態(tài)信息進(jìn)行相應(yīng)的處理,例如進(jìn)行讀寫處理,如果讀成功則把數(shù)據(jù)寫入pPacvarList。返回值BOOL:如果成功,返回TRUE,否則,返回FALSE。參數(shù)lpPacket[In, out] 包指針參數(shù)Null XProtocolImp::TryConnectXProtocolImp::TryConnect(const TCHAR*返回值嘗試通訊成功返回TRUE,否則返回FALSE。 需要進(jìn)行故障偵探及恢復(fù)嘗試的設(shè)備的地址。 應(yīng)將此參數(shù)轉(zhuǎn)換為結(jié)構(gòu) PDEVADDR。 。備注當(dāng) ProcessPacket 失敗后, TryConnect將被組態(tài)王調(diào)用2次,如果仍然失敗,則該接口將按設(shè)定的嘗試連接間隔被組態(tài)王調(diào)用。XProtocolImp::GetLastErrorXProtocolImp::GetLastError()返回值將最近一次的錯(cuò)誤信息。類型Public目的獲取驅(qū)動(dòng)打開的設(shè)備句柄,以便其他設(shè)備可以使用此句柄。參數(shù)lpHm[out] 接受設(shè)備句柄的指針XProtocolImp2::SetTransXProtocolImp2::SetTrans( LPVOID* pHm )類型:Public目的:將其他驅(qū)動(dòng)打開的設(shè)備句柄傳遞給驅(qū)動(dòng)。 參數(shù)lpHm[in] 其他驅(qū)動(dòng)打開的設(shè)備句柄。返回值BOOL:如果成功,返回TRUE,否則,返回FALSE。 接口函數(shù)的調(diào)用 開發(fā)環(huán)境 新建設(shè)備在向?qū)ы撦斎氲刂纷址畷r(shí),程序加載驅(qū)動(dòng),并調(diào)用驅(qū)動(dòng)的StrToDevAddr驅(qū)動(dòng)的功能是進(jìn)行地址轉(zhuǎn)換,具體解釋參見StrDevToAddr。 新建變量用戶在變量字典里面點(diǎn)擊新建變量時(shí),會(huì)彈出如下建立變量的對(duì)話框,當(dāng)用戶點(diǎn)擊連接設(shè)備完成設(shè)備連接或者在設(shè)備組合框中選定設(shè)備時(shí),組態(tài)王會(huì)調(diào)用GetRegisters,組態(tài)王會(huì)將設(shè)備名稱傳遞給驅(qū)動(dòng),由驅(qū)動(dòng)返回給組態(tài)王寄存器列表。所有用戶必填域填寫完畢,切換TAB頁或者確定變量時(shí),組態(tài)王會(huì)調(diào)用ConvertUserConfigToVar. 由驅(qū)動(dòng)進(jìn)行變量校驗(yàn)。具體解釋見ConvertUserConfigToVar。 串口設(shè)備測(cè)試 若用戶使用的設(shè)備是串口設(shè)備,如下圖所示:當(dāng)用戶進(jìn)入此對(duì)話框時(shí),組態(tài)王立刻調(diào)用GetRegisters獲取設(shè)備可以使用的寄存器列表。當(dāng)用戶點(diǎn)擊讀取,組態(tài)王就開始變量采集。以下步驟為特殊目的時(shí),組態(tài)王對(duì)于每個(gè)設(shè)備都會(huì)調(diào)用一次此函數(shù)。 調(diào)用OpenComDevice,若是串口設(shè)備,驅(qū)動(dòng)可以在此中完成一次性的初始化工作。否則組態(tài)王會(huì)在信息窗口提示打開設(shè)備失敗,認(rèn)為設(shè)備存在問題,若是串口設(shè)備,此串口下連接的所有設(shè)備都不能通信,若是其他類型設(shè)備,則此種設(shè)備全部不能通信。 設(shè)備初始化若一個(gè)設(shè)備使用的所有變量都成功。若返回失敗組態(tài)王會(huì)再次調(diào)用TryConnect,若仍然返回FALSE,組態(tài)王認(rèn)為設(shè)備失敗,會(huì)中止設(shè)備采集一段時(shí)間,在定義設(shè)備時(shí)設(shè)置。 關(guān)閉設(shè)備調(diào)用CloseComDevice關(guān)閉設(shè)備,若CloseComDevice返回FALSE或者遲遲不能完成關(guān)閉設(shè)備動(dòng)作,將大大影響組態(tài)王的退出速度,甚至可能阻止組態(tài)王退出。8 程序結(jié)構(gòu)程序包含如下幾個(gè)主要的類:驅(qū)動(dòng)工程類 (Cpro): 實(shí)現(xiàn)2個(gè)接口: IprotocolImp 和 IprotocolImp2。設(shè)備類 (CDev):實(shí)現(xiàn)COM接口, 包括2個(gè)類,設(shè)備基類和設(shè)備子類。通訊類 (CCom):實(shí)現(xiàn)串口,網(wǎng)卡等的通訊,開發(fā)包向?qū)?huì)根據(jù)您的設(shè)置,自動(dòng)地產(chǎn)生串口通訊類 (CSerialCom) 或者網(wǎng)絡(luò)通訊類 (CNetCom), 您也可以根據(jù)需要添加USB通訊類(CUSBCom)。調(diào)試信息類 (CDebug):該類實(shí)現(xiàn)各種調(diào)試信息在組態(tài)王信息窗口中的輸出,比如錯(cuò)誤信息,接口信息,數(shù)據(jù)信息等。 關(guān)于接口函數(shù)目的,見“” 節(jié)。 設(shè)備類 (CDev)實(shí)現(xiàn)COM接口,包含2個(gè)類,設(shè)備基類(CDevBase)和設(shè)備子類(CDev)。屬性:m_szDevKind:設(shè)備類型.m_pSerialCom:串口通訊類指針m_pCheck:校驗(yàn)類指針m_pPro:工程類指針操作:GetRegistersBOOL CDev::GetRegisters( LPVOID *ppReg, int *pRegNum )類型Public目的得到由szDeviceName確定的寄存器的名字和個(gè)數(shù)。參數(shù)ppReg[out] 返回寄存器信息的指針數(shù)組的指針。GetDevicesBOOL CDev::GetDevices(LPVOID *ppDevice, int *pDeviceNum)類型:Public目的:得到設(shè)備的名字和個(gè)數(shù)。參數(shù):ppDevice[out] 返回設(shè)備列表信息的指針。ConvertUserConfigToVarWORD CDev::ConvertUserConfigToVar( LPVOID lpDbItemItem, LPVOID lpVar)返回值:WORD:如果轉(zhuǎn)換成功則返回0,否則返回非零的錯(cuò)誤代碼。 指向結(jié)構(gòu)MiniDbItem的指針。AddVarToPacketBOOL CDev::AddVarToPacket( LPVOID lpVar, int nVarAccessType, LPVOID lpPacket)類型Public目的確認(rèn)變量是否能夠與一個(gè)包里的其他變量一起進(jìn)行采集,以進(jìn)行變量的打包, 如果可以加入,返回TRUE并修改包的起止地址。返回值BOOL:FALSE表示不能打包,否則能。 變量指針nVarAccessType[in](在新接口中調(diào)用)。參數(shù)lpPacket[in,out] 包指針。 szDeviceName, int iUnitAddr, LPVOID lpDevAddr )類型Public返回值嘗試通訊成功返回TRUE,否則返回FALSE。nUnitAddr[in]lpDevAddr[in]此結(jié)構(gòu)詳情參閱 。StrToDevAddrBOOL CDevBase::StrToDevAddr(const TCHAR* str, LPVOID lpDevAddr)類型:Public目的:實(shí)現(xiàn)對(duì)地址輸入的整理,判斷用戶輸入的地址是否合法,并將地址的數(shù)值傳給組態(tài)王,如果必要,也可以將地址以字符串的形式傳給組態(tài)王。參數(shù)str[in] 用戶輸入的地址字符串。SetProPtrvoid CDevBase::SetProPtr(CProject16Pro* pPro)類型Public目的設(shè)置工程類的指針。GetSendTimesint CDevName1::GetSendTimes(PPACKET返回值一個(gè)整型數(shù)據(jù)。 iLen, intamp。類型Public目的根據(jù)協(xié)議組合成發(fā)送楨。參數(shù)pPac[in,out] 指向PACKET結(jié)構(gòu)的指針。iRecLen[out] 需要接收的數(shù)據(jù)的長度。TransmissionBOOL CDev::Transmission (int iLen, int iExpectedLen, intamp。返回值成功返回TRUE,否則返回FALSE。iRecLen[in,out] 實(shí)際接收到數(shù)據(jù)的長度。返回值成功返回TURE,否則,返回FALSE。實(shí)際接收到的數(shù)據(jù)的長度。 期望接收到的數(shù)據(jù)的長度。 第一個(gè)正確數(shù)據(jù)楨的位置。返回值成功返回TURE,否則,返回FALSE。nbyteRead[in] 實(shí)際接收到的數(shù)據(jù)長度。SendDataToKingViewBOOL CDev::SendDataToKingView(PPACKET pPac, int iLen)類型Public目的向組態(tài)王傳送數(shù)據(jù)。參數(shù)pPac[in,out] 包指針。 通訊類 (CCom)實(shí)現(xiàn)串口,網(wǎng)卡等的通訊,開發(fā)包向?qū)?huì)根據(jù)您的設(shè)置,自動(dòng)地產(chǎn)生串口通訊類 (CSerialCom) 或者網(wǎng)絡(luò)通訊類 (CNetCom), 您也可以根據(jù)需要添加USB通訊類(CUSBCom)。如下是串口通訊類(CSerialCom)結(jié)構(gòu):屬性:DWORD m_dwTimeOut。串口句柄bool bUseModem。 InitData) 。返回值成功返回TRUE,否則返回FALSE。類型Public目的關(guān)閉串口返回值成功返回TRUE,否則返回FALSE。類型Public目
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1