恭喜,你发布的帖子
发布于 2018-09-26 16:11:21
11楼
//自己编程,参考FB284 进行伺服控制
//通讯报文选择 西门子111
//手动方式控制
STW1 := 16#041E;//JOG //手动方式控制
EPosSTW1 := 0;//JOG
EPosSTW2 := 2;//JOG
STW2 := 0;//JOG
EPosSTW2.%X14 := 0;//软限位关闭
EPosSTW2.%X15 := 0;//硬限位关闭
IF 手动正 THEN
STW1.%X8 := False;
STW1.%X9 := TRUE;
// #servo.EPosSTW2 := 2;//JOG
ELSE
STW1.%X9 := 0;
END_IF;
IF 手动负 THEN
STW1.%X9 := False;
STW1.%X8 := TRUE;
// #servo.EPosSTW2 := 2;//JOG
ELSE
STW1.%X8 := 0;
END_IF;
OverrideV := INT_TO_WORD(REAL_TO_INT(16384.0 * (INT_TO_REAL(100) / 100.0)));//速度倍率0-199
OverrideA := INT_TO_WORD(REAL_TO_INT(16384.0 * (INT_TO_REAL(100) / 100.0)));//加速度倍率0-100
OverrideD := INT_TO_WORD(REAL_TO_INT(16384.0 * (INT_TO_REAL(100) / 100.0)));//减速度倍率0-100
//手动模式 不用设置位置值,此处用于绝对定位位置设置用
Position := DINT_TO_DWORD(位置) * 1000;//位置 um
Velocity := DINT_TO_DWORD(速度) * 60;//速度 um/min
//激活运行任务
STW1.%X0 := 使能;//伺服使能
STW1.%X6 := 启动;//上升沿 = 激活运行任务
//然后调用 函数DPWR_DAT将数据写入伺服即可
请填写推广理由:
分享
只看
楼主