本文由《200smart》系列学习笔记(16-25)整理而成,聚焦运动控制、通信与模拟量等进阶应用,配合现场经验要点,适合在掌握基础指令后继续学习。
一、运动控制基础:步进与伺服
1.1 电机控制方式对比
| 控制方式 | 主要特点 |
|---|---|
| 接触器控制电机 | 成本低、简单 |
| 变频器控制电机 | 可调速,运行相对平稳,保护功能较多 |
| 步进驱动器控制电机 | 成本较低,可按脉冲实现位置控制 |
| 伺服驱动器控制电机 | 精度高、响应快,带反馈 |
1.2 步进电机与伺服电机的区别
| 对比项 | 步进电机 | 伺服电机 |
|---|---|---|
| 反馈能力 | 普通步进无法主动判断是否丢步 | 驱动器可根据反馈修正位置或报警 |
| 速度性能 | 中低速较合适,高速时转矩下降明显 | 高速性能和动态响应更好 |
| 过载能力 | 过载能力弱,堵转或丢步后不一定能发现 | 过载能力较强,异常时通常会报警 |
| 成本 | 便宜,结构简单 | 价格较高,调试要求更高 |
| 常见用途 | 简单定位、小型机构、低成本设备 | 高精度定位、快速启停、负载变化大的设备 |
选型提示:大多数普通定位控制用步进电机就能满足需求;如果要求高速、高精度、高响应,或负载变化较大,优先考虑伺服电机。
1.3 开环、半闭环与全闭环系统


- 开环系统:没有反馈检测,PLC 发出脉冲后默认动作已完成。机构卡住、电机堵转或丢步时,PLC 和驱动器通常无法主动发现。
- 半闭环系统:反馈一般安装在电机端,编码器反馈给驱动器判断是否丢步,是工业现场最常用的方案。
- 全闭环系统:在负载端或运动轴末端安装检测装置(外置编码器、光栅尺等),直接检测实际运动位置,精度更高,但成本和调试难度也更高。
应用理解:普通自动化设备常见的是开环步进或半闭环伺服;高精度设备、长行程定位或误差要求严格的设备,才会更多使用全闭环控制。
1.4 运动控制机构选型
| 机构形式 | 特点 | 适用场景 |
|---|---|---|
| 齿轮 / 齿条 | 承载能力较强,传动直接 | 大负载、长行程、对刚性要求较高的设备 |
| 丝杆 | 定位精度较高,适合直线运动 | 精密平台、升降机构、中小行程定位 |
| 皮带 | 成本低、速度快、行程可做较长 | 轻载、快速搬运、精度要求一般的设备 |
| 凸轮分割器 | 能将横向运动转为圆盘分度 | 转盘、分度盘、工位切换机构 |

设备的运动可以理解为直线运动和圆周运动组合而成:

1.5 PLC 编程需要关注什么
- 导程:电机转一圈,执行机构实际移动多少毫米,单位通常为
mm/rev。 - 每转脉冲数:电机转一圈需要 PLC 输出多少个脉冲,与驱动器细分、电子齿轮比有关。
- 脉冲当量:一个脉冲对应的实际位移,公式:
脉冲当量 = 导程 ÷ 每转脉冲数。 - 目标脉冲数:目标移动距离对应的脉冲数,公式:
目标脉冲数 = 目标位移 ÷ 脉冲当量。 - 速度换算:把目标速度换算成 PLC 的脉冲频率,公式:
脉冲频率 = 目标速度 ÷ 脉冲当量。 - 安全信号:程序要考虑原点、正负限位、急停、报警复位、使能等信号,避免机构误动作。
二、伺服与步进接线
接线前先看手册:不同品牌、不同型号伺服驱动器的端子定义可能不一样。接线前必须核对驱动器手册、电机铭牌、编码器线定义和 CN1 控制口针脚。
2.1 伺服动力线与“飞车”
伺服电机动力线通常为 U / V / W 三相输出,必须按驱动器手册对应接入,不能随意调换。若动力线相序、编码器线或方向参数不匹配,可能出现电机反向冲转、报警,严重时发生“飞车”。
“飞车”可以理解为驱动器的输出方向与编码器反馈方向不一致:驱动器以为自己在修正误差,但反馈结果反而越来越偏,导致电机失控加速。因此,伺服接线后首次点动必须低速、空载、随时准备急停。
2.2 制动电阻
伺服驱动器在减速、急停或带大惯量负载时,电机会产生再生能量,需要通过制动电阻消耗掉。
- 内置制动电阻:小功率、负载较轻、启停不频繁的场景通常够用。
- 外接制动电阻:大功率、大惯量、频繁启停或减速时间很短的场景需要外接。
- 选型原则:优先按厂家手册或供应商配置接线,不要随意更改电阻阻值和功率。
2.3 控制电路与 CN1 控制口接线
控制电路一般不需要焊接,常用端子台、转接板或专用连接器接线,便于维护和排查:

CN1 通常是伺服驱动器的控制口,脉冲、方向、使能、报警、限位等信号都可能从这里接入。实际接线重点确认:
- PLC 输出类型:确认 PLC 高速脉冲输出是 PNP、NPN 还是其他形式。
- 驱动器输入类型:确认伺服 CN1 脉冲输入端支持的接法。
- 公共端接法:确认
COM、24V、0V的连接方式,避免输入点没有参考电位。 - 信号名称对应:手册中
PULSE一般表示脉冲输入,SIGN / DIR一般表示方向输入,针脚号要一一对应。
常见脉冲控制方式:
| 控制方式 | 说明 | 特点 |
|---|---|---|
| 脉冲 + 方向 | 一个信号发脉冲,一个信号控制方向 | 最常用,占用高速脉冲口少 |
| CW / CCW 双脉冲 | 正转一个脉冲口,反转一个脉冲口 | 需要两个脉冲输出通道 |
| A / B 相脉冲 | 类似编码器 A/B 相输入 | 需驱动器支持,按手册设置 |
接线原则:PLC 发出的信号类型要和伺服驱动器输入接法一致。例如 PLC 是 PNP 输出,就按伺服手册中的 PNP 接线图连接脉冲、方向和公共端。
2.4 伺服保护电路

限位分为软限位和硬限位:软限位在 PLC 中做软控制(图中内侧两个限位);硬限位安装在外侧,当 PLC 程序崩溃、机构冲向硬限位时,利用安全电路直接切断电源,防止机械损坏。


2.5 步进驱动器接线
驱动器与 PLC 接线:
| 端子 | 含义 | 接 PLC |
|---|---|---|
| PUL+ | 脉冲正 | Q0.0 |
| PUL- | 脉冲负 | COM |
| DIR+ | 方向正 | Q0.2 |
| DIR- | 方向负 | COM |
| ENA+ | 脱机 | 24V |
| ENA- | 脱机 | 0V |
| GND | 电源负 | 0V |
| VCC | 电源正 | 24V(根据手册接) |
ENA(脱机)一般默认不接;如果需要接,一般接急停常开,急停触发时让电机脱机。
驱动器与电机接线:电机铭牌上会标注 A+ A- B+ B- 相序模式,按铭牌接线即可。
步进安全电路:与伺服一样,把左右限位接到步进电源回路上,用接触器控制,只有原点信号(RSP)接入 PLC。若使用 NPN 传感器(24V 电流型),需要中间继电器中转信号。

三、伺服与步进重要参数
一定要先下载对应品牌的伺服手册,根据手册接好线、调试参数。
3.1 伺服初始化
- 先将伺服电机进行初始化,参数写完后一定要断电重启才生效。
- 初始化后会出现报警,按手册消除报警即可。
- 设置伺服电机脉冲数与转一圈的对应关系(计算电子齿轮比)。
3.2 电子齿轮比计算

将计算出的比值约分(不要约分到最简)后分别填入伺服参数。设置完成后,PLC 发送 10000 个脉冲,伺服电机就转一圈。有的伺服只需直接输入“多少脉冲转一圈”,具体看手册。
编码器分辨率:多少位的编码器就用 2 的位数次方(如 17 位 → 2^17 = 131072);部分变频器会根据手册强制更改“编码器多少脉冲转一圈”,以手册为准。
3.3 步进细分拨码
- 额定电流:根据电机额定电流调整细分拨码开关,一般取略大于额定电流的档位,防止烧毁步进驱动器;设置完成后剪掉拨码盖,防止别人乱动。
- 脉冲数:同一项目中的所有步进驱动器脉冲数必须拨成一样;同样设置完剪掉。
- 静态半流(PW4):静止时电机只输入一半电流。水平轴一般开启静态半流,竖直轴只有在需要时才开启。
四、伺服程序编写(运动向导)
伺服程序通常使用软件自带的运动控制向导生成,以下是填写说明。
4.1 向导填写要点
测量系统:选择“工程单位”,按实际电机参数填写“电机转一圈脉冲数”,直线机构测量单位填 mm、圆盘机构填 度,“电机转一圈运动距离”根据导程或实际测量值填写。

方向控制:一般保持默认;若测试发现运动方向与预期相反,再调整方向设置。
输入设置:LMT+ 写正限位、LMT- 写负限位(已接外部限位时可不填软件限位)、RPS 写原点;其余输入项保持默认。
电机速度:根据项目需求填写,启动速度和停止速度一般保持默认。

JOG 手动速度:初次调试建议设低速,确认方向、限位和运动正常后再逐步提高。
电机启动时间:伺服电机可以短一些;步进电机建议慢一点,避免丢步。具体以现场运行平稳、不报警为准。
参考点:用于寻参定位,在“查找”页面设置寻参速度,其余一般保持默认。
存储器分配:建议分配到较大的地址区,从 7000 以后开始使用;后续轴的存储区不要重复,避免参数互相覆盖。
方向极性:调试时发现方向不对,把极性改成相反即可;同时位置区间也会改变(例如原来在 80mm 处会跑到负区间)。

4.2 调试注意事项
- 写完向导后,点击主程序,多编译几次一般即可通过。
- 初次调试尽量使用低速,确认方向、限位、原点和整体动作正常后再逐步提速。
- 正常调试速度建议在
20~40 mm/s;800 mm/s已经比较快,1000 mm/s属于很高速度,机架可能承受不住。 - 调试前先打开运动控制面板进行点动测试,确认 JOG 方向和速度后再写程序;打开面板前务必先把程序下载到 PLC 并将 CPU 停机。

编程技巧:向导要求填写 VD 和 M 存储区时,V 区统一按 4 递增(如 VD0、VD4、VB8、VB12),M 区按 0.1 递增,这样不容易乱。
4.3 指令块说明
CTRL 参数定义指令:EN、MOD_EN 用 SM0.0 长通;Done 为完成位,Error 为错误字节,C_Pos 为当前位置,C_Speed 为当前速度,C_Dir 为当前方向(0 正方向、1 反方向)。

RSEEK 寻零指令:用于上电自动寻参或手动寻参。若公司提供全部限位,用上方程序;只提供一个限位时,用下方程序——在复位完成后用 SM0.5 反复置位复位 LDPOS,设置定时器后跳转到复位完成。

LDPOS 新建原点指令:EN 常用 SM0.0,Start 为启动指令,New_Pos 填原点位置(通常为 0)。如果用了该程序,复位程序这样写:在原点时先正方向开出,再用原点常闭 + 短定时器延时后回来,完成后用 SM0.5 反复置位复位 LDPOS(记得切换到新的系统状态)。

MAN 手动指令:EN 用 SM0.0;RUN 手动运行(快走、粗调),JOG-P / JOG-N 正负向点动(慢速、微调);Speed 指定 RUN 速度,Dir 指定方向(0 正向、1 负向)。黄色线画的一组参数和红色圈的一组参数相互独立,例如 VD12 和 M0.5 管的是 M0.2 按下时的参数;黄色部分的参数在向导中已写好,需要修改请到向导中改写。

GOTO 运动指令:EN 常用 SM0.0,Speed Start 用上升沿触发;POS 指定位置,Speed 指定速度,Mode 选模式(0 绝对定位、1 相对定位);Done 完成位、Error 错误字节、C_Pos 当前位置、C_Speed 当前速度。

4.4 伺服自动程序编写
自动状态按顺序依次递进:把绝对定位的位置和速度写进 GOTO 指令,以此类推复制粘贴即可。轴完成信号需要进行 IO 映射,提取纯正的上升沿;若速度小于 5 反复启动,可写成“小于 5 置位、大于 5 复位”,与点击启动速度保持一致。想要在某处停止,只需在中间插一段定时器,注意定时器需要改变系统状态(自动状态加 10)。写复位程序时不要忘记关闭 About 停止轴。


五、步进程序编写
步进程序与伺服基本一致(参考伺服程序编写),区别要点:
- 公司只提供一个限位时,程序要使用 LDPOS 复位;限位不足时,手动程序和自动程序要做软限位,用比较指令实现。
- 步进圆盘轴:GOTO 指令选择相对定位(Mode 改成 1,可按 F1 查看帮助),其余运动控制程序与伺服、步进一致。
六、编码器
6.1 编码器类型
| 种类 | 特点 |
|---|---|
| 增量式编码器 | AB 相输出脉冲,与 PLC 高速计数器配合使用 |
| 绝对值编码器 | 用格雷码(GBIN)将当前位置传输至 PLC |
| 假绝对值编码器 | 普通增量式编码器 + 电池保存数据 |
| 多圈绝对值编码器 | 通过内部齿轮系支持多圈绝对位置输出,应对丝杆轴掉电后的多圈位置移动 |
6.2 编码器在现场的作用
编码器在工业中常见的作用是代替原点实现精确回原:
- 无编码器回原:如果原点传感器损坏,重新安装后产生误差就会导致原点漂移,精度误差变大。
- 有编码器回原(Z 相输入):编码器 Z 相信号每转一圈产生一次。碰到边限位后编码器往回跑一圈即为原点,比普通传感器更精准;即使更换左右限位,原点依然准确。原点限位安装误差一般在伺服 ± 一个导程之间。
6.3 编码器接线与组态
- 供电:棕色接 VCC,蓝色接 GND。
- 信号:A 相、B 相根据 PLC 组态选择 I 点接入,Z 相单独接一个输入点。
- NPN / PNP:与 PLC 输入类型一致,不能混用。
组态步骤:
- 向导选择高速计数器,HSC0 按顺序使用。
- 模式分计数与频率(频率用于测速度,不常用)。
- 不要选择外部复位,选择 AB 正交型。
- 初始化:名字自己改,预设值不要动;X1 / X4 用于提高精度,例如一圈 1500 脉冲,X4 就是 6000 脉冲一圈。
一定要修改:编码器输入是高速脉冲,需要修改扫描频率,一般设置成 0.8 或更快;Z 相脉冲的输入点扫描频率也要调快,与 AB 相一致。
子程序复位:上电时用 SM0.1 激活一次(不要一直通电);需要复位时再激活一次子程序即可。Z 向脉冲和传感器一样,每转一圈激活一次输入点,配合上升沿和计数器即可实现记圈数。
七、通信
7.1 S7 通信(主从站数据交换)
S7 通信用于主从 PLC 之间的数据交换:
- 修改电脑本地 IPv4 地址,改成与 PLC 同网段、最后一段不同的 IP。
- 分别查找 PLC,确定主站 PLC 和从站 PLC 的位置。
- 在 200 SMART 软件中修改 PLC 地址,确保两台 PLC 与电脑的末段网段地址互不相同。
- 在主站或从站项目中,点击菜单工具 → GET / PUT(官方 S7 通信)进行配置。

配置要点:
- 想传给从站选 PUT,想读取选 GET。
- 传输字节为本地传输的字节大小和想获取数据的字节大小。
- 远程 CPU 地址写目标 PLC 地址;本地地址和远程地址是数据交互地址,可以不同存储区互换。
- 存储器分配尽量靠后,子程序地址随便填;超时以秒为单位(0 表示无定时器,范围 1~36767 秒);错误值和周期值填 M 存储区即可。
7.2 Modbus 通信
Modbus 分为网口(TCP)和串口(RTU);串口中还分 485、232 等。Modbus 是一种协议,485、232 是接线方式。
485 接线:在 PLC 串口上拉出 3 针脚和 8 针脚,即俗称“3正8负”、“485正、485负”进行连接,通信设备并联。必须采用屏蔽线,避免通信不稳,并远离强磁场设备。
485 通信常作为仪表通信使用,因为延迟较大,不适合做控制系统。
变频器通信(以 V20 为例):根据手册配置 485 通信参数,注意从站站号不能重复;波特率一般设置为 9600。
程序编写:使用 MBUS-CTRL 和 MBUS-MSG 两条指令。CTRL 放在程序头部建立通信,其次才是读写;Modbus RTU 需要分配存储区。
| MBUS-CTRL 参数 | 含义 |
|---|---|
| Mode | 模式,SM0.0 长通:1 表示 Modbus,0 表示 PPI |
| Baud | 波特率,与从站一致,一般为 9600 |
| Parity | 奇偶校验,与从站一致 |
| Timeout | 超时时间,一般 1000 |
| Done / Error | 完成位 / 错误字节 |
| Port | 0 = CPU 集成 RS-485,1 = CM01 信号板 |
| MBUS-MSG 参数 | 含义 |
|---|---|
| First | 接通后发送一次请求 |
| Slave | 从站地址 |
| RW | 0 读取、1 写入 |
| Addr | 从站寄存器地址(按官方设定) |
| Count | 读写字数 |
| DataPtr | 数据指针,随便给一个 VB |
| Done / Error | 完成位 / 错误字节 |
MSG 触发限制:MSG 指令不能同时触发两个,不同目的读写不能同时进行,需要用轮询指令交替执行。
轮询指令:用定时器控制加减计数器,实现来回读写,防止同时读造成报错。
编程框架:建立通信用 CTRL → 设置轮询 → 统一读从站数据 → 将数据转换成实际值 → 统一写入从站数据。
通信延迟:通信时间有较大延迟,不要用于高精度要求和高危项目。
八、模拟量
8.1 模拟量概念
模拟量是连续变化的电信号,常用于 PLC 与现场仪表之间的数据采集和控制。常见信号:电压型 0~10V、电流型 0~20mA、电流型 4~20mA,其中4~20mA 最常用。读取或输出模拟量时需要对应模拟量模块,并根据信号类型选择正确量程。
8.2 模拟量输入
接入前确认:传感器输出信号类型、模块输入通道支持类型、接线端子正负极、模块组态量程设置。
- 电压型(0~10V):适合短距离;抗干扰能力相对较弱,长距离容易受线路压降和干扰影响。信号正端接
AI0+,负端接AI0-。 - 电流型(0
20mA / 420mA):适合长距离,抗干扰能力强。4~20mA的好处:4mA 对应下限而非零电流,线路断开时电流接近 0mA,便于判断断线故障。
8.3 模拟量输出
模拟量输出用于控制变频器、阀门、执行器等设备。
- 电压型(0~10V):适合短距离控制,例如
AQ0输出 0~10V,5V 对应量程 50%。 - 电流型(0
20mA / 420mA):适合长距离控制,常用于变频器频率给定、比例阀开度、调节阀位置等。
8.4 模块配置与数值范围
配置要点:添加扩展模块型号 → 设置输入输出通道 → 每个通道选择量程 → 确认电压/电流型设置与现场接线一致 → 下载配置。每个通道都要单独检查,电压型接线不能按电流型配置,反之亦然。
S7-200 SMART 中模拟量信号转换成数字量,典型范围:
| 信号类型 | 下限 | 上限 | PLC 数字量 |
|---|---|---|---|
| 0~10V | 0V | 10V | 0~27648 |
| 0~20mA | 0mA | 20mA | 0~27648 |
| 4~20mA | 4mA | 20mA | 0~27648 |
8.5 量程换算
通用公式:
工程量 = (当前数字量 - 数字量下限) × (工程量上限 - 工程量下限) ÷ (数字量上限 - 数字量下限) + 工程量下限数字量范围为 0~27648 时简化为:
工程量 = 当前数字量 × (工程量上限 - 工程量下限) ÷ 27648 + 工程量下限示例:010V 对应 050Hz,频率 = 当前数字量 × 50 ÷ 27648。输出 5V 即满量程 50%,对应 25Hz。
8.6 屏蔽线接地
模拟量信号容易受干扰,现场接线要重视屏蔽层处理:屏蔽线要接地,屏蔽层通常单端接地避免形成干扰回路。建议模拟量线缆远离强电线缆、不与动力线长距离并行敷设、使用屏蔽双绞线、控制柜端统一接地。
说明与小结
说明:笔记 23(PID)为空文件,暂无内容,本文未收录;后续补充后再单独整理。
从运动控制(步进/伺服、编码器)、通信(S7、Modbus)到模拟量处理,本篇覆盖了 S7-200 SMART 进阶阶段的核心应用。现场调试时记住两条主线:先看手册再接线,先低速调试再提速,能避开大部分“飞车”和报警问题。