zhaotingjie
級別: *
|
程序中T0計時后閉合,T1開始計時,T1計時后為什么不會閉合?因為(P)沒有上升沿信號,Q0.0也沒有閉合。 [ 此帖被zhaotingjie在2010-10-15 17:29重新編輯 ] |
---|---|
|
sjm213
有小知識,無大學問。
級別: 論壇版主
|
有三個需要注意的地方: 1. 上升沿信號本身也就會ON一個掃描周期的時間,這個毫秒級的置位時間用肉眼很難觀察到。何況還有電腦本身顯示為綠色的反應時間。 2. T1計時時間到為ON時的那個掃描周期內就將T0復位掉,所以T0、T1都在此時斷開無法閉合。 3. 有一定的幾率能將Q0.0導通,但不一定會將其導通。會造成程序的不穩定。將Q0.0輸出線圈改為SET更能夠觀察到這種情況。 |
---|---|
|
zhaotingjie
級別: *
|
1樓版主第1點和第3點說的很對,應該用SET對Q0.0置位。 但是第2點還是不明白,程序是從上向下執行的吧,T1接通了,向下執行應該對Q0.0 SET“1”,怎么不執行這句反而向上對T0復位啊?? |
---|---|
|
dahairhj
級別: 略有小成
|
如果把網絡3的Q0.0改成置位,并且放到網絡1的前面,這個程序就很不錯了。當然別忘了給Q0.0復位。 |
---|---|
|
sjm213
有小知識,無大學問。
級別: 論壇版主
|
http://www2.ad.siemens.com.cn/download/Upload/AS/application/A0274.pdf 請再仔細閱讀這個文檔中的介紹。 請注意1樓第三條的第一句話。 網絡3跟網絡1掉換,只是改變(掉換)了Q0.0導通與不導通的幾率,并不能100%的確定其是會被置位還是不會被置位。 |
---|---|
|
zhaotingjie
級別: *
|
但是在S7 200中,類似的程序是可以達到效果的,S7 200和S7 300在這里是有區別??例子如下: |
---|---|
|
sjm213
有小知識,無大學問。
級別: 論壇版主
|
因為對于200的100ms定時器而言,它是當執行到時間繼電器的時候才刷新當前值,所以以上程序的T37、T38不會在執行到相應程序之前就達到計時值而導通進而將繼電器線圈復位;換成1ms定時器也會出現那種情況。有興趣的話可以再換成10ms定時器看會出現什么結果。 |
---|---|
|
szzhang001
我愛工控!
級別: 家園常客
|
呵呵...大師見解非凡,I couldn't agree more! |
|
---|---|---|
|
wwcwwc
級別: VIP會員
|
你的問題在于理解上升沿的問題了。300中的Q0.0要使置1,將用到置位(SET)。在一個掃描周期內你無法看到它的1狀態。 200;300都一樣用“沿”就必須用“SET”;“RST”。 |
---|---|
|