鵝卵石
廣交天下朋友!!1
級別: 略有小成
|
向各位大俠求教: 背景: 用一電機控制設備上下位移,電機上的編碼器根據上下運動,通過I0.0, I0.1發出脈沖信號,Q0.0正轉,Q0.1 反轉,Q0.2高速,Q0.3低速,此四個輸出接到西門子變頻器上,程序根據脈沖數和方向計算運動部件的位置,運動方向和運動距離 問題:1、 若采用HSCO,該用模式6(帶有增減計數脈沖的雙向計數器)還是改用模式9(A,B相正交計數) 2、在控制字節設置中,SMB37.5 是允許寫入初始值,此處若設置為1,是允許寫入,但寫入時需要條件,還是系統默認,不需條件,只是在計數器(重新)開始計數時用,計數過程中不再影響當前計數值;此處牽扯掉電后計數初值問題(設備已經調試幾天,為掉電從零開始計數問題很頭痛,我需要掉電后按掉電前的值繼續往下計數) 3、再次提一下上面的問題,高速計數器掉電后我需要從掉電前的計數值開始計數,這個能實現嗎,用的是S7-200 CPU 226 CN,我原來設置:smb37:1111 1100 16#FC,模式9(模式是不是不合適),初始值SMD38設置為0,設置完畢將計數值傳送到VD200,可是掉電重啟后發現VD200變為零且計數從零開始,我需要從原來計數值開始,如何解決,跪求!!! 4、高速計數器可不可以不與中斷同時用,即只用高速計數器的計數功能來獲取計數值 跪求各位高手大俠幫助!!!!! |
|
---|---|---|
|
鵝卵石
廣交天下朋友!!1
級別: 略有小成
|
|
|
---|---|---|
|
烏龜船長
級別: 網絡英雄
|
這個你看看那,也是我在網上看到的一個,轉給你了。S7 200的 |
---|---|
|
自動機器
級別: 略有小成
|
這個簡單啊,你AB相的編碼器用AB相計數器比較方便,計數值在電機正反轉自動增減,這樣就可以得到實時的位置值。S7-200的PLC在執行HSC指令時檢查SMB37的每個位,不執行HSC指令時是不檢查的SMB的位的, 至于保持計數器的當前值,你VD200要設置成掉電保持。程序不停的將HSC的當前值傳送到VD200里面,在PLC上電是將VD200里的值傳回到計數器的當前值寄存器里面,SMB37里面要設置好更新當前值位,原后執行HSC指令就行了,當然你同時要注意這幾個指令的執行順序。 |
---|---|
|