應用領域 | 電子 |
---|
6ES7288-3AR02-0AA0
SIMATIC S7-200 SMART, 模擬輸入 SM AR02 RTD, 2x AI RTD 模塊
參考價 | 面議 |
更新時間:2023-07-15 21:41:19瀏覽次數(shù):524
聯(lián)系我們時請說明是化工儀器網(wǎng)上看到的信息,謝謝!
6ES72883AR020AA0西門子熱電阻輸入模塊
6ES7288-3AR02-0AA0
SIMATIC S7-200 SMART, 模擬輸入 SM AR02 RTD, 2x AI RTD 模塊
SIEMENS西門子
*,質量保證,保修一年
專業(yè)銷售及維修西門子各類工控自動化配件;
:S7-200CN、S7-200SMART、S7-300、S7-400、 S7-1200、S7-1500、ET200、LOGO邏西門子可編程控制器輯控制模塊
西門子HMI人機界面:觸摸屏
西門子變頻器:MM420、MM430、MM440、G110、G120、6SE70
西門子工業(yè)以太網(wǎng):通訊網(wǎng)卡、通訊電纜、通訊接頭、總線連接器 工控機、交換機、自動化軟件等系型號齊全,快速報價,買我們的產(chǎn)品無憂所值,我們的產(chǎn)品都承諾質保一年,讓您買的省心舒心,用的放心!
近在熱線上遇到一個Case。
客戶用300PLC+WInCC(7.4.1.0)來檢測現(xiàn)場的液位變化,當檢測到液位超過一定值過后,在程序中將PLC中一個Bool量置位,再用這個Bool量來觸發(fā)一條WinCC報警消息,用于提示液位超限。在這條報警消息中,客戶使用了一個過程值塊用于顯示報警當時的實時液位數(shù)值,但是,客戶發(fā)現(xiàn),在每次報警消息到來的時候,當前消息里的過程值變量,永遠都是顯示的上一個周期的液位值。
對于客戶的這個需求,一般會直接建議客戶在WinCC中做模擬量報警,能夠比較直觀的顯示限位值和當前值。如圖1所示,例如用MW100來表示液位,液位的上限值為50,這樣就組態(tài)好一條簡單的模擬量報警,在模擬量報警消息中的消息文本中,已自動生成要顯示的限位和當前值內容,如圖2所示。值得說明的是,對于模擬量報警,編號1-3的過程值塊是系統(tǒng)占用的,而其余的過程值塊并不能使用(詳見幫助-建立消息系統(tǒng)-限制值監(jiān)控的消息)。
圖1 組態(tài)模擬量報警
圖2 模擬量報警消息文本
雖然問題很容易解決,但是出現(xiàn)上述問題的原因卻是值得深思的。試想客戶若不是做這樣的功能,而是對于該變量有很高的實時性要求,那這樣的現(xiàn)象是肯定不允許發(fā)生的,鑒于這一點,我復現(xiàn)了客戶的問題,嘗試去了解一下深層次的原因。
在Step7(V5.6)和Portal(V15)中分別為300和1500編寫了一樣的程序,用于對比兩款PLC表現(xiàn)是否*。其中MW90代表液位,MW100代表比較值,M80.0用于觸發(fā)報警消息,300的程序如圖3所示(經(jīng)測試1500的表現(xiàn)和300*,這里不再贅述)。
圖3 300PLC液位比較程序
采用Step7的仿真器仿真程序,測試后發(fā)現(xiàn)情況如客戶所言,程序里涉及到的三個變量,在報警控件里顯示的都是上一個周期的值,如圖4所示。
圖4 通過程序觸發(fā)過程值顯示的值
嘗試避開程序,在WinCC中通過IO域直接給MW90和MW100賦值,并手動將M80.0置位,以此觸發(fā)報警,同時記錄MW90和MW100的值,發(fā)現(xiàn)記錄正常,沒有延遲(圖5),但是, M80.0依然是上一個周期的值。
圖5 避開程序觸發(fā)過程值顯示的值
在報警消息歷史記錄中可見,當消息離開時,顯示的都是實時值,如圖6。
圖6 報警離開時過程值顯示的值
綜上,考慮是變量掃描周期的問題,查詢手冊得知:WinCC寫入變量到PLC中,不需要參與循環(huán)周期,除開通訊時間和PLC執(zhí)行周期(ms級),幾乎是實時的;但是,報警消息里面的變量(包括觸發(fā)變量、確認變量、狀態(tài)變量以及過程值),它們默認有1s的掃描周期。
在一次測試中,消息已經(jīng)觸發(fā),但過程值變量都沒有及時刷新;
在第二次測試中,由于MW90和MW100在消息觸發(fā)時已經(jīng)有值,所以消息到來時及時刷新了;而消息觸發(fā)時,過程值變量M80.0(也是觸發(fā)變量)沒有刷新,這也就說明了,即使WinCC已經(jīng)知道M80.0置位了(因為消息已經(jīng)觸發(fā)),但它并不知道,同時作為過程值的M80.0的當前值。
按理說,觸發(fā)變量和過程值的默認掃描周期都是1s,應該在消息觸發(fā)時,同時更新過程值才對,但是事實并非如此。那么,可以推測,報警觸發(fā)時,過程值還沒有到,也就是說觸發(fā)變量和過程值雖然都是1s的掃描周期,但其實每次觸發(fā)變量都會比過程值變量先到一點點,即觸發(fā)變量的輪詢周期要快于或等于過程值的輪詢周期。
去注冊表內修改這兩個變量的輪詢周期,注冊表的路徑如下:
HKEY_LOCAL_MACHINESOFTWAREWow6432NodeSIEMENSWINCCAlarm LoggingConstants
在這里添加觸發(fā)變量和過程值變量的輪詢周期值:
"CycleAlarms"= "00000000" // 觸發(fā)變量
"CyclePValues"= "00000000" // 過程值變量
并將觸發(fā)變量的值改為大于過程值變量的值,例如(圖7):
"CycleAlarms"= "00000003" // 觸發(fā)變量,1s
"CyclePValues"= "00000002" // 過程值變量,500ms
圖7 在注冊表中修改輪詢時間
修改后再次測試,顯示正常,如圖8。
通道診斷里的掃描周期顯示如圖9,可以看到,因為有三個過程值(M80.0, MW90, MW100),所以500ms的掃描周期注冊了三個變量,而觸發(fā)變量只有一個,所以1s的掃描周期注冊了一個。
圖8 修改注冊表后過程值顯示正常
圖9 WinCC注冊的掃描周期
測試到這里先告一段落,但是依然還是有個問題沒有解決,那就是默認都是1s掃描周期的觸發(fā)變量和過程值,為什么到報警消息中的時間會有一個差值,從而導致過程值的刷新永遠慢一個周期,還是說有其他什么因素影響?這是需要進一步探討的問題。
6ES72883AR020AA0西門子熱電阻輸入模塊