签到有奖
消息提醒
运维工程师专区
官方商城
扫码分享好友 任选多种周边
INTERFACE
USEPACKAGE CAM;
USES dGlobal,FB_Lib;
PROGRAM pAxis1Ctrl;
VAR_GLOBAL
instFBAxis1Enable : FBAxisEnableCtrl;
instFBAxis1ManualCtrl : FBAxisManualCtrl;
instFBAxesCammingCtrl : FBAxesCammingCtrl;
END_VAR
END_INTERFACE
IMPLEMENTATION
PROGRAM pAxis1Ctrl
instFBAxis1Enable(
enable := gboAlwaysOn
,axisEnable := gboAxesEnable
,toAxis := Axis_1
// ,busy =>
// ,axisCyclicInterface =>
// ,axisVaild =>
,axisEnabled => gboAxis1Enabled
);
instFBAxis1ManualCtrl(
,manualMode := gboAlwaysOn
,axisHoming := gboAxis1HomingStart
// ,axisToHomePosition := 723
// ,axisJogPOS := 0
// ,axisJogNEG := 0
// ,relPositioningStart := 0
,absPositioningStart := gboAxis1MoveAbs
,axisMovingExecute := gboAxis1MoveVelocity
,axisStop := gboAxis1Stop
,sManualMotionData := gboAxis1ManualDataType
,BackTohomePositon := 0.0
,swLimitReqActive := 1
,swLimitMinusPosition := -100000000.0
,swLimitPlusPosition := 100000000.0
// ,vaild =>
// ,manualModeActive =>
// ,axisBackToPositionActive =>
// ,axisJoggingActive =>
// ,axisJoggingPOSActive =>
// ,axisJoggingNEGActive =>
// ,axisRelPositioningActive =>
,axisAbsPositioningActive => gboAxis1MoveAbsActive
,axisPositioningDone => gboAxis1MoveAbsDone
,axisMovingActive => gboAxis1MoveVelocityActive
// ,axisBackToPositionDone =>
// ,axisInStandStill =>
// ,axisSwLimitState =>
gboAxis1ManualDataType.r64homePosition := 0;
// gboAxis1ManualDataType.r64absPositioningPos := 2000000;
// gboAxis1ManualDataType.r64absPositioningVel := 20000;
gboAxis1ManualDataType.r64moveVelocity := gboAxis1MoveVelocity_Velocity;
gboAxis1ManualDataType.sAccelJerk.r64positiveAccel := 10000;
gboAxis1ManualDataType.sAccelJerk.r64positiveAccelJerk := 20000;
gboAxis1ManualDataType.sAccelJerk.r64negativeAccel := 10000;
gboAxis1ManualDataType.sAccelJerk.r64negativeAccelJerk := 20000;
gboAxis1ActualVelocity := Axis_1.motionStateData.actualVelocity;
gboAxis1ActualPosition := Axis_1.positioningState.actualPosition;
instFBAxesCammingCtrl(
,toMaster := VirtualAxis
,toCam := Cam_1
,masterMode := ABSOLUTE
,slaveMode := ABSOLUTE
,cammingMode := CYCLIC
,synchronizingMode := ON_MASTER_POSITION
,syncOffMode := IMMEDIATELY
,syncPositionMaster := 0.0
,enableCammingSync := gboEnableCamming
,disableCammingSync := gboDisableCamming
,axisSynced => gboAxis1Synced
IF gboAxis1MoveVelocity AND gboAxis1MoveVelocityActive THEN
gboAxis1MoveVelocity := FALSE;
END_IF;
IF gboAxis1MoveAbs AND (gboAxis1MoveAbsActive OR gboAxis1MoveAbsDone) THEN
gboAxis1MoveAbs := FALSE;
IF Axis_1.motionStateData.motionState = STANDSTILL THEN
gboAxis1Stop := FALSE;
END_PROGRAM
END_IMPLEMENTATION
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1630925&b_id=46&s_id=0&num=1
就是想做一个CAM_1曲线的凸轮同步吧,主轴为虚轴。
分享
扫码分享好友 任选多种好礼
收藏
有帮助
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
密码至少8位,包含大、小写字母,数字和符号至少三种。
允许邮箱和手机接收来自支持中心网站的信息
我已同意《支持中心网站注册协议和隐私政策》
微信登录扫码一键登录
验证码登录
密码登录
二维码失效点击重试
打开微信扫一扫,快速登录/注册
未注册手机验证后自动登录,注册即代表同意《支持中心网站注册协议和隐私政策》
三日内免验证登录
短信登录
登录