本文由安徽京准电子科技公司提供请勿转载!
目 录
1 概述
2 功能块 FBSyncSimotionToHMI介绍
2.1 操作模式
2.2功能块 LAD 框图
3 在 SIMOTION中的编程
3.1导入库文件
3.2创建变量
3.3 功能块“FBSyncHMIToSimotion”
4 在WinCC flexible中的设置
4.1通讯设置
4.2区域指针设置
5 程序示例
1 概述
在工厂自动化控制系统中各设备必须保证具有相一致的时间参考,以便能够为归档信息及报警等分配一个清晰的时间戳。对于数据归档及故障分析建议使用时间同步功能,将各设备同步到一个标准的时间。
时间同步基于标准的世界时间 UTC (Universal Time Coordinated),对应于格林尼治标准时间。在自动化系统中,控制器,操作面板及监控系统或 SCADA 系统均可成为主时间。
SIMOTION 与西门子触摸屏的时间同步可通过调用SIMOTION的系统功能块及触摸屏编程软件的设置来实现。
2 功能块 FBSyncSimotionToHMI介绍
功能块“FBSyncSimotionToHMI”允许用户将Simotion 系统平台的日期及时间自动与西门子人机界面的系统时间进行同步。
2.1 操作模式
通过WinccFlexible的区域指针“Area Pointer”将HMI的系统时间及日期同时传送到Simotion 平台。为了正确使用区域指针,在Simotion侧需要准备好数据。
(1) 通过输入参数“execute”的上升沿执行此 FB 功能块。
(2) 将任务号41写入至HMI的“Job mailbox”。
(3) 通过区域指针类型“date / time”,HMI 为FB提供日期及时间。
(4) 从传送的时间中提取单独的小时,分及秒。
(5) 从区域指针传送过来的值转换为类型为“TIME OF DAY”数据类型。
(6) 从传送的日期中提取单独的天,月及年。
(7) 通过帮助功能块“FBHelpSyncSimotionToHMI”,使用数学公式计算公历日历,计算闰年,计算从控制器开始日期 (01.01.92) 经过的天数。通过 Marshalling功能,将类型为“DINT”的数据转换为类型为“DATE”的数据。
(8) 通过类型转换将数据类型为“TIME_OF_DAY”及“DATE”组合为“DATE_TIME”。
(9) 调用系统功能块,将计算值设置为真实的时钟 (RTC) 。
集成至系统应用中
为了使用功能块“FBSyncSimotionToHMI”,在Simotion及WinCC Flexible中必须完成下述工作:
- 在 Simotion中:
– 创建全局数组:类型为 WORD的 4个元素,代表写入至HMI的 “Job mailbox” 的任务号。
例如:gabHMIJobBox : ARRAY[0..3] OF WORD;
– 创建全局数组:类型为 WORD的 6个元素,代表“date / time”。
例如:gabdateAndTime : ARRAY[0..5] OF WORD;
- 在WinCC Flexible中:
区域指针“date/time”及“Job mailbox” 必须与Simotion创建的全局变量相连接。
上述步骤完成后,Simotion平台的系统时间及日期可以被HMI设备同步/校准。
功能块必须在循环任务中调用。
2.2功能块 LAD 框图
图1.
输入/输出参数:
元素 | 参数类型 | 数据类型 | 初始值 | 描述 |
---|---|---|---|---|
execute | IN | BOOL | FALSE | 开始同步 |
HMIJobBox | IN/OUT | ARRAY [0..3]OF WORD | 连接“Job mailbox” | |
dateAndTime | IN/OUT | ARRAY [0..5]OF WORD | 连接 “date/ time” | |
systemDateAndTime | OUT | DT | 用于RTC的Date / time |
表1.
3 在 SIMOTION中的编程
3.1导入库文件
3.2创建变量
区域指针及“Job mailbox”必须在 SIMOTION 中定义为全局变量,本例中定义在 “TimeSyn”单元中:
图3.
在 SIMOTION 中调用时钟同步功能块时需要此区域指针。当HMI控制器作为主时间时,区域指针用于从HMI传递日期及时间至控制器。SIMOTION在所需时间间隔内周期性地读取数据并且同步自已的时钟。
注意:不要配置一个极短的循环周期用于日期/时间区域指针,因这将对操作面板的性能产生负面影响。建议获取数据间隔为10分钟。 |
---|
3.3 功能块“FBSyncHMIToSimotion”
功能块“FBSyncHMIToSimotion”可用于将Simotion平台的系统日期及时间与HMI的日期及时间进行同步,必须在循环任务中调用,用LAD方式编程如下:
图4.
4 在WinCC flexible中的设置
4.1通讯设置
- .选择项目 → Operator panel → Communication → Connections
- .创建Simotion与HMI的连接关系:
图5.
4.2区域指针设置
选择“Area pointer”标签并从 SIMOTION 程序单元中选择变量进行“Date/Time” 及“Job mailbox”的连接: