工控康
級別: 略有小成
|
圖片:
圖片:
求指教,1,兩個指令中的K1,K3是如何應用的,他們的含義的是什么。2,movp K1 D32 ; ZP.PSTRT U0 D30 M32 和 movp K3 D280 ; ZP.PSTRT U5 D278 M308中D32與D30和D280與D278 其中有什么聯系嗎。3, 指令ZP.PSTRT2 U5 D278 M308中的D278如何處理,求各位大師指教 |
|
---|---|---|
|
qinchuangyi
級別: 略有小成
|
1。 K1,K3是常數1和3。 2。movp K1 D32 當M150成立時將常數1傳送D32一次; ZP.PSTRT1 U0 D30 M32 :軸1定位指令執行,M200成立,定位模塊U0熱行定位操作,D30是存儲控制數據的首地址。D30是系統區,數據不用設置,D30+1,即D31存儲完成狀態,由系統設置,0:正常完成;除0以外:異常完成(內存儲異常代勞),D30+2,即D32存儲定位編號,由用戶設置: 定位數據編號:1-600; 塊啟動編號:7000-7004; 機器OPR:9001; 快速OPR:9002; 當前值更改:9003; 多軸同時啟動:9004。 M32:指令執行完成標志,指令完成時ON并在一次掃描時間持續;若異常完成,M32+1,即M33也會變成ON。 …………movp K1 D32 ,當M150成立,向D32傳送常數1一次,ZP.PSTRT1 U0 D30 M32,當M200成立,定位模塊U0的軸1(ZP.PSTRT1:軸1,ZP.PSTRT2:軸2……)向定位數據編號為1的執行定位動作,正常完成時,M32 ON;異常完成時,M33 也ON。 下面的自個拽摩。 樓主留言:又是大師啊,麻煩你了,希望以后有不會的能在您請教,謝謝。剩下的我自己琢磨琢磨,QD75內的數據存儲器D也是定義好的嗎 |
---|---|
本帖最近評分記錄: |
qinchuangyi
級別: 略有小成
|
[ZP.PSTRT1 U0 D30 M32],該是定位啟動專用指令,是向定位模塊U0的軸1發送的定位啟動的指令。其中數據處理是這樣的: D30,D32是由PLC向U0發送數據;D30是首地址,不用設置,D32是定位數據編號,其值由1-600,編號1對應的定位地址(絕對系統)/位移量(相對系統)的數據存于2006和2007,2的數據存于2016和2017,3的數據存于2026和2027……;若D32是1,則U0調用2006和2007的數據進行定位,若D32是2,則調用2016和2017的數據定位。 而D31,M32,M33是存儲接收由UO執行定位過程中反饋的信息的,當正常完成定位,向D31寫入0;當異常完成,向D31寫入異常的代碼;當指令執行完成,M32在一個掃描時間內被置ON;異常完成,則M33也被置ON。 例:movp K1 D32 是設置的向定位編號1實行定位的操作,所以在指令ZP.PSTRT U0 D30 M32條件成立前,先向#2006寫入定位數據,比如[DTO K0 K2006 K5000 K1],如果絕對定位系統,則是向原點正方向的5000這個地址實行定位;如果是相對定位系統,則是向當前位置正方向走5000的位移量。 K5000也可以用D?來代替,這樣只要改變D?的數據就可以多點定位。 |
---|---|
本帖最近評分記錄: |
工控康
級別: 略有小成
|
圖片:
就像剛才你說的那樣在執行ZP.PSTRT2之前,先向#8026寫入定位數據D324,D280是定位數據編號=3,所以定位數據寫入#8026. 當指令ZP.PSTRT2 U5 D278 M308完成時M308在一個掃面周期內置ON,異常完成時M309也置ON, |
|
---|---|---|
|
工控康
級別: 略有小成
|
圖片:
圖片:
圖片:
剛才看了一下程序還是有點不明白的地方。前面你所說的:"編號1對應的定位地址(絕對系統)/位移量(相對系統)的數據存于2006和2007,2的數據存于2016和2017,3的數據存于2026和2027……;是不是圖一上所說的,軸一對應編號1對應的定位地址(絕對系統)/位移量(相對系統)的數據存于2006和2007,編號2對應的是2010到2019,編號3對應的時2020到2029,那么在中間圖上MOVP K1 D272 定位數據編號為1,所以寫定位數據寫在#2006, 那么當K=2時,是不是應該寫在2010至2019中間的任意一個都行呢,K=3寫在2020至2029呢,就像圖三所示,軸二的定位編號為3時,定位數據寫入#8026。求解釋,呵呵, |
|
---|---|---|
本帖最近評分記錄:
|
qinchuangyi
級別: 略有小成
|
定位數據需要存儲32位數據,一個緩沖地址只能存儲16位,和PLC存儲器D一樣一個只能存16位,需要存32位就需要兩個一起,所以需要兩個地址存儲,2006為低位,2007為高位。 寫入指令要加D,例:[DMOVP D234 U5/G8026]是將D234,D235的數據寫入#8026,#8027里,將常數寫入D234也是一樣,要用32位指令的,即前面加D。[DMOVP K5000 D234]是將常數以32位的形式寫入D234,D235里。當使用[DMOVP D234 U5/G8026]這樣的指令后,D235就不能再用做存儲其它數據了。 軸1:編號1:2006,2016,編號2:2016,2017……2006為首至7996,每一編號+10,共600組。 而2010-2019中并非每一個都是存儲定位地址的,如:2010是存儲運行形式/控制系統/加減速時間等,2011存儲M代碼/條件數據,2012存儲停頓時間,2013未使用,2014和2015是存儲命令速度的,2016和2017才是存儲定位地址的,2018和2019存儲弧地址。 32位寫入方法要從低位開始寫入,如:[DMOVP D234 U5/G8026]才是正確的,[DMOVP D234 U5/G8027]是不對的。 你在5樓發的第二張圖片就很好理解,在手動模式,回零按鈕M262被輸入時,先在#2006寫入0,#2006是編號1的定位地址,所以在D272寫入了1,再用定位啟動專用指令ZP.PSTRT1執行定位啟動. 第三張圖寫入#8026是軸2的編號2的定位地址,所以用指令ZP.PSTRT2(而不是ZP.PSTRT1). 樓主留言:現在我想我明白了,那既然2006,2007和2016,2017和2026,2027至7996,7997,是編號1到600定位地址存儲區,那么他們都有什么區別嗎,除了編號不一樣除外 |
---|---|
本帖最近評分記錄: |
qinchuangyi
級別: 略有小成
|
一樣。但你可以在每一編號中寫入不同的數據,實現多點定位和不同的速度等的控制。只使用一組數據實現多點定位的話須得在每次定位起動前先更改定位數據,這樣的話寫程序會比較麻煩。 我的QQ:269088868 有興趣加朋友一起學習學習。我是剛學習PLC的,但我是不是做工控的。 你呢?是做工控的嗎? 樓主留言:我只是一個電工而已,上面些都是廠里機器里的程序的截圖,現在正在學習,希望更上一層樓 |
---|---|
本帖最近評分記錄: |