通信電纜 網(wǎng)絡(luò)設(shè)備 無線通信 云計(jì)算|大數(shù)據(jù) 顯示設(shè)備 存儲(chǔ)設(shè)備 網(wǎng)絡(luò)輔助設(shè)備 信號(hào)傳輸處理 多媒體設(shè)備 廣播系統(tǒng) 智慧城市管理系統(tǒng) 其它智慧基建產(chǎn)品
上海地友自動(dòng)化設(shè)備有限公司
參 考 價(jià) | 面議 |
產(chǎn)品型號(hào)6GK1901-1GA00
品 牌
廠商性質(zhì)經(jīng)銷商
所 在 地上海市
聯(lián)系方式:彭勇查看聯(lián)系方式
更新時(shí)間:2018-05-20 09:16:05瀏覽次數(shù):435次
聯(lián)系我時(shí),請(qǐng)告知來自 智慧城市網(wǎng)上海供應(yīng)西門子通訊電纜剝線工具RJ45 6GK1901-1GA00 以太網(wǎng)剝線工具
上海供應(yīng)西門子通訊電纜剝線工具RJ45 6GK1901-1GA00 以太網(wǎng)剝線工具
6GK1901-1GA00 工業(yè)以太網(wǎng) FastConnect 剝線工具, 剝線工具,用于 快速去除 IE FastConnect 電纜
更多圖片
|
上海供應(yīng)西門子通訊電纜剝線工具RJ45 6GK1901-1GA00 以太網(wǎng)剝線工具
*文檔: 西門子工程師*本文檔!
文獻(xiàn)
涉及產(chǎn)品
1使用ApDiag工具進(jìn)行WinCC腳本診斷概述
WinCC 的C腳本功能非常強(qiáng)大,可以提供較高的自由度。 但是,不恰當(dāng)?shù)亟M態(tài)和使用腳本功能會(huì)顯著降低系統(tǒng)性能,也可能導(dǎo)致系統(tǒng)崩潰。本文所討論的腳本問題主要為C腳本的阻塞和掛起問題,即如果在過小的周期內(nèi)正在運(yùn)行的動(dòng)作太多或者動(dòng)作的執(zhí)行時(shí)間過長(zhǎng)(要處理的動(dòng)作將越聚越多),或者動(dòng)作已被掛起(休眠、循環(huán)、輸出對(duì)話框、等待另一個(gè)應(yīng)用程序的響應(yīng)...),則等待隊(duì)列可能會(huì)溢出。所有其它動(dòng)作均將積聚在等待隊(duì)列中,不能及時(shí)進(jìn)行處理。
針對(duì)以上問題,可以使用 ApDiag 診斷工具進(jìn)行分析和診斷,ApDiag 工具主要可以提供以下功能:
1. 監(jiān)控當(dāng)前請(qǐng)求隊(duì)列中待處理的動(dòng)作數(shù)。
2. 判斷腳本是否發(fā)生阻塞。
3. 幫助定位發(fā)生阻塞的動(dòng)作。
4. 定位導(dǎo)致腳本阻塞的函數(shù)。
5. 啟動(dòng)將重要腳本診斷值保存在變量中的功能。
6. 設(shè)置診斷信息輸出到窗口、文件或被刪除。
……
診斷工具Apdiag.exe 位于安裝目錄的“...SiemensWinCCUtools”文件夾中,雙擊即可啟動(dòng)該應(yīng)用程序。關(guān)于 ApDiag 的詳細(xì)使用方法,請(qǐng)參見幫助文檔目錄中的“WinCC 診斷”一章。
另外,關(guān)于WinCC腳本的基本診斷方法,包括“GSC診斷窗口”和“GSC運(yùn)行系統(tǒng)窗口”(在對(duì)象選項(xiàng)板中,選擇“智能對(duì)象應(yīng)用程序窗口”,在“窗口內(nèi)容”對(duì)話框中選擇“全局腳本”,在“模板”對(duì)話框中,選擇“GSC 診斷”或“GSC 運(yùn)行系統(tǒng)”即可)的使用,請(qǐng)參見視頻“V0742 WinCC跟我做:WinCC 腳本調(diào)試與診斷方法”,鏈接如下:
http://www.ad.siemens.com.cn/service/elearning/cn/Course.aspx?CourseID=859
2 ApDiag 診斷工具提供的主要功能和使用方法介紹
以下介紹了6個(gè)主要的功能和相應(yīng)的使用方法。注意,要及時(shí)關(guān)閉不用的診斷功能,以避免在運(yùn)行系統(tǒng)運(yùn)行期間降低系統(tǒng)性能。
2.1監(jiān)控當(dāng)前請(qǐng)求隊(duì)列中待處理的動(dòng)作數(shù)
功能描述:根據(jù)當(dāng)前請(qǐng)求隊(duì)列中待處理動(dòng)作數(shù)的變化趨勢(shì),判斷腳本是否發(fā)生阻塞。
使用方法:
首先,在畫面上放置“GSC 診斷窗口”,運(yùn)行WinCC時(shí),打開ApDiag 工具,選擇“Info”菜單下的“Count of Actions in RequestQueue”菜單項(xiàng),將輸出當(dāng)前請(qǐng)求隊(duì)列中待處理的動(dòng)作數(shù),其中包括來自全局腳本的作業(yè)、來自畫面的周期性作業(yè)以及來自畫面的事件控制性作業(yè)。例如,在“GSC 診斷窗口”中輸出如下圖1所示的內(nèi)容,紅色框中的內(nèi)容代表來自全局腳本作業(yè)的當(dāng)前請(qǐng)求隊(duì)列中待處理的動(dòng)作數(shù)為8個(gè)。
圖 1 使用“Count of Actions in RequestQueue”的診斷輸出
運(yùn)行一段時(shí)間后,再次點(diǎn)擊“Count of Actions in RequestQueue”菜單項(xiàng),紅色框所示的待處理的動(dòng)作數(shù)變?yōu)?9個(gè),如圖2所示。多次操作后,如果待處理的動(dòng)作數(shù)有不斷上漲的趨勢(shì),則說明全局腳本發(fā)生了阻塞。
圖 2再次使用“Count of Actions in RequestQueue”的診斷輸出
此外,在“Info”菜單中,還提供了與系統(tǒng)有關(guān)的其它診斷信息,如圖3所示。在選擇相應(yīng)菜單項(xiàng)后,均將輸出診斷信息到“GSC 診斷窗口”,詳細(xì)內(nèi)容請(qǐng)參見幫助文檔。
圖 3 “Info”菜單中菜單項(xiàng)
2.2判斷腳本是否發(fā)生阻塞
功能描述:設(shè)置“掃描速率”和“梯度”,可以監(jiān)視請(qǐng)求隊(duì)列的增長(zhǎng)。
使用方法:
打開“Diagnostics”菜單下的“概要文件”(Profile) 菜單項(xiàng)。組態(tài)“Check the Request/ActionQueues”,可對(duì)緩慢增加的等待隊(duì)列進(jìn)行檢測(cè)。“掃描速率” (ScanRate) 值可用于定義應(yīng)在增加了多少個(gè)新作業(yè)后檢查隊(duì)列的長(zhǎng)度。 如果隊(duì)列的增長(zhǎng)超出在“梯度”(Gradient) 中所定義的值,則將以 “printf ”的形式輸出警告。
圖 4 “掃描速率”和“梯度” 的組態(tài)
如上圖4所示,如果輸入“掃描速率”(ScanRate) 為“100”且“梯度”(Gradient) 為“30”,則每放置 100 個(gè)新條目(動(dòng)作)到隊(duì)列中,即會(huì)檢查隊(duì)列的增長(zhǎng)是否超過 30 個(gè)條目(100 個(gè)新作業(yè)中得到處理的少于 70 個(gè))。 如果情況如此,則以 “printf() ”的形式輸出以下診斷信息,如圖5所示。
圖 5 組態(tài)“掃描速率”和“梯度”輸出的診斷信息
需要注意的是,除了全局動(dòng)作之外,畫面中周期執(zhí)行的腳本也在檢查的范圍內(nèi)。
2.3幫助定位發(fā)生阻塞的動(dòng)作
功能描述:設(shè)置動(dòng)作運(yùn)行時(shí)間的限值,可測(cè)量運(yùn)行時(shí)間過長(zhǎng)的動(dòng)作的實(shí)際運(yùn)行時(shí)間,幫助定位發(fā)生阻塞的動(dòng)作。
使用方法:
打開“Diagnostics”菜單下的“概要文件”(Profile) 菜單項(xiàng)。激活“檢查運(yùn)行需要超過 xx 毫秒的動(dòng)作”(Check which Action need more than xx msec) 復(fù)選框,則將輸出運(yùn)行時(shí)間大于規(guī)定時(shí)間的所有動(dòng)作的實(shí)際運(yùn)行時(shí)間。
圖 6 組態(tài)“Check which Action need more than xx msec”
如上圖6所示,將xx毫秒設(shè)置成2000毫秒,如果有動(dòng)作執(zhí)行超出2000毫秒,可以在圖7的“GSC診斷窗口”中找到如下的輸出:
圖 7 組態(tài)“檢查運(yùn)行需要超過 xx 毫秒的動(dòng)作”的輸出診斷信息
從上圖中紅色線標(biāo)注的信息可以看出,有動(dòng)作執(zhí)行超出設(shè)定的毫秒數(shù)。由“szFunctionName:@c”,在“GSC 運(yùn)行系統(tǒng)窗口”可以查到“@c” 所對(duì)應(yīng)的動(dòng)作名稱。假設(shè)該動(dòng)作設(shè)置的觸發(fā)周期為2秒鐘,但是由上圖實(shí)際執(zhí)行時(shí)間為4999.6毫秒,則有可能由于該動(dòng)作執(zhí)行時(shí)間過長(zhǎng),導(dǎo)致整個(gè)腳本隊(duì)列的堵塞,需要檢查該動(dòng)作的代碼。注意,如果該動(dòng)作發(fā)生掛起(停在某代碼處,無法繼續(xù)執(zhí)行),則無法計(jì)算該動(dòng)作執(zhí)行的時(shí)間,此時(shí)沒有以上的輸出。
2.4定位導(dǎo)致腳本阻塞的函數(shù)
功能描述:使用正在運(yùn)行動(dòng)作的“調(diào)用堆棧”信息,定位導(dǎo)致腳本阻塞的函數(shù)。
使用方法:
使用“Info”菜單下的菜單命令“*個(gè)動(dòng)作”(FirstAction) ,可以得到正在運(yùn)行的動(dòng)作的相關(guān)信息。該命令可以將當(dāng)前正在運(yùn)行的動(dòng)作(如果腳本發(fā)生阻塞時(shí),很有可能為正在發(fā)生阻塞的動(dòng)作,該動(dòng)作阻塞了其它需要處理的動(dòng)作),以及動(dòng)作的調(diào)用堆棧信息輸出到文本文件中。如果正在執(zhí)行的動(dòng)作很多,這將有助于快速定位到發(fā)生阻塞的動(dòng)作,并從“調(diào)用堆棧”信息中查出該動(dòng)作中究竟是哪個(gè)函數(shù)發(fā)生了阻塞或掛起。
圖 8使用“FirstAction”輸出的正在運(yùn)行動(dòng)作的信息
上圖8是使用“FirstAction”輸出的正在運(yùn)行動(dòng)作的信息和調(diào)用堆棧信息的示例。首先介紹一下什么叫調(diào)用堆棧:假設(shè)有幾個(gè)函數(shù),分別是function1、function2和function3,且function1調(diào)用function2,function2調(diào)用function3。在function3運(yùn)行過程中,可以從線程當(dāng)前堆棧中了解到調(diào)用它的那幾個(gè)函數(shù)的名稱。從函數(shù)的調(diào)用順序關(guān)系看,function3、function2、function1呈現(xiàn)出一種“堆棧”的特征,zui后被調(diào)用的函數(shù)出現(xiàn)在zui上方,因此稱呼這種關(guān)系為調(diào)用堆棧(Call Stack)。
由上圖所示的“szApplicationName:GSC_RT”判斷輸出的是某一全局動(dòng)作的信息;由“szFunctionName:@1d5”,在“GSC 運(yùn)行系統(tǒng)窗口”中可以查到“@1d5” 所對(duì)應(yīng)的全局動(dòng)作的名稱;再仔細(xì)核對(duì)該全局動(dòng)作的代碼,從上述調(diào)用堆棧函數(shù)列表中就可以查找到該全局動(dòng)作代碼中使用的函數(shù)MSRTGetMsgQuit(這是一個(gè)ODK函數(shù)),可能由于該函數(shù)執(zhí)行所需的時(shí)間較長(zhǎng),或者發(fā)生了阻塞或掛起,因此使用“FirstAction”功能時(shí),打印到該函數(shù)調(diào)用堆棧信息的概率就比較大。
2.5啟動(dòng)將重要腳本診斷值保存在變量中的功能
功能描述:可以啟動(dòng)將重要腳本診斷值保存在變量中的功能。
使用方法:
在 WinCC 項(xiàng)目的創(chuàng)建期間會(huì)生成與腳本相關(guān)的診斷變量,如下表1所示。這些診斷變量默認(rèn)情況下不保存診斷值。
@SCRIPT_COUNT_TAGS | 此變量包含當(dāng)前通過腳本請(qǐng)求的變量數(shù)。 |
@SCRIPT_COUNT_REQUEST_IN_QUEUES | 此變量包含當(dāng)前的作業(yè)數(shù)。 |
@SCRIPT_COUNT_ACTIONS_IN_QUEUES | 此變量包含當(dāng)前待處理的動(dòng)作數(shù)。 |
表 1 WinCC腳本診斷變量列表
使用菜單“診斷”(Diagnostics) 中的“填充變量”(FillTags) 可打開或關(guān)閉將重要腳本診斷值保存在上述變量中的功能,默認(rèn)情況為關(guān)閉。
圖 9 “填充變量”對(duì)話框
請(qǐng)注意,寫入診斷值會(huì)產(chǎn)生額外的基本負(fù)載,因此該功能只應(yīng)短時(shí)啟動(dòng)。
2.6設(shè)置診斷信息輸出到窗口、文件或被刪除
功能描述:設(shè)置診斷信息輸出到窗口、文件或被刪除。
使用方法:
在“Output”菜單中,使用菜單命令“輸出到畫面”(Output On Screen) 將打開一個(gè)診斷窗口,迄今所收集的跟蹤條目將輸出到如圖10所示的窗口中。
圖 10 “診斷窗口”對(duì)話框
菜單命令“輸出到文件”(Output To File) 可用于將迄今所收集的跟蹤條目一次性存儲(chǔ)到文本文件中。
使用菜單命令“復(fù)位緩沖區(qū)”(Reset Buffer) 將刪除迄今所收集的跟蹤條目。
3使用ApDiag診斷工具幫助快速定位阻塞腳本的實(shí)例
下面以一個(gè)簡(jiǎn)單的測(cè)試項(xiàng)目為例,介紹如何使用上述方法進(jìn)行腳本的診斷,并快速定位到發(fā)生阻塞的腳本的函數(shù)名稱。
首先創(chuàng)建一個(gè)測(cè)試項(xiàng)目(以WinCC V7.0 SP2為例),在WinCC的全局腳本中,創(chuàng)建一個(gè)C動(dòng)作,設(shè)置該動(dòng)作的觸發(fā)周期為2秒鐘,在該動(dòng)作中加入Sleep函數(shù)(延時(shí)5秒鐘),模擬C腳本的阻塞現(xiàn)象,如下圖11所示。
圖 11 阻塞腳本代碼示例
由于該腳本設(shè)定觸發(fā)周期為2秒鐘,即每隔2秒鐘會(huì)將請(qǐng)求加入隊(duì)列,但是實(shí)際執(zhí)行腳本需要花費(fèi)5秒鐘的時(shí)間,因此腳本實(shí)際觸發(fā)的周期為5秒鐘左右執(zhí)行一次,給用戶的感覺是腳本執(zhí)行變慢。隨著時(shí)間的推移,就會(huì)導(dǎo)致請(qǐng)求隊(duì)列中的動(dòng)作數(shù)不斷增多,將導(dǎo)致在幾小時(shí)或幾天之后出現(xiàn)出錯(cuò)消息“More than 10000 actions in work”。
如果客戶在項(xiàng)目運(yùn)行過程中,發(fā)現(xiàn)類似上述腳本阻塞的現(xiàn)象,可以使用ApDiag工具,分步診斷上述問題,從而快速定位到阻塞腳本的函數(shù)名稱。
步驟1:使用上述“功能1”介紹的“Count of Actions in RequestQueue ”方法輸出當(dāng)前請(qǐng)求隊(duì)列中待處理的動(dòng)作數(shù),先后使用兩次,顯示結(jié)果分別如“圖 1”和“圖 2”所示;或者使用“功能2”介紹的設(shè)置“掃描速率”和“梯度”方法監(jiān)視請(qǐng)求隊(duì)列的增長(zhǎng),輸出結(jié)果如“圖5”所示。上述兩種方法均可以診斷出當(dāng)前請(qǐng)求隊(duì)列正在快速增長(zhǎng),說明腳本發(fā)生了阻塞。
步驟2:使用“功能3” 測(cè)量運(yùn)行時(shí)間過長(zhǎng)的動(dòng)作的實(shí)際運(yùn)行時(shí)間,從 “GSC 診斷窗口”中輸出的信息(如“圖7”所示)表明,某一 ID (@c)的動(dòng)作執(zhí)行時(shí)間超出在 ApDiag 工具中所組態(tài)的數(shù)值(2000毫秒),在“GSC運(yùn)行系統(tǒng)窗口”中查詢?cè)?ID 對(duì)應(yīng)的全局動(dòng)作名稱為“Trigger_Sleep.pas”。由于該動(dòng)作的設(shè)定觸發(fā)周期為 2 秒,但是實(shí)際運(yùn)行花費(fèi)5秒左右,說明該腳本動(dòng)作可能發(fā)生阻塞,影響了其它全局動(dòng)作的執(zhí)行。
步驟3:使用 “功能4” 定位導(dǎo)致腳本阻塞的函數(shù),執(zhí)行幾次后,發(fā)現(xiàn)輸出的調(diào)用堆棧診斷文件中均有近似如下的內(nèi)容:
圖 12 使用 “FirstAction”輸出的正在運(yùn)行動(dòng)作的信息
根據(jù)以上調(diào)用堆棧文件的信息,可以看出發(fā)生阻塞的動(dòng)作為全局動(dòng)作,在“GSC 運(yùn)行系統(tǒng)窗口”中可以查到“@c” 所對(duì)應(yīng)的全局動(dòng)作的名稱,根據(jù)該動(dòng)作的代碼和上述調(diào)用堆棧函數(shù)列表,可以判斷導(dǎo)致阻塞的函數(shù)名稱為“Sleep”,由于該函數(shù)執(zhí)行時(shí)間過長(zhǎng),導(dǎo)致腳本隊(duì)列發(fā)生阻塞。
此外,也可以通過函數(shù)“MessageBox(NULL,"World","Hello",MB_OK); ”模擬“掛起”動(dòng)作(調(diào)用消息框的動(dòng)作將不會(huì)繼續(xù)執(zhí)行,直到該消息框被關(guān)閉)。此時(shí)使用“FirstAction”方法,同樣可以找到導(dǎo)致掛起的腳本函數(shù)“MessageBox”。
可見,綜合利用 ApDiag 的以上方法,對(duì)快速診斷腳本的阻塞或掛起問題很有幫助。關(guān)于 ApDiag 工具的使用,需要在實(shí)際的復(fù)雜項(xiàng)目中多多實(shí)踐、靈活應(yīng)用。
6GK1901-1GA00 以太網(wǎng)剝線工具
6GK1901-1GA00 以太網(wǎng)剝線工具
您感興趣的產(chǎn)品PRODUCTS YOU ARE INTERESTED IN
報(bào)價(jià)MHYV監(jiān)測(cè)電纜MHYVRP礦用監(jiān)測(cè)電纜
MHYV監(jiān)測(cè)電纜MHYVRP礦用監(jiān)測(cè)電纜 面議商鋪:http://cchxqp518.com/st181565/
主營(yíng)產(chǎn)品:自動(dòng)化設(shè)備、機(jī)電設(shè)備、電氣設(shè)備、機(jī)械設(shè)備及配件、五金交電、電子元器件、儀器儀表、電線電纜批發(fā)零售;自動(dòng)化科技領(lǐng)域內(nèi)的技術(shù)開發(fā)、技術(shù)咨詢、技術(shù)轉(zhuǎn)讓、技術(shù)服務(wù)
智慧城市網(wǎng) 設(shè)計(jì)制作,未經(jīng)允許翻錄必究 .? ? ?
請(qǐng)輸入賬號(hào)
請(qǐng)輸入密碼
請(qǐng)輸驗(yàn)證碼
請(qǐng)輸入你感興趣的產(chǎn)品
請(qǐng)簡(jiǎn)單描述您的需求
請(qǐng)選擇省份
聯(lián)系方式
上海地友自動(dòng)化設(shè)備有限公司