核心一句话
只有【回原点 AXISx_RSEEK 指令】的时候,碰到正 / 负限位才会自动减速停止,然后反向,继续搜寻原点;普通定位 / 点动运行,碰到限位只会停机、报错,不会自动转向! 你现在的配置:
- I0.0:正限位 LMT+
- I1.1:原点 RPS
- I1.2:负限位 LMT- 是在运动向导里预先分配好这 3 个 IO,启用硬件限位、启用参考点原点开关,再配置回原点参数。
一、向导里面做了什么组态(原理)
-
打开运动控制向导,选择轴,启用正限位 I0.0、负限位 I1.2、原点 I1.1
-
限位响应方式:减速停止(推荐,不要选立即停止,防止冲击),设置有效电平(常开高有效 / 常闭低有效,看你的接近开关)
-
【回原点搜索方向】:设置初始寻找方向,比如初始正向搜索原点
- 启动
AXISx_RSEEK回原点指令 → 轴正向跑 - 如果一路没找到原点,撞到I0.0 正限位 → 运动固件内部立刻减速停止,自动反转方向,往负方向跑,继续找原点 I1.1
- 如果一开始初始方向是负向,一直没找到原点,撞到 I1.2 负限位 → 停止,自动反向,朝正向搜寻原点
- 启动
这个碰到限位自动反转,是 200SMART 运动固件内置的回原点专属逻辑,不是普通定位功能自带,不是写程序判断 I 点去反转,是向导配置 + 回零指令自带行为西门子工业...。
二、我想知道的是 I0.0 怎么就对应的是正限位那个位置,怎么做到了,我也不知道原点到正限位有多远?
一句话先说清楚
不是 PLC 自动知道原点到正限位有多远;是你在运动向导里,手动把【I0.0 这个物理输入点】分配给 “正限位 LMT + 这个功能”。
相当于:给 I0.0 起了一个别名,叫「正限位」。一旦 I0.0 端子收到信号,运动固件就识别:已经撞到正限位开关了。
1. I0.0 和正限位的绑定过程(运动向导)
打开 S7-200 SMART 运动控制向导 → 轴配置 → 【限位】页面:
- 勾选启用正限位
- 在输入框里,填写:
I0.0 - 选择:停止方式(减速停止 / 立即停止)、有效电平(高有效 / 低有效)
👉 这一步就是绑定关系:告诉 PLC 固件:
以后只要 I0.0 这个输入点变成有效状态,就代表:轴到达正限位机械开关位置。
同理:
- 负限位:填写 I1.2 → I1.2 = 负限位信号
- 原点开关:填写 I1.1 → I1.1 = 原点信号
这个绑定只是IO 功能映射,向导不会测量、也不需要知道原点到正限位的物理距离。
2. 那 PLC 怎么不知道原点到正限位有多远,还能工作?
两种信号性质区分(非常关键)
-
限位信号 (I0.0/I1.2)、原点信号 (I1.1):是【事件触发型开关量】 不代表坐标,只代表此刻是否碰到开关,是一个布尔量:0 或者 1。
- I0.0=1:机械已经顶到正限位传感器
- I0.0=0:还没碰到 PLC不需要知道原点到限位有多少毫米、多少脉冲。它只关心:开关有没有被触发。
-
脉冲计数,才是用来记录位置坐标的 轴运动时,PLC 统计发给伺服 / 步进的脉冲数量,换算成当前位置(脉冲数)。
脉冲计数 = 相对原点的坐标。 但是这个坐标值,和限位开关没有任何绑定关系。限位开关是独立的硬件安全触点。
举个例子:
- 原点在中间;原点往正方向走 50000 脉冲才碰到 I0.0 正限位。
- 但是 PLC预先不知道是 50000 脉冲。
- 只有当机械真的走到、压合 I0.0 传感器 → I0.0 信号变有效 → 固件收到事件。 PLC 才知道:哦,现在到正限位了!
限位开关本质是硬件边界触发信号,不是坐标边界。
3. 回原点时碰到限位自动反向,完整流程结合你的 IO
向导配置:回原点搜索方向:正向搜索原点。
- 启动 AXISx_RSEEK 回零指令,轴正向运行,一边走一边找原点 I1.1;
- 如果一路往前走,一直没找到原点 I1.1,机械撞到正限位开关 → I0.0 接通;
- 运动固件检测到【正限位功能对应的 I0.0 有效】;
- 固件执行预设动作:减速停止 → 自动反转运动方向,改为负向跑;
- 反向移动过程中继续检测原点 I1.1;碰到 I1.1 原点开关,完成回原点。
✅ 重点: 整个过程PLC 完全不知道原点到正限位有多远。它只是:
正向跑,监视 I1.1 原点;如果先收到 I0.0(正限位事件),就换向。
距离是机械结构决定的,PLC 不需要预先录入这个距离。
4. 补充:如果你想要【坐标软限位】(和硬件限位区分开)
很多人混淆两个限位:
-
硬件限位(你现在这个 I0.0):物理传感器,开关信号,独立于坐标。 优点:安全,就算脉冲丢步、坐标错乱,机械撞到开关依然能停机。 缺点:PLC 不知道在哪,只知道 “碰到了”。
-
软限位:在向导里填写【最大 / 最小坐标值】(脉冲数)。 软限位是基于脉冲坐标判断,PLC 预先知道这个坐标。到达设定脉冲位置就停机。
软限位需要知道原点到端点的距离;硬件限位(I0.0)不需要。
5. 简单总结
- I0.0 之所以是正限位:运动向导里把 I0.0 分配绑定为正限位功能引脚;
- 绑定只是告诉固件:I0.0 这个点的信号代表 “到达正限位”;
- PLC不需要预先知道原点到正限位的距离;只实时检测 I0.0 有没有被触发;
- 回原点模式下,固件内置逻辑:正向搜寻原点,如果 I0.0 触发 → 停止,反向搜寻原点。普通定位模式触发 I0.0 只会停机报错,不会换向。
6. 一个形象类比
就像电梯:
- I0.0 正限位 = 电梯井顶部的机械撞块开关;
- 电梯控制器不需要预先知道:一楼原点到顶楼撞块有几米。
- 电梯往上走,找一楼原点;如果一路向上顶到顶部撞块 → 撞块开关闭合 (I0.0=1) → 电梯停止,向下走。 控制器只检测开关通断,不需要预先知道距离。