lanjinghao
師夷洋技以制夷!!
級別: 略有小成
|
假設,程序中有個定時器T1,定時時間為50ms,執行整個程序1個周期耗時為20ms,那么執行第二個周期時定時器的時間是否要增加20ms? |
|
---|---|---|
|
醉湮邃虞
醉湮邃虞話老黑
級別: 略有小成
|
這里有個概念 你的整個工作過程20毫秒?這也太短了。程序控制的是微生物的什么? 你的整個程序掃描周期20毫秒?這也太長了。掃描周期超過15毫秒就要精檢程序了,一般的在7毫秒左右。 沒明白你的意思,的,無從回答。 你這里有三個時間,50毫秒,20毫秒,第二個周期定時器時間。 定時器啥時記時,和他的輸入端開畢時間有直接關系。如果你的控制周期在毫秒,建議你用多個PLC或者換個掃描周期在微妙數量級的PLC,(S7-200系列的掃描周期數量級是毫秒)..也就是說,如果用普通的指令, 例如 S Q0.0,1 ,Q0.0被置位,最大有掃描周期(一般為7毫秒)的延遲。這個延遲時間是你不能承受的,換句話說,如果用S7-200系列來控制微妙級的時序,真的是很困難。 [ 此帖被醉湮邃虞在2009-05-14 19:23重新編輯 ] |
|
---|---|---|
本帖最近評分記錄:
|
qwe123zxclk
級別: 家園?
|
定時器應該是跟程序掃描同時進行的,到程序掃描2個周期后,如果定時器在再過10MS后被掃描到,那么時間控制的是最精確的,如果定時器在2個周期+10MS之前就掃描了,那么到下一周期才會掃描到定時器輸出變化 |
---|---|
|
lanjinghao
師夷洋技以制夷!!
級別: 略有小成
|
整個程序比較龐大,掃描周期為20ms。PLC信息欄可以看到,最高21ms,最少16ms。我假設在我程序中有個定時器T1,定時時間為50ms,程序進行第二次掃描時,定時器T1的時間是否要增加20ms?還有個問題是整個程序的掃描周期為20ms,就意味著我的系統最少有20ms的時間不可控? [ 此帖被lanjinghao在2009-05-14 20:39重新編輯 ] |
|
---|---|---|
|
醉湮邃虞
醉湮邃虞話老黑
級別: 略有小成
|
建議你在可能的情況下在主程序中加入: 諸如:if I0.0 (or MB0<>0 ) than call SUB0 以縮短掃描周期,掃描周期過長的確會帶來一系列問題。 我理解不是20毫秒不可控,而是各種動作要延遲20毫秒才能有動作。 至于加上20毫秒,如果需要50毫秒的方波信號,我怎么感覺應該減20毫秒呢,或者PLC本身可以處理這種延遲?要不怎么掃描周期是10毫秒級,怎么還會有1毫秒級的定時器呢? 初看很簡單的問題,把俺搞糊涂啦? 掃描周期過長,建議使用時間中斷,在中斷程序中做一些動作,以滿足時序要求。 |
|
---|---|---|
本帖最近評分記錄:
|
lanjinghao
師夷洋技以制夷。!
級別: 略有小成
|
現在有個問題是,自由口通訊輪詢時間間隔為50ms,加個計數器,每個50ms計數器加1,判斷計數器的值進行輪詢發送通訊命令,一次輪詢發送10個通訊命令?赡苁菕呙柚芷谶^長的原因,輪詢的通訊命令不是按照順序發送,而是隨機發送。這樣也就意味著一個輪詢需要50×10=500ms的時間,再加上20ms的掃描周期,有可能實際上一個輪詢時間為500+20=520ms。如果有個通訊指令要隔一個輪詢才能執行,那就意味著同個指令執行相隔時間為2×520ms=1040ms,相差1s多啊,而觸摸屏和PLC采樣周期為1S,那就有可能觸摸屏顯示的信息不能反映出實際運行情況。我這樣分析對嗎? |
|
---|---|---|
|
醉湮邃虞
醉湮邃虞話老黑
級別: 略有小成
|
從你敘述的通訊的控制出方式上看,感覺你的通訊控制方式有問題。你文中的計數器不是計數器,、而而是個計時器,用記時器就有可能造成通訊隨機,這種隨機方式有可能某個命令會很長時間比如10秒才發送一次, 使用個內存單元,比如VD0,為零時,0號通訊,完畢使其為1,然后1號通訊,結束后,使其為2,然后2號命令通訊..............9號完畢后使其為零,0號通訊.................這種控制方法是絕對的輪流工作,、而不會造成丟失命令。 即使掃描周期很端的程序,觸摸屏幕顯示的也不是即時值.,我觀察過Q點,設備已經開始工作,、而觸摸屏上的Q點狀態指示燈,要過1-5秒才能有反應,反應的時間和觸摸屏幕上的可視元件數量好像也有關系(除通訊速率、數據交換周期影響外)。 . |
|
---|---|---|
|
lanjinghao
師夷洋技以制夷。!
級別: 略有小成
|
我有個高壓變頻系統,PLC采用S7-200,觸摸屏是TP277,F在觸摸屏顯示的運行頻率、輸入電流和輸出電流有時會跳變到0,但實際的運行參數又沒有任何變化。運行參數都是主控板采集或計算出來的,PLC通過通訊指令讀取到運行參數并存儲到PLC的存儲空間,然后通過觸摸屏顯示出來。而這個問題又是隨機發生,有時候在試驗平臺有這個問題,但在現場又正常,有時候現場出現這個問題,拿回來測試又正常。檢測軟件代碼也沒有任何故障,這個問題是否與觸摸屏和PLC通訊干擾有關還是怎樣? |
|
---|---|---|
|
justinzhou
級別: *
|
剛才試了一下,我的程序掃描周期為最大9,最小8。 然后,優化了幾個子程序的調用,結果掃描周期縮短為6ms至5ms。 |
---|---|
|
醉湮邃虞
醉湮邃虞話老黑
級別: 略有小成
|
感覺不是觸摸屏與PLC 的通訊問題,應該是數據采集問題,如果沒有握手信號,由于采集的時間很隨機,可能會采集到0數據。 在程序中加入一句: ld sm0.1 movw 0,vw10000 ................... if 采集數據=0 ,than vw10000=255 再在觸摸屏幕上,加入vw10000地址的顯示信息,一段時間后觀察其值,如果變為255,說明你真的采集到了數據0。 我沒有和設備直接通訊過,猜想想設備應該有個數據準備好信號,只有該信號為真,采集到的數據才是真實值。 [ 此帖被醉湮邃虞在2009-05-19 00:14重新編輯 ] |
|
---|---|---|
|