自定義脈沖輸出功能塊FB_MotionCtrl_PTO使用說明


 

自定義脈沖輸出功能塊FB_MotionCtrl_PTO使用說明

​ ​

目錄


 

前言:


該自定義功能塊降低了M241脈沖輸出功能的使用難度,特別是對施耐德PTO控制功能塊不熟悉的工程師有較大的幫助。只需要對PTO硬件進行簡單配置后就可以使用功能塊來控制輸出,功能塊提供了用戶工程量單位到脈沖輸出的自動轉換,省去了用戶單位轉換的煩惱。

該功能優化了功能塊的調用邏輯,不掃描未執行的功能塊,從而降低了程序的執行時間,一些對程序執行周期要求嚴格的應用有一定的優化效果。

 

下載地址:


下載連接為歸檔工程文件,在打開歸檔文件時選擇導入所有庫文件即可將該庫加入本地電腦中。

鏈接:https://pan.baidu.com/s/1SwzXTmtNiyX_ANm89EBn-w 
提取碼:rji9

 

功能塊庫.compiled-library提供:


  • 位置設置SetPos

  • 回原點控制Home

  • 點動控制Jog

  • 速度模式控制MoveVel

  • 相對定位控制MoveRel

  • 絕對定位控制MoveAbs

 

用戶單位換算:


換算關系公式:
 

示例:若機械減速比為3:1,設定500個脈沖i_rUintPlus對應絲桿導程(用戶工程單位i_rUeserUint)5mm

 

則:

 

該庫提供視圖控制功能如下:


 

設備樹中Pulse_Generators的脈沖PTO配置:


配置PTO輸出模式,A輸出位置,B輸出位置,軟件限位等可以根據實際需求選擇,但加速度/減速度單位必須為赫茲/毫秒,如果需要執行MC_Home功能的話,必須配置Ref輸入,Ref輸入位置可以根據實際需求選擇。

 

功能塊調用:(PTO_0為設備樹中脈沖輸出的實例名稱)


  • St語言下:

PROGRAM SR_Main
VAR
fbMotionCtrl_PTO_0 : fbMotionCtrl_PTO.FB_MotionCtrl_PTO;
stAxisCtrl_PTO_0 : fbMotionCtrl_PTO.ST_PTOCtrl_InOut;
END_VAR
fbMotionCtrl_PTO_0(iq_ptAxisRef:= ADR(PTO_0), iq_stAxisCtrlStr:= stAxisCtrl_PTO_0);
  • LD語言下:

 

輸入管腳說明


管腳變量名稱 變量類型 默認值 功能描述
i_xVisual_Enable BOOL   激活視圖控制功能
i_sAxisName STRING(16) 'PTO_0' 視圖中的軸名稱
i_xLimP BOOL TRUE 正向限位
i_xLimN BOOL TRUE 反向限位
i_xCMDEnable BOOL   PTO使能
i_xCMDHome BOOL   回原點命令,如果回原點模式為0時,執行的為SetPos
i_xCMDAbs BOOL   絕對定位命令
i_xCMDVel BOOL   連續速度命令
i_xCMDJogFwd BOOL   正向點動命令
i_xCMDJogRev BOOL   反向點動命令
i_xCMDStop BOOL   停止命令
i_xCMDReset BOOL   復位命令
i_xCMDSetPos BOOL   設置位置命令
i_rGearIn REAL 1.0 減速機-輸入
i_rGearOut REAL 1.0 減速機-輸出
i_rUintPlus REAL 10000.0 脈沖數
i_rUeserUint REAL 360.0 脈沖數對應的用戶單位
i_rSetPos REAL 0.0 設置位置-位置值
i_rHomePos REAL 0.0 原點位置-偏移值
i_enHomeMode PTO_HOMING_MODE ShortReference_Reversal 回原點-模式
i_enHomeDir MC_Direction mcPositiveDirection 回原點-方向
i_rHomeHighVel REAL 360.0 回原點-高速
i_rHomeLowVel REAL 36.0 回原點-低速
i_rVel REAL 360.0 速度模式-速度
i_rJogVel REAL 180.0 點動模式-速度
i_enVelMode MC_BUFFER_MODE mcAborting 速度模式-緩沖模式
i_rAcc REAL 3600.0 PTO加速度
i_rDec REAL 3600.0 PTO減速度
i_rAbsPos REAL   絕對定位-位置
i_rAbsVel REAL 360.0 絕對定位-速度
i_enAbsMode MC_BUFFER_MODE mcAborting 絕對定位-緩沖模式
i_rRelDis REAL   相對定位-距離
i_rRelVel REAL 360.0 相對定位-速度
i_enRelMode MC_BUFFER_MODE mcAborting 相對定位-緩沖模式
i_rStopDec REAL 36000.0 PTO停止減速度
i_iStopJerk INT 50 PTO停止的Jerk
i_iACCJerk1 INT 50 加速段-Jerk1
i_iACCJerk2 INT 50 加速段-Jerk2
i_iDECJerk1 INT 50 減速段-Jerk1
i_iDECJerk2 INT 50 減速段-Jerk2

 

輸出管腳說明


管腳變量名稱 變量類型 功能描述
q_wBErrorSignal WORD  
q_wSErrorSignal WORD  
q_xEnableSta BOOL MC_Power_PTO的狀態
q_xJogBusy BOOL 點動控制中
q_xHomeDone BOOL 回原點完成
q_xHomeBusy BOOL 回原點中
q_xAbsDone BOOL 絕對定位完成
q_xAbsBusy BOOL 絕對定位中
q_xRelDone BOOL 相對位移完成
q_xRelBusy BOOL 相對位移中
q_xInVel BOOL 速度模式達到設定速度
q_xVelBusy BOOL 速度模式運行中
q_xStopDone BOOL PTO停止完成
q_enErrorID PTO_ERROR PTO故障ID
q_xDisable BOOL PTO未使能
q_xStandStill BOOL PTO靜止
q_xContinuousMotion BOOL 連續速度運行中
q_xError BOOL 故障
q_xIsHomed BOOL 為True時參考點有效,允許絕對運動
q_rActPos REAL 當前實際位置(經齒輪比后的用戶單位位置)
q_rActVel REAL 當前實際速度(經齒輪比后的用戶單位速度)

 

程序中帶地址變量與功能塊的結構體變量關聯示例:


全局的帶地址變量聲明
VAR_GLOBAL
G_xCMDEnable_PTO0 AT %MX100.0 : BOOL;
G_xCMDHome_PTO0 AT %MX100.1 : BOOL;
G_xCMDAbs_PTO0 AT %MX100.2 : BOOL;
G_xCMDRel_PTO0 AT %MX100.3 : BOOL;
G_xCMDVel_PTO0 AT %MX100.4 : BOOL;
G_xCMDJogFwd_PTO0 AT %MX100.5 : BOOL;
G_xCMDJogRev_PTO0 AT %MX100.6 : BOOL;
G_xCMDStop_PTO0 AT %MX100.7 : BOOL;
G_xCMDReset_PTO0 AT %MX100.8 : BOOL;
G_xCMDSetPos_PTO0 AT %MX100.9 : BOOL;
END_VAR
代碼邏輯實現
IF NOT(stAxisCtrl_PTO_0.i_xVisual_Enable) THEN //視圖控制未激活時
stAxisCtrl_PTO_0.i_xCMDEnable := GVL.G_xCMDEnable_PTO0;
stAxisCtrl_PTO_0.i_xCMDHome := GVL.G_xCMDHome_PTO0;
stAxisCtrl_PTO_0.i_xCMDAbs := GVL.G_xCMDAbs_PTO0;
ELSE //視圖控制激活時
GVL.G_xCMDEnable_PTO0 := stAxisCtrl_PTO_0.i_xCMDEnable;
GVL.G_xCMDHome_PTO0 := stAxisCtrl_PTO_0.i_xCMDHome;
GVL.G_xCMDAbs_PTO0 := stAxisCtrl_PTO_0.i_xCMDAbs;
END_IF

 

故障信息:


參照ESME軟件或Somoachine軟件中關於M241的功能塊MC_ReadStatus_PTO的PTO_ERROR 管腳描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM