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

  • 25
  • 0
  • 约1.51千字
  • 约 5页
  • 2016-05-04 发布于重庆
  • 举报
如何根据WinCC设置S7控制器的时间

如何根据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: 如何通过以太网组态时钟同步参考条目ID: 2416068. 如何通过PROFIBUS组态时钟同步参考条目ID: 说明: 步骤. 过程 1 创建一个数据块 (在本例中是 DB1),其中有一个 DATE_AND_TIME 类型的变量和一个Byte类型变量。 图?01:?创建 DB1 2 按照给定的顺序在FB的临时/本地区域中创建下列变量。 时戳TimeStamp定义为Date_And_Time类型 返回值ret_value定义为Int类型 3 在FB中创建一个新的network,并拷贝下面.txt文件中的STL代码到这个network中: AWL-Code.txt ( 786 bytes ) 注意: 仅当C脚本在WinCC中被调用时,时间才被设置。SFC0 必须先添加到Step7程序的块文件夹中。 用SET_CLK设置完时钟后,触发变量被复位。 在此段程序中,本地变量DateAndTime存储在以0为起始地址的本地数据堆栈中。如果不得已要把这个变量分配到别的地址,同时对传送指令参数化时,必须要考虑到地址分配的问题。(见图 2)。 4 打开WinCC,在变量管理器中,按照下表建立Unsigned 8-bit value类型的变量,并在Adapt format处选择ByteToBCDByte(在图2中以DB1_YEAR为例)。 图?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 使用循环动作或“按钮”动作调用该函数。 版本: 上述步骤是在以下环境中测试的: ? 组件 产品和版本名称 计算机操作系统 Microsoft Server 2003 SP2 标准工具 STEP 7 V5.4 SP4 上位机软件 WinCC 7.0 选件 --- S7控制器 S7 416 2 PN/DP

文档评论(0)

1亿VIP精品文档

相关文档