『7x24小时有问必答』

有也遇到过这些问题?脉冲发出去了,电机就是不动?定位总是差几毫米,来回跑不准?回完原点,一断电位置又丢了?MC_MoveAbsolute 触发后,Done 一直出不来?别慌,S7-1200 的运动控制看似复杂,但只要搞懂两种驱动方式和核心指令族,剩下的就是参数问题。

一、先搞清楚:S7-1200 控制运动轴的两种方式
很多新手分不清 PTO 和 PROFINET 的区别,选错了方向,后面全是弯路。
对比项
PTO脉冲方式
PROFINET通信方式
控制对象
步进驱动器/脉冲型伺服
PROFINET智能伺服(如V90 PN)
信号类型
脉冲+方向(最高200kHz)
以太网报文周期交互
位置计算
PLC端(中央控制)
PLC端或驱动端(可选)
适用CPU
DC/DC/DC 型(晶体管输出)
所有带PN口的S7-1200
接线复杂度
高(脉冲线+方向线+使能线)
低(一根网线搞定)
精度
取决于脉冲频率和电子齿轮
总线周期级,精度更高
典型搭配
步进电机+DM542等脉冲驱动器
V90 PN / S120等智能伺服
选型口诀:精度要求高、轴数多选PROFINET;简单单轴定位、预算有限选PTO。
二、PTO脉冲输出:最基础的运动控制  
1
  硬件前提
PTO 只对  DC/DC/DC  型CPU有效(晶体管输出),继电器输出的CPU不支持。不同CPU和信号板的脉冲频率上限:
硬件
脉冲频率上限
CPU 1214C 本体
100kHz(4路)
信号板 SB1222 DI2/DQ2 x DC24V 20kHz
20kHz
信号板 SB1222 DI2/DQ2 x DC24V 200kHz
200kHz
信号板 SB1222 DQ4 x DC24V 200kHz
200kHz
注意:不同信号类型共用时,取最低频率。唯一例外是"脉冲A+方向B"模式,此时各通道独立使用满频率。  
2
  PTO信号类型
博途中可配置三种信号类型:
信号类型
说明
适用场景
脉冲A+方向B
一路发脉冲,一路给电平定方向
最常用,兼容90%驱动器
时钟上升A+时钟下降B
正转走A通道,反转走B通道
双脉冲输入驱动器
A/B相移(正交)
两路脉冲相位差90°定方向
增量编码器仿真
3
  PTO控制的接线要点

以"脉冲A+方向B"为例:
Q0.0
  → 脉冲输出(PULSE)
Q0.1
  → 方向输出(DIR)
Q0.2
  → 使能输出(可选,接驱动器SON)
驱动器侧接限位开关、原点开关到PLC的DI

  
踩坑提醒:PTO一旦分配给轴,对应的Q输出就被固件接管,你用程序或监控表写 process image 是无效的——读到的值和实际输出不一致,这是正常现象,不是Bug。
  
三、PROFINET通信方式:V90 PN是最常见的搭配
1
三种控制方案对比
S7-1200 通过 PROFINET 控制 V90 PN 实现定位,有三种方法:
方案
PLC侧实现
报文类型
位置计算位置
复杂度
方案一
工艺对象 + MC指令(PLC Open)
标准报文3
PLC端(中央控制)
推荐入门
方案二
FB284(SINA POS)
西门子报文111
驱动端(EPOS模式)
功能最全
方案三
FB38002(Easy SINA POS)
西门子报文111
驱动端(EPOS模式)
FB284简化版
2
方案一:工艺对象 + MC指令(推荐新手)
这是最"西门子正统"的方式——在PLC里建轴、配参数、用PLC Open标准指令编程。

博途配置六步走:
01
第1步:添加设备
创建项目 → 添加 S7-1200 CPU
在网络视图中添加 V90 PN(需先安装GSD文件)
建立网络连接,分别设置IP和设备名称(两边名称必须一致!)

02
第2步:配置报文
在设备视图中为 V90 配置标准报文3(速度设定值+实际位置反馈)

03
第3步:插入定位轴工艺对象
项目树 → 右键PLC → 添加新对象 → 工艺对象 → 定位轴
驱动器选择  PROFIdrive
选择连接到PROFINET总线上的V90 PN
配置编码器数据交换
04
第4步:设置机械参数
电机每转脉冲数(如10000 pulses/rev)
电机每转行程(如丝杆导程5mm,就填5.0)
最大速度、加速度、减速度、加加速度(Jerk)

05
第5步:配置回零方式
推荐"参考点+零标记"模式
关联原点开关输入

06
第6步:控制面板调试
先在轴的工艺对象控制面板里手动测试
确认方向、速度、位置反馈正确后,再写程序

3
  V90 PN侧配置要点
用 V-Assistant 调试软件配置:
步骤
操作
注意事项
1
选择控制模式为"速度控制模式"
方案一时选速度模式,位置计算在PLC
2
选择标准报文3
PZD自动分配
3
设置PROFINET → 配置网络
IP和设备名称必须与博途项目一致
4
保存参数 → 重启驱动器
参数保存后必须重启才生效
踩坑提醒:设备名称不一致是新手最常犯的错误。PLC搜不到V90,先查设备名称,再查IP,90%的问题在这两步解决。
4
  V90 PN伺服驱动器实物

四、核心运动控制指令详解
S7-1200的运动控制指令遵循  PLC Open  标准,所有指令在博途右侧"指令 → 工艺 → 运动控制"文件夹中。

1
  指令家族一览

指令
功能
触发方式
典型用途
MC_Power
使能/禁用轴
持续调用
第一步,必须放在所有MC指令前面
MC_Reset
确认错误
上升沿
报警复位
MC_Home
回原点/设参考点
上升沿
建立坐标系
MC_Halt
减速停止(可恢复)
上升沿
暂停,停了还能继续
MC_Stop
停止并阻止新命令
上升沿
急停类操作
MC_MoveAbsolute
绝对定位
上升沿
移动到指定坐标
MC_MoveRelative
相对定位
上升沿
移动指定距离
MC_MoveVelocity
速度模式运行
上升沿
匀速运行,不限位置
MC_MoveJog
点动
电平保持
手动调位
MC_ChangeDynamic
更改动态参数
上升沿
运行中切换速度/加速度
2
  MC_Power:轴使能(必须第一个调用)
关键规则:MC_Power 必须在 OB1 中持续调用,不能只用上升沿触发必须放在所有其他 MC 指令之前Enable=FALSE 时,StopMode 决定停车方式建议将驱动器"就绪"和"无报警"信号作为 Enable 的联锁条件
3
  MC_Home:回原点(四种模式)

Mode
名称
说明
适用场景
0
绝对式直接回原点
直接设置轴位置=Position参数值
绝对值编码器,断电不丢位置
1
相对式直接回原点
新位置=当前位置+Position值
不需要找机械参考点
2
被动回原点
不主动找参考点,等外部触发
外部机械已经到位
3
主动回原点
自动寻找参考点开关+零标记
增量编码器,每次上电必须回零
回零顺序口诀:增量轴先回零,绝对轴直接设;Mode 3最常用,Mode 0最省事。
4
  MC_MoveAbsolute:绝对定位
三个必知要点:Execute 必须用上升沿触发——用常开触点时,要确保信号是一个脉冲,不是一直保持TRUE背景数据块不能共用——每条MC指令必须有独立的背景DB,否则数据冲突Done 只保持一个扫描周期——看不到Done=TRUE是正常的,用触发器捕获或忽略
5
  MC_Halt vs MC_Stop:两种停止的区别

对比项
MC_Halt
MC_Stop
停止后轴状态
保持使能,可继续运动
保持使能,但阻止新命令
恢复方式
直接发新运动指令即可
需先处理Stop状态才能接受新命令
动态参数
可用组态值或自定义
三种模式:急停/最大/自定义
典型用途
正常暂停
急停、安全停止

一句话:暂停用 Halt,急停用 Stop。
五、程序架构:一个完整的定位控制模板
六、读取轴状态:在HMI上显示实时位置
每个轴的工艺对象都是一个DB块,可以直接读取内部变量:

在 MOVE 指令中用  MOVE IN := "轴_1".Position  传给HMI变量,即可在触摸屏上实时显示轴位置。
七、常见故障排查速查表

现象
可能原因
解决方法
电机不动
轴未使能 / 限位触发 / 未回零
检查MC_Power的Status;检查限位DI;先执行MC_Home
定位偏差大
每转行程参数填错 / 电子齿轮比不对
重新核算机械参数:丝杆导程×减速比
运动抖动
Jerk(加加速度)太小 / 增益不合适
增大Jerk值;调整伺服驱动器增益
Done信号看不到
扫描周期太快,Done只保持一个周期
正常现象,用触发器捕获或忽略
PLC搜不到V90
设备名称不一致 / IP不在同网段
核对两边设备名称(大小写敏感);检查IP和子网掩码
MC指令不响应
背景DB重复使用 / Execute不是上升沿
每条指令用独立DB;Execute用上升沿触发
断电丢位置
用的是增量编码器
改用绝对值编码器,或在断电前备份位置数据
报错0x8081
指令参数超范围(如位置超限)
检查Position是否在软件限位范围内
八、一句话总结
S7-1200运动控制的核心就三步:建轴(工艺对象)→ 使能(MC_Power)→ 定位(MC_MoveAbsolute/Relative/Velocity)。PTO用脉冲,PROFINET用报文,背景DB不能共用,Execute必须上升沿,回零是定位的前提。

往期推荐

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码