说明:
下表显示了一个如何组态 S5 和基于 Windows 的操作员面板之间的时间同步的实例。该实例使用 S5-115U 944B。在该条目结束处提供一个供下载的实例项目。
n
编号 |
时间同步 |
1 |
S5:参数化 DB1 内部功能 n
CPU 具有可按要求设置的功能。在这种情况下,使用内部时钟。有关 CPU 是否具有集成时钟的信息,请参见相应的手册。通常,所有“B”型 CPU 均支持该功能。 |
2 | S5:参数化 DB1 n
PLC 已经有一个具有预设值的 DB1。如果完全复位 PLC,然后安装 DB1,则显示下列结构。n
图 01n
该预设置 DB1 包含分别用于功能“TFB”和“SDP”的一个参数块。 参数块轮询功能的参数。它始终从块标识符开始,然后跟随一个冒号。 冒号后必须有至少一个以上空格。分号(;)标记参数块的末尾。参数位于块标识符和分号(;)之间n
下面是可用于参数化块的参数列表。然而,不是所有的功能都是必需的。 注意事项: 例如,可以在语句后添加附加信息如“_clock data”,就和参数“CLK_clock data”中一样。n
图 02n
下图更为详细地描述了所附带实例的参数设置。可以相应地更改所使用的 DB/MB。n
图 03n
所使用的参数和 DB/MB : 块标识符:CLP 时钟数据区:CLK DB5 DW0 时钟的状态字:STW MB110 在 STOP 中更新:STP J 在 RUN/STOP 中保存时钟时间:SAV J 保存时钟时间:SET 3 和“设置相应的日期和时间” 结束标识符:END n
这样就完成了 DB1 的参数化。将 DB1 传送到控制器中。如果是一个无效条目,则 PLC 保持位于 STOP 状态。n
注意事项:
- 必须始终从正在使用的 PLC 类型下载 DB1。例如,无法在 S5-944B 中使用来自 S5-95U 的 DB1。n
- 可以从条目号 1085937 中下载的手册“S5-115U Programmable Controller”中,获得关于 DB1 结构及其参数的详细信息。n
- 请牢记传送时钟数据区(DB5)的 DB。
|
3 |
S5:时钟数据区的结构(DB5) n
对于时钟数据区,以“KH”格式创建一个长度为 21 个字的 DB。 下图显示了时钟数据区的完整结构。n
图 04n
在该实例中下列参数相关: 图 05n
字 0 - 3 用于读出 CPU 系统时间。 (=> 在实例程序的 FB2 中)。n
字 4 -7 用于设置 CPU 系统时间。 (=> 在实例程序的 FB4 中)。 |
4 | S5:判断系统时间 n
读出 CPU 系统时间: 为确定 CPU 系统时间,从时钟数据区 (DB5) (数据字 0-3) 读取数据。通过 S5 程序,将该数据分配给面板的区域指针“Date/Time PLC”。
在第 B 章的基于 Windows 系统的通讯手册中给出了区域指针的详细描述。 可以在条目号 1405528 中下载本手册。n
区域指针“Date/Time PLC”的结构: 图 06n
写入/编辑 CPU 系统时间: 如果希望更改 CPU 的系统时间,则将相应的数据 (小时、分钟等) 分配给时钟数据区 (DB5) (数据字 4-7)。 为了执行功能,必须在状态字 (MB110) 中置位第二个位。通过该方式,在 CPU 中接受“已修改的”系统。 可通过状态字 (MB110) 执行错误评估。 可以在条目号 1085937 下载的手册“S5-115U Programmable Controller”中找到关于“状态字”的详细信息。 |
5 | ProTool 组态 n
显示系统时间: 为了在面板上接受 CPU 的系统时间,在 ProTool 中创建一个区域指针“Date/Time PLC”。 该区域指针用于通过 PLC 更新面板上的系统时间。按要点 4 所述,通过 S5 程序分配数据。 自动更新面板上的系统时间,更新取决于为区域指针“Date/Time PLC”组态的采集周期。n
若要在面板上显示系统时间,在画面中插入一个“Date/Time”域。n
注意事项: 区域指针“Date/Time PLC”的时间不能选择得太短 (例如,1 秒),因为这将增加太多的通讯负载,影响面板性能。n
更改/处理系统时间: 若要更改 CPU 的系统时间,为每个参数创建一个独立输入域 (小时、分钟、秒等)。 这些数值通过 S5 程序评估,并被分配给“时钟数据区”。 通过面板上的一个键激活系统时间更改,这将置位状态字中的位 2 (MB110)。 如果操作员出错,则可通过状态字显示此错误 (MB110,位 0)。n
注意事项: 如果操作员按下了用于更新系统时间的键,则面板更新显示所需的时间是区域指针“Date/Time PLC”采集周期所组态时间的两倍。
实例: 组态 10 秒钟的采集周期。按下用于更新系统时间的键后,大约需要 20 秒钟,才能在面板上显示新时间。
图:变量声明: 图 07 |
6 | 实例程序中的 ProTool 功能注意事项
总览: 图 08
通过输入域“day”/“month”/“year”等,在面板上输入期望的日期和时间。通过“Date/Time Panel --> PLC”按钮,将数据集传送到控制器。 如果识别出错,例如在“month”域中输入了“13”,而不是“12”,则中止编辑,发送出错消息“wrong input”。 一旦检查并更正了条目,可以再次按下“Date/Time Panel --> PLC”按钮重新执行该功能。 |
7 | 实例程序的 S5 程序注意事项
DB1: 首先从 PLC 下载 DB1,然后对它进行参数化。 => 定义了时钟数据区 (DB5) => 定义了状态字 (MB110)。 参见要点 2。
DB5: 包含了长度为 21 个字的“时钟数据区”。通过 DB5 完成 CPU 系统时间。
DB10: 在该 DB 中单独存储数据,如日/月/年等。
FB2: 通过功能块 FB2 读出 CPU 系统时间。 通过时钟数据区 DB5 首先将系统时间复制到“scratch flag”。然后将数据分配给“Date/Time PLC”的区域指针。
FB4: 通过功能块 FB4 评估来自面板的数值。 首先将单个数值复制到“scratch flag”。 然后将数据分配给时钟数据区 DB5。
在面板上通过“Date/Time Panel --> PLC”按钮的边沿评估执行“Time synchronization”。 将数据传送到 DB5 的时钟数据区,从而在 CPU 中接受来自面板的数值。 |
项目文件:
使用 ProTool V6.2 SP3 创建 MP370 Touch 面板。
使用 STEP 5 V7.23 创建 S5 程序。
下面的下载包含一个具有上面所述功能和 STEP 5 组态的 Mp370 Touch 项目。可按要求更改应用程序,满足您的要求。
Projekt_S5_Uhr.zip ( 22 KB )
关键字:
设置时间
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc334770.html