品质好的西门子S7-1500可编程控制器一级代理

2023-12-07 10:10 114.82.101.41 2次
发布企业
上海地友自动化设备有限公司商铺
认证
资质核验:
已通过营业执照认证
入驻顺企:
2
主体名称:
上海地友自动化设备有限公司
组织机构代码:
91310117MA1J20GF1A
报价
请来电询价
品牌
西门子
型号
参数详情
产地
德国
关键词
西门子S7-1500可编程控制器
所在地
上海市金山区枫泾镇朱枫公路8678弄 8134号
手机
18721545542
经理
方祖付  请说明来自顺企网,优惠更多
请卖家联系我
18721545542

产品详细介绍

品质好的西门子S7-1500可编程控制器一级代理品质好的西门子S7-1500可编程控制器  

器的使用可以使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项目激活时避免脚本初次执行及延迟执行脚本

全局脚本在项目激活时,是要执行一次的,在有些情况下,需要避免脚本执行,就采用在脚本中去判断。比如可以创建WinCC内部布尔型变量flag,脚本如下:

if ( GetTagBit("flag")==1)
SetTagWord("NewTag",1);//根据自己的需求编写对应代码.
else
SetTagBit("flag",1); //Return-Type: BOOL

除了避免项目运行激活时触发脚本执行,我们还可以通过Sleep()延迟脚本功能执行,比如开机后五分钟开始执行脚本具体功能,代码如下:

#pragma option(mbcs)
#pragma option(mbcs)
#pragma code("Kernel32.dll");
void Sleep(int milliseconds);
#pragma code()

Sleep(300000); //延迟300秒即五分钟

int temp;

//根据自己的需求编写对应代码.


所属分类:中国电工电气网 / PLC
品质好的西门子S7-1500可编程控制器一级代理的文档下载: PDF DOC TXT
关于上海地友自动化设备有限公司商铺首页 | 更多产品 | 联系方式 | 黄页介绍
法定代表人方祖付
注册资本100
主营产品S7-200CN、S7-200、Smart200、S7-300、S7-400、S7-1200、触摸屏、6FC、6SN、S120、V10、V20、G110、G120、6RA、伺服数控备件、NCU、MM系列变频器
经营范围自动化设备、机电设备、电气设备、机械设备及配件、五金交电、电子元器件、仪器仪表、电线电缆批发零售;自动化科技领域内的技术开发、技术咨询、技术转让、技术服务
公司简介上海地友自动化设备有限公司本着“以人为本、科技先导、顾客满意、持续改进”的工作方针,致力于工业自动化控制领域的产品开发、工程配套和系统集成,拥有丰富的自动化产品的应用和实践经验以及雄厚的技术力量,尤其以PLC复杂控制系统、传动技术应用、伺服控制系统、数控备品备件、人机界面及网络/软件应用为公司的技术特长,几年来,上海地友公司在与德国SIEMENS公司自动化与驱动部门的长期紧密合作过程中,建立了良好 ...
公司新闻
顺企网 | 公司 | 黄页 | 产品 | 采购 | 资讯 | 免费注册 轻松建站
免责声明:本站信息由企业自行发布,本站完全免费,交易请核实资质,谨防诈骗,如有侵权请联系我们   法律声明  联系顺企网
© 11467.com 顺企网 版权所有
ICP备案: 粤B2-20160116 / 粤ICP备12079258号 / 粤公网安备 44030702000007号 / 互联网药品信息许可证:(粤)—经营性—2023—0112