采用以下方式可以设置 HMI 设备的系统时间:
· 组态的时间同步(仅适用带最新式 HMI 设备的 S7-1200/1500)
可以为连接组态设置“主站-从站自动进行时间同步”。
· 操作员手动输入(输入/输出模式中的日期/时间显示)
操作员手动输入极其不可靠,因为,该操作完全取决于操作员,且不能对其进行强制。
· 组态的 CPU 时间同步(区指针:PLC 的日期/时间)
“循环地进行时间同步”功能的组态非常简单;且无需对 CPU 程序进行较大的扩展。因此,人们经常使用该方法。
这种情况下,HMI 设备在第一个时间周期结束前一直使用操作系统的初始时间。
· 通过 PLC 程序(的控制请求)完成编程时间设置
通过 CPU 程序完成编程时间设置:该方法采用了一种机制,据此,可以从 CPU 程序中运行 HMI 设备内的相关函数。此外,该方法还可以降低 HMI 设备上的通信负荷;还意味着,需要在 CPU 程序中完成更多的编程工作。
当 HMI 设备需要在启动时间立即获得当前时间,且 HMI 设备的通信负荷不允许为 CPU 时间同步组态很短的采集周期时,才需要采用该方式。
1.WinCC 的时间同步功能采用主站-从站系统的工作方式。对于某个工厂中采用相同时间进行工作的全部组件,其中一个系统组件必须为其余的全部组件提供时钟。充当时钟的组件被称之为时间主站。接收时间的组件就是时间从站。
时间同步的属性
· 工作于“主站模式”(Master mode) 时,每建立一个连接,都进行一次时间同步。
· 工作于“从站模式”(Slave mode) 时,每建立一个连接,都进行一次时间同步;此外,运行期间,每 10 分钟也进行一次时间同步。
组态时的限制
· 只能为 S7-1200 的CPU 进行该组态
只能为安装了 Windows CE V5.0、V6.0 或 Windows XP 的 HMI 设备进行该组态
· 如果某个 HMI 设备拥有多个至 SIMATIC S7 1200 的连接
® 只能将其中一个连接组态成“从站”
· 如果某个 HMI 设备采用作为某个“从站”的该 HMI 设备的时间同步
® 则没有其它的全局性 “PLC 的日期/时间”(Date/TimePLC) 区指针可以使用
HMI 时间同步模式
· “无”(None)® 无时间同步
· “主站”(Master)® HMI 设备设置时间
· “从站”® 控制器设置时间
工作原理
CPU 程序将 CPU 实时时钟的时间保存在变量 DATE_AND_TIME t中(该变量在例如某个数据块中声明)。
HMI 设备定期从控制器中读该变量,并同时更新 HMI设备的系统时间。
CPU 循环与用来访问该 HMI 设备以更新 CPU 上的该变量的循环是异步的。
因此,CPU 程序必须不断地或循环地更新保存在该变量中的时间戳,以确保 HMI 设备读该变量时,该变量中的时间戳都是最新的。
时间戳传送区
声明 DATE_AND_TIME 变量(CPU 将时间戳保存在该变量中,HMI 设备从中读出时间戳并将其用于时间同步。画面中的 "CPU_DateTime")时,必须确保在该变量后面一个长为 4 字节(或双字)的“预留”数据区。原因在于,对于数据类型为 "DATE_AND_TIME" 的变量,HMI 设备会读 12 个字节,而非 8 个字节。
利用“PLC 的日期/时间”(Date/time PLC)区指针,可以对“从 CPU 中提取系统时间”进行组态。时间同步随着连接分配(在“连接”(Connection)栏位中)而启用;该数据区在“地址”(Address)栏位中定义。
在“采集循环”(Acquisition cycle) 栏位中的已组态时间,定义用来读存储在 CPU 上的该数据的间隔时间。毫无疑问,这会导致 HMI 设备出现连续的性能负荷。为此,应将该时间长度组态为尽可能短的必要值。
在第一次采集循环结束前,HMI 设备仍然使用以前的操作系统系统时间(若未缓存该时间,则采用初始时间)。