㈠ 如何在WinCC中调用脚本程序
wincc的脚本程序分两种:
1.
局部脚本,针对控件或对象的某个属性的脚本,写在控件的属性中。
2.
全局脚本,作为背景程序运行。在全局脚本编辑器中编写,需要指定触发器。
㈡ WinCC中VB全局脚本用法
s("count").write 0
endif
tag(1)=hmiruntime.tags("start_sav").write tag(0)''保存触发变量的状态
tag(2)=tag(2)+1
if tag(2)>10 then''脚本运行10个周期后
需要延时执行的脚本内容
tag(2)=10‘防止计数溢出
end if
㈢ 请问wincc中怎么用全局脚本建立外部变量和内部变量的连接
连接?如果我没有理解错的话可能你是想读写wincc变量吧?
在脚本中,C脚本基本是这样的语句:
FloatF;
F=GetTagFloat(“TAG1”)这样就可以读出TAG1的数值,不管TAG1是外部变量还是内部变量,在脚本中都要加上“”,否则就默认是对脚本内部使用的变量读写。
如果想向某一个变量写数值的话可以使用SetTagFloat(“TAG1”,99.2)这样TAG1就被设置成了99.2这样的值。另外个对word类型的数据还有SetTagWord()函数,其他类型的也有,看一下帮助。
#include"apdefap.h"
intgscAction(void)
{
#pragmaoption(mbcs)
GetTagWord(Tag_Name);//Return-Type:WORD
GetTagValue(lpdmVarKey,lpdmresult,lpdmError);//Return-Type:BOOL
GetTagSWord(Tag_Name);//Return-Type:shortint
GetTagSDWord(Tag_Name);//Return-Type:longint
GetTagSByte(Tag_Name);//Return-Type:char
GetTagRaw(Tag_Name,pValue,size);//Return-Type:BOOL
GetTagFloat(Tag_Name);//Return-Type:float
GetTagDWord(Tag_Name);//Return-Type:DWORD
GetTagDouble(Tag_Name);//Return-Type:double
GetTagChar(Tag_Name);//Return-Type:char*
GetTagByte(Tag_Name);//Return-Type:BYTE
GetTagBit(Tag_Name);//Return-Type:BOOL
SetTagWord(Tag_Name,value);//Return-Type:BOOL
SetTagValue(lpdmVarKey,lpdmValue,dwState,lpdmError);//Return-Type:BOOL
SetTagSWord(Tag_Name,value);//Return-Type:BOOL
SetTagSDWord(Tag_Name,value);//Return-Type:BOOL
SetTagSByte(Tag_Name,value);//Return-Type:BOOL
SetTagRaw(Tag_Name,pValue,size);//Return-Type:BOOL
SetTagFloat(Tag_Name,value);//Return-Type:BOOL
SetTagDWord(Tag_Name,value);//Return-Type:BOOL
SetTagDouble(Tag_Name,value);//Return-Type:BOOL
SetTagChar(Tag_Name,value);//Return-Type:BOOL
SetTagByte(Tag_Name,value);//Return-Type:BOOL
SetTagBit(Tag_Name,value);//Return-Type:BOOL
return0;
}
㈣ wincc如何添加全局脚本
不知道你的是tia版本还是经典版。
tia版本的你需要确定是pro的版本,才能用脚本。
经典版的在编辑界面里面就有全局脚本。
㈤ WinccIO域变量格式调整
运行脚本、新建变量、添加变量、添加脚本即可。详细步骤如下:
1.设定启动项目时运行全局脚本运行系统,路径:计算机-->属性-->启动--全局脚本运行系统打勾。2.新建变量,本经验使用了WinCC仿真软件,未连接PLC。故使用内部变量,若实际项目中连接了PLC,则整数类型变量需要使用外部变量,浮点数类型变量依然是内部变量.3.画面上添加对应的变量,添加完成后保存画面,本经验添加了两个静态文本和两个输入/输出域,分别用与显示转换前数据跟转换后数据。4.添加全局脚本,将数值进行转换。脚本代码:HMIRunTime.Tags("floatTest").Write,HMIRunTime.Tags("intTest").Read*0.01。5.运行项目.6.打开仿真器,并添加对应变量运行,记得将active打勾才能开始模拟。6.可以查看效果,随机生成数值。
㈥ 启动WinCC项目全局动作脚本就执行怎么办
但对于某些触发器设置,在WinCC项目启动后,虽然没有满足触发器条件,但动作脚本仍然会执行一次,例如周期触发器及变量变化触发器。
对于周期触发器,可以在其全局脚本中加一个WinCC内部Bool型变量(例如,变量a),如ifa=1then脚本内容;elsea=1;
对于变量变化触发器,如果要求只有当触发器变量(例如变量b)值从0跳转到1时才执行全局动作,可以在全局脚本中增加一个用来计数的内部变量c:
ifc=0orc=1thenc=c+1;
ifb=1andc<1then脚本内容;
如果要求只有当触发器变量(例如变量b)值从1跳转到0时才执行全局动作,可以在全局脚本中增加一个用来计数的内部变量c:
ifc=0orc=1thenc=c+1;
以上脚本相关只是一个思路,具体使用时要遵守脚本规范。
㈦ 怎样用wincc VBS全局脚本做弹出窗口
用切换变量前缀的方式来做,画面窗口的变量前缀用VBS来变换,脚本如下:
Dim pic
Set pic=ScreenItems("画面窗口1") '获取当前画面里的对象"画面窗口1"
pic.CaptionText="标题文本"
pic.TagPrefix="变量前缀"
pic.ScreenName ="画面名"
pic.Visible=True '设置显示
㈧ 如何编写全局脚本让WINCC启动时只执行一次
如果是触发器里只有变量和定时,可用动作名称为Autoload.pas初始化脚本C:\ProgramFiles\Siemens\WinCC\options\PAS\autoload.pasWinCC选件“BasicProcessControl(BPC)”的C动作(Action)“autoload.pas”2。
㈨ wincc客户机不参与全局脚本运行
设置、错误。wincc客户机不参与全局脚本运行原因如下:
1、检查触发设置有没有,没有的话设置好触发就行了。
2、使用脚本诊断功能,看看脚本是不是有错误,是不是执行一半不执行了呢。