企业信息

    浔之漫智控技术(上海)有限公司

  • 7
  • 公司认证: 营业执照已认证
  • 企业性质:外资企业
    成立时间:
  • 公司地址: 上海市 松江区 上海市松江区松江工业区广富林路4855弄星月大业**88栋3楼
  • 姓名: 聂工
  • 认证: 手机未认证 身份证未认证 微信已绑定

    西门子低压电器全国总代理|授权代理

  • 所属行业:电气 工控电器 DCS/PLC系统
  • 发布日期:2022-12-09
  • 阅读量:29
  • 价格:面议
  • 产品规格:不限
  • 产品数量:999.00 台
  • 包装说明:不限
  • 发货地址:上海松江  
  • 关键词:西门子中国授权代理商

    西门子低压电器全国总代理|授权代理详细内容

    WinCC中定时器使用方法

    1定时器功能介绍
    WinCC中定时器的使用可以使WinCC按照*的周期或者时间点去执行任务,比如周期执行变量归档、在*的时间点执行全局脚本或条件满足时打印报表。WinCC已经提供了一些简单的定时器,可以满足大部分定时功能。但是在有些情况下,WinCC 提供的定时器不能满足我们需求,这时我们就可以通过 WinCC提供的脚本接口通过编程的方式实现定时的功能,因为脚本本身既可以直接调用WinCC其他功能,比如报表打印,也可以通过中间变量来控制其他功能的执行,比如通过置位/复位归档控制变量来触发变量记录的执行。WinCC 提供了C 脚本和VBS脚本,本文主要以全局 C 脚本编程为例介绍定时功能的实现。

    2脚本中定时器介绍
    既然在全局脚本中可以编程控制其他功能的执行,那么首先看看全局脚本的触发:


    图1 脚本触发器分类

    如图1所示: 脚本触发器分为使用定时器和使用变量, 定时器又分为周期执行和非周期执行一次,比如每分钟执行一次脚本属于周期执行,*2012年10月1日执行一次属于非周期执行。 使用变量触发脚本,即在变量发生变化时,脚本就执行一次, 而变量的采集可以根据*周期循环采集,或者根据变化采集,根据变化实际是1秒钟采集变量一次。

    3使用脚本实现更多定时器功能
    利用脚本自身的定时器, 可以通过在脚本中编程的方式实现更多其它定时功能。

    3.1整点归档
    WinCC提供了变量归档,变量归档分为周期归档和非周期归档,不管是周期归档或非周期的归档,都又可以通过一些变量或脚本返回值来控制归档, 比如:整点归档。下面的设置结合WinCC脚本,实现了在整点开始归档,归档五分种后停止归档,即每个小时仅归档**分钟的数据。

    软件环境:Windows 7 Professional Service Pack1 , WinCC V7.0 SP3
    归档名称:ProcessValueArchive
    归档变量:NewTag
    归档周期:1 分钟
    归档控制变量 startarchive
    C脚本触发周期:10秒
    脚本代码:
    #include "apdefap.h"

    int gscAction( void )
    {

    #pragma option(mbcs)
    #pragma code ("kernel32.dll");
    void GetLocalTime (SYSTEMTIME* lpst);
    #pragma code();
    SYSTEMTIME time;
    int t1;
    GetLocalTime(&time);
    t1=time.wMinute;

    if(t1==00)
    {
    SetTagBit("startarchive",1);
    }
    if(t1==05)
    {
    SetTagBit("startarchive",0);
    }
    return 0;
    }

    归档设置如图2:


    图2 归档设置

    同理,在以上脚本的基础上做修改,可以实现在某个*的时间点打印报表,只要在满足触发条件时调用下列函数:

    RPTJobPrint("Myprintjob");

    Myprintjob为事先创建好的打印作业。

    脚本主要部分在于获取系统当前时间,下面的脚本实现了获取当前时间并分别获取年、

    月、日、时、分、秒、毫秒,星期几的功能。

    Varname1到Varname8为WinCC内部变量。若在WinCC画面上显示时,由于默认I/O 域

    的格式为999.99, 要把 Varname1的显示格式改为9999。

    #include "apdefap.h"

    int gscAction( void )
    {

    #pragma option(mbcs)

    #pragma code ("kernel32.dll");

    void GetLocalTime (SYSTEMTIME* lpst);

    #pragma code();

    SYSTEMTIME time;

    GetLocalTime(&time);

    SetTagWord("Varname1",time.wYear);
    SetTagWord("Varname2",time.wMonth);
    SetTagWord("Varname3",time.wDayOfWeek);
    SetTagWord("Varname4",time.wDay);
    SetTagWord("Varname5",time.wHour);
    SetTagWord("Varname6",time.wMinute);
    SetTagWord("Varname7",time.wSecond);
    SetTagWord("Varname8",time.wMilliseconds);

    return 0;
    }

    设置或读取系统时间的函数如下:

    SetSystemTime
    SetLocalTime
    GetSystemTime
    GetLocalTime

    系统中本地计算机时间和格林威治时间是有区别的。函数“SetSystemTime /

    GetSystemTime”用于设置或读取格林威治时间。

    函数“SetLocalTime / GetLocalTime”用于设置或读取本地计算机时间。

    两种时间会因地理的时区不同而改变。两个函数使用方法相同。

    3.2 WinCC项目激活时避免脚本初次执行及延迟执行脚本

    全局脚本在项目激活时,是要执行一次的,在有些情况下,需要避免脚本执行,就采用在脚本中去判断。


    http://xhzdh007.cn.b2b168.com
    欢迎来到浔之漫智控技术(上海)有限公司网站, 具体地址是上海市松江区上海市松江区松江工业区广富林路4855弄星月大业**88栋3楼,联系人是聂工。 主要经营浔之漫智控技术(上海)有限公司-15821971992是一家西门子模块代理商,西门子PLC模块代理商,西门子低压代理商,西门子中国总代理商,西门子四芯工业以太网电缆线浔之漫智控技术(上海)有限公司经营西门子模块代理商、西门子PLC模块代理商、西门子低压代理商、西门子中国总代理商、西门子四芯工业以太网电缆线等;西门子保内全新产品‘质保一年。一年内因产品质量问题换新产品;不收取任何费。欢迎致电咨询。 。 单位注册资金单位注册资金人民币 100 万元以下。 价格战,是很多行业都有过的恶性竞争,不少厂家为了在价格战役中获胜,不惜以牺牲产品质量为代价,而我们公司坚决杜绝价格战,坚持用优质的原材料及先进的技术确保产品质量,确保消费者的合法利益。