在之前的文章中,我们讨论了 PLC 中的定时器、不同类型以及如何使用它们。计时器实际上并不需要实时工作,因为它们只是根据您的设置来计算秒或毫秒。
但对于某些应用,您需要了解 PLC 程序的真实日期和时间,例如出于诊断目的。
在这篇文章中,我们将讨论 PLC 的系统和本地时间。
内容:
- 为什么 PLC 需要实时性?
- 示例程序和模拟
- 什么是系统时间?
- 当地时间是几点?
- 结论。
为什么我需要 PLC 中的实时功能?
在 PLC 的许多应用中,出于多种不同的原因,您需要了解进程运行时的实时情况。
以下是其中一些原因:
- 将 PLC 备份到主服务器。
- 对于 PLC 的诊断,需要有诊断的时间记录,以了解某一事件发生的时间,否则诊断信息就没有多大用处。
- 对于需要使用时间中断 OB10 的应用程序,您需要知道实际时间。
- 您可能需要在需要处理实时应用程序的逻辑部分中使用本地时间或系统时间。
- 对于数据记录,如果您有重要的数据要保存,并且需要每次数据记录的时间戳,那么您需要为 PLC 设置正确的时间,以便存储的数据有意义。
PLC 示例程序和仿真
为了更好地理解什么是 PLC 中的系统时间和本地时间,我们将从创建一个非常简单的程序开始,并用它来解释 PLC 内部实时的概念。
检查以下步骤:
在本文中,我们不会创建任何 PLC 逻辑,但我们会展示 PLC 中与系统和本地时间相关的一些配置,如何设置它们,以及有什么区别。
打开西门子 Tia Portal,添加一个新设备,这次我们将使用 CPU 1512C-1 PN。见图1。
图 1 – 添加新 PLC
编译并启动新的 PLC 仿真。打开在线&诊断页面,查看PLC的设定时间。见图2。
图 2 - PLC 在线时间
从上图可以看到有两个不同的时间:
- PG/PC 时间 – 这是您的 PC 本身的本地时间。
- 模块时间 – 这是 PLC 本身内部的实际时间。
这两个时间可以设置为相同的值,也可以设置为不同的值。最好使它们相同,最好使模块时间与您的本地时间相似,或者更具体地说与将使用 PLC 的地区的本地时间相似。见图3。
图 3 - PLC 设定时间
如果您希望模块时间与本地时间相同,请选择从 PG/PC 获取并按应用。
在主 OB1 中,拖放 RD_SYS_T 和 RD_LOC_T 指令。
这些是读取系统时间和读取本地时间指令。这些指令是 PLC 内部的内置功能 FC,用于将 PLC 的本地时间和系统时间写入指令输出 OUT 中选择的目的地。见图4。
图 4 – 添加读取系统和当地时间指令
添加一个新的全局数据块,并定义一些要使用的标签。见图5。
图 5 – 创建一个新的全局数据块
再次运行模拟并检查两次。见图6
图 6 PLC 在线本地时间和系统时间
从上图中可以看出,PLC 的本地时间和系统时间是相同的,但与 PC 机的实际本地时间不同。
如果您还记得的话,我们已将 PLC 的模块时间设置为与 PG/PC 时间类似,即您的本地时间。见图7。
图 7 – 模块时间和 PG/PC 时间
如您所见,在设置时间页面上,模块时间选择从 PG/PC 时间获取。但在实际情况中,它们是不同的。为什么?
为什么时代不同? 由于 PLC 本地时间的默认设置是 UTC+0 或 Zulu 时间(如果您熟悉该术语),因此您无需从在线和诊断页面更改它,而是从 PLC 本身的属性更改。见图8。
图 8 – PLC 中的时间配置
如您所见,PLC 时间的默认设置设置为 UTC+0 时间,这就是 PLC 模块时间与实际本地时间不同的原因。除非您实际上在伦敦,否则您不会遇到这个问题。
为了更正 PLC 本地时间,我们必须在配置中更改它,我们需要将时区更改为我们拥有的时区,在我的例子中是 UTC+02:00。见图9。
图 9 – 将 PLC 本地时间调整为您所在的时区
您还可以看到夏令时选项已被停用,因为它在我的国家/地区没有使用。如果您所在地区使用它,则必须激活它。
现在所有配置均已正确设置,返回并在模拟中再次查看本地时间和系统时间。见图10。
图 10 – PLC 的本地时间现在与 PC 相同
现在你看到调整 PLC 时区后,PLC 的本地时间和你所在地区的实际本地时间是一样的。
正如我们之前所说,由于我们上面提到的许多原因,设置正确的 PLC 本地时间非常重要。您现在可以定义 PLC 的系统时间和本地时间吗?
PLC 中的系统时间
是 CPU 时钟的模块时间。
CPU 时钟将模块时间解释为协调世界时 (UTC)。因此,模块时间的存储始终不包含 CPU 时钟中的“本地时区”或“夏令时”因素。然后 CPU 时钟根据模块时间计算 CPU 时钟的本地时间。
CPU 时钟的模块时间用作从 CPU 开始的所有时间处理的模板。
使用示例:
- 根据模块时间计算 CPU 时钟本地时间
- “在线与诊断” 下以当地时间表示模块时间
- CPU 诊断缓冲区中的条目
PLC 当地时间
有关时区以及夏令时和标准时间开始的信息(这些信息已在 CPU 时钟配置中设置)用于输出本地时间。
本地时间是指您的电脑上或您所在国家/地区的时间,不同地区的时间会有所不同。
结论
许多应用要求 PLC 了解过程的实时或本地时间,以便能够执行某些任务,例如数据记录和诊断任务。在以后的文章中,我们将展示一些逻辑需要实时的应用程序
应手动配置 PLC 的本地时间,以匹配 PLC 的使用区域。
Recommended Comments
There are no comments to display.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now