WinCC技巧Word文档下载推荐.docx
《WinCC技巧Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《WinCC技巧Word文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。
变量“testvar1”与“testvar2”分别显示在两个在线控件Trend1与Trend2中。
No、
步骤
1
在变量记录中,新建过程值归档“TestArchive”。
2
在归档中建立相应得变量归档(testvar1andtestvar2)。
Fig、01
选择1:
WinCCV7、0中脚本分配变量
在本例中,WinCC在线趋势控件得名称为“Control1”。
另外,建立了两个趋势,但就是并没有分配给某个变量。
分配由VBS脚本或C脚本完成。
VBS与C脚本在文件“M1_button_assign_tag、txt”中。
将WinCC在线趋势控件组态为显示最多趋势。
组态一个按钮(在对象选项板中选择“标准”〉“窗口对象”〉“按钮”)。
3
右键按钮选择属性,选择“事件”〉“按钮”〉“鼠标”。
4
右键“鼠标动作”对应得闪电符号,选择VBS动作。
5
通过如下脚本,创建一个对象(如“objCon1”)(C脚本不需要创建对象)
DimobjCon1
SetobjCon1=HMIRuntime、ActiveScreen、ScreenItems("
Control1"
)
6
将变量联系到相应得趋势中(Index0=Trend1,Index1=Trend2,、、、)。
'
testvar1
objCon1、TrendIndex=0
objCon1、TrendTagName="
TestArchive\testvar1"
testvar2
objCon1、TrendIndex=1
TestArchive\testvar2"
注意:
∙更多关于使用VBS或C脚本建立变量变化请参考条目:
10259719
∙更多关于WinCC
在线趋势控件得动态方法及属性设置请参考WinCCInformationSystem:
"
使用WinCC"
>
"
VBSforcreatingproceduresandactions"
VBSReference"
ObjecttypesoftheScreenItemobject"
Controls"
WinCCOnlineTrendControl"
选择2:
画中画技术
本例中,在画面“Trend_Function_Main、PDL”中组态了一个画面窗口,画面窗口中调用了“Trend_Function_1、PDL”与“Trend_Function_2、PDL”两个已经组态好在线趋势控件得画面。
VBS
与C脚本在文件“M2_pic_in_pic、txt”中。
在图形编辑器中,创建第一个测量点得画面。
这个PDL画面得名称最好来自于测量点得名字,并且可以从变量列表中复制其名字。
在画面中插入WinCC在线趋势控件。
连接趋势到测量点(WinCCV7、0)得归档变量(如testvar1)。
在图片中插入一个应用程序窗口并且连接到测量点得趋势模板(老板本)。
然后相应得调整图像得几何属性与应用程序窗口。
本例中,高350像素,宽550像素。
这个大小就是根据画面窗口得大小定得。
重复步骤3与4,为其她得测量点创建画面。
将应用程序窗口链接到每一个曲线模板上,然后用测量点得名字保存图像。
下一步创建一个新图片,可以用不同得按钮调用不同得趋势。
在这个画面中,为已经建好得画面插入一个宽(550pixels)高(350pixels)得画面窗口。
属性可自由选择。
警告:
不要将画面窗口连接到某个画面,这个工作就是运行时动态完成得。
在鼠标单击事件中插入如下源代码。
注意根据您得项目更改图片名称。
C动作
SetVisible("
Trend_Function_Main"
"
PictureWindow1"
1);
SetPictureName("
);
VBS动作
createobjects
SetobjCon1=HMIRuntime、ActiveScreen、ScreenItems("
configuration
objCon1、Visible=1
objCon1、PictureName="
7
现在可以通过PictureTreeManager将画面“Trend_Function_Main、PDL”合并到画面图层。
例子:
为了在项目中可以使用这些图片,必须按照前面“准备”中提到方式建立归档变量“testvar1”与“testvar2”。
此外,将下面三个PDL文件拷贝到项目文件夹下得“GraCS”中。
(、、、Siemens\WinCC\WinCCProjects\<
Project_name>
)、
此例就是在WinCCV、0、中建立得。
ZIP文件中包含了三个PDL文件(WinCC画面)与两个TXT文件(VBSandC脚本)。
如何使用C或VBS脚本通过新变量提供WinCC在线趋势控件得单个趋势?
说明:
例如,在初始条件下,过程值归档"
TestArchive"
中得变量"
testvar1"
被分配给趋势控件得曲线1(图01)。
图、01
C脚本:
现在按下面得步骤利用C脚本将过程值归档中得变量"
testvar2"
分配给趋势控件得曲线1。
首先,将在线趋势控件得"
Index"
属性设置为对应曲线号得数值。
WinCCV6、x与WinCCV7、0
SetPropWord(lpszPictureName,"
TrendIndex"
0);
将WinCC在线趋势控件(=Control1)中选择出得曲线得"
TagName"
属性或者TrendTagName设置为新得变量:
WinCCV6、x
SetPropChar(lpszPictureName,"
TestArchive\\testvar2"
WinCCV7、0
TrendTagName"
将WinCC在线趋势控件(=Control1)中选择出得曲线得"
mand"
属性设置为"
Reload"
:
不需要(趋势自动更新)
VBS脚本:
现在按下面得步骤利用VBS脚本将过程值归档中得变量"
为WinCC在线趋势控件"
创建一个对象"
objCon1"
。
首先将趋势控件得"
WinCC7、0
将在线趋势控件(=Control1)中选择出得曲线得"
属性设置为新得变量:
∙如何在运行时分配不同变量给趋势请参考条目ID:
1804857。
∙在任何情况下"
代表了在线趋势控件中CurveX得设置(更多信息请参考图形编辑器得在线帮助)。
∙请注意C脚本中变量名与归档名之间必须用"
\\"
分隔。
如何使用TagPrefix得属性?
在WinCCOnlineHelp中,通过路径“WinCCInformationSystem>
WorkingwithWinCC>
VBSforCreatingProceduresandActions>
VBSReference>
Characteristics>
T>
TagPrefixProperty”,可以瞧到关于TagPrefix属性得描述。
只有重新加载画面后,对TagPrefix属性得任何更改才生效。
这在画面更改时自动发生;
若不然,可以重新指定“PictureName”属性。
下面两个图提供了可能得C与VBS脚本。
如何使用一个通用得C函数来动态得获得对象属性得连接变量?
介绍:
使用"
GetLinkedVariable"
函数您可以读取连接到对象属性上得变量名称,"
函数返回得变量名称首先需要检查,检查正确之后您可以利用该变量名称在您得子程序段中根据需要进一步处理,如读写该变量或者修改其她对象得属性。
读取连接到IO域对象得上“输出值”属性得例子。
{
char*pszVarName=NULL;
charszVarName[_MAX_PATH+1];
//
//Readtagnameofadirectconnection
pszVarName=GetLinkedVariable(lpszPictureName,lpszObjectName,"
OutputValue"
//检查返回值
if(strlen(pszVarName)<
=0){
printf("
Error:
thepropertyisnotlinkedtoaWinCCtag!
\r\n"
}
elseif(strlen(pszVarName)>
=sizeof(szVarName)){
theCtagoccupiestoolittlememorytobeabletoacceptthepletetagname\r\n"