电工学习网

 找回密码
 立即注册
查看: 5041|回复: 1
打印 上一主题 下一主题

西门子S7-300时钟读取与设定编程

[复制链接]
跳转到指定楼层
楼主
发表于 2020-2-18 13:48:38 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
plc程序开发中,经常会用到CPU的时钟数据,用于产生周期脉冲或统计周期数据。STEP7软件提供SFC0和SFC1两个系统功能实现时钟的设定和读取,下面就详细介绍一下我利用这两个系统功能实现时钟显示和设定的过程。
我计划实现的功能是读取CPU时钟并分解为年、月、日、时、分、秒六个整数用于显示;同时设定年、月、日、时、分、秒六个整数输入地址用于修改时钟。时钟读取是连续的,时钟修改是通过按钮人工设定的,为了方便输入,还具有时钟同步功能,可以将当前时钟数据同步到输入区。
SFC0和SFC1的使用说明就不再详述,可以通过帮助文件学习。这两个指令使用的时间数据都是BCD格式,实际上编程的主要工作就是BCD码和INT整数的相互转换。
  •      建立程序数据块
西门子S7-300时钟读取与设定编程


2.     调用SFC1读取CPU时钟
西门子S7-300时钟读取与设定编程


3.     分解时间数据
西门子S7-300时钟读取与设定编程


4.     时间数据转码
西门子S7-300时钟读取与设定编程


5.     年份数据补齐:读取的年份数据是用两位数表示的,其中90~99表示1990~1999年,0~89表示2000~2089年,因此实际应用时需要将年份数据的前两位补齐。
西门子S7-300时钟读取与设定编程


经过以上处理就完成了CPU时间读取的工作。
6.     写时间同步:将当前CPU显示时间同步到设定区域(也可以根据需要将hmi时间映射到设定区域,实现CPU与HMI的时间同步)
西门子S7-300时钟读取与设定编程


7.     年数据处理:将4位的时间数据处理成2位。
西门子S7-300时钟读取与设定编程


8.     时间数据INT转换成BCD
西门子S7-300时钟读取与设定编程


9.     时间组合
西门子S7-300时钟读取与设定编程


10.  写时间命令:判断月、日数据不为0时才有效,防止错误。
西门子S7-300时钟读取与设定编程


通过以上过程就完成了CPU时间设定的工作。利用读取的时钟数据可以产生编程需要的各种脉冲信号:
11.  分钟脉冲产生
西门子S7-300时钟读取与设定编程


12.  小时脉冲产生
西门子S7-300时钟读取与设定编程


13.  一天脉冲产生
西门子S7-300时钟读取与设定编程
来源:西门子工业技术论坛

回复

使用道具 举报

沙发
发表于 2021-12-15 18:21:17 | 只看该作者
文章很好,值得学习学习。

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

电工学习网 ( )

GMT+8, 2024-4-26 19:16

Powered by © 2011-2022 www.diangon.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

快速回复 返回顶部 返回列表