工控網(wǎng)首頁
>

應(yīng)用設(shè)計

>

機(jī)器視覺運動控制一體機(jī)結(jié)構(gòu)體功能上線,助力客戶高效開發(fā)

機(jī)器視覺運動控制一體機(jī)結(jié)構(gòu)體功能上線,助力客戶高效開發(fā)

企業(yè)微信截圖_20230414100018.png

應(yīng)用背景

運動控制器正朝著高速度、高精度、開放式的方向發(fā)展,不僅對運動控制功能精益求精,還增加了視覺相關(guān)的定位、測量、檢測和識別等,多種功能的穿插使用進(jìn)一步增加了在編程設(shè)計代碼時的復(fù)雜程度。

為了給客戶提供更好地軟件框架,簡化程序結(jié)構(gòu)、節(jié)省內(nèi)存空間、提高代碼可讀性。

正運動技術(shù)在VPLC532E機(jī)器視覺運動控制一體機(jī)上增加了結(jié)構(gòu)體功能,方便客戶在大型項目上更高效的進(jìn)行項目開發(fā)。

企業(yè)微信截圖_20230414100047.png
VPLC532E是正運動推出的一款EtherCAT視覺總線控制器,控制器集成了2個千兆以太網(wǎng)以及2個USB3.0、2個USB2.0接口,支持多種工業(yè)相機(jī),支持多種視覺功能和復(fù)雜的運動控制功能。

企業(yè)微信截圖_20230414100106.png


VPLC532E硬件介紹

1.集成RS232、RS485、CAN接口、2路USB3.0、2路USB2.0接口。

2.2路千兆EtherNet、1路百兆EtherCAT、6個本地軸接口。

3.24進(jìn)12出數(shù)字IO,其中4路高速輸出,4路高速輸入、2路模擬量輸出。

4.支持市場主流的USB3.0相機(jī)與GigE相機(jī)。


VPLC532E功能介紹

1.支持最多達(dá)32軸直線插補、任意空間圓弧插補、螺旋插補、樣條插補。
2.支持電子凸輪、電子齒輪、位置鎖存、同步跟隨、虛擬軸等功能。
3.支持硬件比較輸出(HW_PSWITCH2),硬件定時器,運動中精準(zhǔn)輸出。
4.支持脈沖閉環(huán),螺距補償?shù)裙δ堋?/span>
5.支持ZBasic多文件多任務(wù)編程。
6.多種程序加密手段,保護(hù)客戶的知識產(chǎn)權(quán)。
7.掉電檢測,掉電存儲。





實現(xiàn)指令


1.STRUCTURE -- 結(jié)構(gòu)體定義
Structure 結(jié)構(gòu)名稱
       Dim 成員1名稱 [As數(shù)據(jù)類型1]
       ... ...
       Dim 成員n名稱[(數(shù)組長度)] [As數(shù)據(jù)類型1]
End Structure

2.FLASH_WRITEDBL -- flash存儲-double

FLASH_WRITEDBL sect_num [, varname] [, arrayname] [, arrayname(a)] [, arrayname(a,length)]
sect_num:flash塊編號,不同類型不一樣。
varname:變量名。
arrayname:數(shù)組名,可以為TABLE,VR,MODBUS。
a:操作的數(shù)組索引。

length:操作的數(shù)組元素個數(shù)。





結(jié)構(gòu)體應(yīng)用例程


該例程主要是對三軸的機(jī)械參數(shù)和配方文件以結(jié)構(gòu)體框架來實現(xiàn),通過結(jié)構(gòu)體變量嵌套使用來減少變量,降低內(nèi)存占用,提高代碼的可復(fù)用性。

企業(yè)微信截圖_20230414100118.png

1.創(chuàng)建結(jié)構(gòu)體變量

GLOBAL SUB HMI_INIT()
    GLOBAL gv_CurParamNum      '當(dāng)前配方號
        gv_CurParamNum=0
    GLOBAL gv_PageNum        '頁碼
        gv_PageNum=0
    GLOBAL CONST gv_SysMaxAxis=3  '最大軸數(shù)
    GLOBAL STRUCTURE AxisParam
        '''軸參數(shù)
        DIM No        '軸號
        DIM AxisAtype    '軸類型
        DIM AxisDpos    '軸的當(dāng)前位置
        DIM OnePulses    '軸電機(jī)一圈脈沖數(shù)
        DIM AxisPitch    '軸螺距
        DIM AxisSpeed    '軸的運動速度
        DIM AxisAccel    '軸的加速度
        DIM AxisDecel    '軸的減速度
        DIM AxisSramp    '軸的S曲線時間
        DIM AxisLspeed    '軸的起始速度
        DIM FsLimit      '軸正限位
        DIM RsLimit      '軸負(fù)限位
        '''回零參數(shù)
        DIM DatumMode    '軸回零模式
        DIM BackZeroSpeed  '軸的回零速度
        DIM AxisCreep    '軸的回零第2段速度
        DIM DatumIn      '軸原點信號
        DIM FwdIn      '軸正限位信號
        DIM RevIn      '軸負(fù)限位信號
    END STRUCTURE
    GLOBAL STRUCTURE SysParam
        DIM SysAxis(gv_SysMaxAxis) AS AxisParam    '系統(tǒng)軸數(shù)
        DIM FileName(50)              '參數(shù)文件名
    END STRUCTURE
    GLOBAL gs_SysParam(50) AS SysParam    '定義系統(tǒng)結(jié)構(gòu)體變量
    LOCAL lv_i
    FOR lv_i=0 to gv_SysMaxAxis-1
        '初始化軸參數(shù)變量
        gs_SysParam(0).SysAxis(lv_i).No=lv_i
        gs_SysParam(0).SysAxis(lv_i).AxisAtype=0          '軸類型
        gs_SysParam(0).SysAxis(lv_i).OnePulses=8388608        '軸電機(jī)一圈脈沖數(shù)
        gs_SysParam(0).SysAxis(lv_i).AxisPitch=20          '軸螺距
        gs_SysParam(0).SysAxis(lv_i).AxisSpeed=100          '軸的運動速度
        gs_SysParam(0).SysAxis(lv_i).AxisAccel=1000          '軸的加速度
        gs_SysParam(0).SysAxis(lv_i).AxisDecel=1000          '軸的減速度
        gs_SysParam(0).SysAxis(lv_i).AxisSramp=0          '軸的S曲線時間
        gs_SysParam(0).SysAxis(lv_i).AxisLspeed=0          '軸的起始速度
        '初始化回零參數(shù)變量
        gs_SysParam(0).SysAxis(lv_i).DatumMode=104          '軸的回零模式
        gs_SysParam(0).SysAxis(lv_i).BackZeroSpeed=50        '軸的回零速度
        gs_SysParam(0).SysAxis(lv_i).AxisCreep=2          '軸的回零第2段速度
        gs_SysParam(0).SysAxis(lv_i).DatumIn=-1            '軸的回零信號
        gs_SysParam(0).SysAxis(lv_i).FwdIn=-1            '軸的正向硬限位信號
        gs_SysParam(0).SysAxis(lv_i).RevIn=-1            '軸的負(fù)向硬限位信號
        gs_SysParam(0).SysAxis(lv_i).FsLimit=1000          '軸正限位
        gs_SysParam(0).SysAxis(lv_i).RsLimit=-1000          '軸負(fù)限位
        '初始化參數(shù)文件
        gs_SysParam(0).FileName="NONE"                '初始化參數(shù)文件名
    NEXT
    FOR lv_i=0 to 49
        gs_SysParam(lv_i)=gs_SysParam(0)      '初始化其他配方參數(shù)
    NEXT
ENDSUB

2.保存配置文件

GLOBAL SUB SaveCurParam()
    LOCAL iflsflag
    iflsflag=70214733
    FLASH_WRITEDBL gv_CurParamNum,iflsflag,gs_SysParam(gv_CurParamNum)
    ?"下載成功"
ENDSUB

3.讀取配置文件

GLOBAL SUB LoadCurParam()
    LOCAL iflsflag,lv_i,addnum
    FOR lv_i=0 TO 49
        iflsflag=0
        FLASH_READDBL lv_i,iflsflag
        IF iflsflag=70214733 THEN
            FLASH_READ2DBL lv_i,1,gs_SysParam(lv_i)
            addnum=addnum+1
        ENDIF
    NEXT
    ?"上傳完成,上傳配置文件數(shù):"addnum
ENDSUB

4.刪除配置文件

GLOBAL SUB DeleCurParam()
    LOCAL lv_i
    FOR lv_i=0 to gv_SysMaxAxis-1
        '初始化軸參數(shù)變量
        gs_SysParam(gv_CurParamNum).SysAxis(lv_i).No=lv_i
        gs_SysParam(gv_CurParamNum).SysAxis(lv_i).AxisAtype=0        '軸類型
        gs_SysParam(gv_CurParamNum).SysAxis(lv_i).OnePulses=8388608    '軸電機(jī)一圈脈沖數(shù)
        gs_SysParam(gv_CurParamNum).SysAxis(lv_i).AxisPitch=20        '軸螺距
        gs_SysParam(gv_CurParamNum).SysAxis(lv_i).AxisSpeed=100      '軸的運動速度
        gs_SysParam(gv_CurParamNum).SysAxis(lv_i).AxisAccel=1000      '軸的加速度
        gs_SysParam(gv_CurParamNum).SysAxis(lv_i).AxisDecel=1000      '軸的減速度
        gs_SysParam(gv_CurParamNum).SysAxis(lv_i).AxisSramp=0        '軸的S曲線時間
        gs_SysParam(gv_CurParamNum).SysAxis(lv_i).AxisLspeed=0        '軸的起始速度
        '初始化回零參數(shù)變量
        gs_SysParam(gv_CurParamNum).SysAxis(lv_i).DatumMode=104      '軸的回零模式
        gs_SysParam(gv_CurParamNum).SysAxis(lv_i).BackZeroSpeed=50      '軸的回零速度
        gs_SysParam(gv_CurParamNum).SysAxis(lv_i).AxisCreep=2        '軸的回零第2段速度
        gs_SysParam(gv_CurParamNum).SysAxis(lv_i).DatumIn=-1        '軸的回零信號
        gs_SysParam(gv_CurParamNum).SysAxis(lv_i).FwdIn=-1          '軸的正向硬限位信號
        gs_SysParam(gv_CurParamNum).SysAxis(lv_i).RevIn=-1          '軸的負(fù)向硬限位信號
        gs_SysParam(gv_CurParamNum).SysAxis(lv_i).FsLimit=1000        '軸正限位
        gs_SysParam(gv_CurParamNum).SysAxis(lv_i).RsLimit=-1000      '軸負(fù)限位
        '初始化參數(shù)文件
        gs_SysParam(gv_CurParamNum).FileName="NONE"            '初始化參數(shù)文件名
    NEXT
    LOCAL iflsflag
    iflsflag=0
    FLASH_WRITEDBL gv_CurParamNum,iflsflag,gs_SysParam(gv_CurParamNum)
    ?"刪除成功"
ENDSUB

本次,正運動技術(shù)機(jī)器視覺運動控制一體機(jī)結(jié)構(gòu)體功能上線,助力客戶高效開發(fā),就分享到這里

更多精彩內(nèi)容請關(guān)注“正運動小助手”公眾號,需要相關(guān)開發(fā)環(huán)境與例程代碼,請咨詢正運動技術(shù)銷售工程師:400-089-8936。

本文由正運動技術(shù)原創(chuàng),歡迎大家轉(zhuǎn)載,共同學(xué)習(xí),一起提高中國智能制造水平。文章版權(quán)歸正運動技術(shù)所有,如有轉(zhuǎn)載請注明文章來源。
正運動技術(shù)專注于運動控制技術(shù)研究和通用運動控制軟硬件產(chǎn)品的研發(fā),是國家級高新技術(shù)企業(yè)。正運動技術(shù)匯集了來自華為、中興等公司的優(yōu)秀人才,在堅持自主創(chuàng)新的同時,積極聯(lián)合各大高校協(xié)同運動控制基礎(chǔ)技術(shù)的研究,是國內(nèi)工控領(lǐng)域發(fā)展最快的企業(yè)之一,也是國內(nèi)少有、完整掌握運動控制核心技術(shù)和實時工控軟件平臺技術(shù)的企業(yè)。主要業(yè)務(wù)有:運動控制卡_運動控制器_EtherCAT運動控制卡_EtherCAT控制器_運動控制系統(tǒng)_視覺控制器__運動控制PLC_運動控制_機(jī)器人控制器_視覺定位_XPCIe/XPCI系列運動控制卡等等。

審核編輯(
王靜
)
投訴建議

提交

查看更多評論
其他資訊

查看更多

正運動全國產(chǎn)EtherCAT運動控制器ZMC432H用戶手冊

正運動全國產(chǎn)EtherCAT運動控制器ZMC432H

正運動技術(shù)運動控制器如何快速實現(xiàn)單軸/多軸同步跟隨功能?

正運動ECI1408運動控制卡用戶手冊

正運動機(jī)器視覺運動控制一體機(jī)VPLC710