自定義凸輪表: 首先自定義凸輪表聲明: VAR_GLOBAL D1_CAM :MC_CAM_REF; 凸輪表名字映射 D1_xyva :ARRAY[0..4] OF SMC_CAMXYVA; 凸輪表點(diǎn)映射,數(shù)組多少?zèng)Q凸輪點(diǎn)的多少 END_VAR 然后就著手在程序里面編寫(xiě)凸輪表的點(diǎn)坐標(biāo)。 (*CAM1 Table made*) D1_CAM.byType:=3; D1_CAM.strCAMName:='D1_CAM';凸輪表名字 D1_CAM.wCamStructID:=56372; D1_CAM.nElements:=5;凸輪表點(diǎn)數(shù) D1_CAM.xStart:=0;起點(diǎn) D1_CAM.xEnd:=360;終點(diǎn) D1_CAM.pce:=ADR(D1_xyva);凸輪表地址映射 D1_xyva[0].dX:=0; D1_xyva[0].dY:=0; D1_xyva[0].dV:=0; D1_xyva[0].dA:=0; 自定義數(shù)組的數(shù)據(jù)里面必須包含起點(diǎn)(xya【0】)和終點(diǎn)(xEnd). MC_CAM_REF輸入輸出引腳定義: MC_CAM_REF(STRUCT) 這個(gè)數(shù)據(jù)類(lèi)型是庫(kù)“SM3_Basic.library”的一部分。它代表一個(gè)普通CAM并包含如下元素: 組件 | 類(lèi)型 | 初始值 | 描述 | wCamStructID | WORD | 16#DC34 | | byType | BYTE | 0 | 0=多項(xiàng)式的,1=等距的,2=元素最優(yōu)化的,非等距的 3= XYVA(由主設(shè)備位置,從設(shè)備位置,速度,加速度組成的特定點(diǎn)的多項(xiàng)式描述) | byVarType | BYTE | 0 | 1: INT 2: UINT 3: DINT 4: UDINT 5: REAL 6: LREAL | xStart | LREAL | | CAM域。主設(shè)備的起始位置。 | xEnd | LREAL | | CAM域。主設(shè)備的終止位置。 | nElements | INT | | 元素個(gè)數(shù),它依賴于從設(shè)備位置、主設(shè)備/從設(shè)備位置或XYAV點(diǎn)的類(lèi)型編號(hào)。 | nTappets | INT | | 開(kāi)關(guān)動(dòng)作的個(gè)數(shù)。 | pce | POINTER TO BYTE | 0 | 指向SMC_CAMElement或SMC_CamTable的指針。 | pt | POINTER TO SMC_CAMTappet | 0 | 指向SMC_CAMElement或SMC_CamTable的指針。 | dwTappetActiveBits | DWORD | | 內(nèi)部變量。 | strCAMName | STRING | '' | CAM名稱(chēng)。 | byInterpolationQuality | BYTE | 1 | 1 = 線性插補(bǔ)。 3 = 三次方插補(bǔ)。 | bChangedOnline | BOOL | FALSE | 內(nèi)部變量。 |
MC_CAMTABLESELECT(FB) | 類(lèi)型 | 初始值 | 描述 | VAR_IN_OUT | | | | Master | AXIS_REF | | 關(guān)于主軸,見(jiàn)AXIS_REF_SM3。 | Slave | AXIS_REF | | 關(guān)于從軸,見(jiàn)AXIS_REF_SM3。 | CamTable | MC_CAM_REF | | 關(guān)于CAM描述,見(jiàn)MC_CAM_REF | VAR_INPUT | | | | Execute | BOOL | FALSE | 輸入值的上升沿將啟動(dòng)該功能塊的執(zhí)行。 | Periodic | BOOL | TRUE | TRUE =周期的, FALSE = 非周期的 | MasterAbsolute | BOOL | TRUE | TRUE = 絕對(duì), FALSE = 相對(duì) 坐標(biāo) | SlaveAbsolute | BOOL | TRUE | TRUE = 絕對(duì), FALSE = 相對(duì) 坐標(biāo) | VAR_OUTPUT | | | | Done | BOOL | FALSE | 如果預(yù)選已經(jīng)完成,則為T(mén)RUE | Busy | BOOL | FALSE | 當(dāng)功能塊執(zhí)行還沒(méi)結(jié)束時(shí)為T(mén)RUE。 | Error | BOOL | FALSE | 在功能塊內(nèi)部發(fā)生錯(cuò)誤的信號(hào)。 | ErrorID | SMC_ERROR | 0 | 錯(cuò)誤指示,見(jiàn)SMC_Error。 | CamTableID | MC_CAM_ID | | 要被功能塊MC_CamID使用的CAM工作臺(tái)標(biāo)識(shí)號(hào)。 |
注意:
- 一個(gè)虛擬軸可被用作主軸。
- 當(dāng)輸出Done為T(mén)RUE時(shí),CamTableID 有效且可以在MC_CamIn中使用。
MC_CAMIN (FB) | | | | VAR_IN_OUT | | | | Master | | | 關(guān)于主軸,見(jiàn)AXIS_REF_SM3。 | Slave | | | 關(guān)于從軸,見(jiàn)AXIS_REF_SM3。 | VAR_INPUT | | | | Execute | | | 輸入值的上升沿將啟動(dòng)該函數(shù)塊的執(zhí)行。 | MasterOffset | | | | SlaveOffset | | | | MasterScaling | | | | SlaveScaling | | | | StartMode | | | 絕對(duì)、相對(duì)或ramp_in(于當(dāng)前位置)。 | CamTableID | | | 所用的CAM工作臺(tái)的標(biāo)識(shí)符,MC_CamID的輸出。 | VelocityDiff | | | | Acceleration | | | | Deceleration | | | | TappetHysteresis | | | | VAR_OUTPUT | | | | InSync | | | 如果從設(shè)備根據(jù)CAM工作臺(tái)同步于主設(shè)備則值為T(mén)RUE。 | Busy | | | 當(dāng)功能塊執(zhí)行還沒(méi)結(jié)束時(shí)為T(mén)RUE。 | CommandAborted | | | 如果該命令已被其他命令終止則為T(mén)RUE。 | Error | | | 在功能塊內(nèi)部發(fā)生錯(cuò)誤的信號(hào)。 | ErrorID | | | 錯(cuò)誤指示,見(jiàn)SMC_Error。 注意: | EndOfProfile | | | | Tappets | | | 要被SMC_GetTappetValue評(píng)估的挺桿信號(hào)。 |
- 主設(shè)備不一定是固定的。
- 如果在執(zhí)行MC_CamIn 時(shí)實(shí)際的主設(shè)備和從設(shè)備的位置并不符合于偏移值,則要么發(fā)生一個(gè)錯(cuò)誤,要么系統(tǒng)自動(dòng)處理出現(xiàn)的偏差。
- StartMode: CAM要么“絕對(duì)”地要么“相對(duì)”地被定位于主-從設(shè)備的位置。“ramp-in”是供貨商定義的值。它可以與附加參數(shù)結(jié)合起來(lái),比如主設(shè)備距離參數(shù)、加速度參數(shù)或者其他供貨商確定的參數(shù),而從設(shè)備ramp-in 到凸輪分布中(“飛行結(jié)合”)。
- 從設(shè)備偏置的機(jī)械模擬是一個(gè)以附加固定層厚度焊接的凸輪。因此,從設(shè)備位置總有固定偏移,這個(gè)偏移假設(shè)為線性引導(dǎo)從設(shè)備挺桿,可被解釋為主設(shè)備軸的軸線偏移。
MC_CAMOUT (FB) | 類(lèi)型 | 初始值 | 描述 | VAR_IN_OUT | | | | Slave | AXIS_REF | | 關(guān)于從軸,見(jiàn)AXIS_REF_SM3 | VAR_INPUT | | | | Execute | BOOL | FALSE | 輸入值的上升沿將啟動(dòng)該功能塊的執(zhí)行。 | VAR_OUTPUT | | | | Done | BOOL | FALSE | 如果凸輪被放開(kāi)為T(mén)RUE。 | Busy | BOOL | FALSE | 當(dāng)功能塊執(zhí)行還沒(méi)結(jié)束時(shí)為T(mén)RUE。 | Error | BOOL | FALSE | 在功能塊內(nèi)部發(fā)生錯(cuò)誤的信號(hào)。 | ErrorID | SMC_ERROR | 0 | 錯(cuò)誤指示,見(jiàn)SMC_Error。 |
注意:
- 假設(shè)該命令被后面還有別的對(duì)于MC_Stop, MC_GearIn 實(shí)例的命令。如果沒(méi)有其他命令跟隨,則默認(rèn)條件應(yīng)該是:保持前一個(gè)速度。
電子凸輪相比于機(jī)械凸輪有很大的靈活性和自由性。我們可以通過(guò)改變相應(yīng)點(diǎn)的位置就實(shí)現(xiàn)了對(duì)凸輪軌跡的改變,就不需要像以前那樣更改機(jī)械裝置。而且電子凸輪使用起來(lái)方便有很大的優(yōu)越性,可以完全替代機(jī)械凸輪,只是相對(duì)成本比較高。 對(duì)于其用法和程序建立當(dāng)然也會(huì)比較復(fù)雜些,特別對(duì)于凸輪表的建立,直接關(guān)系到凸輪構(gòu)建的成功與否,另外就是要對(duì)加工工藝非常熟悉。
|