裔風狂舞
喊破嗓子不如做出樣子!
級別: 略有小成
|
編碼器安裝在輸送鏈上,光電開關用于檢測工件,工件到指定位置后,光電一直工作,直至工件走過指定位置,由于工件長短不一,所以位置數據需要分開保存,且位置還要給后面執行器使用 使用移位指令還是什么?編碼器數據如何清零,因為輸送鏈是不停的,希望高手給個思路。 |
---|---|
|
daiz63
級別: 家園常客
|
和選用的控制器有關,安川的話,有此門閂功能,直接存取IL8018的值即可 樓主留言:安川的PLC???我選用的是臺達的,希望能在程序上做做文章 |
|
---|---|---|
|
tc89914
級別: 探索解密
|
我也是做一些簡單的編程!瞎說說自己的看法 首先,編碼器一直在轉肯定得選用增量式的,接到PLC的高速計數端口上去。光電檢測到工件的上升沿瞬間清零計數器,光電下降沿瞬間將計數器的值傳遞給內部存儲器。有的PLC高速計數器還有使能端,那就更簡單,直接將光電傳感器信號做為計數器的使能信號就行了。至于你說的分開保存,開辟10個存儲器循環記錄最近的10個工件的長度值應該就夠用了吧 樓主留言:感謝回復,但是計數器不能清零的,后面有機構要利用這個數據的。就是噴涂線,記錄工件的長度,然后確定打開噴槍的距離,后面在噴涂,流水線也在運行,系統要判斷出來要噴涂的工件的長度 |
---|---|
|
c551
級別: 探索解密
|
涉及到數據的存儲調用了,用數組會不會好點?不過,你這種更類似與移位了。 也沒具體做過,歡迎高手指點,跟著學習下。 |
---|---|
|
tc89914
級別: 探索解密
|
我不明白為什么不能清零,后面機構要的工件長度已經保存在存儲器當中了,后面工件需要直接傳遞過去用好啦。計數器永遠在計當前正在通過的工件,計一個存一個啊!!! 樓主留言:舉個例子,當前感應器檢測到第6個工件長度是100,噴槍位置是第1個工件長度是200,那就是說噴槍在第一個工件到開始噴,輸送鏈走完200噴槍停,而這個200的距離也是由編碼器計算出來的 |
---|---|
|
xingyu002
級別: 略有小成
|
去年我也在這里問過這個問題,涂裝線上用到的吧,剛好這兩天有個朋友介紹做這方面的不過還要帶要測量光柵測量工件寬度,控制伺服定位。開價5000人家說貴了,那他自已做吧。 樓主留言:是涂裝線 我這個更簡單啊 不用光柵 因為不需要用伺服 |
---|---|
|
周家大少
辛辛苦苦也不過是為了養家糊口!
級別: 工控俠客
|
要用到位移和變址尋址,思路理清后很簡單的 |
|
---|---|---|
|
靜夜思飄
級別: 略有小成
|
這玩意移位指令應該沒用,因為不確定噴漆處和讀編碼處中間隔的工件個數。 自己胡亂給個建議,有木有用自己考慮。 設一個數組或固定數據區域作為儲存編碼的數據區,如果一個16位就能儲存一個編碼的話,那么可以設置偶數字儲存工件開始編碼,緊接的奇數字儲存這個工件的結束編碼。亢余量做足就好,前面讀取處直接就這么簡單的工作,然后將此數據區的開始指針傳送給后面噴漆,因為編碼是在傳送鏈上,后面只需根據從數據區讀取的編碼就可以進行噴漆工作。然后跟一個語句清除已經噴漆的數據,我想既然是噴漆工作,工件在輸送鏈上應該有足夠的時間去做足這些工作。甚至都不用傳輸數據區具體的指針,直接后續根據傳輸鏈上的編碼位置去搜索數據區然后找到最接近位置都來得及。 |
---|---|
|