xiaozhen12
級別: 探索解密
|
控制要求是這樣的,輸送帶傳送工件,當工件經過檢測傳感器,到達某一固定位置時,電磁閥(傳感器在電磁閥的前面)開始動作,工件尾部超出這個位置時,電磁閥停止。輸送帶電機有一個與其同軸連接的增量編碼器,我知道工件的位移可以由編碼器和檢測傳感器配合計算出來。我程序思路是這樣編寫的,當傳感器檢測到工件瞬時,記錄下當前高數計數值,假如高數計數的地址為:ID1000,存放記錄的地址是DB20.DBD24,然后判斷(PID1000-DB20.DBD24)*脈沖當量>=檢測傳感器與電磁閥之間的距離,如果結果為真,電磁閥就動作。當(PID1000-DB20.DBD24)*脈沖當量>=檢測傳感器與電磁閥之間的距離+工件長度,電磁閥復位。我困惑的是,因為輸送帶一直是運動的,這樣高數計數器有可能會溢出。小弟剛畢業出來工作。哪位大哥幫小弟解答一下。謝謝! |
---|---|
|
254886042
級別: 探索解密
|
輸送電機不能停嗎?如果不能停止的話,可以在檢測到物件時把所采集的脈沖清0,在物件離開時取脈沖,取中間值,增量值不要一直采集,不知道可行不,以前我們做的都是電機可以隨時停止的 |
---|---|
|
xiaozhen12
級別: 探索解密
|
電機在生產肯定不能停的,如果在檢測到物件時把所采集的脈沖清0,在物件離開時取脈沖, 這樣只能計算出物件的長度,但是該物件的位移又如何計算,況且,輸送帶不止一個物件,而是一連串有間隔的。我覺的要在檢測傳感器與電磁閥中間根據實際容納的最大工件量,在數據塊上保留這些工件的位移信息,工件的長度,這樣才能達到控制要求,在生產時電機一直在轉動的,高速計數應該會隔一段時間就會溢出,如果每隔一段時間把高速計數值移到另外一個地方保存起來再清零,但這樣,工件的位置有可能會出差偏差。所以才上來問下哪位高手能幫小弟解決這個問題 |
---|---|
|
xiaozhen12
級別: 探索解密
|
如果電磁閥一復位就將高速計數器清零,那后面緊接的工件的位置不就亂了嗎?輸送鏈是一直不斷地將工件輸送過來的,如果工件之間的距離隔的很大的,用這個方法可以,但是實際工件挨得挺密的,傳感器與電磁閥之間是有多個工件的,用這個方法是行不通的吧 |
---|---|
|