找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
问题
取消精华
首页精华问答
取消推荐
高端用户推荐
申请置评
已申请置评
修改
修改标签
添加标签
官方认证
取消官方认证
修改标签
添加标签
转移分类
删除
{{itemCategory}}
收藏({{answerDetail.Q_FavoriteCounts}})
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
专家建议
取消最佳答案
修改
核心原理
伺服探针(硬件探针):伺服驱动器硬件捕获探针时刻的**实际位置**,不是 PLC 周期读取,精度高。
需求逻辑:
1. 轴正常运行(JOG / 定位 / 速度模式)
2. 探针硬件信号触发 → 驱动器锁存触发时刻位置 `Pos_Probe`
3. 计算目标位置:`目标位置 = 探针捕获位置 + 偏移距离(固定距离)`
4. 轴继续运动,走到上面算出来的目标位置停止
方案一:TIA 工艺轴(TO 工艺对象,S7?1500)
工艺轴自带探针功能 `MC_Probe` 指令。
1. 硬件配置
1. 伺服驱动器开启探针功能,把外部探针传感器接到驱动器探针输入端子;
2. 在工艺对象→轴参数→探针,启用 Probe1,选择硬件探针源;
3. 探针模式:捕获位置,不触发停止。
2. 逻辑流程
1. 轴启动运动(`MC_MoveVelocity` 速度模式,或`MC_MoveAbsolute`)
2. 调用 `MC_Probe`,模式 = 触发捕获,等待探针信号到来
3. `MC_Probe.Done = TRUE` 代表探针已经捕获到位置,读出 `ProbePosition`
4. 计算最终位置:`FinalPos := ProbePosition + OffsetDistance; //OffsetDistance固定距离`
5. 立刻调用 MC_MoveAbsolute,Mode = 相对 / 绝对,目标位置 FinalPos,模式为叠加运动(动态改写目标)
6. 轴继续走完偏移距离后停止。
注意:
- 如果轴是速度连续运行,探针触发后,不能用 Stop,直接新的定位指令覆盖当前运动;
- `MC_Probe`只捕获位置,本身不会让轴停机。
方案二:报文 111(Standard telegram111,工艺轴不启用,直接报文控制伺服)
报文 111:速度 + 位置闭环报文,支持驱动器硬件探针,驱动器内部捕获探针位置,通过报文传回 PLC。
适合:不使用 TIA 工艺对象,直接写控制字控制伺服。
1. 驱动器侧设置(以 V90PN 为例)
1. 报文选择 111;
2. 设置 DI 端子作为 Probe1 信号源;
3. 探针功能:模式 = 捕获位置,禁止驱动器探针自动停止;
4. 参数:Probe 使能,捕获后把探针锁存位置输出到报文 PZD。
## 逻辑步骤
1. PLC 输出速度给定,伺服持续运行;
2. 等待驱动器 `PROBE_STAT.0 =1`:硬件探针信号已经捕获;
3. 读取驱动器锁存的 `PROBE_POS1`(探针触发瞬间真实位置);
4. 计算目标位置:`TargetPos := PROBE_POS1 + OffsetDistance`;
5. 将伺服切换为定位模式,把 TargetPos 作为位置设定,执行定位,走完偏移距离停止。
重点:
报文 111 本身没有自动定位功能,需要 PLC 做位置闭环定位,或者切换到报文 102;
推荐做法:
- 正常运行:报文 111 速度模式;
- 探针捕获完成后,切换报文 102(定位报文),下发目标位置`ProbePos+Offset`,走完停止。
风险提醒
如果不切换报文,只用 111 报文做定位,需要 PLC 做位置环,不推荐。
报文111pzd关键信号见附图
等您来回答
换一换
{{item.CoinValue}}西币
{{item.VisitNum}}人想问
本版相关问题
换一换
专家置评
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!

官方商城-正品备件
DIOMIS