西門子PLC模塊6ES73922DX100AA0。
西門子PLC模塊6ES73922DX100AA0,。
如何在WinCC中獲取與S7-300/400 CPU的通訊狀態(tài)
WinCC項(xiàng)目中通訊連接至關(guān)重要,,獲取連接通訊狀態(tài)能有效的判斷當(dāng)前系統(tǒng)的運(yùn)行情況,及時(shí)處理問題,。
1 畫面中添加控件來獲取通訊狀態(tài)
WinCC 提供工具“Channel Diagonsis"來判斷項(xiàng)目中連接的通訊狀態(tài),,此工具在操作系統(tǒng) “開始"—>“Simatic"—>“WinCC"—>“Tools"目錄下可以找到。此工具也可以添加到WinCC畫面中使用,。

圖1
打開WinCC“圖形編輯器",,在右邊“對象選項(xiàng)板"中選擇“控件"列表,如果是V6.2的系統(tǒng)在列表空白區(qū)域點(diǎn)擊鼠標(biāo)右鍵選擇“添加/刪除"(圖1),,如果是V7.0的系統(tǒng)需要先選中“ActiveX 控件",,再點(diǎn)擊鼠標(biāo)右鍵選擇“添加/刪除"(圖2)。

圖2
打開“選擇OCX控件"對話框,,在OCX控件列表中找到并且選中“WinCC Channel Diagonsis Control"控件(圖3),,點(diǎn)擊確定。然后在選項(xiàng)板控件列表中就能找到此控件,,把此控件添加到畫面中,,激活WinCC項(xiàng)目。

輸出電流有2A,、5A或10A3種,。前連接器插在前蓋后面的凹槽內(nèi)。反向定標(biāo)后的輸出值隨著輸入值的增大而減小,。
圖3
項(xiàng)目激活運(yùn)行后,,通道診斷控件會(huì)顯示項(xiàng)目中通訊連接的通訊狀態(tài),綠勾表示通訊正常,,紅叉表示通訊故障,。選中故障鏈接,在右邊列表中能顯示出此故障的錯(cuò)誤代碼(圖4),。

圖4
錯(cuò)誤代碼的說明可以在幫助文檔“S7CHNERRORchs.HLP"中查到,,此幫助文檔在 WinCC 的安裝路徑下(如:C:ProgramsSiemensWinCCbin )找到。
公式如下:OUT = [ ((FLOAT (IN) – K1)/(K2 – K1)) * (HI_LIM – LO_LIM)] + LO_LIM常數(shù)K1和K2的值取決于輸入值( IN)是雙極性BIPOLAR 還是單極性UNIPOLAR ,。2.2.1 FC105 功能描述SCALE( FC105 )功能將一個(gè)整形數(shù)INTEGER( IN)轉(zhuǎn)換成上限,、下限之間的實(shí)際的工程值(LO_LIM and HI_LIM) ,結(jié)果寫到OUT,。
2 根據(jù)通訊狀態(tài)改變對象屬性
在連接中所建的變量,,在通訊時(shí)都會(huì)帶有變量狀態(tài)信息,,變量狀態(tài)包含WinCC 和自動(dòng)化設(shè)備之間的連接狀態(tài)。通過獲取這個(gè)變量狀態(tài),,我們就能得知變量所在連接的通訊狀態(tài),。
首先在需要監(jiān)控的通訊連接下新建一個(gè)變量“status",地址取位存儲(chǔ)區(qū)首地址(圖5),。

在此文檔中我們以靜態(tài)文本來舉例,。在畫面中添加一個(gè)靜態(tài)文本,選擇對象屬性“字體"à “文本",,在動(dòng)態(tài)列表中選擇“動(dòng)態(tài)對話框"(圖6),。

圖6
在動(dòng)態(tài)對話框中,表達(dá)式/公式選擇變量“status",,把表達(dá)式/公式的結(jié)果列表中“其他"范圍對應(yīng)的文本修改成“通訊已連接",。選擇“變量狀態(tài)",在彈出的狀態(tài)列表中,,把“沒有連接"范圍對應(yīng)的文本修改成“通訊干擾"(圖7),,應(yīng)用此設(shè)置。

圖7
項(xiàng)目激活運(yùn)行后,,如果通訊正常,,靜態(tài)文本會(huì)顯示“通訊已連接",如果通訊故障會(huì)顯示“通訊干擾",。(具體故障原因可檢查通道診斷)
用于連接有爆炸危險(xiǎn)區(qū)域的設(shè)備,。各CPU均有計(jì)數(shù)、頻率測量和脈沖寬度調(diào)制功能,。FC105/FC106 功能描述在編程界面下選中該功能塊,,按一下計(jì)算機(jī)鍵盤上的 F1 功能鍵,即可打開關(guān)于該功能塊的在線幫助,,包括該功能塊的功能,,管腳參數(shù)定義、例子程序等,。
此組態(tài)方法也可應(yīng)用到其他對象,,例如修改對象的背景顏色等。
3 使用腳本獲取通訊狀態(tài)
上一章節(jié)是把變量的“變量狀態(tài)"直接與對象屬性關(guān)聯(lián),,這個(gè)“變量狀態(tài)"也可以直接使用腳本來讀取,,在腳本中判斷通訊狀態(tài),繼而執(zhí)行比較復(fù)雜的邏輯操作,。
首先在需要監(jiān)控的通訊鏈接下新建一個(gè)變量“status",,地址取位存儲(chǔ)區(qū)首地址(圖5)。
打開“全局腳本"—>“C-Editor",,新建一個(gè)“動(dòng)作",,編寫如下代碼(圖8),。腳本中“GetTagDWordState"函數(shù)獲取了變量的變量狀態(tài),然后使用If語句執(zhí)行判斷,。

圖8
在工具欄上點(diǎn)擊“信息/觸發(fā)",,(“信息/觸發(fā)"按鈕在V6.2系統(tǒng)中圖標(biāo)參考圖8,如果是V7.0系統(tǒng)中圖標(biāo)參考圖9)在屬性選項(xiàng)板上選擇“觸發(fā)器"à“定時(shí)器"à“周期",,然后點(diǎn)擊“添加"按鈕,在彈出對話框中填寫觸發(fā)器名稱“Action1",,然后定義“周期"5秒,。這種組態(tài)(圖10)會(huì)讓此腳本在WinCC運(yùn)行期間以5秒的時(shí)間間隔,循環(huán)執(zhí)行,。
圖9

圖10
注意事項(xiàng):
1.項(xiàng)目運(yùn)行前必須把計(jì)算機(jī)屬性“啟動(dòng)"列表中“全局腳本行系統(tǒng)"給勾選上(圖11),。
2.腳本的執(zhí)行周期用戶可根據(jù)項(xiàng)目自行修改,但是不建議執(zhí)行周期過密,。因?yàn)樵赪inCC系統(tǒng)中腳本是單進(jìn)程的,,如果腳本中有很耗時(shí)的執(zhí)行過程,過密的執(zhí)行周期會(huì)造成系統(tǒng)負(fù)擔(dān)過大,,導(dǎo)致腳本不執(zhí)行或者系統(tǒng)運(yùn)行緩慢等現(xiàn)象,。

圖11
4 CPU停機(jī)監(jiān)控
這里需要注意一點(diǎn),WinCC系統(tǒng)的默認(rèn)設(shè)置是會(huì)監(jiān)控CPU的STOP狀態(tài)的,,如果CPU打到STOP狀態(tài),,也會(huì)顯示通訊故障,通道診斷的錯(cuò)誤代碼“ 7001" ,。這個(gè)默認(rèn)設(shè)置可修改(圖12),,打開變量管理器,選擇所用通訊協(xié)議,,例如“TCP/IP",,點(diǎn)擊鼠標(biāo)右鍵選擇“系統(tǒng)參數(shù)",在對話框中選擇 “CPU 停機(jī)監(jiān)控"取消“激活",,則不對CPU的STOP狀態(tài)進(jìn)行監(jiān)控,。

西門子代理商6ES73340CE010AA0:待審核