找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2337|回復: 0
打印 上一主題 下一主題
收起左側(cè)

WINCC與PLC通訊優(yōu)化的思考

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:75926 發(fā)表于 2015-4-4 16:59 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
關(guān)于“優(yōu)化是不是也要從PLC有所考慮?”,答案是肯定的,對于WinCC和S7-300/400通信優(yōu)化來說,在PLC方面還會考慮到以下幾個問題:

1. PLC的循環(huán)讀服務數(shù)(cyclic read services)。這是WinCC和S7-300/400通信時,比較獨特的通訊優(yōu)化方式,類似訂閱的概念。基本過程可以簡單的這樣理解:每當打開/切換一幅畫面時,系統(tǒng)會統(tǒng)計這畫面中所使用的變量及這些變量的更新周期,將這些變量的請求按更新周期分類,形成“訂單”并提交給PLC,PLC接受到“訂單”后,按“訂單”中所指定的更新周期,分批次的主動將數(shù)據(jù)定時的發(fā)給WinCC,而不需要WinCC再去定時的向PLC發(fā)請求。這樣就可以有效提高數(shù)據(jù)交換效率。這里的一個“批次”就可以理解為一個“PLC的循環(huán)讀服務”,而不同的PLC所支持的循環(huán)讀服務數(shù)也可能有所不同,比如CPU416 最多支持32個,而CPU 412只有16個。多臺WinCC同時訪問一個PLC時,不但會占用PLC的連接資源,同時也會占用PLC的循環(huán)讀服務數(shù)。
   
由于每個批次(循環(huán)讀服務)所攜帶的數(shù)據(jù)數(shù)量是受到數(shù)據(jù)報文尺寸的限制,所以要把想要的PLC數(shù)據(jù)讀上來,PLC就可能就會用到多個循環(huán)讀服務。比如:當前WinCC畫面中只有兩個IO域連接了一個PLC 中的同一個地址:MW10,不同的是兩個IO域的更新時間一個是500ms,另一個是1s,那么PLC會用兩個循環(huán)讀服務將數(shù)據(jù)發(fā)送給WinCC,一個是500ms的循環(huán)讀服務,另一個是1s的循環(huán)讀服務。這樣的結(jié)果是不但多占用了循環(huán)讀服務數(shù),同時每個讀服務的使用效率都不高。畫面,變量記錄,報警,腳本系統(tǒng)等的變量請求對循環(huán)讀服務的占用也是相似的。關(guān)于循環(huán)讀服務可以參考WinCC的在線幫助,里面有較詳盡的解釋。
   
2. WinCC使用的變量在PLC中的地址的是否連續(xù),變量地址是否合理。連續(xù)地址意味著數(shù)據(jù)報文中攜帶的變量地址信息較少,可以簡單理解:與數(shù)組的概念類似,起始地址信息+變量個數(shù)。雖然WinCC S7協(xié)議集具體的報文結(jié)構(gòu)沒有公開,而且地址排列也有特殊的算法,但對于地址不連續(xù)的情況后大概有何種結(jié)果,我想大家也能想到。而且也能用抓包和診斷工具看到變化。
   
變量地址是否合理:比如:同一個畫面(也可以引申到變量記錄,報警,腳本系統(tǒng)等)中所需的變量,在PLC中的地址最好連續(xù)排列。而若WinCC需要的所有數(shù)據(jù)都連續(xù)放在一個DB塊中,但各畫面所訪問數(shù)據(jù)零星的分散在DB塊中,這種情況下,一些夾在其間的無用數(shù)據(jù)也有可能被發(fā)給WinCC,即使WinCC并沒有請求這些數(shù)據(jù)。
   
所以,變量地址連續(xù)、合理,可以有效提高PLC的循環(huán)讀服務的使用效率,從而提高通訊效率。另外, WinCC提供的通道診斷(channelDiagnosis)工具有很強的功能,在系統(tǒng)沒有出現(xiàn)故障時,也可用來查看當前的通道信息,其中會反映所占用的循環(huán)讀服務數(shù)、循環(huán)讀服務的更新周期等等。建議可以試一試。



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表