当前位置:首页 >> 产品展示 >> 电工电气 >> 综合 >>西门子6SL3211-0KB17-5BA1
西门子6SL3211-0KB17-5BA1放大图片

产品价格:88   元(人民币)
上架日期:2016年4月11日
产地:德国
发货地:上海  (发货期:当天内发货)
供应数量:不限
最少起订:1台
浏览量:22
  暂无相关下载
其他资料下载: 附件下载

         
上海赞国自动化科技有限公司

点击这里给我发消息
  详细说明  
品牌:西门子产地:德国
价格:88人民币/台规格:全新原装

简要说明:西门子牌的西门子6SL3211-0KB17-5BA1产品:估价:88,规格:全新原装,产品系列编号:齐全

详细介绍:

  西门子6SL3211-0KB17-5BA1 ,西门子6SL3211-0KB17-5BA1

                           {心中有空间,梦想就有可能}

                 {西门子与客户携手,让关键所在,逐一实现}

联   系   人: 黄勇《黄工》   24小时联系手机:  13701633515
直线销售 电 话: 021-31660605    在 线 商 务 QQ:  77956468 
单位:台                                                                                  产品单价:电议

供货数量:不限                                                                      最小定量:1

包装说明:齐全                                                                      产品规格:全新原装

WinCC中定时器使用方法介绍

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

1
                         图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"
intgscAction( 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);    
 } 
return0;
}
归档设置如图2:

                     图2   归档设置
    同理,在以上脚本的基础上做修改,可以实现在某个指定的时间点打印报表,只要在满足触发条件时调用下列函数:    
       RPTJobPrint(" Myprintjob");
      Myprintjob为 事先创建好的打印作业。 
       脚 本主要部分在于获取系统当前时间,下 面的脚本实现了获取当前时间并分别获取年、月、日、时、分、秒、毫秒,星期几的功能。
 
    Varname1 到 Varname8 为 WinCC 内部变量。若在 WinCC画面上显示时,由于默认 I/O 域的 格式为999.99, 要把 Varname1 的显示格式改为9999。 
  #include "apdefap.h"
intgscAction( 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 项目激活时避免脚本初次执行及延迟执行脚本
    全局脚本在项目激活时,是要执行一次的,在有些情况下,需要避免脚本执行,就采用在脚本中去判断。比如 可以创建 WinCC 内部布尔型变量 flag,脚本如下:
  #include "apdefap.h"
intgscAction( void )
{
      #pragma option(mbcs)
 
      if ( GetTagBit("flag")==1) 
              SetTagWord("NewTag",1);//根据自己的需求编写对应代码.
     else
              SetTagBit("flag",1);    //Return-Type: BOOL
return0;
}
    除了避免项目运行激活时触发脚本执行,我们 还可以通过 Sleep() 延迟脚步功能执行,比如开机后五分钟开始执行脚本具体功能,代码如下:
  #include "apdefap.h"
intgscAction( void )
{
        #pragma option(mbcs)

西门子STL间接寻址常问问题集

1.1如何获得指针或者间接寻址有关的信息?
指针的类型包括16位指针、32位指针、Pointer(6Byte)和Any(10Byte)。16位指针用于定时器、计数器、程序块的寻址;32位指针用于I/Q/M/L/数据块等存储器中位、字节、字以及双字的寻址,其中第0~2位表示位地址(0~7)、第3~18位为字节地址,其余位未定义;Pointer和Any一般应用在复杂数据类型(比如Date_and_Time /Array/String等)在FB、FC之间的传递。而Any可以看做是对Pointer的延伸,因为由10Byte组成的Any中Byte4~Byte9就是一个Pointer。
了解指针的格式十分重要,为正确使用指针,应阅读如下内容:
1、 "SIMATIC Programming with STEP 7 V5.5" 05/2010 第27.3.4章 参数类型
2、文档:1008用于S7-300 和S7-400 的语句表(STL)编程
3、文档:F0215,S7-300和S7-400寻址 1.2为什么语句 LAR1 P##PointerInput 在一个函数(FC)中是无效的,然而,同样的语句在一个功能块(FB)中是有效的?
在FC被调用时,复杂数据类型例如指针是被复制到调用者的临时变量区中,在FC内部对此V区地址直接取址放入到地址寄存器AR1或AR2是不被编译器规则接受的(导致MC7寄存器信息过长),也就是说在FC内部通过P#进行地址寄存器取址仅能支持Temp临时变量。因此如果需要在FC中操作指针等复杂输入输出变量地址需要使用累加器进行中转。
考虑到程序的一致性、遵守编译器规则和STL手册中LAR1指令说明,建议用户使用如下指令操作:
L P##PointerInput
LAR1 1.3 STEP 7 中哪些操作会覆盖DB/DI寄存器或者地址寄存器AR1/AR2的内容?
下面说明了可能引起DB/DI寄存器或者地址寄存器AR1/AR2内容改变的一些操作:


  • DB寄存器和AR1受到影响的操作
    1. 使用完整的DB路径(如L DB20.Val)或者调用FC/FB时使用DB块完整地址作为其参数,则DB寄存器内容被覆盖。
    例如在OB1中调用FC1后,DB寄存器变成20。
    OPN DB1
    Call FC1
    Input(bit):DB20.DBX0.2
    因此在编程的时候,OPN 指令打开数据块,通过DBX x.y的方式访问其中内容, 但是如果在打开数据块后DB寄存器的内容被修改了,则DBX x.y的方式访问变量则 会访问到错误的地址。可以通过使用符号寻址的方式或者使用完整路径编程避免,当 然重新使用 OPN指令也是可以的。
    2. 调用FC时使用string, array, structure ,UDT作为其形参或者调用FB时使用string, array, structure 或者UDT作为其in out形参,在FC/FB程序中访问这些地址则AR1寄存器内容被覆盖,因此当使用AR1进行间接寻址时需要注意AR1内容的正确性。
  • AR2地址寄存器和DI寄存器在FB中作为参数和静态变量的基址寻址使用。AR2和DI如果被修改,会影响FB的参数访问,如果希望在FB中使用DI寄存器或者地址寄存器AR2,必须预先保存它们中的内容,并在使用后恢复它们,例如:
    TAR2 #AR2_SAVE; //AR2寄存器状态保存到#AR2_SAVE
    L DINO;
    T #DB2_SAVE; //DI寄存器状态保存到#DB2_SAVE
User Program
LAR2 #AR2_SAVE; //AR2寄存器恢复到使用前状态
OPN DI [#DB2_SAVE]; //DI寄存器恢复到使用前状态
1.4 如何得到多重背景FB中的变量在背景DB里的绝对偏移量呢?
可以用下面的方法处理:
TAR2 (得到多重背景FB在背景DB里的偏移地址)
AD DW#16#00FFFFFF (屏蔽掉存储区ID,可参考32位指针格式)
L P##Variable (得到变量在多重背景FB里的地址)
+D (多重背景FB的偏移地址与变量在多重背景FB里地址相加,即得到实际绝对偏移量)
LAR1
上述语句就是就得到了变量在背景DB中的绝对偏移量,从而供后续程序处理。 1.5如何在程序中使用ANY 型指针? 简要说明如下:
L P##Input //指向存储地址指针Input首地址
//这个参数是一个Any类型,P##Input指向参数Input的值所在地址,这就是指针的指针
LAR1 //装载到地址寄存器AR1中。
L W [AR1,P#4.0] //打开DB块
// 由Any类型结构知道Any类型的Byte4、Byte5存放的数据块号
T #BLOCK_NO
OPN DB [#BLOCK_NO] //如果是DB块,打开指定的DB块。
L W [AR1,P#2.0] //判断ANY指针中数据长度
// Any类型的Byte2、Byte3是重复系数,如P#DB1.DBX0.0 Byte 8后面的Byte 8
_001:T #DATA_LEN //通常此处做loop循环!!
L D [AR1,P#6.0] //找出需要计算数据区的开始地址
// Any类型Byte6~Byte9是32位区域地址
理解Pointer、Any的类型的数据结构,对于正确使用指针有很大帮助。
为正确使用指针,应仔细阅读如下内容:
"SIMATIC Programming with STEP 7 V5.5" 05/2010 第27.3.4章 参数类型 如下的程序实现了SFC20的部分功能,可以作为Any使用的参考。
FUNCTION FC 1 : VOID
TITLE =
VERSION : 0.1
VAR_INPUT
SRCBLK : ANY ;
END_VAR
VAR_OUTPUT
RETVAL : INT ;
DSTBLK : ANY ;
END_VAR
VAR_TEMP
LOOP : INT ;
BLOCK_NO_DB : WORD ;
BLOCK_NO_DI : WORD ;
SRC_ADD : DWORD ;
DST_ADD : DWORD ;
END_VAR
BEGIN
NETWORK
TITLE =
L P##SRCBLK; //读取输入any的首地址
LAR1 ; //装载到ar1
L P##DSTBLK; //读取输出any的首地址
LAR2 ; //装载到ar2
L W [AR1,P#4.0]; //打开DB块
T #BLOCK_NO_DB;
L W [AR2,P#4.0]; //打开DI块
T #BLOCK_NO_DI;
OPN DB [#BLOCK_NO_DB]; //打开DB块
OPN DI [#BLOCK_NO_DI]; //打开DI块
L D [AR1,P#6.0];
T #SRC_ADD; //读取地址
L D [AR2,P#6.0];
T #DST_ADD; //读取地址 L W [AR1,P#2.0]; //读取循环次数
_001: T #LOOP;
L DBB [#SRC_ADD];
T DIB [#DST_ADD]; //赋值
//地址偏移1个字节
L P#1.0;
L #SRC_ADD;
+D ;
T #SRC_ADD;
L P#1.0;
L #DST_ADD;
+D ;
T #DST_ADD;
L #LOOP; //循环
LOOP _001;
END_FUNCTION 1.6 当FC 或FB的输入参数类型为:BLOCK_DB, TIMER或者 COUNTER,如何确定其编号?
例1 :FB 块
FB1 变量声明中定义了“ Timer” 类型的变量“ Time_1” ,在 FB2 中调用 FB1,将定时器“T5”传递给变量“ Time_1”。如图 01 所示程序代码中数值 5 表示“T5”。


图 01 FB中确定定时器编号 在使用多重实例时,需要在图 01 所示程序中增加以下代码:
TAR2 //多重实例偏移地址
LAR1 P##Time_1
+AR1 //多重实例偏移地址与当前地址相加
L W[AR1,P#0.0]
T MW0
例 2 FC
FC1 变量声明中定义了“ Timer” 类型的变量“ Time_1” ,在 FC2 中调用 FC1,将定时器“T8”传递给变量“ Time_1”。如图 02 所示程序代码中数值 8 表示“T8”。


  • 3 英寸至 15 英寸理想的入门级系列,用于操作和监控紧凑型机器和系统
  • 由于使用像素图形显示屏,可以清晰地显示过程
  • 使用触摸屏和触觉功能键实现直观的操作
  • 配备所有必需的基本功能,如警报记录、配方管理、绘图、矢量图形和语言切换
  • 通过集成的以太网接口或带有 RS485/422 的单独版本可以简单地连接到控制器
    • 全集成自动化 (TIA) 的集成组件:
      提高生产率,最小化工程费用,减少生存周期成本
      • 由于采用垂直组态(4" 和 6" 设备),即使在安装空间受限时也可使用
      • 缩短组态和调试时间
      • 由于免维护型设计和背光显示器使用寿命较长,维修十分方便
    • 由于具有输入/输出字段、矢量图形、趋势曲线、条形图、文本和位图等要素,可以简单、轻松地显示过程值
    • 图片库,带有现成的图形对象
    • 可全球使用:
      • 可组态 32 种语言(包括亚洲和西里尔字符集)
      • 在线可在多达 5 种语言间切换
      • 相关语言文本和图形

    SIMATIC HMI 基本面板与面板和多功能面板产品系列的现有触摸设备安装兼容。

    KP300 基本型单色 PN
    • 3.6" FSTN 像素图形,单色
    • 1 个以太网接口(TCP/IP、PROFINET)
    • 触控设备,配备10个功能键和10个系统键。
    • Text Displays (TD 100C, TD 200/TD 200C, TD 400C) 和 OP 73 、 OP 73micro的创新后继产品。
    KTP400 Basic 单色 PN
    • 3.8" STN,单色
    • 1 个以太网接口(TCP/IP、PROFINET)
    • 触摸屏和 4 个触觉功能键
    KTP600 Basic 单色 PN
    • 5.7" STN,单色
    • 1 个以太网接口(TCP/IP、PROFINET)
    • 触摸屏和 6 个触觉功能键
    • TP 177micro//TP 177A 创新的后续产品
    KTP600 基本型彩色 PN 或 DP
    • 5.7" TFT,256 色
    • 1 个以太网接口(TCP/IP、PROFINET)或
      1 个 RS 485/422 接口(MPI,PROFIBUS DP;单独版本)
    • 触摸屏和 6 个触觉功能键
    • TP 177micro//TP 177A 创新的后续产品
    KTP1000 基本型彩色 PN 或 DP
    • 10.4" TFT,256 色
    • 以太网接口 (TCP/IP, PROFINET) 或
      1 个 RS 485/422 接口(MPI,PROFIBUS DP;单独版本)
    • 触摸屏和 8 个触觉功能键
    TP1500 Basic 彩色 PN
    • 15.0" TFT,256 色
    • 1 个以太网接口(TCP/IP、PROFINET)
    • 触摸屏
    • 永久性窗口和模板概念,用于生成屏幕模板
    • 输入/输出域
      用于显示和更改过程参数
    • 按钮
      用于直接初始化功能和动作。在按钮上最多可以同时配置 16 种功能。
    • 图像
      可以用作 ICON 以代替用作功能键或按钮的文本标签。它们还可以用作全屏背景图像。
      组态工具包含带有大量图形和多种对象的库。所有的带有 OLE 接口的编辑器都可以用作图形编辑器(比如 Paint Shop,Designer 或者 CorelDraw)。
    • 矢量图形
      基本几何形状(直线,圆和矩形)可以在组态工具中直接创建
    • 固定文本
      可以以任何字符尺寸用作功能键,过程图和过程值的标签
    • 曲线功能和直方图
      可用于以图形形式显示动态值
    • 语言切换:
      • 5 种在线语言,32 种组态语言,包括亚洲和西里尔字母字符集。
      • 相关语言文本和图形
    • 可按照各个部门的要求进行用户管理(安全性)
      • 通过用户名和密码进行身份验证
      • 特定用户组的优先级
    • 发信系统
      • 离散警报
      • 模拟报文
      • 具有可自由定义的消息级别(如状态/故障消息),用于定义确认响应和显示消息事件
      • 历史消息
    • 配方管理
    • 帮助文本
      过程屏幕、消息和变量
    • 算术函数
    • 极限值监控
      用于输入和输出的可靠过程控制
    • 指示灯
      用于指示机器和设备状态
    • 任务计划器,用于循环执行功能
    • 模板概念
    • 在模板中组态的显示元素将出现在每个显示中
    • 可以通过如下方法简单地进行维护和组态:
      • 用 ProSave 在 PC 上备份和还原组态,操作系统,数据记录和软硬件数据
      • 通过 MPI/PROFIBUS DP 或以太网下载组态
      • 自动传输识别
      • 单独对比设定与校准
      • 清洁屏幕
      • 无须电池


该公司其他信息
最新供求信息 企业产品推荐

暂无产品
  在线询盘/留言 请仔细填写准确及时的联系到你!  
您的姓名:
* 预计需求数量: *
联系手机:
*  移动电话或传真:
电子邮件:
* 所在单位:
咨询内容:
*
           您要求厂家给您提供:
  • 规格,型号
  • 价格及付款条件
  • 产品目录
  • 最低订货量
  • 运送资料
  • 提供样本
  • 库存情况
  • 包装材料