版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第15—VIPVIPVIPVisualInterface1關(guān)于?用于植入外觀圖的通信組件(OCXor?用于跟仿真器進(jìn)行中繼處理的應(yīng)用程序(ZIPC2VIP與外觀圖之間的通使用VIP通信用組件( m.OCX)時(shí),實(shí)裝了與ZIPCVIP的自動功能、值輸入3VIP通信用控制 m.OCX VIP復(fù)位通知ZIPC仿真器操作方1)通信用項(xiàng)目方法的詳細(xì)A)輸入處理用方法【SetVipEvent()方法ZIPCVIPSetVipEvent方法。該ZIPCVIP中管理的值的更新對象以及更新值。object.object.SetVipEventItemName,SetVipEvent方法mZIPCVIPB)設(shè)定輸入端口值方法【SetVipPortValue()方法object.object.SetVipPortValuenPortNo,SetVipPortValue方法指 m項(xiàng)目的式ZIPCVIP中的輸入端口項(xiàng)目C)設(shè)定輸入模擬值方法【SetVipAngValue()方法ZIPCVIP中設(shè)定的輸入用模擬項(xiàng)目設(shè)定值時(shí),要調(diào)用通信用項(xiàng)目中object.object.SetVipAngValuenAngNo,SetVipAngValue方法文法mZIPCVIPD)設(shè)定輸入字符串值方法【SetVipStringValue()方法ZIPCVIP中設(shè)定的輸入用字符串項(xiàng)目設(shè)定值時(shí),要調(diào)用通信用項(xiàng)目SetVipStringValueZIPCVIPobject.object.SetVipStringValuenStrNo,SetVipStringValue方法指 m項(xiàng)目的式ZIPCVIP中的輸入字符串項(xiàng)目E)獲取輸出端口值方法【GetVipPortValue()方法ZIPCVIP中設(shè)定的輸出用端口項(xiàng)目設(shè)定值時(shí),要調(diào)用通信用項(xiàng)目中的GetVipPortValue方法該方法需要設(shè)定兩個(gè)參數(shù)依照該內(nèi)容來指定ZIPCVIPobject.object.GetVipPortValuenPortNo,GetVipPortValue方法文法指 m項(xiàng)目的式ZIPCVIP中的輸出端口項(xiàng)目F)獲取輸出模擬值方法【GetVipAngValue()方法GetVipAngValue方法。該方法需要設(shè)定兩個(gè)參數(shù),依照該內(nèi)容來指定ZIPCVIP中object.object.GetVipAngValuenAngNo,GetVipAngValue方法文mZIPCVIPG)獲取輸出字符串值方法【GetVipStringValue()方法的GetVipStringValue方法。該方法需要設(shè)定兩個(gè)參數(shù),依照該內(nèi)容來指定ZIPCVIP中管理的值的獲取對象以及獲取值的區(qū)域。object.object.GetVipStringValuenStrNo,GetVipStringValue方法指 m項(xiàng)目的式ZIPCVIP中的輸出字符串項(xiàng)目H)中斷通知方法【SetVipInterrupt()方法SetVipInterruptobject.object.SetVipInterruptSetVipInterrupt方法文指 m項(xiàng)目的式I)名稱方法【SendNameEvent()方法在外觀圖上直接名稱時(shí)要調(diào)用通信用項(xiàng)目中的SendNameEvent方法。該object.object.SendNameEventstrTask,SendNameEvent方法文法指 m項(xiàng)目的式的J)名稱中斷方法【SendNameInterrupt()方法在外觀圖上產(chǎn)生向量表中的中斷時(shí),要調(diào)用通信用項(xiàng)目中SendNameInterrupt方法該方法要設(shè)定個(gè)參依照該內(nèi)名另外ZPCobject.object.SendNameInterruptSendNameInterrupt方法文指 m項(xiàng)目的式K)設(shè)定仿真定時(shí)器方法【SetVipTimer()方法在外觀圖上設(shè)定使用仿真器內(nèi)部時(shí)間的定時(shí)器時(shí),要調(diào)用通信用項(xiàng)目中的object.object.SetVipTimernTimerID,SetVipTimer方法文法指 m項(xiàng)目的式L)設(shè)定通用仿真定時(shí)器方法【SetSimulationTimer()方法在外觀圖上設(shè)定使用仿真器內(nèi)部時(shí)間的定時(shí)器時(shí),要調(diào)用通信用項(xiàng)目中的SetSimulationTimerobject.object.SetSimulationTimernTimerID,SetSimulationTimer方法指 m項(xiàng)目的式M)停止仿真器定時(shí)器方法【KillVipTimer()方法KillVipTimer方法。該object.object.KillVipTimerKillVipTimer方法文指 m項(xiàng)目的式N)獲取連接調(diào)試器方法【GetConnectDebugger()方法在外觀圖上獲取調(diào)試器類要調(diào)用通信用項(xiàng)目中的GetConnectDebugger方法。object.object.GetConnectDebugger方法文-0ZIPCDeveloperStudio1NECSM8502FujitsuSOFTUNE2)通信用項(xiàng)目自定義的詳細(xì)說A)輸出處理用【GetVipEvent()對與ZIPCVIP的項(xiàng)目,在仿真器中進(jìn)行值更新時(shí),會產(chǎn)生通信用項(xiàng)目的SubSubobject_GetVipEvent(ByValstrEvtNameAsString,ByValvarEvtDataAsVariantGetVipEvent方法文法說指 m項(xiàng)目的式值更新處的ZIPCVIP中的項(xiàng)目B)更新輸出端口值【OnUpdateVipPortData()對與ZIPCVIP的輸出端口項(xiàng)目,在仿真器中進(jìn)行值更新時(shí),會產(chǎn)生通信用目的OnUpdateVipPortData。該有兩個(gè)參數(shù),解析該內(nèi)容,利用代碼來實(shí)現(xiàn)如SubSubobject_OnUpdateVipPortData(ByValnPortNoAslong,ByValvarEvtDataAsVariant)OnUpdateVipPortData方法文說指 m項(xiàng)目的式ZIPCVIP中的值更新處的端口項(xiàng)目C)更新輸出模擬值【OnUpdateVipAngData()對與ZIPCVIP的輸出端口項(xiàng)目,在仿真器中進(jìn)行值更新時(shí),會產(chǎn)生通信用目的OnUpdateVipAngData。該有兩個(gè)參數(shù),解析該內(nèi)容,利用代碼來實(shí)現(xiàn)如SubSubobject_OnUpdateVipAngData(ByValnAngNoAslong,ByValvarEvtDataAsVariant)OnUpdateVipAngData方法文說指 m項(xiàng)目的式ZIPCVIP中的值更新處的輸出模擬項(xiàng)目D)更新輸出字符串值【OnUpdateVipString()對與ZIPCVIP的輸出字符串項(xiàng)目,在仿真器中進(jìn)行值更新時(shí),會產(chǎn)生通信項(xiàng)目的OnUpdateVipString。該有兩個(gè)參數(shù),解析該內(nèi)容,利用代碼來再現(xiàn)如SubSubobject_OnUpdateVipString(anStrNoAslong,ByValvarEvtDataAsVariant)OnUpdateVipString方法文說指 m項(xiàng)目的式ZIPCVIP中的值更新處的輸出字符串項(xiàng)目E)外觀圖復(fù)位【OnVipReset()SubSubobject_OnVipReset方法文法說指 m項(xiàng)目的式F)仿真定時(shí)器超件【VipTimerTick()法”設(shè)定的定時(shí)器正常超時(shí)的話。會產(chǎn)生通信用項(xiàng)目的VipTimerTick。設(shè)定的定ID將作為參數(shù)進(jìn)行傳遞,依照該值在外觀圖上進(jìn)行相應(yīng)的處理。SubSubobject_VipTimerTick(ByValnTimerIDAsIntegerVipTimerTick方法說指 m項(xiàng)目的式3)通信用項(xiàng)目ZIPC仿真器操作方法的詳細(xì)說A)ZIPC仿真器執(zhí)行方法【RunZIPCSimulator()方法執(zhí)行ZIPC仿真的話,需要調(diào)用通信用項(xiàng)目中的RunZIPCSimulator方法object.object.RunZIPCSimulator方法文法說指 m項(xiàng)目的式B)ZIPC仿真器停止方法【StopZIPCSimulator()方法object.object.StopZIPCSimulator方法文法說指 m項(xiàng)目的式C)ZIPC仿真器復(fù)位方【ExecZIPCSimulatorReset()方法object.object.ExecZIPCSimulatorReset方法說指 m項(xiàng)目的式D)ZIPC仿真器開始方【StartZIPCSimulatorLog()方法開始生成ZIPCStartZIPCSimulatorLogobject.object.StartZIPCSimulatorLog方法說指 m項(xiàng)目的式E)ZIPC仿真器日志結(jié)束方【EndZIPCSimulatorLog()方法結(jié)束ZIPCEndZIPCSimulatorLog方法object.object.EndZIPCSimulatorLogEndZIPCSimulatorLog方法文法說指 m項(xiàng)目的式F)獲取ZIPC仿真器執(zhí)行狀態(tài)方【IsZIPCSimulatorRunning()方法IsZIPCSimulatorRunning方object.object.IsZIPCSimulatorRunning方法文法說指 m項(xiàng)目的式鈕按下PrivateSub鈕按下PrivateSub‘對ZIPCVIP設(shè)定設(shè)定仿真時(shí)間的定時(shí)End‘從ZipcVIP來值變 ifEvName=“LED1Value”1LED1.FillStyle=EvtDataEndifEnd‘從ZipcVIP來復(fù)位通知‘初始化LED1LED1.FillStyle=1End‘從ZipcVIP來定時(shí)器超時(shí)通知ifnTimerID=1對ZIPCVIP設(shè)定m.SetVipEventEndZIPC 輸輸PrivateSubm.SetVipEventPrivate Private mZIPCVIP3-4中箭頭所指的區(qū)域。項(xiàng)目名 mActiveXControl代圖3- 使用VB制作的例4VIP通信用庫IDWindowsAPIRegisterWindowMessage函數(shù)獲得的。:ZVIP_GetAngNo:ZVIP_GetStringNo ZIPCZIPC仿真器停止函數(shù)ZIPC仿真器復(fù)位函數(shù)VIPVIP:”ZIPC-PNL:”ZIPC-PNL:”ZIPC-PNL:”ZIPC-PNL 的\bin\OCX文件夾中另外可以到所用環(huán)境的當(dāng)前 加載DLL。1)通信環(huán)境設(shè)定函數(shù)的詳細(xì)說A)VIP通信連接函數(shù)【ZVIP_LinkConnection()函數(shù)使用該函數(shù)的話,外觀圖與VIP之間的通信設(shè)定有效。由ZIPCVIP向外觀圖通知BOOLBOOLZVIP_LinkConnection(LPCSTRlpszClassName,HWNDhWndZVIP_LinkConnection函數(shù)文法說B)VIP通信斷開函數(shù)【ZVIP_LinkCut()函數(shù)BOOLBOOLZVIP_LinkCut(LPCSTRlpszClassName,HWNDhWndZVIP_LinkCut函數(shù)說C)獲取環(huán)境版本函數(shù)【ZVIP_GetConfigVersion()函數(shù)BOOLBOOLZVIP_GetConfigVersion(shortnMajor,shortnMinor,shortnRevisionZVIP_GetConfigVersion函數(shù)文法說D)獲取連接調(diào)試器【ZVIP_GetConnectDebugger()函數(shù)VIP通信的調(diào)試器信息。建立外觀圖內(nèi)部與調(diào)試器相關(guān)intintZVIP_GetConnectDebugger(voidZVIP_GetConnectDebugger函數(shù)文說-0ZIPCDeveloperStudio1NECSM8502FujitsuSOFTUNE2)獲取VIP環(huán)境信息函A)獲取端函數(shù)【ZVIP_GetPortNo()函數(shù)FALSE為止。BOOLBOOLZVIP_GetPortNo(LPCSTRlpszPortName,longnIndex,long*pPortNo函數(shù)文法說B)獲取模擬號函數(shù)【ZVIP_GetAngNo()函數(shù)BOOLBOOLZVIP_GetAngNo(LPCSTRlpszAngName,long*pAngNoZVIP_GetAngNo函數(shù)文說C)獲取字符串項(xiàng)目號函數(shù)【ZVIP_GetStringNo()函數(shù)BOOLBOOLZVIP_GetStringNo(LPCSTRlpszStringName,long*pStringNoZVIP_GetAngNo函數(shù)文說D)獲取端口大小函數(shù)【ZVIP_GetPortSize()函數(shù)BOOLBOOLZVIP_GetPortSize(longnPortNo,long*pSize,long*pParamZVIP_GetPortSize函數(shù)說E)獲取模擬大小函數(shù)【ZVIP_GetAngSize()函數(shù)BOOLBOOLZVIP_GetAngSize(longnAngNo,long*pSizeZVIP_GetAngSize函數(shù)文法說F)獲取字符串項(xiàng)目大小函數(shù)【ZVIP_GetStringSize()函數(shù) BOOLBOOLZVIP_GetStringSize(longnStringNo,long*pLengthZVIP_GetStringSize函數(shù)文法說G)獲取最大定時(shí)器ID函數(shù)【ZVIP_GetTimerMaxID()函數(shù)BOOLBOOLZVIP_GetTimerMaxID(long*pMaxIDZVIP_GetTimerMaxID函數(shù)文說3)VIP管理數(shù)據(jù)操作函數(shù)的詳細(xì)說A)端口值設(shè)定函數(shù)【ZVIP_SetPortIDData()函數(shù)VIP的環(huán)境設(shè)定中指定1。BOOLBOOLZVIP_SetPortIDData(longnPortNo,void*pPortData,longnParamZVIP_SetPortIDData函數(shù)文法說B)模擬值設(shè)定函數(shù)【ZVIP_SetAngIDData()函數(shù)BOOLBOOLZVIP_SetAngIDData(longnAngNo,doubledAngDataZVIP_SetAngIDData函數(shù)文說C)字符串項(xiàng)目設(shè)定函數(shù)【ZVIP_SetStringIDData()函數(shù)BOOLBOOLZVIP_SetStringIDData(longnStrNo,LPCSTR*laszData,longnLengthZVIP_SetStringIDData函數(shù)說D)獲取端口值函數(shù)【ZVIP_GetPortIDData()函數(shù)獲取端口變量的數(shù)據(jù)。數(shù)據(jù)獲取的目標(biāo)地址與在VIP的環(huán)境設(shè)定中指定的數(shù)據(jù)類 BOOLBOOLZVIP_GetPortIDData(longnPortNo,void*pPortData,longnParamZVIP_GetPortIDData函數(shù)文法說E)獲取模擬值函數(shù)【ZVIP_GetAngIDData()函數(shù)BOOLBOOLZVIP_GetAngIDData(longnAngNo,double*pAngDataZVIP_GetAngIDData函數(shù)文說F)獲取字符串項(xiàng)目函數(shù)【ZVIP_GetStringIDData()函數(shù)BOOLBOOLZVIP_GetStringIDData(longnStrNo,LPCSTRlpData,nLengthZVIP_GetStringIDData函數(shù)說4)/中斷函數(shù)的詳細(xì)說A)中斷產(chǎn)生函數(shù)【ZVIP_IssueInterrupt()函數(shù)BOOLBOOLZVIP_IssueInterrupt(unsignedlongnINTNoZVIP_IssueInterrupt函數(shù)文說指定中斷成指定中斷失B)名稱函數(shù)【ZVIP_SendNameEvent()函數(shù)BOOLBOOLZVIP_SendNameEvent(LPCSTRlpTask,LPCSTRlpEventZVIP_SendNameEvent函數(shù)文說指定中斷成指定中斷失名 C)名稱中斷函數(shù)【ZVIP_SendNameInterrupt()函數(shù) BOOLBOOLZVIP_SendNameInterrupt(LPCSTRlpInterruptZVIP_SendNameInterrupt函數(shù)文說指定中斷成指定中斷失5)仿真同步定時(shí)器函數(shù)的詳細(xì)說A)同步定時(shí)器設(shè)定函數(shù)【ZVIP_SetTimer()函數(shù)據(jù)各調(diào)試器不盡相同。ZIPCpsec(皮秒,其他仿真器的話,BOOLBOOLZVIP_SetTimer(longnTimerID,unsignedlongulHiTime,unsignedulLoTimeZVIP_SetTimer函數(shù)文法說B)同步定時(shí)器停止函數(shù)【ZVIP_KillTimer()函數(shù)BOOLBOOLZVIP_KillTimer(longnTimerIDZVIP_KillTimer函數(shù)文說C)通用同步定時(shí)器設(shè)定函【ZVIP_SetSimulationTimer()函數(shù)nsec(納秒。BOOLBOOLZVIP_SetSimulationTimer(longunsignedlongulHiTime,unsignedlongulLoTimeZVIP_SetSimulationTimer函數(shù)說6)ZIPC仿真器操作函數(shù)的詳細(xì)說A)ZIPC仿真器執(zhí)行函數(shù)【ZVIP_RunZIPCSimulator()函數(shù)BOOLBOOLZVIP_RunZIPCSimulator函數(shù)文法說B)ZIPC仿真器停止函數(shù)【ZVIP_StopZIPCSimulator()函數(shù)BOOLBOOLZVIP_StopZIPCSimulatorZVIP_StopZIPCSimulator函數(shù)文法說C)ZIPC仿真器復(fù)位函【ZVIP_ExecZIPCSimulatorReset()函數(shù)BOOLBOOLZVIP_ExecZIPCSimulatorReset函數(shù)說D)ZIPC仿真器日志開始函【ZVIP_StartZIPCSimulatorLog()函數(shù)ZIPCBOOLBOOLZVIP_StartZIPCSimulatorLog函數(shù)說E)ZIPC仿真器日志結(jié)束函【ZVIP_EndZIPCSimulatorLog()函數(shù)ZIPCZVIP_EndZIPCSimulatorLogBOOLBOOLZVIP_EndZIPCSimulatorLog(LPCSTRlpFileNameZVIP_EndZIPCSimulatorLog函數(shù)文法說F)獲取ZIPC仿真器執(zhí)行狀態(tài)函【ZVIP_IsZIPCSimulatorRunning()函數(shù)在外觀圖上獲取ZIPC仿真器的執(zhí)行(RUN)狀態(tài)時(shí),要調(diào)用ZVIP_IsZIPCSimulatorRunningBOOLBOOLZVIP_IsZIPCSimulatorRunning函數(shù)說A)VIP結(jié)束通知ZIPCVIP結(jié)束之前會通知該消息。接收該通知的外觀圖需要使用“4-1)-B)VIPVIP的通信。VIPZIPC-PNLRAM1LPARAMB)復(fù)位通ZIPCVIP進(jìn)行仿真器等的復(fù)位處理時(shí)會通知該消息。在外觀圖中VIPZIPC-PNLRAM2LPARAMC)值更新通ZIPCVIPVIPZIPC-PNLRAMLPARAMD)同步定時(shí)器超時(shí)通在使用“4-5-A)同步定時(shí)器設(shè)定函數(shù)”設(shè)定的定時(shí)器超時(shí)時(shí)會通知該消息。在 VIPZIPC-PNLRAMLPARAM5VIP與仿真器之間的通ZIPCVIP與仿真器之間的通信有以下幾種方法??梢酝ㄟ^將該設(shè)定反映到用戶側(cè)的2.ZIPCVIP?名稱仿真時(shí)的名稱?向量表時(shí)的中1)使用IO變IO變量的算術(shù)表達(dá)式,?創(chuàng)建設(shè)定?創(chuàng)建設(shè)定IO變量的IO設(shè)計(jì)書或者ADM設(shè)計(jì)書,將創(chuàng)建的設(shè)計(jì)書作為系 ?選擇【端口設(shè)定并同IO、ADMZIPCVIP圖5- VIP與仿真器之間的通信2)使用仿真器的系統(tǒng)調(diào)ZIPCVIP圖5- VIP與仿真器之間的通信BOOLBOOLzsetvip_data(char*strItemName,void*pData,intnSizezsetvip_data系統(tǒng)調(diào)用文ZIPCVIP中的項(xiàng)目名BOOLBOOLzsetvip_ptr(char*strItemName,void*pData,intnArray,intnSizezsetvip_ptr系統(tǒng)調(diào)用文法ZIPCVIP中的項(xiàng)目名BOOLBOOLzgetvip_data(char*strItemName,void*pData,intnSizezgetvip_data系統(tǒng)調(diào)用ZIPCVIP中的項(xiàng)目名BOOLBOOLzgetvip_ptr(char*strItemName,void*pData,intnArray,intnSizezgetvip_ptr系統(tǒng)調(diào)用文ZIPCVIP中的項(xiàng)目名3)名在ZIPCVIP中,名稱信息的話,執(zhí)行名稱仿真時(shí),在指定的條件成立的情??設(shè) ZIPCVIP 圖5- VIP與仿真器之間的通信4)中斷在ZIPCVIP中,中斷信息的話,在進(jìn)行向量的環(huán)境中執(zhí)行時(shí),在指定的條件成立的情況下,可以自動中斷。進(jìn)行該通信所需的設(shè)定內(nèi)容如下所示。ZIPCVIP側(cè)圖5- VIP與仿真器之間的通信6外觀圖以及VIP環(huán)境的建要建立VIP環(huán)境的話,需要很多步驟。在這里,制作例子,依次進(jìn)行說1)外觀圖的建建立外觀圖時(shí),要使用公司的“VisualBasic”或者“VisualC++A)使用VisualBasic建立外觀FormApplication】選項(xiàng)。圖6-1- 新建外觀VB的設(shè)計(jì)畫面。在該畫面中創(chuàng)建外觀圖窗口?;镜牟襟E如下PC機(jī)中安裝的組ActiveX6-1-A.2所示。圖6-1- 項(xiàng)目的配圖6-1- 屬性設(shè)2)創(chuàng)建文新建ZIPC用的項(xiàng)目,仿真用的文檔信息。首先啟動ZIPCDeveloperStudio,的文檔添加到項(xiàng)目中有關(guān)新建項(xiàng)目任務(wù)設(shè)計(jì)書等詳細(xì)介紹可參考手“第2圖6- 狀態(tài)轉(zhuǎn)移表樣?電源接通/?要使用ZIPCVIP配備的通信。有關(guān)通信內(nèi)容的種類,可參述的“5VIP與仿真3)ZIPCVIP環(huán)境設(shè)ZIPCDeveloperStudio,從主菜單中選擇【項(xiàng)目】→【項(xiàng)目設(shè)定】→【VIP設(shè)定】選項(xiàng),啟動【VIP設(shè)定】框。圖6- VIP設(shè)圖6- A)通信環(huán)圖6-3- 通信環(huán)
, ,(SM850CodeSimulator時(shí)
圖6-3- 【外觀圖設(shè)定】]:[選擇樹時(shí)的快捷→【VIP設(shè)定】框的【通信環(huán)境】選項(xiàng)卡中,與選擇復(fù)選框【進(jìn)行與VPS的連“VPS→與【VIP設(shè)定】框的【通信環(huán)境】選項(xiàng)卡中,單擊【VPS通信選項(xiàng)】按鈕時(shí)圖6-3- 相關(guān)端口IO ?:復(fù)選框?未:復(fù)選框?到其他端口:灰色的::B)PIO設(shè)圖6-3- ZIPCIO變量名的Bit將設(shè)定信 C)模擬設(shè)圖6-3- 模擬設(shè)ZIPCIO變量名的將設(shè)定信 D)字符串設(shè)圖6-3- 字符串設(shè)ZIPCIO變量名的SOFTUNE設(shè)PIONo.Softune請求設(shè)定/參照字PIONo.Softune允許設(shè)定/參照字E)設(shè)定名圖6-3- 設(shè)定名名稱一設(shè)定作 刪 一覽中 F)中斷設(shè) 中斷設(shè)設(shè)定作 G)地址信息設(shè)圖6-3- 地址信息設(shè)
H)端01ByteDis11Byte21Byte31Byte01ByteDis11Byte21Byte31Byte41Byte51Byte61Bytet71Byte82Byte※到PIO輸入與輸出Cotroler.xe 不與ZIPC仿真器的IO、ADM設(shè)計(jì)書中的IO變量進(jìn)行自動連接時(shí),沒必要選擇在步驟4~93選擇的項(xiàng)目中。ZIPCVIP的通信設(shè)定。4)外觀圖與ZIPCVIP的通信此時(shí)表單中未配置ZIPC通信用項(xiàng)目的話這些組件該項(xiàng)目在執(zhí)行時(shí)不可見,2.在該框中,選擇【COM】選項(xiàng)卡,確認(rèn)列表中存在用VB建立的外觀圖與ZIPCVIP之間進(jìn)行通信所需的“mActiveXControlmoduleOK】按鈕。路徑ZIPC安裝下的“bin\OCX\m.ocx3.列表中不存在組件文件的話,選擇【參照】選項(xiàng)卡,查找組件文件。選擇“bin\OCX\m.ocx”中的“m.ocxOK】按鈕。圖6- 【添加參照】框的【參照】選項(xiàng)4.選【顯示【工具箱選項(xiàng)顯【工具箱窗口打開ZIPC安裝 圖6- 組項(xiàng)目名稱項(xiàng)目名稱m組件名稱mSetVipEvent方法。另外,要想在仿真器中更新值來獲取的話,要使用ZIPC/通信項(xiàng)目中的自定義GetVipEvent方法。OptionOptionExplicit'運(yùn)行切換按PrivateSubChangeMode_Click(ByVal derAsByValeventArgsAsSystem.EventArgs)HandlesChangeMode.Clickm.SetVipEvent("ChangeMode.Value",1)End定時(shí)器切換PrivateSubChangeTimer_Click(ByVal derAsByValeventArgsAsSystem.EventArgs)HandlesChangeTimer.Clickm.SetVipEvent("ChangeTimer.Value",1)End電源按PrivateSubPower_Click(ByVal derAsByValeventArgsAsSystem.EventArgs)HandlesPower.Clickm.SetVipEvent("Power.Value",1)End溫度下降按PrivateSubTempDown_Click(ByVal derAsByValeventArgsAsSystem.EventArgs)HandlesTempDown.Clickm.SetVipEvent("TempDown.Value",1)End溫度上升按PrivateSubTempUp_Click(ByVal derAsByValeventArgsAsSystem.EventArgs)HandlesTempUp.Clickm.SetVipEvent("TempUp.Value",1)End從VIPPrivate m_GetVipEvent(ByValByValeventArgsderAs DimCntAsIfeventArgs.strEvtName="Form1.Value"ThenForCnt=1To5IfeventArgs.varEvtData=CntThenMode(Cnt-1).Visible=TrueMode(Cnt-1).Visible=FalseEndIfNextElseIfeventArgs.strEvtName="Temp.Value"ThenTemp.Text=CStr(eventArgs.varEvtData)&"℃"ElseIfeventArgs.strEvtName= t.Value" yTime=String.Format(eventArgs.varEvtData/60,"0.0")t.Text=Dis yTime&"H"EndIfEndSub7執(zhí)行VIP仿ZIPCDeveloperStudio,從主菜單中選擇【文件】→【項(xiàng)目打開】選項(xiàng),相應(yīng)的項(xiàng)目信息(.zpf文件。圖7- 項(xiàng)目變?OS在這些設(shè)定中,指定最低限度【C代碼生成設(shè)定】的仿真用生成處 認(rèn)設(shè)定的內(nèi)容。另外,使用OS進(jìn)行仿真時(shí),也要確認(rèn)OS的設(shè)定是否正確。圖7- 圖7- 執(zhí)行環(huán)境生圖7- ZIPCVIP的通信環(huán)境有效的話,不能夠設(shè)定ZIPCVIP的環(huán)境。更改環(huán)境設(shè)定時(shí),再目】→【VIP執(zhí)行】選項(xiàng)。8VIP的試驗(yàn)功ZIPCVIP具有利用外觀圖的輸入輸出創(chuàng)建日志文件的功能,以及利用創(chuàng)建的日志文件,ZIPCVIP1)ZIPCVIP中創(chuàng)建日ZIPCVIP中,可以保存由外觀圖輸入以及向外觀圖輸出的日志。要保存日志的話,圖8- 在ZIPCVIP中開始創(chuàng)建日顯示指定日志保存處的框,指定保存處的文件名。圖8- 在ZIPCVIP中結(jié)束創(chuàng)建日2)在ZIPCVIP中日ZIPCVIPZIPCVIPZIPCDeveloperStudio中創(chuàng)建的日志文件圖8- 在ZIPCVIP中日志(強(qiáng)制結(jié)束9VIP跟其他公司制造的代碼仿真調(diào)試器的連? ? ZIPCVIPZIPC圖9- 1)NEC公司制造的SM850用的VIP環(huán)境設(shè)跟NEC公司制造的SM850進(jìn)行連接的話,要在【VIP設(shè)定】框的【通信環(huán)境】選項(xiàng)卡中,選擇“SM850CodeSimulatorforNEC”來作為使用的調(diào)試器。這樣就可以選擇2)NEC公司制造的SM850連使用NEC公司制ProjekManagerSM850中設(shè)定試驗(yàn)用的環(huán)境。環(huán)境設(shè)定完以入文件的框。在該框中。選擇安裝ZIPC執(zhí)行文件 “uoVipLnk.DLLZIPCVIP未啟動的話,會當(dāng)場啟動進(jìn)行連接處理。已經(jīng)啟動的話,直接解析連接處理。最后,載入ZIPCVIP的環(huán)境信息,啟動外觀圖,這樣就完成了仿真執(zhí)行環(huán)境。圖9- 3)Fujitsu公司制造的SOFTUNE用的VIP環(huán)境 IO變量的地址信息來進(jìn)行通4)Fujitsu公司制造的SOFTUNE連FujitsuSOFTUNE,構(gòu)建可調(diào)試的環(huán)境。環(huán)境建好的話,啟動調(diào)試器VIP未啟動的話,會當(dāng)場啟動進(jìn)行連接處理。已經(jīng)啟動的話,直接解析連接處理。最后,ZIPCVIP的環(huán)境信息,啟動外觀圖,這樣就完成了仿真執(zhí)行環(huán)境。 Fujitsu公司制造的5)有關(guān)聯(lián)合作業(yè)的注意事NEC公司制造的SM850以及Fujitsu公司制造的SOFTUNE聯(lián)合作業(yè)處理是使用部分注的工具啟動之外的方法更改安裝的名稱以及位置的話除非更改表信息否則的10VIP通信用使用搭載了與ZIPCVIP通信功能的部件的話,設(shè)計(jì)時(shí)只設(shè)定屬性就可以不用描m組件的SetVipEvent方法及GetVipEvent中的處理,直接可以建立外觀圖。當(dāng)表VIPC714NECNEC等級計(jì)Fujitsu714FujitsuIPCDeveloperStudio1)面向NEC/SM850的部件說????7?14????7?14????NEC/SM850的部件的特點(diǎn)是設(shè)定所使用的設(shè)備屬性后,只選擇端口名就可以進(jìn)A)NEC用/按B)NEC用/按鍵C)NEC用D)NEC用/7設(shè)定Figure的話,F(xiàn)igurePin會產(chǎn)生變化,因此要先設(shè)定。要設(shè)定SegmentPin以位E)NEC位設(shè)定Figure的話,F(xiàn)igurePin會產(chǎn)生變化,因此要先設(shè)定。要設(shè)定SegmentPin以F)NEC用/電G)NEC用/蜂鳴DisH)NEC用/中斷I)NEC用/等級計(jì)量J)NEC用/串2)面向Fujitsu/SOFTUNE的部件???7?14??面向Fujitsu/SOFTUNE的部件是???7?14??A)Fujitsu用/開B)Fujitsu用C)Fujitsu用/7設(shè)定Figure的話,F(xiàn)igurePin會產(chǎn)生變化,因此要先設(shè)定。要設(shè)定SegmentPin以D)Fujitsu用/14位設(shè)定Figure的話,F(xiàn)igurePin會產(chǎn)生變化,因此要先設(shè)定。要設(shè)定SegmentPin以及E)Fujitsu用/電F)Fujitsu用/蜂鳴Dis使用的.wav11建立獨(dú)創(chuàng)的通信部 件的也會發(fā)生。因此,要捕獲該,描述處理。表11- SetVipTimer表11- 名值更新1)通信設(shè)定處理的實(shí)配置的ZVipPlugIn項(xiàng)目在啟動、結(jié)束時(shí),會自動進(jìn)行與VIP之間的通信設(shè)定。此時(shí),使ObjectName。因此,在該值未正常設(shè)定的情況下,不能夠進(jìn)行通信。要正確設(shè)定環(huán)境的名在VisualC++中開發(fā)組件的話,參照COleControl類中的AmbientDisyName()函數(shù);在VisualBasic中開發(fā)組件的話,參照Ambient項(xiàng)目的DisyName可以獲取ObjectName。2)值設(shè)定功能的實(shí)在建立的組件中,對與VIP連接的工具更改值時(shí),使用ZVipPlugIn組件中的SetVipEventobject.object.SetVipEventItemName,SetVipEvent方法ZVipPlugInZIPCVIP中的更新目標(biāo)項(xiàng)目3)值獲取功能的實(shí)在VIP側(cè)想要通知值更新時(shí),與ZVipPlugIn項(xiàng)目正常進(jìn)行通信的話,會產(chǎn)生SubSubobject_GetVipEvent(ByValstrEvtNameAsString,ByValvarEvtDataAsVariantGetVipEvent方法文法ZVipPlugInZIPCVIP中的項(xiàng)目4)使用連接工具內(nèi)部時(shí)間的定時(shí)器的SetVipTimerKillVipTimer方法來解除設(shè)定的定時(shí)器。object.object.SetVipTimernTimerID,SetVipTimer方法文法ZVipPlugInobject.object.KillVipTimerKillVipTimer方法文ZVipPlugIn另外,設(shè)定的定時(shí)器超時(shí)的時(shí)候,與ZVipPlugIn SubSubobject_VipTimerTick(ByValnTimerIDAsIntegerVipTimerTick方法ZVipPlugIn12VIP多重仿1)功能概利用“VIPVIPZIPC進(jìn)行聯(lián)合※ZIPCVIP的附加功能。執(zhí)行“VIP多重仿真”時(shí),需要注意一點(diǎn)是,不使用“VIPZIPC不能夠保證正常工作。2)主要功3)VIP多重仿真的執(zhí)行步A)前ZipcVIP.exe(Studio“zipcdev.exeZIPC進(jìn)程)實(shí)現(xiàn)的。利用VIP多重仿真可以只在相同的VIP環(huán)境設(shè)定文件“.vip”的ZIPC項(xiàng)目B)步2.ZIPCVIP圖12-3-B.2- ZIPCVIP的啟圖12-3-B.2- ZIPC(*.vip圖12-3- 【VIP多重仿真】框ID図12-3- 【進(jìn)程信息設(shè)定】圖12-3- 選擇仿真執(zhí)行對觀圖信息設(shè)定】框中,指定ZIPC進(jìn)程的“進(jìn)程ID圖12-3- 【外觀圖信息設(shè)定】※VIPIDZIPC進(jìn)程進(jìn)行通信?!鶈覼IPCSimulation圖12-3-B.8- 選項(xiàng)設(shè)圖12-3-B.8- 【VIP多重仿真】框VIP多重仿真。圖12-3- 10.ZIPC圖12-3- 進(jìn)程同時(shí)操作圖12-3- 執(zhí)行模式解C)注意事以前述步驟以外的方法啟動的ZIPC進(jìn)程VIP多重仿真的對象。在執(zhí)行VIP多重以前述的步驟啟動的ZIPC進(jìn)程在重新執(zhí)行VIP多重仿真時(shí),仍然作為仿真的對象。不從主菜單中選擇【保存】選項(xiàng)時(shí),VIP多重仿真的各設(shè)定內(nèi)容將保存到VIP環(huán)境文ZIPCVIP中執(zhí)行一次VIP多重仿真的話,以后就不能夠使用其他的VIP功能。要想VIPZIPCVIP。而不同,最多為“4~5”個(gè)。這取Windows可能管理的項(xiàng)目資源的限制。執(zhí)行VIP4)進(jìn)程PIO端A)內(nèi)I/O端口。實(shí)現(xiàn)的。在普通的I/O端口(PIO端口、模擬及字符串)中,相同的按鍵名意味著相同的區(qū)域。執(zhí)行VIP多重仿真時(shí),對于普通的I/O端口,各ZIPC進(jìn)程以相同的按鍵名來PIOZIPC進(jìn)程數(shù)個(gè)不同的區(qū)域。對于進(jìn)程PIO端口,各ZIPC進(jìn)程只可以自身的區(qū)域。另外,可以通過從將同一個(gè)項(xiàng)目作為多個(gè)不同的ZIPC進(jìn)程工作時(shí),具有這些特征的進(jìn)程PIO端口才B)設(shè)進(jìn)程PIO端口是普通“PIO端口”的擴(kuò)展。進(jìn)程PIO端口的方法是在【VIP設(shè)問區(qū)域(PIO】復(fù)選框。圖12-4- C)進(jìn)程ID獲取ZIPCIDZIPCID。】進(jìn)程ID獲取用端口的方法是在【VIP設(shè)定框的【PIO設(shè)定】選項(xiàng)卡中選ID獲取用】復(fù)選框?!繄D12-4- ※ID獲取用端口未事先配備,因此,可以根據(jù)需要由用戶來用任意的項(xiàng)目名稱進(jìn)程(可以多個(gè))D)注意事ID5)通信用項(xiàng)目方法 m.OCX PIOZIPC進(jìn)程值的方法??筛鶕?jù)需要,結(jié)合以A)進(jìn)程PIO輸入處理方法【SetVipProcessEventobject.object.SetVipProcessEventItemName,nProcID,SetVipProcessEvent方法指 m項(xiàng)目的項(xiàng)目式B)進(jìn)程PIO輸入端口值設(shè)定方法【SetVipProcessPortValueobject.object.SetVipProcessPortValuenPortNo,nProcID,SetVipProcessPortValue方法指 m項(xiàng)目的項(xiàng)目式C)獲取進(jìn)程PIO輸入端口值方法【GetVipProcessPortValue object.object.GetVipProcessPortValuenPortNo,nProcID,GetVipProcessPortValue方法指 m項(xiàng)目的項(xiàng)目式D)獲取仿真器進(jìn)程數(shù)方法【GetConnectSimCountobject.object.GetConnectSimCountGetConnectSimCount方法文指 m項(xiàng)目的項(xiàng)目式E)獲取仿真器進(jìn)程ID方法【GetConnectSimProce()nIndex,nIndex,object.方法文法指 m項(xiàng)目的項(xiàng)目式索引值(0ZIPC進(jìn)程數(shù)-IDF)獲取仿真器進(jìn)程執(zhí)行狀態(tài)方【Is
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年私人車輛抵押融資租賃管理服務(wù)協(xié)議范本3篇
- 玩具主題項(xiàng)目課程設(shè)計(jì)
- 綜合認(rèn)知早教課程設(shè)計(jì)
- 2025年度城市基礎(chǔ)設(shè)施建設(shè)設(shè)備搬運(yùn)合同3篇
- 2025年度地下管網(wǎng)安裝與檢測服務(wù)合同2篇
- 二零二五年度公租房建設(shè)項(xiàng)目合同終止與解除合同3篇
- 2025年度酒店管理SaaS系統(tǒng)服務(wù)合同模板2篇
- 算力網(wǎng)絡(luò)培訓(xùn)課程設(shè)計(jì)
- 2024木材購銷合同范文
- 未來書房課程設(shè)計(jì)
- 眼鏡學(xué)智慧樹知到答案2024年溫州醫(yī)科大學(xué)
- 教師課堂提問的有效性觀察量表
- 手寫數(shù)字識別
- 中醫(yī)臨床路徑眼科
- 甲狀腺細(xì)針穿刺細(xì)胞學(xué)檢查
- 一年級上數(shù)學(xué)教案解決問題復(fù)習(xí)課_人教版
- 行進(jìn)間單手低手上籃教案
- 簡約中國風(fēng)蘭花信紙背景模板
- 安利培訓(xùn)體系介紹
- 推薦-挖掘機(jī)檢驗(yàn)報(bào)告精品
- 排洪溝工程設(shè)計(jì)說明
評論
0/150
提交評論