您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

西门子S7-200实时时钟指令怎么设置?

2024/7/4 12:59:08发布48次查看
用 micro/win smart 设置时钟
时钟读写指令缓冲区格式
实时时钟精度
常问问题
目录
s7-200 smart 实时时钟
s7-200 smart的硬件实时时钟可以提供年、月、日、时、分、秒的日期/时间数据。
cpu cr40/cr60 等紧凑型cpu没有内置的实时时钟,其他标准型cpu支持内置的实时时钟,cpu断电状态下可保持7天。
s7-200 smart cpu的时钟精度是± 120 秒 / 月。
s7-200 smart cpu 靠内置超级电容为实时时钟提供电源缓冲,保持时间为典型值7天,小值6天。缓冲电源放电完毕后,再次上电后时钟将停止在缺省值,并不开始走动。
注意:因为 紧凑型cpu 无内置超级电容,所以实时时钟无电源缓冲,尽管用户可以使用read_rtc 和 set_rtc 指令设置日期/时间数据,但是当 cpu cr40/cr60 断电并再次上电时,这些日期/时间数据会丢失,上电后日期时间数据会被初始化为2000年1月1日。
为了提高运算效率,应当避免每个程序周期都读取实时时钟。实际上可读取的小时间单位是1秒,可每秒读取一次(使用sm0.5上升沿触发读取指令)。
使用程序读取的实时时钟数据为bcd格式,可在状态表中使用十六进制格式查看。
要设置日期、时间值,使之开始走动,可以:
用编程软件(micro/win smart)的菜单命令plc > set clock,通过与cpu的在线连接设置,完成后时钟开始走动
编用户程序使用set_rtc(设置时钟)指令设置
micro/win smart 可以通过任何编程连接实现实时时钟的设置。
用 micro/win smart 设置时钟
通过编程软件 micro/win smart 设置 cpu 的时钟,必须先建立编程通信连接。
在 micro/win smart 菜单中选择“plc “- >”设置实时时钟”,打开“plc 时钟操作”对话框:
图 1. plc 实时时钟设置界面
图中:
设置日期:选择需要修改的数据字段,直接输入数字,或者使用输入框右侧的上下按钮调整
设置时间:选择需要修改的数据字段,直接输入数字,或者使用输入框右侧的上下按钮调整
读取 pc 时钟:按此按钮可以读取安装 micro/win smart的 pc 机的本机时间
读取 plc 时钟:按此按钮读取 plc 内部的实时时钟数据
根据需要选择夏时制调整选项
按“设置”按钮,将上面的时钟日期数据写入 plc
时钟读写指令缓冲区格式
read_rtc(读时钟)和set_rtc(设置时钟)指令靠数据缓冲区在用户程序与硬件芯片间交换数据,它们的缓冲区格式相同。
表1. 时钟缓冲区
t字节
说明
数据值
0

00至99(bcd值)20xx年:其中,xx是t字节0中的两位数bcd值
1

01至12(bcd值)
2

01至31(bcd值)
3
小时
00至23(bcd值)
4

00至59(bcd值)
5

00至59(bcd值)
6
保留
始终设置为00
7
星期几
使用set_rtc/todw指令写入时会或略值。通过set_rtc/todr指令进行读取时,值会根据当前年 / 月/日值报告正确的星期几。1至7,1=星期日,7=星期六(bcd值)
* 1 = 星期日,7 = 星期六,0 = 表示禁止计星期
t 就是缓冲区的起始字节地址,可以由用户自由设置(在cpu允许的v存储区范围内)。如果设置t为vb10,那么读取时钟后,“年”的信息就会保存在vb10中,“月”保存在vb11中。
为了更好地理解 实时时钟的读取与设置,可参考下面的例程(软件版本:step 7-micro/win smart v2.3)。
rtc_sample
read_rtc、set_rtc 编程提示 不接受无效日期。 例如,如果您输入 2 月 30 日,则将发生非致命日时钟错误 (0007h) 。 不要在主程序和中断例程中使用read_rtc/set_rtc 指令。 执行另一个read_rtc/set_rtc 指令时,无法执行中断例程中的 read_rtc/set_rtc 指令。 在这种情况下,系统标志位 sm4.3 会置位,指示尝试同时对日时钟执行二重访问,导致t 数据错误(非致命错误 0007h )。 cpu 中的日时钟仅使用年份的后两位数,因此 2000 年表示为 00 。但使用年份值的用户程序必须考虑两位数的表示法。 2099 年之前的闰年均可正确处理。
实时时钟精度
表2.实时时钟精度
cpu型号
实时时钟精度
实时时钟保持时间
cpu sr20
+/- 120 s/月
通常为7天,25°c时少为6天(免维修超级电容)
cpu sr40
120 s/月
通常为7天,25°c时少为6天
cpu st40
120 s/月
通常为7天,25°c时少为6天
cpu cr40
--
--
cpu st60
120 s/月
通常为7天,25°c时少为6天
cpu sr60
120 s/月
通常为7天,25°c时少为6天
cpu在长时间断电后会对这些值进行初始化。
表3.初始化后的值
日期
时间
星期几
2000年1月1日
00:00:00
星期六
常问问题
写时钟指令(set_rtc)为何不能正常改写时钟内容?
写时钟指令需要严格按照8个字节的时钟缓冲区格式,设置相应的数据单元,任何不合格的数据都可能造成不能写入的现象。注意数据的格式必须是bcd格式,可以说是将10进制数换成16进制表示,如16#59(59h)就是59(秒/分等)。执行写时钟指令要保证缓冲区所有字节都包含合法数据;仅修改某些数据时,其他字节不能包含非法数值,否则会发生错误。
写时钟指令必须使用一次性的脉冲(沿)触发条件,不能持续激活写时钟指令。
读写的时钟数据如何在十进制(整数)和bcd数据之间转换?
要计算时间需要将bcd格式的时钟数据与十进制的数据之间的转换,使用相应的转换指令就可以实现。
如何实现实时是时钟的长期备份?
s7-200 smart sb ba01 电池板适用于实时时钟的长期备份。其可插入 s7-200 smart cpu(固件版本 v2.0 及更高版本)的信号板插槽中。必须将 sb ba01添加到设备组态并将硬件配置下载到 cpu 中,sb ba01才可以使用附加电池健康状况报告选项。电池(型号 cr1025)未随 sb ba01 一起提供,用户必须另行购买。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product