软件: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
原文链接:https://blog.csdn.net/panjinliang066333/article/details/129290379