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

正文內(nèi)容

組態(tài)王軟件驅(qū)動(dòng)程序開(kāi)發(fā)(編輯修改稿)

2024-08-03 15:37 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 用于故障偵探及恢復(fù)嘗試。返回值嘗試通訊成功返回TRUE,否則返回FALSE。參數(shù)pDeviceName[in] 設(shè)備的唯一名字nUnitAddr[in] 需要進(jìn)行故障偵探及恢復(fù)嘗試的設(shè)備的地址。lpDevAddr[in] 應(yīng)將此參數(shù)轉(zhuǎn)換為結(jié)構(gòu) PDEVADDR。此結(jié)構(gòu)詳情參閱 。備注當(dāng) ProcessPacket 失敗后, TryConnect將被組態(tài)王調(diào)用2次,如果仍然失敗,則該接口將按設(shè)定的嘗試連接間隔被組態(tài)王調(diào)用。XProtocolImp::GetLastErrorXProtocolImp::GetLastError()類型Public目的返回最近一次的錯(cuò)誤信息。返回值將最近一次的錯(cuò)誤信息。參數(shù)無(wú)XProtocolImp2::GetTransXProtocolImp2::GetTrans( LPVOID* pHm)類型Public目的獲取驅(qū)動(dòng)打開(kāi)的設(shè)備句柄,以便其他設(shè)備可以使用此句柄。返回值成功返回TRUE,否則返回FALSE。參數(shù)lpHm[out] 接受設(shè)備句柄的指針XProtocolImp2::SetTransXProtocolImp2::SetTrans( LPVOID* pHm )類型:Public目的:將其他驅(qū)動(dòng)打開(kāi)的設(shè)備句柄傳遞給驅(qū)動(dòng)。返回值:成功返回TRUE,否則返回FALSE。 參數(shù)lpHm[in] 其他驅(qū)動(dòng)打開(kāi)的設(shè)備句柄。XProtocolImp2::ProcessPacket2XProtocolImp2:: ProcessPacket2(LPVOID lpPacket)類型Public目的根據(jù)協(xié)議及包狀態(tài)信息進(jìn)行相應(yīng)的處理,例如進(jìn)行讀寫(xiě)處理,如果讀成功則把數(shù)據(jù)寫(xiě)入pPacvarList。返回值BOOL:如果成功,返回TRUE,否則,返回FALSE。參數(shù)lpPacket[in,out] 包指針 接口函數(shù)的調(diào)用 開(kāi)發(fā)環(huán)境 新建設(shè)備在向?qū)ы?yè)輸入地址字符串時(shí),程序加載驅(qū)動(dòng),并調(diào)用驅(qū)動(dòng)的StrToDevAddr當(dāng)向?qū)ы?yè)轉(zhuǎn)向下一頁(yè),也就是點(diǎn)擊下一步時(shí),組態(tài)王會(huì)調(diào)用StrDevToAddr,并將用戶輸入傳遞給驅(qū)動(dòng)。驅(qū)動(dòng)的功能是進(jìn)行地址轉(zhuǎn)換,具體解釋參見(jiàn)StrDevToAddr。 新建變量用戶在變量字典里面點(diǎn)擊新建變量時(shí),會(huì)彈出如下建立變量的對(duì)話框,若用戶有不是驅(qū)動(dòng)使用域填寫(xiě)有誤或者有相關(guān)的域(包括驅(qū)動(dòng)使用域)沒(méi)有填寫(xiě),組態(tài)王將會(huì)給出相應(yīng)的提示,即組態(tài)王不調(diào)用驅(qū)動(dòng),直接給出錯(cuò)誤提示。當(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)王寄存器列表。具體解釋參見(jiàn)GetRegisters。所有用戶必填域填寫(xiě)完畢,切換TAB頁(yè)或者確定變量時(shí),組態(tài)王會(huì)調(diào)用ConvertUserConfigToVar. 由驅(qū)動(dòng)進(jìn)行變量校驗(yàn)。組態(tài)王會(huì)將驅(qū)動(dòng)域的輸入作為MiniDbItem傳遞給驅(qū)動(dòng),ConvertUserConfigToVar將結(jié)果返回在組態(tài)王建立的變量PLCVAR中。具體解釋見(jiàn)ConvertUserConfigToVar。 串口設(shè)備測(cè)試 若用戶使用的設(shè)備是串口設(shè)備,如下圖所示:當(dāng)用戶進(jìn)入此對(duì)話框時(shí),組態(tài)王立刻調(diào)用GetRegisters獲取設(shè)備可以使用的寄存器列表。當(dāng)用戶點(diǎn)擊添加或者加入變量時(shí),組態(tài)王立刻調(diào)用ConvertUserConfigToVar進(jìn)行變量校驗(yàn)。當(dāng)用戶點(diǎn)擊讀取,組態(tài)王就開(kāi)始變量采集。所有采集步驟與運(yùn)行環(huán)境一致,只是這兒測(cè)試只是測(cè)試一個(gè)設(shè)備,而運(yùn)行環(huán)境采集定義的所有的設(shè)備。. 運(yùn)行環(huán)境以下步驟為特殊目的時(shí),組態(tài)王對(duì)于每個(gè)設(shè)備都會(huì)調(diào)用一次此函數(shù)。 調(diào)用StrToDevAddr,,. 否則組態(tài)王提示用戶地址格式不對(duì),同時(shí)中止此設(shè)備的采集,不影響使用同一驅(qū)動(dòng)的其他設(shè)備。 打開(kāi)設(shè)備 調(diào)用OpenComDevice,若是串口設(shè)備,驅(qū)動(dòng)可以在此中完成一次性的初始化工作。若OpenComDevice返回TRUE,組態(tài)王會(huì)在信息窗口提示打開(kāi)設(shè)備成功,并給出成功的設(shè)備名稱。否則組態(tài)王會(huì)在信息窗口提示打開(kāi)設(shè)備失敗,認(rèn)為設(shè)備存在問(wèn)題,若是串口設(shè)備,此串口下連接的所有設(shè)備都不能通信,若是其他類型設(shè)備,則此種設(shè)備全部不能通信。OpenComDevice的參數(shù)由用戶配置。 設(shè)備初始化調(diào)用InitialDevice,,同時(shí)中止此設(shè)備的采集,不影響使用同一驅(qū)動(dòng)的其他設(shè)備。 變量校驗(yàn)調(diào)用ConvertUserConfigToVar對(duì)所有變量進(jìn)行變量校驗(yàn)。若一個(gè)設(shè)備使用的所有變量都成功。若某一個(gè)設(shè)備中有一個(gè)變量校驗(yàn)失敗,則組態(tài)王會(huì)在信息窗口提示變量校驗(yàn)無(wú)效,同時(shí)組態(tài)王會(huì)中止此設(shè)備的采集。 變量打包,當(dāng)所有變量打包完成。 設(shè)備通信調(diào)用ProcessPacket2進(jìn)行設(shè)備通信,若返回TRUE,,。 嘗試恢復(fù)設(shè)備通信調(diào)用TryConnect進(jìn)行設(shè)備嘗試恢復(fù),若返回TRUE。若返回失敗組態(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)卡等的通訊,開(kāi)發(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ù)信息等。 幫助函數(shù)(CHelper):提供了一系列您在開(kāi)發(fā)驅(qū)動(dòng)過(guò)程中可能會(huì)用到的功能函數(shù)。數(shù)據(jù)楨校驗(yàn)類 (CCheck):提供了在開(kāi)發(fā)中會(huì)遇到的各種校驗(yàn)函數(shù),包括和校驗(yàn)、異或校驗(yàn)、循環(huán)冗余校驗(yàn)等。類的調(diào)用與繼承關(guān)系,如下圖: 驅(qū)動(dòng)工程類 (CPro)該類實(shí)現(xiàn)2個(gè)接口: IprotocolImp 和 IprotocolImp2。關(guān)于接口函數(shù)目的,見(jiàn)“” 節(jié)。 設(shè)備類 (CDev)實(shí)現(xiàn)COM接口,包含2個(gè)類,設(shè)備基類(CDevBase)和設(shè)備子類(CDev)。類CDevBase是所有設(shè)備子類的父類。屬性:m_szDevKind:設(shè)備類型.m_pSerialCom:串口通訊類指針m_pCheck:校驗(yàn)類指針m_pPro:工程類指針操作:GetRegistersBOOL CDev::GetRegisters( LPVOID *ppReg, int *pRegNum )類型Public目的得到由szDeviceName確定的寄存器的名字和個(gè)數(shù)。返回值成功返回TRUE,否則返回FALSE。參數(shù)ppReg[out] 返回寄存器信息的指針數(shù)組的指針。pRegNum[out] 返回寄存器的個(gè)數(shù)。GetDevicesBOOL CDev::GetDevices(LPVOID *ppDevice, int *pDeviceNum)類型:Public目的:得到設(shè)備的名字和個(gè)數(shù)。返回值:成功返回TRUE,否則返回FALSE。參數(shù):ppDevice[out] 返回設(shè)備列表信息的指針。pDeviceNum:[out] 返回設(shè)備的個(gè)數(shù)。ConvertUserConfigToVarWORD CDev::ConvertUserConfigToVar( LPVOID lpDbItemItem, LPVOID lpVar)類型:Public目的:將用戶的配置字符串轉(zhuǎn)換為組態(tài)王變量結(jié)構(gòu)返回值:WORD:如果轉(zhuǎn)換成功則返回0,否則返回非零的錯(cuò)誤代碼。參數(shù)lpDbItem:[in] 指向結(jié)構(gòu)MiniDbItem的指針。lpVar:[in,out] 指向結(jié)構(gòu)PLCVAR的指針,返回變量就存放在這里。AddVarToPacketBOOL CDev::AddVarToPacket( LPVOID lpVar, int nVarAccessType, LPVOID lpPacket)類型Public目的確認(rèn)變量是否能夠與一個(gè)包里的其他變量一起進(jìn)行采集,以進(jìn)行變量的打包, 如果可以加入,返回TRUE并修改包的起止地址。否則返回FALSE。返回值BOOL:FALSE表示不能打包,否則能。參數(shù)lpVar [in] 變量指針nVarAccessType[in] 讀寫(xiě)方式lpPacket[int] 包指針ProcessPacket2BOOL CDev::ProcessPacket2( LPVOID lpPacket )類型Public目的根據(jù)協(xié)議及包狀態(tài)信息進(jìn)行相應(yīng)的處理,例如進(jìn)行讀寫(xiě)處理,如果讀成功則把數(shù)據(jù)寫(xiě)入pPacvarList。(在新接口中調(diào)用)。返回值BOOL:如果成功,返回TRUE,否則,返回FALSE。參數(shù)lpPacket[in,out] 包指針。TryConnectBOOL CDev::TryConnect ( const TCHAR* szDeviceName, int iUnitAddr, LPVOID lpDevAddr )類型Public目的與地址為UnitAddr的設(shè)備嘗試進(jìn)行通訊,用于故障偵探及恢復(fù)嘗試。返回值嘗試通訊成功返回TRUE,否則返回FALSE。參數(shù)pDeviceName[in] 設(shè)備的唯一名字。nUnitAddr[in] 需要進(jìn)行故障偵探及恢復(fù)嘗試的設(shè)備的地址。lpDevAddr[in] 應(yīng)將此參數(shù)轉(zhuǎn)換為結(jié)構(gòu) PDEVADDR。此結(jié)構(gòu)詳情參閱 。備注當(dāng) ProcessPacket 失敗后, TryConnect將被組態(tài)王調(diào)用2次,如果仍然失敗,則該接口將按設(shè)定的嘗試連接間隔被組態(tài)王調(diào)用。StrToDevAddrBOOL CDevBase::StrToDevAddr(const TCHAR* str, LPVOID lpDevAddr)類型:Public目的:實(shí)現(xiàn)對(duì)地址輸入的整理,判斷用戶輸入的地址是否合法,并將地址的數(shù)值傳給組態(tài)王,如果必要,也可以將地址以字符串的形式傳給組態(tài)王。返回值:成功返回TRUE,否則返回FALSE。參數(shù)str[in] 用戶輸入的地址字符串。lpDevAddr[in,out] 用于保存地址信息的結(jié)構(gòu)。SetProPtrvoid CDevBase::SetProPtr(CProject16Pro* pPro)類型Public目的設(shè)置工程類的指針。 返回值Null參數(shù)pPro[in] 工程類的指針。GetSendTimesint CDevName1::GetSendTimes(PPACKET pPac)類型Public目的獲取與設(shè)備一次交互的次數(shù)。返回值一個(gè)整型數(shù)據(jù)。參數(shù)pPac[in,out] 包指針GetSendStringBOOL CDev::GetSendString(PPACKET pPac,intamp。 iLen, intamp。 iRecLen, int iTimes)類型Public目的根據(jù)協(xié)議組合成發(fā)送楨。返回值成功返回TRUE,否則返回FALSE。參數(shù)pPac[in,out] 指向PACKET結(jié)構(gòu)的指針。iLen[out] 發(fā)送數(shù)據(jù)的長(zhǎng)度。iRecLen[out] 需要接收的數(shù)據(jù)的長(zhǎng)度。iTimes[in] 在一次發(fā)送過(guò)程中調(diào)用的次序。TransmissionBOOL CDev::Transmission (int iLen, int iExpectedLen, intamp。 iRecLen)類型Public目的通訊處理函數(shù)。返回值成功返回TRUE,否則返回FALSE。參數(shù)iLen[in] 數(shù)據(jù)的長(zhǎng)度iExpectedLen[in,out] 期望接收到數(shù)據(jù)的長(zhǎng)度。iRecLen[in,out] 實(shí)際接收到數(shù)據(jù)的長(zhǎng)度。GetFirstFrameBOOL CDev::GetFirstFrame (int nbyteRead, int nExpectedLen, BYTE chFrameHead)類型Public目的獲取第一個(gè)正確的數(shù)據(jù)楨。返回值成功返回TURE,否則,返回FALSE。參數(shù)nbyteRead[in] 實(shí)際接收到的數(shù)據(jù)的長(zhǎng)度。iExpectedLen[in] 期望接收到的數(shù)據(jù)的長(zhǎng)度。chFrameHead[in] 第一個(gè)正確數(shù)據(jù)楨的位置。PreProcessDataBOOL CDev::PreProcessData (PPACKET pPac, int nbyteRead ,int nExpectedLen, int iTimes)類型Public目的檢查接收的數(shù)據(jù)。返回值成功返回TURE,否則,返回FALSE。參數(shù)pPac[in,out] 包指針。nbyteRead[in] 實(shí)際接收到的數(shù)據(jù)長(zhǎng)度。iExpectedLen[in] 期望接收到的數(shù)據(jù)長(zhǎng)度。SendDataToKingViewBOOL CDev::SendDataToKingView(PPACKET pPac, int iLen)類型Public目的向組態(tài)王傳送數(shù)據(jù)。返回值成功返回TRUE,否則,返回FALSE。參數(shù)pPac[in,out] 包指針。iLen[Out] 接收到的數(shù)據(jù)長(zhǎng)度。 通訊類 (CCom)實(shí)現(xiàn)串口,網(wǎng)卡等的通訊,開(kāi)發(fā)包向?qū)?huì)根據(jù)您的設(shè)置,自動(dòng)地產(chǎn)生串口通訊類 (CSerialCom) 或
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1