软件:InoProShop(V1.7.3)
1、添加EtherCAT伺服从站
2、PLC运动控制程序和ETHERCAT在一个任务中。
3、编码器脉冲设置。 注意电机转速值是以秒还是分钟计量单位。
SV660N
IS620N
4、设置电机停机方式。使用sin²停机效果比较圆滑,默认梯形。
5、库管理器中添加伺服运动控制库
6、 添加程序变量
PROGRAM PLC_PRG
VAR
//轴控变量
bi_Power: BOOL; //控制使能
bi_Reset: BOOL;
bi_Stop: BOOL;
bi_Jog_Forward: BOOL; //正向点动
bi_Jog_Reverse: BOOL; //反向点动
bi_MoveAdditive: BOOL;
//轴控参数
di_Jog_Velocity: LREAL:=10; //单位 转/秒
di_Jog_Acceleration: LREAL:=20;
di_Jog_Deceleration: LREAL:=20;
di_Jog_Jerk: LREAL:=0;
di_MoveAdditive_Distance: LREAL:=1000;
di_MoveAdditive_Velocity: LREAL:=20;
di_MoveAdditive_Acceleration: LREAL:=10;
di_MoveAdditive_Deceleration: LREAL:=10;
di_MoveAdditive_Jerk: LREAL:=0;
di_Stop_Deceleration: LREAL:=4000; //停机减速度
di_Stop_Jerk: LREAL:=0; //停机减减速度
//轴控变量
MC_Power_0: MC_Power; //MC_Power功能块变量
MC_JOG_0: MC_JOG;
MC_Reset_0: MC_Reset;
MC_Stop_0: MC_Stop;
MC_MoveAdditive_0: MC_MoveAdditive;
MC_Power_1: MC_Power; //MC_Power功能块变量
MC_JOG_1: MC_JOG;
MC_Reset_1: MC_Reset;
MC_Stop_1: MC_Stop;
MC_MoveAdditive_1: MC_MoveAdditive;
END_VAR
7、程序功能块实现
//轴2使能
MC_Power_1(
Axis:= Axis_2, //轴变量
Enable:= TRUE,
bRegulatorOn:= bi_Power,
bDriveStart:= bi_Power,
Status=> ,
bRegulatorRealState=> ,
bDriveStartRealState=> ,
Busy=> ,
Error=> ,
ErrorID=> );
//轴2点动
MC_JOG_1(
Axis:= Axis_2,
JogForward:= bi_Jog_Forward, //正向dJog, TRUE旋转 FALSE停止
JogBackward:= bi_Jog_Reverse, //反向Jog, TRUE旋转 FALSE停止
Velocity:= di_Jog_Velocity, //单位 转/秒
Acceleration:= di_Jog_Acceleration,
Deceleration:= di_Jog_Deceleration,
Jerk:= di_Jog_Jerk,
Busy=> ,
CommandAborted=> ,
Error=> ,
ErrorId=> );
//轴2复位
MC_Reset_1(
Axis:= Axis_2,
Execute:= bi_Reset,
Done=> ,
Busy=> ,
Error=> ,
ErrorID=> );
//轴1使能
MC_Power_0(
Axis:= Axis_1, //轴变量
Enable:= TRUE,
bRegulatorOn:= bi_Power,
bDriveStart:= bi_Power,
Status=> ,
bRegulatorRealState=> ,
bDriveStartRealState=> ,
Busy=> ,
Error=> ,
ErrorID=> );
//轴1点动
MC_JOG_0(
Axis:= Axis_1,
JogForward:= bi_Jog_Forward, //正向dJog, TRUE旋转 FALSE停止
JogBackward:= bi_Jog_Reverse, //反向Jog, TRUE旋转 FALSE停止
Velocity:= di_Jog_Velocity, //单位 转/秒
Acceleration:= di_Jog_Acceleration,
Deceleration:= di_Jog_Deceleration,
Jerk:= di_Jog_Jerk,
Busy=> ,
CommandAborted=> ,
Error=> ,
ErrorId=> );
//轴1停止
MC_Stop_0(
Axis:= Axis_1,
Execute:= bi_Stop,
Deceleration:= di_Stop_Deceleration,
Jerk:= di_Stop_Jerk,
Done=> ,
Busy=> ,
Error=> ,
ErrorID=> );
//轴1复位
MC_Reset_0(
Axis:= Axis_1,
Execute:= bi_Reset,
Done=> ,
Busy=> ,
Error=> ,
ErrorID=> );
//轴1增量运动
MC_MoveAdditive_0(
Axis:= Axis_1,
Execute:= bi_MoveAdditive, //上升沿信号触发,执行完成再次给上升沿有效
Distance:= di_MoveAdditive_Distance,
Velocity:= di_MoveAdditive_Velocity,
Acceleration:= di_MoveAdditive_Acceleration,
Deceleration:= di_MoveAdditive_Deceleration,
Jerk:= di_MoveAdditive_Jerk,
Done=> ,
Busy=> ,
CommandAborted=> ,
Error=> ,
ErrorID=> );
8、下载程序工程和运行
9、点动测试
10、工程下载链接
https://mp.csdn.net/mp_download/manage/download/UpDetailed
11、驱动器参数设置
H02.00: 控制模式选择
0:速度模式,1:位置模式,2:扭矩模式,9:EtherCAT模式
H02.01: 绝对值系统选择
0:增量模式,1:绝对线性,2:绝对旋转,3:绝对线性,无编码器溢出报警,4:绝对单圈
H05.30: 本地原点设置
0:无操作
6:以当前位置为原点
H02.02: 旋转方向
0:CCW为正转方向
1:CW为正转方向
H02.25: 制动电阻设置
0:内置制动电阻
1:外置电阻自然冷却
2:外置电阻强制冷却
3:仅靠内部电容吸收
H02.26: 外置制动电阻功率(
默认值40W)
范围1-65535
H02.27: 外置制动电阻阻值
默认值50Ω
范围15-1000
H02.31: 系统参数初始化
0:误操作
1:恢复出厂设定
2:清除故障记录
H0d.11: Jog点动
按键SET->(上下键)设置速度->SET->伺服使能->按键Up/Down点动正反转
H03端子DI输入参数设定
H04端子DO输出参数设定
H05位置控制参数设定
H06速度控制参数设定
H07转矩控制参数
H08增益类参数
H09自调整参数
编码器一圈脉冲
(1)20位IS620N增量式是:1048575
分辨率:0.000057220459=60/1048576
(2)23位SV620N增量式是:8388608
分辨率:0.000007152557373=60/8388608