西门子PLC中国北京一级供货商

西门子PLC中国北京一级供货商

发布商家
浔之漫智控技术(上海)有限公司
联系人
王华(先生)
职位
销售
电话
13564949816
手机
13564949816
微信
13564949816
品牌
西门子
型号
1500系列
产地
德国

西门子PLC中国北京一级供货商

西门子PLC中国北京一级供货商


如何同步操作面板与 S7-200 控制器的日期和时间?

HMI 人机操作界面与 S7-200 的时钟同步功能包括两个方向的时钟同步:


PLC 到面板的时钟同步。


西门子操作面板可分为硬件时钟面板(TP/OP/MP270,MP370 等)和软件时钟面板(XP170X, XP177X,K-TP178 micro 等)。软件时钟面板和无备份电池的硬件时钟面板, 当断电关机后, 面板的内部时钟就会丢失, 回到出厂时的状态。但面板可以通过设置,来定时读取 PLC 的硬件时钟信息,以保持和 PLC 时钟一致,这就是 PLC 到面板的时钟同步。

 

面板到 PLC 的时钟同步。


与上述相反,即用面板的时钟来校准 PLC 的系统时钟。PLC 实际上是得到面板的时钟信息后,调用相应设置时钟的函数(或者通过用户编制的程序),更改自己的系统时钟,以保持和面板时钟一致。在本文所提供的例程中,实现的是用 PLC 的时间同步面板系统时钟,同时可以在面板上修改 PLC 的时钟,从而间接地修改了面板的系统时钟。

 S7-200 系列中 CPU 224 以上的 CPU 都有内置的实时时钟,而 CPU 221/CPU 222 没有内置实时时钟,需要外插“时钟电池卡”才能使用实时时钟和时钟同步功能。西门子PLC中国北京一级供货商

 使用 S7-200 CPU 时钟同步面板时钟

用 S7 时间同步面板时间的主要操作步骤如下:


在 S7-200 中编程读取 CPU 系统时钟。,周期调用 READ_RTC 函数,以读取 S7-200 CPU 的系统时钟,将时钟信息存放在 V 存储区,比如 VB100。


 读取 S7-200 实时时钟

 

在面板上配置时钟同步功能


使用 WinCC Flexible 配置:


请先设置好通讯参数;然后在“区域指针”页内,建立“日期/时间 PLC”, 指向 S7-200 中存放时间信息的区域 VW100 即可。见下图:


在 WinCC flexible 中配置面板时钟同步

 

使用 ProTool 配置


请先设置好控制器的通讯参数;然后插入“日期/时间-PLC” 区域指针, 指向S7-200 中存放时间信息的区域VW100即可。见下图:


在 ProTool 中配置面板时钟同步

 

在面板上设置 S7-200 实时时钟

通过面板修改 S7-200 的实时时钟,主要有以下几个步骤:


在面板上建立相应的输入变量


可以新建一个标志变量(比如:地址为 V20.0)和用于触发 S7-200 CPU 的写实时时钟功能,建立年、月、日、时、分、秒 、星期等 BYTE 变量,按照 S7-200 时钟缓冲区的格式分别连接到 PLC 的连续 V 存储区中,比如:VB70 – VB77。


 因 S7-200 时钟设置指令的要求,这些 BYTE 变量必须是以 BCD 格式存在,在配置时可选用“16进制”数据格式。在面板上设置的数据必须是有效的 BCD 格式的时间、日期数据,包括星期的信息(有如需要,星期信息可能需要进行必要的转换处理),否则会导致时钟同步失败。西门子PLC中国北京一级供货商

 

2、时间长了时钟有误差,可以用HMI校时;

3、在 CPU 停电时,实时时钟的走动靠 CPU 的内置超级电容供电。如果停电时间较长,只能在 CPU 上插入电池卡以保持时钟

4、使用 S7-200 的 READ_RTC(读取实时时钟)和 SET_RTC(设置实时时钟)指令时, 读取和设置的数据格式都是 BCD 码的。如果觉得不便计算、处理,可使用 Clock Integer 指令库。

Clock_Integer 指令库用于将 BCD 码格式的 S7-200 日期、时间转换为十进制整数格式,以及将十进制整数格式的日期、时间值设定为 S7-200 时钟。

5、得到时钟后,再进行按字节比较、计算

如何通过Smart 面板修改Smart 200 PLC的时钟

 

 

 1、校时,25天的时间内,只要plc不断电,系统的时间误差不可能大于一天的。


Z终答案:可以。


但是……对于这个要求,这路有点长,而且不是你想象的那种长,而是……更长。

退一步的话如果与实时时钟无关的话,仅仅用固定间隔来定时的话,会简单很多。基本是你想象的那种复杂程度。可惜的是,设备要停电。停电期间无法计算经历时间。停电后就只能依靠实时时钟计时。西门子PLC中国北京一级供货商

所以这一步不能退。

那么问题来了。你需要有个程序计算两点之间的天数。

2020年1月15日到2020年2月15日这一个月有几天?

2020年2月15日到2020年3月15日这一个月有几天?

2021年2月15日到2021年3月15日这一个月有几天?

啊!!!怎么同是1个月的间隔,是有几个结果的啊。或者说同是30天的间隔,30天之后不是JT的日期号。

是不是开始觉得突然间要判断很多事情了?

对啊。

你要考虑大小月,考虑2月,考虑闰年,考虑25天是否在相同的月内,考虑如果不是间隔25天,而是32天,那么还要考虑这32天是否跨过了3个月。

做完上面所有事情,你基本上能够做出一个任意两日期之间天数的计算这么一个程序。


人气
46
发布时间
2023-06-05 13:12
所属行业
PLC
编号
31644962
我公司的其他供应信息
相关西门子产品
拨打电话
微信咨询
请卖家联系我