精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

運動控制器PSO位置同步輸出(二):PSO模式詳解

正運動技術 ? 來源:正運動技術 ? 作者:正運動技術 ? 2022-07-21 16:26 ? 次閱讀

本節我們主要去講解一下多種PSO模式原理和使用的講解,用戶可根據實際需求靈活選擇觸發模式。

poYBAGLZBeGAZuxyAAFAKp19gj4685.pngZMC460N雙總線控制器


一、硬件說明

硬件選型的首要要求是支持PSO功能,再分析PSO的應用場合和軸數等選擇具體的型號。本例以ZMC460N雙總線運動控制器為例展開介紹。

PSO功能用于控制激光或點膠閥的高速開/關,直線插補和平面圓弧插補功能用于完成加工軌跡,連續插補功能用于讓多段插補的速度連續,提供加工的效率。

ZMC460N雙總線控制器

ZMC460N雙總線控制器是正運動技術推出的新一代網絡60軸運動控制器(支持EtherCAT總線軸+RTEX總線軸+脈沖軸混合使用),自帶六個脈沖軸接口(包含差分脈沖輸出和差分編碼器輸入),通用輸出口支持配置為單端脈沖輸出,通用輸入口支持配置成單端編碼器輸入。脈沖輸出頻率最大可達10MHZ,EtherCAT總線的通訊周期最快可達250微秒。

支持12路PSO輸出,輸出口獨立,支持12路同時輸出,每個系統周期可比較輸出多次,應用場景更為豐富。

poYBAGLZBxCAXJ-uAAkOWXIrkEU599.pngZMC460N雙總線控制器架構圖

PSO功能主要通過“HW_PSWITCH2”硬件位置比較輸出指令和“HW_TIMER”硬件定時指令實現,下面來講解一下這兩個指令的詳細用法。

二、指令說明

1.HW_PSWITCH2--硬件位置比較輸出

(1)指令說明

硬件位置比較輸出功能必須使用支持硬件比較輸出的輸出口,例如ZMC460N可以使用OUT0-11口。

支持比較脈沖軸的位置、編碼器的反饋位置和總線軸的位置。比較主軸帶編碼器輸入時,自動使用編碼器位置來觸發,不帶編碼器的場合便比較脈沖輸出。可以使用MOVEOP_DELAY參數來調整輸出準確時刻。

(2)注意事項

ZMC460N每個系統周期內可以比較一次,但每個周期內單個輸出口只能比較一次,系統周期通過“SERVO_PERIOD”查詢,當系統周期過大時,而比較輸出脈沖寬度小于系統周期時將會導致輸出異常。

“HW_PSWITCH2”與“MOVE_OP”精準使用同樣的硬件資源,不建議在同一個通道同時使用,可以在不同的通道同時使用。

調用TABLE位置數據時,在所有比較點完成前不要修改。

使用脈沖型電機時只有ATYPE為4時才是比較反饋位置(MPOS),默認出廠的ATYPE為1或7比較的是命令位置(DPOS)。

HW_PSWITCH2沒有比較完所有點的話,一定要設置mode值為2,通過HW_PSWITCH2(2)指令停止并刪除沒有完成的比較點,否則后面此輸出通道會工作不正常,使用前需要調用此模式,清除可能沒有比較完成的數據。

(3)指令語法

HW_PSWITCH2(mode, [...])

A.Mode模式一覽表:

poYBAGLZB4eAIMQ_AAClkGJc5lg658.png

B.HW_PSWITCH2的模式可以總結為兩大類:

a.采用TABLE表存儲的數據點來進行比較,脈沖寬度由數據的間隔和運動速度共同決定,所以比較前先要將數據寫入“TABLE”中,然后再調用。

相關模式:1,3,7,25,26,35,36。

poYBAGLZB5yAdUl_AAA84pOopBs408.png

b.等距周期比較,無需借助“TABLE”,“HW_PSWITCH2”設置好觸發的比較的位置、比較周期數,“HW_TIMER'設置每次觸發比較輸出脈沖的寬度,這類模式參數設置相對多一些,多個指令的組合也可實現變化距離的輸出。

相關模式:6。模式5既不需要TABLE也不需要“HW_TIMER”便可實現等距周期比較。、

pYYBAGLZB7CAST06AACLFvzL76E449.png

Mode模式詳解參加下文,mode模式不同,后面需要填寫的參數也不同。

(4) Mode=1:單軸比較

HW_PSWITCH2(1,opnum,opstate,tablestart,tableend[,direction])

mode:1-啟動比較器

opnum:對應的輸出口

opstate:第一個比較點的輸出狀態

tablestart:第一個比較點絕對坐標所在TABLE編號

tableend:最后一個比較點絕對坐標所在TABLE編號

direction:第一個點判斷方向,0坐標負向,1坐標正向,-1不使用方向

⊙說明: 比較點寫在TABLE中,每到達一個比較位置OP反轉一次。

pYYBAGLZB8GAVPr6AACl08qmpJE358.png

(5) Mode=2:清除比較點

HW_PSWITCH2(2)

mode:2-停止并刪除沒完成的比較點

⊙說明: 使用前需要調用此模式,清除可能沒有比較完成的數據。使用過程中也可以發送此命令,停止比較。

(6) Mode=3: 矢量比較方式

HW_PSWITCH2(3, opnum, opstate, tablestart, tableend)

mode:3-啟動比較器

opnum:對應的輸出口

opstate:第一個比較點的輸出狀態

tablestart:第一個比較點VECTOR_MOVED坐標所在TABLE編號

tableend:最后一個比較點VECTOR_MOVED坐標所在TABLE編號

⊙ 說明:比較點寫在TABLE中,每到達一個比較矢量位置OP反轉一次。

使用矢量距離比較時,與“VECTOR_MOVED”進行比較,建議連續運動前設置“VECTOR_MOVED”初始值。

poYBAGLZB9OAaBENAACqzfc8ciM491.png

(7) Mode=4: 矢量比較方式,單個比較點

HW_PSWITCH2(4, opnum, opstate, vectstart)

mode:4-啟動比較器

opnum:對應的輸出口

opstate:第一個比較點的輸出狀態

vectstart:比較點VECTOR_MOVED當前運動距離

⊙ 說明: 到達指令設置的一個比較矢量位置OP反轉,比較結束。

pYYBAGLZCBCAFkdmAABQoRjYiWY917.png

(8) Mode=5: 矢量比較方式, 周期脈沖模式

HW_PSWITCH2(5,opnum, opstate, vectstart, repes, cycledis, ondis)

mode:5-啟動比較器

opnum:對應的輸出口

opstate:第一個比較點的輸出狀態,認為是有效狀態,反之認為無效狀態

vectstart:比較點VECTOR_MOVED當前運動距離

repes:重復周期,個周期內比較兩次,先輸出有效狀態,再輸出無效狀態

cycledis:周期距離,每隔這個距離輸出opstate, ondis后還原為無效狀態

ondis:輸出有效狀態的距離,(cycledis- ondis)為無效狀態距離

⊙說明:此模式無需TABLE,坐標均參考矢量坐標,從vectstart的位置開始比較,每隔cycledis距離觸發一次比較,重復比較的周期為repes,每次觸發比較信號后,保持ondis距離后關閉信號,等待下一周期的觸發。

poYBAGLZCGSAYMF3AABzVkrqJ0w055.png

(9) Mode=6: 矢量比較方式, 周期脈沖模式

⊙與HW_TIMER一起使用

HW_PSWITCH2(6, opnum, opstate, vectstart, repes, cycledis)

mode:6-啟動比較器

opnum:對應的輸出口

opstate:第一個比較點的輸出狀態

vectstart:比較點VECTOR_MOVED當前運動距離

repes:重復周期,一個周期只比較一次

cycledis:周期距離,每隔這個距離輸出一次

⊙ 說明: 此模式無需TABLE,坐標均參考矢量坐標,從vectstart的位置開始比較,每隔cycledis距離觸發一次比較,重復比較的周期為repes,每次觸發比較信號后,保持信號的脈沖寬度由“HW_TIMER”指令設置。

“HW_TIMER”可以控制到達一個觸發點控制OP反轉多次,“HW_TIMER”周期完成等待下一周期的觸發。

poYBAGLZCHuACUJGAACWudqAmOk956.png

(10) Mode=7: 矢量比較方式

⊙ 與HW_TIMER一起使用

HW_PSWITCH2(7,opnum,opstate, tablestart, tableend [, optimeus, optimes, cyctimeus])

mode:7-啟動比較器,opstate不翻轉,方便與HW_TIMER配合使用

opnum:對應的輸出口

opstate:第一個比較點的輸出狀態

tablestart:第一個比較點VECTOR_MOVED坐標所在TABLE編號

tableend:最后一個比較點VECTOR_MOVED坐標所在TABLE編號

[以下參數和HW_TIMER二選一,HW_TIMER單獨寫可以動態調整參數]

optimeus:動態調整HW_TIMER的有效時間

optimes:動態調整HW_TIMER的觸發脈沖數,0-不輸出

cyctimeus:動態調整HW_TIMER的脈沖周期時間

⊙ 說明: 比較點寫在TABLE中,坐標均參考矢量坐標,每到達一個TABLE比較矢量位置觸發OP,此時OP的脈沖寬度和每次觸發的比較次數由HW_TIMER控制;到達下一個TABLE位置,OP再次觸發。

poYBAGLZCIuAFP3PAAGaTztimX0098.png

(11) Mode= 25、26:2D比較

2D比較: 每2個連續table存儲一個XY坐標點,實現多點比較,每個比較點輸出狀態翻轉。

25和35模式類似;26和36模式類似,需與HW_TIMER配合使用。

A.HW_PSWITCH2(25, opnum, opstate, maxerr, num, tablepos)

mode:25,二維的比較模式

opnum:對應的輸出口

opstate:第一個比較點的輸出狀態

maxerr:比較位置每個軸左右的脈沖偏差,進入偏差范圍后開始比較,此參數不能寫0

num:table里面存儲的比較點坐標個數

tablepos:第一個比較點坐標所在table編號

⊙ 說明:比較點寫在TABLE中,兩個連續的TABLE數據組成一個2D坐標,每到達一個比較位置OP反轉一次。

示意中藍色段表示OP開啟,各類常用插補運動均支持比較,比較點坐標一定的要準確,否則會影響后面點的比較。

poYBAGLZCJqAFOOoAAECLrIH-xI827.png

B.HW_PSWITCH2(26, opnum, opstate, maxerr, num, tablepos, [ophwtimeus, ophwtimes, hwcyctimeus])

mode:26,二維的比較模式

opnum:對應的輸出口

opstate:第一個比較點的輸出狀態

maxerr:比較位置每個軸左右的脈沖偏差,進入偏差范圍后開始比較,此參數不能寫0

num:table里面存儲的比較點坐標個數

tablepos:第一個比較點坐標所在table編號

[以下參數和HW_TIMER二選一,HW_TIMER單獨寫可以動態調整參數]

ophwtimeus:脈沖時間

ophwtimes:脈沖個數

hwcyctimeus:脈沖周期

⊙ 說明:比較點寫在TABLE中,兩個連續的TABLE數據組成一個2D坐標,每到達一個比較位置觸發OP,每個比較點OP反轉的次數和反轉周期由HW_TIMER設置;到達下一個TABLE位置,OP再次觸發。類似模式7和模式36。

poYBAGLZCLSACsx2AAExqWfLuYE998.png

(12) Mode= 35、36:3D比較

3D比較: 每3個連續TABLE存儲一個XYZ坐標點,實現多點比較,每個比較點輸出狀態翻轉。

25和35模式類似;26和36模式類似,需與HW_TIMER復用。

A.HW_PSWITCH2(35, opnum, opstate, maxerr, num, tablepos)

mode:35,三維的比較模式

opnum:對應的輸出口

opstate:第一個比較點的輸出狀態

maxerr:比較位置每個軸左右的脈沖偏差,進入偏差范圍后開始比較,此參數不能寫0

num:table里面存儲的比較點坐標個數

tablepos:第一個比較點坐標所在table編號

⊙ 說明:比較點寫在TABLE中,三個連續的TABLE數據組成一個3D坐標,每到達一個比較位置OP反轉一次。 類似模式25。

pYYBAGLZCNGAKVrRAAGnraeE1uI336.png

B.HW_PSWITCH2(36, opnum, opstate, maxerr, num, tablepos, [ophwtimeus, ophwtimes, hwcyctimeus])

mode:35,36,三維的比較模式

opnum:對應的輸出口

opstate:第一個比較點的輸出狀態

maxerr:比較位置每個軸左右的脈沖偏差,進入偏差范圍后開始比較,此參數不能寫0

num:table里面存儲的比較點坐標個數

tablepos:第一個比較點坐標所在table編號

[以下參數和HW_TIMER二選一,HW_TIMER單獨寫可以動態調整參數]

ophwtimeus:脈沖時間

ophwtimes:脈沖個數

hwcyctimeus:脈沖周期

⊙ 說明:比較點寫在TABLE中,三個連續的TABLE數據組成一個3D坐標,每到達一個比較位置觸發OP,每個比較點OP反轉的次數和反轉周期由HW_TIMER設置;到達下一個TABLE位置,OP再次觸發。類似模式26和模式7。

poYBAGLZCN6AFRTzAAIp58ggM-w713.png

→maxerr脈沖偏差說明

2D模式下設置XY坐標需要準確,軸運動不到準確的TABLE比較點時將無法觸發,3D模式同理。故多維比較模式引入一個特殊參數maxerr位置范圍偏差,左右范圍均有效。

即實際位置坐標點與TABLE的比較點的差值在maxerr范圍內便有效,觸發時刻為當前位置進入比較點的觸發范圍內便觸發比較,比較范圍示意圖如下,注意:maxerr的單位為脈沖數的偏差,不是距離的偏差。

poYBAGLZCPyASkDWAAB0n1aQU2Q210.png

2.HW_TIMER--硬件定時

硬件定時器,用于硬件比較輸出后一段時間后還原電平。“HW_TIMER”只有1個,每次調用會強制停止之前的調用。

不使用或比較完成時使用“HW_TIMER(0)”關閉。

HW_TIMER(mode, cyclonetime, optime, reptimes, opstate, opnum )

mode:0停止,2-啟動

cyclonetime:周期時間,us單位

optime:有效時間,us單位

reptimes:重復次數,啟動模式,reptimes =0時,軟關閉HW_TIMER,原來的脈沖沒有完成的,會繼續輸出完成

opstate:輸出缺省狀態,輸出口變為非此狀態后開始計時

opnum:輸出口編號,必須能硬件比較輸出的口

⊙ 說明:參數設置可參考下方示意圖,此指令的效果是固定時間周期輸出,設置每個周期的有效輸出的時間和重復輸出的次數。

poYBAGLZCXaAOuCdAAFmppKKXc0760.png

→不同模式特點的比較:

pYYBAGLZCYCALwiPAABXbnaksP4845.png

配合“HW_TIMER”使用的模式,脈沖輸出的寬度由“HW_TIMER”指令指定。

絕對坐標是指當前位置相對于原點的坐標,矢量坐標是指,軸回原點之后,運動到當前位置的總距離,矢量坐標只會不斷累計,使用前最好手動清零。

例如軸0回零后先正向運動200,在反向運動100,此時的絕對坐標為100,但矢量坐標為300,若執行兩軸插補運動,則矢量坐標為當前插補運動的合成軌跡的矢量,故矢量比較的模式,支持多軸的場合。

⊙帶編碼器反饋自動比較MPOS,不帶編碼器比較DPOS。

三、調試例程

以上模式的實現例程如下,可以自由觸發不同的模式,并打開示波器,直觀的觀察PSO的輸出隨運動的變化情況。

⊙注意: 調用“HW_PSWITCH2”觸發比較輸出前,先發送“HW_PSWITCH2(2)”停止并刪除沒有完成的比較點,防止本次的輸出異常。并且使用了硬件定時器“HW_TIMER”之后,建議發送“HW_TIMER(0)”關閉定時器。

例程如下:

     RAPIDSTOP(2)
     WAIT IDLE(0)
     WAIT IDLE(1)
     WAIT IDLE(2)


     '基礎軸參數設置
     BASE(0,1,2)     '選擇XY軸
     ATYPE=1,1,1     '1-脈沖軸類型,比較DPOS;4-帶編碼器反饋軸類型,比較編碼器的反饋位置MPOS
     UNITS=100,100,100
     SPEED=100,100,100
     ACCEL=1000,1000,1000
     DECEL=1000,1000,1000
     MERGE=ON,ON,ON
     SRAMP=50,50,50    's曲線速度平滑
     OP(0,OFF)     '初始化關閉PSO使用的輸出口
     VECTOR_MOVED = 0  '插補矢量距離清0
     global g_cmd   '比較模式選擇
     g_cmd = 0


     while 1       '測試所有比較模式
        if g_cmd = 1 THEN
           g_cmd = 0
           Clean_Pos()   '位置清零
           Test_Mode1()   '調用比較 
        elseif g_cmd = 3 THEN
           g_cmd = 0
           Clean_Pos()
           Test_Mode3()
        elseif g_cmd = 4 THEN 
           g_cmd = 0
           Clean_Pos()
           Test_Mode4() 
        elseif g_cmd = 5 THEN 
           g_cmd = 0
           Clean_Pos()
           Test_Mode5()
        elseif g_cmd = 6 THEN 
           g_cmd = 0
           Clean_Pos()
           Test_Mode6()
        elseif g_cmd = 7 THEN 
           g_cmd = 0
           Clean_Pos()
           Test_Mode7() 
        elseif g_cmd = 25 THEN 
           g_cmd = 0
           Clean_Pos()
           Test_Mode25()
        elseif g_cmd = 26 THEN 
           g_cmd = 0
           Clean_Pos()
           Test_Mode26()
        elseif g_cmd = 35 THEN 
           g_cmd = 0
           Clean_Pos()
           Test_Mode35()
        elseif g_cmd = 36 THEN 
           g_cmd = 0
           Clean_Pos()
           Test_Mode36()
        endif
     wend


     GLOBAL SUB Clean_Pos()
        RAPIDSTOP(2) '軸停止
        WAIT IDLE(0)
        WAIT IDLE(1)
        WAIT IDLE(2) 
        DPOS=0,0,0   '將當前位置設置為0 
        MPOS=0,0,0
        OP(0,OFF)   '輸出關閉
     END SUB


     GLOBAL SUB Test_Mode1()
        TABLE(0,100,150,250,300,400,450) 
        BASE(0)
        'hw_pswitch2有自己的緩沖區, 當前軸目前還剩多大的緩沖區可以通過?hw_pswitch2(n)查詢
        HW_PSWITCH2(2) '停止并刪除沒有完成的比較點
        HW_PSWITCH2(1, 0, 1, 0, 5,1)   '啟動比較輸出,模式1,輸出口0,第一個比較點輸出ON,table地址0-5,正向運動比較 
        TRIGGER         '觸發示波器 
        MOVE(500)
     END SUB


     GLOBAL SUB Test_Mode3()
       TABLE(0,100,150,250,300,400,450) 
        HW_TIMER(0)
        BASE(0)
        VECTOR_MOVED(0) = 0   '設置當前的矢量位置
        HW_PSWITCH2(2)       '停止并刪除沒有完成的比較點
        '矢量的變化不用考慮單個電機方向的變化, 矢量永遠是增大的
        HW_PSWITCH2(3, 0, 1, 0, 5) '啟動比較輸出,模式3,輸出口0,第一個比較點輸出ON,table地址0-5(矢量坐標)
        TRIGGER         '觸發示波器抓圖
        MOVEABS(300,200)
        MOVEABS(400,0) 
     END SUB


     GLOBAL SUB Test_Mode4() 
        HW_TIMER(0)
        BASE(0)
        VECTOR_MOVED(0) = 0   '設置當前的矢量位置
        HW_PSWITCH2(2)       '停止并刪除沒有完成的比較點
        HW_PSWITCH2(4, 0, 1, 100)   '啟動比較輸出,模式4,輸出口0,第一個比較點輸出ON,從矢量位置100開始比較,僅比較1次就結束 
        TRIGGER         '觸發示波器抓圖
        MOVEABS(100,120)
     END SUB


     GLOBAL SUB Test_Mode5() 
        HW_TIMER(0)
        BASE(0)
        VECTOR_MOVED(0) = 0   '設置當前的矢量位置, 只能在電機idle的情況下設置
        HW_PSWITCH2(2)       '停止并刪除沒有完成的比較點
        HW_PSWITCH2(5, 0, 1, 50, 8, 30, 5) '啟動比較輸出,模式5,輸出口0,第一個比較點輸出ON,從矢量位置50開始比較,比較8次,間隔
距離30觸發比較,比較觸發后運動距離5關閉
        TRIGGER         '觸發示波器抓圖
        MOVEABS(100,100)
        MOVEABS(0, 200)
     END SUB


     GLOBAL SUB Test_Mode6()
        HW_TIMER(0)
        BASE(0)
        VECTOR_MOVED(0) = 0      '設置當前的矢量位置, 只能在電機idle的情況下設置
        HW_PSWITCH2(2)       '停止并刪除沒有完成的比較點 
        HW_PSWITCH2(6, 0, 1, 50, 15, 30) '啟動比較輸出,模式6,輸出口0,第一個比較點輸出ON,從矢量位置50開始比較,比較15次,間隔距離30觸發比較
        HW_TIMER(2, 100000, 60000, 1, OFF, 0) '有效電平時間60000us,每次觸發輸出1次
        TRIGGER     '觸發示波器抓圖
        MOVEABS(100,100)  '走一個矩形
        MOVEABS(0, 200)
        MOVEABS(-100,100)
        MOVEABS(0, 0) 
        WAIT IDLE 
        HW_TIMER(0)      '停止硬件定時器
     END SUB


     GLOBAL SUB Test_Mode7()
        TABLE(0,100,150,250,300,400,450) 
        BASE(0)
        VECTOR_MOVED(0) = 0   '設置當前的矢量位置, 只能在電機idle的情況下設置
        HW_PSWITCH2(2)       '停止并刪除沒有完成的比較點 
        HW_PSWITCH2(7, 0, 1, 0, 5)  '啟動比較輸出,模式7,輸出口0,第一個比較點輸出ON,table地址0-5(矢量坐標)
        HW_TIMER(2, 50000, 30000, 2, OFF, 0) '有效電平時間30000us,每次觸發輸出2次 
        TRIGGER         '觸發示波器抓圖
        MOVEABS(200,200)
        MOVEABS(300,0)
        WAIT IDLE 
        HW_TIMER(0)      '停止硬件定時器
     END SUB


     GLOBAL SUB Test_Mode25()
        TABLE(0, 0,0, 50,50, 100,100, 50,150, 0,200, -50,150, -100,100, -50,50) 
        HW_PSWITCH2(2)   '停止并刪除沒有完成的比較點 
        HW_PSWITCH2(25, 0, 0, 10, 8, 0) '啟動比較輸出,模式25,輸出口0,第一個比較點輸出ON,脈沖偏差10,table地址0-15,8個坐標
        TRIGGER               '觸發示波器抓圖
        MOVEABS(100,100)           '走一個矩形
        MOVEABS(0, 200)
        MOVEABS(-100,100)
        MOVEABS(0, 0)
     END SUB


     GLOBAL SUB Test_Mode26()
       TABLE(0, 0,0, 50,50, 100,100, 50,150, 0,200, -50,150, -100,100, -50,50)
        HW_TIMER(0)
        HW_PSWITCH2(2)   '停止并刪除沒有完成的比較點 
        HW_PSWITCH2(26, 0, 1, 10, 8, 0) '啟動比較輸出,模式26,輸出口0,第一個比較點輸出ON,脈沖偏差10,table地址0-15,8個坐標
        HW_TIMER(2, 100000, 50000, 2, OFF, 0)  '有效電平時間50000us,每次觸發輸出2次 
        TRIGGER     '觸發示波器抓圖
        MOVEABS(100,100)  '走一個矩形
        MOVEABS(0, 200)
        MOVEABS(-100,100)
        MOVEABS(0, 0) 
        WAIT IDLE 
        HW_TIMER(0)      '停止硬件定時器
     END SUB


     GLOBAL SUB Test_Mode35()
        TABLE(0, 20,20,20, 40,40,40, 70,70,70, 100,100,100, 140,140,140, 180,180,180) 
        BASE(0,1,2)
        HW_PSWITCH2(2)   '停止并刪除沒有完成的比較點 
        HW_PSWITCH2(35, 0, 1, 10, 6, 0)   '啟動比較輸出,模式35,輸出口0,第一個比較點輸出ON,脈沖偏差10,table地址0-18,6個坐標 
        TRIGGER       '觸發示波器抓圖
        MOVEABS(200,200,200) '走直線
     END SUB


     GLOBAL SUB Test_Mode36()
        TABLE(0, 20,20,20, 40,40,40, 70,70,70, 100,100,100, 140,140,140, 180,180,180)
        BASE(0,1,2)
        HW_PSWITCH2(2)     '停止并刪除沒有完成的比較點 
        HW_TIMER(2, 100000, 50000, 1, OFF, 0)  '有效電平時間50000us,每次觸發輸出1次
        HW_PSWITCH2(36, 0, 1, 10, 6, 0)   '啟動比較輸出,模式36,輸出口0,第一個比較點輸出ON,脈沖偏差10,table地址0-18,6個坐標 
        TRIGGER       '觸發示波器抓圖
        MOVEABS(200,200,200)  '走直線 
        WAIT IDLE 
        HW_TIMER(0)        '停止硬件定時器
     END SUB


四、不同模式波形

1.Mode=1

(1)比較點坐標: 6個

TABLE(0, 100,150,250,300,400,450)

(2)啟動比較輸出: 模式1,輸出口0,第一個比較點輸出ON,table地址0-5,正向運動比較。

HW_PSWITCH2(1, 0, 1, 0, 5, 1)

(3)示波器采樣波形: 軸0每到達一個比較的位置,OP(0)觸發反轉一次,直到所有的TABLE的比較完成,OP保持最后一次反轉的狀態。

poYBAGLZCqiAVNvYAACOB9HZ-i0210.png

XY模式下能明顯看出輸出隨軸0運動位置的變化。

poYBAGLZCraAe2RhAAB1FeQ64Os919.png

2.Mode=3

(1)比較點坐標: 6個矢量位置

TABLE(0, 100,150,250,300,400,450)

(2)啟動比較輸出: 模式3,輸出口0,第一個比較點輸出ON,table地址0-5(矢量坐標)。

HW_PSWITCH2(3, 0, 1, 0, 5)

(3)示波器采樣波形: 軸0軸1插補的矢量合成位置VECTOR_MOVED(0)每到達一個比較的位置,OP(0)觸發反轉一次,,直到所有的TABLE的比較完成,OP保持最后一次反轉的狀態。

pYYBAGLZCyCAC7bQAAC0qdxoVFE757.png

XYZ模式下能明顯看出輸出隨插補運動位置的變化。

pYYBAGLZCyqAH6VaAACf8ngIIXQ783.png

3.Mode=4

不使用TABLE。

(1)啟動比較輸出: 模式4,輸出口0,第一個比較點輸出ON,比較點矢量坐標100。

HW_PSWITCH2(4, 0, 1, 100)

(2)示波器采樣波形: 軸0軸1插補的矢量合成位置VECTOR_MOVED(0)到達100矢量比較位置,OP(0)觸發反轉一次,比較完成。

pYYBAGLZCz-ATsMIAACRRqc4KJM042.png

XYZ模式下能明顯看出輸出隨插補運動位置的變化。

poYBAGLZC0mAC790AACGYC2lHPk999.png

4.Mode=5

不使用TABLE。

(1)啟動比較輸出: 模式5,輸出口0,第一個比較點輸出ON,從矢量位置50開始比較,比較8次,間隔距離30觸發比較,比較觸發后運動距離5關閉。

HW_PSWITCH2(5, 0, 1, 50, 8, 30, 5)

(2)示波器采樣波形: 軸0軸1插補的矢量合成位置VECTOR_MOVED(0)到達一個矢量比較位置50,OP(0)觸發反轉一次,后續每間隔30比較一次打開OP,再運動5個距離關閉OP,重復比較8次后結束比較。

pYYBAGLZC1uANG7tAAC5qSCgBCc802.png

XYZ模式下能明顯看出輸出隨插補運動位置的變化。

poYBAGLZC2iAXva9AACb8Xm-0zc086.png

5.Mode=6

不使用TABLE。

(1)啟動比較輸出: 模式6,輸出口0,第一個比較點輸出ON,從矢量位置50開始比較,比較15次,間隔距離30觸發比較

HW_PSWITCH2(6, 0, 1, 50, 15, 30)

(2)輸出脈沖寬度: 硬件定時周期100000us,輸出脈沖的寬度為60000us,每次比較輸出1次脈沖。

HW_TIMER(2, 100000, 60000, 1, OFF, 0)

(3)示波器采樣波形: 軸0軸1插補的矢量合成位置VECTOR_MOVED(0)到達一個矢量比較位置50,OP(0)觸發反轉一次,后續每間隔30比較一次打開OP,60000us后關閉OP,重復比較15次后結束比較。

poYBAGLZC3WAL4kyAACzI4FR6Yk916.png

XYZ模式下能明顯看出輸出隨插補運動位置的變化。

pYYBAGLZC4KAUpvJAACgRMf0Vmk986.png

6.Mode=7

(1)比較點坐標: 6個矢量位置

TABLE(0 ,100,150,250,300,400,450)

(2)啟動比較輸出: 模式7,輸出口0,第一個比較點輸出ON,TABLE地址0-5(矢量坐標)

HW_PSWITCH2(7, 0, 1, 0, 5)

(3)輸出脈沖寬度: 硬件定時周期50000us,輸出脈沖的寬度為30000us,每次比較輸出2次脈沖。

HW_TIMER(2, 50000, 30000, 2, OFF, 0)

(4)示波器采樣波形: 軸0軸1插補的矢量合成位置VECTOR_MOVED(0)每到達一個TABLE位置OP(0)觸發一次,每次觸發輸出 2次周期50000us,有效輸出30000us的脈沖波后關閉OP,直到所有的TABLE點都比較完成。

pYYBAGLZC5GAWdJTAACvTZy0nX8817.png

XYZ模式下能明顯看出輸出隨插補運動位置的變化。

poYBAGLZC5eAaiVMAACir42-iCg410.png

7.Mode=25

(1)比較點坐標: 8個,占用16個TABLE

TABLE(0, 0,0,50,50,100,100,50,150,0,200,-50,150,-100,100,-50,50)

(2)啟動比較輸出: 模式25,輸出口0,第一個比較點輸出ON,脈沖偏差10,table地址0-15,8個坐標。

HW_PSWITCH2(25, 0, 1, 10, 8, 0)

(3)示波器采樣波形: 軸0軸1每到達一個比較的XY位置,OP(0)觸發反轉一次,直到所有的TABLE點比較完成,OP保持最后一次反轉的狀態。

pYYBAGLZC6eALnTKAACk4DQoOwI015.png

XYZ模式下能明顯看出輸出隨插補運動位置的變化。

pYYBAGLZC66ALNa7AACPoYVvy-o203.png

8.Mode=26

(1)比較點坐標: 8個,占用16個TABLE

TABLE(0, 0, 0, 50, 50, 100,100, 50 , 150 , 0 , 200 , -50 , 150 , -100 , 100 , -50 , 50)

(2)啟動比較輸出: 模式26,輸出口0,第一個比較點輸出ON,脈沖偏差10,table地址0-15,8個坐標。

HW_PSWITCH2(26, 0, 1, 10, 8, 0)

(3)輸出脈沖寬度: 硬件定時周期100000us,輸出脈沖的寬度為50000us,每次比較輸出2次脈沖。

HW_TIMER(2, 100000, 50000, 2, OFF, 0)

(4)示波器采樣波形: 軸0軸1每到達一個TABLE的比較XY位置,OP(0)觸發,每次觸發輸出2次周期100000us,輸出脈沖的寬度為50000us的脈沖波,直到所有的TABLE點比較完成,OP保持最后一次反轉的狀態。

pYYBAGLZC7qAJx8RAACrKtps0vc209.png

XYZ模式下能明顯看出輸出隨插補運動位置的變化。

poYBAGLZC8KAeZGHAACUahWPk1s427.png

9.Mode=35

(1)比較點坐標: 6個,占用18個TABLE

TABLE(0,20 ,20 ,20,40 ,40 ,40,70 ,70 ,70,100 ,100 ,100,140,140,140,180,180,180)

(2)啟動比較輸出: 模式35,輸出口0,第一個比較點輸出ON,脈沖偏差10,table地址0-18,6個坐標

HW_PSWITCH2(35, 0, 1, 10, 6, 0)

(3)輸出脈沖寬度: 硬件定時周期100000us,輸出脈沖的寬度為50000us,每次比較輸出1次脈沖。

HW_TIMER(2, 100000, 50000, 1, OFF, 0)

(4)示波器采樣波形: 軸0軸1軸2每到達一個TABLE的比較XYZ位置,OP(0)觸發反轉一次,直到所有的TABLE點比較完成,OP保持最后一次反轉的狀態。

pYYBAGLZC82Ad_LzAACWpWoKx_8819.png

10.Mode=36

(1)比較點坐標: 6個,占用18個TABLE

TABLE(0 , 20 , 20 , 20, 40 , 40 , 40 , 70 , 70 , 70, 100 , 100 , 100, 140 , 140 , 1 40, 180 , 180 , 180)

(2)啟動比較輸出: 模式36,輸出口0,第一個比較點輸出ON,脈沖偏差10,table地址0-18,6個坐標。

HW_PSWITCH2(36, 0, 1, 10, 6, 0)

(3)輸出脈沖寬度: 硬件定時周期100000us,輸出脈沖的寬度為50000us,每次比較輸出1次脈沖。

HW_TIMER(2, 100000, 50000, 1, OFF, 0)

(4)示波器采樣波形: 軸0軸1軸2每到達一個TABLE的比較XYZ位置,OP(0)觸發,每次觸發輸出1次周期100000us,輸出脈沖的寬度為50000us的脈沖波,直到所有的TABLE點比較完成,OP保持最后一次反轉的狀態。

poYBAGLZC9OAKNr1AACXFrM94_E159.png

本次,正運動技術運動控制器PSO位置同步輸出(二):PSO模式詳解, 就分享到這里。

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 運動控制器
    +關注

    關注

    2

    文章

    393

    瀏覽量

    24655
  • 指令
    +關注

    關注

    1

    文章

    607

    瀏覽量

    35651
  • 總線控制器
    +關注

    關注

    0

    文章

    29

    瀏覽量

    12581
  • PSO
    PSO
    +關注

    關注

    0

    文章

    49

    瀏覽量

    12921
收藏 人收藏

    評論

    相關推薦

    運動控制器PSO位置同步輸出(一):硬件平臺與PSO指令簡介

    ZMC406和ZMC460N這兩款控制器同屬高系列,功能強大,能滿足多種場合的需求,支持直線插補、連續插補、任意圓弧插補、空間圓弧、螺旋插補、電子凸輪、電子齒輪、位置鎖存、同步跟隨、虛擬軸設置、硬件比較
    的頭像 發表于 07-18 13:55 ?2985次閱讀
    <b class='flag-5'>運動</b><b class='flag-5'>控制器</b><b class='flag-5'>PSO</b><b class='flag-5'>位置</b><b class='flag-5'>同步</b><b class='flag-5'>輸出</b>(一):硬件平臺與<b class='flag-5'>PSO</b>指令簡介

    運動控制器PSO視覺飛拍與精準輸出的C++開發(三):維/三維/多軸PSO輸出

    本文主要講解正運動技術多軸PSO維、三維比較輸出兩種模式
    的頭像 發表于 03-08 14:27 ?2247次閱讀
    <b class='flag-5'>運動</b><b class='flag-5'>控制器</b><b class='flag-5'>PSO</b>視覺飛拍與精準<b class='flag-5'>輸出</b>的C++開發(三):<b class='flag-5'>二</b>維/三維/多軸<b class='flag-5'>PSO</b><b class='flag-5'>輸出</b>

    單軸PSO視覺飛拍與精準輸出:EtherCAT超高速實時運動控制卡XPCIE1032H上位機C#開發(七)

    運動技術EtherCAT控制卡在VS平臺采用C#語言實現的各種PSO功能。
    的頭像 發表于 01-03 09:50 ?1004次閱讀
    單軸<b class='flag-5'>PSO</b>視覺飛拍與精準<b class='flag-5'>輸出</b>:EtherCAT超高速實時<b class='flag-5'>運動</b><b class='flag-5'>控制</b>卡XPCIE1032H上位機C#開發(七)

    PSO算法在數控機床交流伺服系統PID參數優化中的應用

    PSO算法在數控機床交流伺服系統PID參數優化中的應用摘要:針對發展高精度數控機床的要求,在數控機床交流伺服控制系統中,本文提出了一種新的永磁同步電機控制策略,即利用粒子群算法對模糊
    發表于 05-17 11:38

    基于PSO優化BP神經網絡的逆運動學求解研究_趙建強

    基于PSO優化BP神經網絡的逆運動學求解研究_趙建強
    發表于 01-31 15:22 ?1次下載

    PSO動態優化的ADRC控制器研究_張墩利

    PSO動態優化的ADRC控制器研究_張墩利
    發表于 01-31 15:22 ?1次下載

    PSO輸出脈沖同步激光時鐘信號的功能解析

    很多激光只能基于內部時鐘信號觸發脈沖輸出。這類激光不能通過一個外部信號(比如Aerotech的位置同步
    的頭像 發表于 03-19 14:57 ?7042次閱讀

    PSO位置同步輸出在激光振鏡加工中的應用

    今天,正運動小助手給大家分享一下運動控制器之ZMC420SCAN的位置同步輸出
    的頭像 發表于 02-24 11:48 ?3559次閱讀
    <b class='flag-5'>PSO</b><b class='flag-5'>位置</b><b class='flag-5'>同步</b><b class='flag-5'>輸出</b>在激光振鏡加工中的應用

    高精度等間距維三維PSO輸出教程

    硬件選型的首要要求是支持PSO功能,再分析PSO的應用場合和軸數等選擇具體的型號。本例以ZMC460N雙總線運動控制器為例展開介紹。 PSO
    的頭像 發表于 07-26 18:12 ?1948次閱讀
    高精度等間距<b class='flag-5'>二</b>維三維<b class='flag-5'>PSO</b><b class='flag-5'>輸出</b>教程

    運動控制器多工位位置比較輸出在轉盤式視覺篩選設備中的應用

    本文通過ZMC430N運動控制器在轉盤式視覺篩選設備中的方案應用,來深入了解正運動技術運動控制器配合機器視覺進行視覺飛拍、
    的頭像 發表于 09-29 14:13 ?1.9w次閱讀
    <b class='flag-5'>運動</b><b class='flag-5'>控制器</b>多工位<b class='flag-5'>位置</b>比較<b class='flag-5'>輸出</b>在轉盤式視覺篩選設備中的應用

    運動控制器八通道PSO的視覺飛拍與精準輸出

    運動技術EtherCAT運動控制器多通道PSO在視覺飛拍與精準輸出上的應用。
    的頭像 發表于 02-17 09:35 ?1080次閱讀
    <b class='flag-5'>運動</b><b class='flag-5'>控制器</b>八通道<b class='flag-5'>PSO</b>的視覺飛拍與精準<b class='flag-5'>輸出</b>

    運動控制器PSO視覺飛拍與精準輸出的C++開發(一):單軸PSO

    本文主要介紹正運動技術EtherCAT控制器在VS平臺采用C++語言實現的各種PSO功能。
    的頭像 發表于 02-23 15:29 ?838次閱讀
    <b class='flag-5'>運動</b><b class='flag-5'>控制器</b><b class='flag-5'>PSO</b>視覺飛拍與精準<b class='flag-5'>輸出</b>的C++開發(一):單軸<b class='flag-5'>PSO</b>

    運動控制器PSO視覺飛拍與精準輸出的C++開發():多軸PSO等距/周期輸出

    本文主要介紹正運動技術EtherCAT控制器在VS平臺采用C++語言實現的各種PSO功能。正運動提供多種PSO
    的頭像 發表于 03-02 14:35 ?803次閱讀
    <b class='flag-5'>運動</b><b class='flag-5'>控制器</b><b class='flag-5'>PSO</b>視覺飛拍與精準<b class='flag-5'>輸出</b>的C++開發(<b class='flag-5'>二</b>):多軸<b class='flag-5'>PSO</b>等距/周期<b class='flag-5'>輸出</b>

    新型XPCIE總線接口的總線運動控制卡XPCIE1028

    運動技術的PCI Express總線運動控制卡XPCIE1028,具備位置鎖存、多維高速硬件位置比較
    發表于 06-19 12:39 ?530次閱讀
    新型XPCIE總線接口的總線<b class='flag-5'>運動</b><b class='flag-5'>控制</b>卡XPCIE1028

    維/三維的多軸PSO視覺飛拍與精準輸出:EtherCAT超高速實時運動控制卡XPCIE1032H上位機C#開發(八)

    本文主要講解多軸PSO維、三維比較輸出兩種模式
    的頭像 發表于 01-08 09:34 ?461次閱讀
    <b class='flag-5'>二</b>維/三維的多軸<b class='flag-5'>PSO</b>視覺飛拍與精準<b class='flag-5'>輸出</b>:EtherCAT超高速實時<b class='flag-5'>運動</b><b class='flag-5'>控制</b>卡XPCIE1032H上位機C#開發(八)