西门子PLC的时钟存储器位应用
时钟存储器是西门子S7-1200/1500 PLC内部预设的特殊功能区域,能够自动生成固定频率的方波信号。利用该功能,可以省去编写大量定时器程序,直接实现指示灯闪烁、周期性数据采集或设备心跳检测等逻辑。
第一步:启用时钟存储器功能
在编写逻辑前,必须在硬件配置中开启该功能并分配地址。
- 在 TIA Portal 项目树中,双击
设备配置打开硬件组态界面。 - 选中 PLC 站点后,在巡视窗口中 点击
属性选项卡。 - 在左侧导航栏中 找到
系统和时钟存储器选项并点击。 - 在右侧面板中,勾选
允许使用时钟存储器复选框。 - 在
时钟存储器字节输入框中,输入 一个未被占用的内存字节地址(例如10)。系统将分配MB10作为时钟存储器字节。
第二步:解析时钟位频率
配置完成后,该字节内的每一位(Bit)都会由系统自动按固定频率翻转(0变1,1变0)。假设配置地址为 MB10,各二进制位对应的频率与周期如下表所示:
| 位地址 | 频率 | 周期 | 典型应用场景 |
|---|---|---|---|
M10.0 |
10 Hz | 0.1 s | 快速闪烁报警 |
M10.1 |
5 Hz | 0.2 s | 高频脉冲计数 |
M10.2 |
2.5 Hz | 0.4 s | 中速闪烁 |
M10.3 |
2 Hz | 0.5 s | 状态指示 |
M10.4 |
1.25 Hz | 0.8 s | 慢速闪烁 |
M10.5 |
1 Hz | 1.0 s | 标准心跳信号 |
M10.6 |
0.625 Hz | 1.6 s | 特殊节拍 |
M10.7 |
0.5 Hz | 2.0 s | 慢速节拍 |
其中 M10.5 最常用,其信号波形为 0.5 秒高电平、0.5 秒低电平,即每秒闪烁一次。
第三步:编写梯形图逻辑(LAD)
利用时钟位直接驱动输出线圈,无需编写定时器指令即可实现闪烁灯控制。
- 打开 主程序块(如
OB1)。 - 在程序段中,插入 一个常开触点。
- 在触点上方地址栏 输入 时钟位地址(例如
M10.5)。 - 在触点后方 连接 一个输出线圈,地址设为指示灯输出点(例如
Q0.0)。 - 下载 程序至 PLC。
程序运行后,Q0.0 将自动以 1Hz 频率闪烁,无需任何额外的逻辑代码。
第四步:生成周期性触发脉冲
时钟位不仅可用于闪烁,还能作为周期性任务(如每分钟采集一次数据)的触发源。
- 确定 目标频率。例如,需要每秒触发一次计算,选用
M10.5。 - 在程序中,使用 时钟位作为条件触发执行逻辑。
// 示例:利用 M10.5 的上升沿触发数据累加
IF "M10.5" AND NOT "Memory_Bit" THEN
"Data_Counter" := "Data_Counter" + 1;
END_IF;
// 状态位复位,用于检测下一个上升沿
"Memory_Bit" := "M10.5";
上述代码通过检测 M10.5 的上升沿,确保计数器每秒仅执行一次加法操作。
第五步:应用注意事项
使用时钟存储器时需严格遵守以下规则,避免程序逻辑错误。
- 禁止写入操作:时钟存储器字节由操作系统刷新。用户程序中 严禁 使用赋值指令(如
MOVE或线圈输出)修改MB10的值,否则会导致时钟信号失效。 - 地址冲突检查:分配时钟字节地址前,务必 检查 全局符号表,确保该字节未在程序其他地方被使用。
- 精度局限性:时钟脉冲由系统循环扫描更新,其精度受扫描周期影响。对于要求极高精度的运动控制或快速中断, 建议 使用硬件中断或高速计数器功能。
- 断电保持:时钟存储器属于普通内存区,不具备断电保持功能。PLC 上电启动后,时钟信号从初始状态开始运行。

暂无评论,快来抢沙发吧!