如何根据WinCC设置S7控制器的时间

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

如何根据WinCC设置S7控制器的时间?

描述:

下面的方法只能进行时间设置而不能完成时间同步的功能。因为必须考虑到延迟,比如报文的处理时间,C 脚本的运行时间等,因此这个方法在精度方面不如真正的时间同步精确。

还要注意时间跳变(向前/向后)的发生,这就意味着这个方法不适用于必须按时间正向顺序的应用。

The following solution writes the time (type

DATE_AND_TIME) with a WinCC script into a global data block (DB) of the controller下面的方法是使用WinCC的脚本把时间(DATE_AND_TIME类型)写到PLC的全局数据块(DB)中。在function block (FB)中,时间从DB中读出并写到临时/本地变量(时戳)中。该变量在系统功能块"Set_Clock"调用时被传送,从而设置到PLC中。

更多信息:

•时钟同步的设置参考条目ID: 16622902.

•如何通过以太网组态时钟同步参考条目ID: 2416068.

•如何通过PROFIBUS组态时钟同步参考条目ID:

11932931.

说明:

过程

骤.

1 创建一个数据块(在本例中是DB1),其中有一个

"DATE_AND_TIME" 类型的变量和一个"Byte"类型变量。

图 01: 创建DB1

2 按照给定的顺序在FB的临时/本地区域中创建下列变量。

1.时戳TimeStamp定义为"Date_And_Time"类型

2.返回值ret_value定义为"Int"类型

3 在FB中创建一个新的network,并拷贝下面.txt文件中的

STL代码到这个network中:

AWL-Code.txt ( 786 bytes )

注意:

图 02: 在WinCC变量管理器中创建DB1_YEAR

名称地址

DB1_YEAR DB1.DBB0 (已经在图02中创建) DB1_MONTH DB1.DBB1

DB1_DAY DB1.DBB2

DB1_HOUR DB1.DBB3

DB1_MINUTE DB1.DBB4

DB1_SECOND DB1.DBB5

DB1_FLAG DB1.DBB8

图 03: 必需的变量

5 打开全局脚本编辑器,使用“文件>新建项目函数”新建项目

函数

6 删除函数模版,插入下面.txt文件中的C脚本并保存。

C-Skript.txt ( 542 bytes )

7 使用循环动作或“按钮”动作调用该函数。

版本:

上述步骤是在以下环境中测试的:

U DB1.DBX 8.0

SPBN end

L DB1.DBB 0 // Year

T LB 0

L DB1.DBB 1 // Month

T LB 1

L DB1.DBB 2 // Day

T LB 2

L DB1.DBB 3 // Hour

T LB 3

L DB1.DBB 4 // Minutes

T LB 4

L DB1.DBB 5 // Secounds T LB 5

L DB1.DBB 6 // 1/1000 Sec T LB 6

L DB1.DBB 7 // 1/1000 Sec T LB 7

CALL "SET_CLK"

PDT :=#TimeStamp

RET_VAL:=#ret_value

R DB1.DBX 8.0 //reset Flag

end: NOP 0

相关文档
最新文档