S7-200 Smart 控制运动轴(脉冲电机/伺服)教程

目录

一、物料

二、接线

     1、伺服控制器手册

     2、接线图

三、编程

    1、运动控制向导

    2、梯形图

四、测试

   1、马达正向、反向运行

   2、马达Jog+/Jog-点动

   3、马达运到指定位置

正文:

一、物料

        S7-200 SMART(ST30) 、57步进电机、电机驱动器、24VDC电源、导线若干

        注:st20允许控制2轴

               st30允许控制3轴

               st30 高速脉冲输出口Q0.0 Q0.1 Q0.3

 二、接线

       1、电机驱动器手册

              PUL:脉冲输入端

              DIR:运动方向控制

              ENA:使能输入(允许电机运转)

     2、接线图

三、编程

    1、运动向导

工具-运动 加载运动控制向导,选择“轴0”后单击下一个

将该轴命名后选择下一个

设定电机参数。结合步进电机步进角1.8°这个参数得知,电机旋转一周360.旋转一周需要的脉冲数量为360/1.8=200脉冲

测量单位设定为度。(若搭配安装丝杆后,可以根据导程,设定测量单位为mm,那么一次旋转产生的距离为一个导程,脉冲数量不变)

设定好之后选择“下一步”。

方向控制选择

单项(2输出):P0脉冲控制运动,P1高低电平控制方向

双向(2输出):P0脉冲控制一个方向运动,P1脉冲控制另一个方向运动

AB正交相位(2输出):P0和P1均以命令的速率发出脉冲。方向由两个脉冲通道的相位决定。P0在P1之前转换,方向为正。P0在P1之后转换,方向为负

单相(1输出):仅PO输出,无方向控制

查阅马达控制器手册,这里选择单相(2输出)

点击“下一个”

I0输入端设定。

LMT+:上限位置传感器输入

LMT-:下限位置传感器输入

STP:停止

加上输入信号

设定电机运转最大速度、加速度 

设定Jog运动步长及运动速度。设定好之后点击“生成”。

    2、梯形图

四、测试

   1、马达正向、反向运行和Jog+/Jog-点动

设定速度为50转/s,接通M0.0,电机开始正向运行

设定速度50转/s,接通M0.3后接通M0.0,电机开始反向运行

接通M0.1,电机正向点动

接通M0.2,电机反向点动

   2、马达运到指定位置

设定mode 1,相对位置运行模式。设定VD204 5000

,接通M0.4后,电机运行5000转。 

 测试成功!!!

原创不易,转载请注明出处。如果有帮助,跪求一赞,小弟感激不尽。

  • 61
    点赞
  • 150
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
以下是利用西门子S7-200 smart PLC控制伺服电机实现往复运动的基本程序框架,仅供参考: ``` VAR sAxis : AXIS_CTRL; // 声明伺服电机控制变量 bStart : BOOL; // 声明开始运动信号 bStop : BOOL; // 声明停止运动信号 nDistance : INT; // 声明运动距离 nSpeed : INT; // 声明运动速度 nCount : INT; // 声明运动次数 bForward : BOOL; // 声明正向运动信号 bReverse : BOOL; // 声明反向运动信号 bFinished : BOOL; // 声明完成运动信号 END_VAR sAxis := AXIS_CTRL_INIT; // 初始化伺服电机控制变量 WHILE TRUE DO // 等待开始运动信号 WHILE NOT bStart DO // 等待信号 END_WHILE // 设置运动参数 sAxis.nSpeed := nSpeed; // 设置运动速度 sAxis.nDistance := nDistance; // 设置运动距离 sAxis.nCount := nCount; // 设置运动次数 // 正向运动 bForward := TRUE; bReverse := FALSE; bFinished := FALSE; AXIS_CTRL_START(sAxis, bForward, bReverse, bFinished); // 启动伺服电机 // 等待运动完成 WHILE NOT bFinished DO // 等待信号 END_WHILE // 反向运动 bForward := FALSE; bReverse := TRUE; bFinished := FALSE; AXIS_CTRL_START(sAxis, bForward, bReverse, bFinished); // 启动伺服电机 // 等待运动完成 WHILE NOT bFinished DO // 等待信号 END_WHILE // 发送运动完成信号 // ... // 等待停止运动信号 WHILE NOT bStop DO // 等待信号 END_WHILE // 停止伺服电机运动 AXIS_CTRL_STOP(sAxis); // 清除信号 bStart := FALSE; bStop := FALSE; END_WHILE ``` 需要根据具体的伺服电机型号和控制要求进行修改和调整。注意,以上程序仅供参考,实际应用中需要根据具体的控制要求进行修改和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

XJB-Lanxi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值