感觉相当满意,以下是具体的程序,是具体工作中要用的啊,可并不是玩玩的。。
S7-1200程序(TIA Portal)
1. 核心思路
用工艺指令 TO_PulseTrain 配置高速脉冲,设置频率 0~25Hz,输出点选 Q0.0(NPN)。
2. 完整程序(结构化文本 ST)
st
// 定义变量(在DB块中)
VAR
PulseTrain : TO_PulseTrain; // 脉冲火车指令块
Frequency : REAL := 0.0; // 目标频率(0~25Hz)
Enable : BOOL := TRUE; // 使能输出
END_VAR
// 脉冲输出配置
PulseTrain(
ENABLE := Enable, // 总使能
MODE := 1, // 模式:1=连续脉冲(PTO)
FREQ := Frequency, // 频率(0.0~25.0 Hz)
DUTY_CYCLE := 50.0, // 占空比50%(方波)
OUTPUT := Q0.0, // 输出点(NPN)
DONE => , // 完成标志
ERROR => , // 错误标志
STATUS => ); // 状态码
关键参数解释:
MODE=1:连续脉冲模式(一直输出方波)
FREQ=Frequency:频率变量,直接赋值 0~25 即可
DUTY_CYCLE=50.0:占空比 50%,保证是标准方波
OUTPUT=Q0.0:指定 NPN 输出点
3. 操作说明
改频率:直接给 Frequency 赋值(比如 Frequency:=15.0 → 15Hz)
停止输出:将 Enable 设为 FALSE 即可
三、重要补充
频率精度:0~25Hz 属于超低速,西门子 PLC 输出精度能到 0.01Hz,完全满足要求;
接线提醒:Q0.0(24V NPN)→ 光耦输入端 → PLC 0V,光耦输出端接 5V 电源和你的设备(共地!);
调试技巧:先用 25Hz 测试,用示波器 / 万用表确认方波幅值(转 5V 后)和频率是否准确。
总结
S7-200 SMART 用 PLS 指令,通过 SMW68 寄存器修改 0~25Hz 频率,输出点 Q0.0;
S7-1200 用 TO_PulseTrain 工艺块,直接设置频率参数即可;
无论哪种 PLC,都需通过光耦将 24V NPN 输出转为 5V 电平,避免烧坏设备。