西门子S7-200SMART型PLC和MCGS7.7触摸屏控制台达伺服电机位置模式,带接线说明参数说明和运行效果视频
最近在项目中用到了西门子S7-200 SMART PLC搭配MCGS7.7触摸屏控制台达ASD-A2系列伺服电机,折腾两天终于跑通了位置模式控制。分享下具体实现过程,包含硬件接线、参数配置和程序编写,文末附运行效果视频地址。
先说硬件接线(重点注意信号共地!)。PLC的Q0.0作为脉冲输出端,Q0.1作为方向信号,这两个点接到伺服的PULS+和SIGN+。注意这里有个坑:SMART PLC的晶体管输出是漏型,需要将PULS-和SIGN-短接后接24V负极,同时伺服驱动器的COM-也要接同一个负极。我刚开始没接COM-,结果电机死活不动,后来发现是信号回路没形成。
参数设置方面,台达伺服需要先恢复出厂设置(P1-01设为10),然后重点改这几个参数:
- P1-00=0(位置模式)
- P1-44=10000(电子齿轮比分母,根据实际机械结构调整)
- P1-45=1(分子)
- P3-00=3(DI1作为伺服使能信号)
PLC这边用到了运动控制向导。打开STEP7-MicroWIN SMART,在工具里找到"运动"向导,配置Axis0为PTO输出,脉冲+方向控制。关键是把脉冲当量算清楚:假设丝杆导程5mm,编码器分辨率10000ppr,那么每脉冲移动量就是5/(10000*4)=0.000125mm(注意台达伺服的4倍频)。
西门子S7-200SMART型PLC和MCGS7.7触摸屏控制台达伺服电机位置模式,带接线说明参数说明和运行效果视频
程序里主要用两条指令:
LD SM0.0 CALL PTO0_CTRL:SBR1, EN_ON:=M0.0, RUN:=M1.0, POSITION:=VD200, SPEED:=VD204, ERROR=>MB10, C_Pos=>VD210这段代码挂在主程序里,M0.0是伺服使能标志位,VD200存放目标脉冲数。注意速度参数VD204的单位是Hz,别直接填转速值。比如想让电机每分钟转300转,换算公式是:(300/60)*10000=50000Hz。
触摸屏部分用MCGS组态软件,新建设备连接选择S7-200 SMART PPI协议。重点做两个输入框:目标位置(对应VD200)和运行速度(对应VD204),再加个启动按钮关联M1.0。有个小技巧:在按钮的"抬起动作"里写脚本!SetDevice(设备0,6,M1.0) 可以防止长按导致的重复触发。
调试时遇到最头疼的问题是位置累积误差。后来发现是PTO向导里没勾选"绝对位置"模式,导致多次运行后误差叠加。修改后增加了原点回归程序:
LD I0.0 // 原点传感器 EU MOVD 0, VD210 // 清除当前位置现在每次上电先执行回零操作,保证定位基准一致。实际运行测试,重复定位精度能达到±0.02mm,完全满足产线要求。
视频演示地址:www.example.com/servo_demo (展示JOG点动、绝对定位和速度切换效果)建议重点关注伺服在启停时的响应曲线,可以看到加减速配置是否合理。