文档库 最新最全的文档下载
当前位置:文档库 › wincc工作总结

wincc工作总结

wincc工作总结
wincc工作总结

一.在wincc中左登陆界面,其中可以设几个用户名合密码

1、打开WINCC项目--用户管理器--单击右键添加新用户--设置登录名及口

令账户名1234 密码111111

2、创建画面 NewPdl0.Pdl(登陆界面) NewPdl11.Pdl(登陆成功界面)

3、在NewPdl0.Pdl(登陆界面)画两个输入框输入输出域1(输入账户)输入输出域2(输入密码)

先对输入框做调整,属性---》输出/输入输出值:0 数据格式:字符串输出格式 *

退出时应用是隐藏输入否

属性---》事件-----》输入/输出域--------》属性主题------>输出/输入-----》输入值内的更改选择C动作

加入C脚本函数

#include "apdefap.h"

void OnPropertyChanged(char* lpszPictureName, char* lpszObjectName, c har* lpszPropertyName, char* value)

{

SetOutputValueChar(lpszPictureName,lpszObjectName,GetInputValueChar(l pszPictureName,lpszObjectName));

}

两个输入框都一样

4、在NewPdl0.Pdl(登陆界面)画两个按钮确定退出

选择确定属性---》事件---》鼠标内的鼠标动作选择C动作

加入C脚本函数

#include "apdefap.h"

void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszP ropertyName)

{

#pragma code ("UseAdmin.DLL")

#include "pwrt_api.h"

#pragma code ()

if (PWRTSilentLogin(GetInputValueChar(lpszPictureName,"输入输出域1"),GetInputValueChar(lpszPictureName,"输入输出域2")) == FALSE) MessageBox (NULL, "错误,请重新输入!" , "提示

", MB_ICONEXCLAMATION| MB_SYSTEMMODAL );

//错误时候跳出windows自带的出错对话框

}

else

OpenPicture("NewPdl1.Pdl");}//成功就开打 NewPdl11.Pdl(登陆成功界面)选择取消属性---》事件---》鼠标内的鼠标动作选择C动作

加入C脚本函数

#include "apdefap.h"

void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszP ropertyName)

{

ExitWinCC ();//退出wincc

//Exit WinCC用于退出WinCC组态和运行系统;

//Exit Wincc or WIndows 共有4个选项,可选择注销或重启等;

//Exit WinCC Runtime则用于退出运行系统;可以选择一种代替上面

}

二.画中画

1、建立一个你要最总要在小画面显示的小画面,在这个画面当中做一个按钮,作用是当你在小窗口调用完这幅画面后隐藏本窗口的如下图对这个按钮进行设置,其中的隐藏按钮

画面基本设置好后,可在画面中做你要实现的功能即可。

2、在主画面当中先加一个画面窗口,然后在画面窗口的属性当中的其它进行设

在设置选项当中进行设计需要设置的参数有“显示”设置成否、“边框”是“标题”设置成是、“画面名称”填成你事先建好的要显示在这个窗口中的画面名称、“标题”中填写这个这个窗口在运行时要显示的标题。

3、在主画面当中选择一个要调用这个窗口的按钮或静态文本之类都可,设置如下图:

其中在对象栏中,选择你事先做好的画面窗口,然后利用此按键进行调用。

三、如何实现在按钮中添加密码,在登陆后才能进行相应是操作,同时要求要在同一画面当中显示出来。

具体步骤如下:

(1)利用画中画原理用按钮调出一个登陆的小窗口,同时注意,在按钮中所设置的密码是wincc用户管理器中所设置的密码账户。

(2)处理登陆画面,

(3)

做两个按钮,一个是登陆按钮,一个是推出按钮,

在登陆按钮当中鼠标属性

#include "apdefap.h"

void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)

{

#pragma code ("UseAdmin.DLL")

#include "pwrt_api.h"

#pragma code ()

if (PWRTSilentLogin(GetInputValueChar(lpszPictureName,"输入输出域1"),GetInputValueChar(lpszPictureName,"输入输出域2")) == FALSE)

MessageBox (NULL, "错误,请重新输入!" , "提示", MB_ICONEXCLAMATION| MB_SYSTEMMODAL );

//错误时候跳出windows自带的出错对话框

else if (GetTagWord("35KV开关中间变量")==1)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口2",1);

推出按钮的设置和画中画中的隐藏按钮设置方法相同。

(4)利用画中画原理建立画面窗口2,即可实现。

四、在三的基础之上,用N个按钮同时要加密,利用一个登陆窗口,其它要求同三

具体解决方法如下;

(1)

首先建立一个中间变量在释放左键的同时给变量置数“释放左键”的设置如下图

(2)在登陆画面当中改变登陆按钮的程序即可

#include "apdefap.h"

void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)

{

#pragma code ("UseAdmin.DLL")

#include "pwrt_api.h"

#pragma code ()

if (PWRTSilentLogin(GetInputValueChar(lpszPictureName,"输入输出域1"),GetInputValueChar(lpszPictureName,"输入输出域2")) == FALSE)

MessageBox (NULL, "错误,请重新输入!" , "提示", MB_ICONEXCLAMATION| MB_SYSTEMMODAL );

//错误时候跳出windows自带的出错对话框

else if (GetTagWord("35KV开关中间变量")==1)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口2",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==2)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口3",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==3)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口4",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==4)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口5",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==5)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口6",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==6)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口7",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==7)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口8",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==8)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口9",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==9)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口10",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==10)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口11",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==11)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口12",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==12)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口13",1);//成功就开打NewPdl11.Pdl(登陆成

功界面)

else if (GetTagWord("35KV开关中间变量")==13)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口14",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==14)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口15",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==15)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口16",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==16)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口17",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==17)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口18",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==18)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口19",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==19)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口20",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==20)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口21",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==21)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口22",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==22)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口23",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==23)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口24",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==24)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口25",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==25)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口26",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==26)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口27",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==27)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口28",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==28)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口29",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==29)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口30",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==30)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口31",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==31)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口32",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==32)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口33",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==33)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口34",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==34)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口35",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==35)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口36",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==36)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口37",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==37)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口38",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==38)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口39",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==39)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口40",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==40)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口41",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

else if (GetTagWord("35KV开关中间变量")==41)//Return-Type: BOOL

SetVisible("35KV变电主画面.PDL","画面窗口42",1);//成功就开打NewPdl11.Pdl(登陆成功界面)

}其它步骤和三相同

五、如何给归档的模拟量系数处理

(1)在变量记录里面进行归档,但是有时候要对这些原始数据进行处理,具体的处理方法如下:

首先在在全局脚本中的C编辑进行C脚本编写,在项目函数下面建立c脚本

double Myfunc(double doLmtValue,double doValue)

{

return (doValue*0.001);

}

程序注解:double Myfunc 是建立的函数名,可改动

double doLmtValue,代表函数归档的最后一次的值。

double doV alue是归档值

*0.001是这个归档值要进行处理的系数,不同的变量改变这个值即可

return (doValue*0.001);经过处理的值作为返回值,任系统调用。

(2)归档变量的系数处理

在归档变量的属性当,参数选项中选择相应的项目函数即可。具体如下图

(1)、新建一个画面,设置画面对象

量添加几个

具体程序如下:

Sub OnOpen()

Dim cboComboBox

Set cboComboBox = ScreenItems("控件2")

cboCombobox.AddItem "-320m中段破碎变AH2-Ia"

cboCombobox.AddItem "-320m中段破碎变AH2-Ib"

cboCombobox.AddItem "-320m中段破碎变AH2-Ic"

cboComboBox.AddItem "-320m中段破碎变AH2-Uab"

cboComboBox.AddItem "-320m中段破碎变AH2-Ubc"

cboComboBox.AddItem "-320m中段破碎变AH2-Uca"

cboComboBox.AddItem "-320m中段破碎变AH2-I0"

cboCombobox.AddItem "-320m中段破碎变AH2-U0"

cboCombobox.AddItem "-320m中段破碎变AH2-P"

cboCombobox.AddItem "-320m中段破碎变AH2-Q"

cboCombobox.AddItem "联络AH3-Ia"

cboCombobox.AddItem "联络AH3-Ib"

cboCombobox.AddItem "联络AH3-Ic"

cboComboBox.AddItem "联络AH3-Uab1"

cboComboBox.AddItem "联络AH3-Ubc1"

cboComboBox.AddItem "联络AH3-Uca1"

cboComboBox.AddItem "联络AH3-Uab2"

cboCombobox.AddItem "联络AH3-Ubc2"

cboCombobox.AddItem "联络AH3-Uca2"

cboCombobox.AddItem "联络AH3-P"

cboCombobox.AddItem "联络AH3-Q"

End Sub

(2)添加一个控件1 wincc online trend control将它的数值轴设置成自动,把名称改为历史趋势,

(3)、在添加控件2 combobox设置如下:

(4)添加一个按钮,名称曲线查询,设置如下:

具体程序如下:

Sub OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y)

Dim objCon1

Dim a,b

Set objCon1 = HMIRuntime.ActiveScreen.ScreenItems("历史趋势")

Set a=HMIRuntime.tags ("QS_V ALUE")

a.Read ()

b = a.Value

objCon1.Index = 0

a.Read ()

b = a.Value

objCon1.Index = 0

If b = 0 Then

objCon1.TagName = "JXBD\-320m中段破碎变AH2-Ia"

End If

If b = 1 Then

objCon1.TagName = "JXBD\-320m中段破碎变AH2-Ib"

End If

If b = 2 Then

objCon1.TagName = "JXBD\-320m中段破碎变AH2-Ic"

End If

If b = 3 Then

objCon1.TagName = "JXBD\-320m中段破碎变AH2-Uab"

End If

程序注解:Set objCon1 = HMIRuntime.ActiveScreen.ScreenItems("历史趋势"),代表下面的变量的趋势将显示在控件1中,注意"历史趋势"必须和控件1的名称一致。

If b = 0 Then 代表下拉菜单当中的变量

objCon1.TagName = "JXBD\-320m中段破碎变AH2-Ia"代表在b=0的情况下执行这个变量,这个变量在变量记录中的归档变量。

七、水位的越限填充指示

#include "apdefap.h"

long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)

{

#pragma option(mbcs)

float a;

int value;

a=GetTagFloat("1#泵组PLC-液位");

if (a>4500)

value=100;

else

value=0;

return value;

}

注意,填充式100是代表填充满,0不填充,同时要把动态填充设置成是

水位图案填充显示:

5m填满,填充变量为XXX,100/填充量=5/变量

故,填充量=20*XXX

八、报表的做法

1,根据实际情况建立Excel

2,建立SQL用户

(1)从开始-----程序-----SQl serve management studio进入SQl主界面

(2)在server type 中选择datebase engine

在server name 中填“本计算机名称/WINCC”

在Autnenticationg中选择windous Autnenticationg进入(3)在Datebase 中New database 命名为Northwind(此名自己随便定义)

(4)在Security------logins 中New logins Logins name tk(此名自己随便定义)

选择SQL server autnenticationg,然后去掉所有的对号,

输入密码(一般设成和用户名一样)

在Default database 中选择Northwind,其它不设置

此时可在Logins中看到tk

(5)在Database----Northwind------Securrity-----User中new user

(6)在User name 和Logins name 中输入tk(注意User name 和Logins name是不同的意思这里取一样的名称好记)

在Default schema中添加----dbo---ok

在Owned Schemas 和Role Members 中选择db-owner--------ok0

此时,在User下面可看见tk

(7)在Northwind------Table中new table(保存时另起名称zz_zz),建好之后

zz_zz-----Properties(属性)-----Permission-----Add【guest】【public】【tk】添加,然后在

在Grant中分别给三相全部打对号,-----保存新建完成。

此时关闭SQL从新进入,登陆。

3、从WIncc中往SQL中写数据

(1)、根据第一步做好的Excel依次给每个量建一个存储数据的存储变量,注意第一个是时间数据类型是datetime 第二个是编号数据类型是int 从第三个开始依次按Excel往下写即可。

(2)、在初步调试阶段先做一个画面,在画面上面添加一个按钮,这个按钮用来给SQL 中存数据可在按钮的鼠标动作中添加VB动作具体程序如下:

Sub OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y)

Dim database,server,uid,pwd

Dim strcn,cn

Dim is_sql

Dim

a1,b1,c1,d1,e1,f1,g1,h1,i1,j1,k1,l1,m1,n1,o1,p1,q1,r1,s1,t1,u1,v1,w1,x1,y1,z1,aa1,bb1,cc1,dd1,ee 1,ff1

Dim

dli1,dlp1,dlq1,dlc1,dli2,dlp2,dlq2,dlc2,dli3,dlp3,dlq3,dlc3,dli4,dlp4,dlq4,dlc4,dli5,dlp5,dlq5,dlc5, dli6,dlp6,dlq6,dlc6,dlua7,dlub7,dluc7,dlua8,dlub8,dluc8,dlt1,dlt2

Dim date_old,date_new,hh,yy,mm,dd,nn

Dim LocalMachineName,str1

date_old = Now()

yy=DatePart("yyyy", Now()) ‘//DatePart函数:返回给定日期的指定部分

mm=DatePart("m", Now())

dd=DatePart("d", Now())

hh=DatePart("h", Time())

nn=DatePart("n", Time())

date_New = Now()

hh=DatePart("h", Time())

'nn=DatePart("n", Time())

Set LocalMachineName=HMIRuntime.tags("@LocalMachineName")

LocalMachineName.Read()

str1 = LocalMachineName.V alue

'server = "SERVER="& str1 &"\WINCC"

server = "SERVER=JK5\WINCC"

database="bdz"

uid="sanwukv"

pwd="sanwukv"

Set a1=HMIRuntime.tags ("35KV杨店线富全分支相电流Ia") a1.read()

dli1 = a1.Value*0.0001831111*120

Set b1=HMIRuntime.tags ("35KV杨店线富全分支有功功率") b1.read()

dlp1 = b1.Value*0.03170873*350*120/1000

Set c1=HMIRuntime.tags ("35KV杨店线富全分支无功功率") c1.read()

dlq1 = c1.Value*0.03170873*350*120/1000

Set d1=HMIRuntime.tags ("35KV杨店线富全分支功率因数") d1.read()

dlc1 =d1.Value*0.00003051851

Set e1=HMIRuntime.tags ("35KV富全线相电流Ia")

e1.read()

dli2 = e1.Value*0.0001831111*120

Set f1=HMIRuntime.tags ("35KV富全线有功功率")

f1.read()

dlp2 = f1.Value*0.03170873*350*120/1000

Set g1=HMIRuntime.tags ("35KV富全线无功功率")

g1.read()

dlq2 = g1.Value*0.03170873*350*120/1000

Set h1=HMIRuntime.tags ("35KV富全线功率因数")

h1.read()

dlc2 =h1.Value*0.00003051851

Set i1=HMIRuntime.tags ("35KV1#主变高相电流Ia")

i1.read()

dli3 = i1.Value*0.0001831111*80

Set j1=HMIRuntime.tags ("35KV1#主变高有功功率")

j1.read()

wincc标准函数介绍

标准函数 该系统包含标准函数。可以按需要修改这些函数。此外,还可以自己创建标准函数。 该系统包括一个标准函数集。 一、Alarm - 简短描述 Alarm组包含控制WinCC报警控件的函数。标准函数可用于工具栏中的每一个按钮。这些函数可用来创建自定义工具栏,例如选择画面,或者定义控件上的设置。 1.void AcknowledgeMessage(DWORD MsgNr)函数,确认消息系统中带编号的消息,该编号被传递为参数。 使用标准函数操作WinCC报警控件的实例 {//确认选择的报警记录消息 AcknowledgeMessage(GetTagWord("U08i_MsgNr")); } 指定待确认的消息号。在本例中是从变量读取的。 2.BOOL AXC_OnBtnArcLong(char* lpszPictureName, char* pszMsgWin)函数,在消息窗口中该函数表示消息存储在长期归档中。 使用标准函数操作WinCC报警控件的实例 {// 跳转到WinCC报警控件中的第一条消息 AXC_OnBtnMsgFirst("gs_alarm_00","Control1"); } AXC_OnBtnMsgFirst函数参数: “gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。 Control 1是WinCC报警控件的对象名。 3.BOOL AXC_OnBtnArcShort(char* lpszPictureName, char* pszMsgWin)函数,在消息窗口中该函数表示消息存储在短期归档中。 使用标准函数操作WinCC报警控件的实例 {// 跳转到WinCC报警控件中的第一条消息 AXC_OnBtnMsgFirst("gs_alarm_00","Control1"); } AXC_OnBtnMsgFirst函数参数: “gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。 Control 1是WinCC报警控件的对象名。 Control 1是WinCC报警控件的对象名。 4.BOOL AXC_OnBtnComment(char* lpszPictureName, char* pszMsgWin)函数 外部消息窗口操作,该函数显示先前所选消息的注释。 使用标准函数操作WinCC报警控件的实例 {// 跳转到WinCC报警控件中的第一条消息 AXC_OnBtnMsgFirst("gs_alarm_00","Control1"); } AXC_OnBtnMsgFirst函数参数: “gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。 Control 1是WinCC报警控件的对象名。 5.BOOL AXC_OnBtnEmergAckn(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,此函数打开确认对话框(紧急确认/复位)。

集成电路设计产业平台项目简介(完整版)

集成电路设计产业平台项目简介 集成电路设计产业平台项目简介 一、项目申报单位基本情况 **海恒投资控股集团公司作为国家级**经济技术开发区国有资产授权运营管理机构,截至目前总资产达130亿元。旗下拥有海恒股份、公用事业公司、丹霞地产、项目管理公司、明珠物业、香怡物业、索菲特明珠国际大酒店、迎宾馆、国际会展中心、康拜、西伟德、徽园、金源热电、金晶水务等近三十家全资、控股及参股公司,主要经营业务涉及房地产开发、基础设施建设、社区建设、酒店业、会展服务、物业管理、金融产业、旅游产业、环保产业、能源供应等多个领域。海恒集团立足开发区、服务开发区,发展开发区,现已成为开发区企业管理的平台、资本运作的平台、资金融通的平台和入区项目服务平台。 二、项目建设必要性和意义 在集成电路(IC)产业链中,集成电路制造是基础,而集成电路设计是龙头。IC设计是将系统、逻辑与性能的设计要求转化为具体的物理版图的过程,也是一个把产品从抽象的过程一步步具体化、直至最终物理实现的过程。 **是电子信息产业大省,但设计研发力量薄弱。设计研发是集成电路整体产业链条中的关键环节,高风险、高投入、高技术、高产值。其平台建设耗资巨大,一般企业无法自己承担,又缺乏高水平的公共研发平台,很多企业只好跑到**、**等地具备条件的软件园去搞

研发,或是干脆将这一核心业务外包给别的企业。这使得我省集成电路产业大而不强,进一步发展受到局限。 作为全国第三大家电制造基地,目前**市电冰箱、洗衣机占全国产量的20%以上,是全国家电产品种类、品牌集中度最高的地区之一。拥有自主知识产权的集成电路产品是提升整机企业核心竞争力的关键,随着系统级芯片的发展,IC设计研发生产将成为整机企业生存的一个最重要的支点。同时,**省汽车工业规模强劲增长,在全国汽车产业格局中占据着重要的位置。在产业集群化发展趋势的带动下,未来汽车电子产业基地即将形成,从而将有力带动对上游集成电路产品的需求增长。日益旺盛的市场需求将促使我省集成电路设计产业迅速发展。 平台遵循“政府主导、高端引领、公共服务、开放共享”的原则,面向全省转方式调结构、推进集成电路产业发展以及高端设计团队的需求,着眼集成电路领域前沿技术,高起点、高标准规划建设。在软件方面,配备当今最先进EDA设计软件,可以完成数字电路、模拟电路、数模混合等多个设计流程,既满足千万门级的设计需求,同时也可以完成十万门级以下的设计。在硬件方面,配备也非常先进。同时,还将配备业界主流产品的大学计划软件,帮助IC设计人员和在校学生快速提高设计能力和技术水平。 平台的建成,将有效降低IC设计企业的初创成本和经营风险,为集成电路创新团队提供公共设计平台、设计咨询、流程方法学、版图设计、MPW等专业化服务,同时在风险投资、市场开发、项目管理和人才培训等方面提供支持。今后,**IC平台将在技术支撑、人才培训、企业孵化、招商引资、产业聚集等方面开始发挥越来越重要的作用,

如何构建一个WinCC冗余项目

如何构建一个WinCC冗余项目 The procedure of working with a Wincc redundancy project

摘要本文详细描述了WinCC冗余系统从购买、安装到创建、编辑、诊断的操作过程和需要注意的事情。 关键词 WinCC 冗余 Key Words WinCC redundancy IA&DT Service & Support Page 2-16

目录 1.冗余系统简介 (4) 2.搭建WinCC冗余项目的必要条件 (4) 2.1 软件和授权 (4) 2.2 安装系统环境 (5) 3.组态WinCC冗余系统 (5) 3.1 创建Windows用户 (5) 3.2 创建一个WinCC项目 (6) 3.3 冗余功能设置 (7) 3.4 复制项目到冗余服务器 (9) 3.5 客户机的设置 (11) 3.5.1 客户端没有本地项目 (11) 3.5.2 客户端有本地项目 (12) 3.6 初次启动冗余项目 (14) 3.7 冗余的简单诊断 (15) IA&DT Service & Support Page 3-16

如果需要使用WinCC冗余系统时,请仔细阅读下面的文档,它将解决以下几个问题:(1)WinCC冗余有什么样的功能? (2)需要购买什么样的授权? (3)应该安装在怎么样的系统上? (4)如何为用户配置操作系统的权限? (5)如何创建WinCC的冗余服务器项目? (6)如何创建WinCC的客户机? (7)如何诊断冗余错误和识别冗余工作状态? 除此之外,对于需要引申的内容,该文档还提供了相关内容的链接地址和帮助路径,方便用户更加系统地学习WinCC冗余内容。 1.冗余系统简介 WinCC冗余是两台互联的WinCC并行工作,并基于事件进行同步,提高了系统的可靠性。WinCC冗余具有下列功能: (1)故障自动识别,故障恢复后自动同步变量记录、报警消息、用户归档。 (2)在线同步变量记录、报警消息、用户归档。 (3)服务器故障时,客户端自动切换到可用的服务器。 (4)自动识别伙伴服务器的状态,并实时显现主备服务器的工作状态。 (5)自动生成系统故障信息,及时发现服务器软件故障。 如果项目中有上述需求,WinCC冗余可以方便项目的实施。 2.搭建WinCC冗余项目的必要条件 2.1 软件和授权 授权名称个数安装位置备注 WinCC RT/RC 2 每个服务器上1个至少一个RC WinCC/Redundancy 1 每个服务器上1个一个订货号包含两 个冗余授权WinCC/Server 2 每个服务器上1个多用户项目WinCC RT 128 与客户端的数目相等每个客户机上1个需要客户端 表 01 IA&DT Service & Support Page 4-16

wincc中使用vbs常用函数.

wincc 中使用vbs 常用函数 1. 函数array() 功能: 创建一个数组变量 格式:array(list) 参数:list 为数组变量中的每个数值列,中间用逗号间隔 例子: <% i = array ( “1”, ”2”, ”3”) %> 结果: i 被赋予为数组 2. 函数Cint() 功能: 将一表达式/ 其它类型的变量转换成整数类型(int) 格式:Cin t(expressio n_r) 参数:expression」是任何有效的表达式/其它类型的变量 例子: <% f = ” 234” response.write cINT(f) + 2 %> 结果: 236 函数Cint() 将字符” 234”转换成整数234.如果表达式为空, 或者无效时, 返回值为0; 3. 函数:Creatobject() 功能: 创建及返回一个ActiveX 对象. 格式:Creatobject(obname)

参数bname 是对象的名称 例子: <% Set con = Server.CreateObject( “ADODB.Connection”) %> 结果: 4. 函数Cstr() 功能: 将一表达式/其它类型的变量转换成字符类型(string) 格式:Cstr(expression_r) 参数:expression」是任何有效的表达式/其它类型的变量例子: <% s = 3 + 2 response.write ”The result is: ” & cStr(s) %> 结果: 函数Cstr() 将整数 5 转换成字符” 5”. 5. 函数Date() 功能: 返回当前系统(server 端) 的日期 格式: Date() 参数:无 例子<% date () %> 结果:05/10/00

项目维护平台简介

项目维护平台简介 编写人:杨伟 编写日期:2011-11-21 1背景 随着IT项目增多且越来越复杂,给项目维护带来一定难度。IT系统出现故障后,通常先有了客户投诉,维护人员才知道故障,然后进行排查。本平台的服务探测,在系统出现故障的第一时间通知相应人员,并运行事先配置的角本以恢复服务。维护人员收到告警短信后,可人工检查服务运行状态,保障系统稳定运行,从而提高客户满意度。 在节假日、凌晨,维护人员不在现场时,系统出现宕机等重大故障,维护人员赶到现场、或者通过VPN 进入专网处理,不仅给维护人员带来一定的工作压力,并且不能在重大故障出现的第一时间处理问题。本平台将自动处理并通知相应人员。从此客户项目经理、厂家项目经理、维护人员外出时也不用担心系统故障当您的系统承载了公司核心业务,微小故障也会带来重大损失时,请您使用本平台的资源管理。资源管理对主机性能、应用状态、数据库三个层次巡检,在系统出现异常或即将出现异常前通知您。 当您的系统在测试环境运行正常,而生产环境却变得缓慢;新上线系统运行不稳定;系统运行时间较长后变得缓慢等情况,本平台的性能分析将帮助您查找原因,分析线程、CPU、内存、每个方法占用的CPU资源等。 当您的系统部署到多台主机,每次升级时,是否感觉在多台主机上备份文件、升级文件、重启服务非常繁琐。如果您遇到这种情况,请使用本平台的升级管理,只需鼠标轻轻一点,将对各台主机自动升级,并且可根据备份文件回退。 2适用范围 适用于运行在unix、aix、solaris、linux、windows等环境上的IT系统。 通过使用本平台,可将日常维护工作流程化、自动化。有经验的维护人员在本平台上配置的维护内容,可供后来者学习,成为维护经验,新手可根据前辈配置的维护内容,快速入门。也有助于AB角的推行。 本平台中的主机性能监控和BOMC有一定重叠,但绝大部分功能是不一样的,并且使用对象、应用场景均不同。本平台是提供给每个项目的维护人员使用。 3工作原理 本平台与管理的IT系统在同一网络中,通过自定义socket或telnet、SSH、FTP与管理的IT系统服务器交互。采用自定义socket时,需要在IT系统服务器上部署一个IPM_CLIENT客户端。维护人员通过web方式接入本平台。 图3.1 4功能介绍 4.1资源管理 资源管理可手动、自动采集主机性能指标、角本运行指标、数据库指标、业务办理指标,根据配置的阀值发送短信、邮件告警。 主机性能指标 包括磁盘空间使用率、CPU使用率、内存使用率、磁盘IO等待、Page Space等。 如:除了告警,还可比较各时间段采集的性能指标,帮助发现系统存在的问题。 角本运行指标 运行配置的角本,根据执行结果判断是否异常。

wincc_课程设计报告

摘要 本设计是利用WINCC7.0设计一个单用户的项目,内容包括基本过程界面的组态,及常用变量的关联及使用方法。在设计中使用过程值归档,并利用表格趋势控件输出过程值归档。报警显示使用报警控件,显示模拟量报警。WINCC支持脚本语言,设计中包括有VB脚本及C脚本的使用。利用画面窗口控件可以实现多画面切换,便于多画面显示。在最后利用MSCOMM控件实现了简单的串口通信,通过虚拟串口与串口调试助手进行通信。 关键词:WINCC VB脚本C脚本

目录 摘要 (1) 目录 (2) 1 概述 (3) 1.1 WINCC浏览器概述 (3) 1.2 设计目的 (3) 1.3 设计任务 (3) 2 主界面配置及主画面介绍 (4) 2.1 主界面配置(main.Pdl) (4) 2.2 多画面切换 (4) 2.3 主画面 (5) 3 过程值归档及表格、趋势控件配置 (6) 3.1 过程值归档 (6) 3.2 表格控件使用 (6) 3.3 趋势控件使用 (7) 4 报警记录组态 (8) 4.1 组态报警及模拟量报警 (9) 4.2 报警控件组态 (9) 5 脚本介绍 (10) 5.1 C脚本使用 (10) 5.2 VB脚本使用 (13) 6 MSCOMM控件及添加 (15) 6.1 Active控件添加 (15) 6.2 MSCOMM控件使用 (16) 7 心得体会 (18) 8 参考文献 (19)

1 概述 1.1 WINCC浏览器概述 SIMATIC WinCC是第一个使用最新的32位技术的过程监视系统,具有良好的开放性和灵活性。 从面市伊始,用户就对SIMATIC WinCC(Windows Control center)印象深刻。一方面,是其高水平的创新,它使用户在早期就认识到即将到来的发展趋势并予以实现;另一方面,是其基于标准的长期产品策略,可确保用户的投资利益。凭籍这种战略思想,WinCC,这一运行于Microsoft Windows 2000和XP下的Windows控制中心,已发展成为欧洲市场中的领导者,乃至业界遵循的标准。如果你想使设备和机器最优化运行,如果你想最大程度地提高工厂的可用性和生产效率,WinCC当是上乘之选。 WINCC软件包括WINCC项目管理器及图形编辑器。 项目管理器支持的组态工具包括变量管理、画面生成、组态消息系统的编辑器、过程值存档、报表系统、脚本建立、用户管理系统等。 图形编辑器主要用来对新建画面的配置,添加控件。在对象调色板里包括标准对象、智能对象、窗口对象、管对象及Active控件类。还可以在库中选择控件等。 1.2 设计目的 使用常用控件制作一个综合界面,可以实现画面切换,过程值组态及表格趋势控件使用。组态报警变量实现报警功能。利用VB或C脚本实现对变量值的自增一功能及切换画面等。 1.3 设计任务 1、学会使用变量及基本画面的组态 2、学会过程值的归档 3、表格及趋势控件的组态 4、报警控件的组态 5、VB脚本及C脚本的使用

wincc vbscript Split 函数用法

vbscript Split 函数用法 用法:传回数组 = Split(原始字串, 要找的字串, 拆成几个数组) 描述 返回一个下标从零开始的一维数组,它包含指定数目的子字符串。 语法 Split(expression[, delimiter[, count[, compare]]]) 例如用逗号(,)分割字符串为数组 复制代码代码如下: str="1,2,3,4" strarr=split(str,",") for i=0 to ubound(strarr) msgbox strarr(i) next Split函数语法有如下几部分: 部分描述 expression 必需的。包含子字符串和分隔符的字符串表达式。如果expression是一个长度为零的字符串(""),Split则返回一个空数组,即没有元素和数据的数组。 delimiter 可选的。用于标识子字符串边界的字符串字符。如果忽略,则使用空格字符(" ")作为分隔符。如果delimiter是一个长度为零的字符串,则返回的数组仅包含一个元素,即完整的 expression字符串。

count 可选的。要返回的子字符串数,-1表示返回所有的子字符串。 compare 可选的。数字值,表示判别子字符串时使用的比较方式。关于其值,请参阅“设置值”部分。 参数的设置 设置值 compare参数的设置值: 常数值描述 vbUseCompareOption -1 用Option Compare语句中的设置值执行比较。vbBinaryCompare 0 执行二进制比较。 vbTextCompare 1 执行文字比较。 vbDatabaseCompare 2 仅用于Microsoft Access。基于您的数据库的信息执行比较。 复制代码代码如下: Private Sub Command1_Click() Dim MyStr As String MyStr = "1234567123456712345" MyStrs = Split(MyStr, "67") For Each Strs In MyStrs Print Strs Next End Sub 输出结果:"12345"、"12345"、"12345"

分布式控制系统课程设计

分布式控制课程设计 设计题目:课题八:3台电动机的顺序控制 学校:上海工程技术大学 院系:机械工程学院

二任务描述: 在现代工业生产中,电动机自动与手动正反转的设置得到了广泛的应用。设计三台电动机的顺序控制程序的原则是: (1)自动每隔离十分钟启动一台电机,中间可急停,到了八小时后都自动关闭。 (2)手动顺序启动,手动反序停止。 设计四段程序,第一段是自动顺序启动三台电机,由SB1总起T0,T1延时触发。第二段程序是到点自动停止,每个电机配备一个定时器加计数器来实现。第三段程序是手动顺序启动由SB2总起,T5,T6延时触发。第四段程序是手动反序停止由中间继电器M1.0,M1.1,M1.2线圈触发,而在第三段程序的起停保电路中用它们的常闭触点来实现。 控制任务和要求: (1)启动操作:按启动按钮SB1,电动机M1启动,10s后电动机M2自动启动,又经过8s,电动机M3自动启动。 (2)停车操作:按停止按钮SB2,电动机M3立即停车;5s后,电动机M2自动停车;又经过4s,电动机M1自动停车。 (3)要求启动时,每隔10min依次启动1台,每台运行8h后自动停车。在运行中可用停止按钮将3台电动机同时停机。 三电动机及其PLC控制器的介绍 1.系统设计功能 1)电路设计 本课题的三台电动机应满足以下要求 (1)自动时,当第二台电动机延时启动时,不关闭第一台电动机。当第三台电动机延时启动时,不关闭第一,第二台电动机。且三者自各自启动就开始计数器计时,准备 关闭。 (2)用急停按钮使三台电动机同时停移,但时间必须在自动停止时间范围内。 (3)手动时,当第二台中动机延时启动时,必须等三台电动机按顺序都启动后才可以按下手动反序停止按钮,使他们各自停止。 2)主电路设计 由三台电机组成,启动电路由自动开关QF0.,接触器KM0-KM3.热继电器FR1-FR3各台电

在STEP里面创建WINCC项目完整版

在S T E P里面创建W I N C C项目集团标准化办公室:[VV986T-J682P28-JP266L8-68PNN]

一、从WinCC里调用STEP 7 变量的前提条件从WinCC里调用STEP 7 变量可以将建立变量的工作量减少一半,同时将建立变量的出错概率建设一半,从而减少了相应的排错工作,大大提高了工作效率。从WinCC里调用STEP 7 变量的前提条件是,WinCC的项目文件必须是集成在STEP 7项目中的。在安装所有Simatic 软件前,请查阅软件的安装注意事项,确定操作系统与软件的兼容性。该文档一般位于:CD\Documents\<语言版本>\。要使用WinCC与STEP 7的集成功能,WinCC 和STEP 7必须安装在同一台计算机上,必须在安装WinCC之前安装STEP 7。STEP 7 与WinCC的版本必须一致。WinCC与STEP 7的版本兼容行列表可以在西门子自动化与驱动集团的技术支持与服务网站上获得。请STEP 7安装完毕后,进行WinCC安装。在WinCC安装过程中,请选择“自定义安装”,在communitation 下的所有选项都必须钩选。二、在Simatic Manager里建立新的WinCC 项目在建立新的STEP 7项目后,可以在Simatic Manager里直接建立新的WinCC项目。方法是在Simatic Manager里,右键点击项目名称,选择“Insert New Object\OS”。此时系统会在STEP 7 项目文件里建立一个WinCC项目文件你可以在OS站上点击右键,选择“Re name”来修改WinCC项目名称。可以通过在名称上点击右键,选择“Open Object”打开并编辑这个WinCC项目 三、把现成的WinCC项目集成到STEP 7 项目中按如下步骤把已有WinCC项目文件插入STEP 7项目文件 A. 在STEP 7项目文件中插入一个OS站,然后把它改名为已有的WinCC项目名称。B. 在STEP 7项目里删除因仅插入OS站而产生的WinCC项目文件,其位置在STEP 7 项目文件夹里的wincproj文件夹下,例如:d:\siemens\STEP7\S7proj\STEP7_Integration\wincproj\Name of the OS C. 最后在项目复制器里用’Save as’把已有的WinCC项目文件存储到STEP 7项目路径下。项目复制器位于开始菜单项"Start > SIMATIC > WinCC > Tools"。注意:对于集成STEP 7项目里的WinCC项目,你也可以使用压缩工具(Packer)来归档WinCC项目。四、把变量(符号表,共享DB,背景DB)从STEP 7传送到WinCC里 STEP项目文件里的符号表,共享DB里的变量可以一次性的传入继承的WinCC项目文件。具体步骤如下: A、为需要传输的变量打上“传输标志” 在需要传输的变量上点击右键,从关联菜单中选择“Special Object Properties \ Operator Control and Monitoring…”,打开Operator Control and Monitoring对话框,激活复选框“Operator Control and Monitoring”,并点击“OK”关闭对话框。此时该变量前将显示绿色小旗如需对成批变量进行该操作,可以使用“Shift+鼠标左键”进行批选择,或者使用“Ctrl +鼠标左键”对成批选择的变量进行个别增减。为共享DB的变量做注释在需要传输的变量上点击右键,从关联菜单中选择“Object Properties”,打开Properties 对话框,在对话框第一行的Attribute 中输入 S7_m_c ,Value 为ture,并点击“OK”键退出。此时被选中变量前被用红色小旗标志. 为背景DB的变量做注释打开相应的FB,在需要传输的变量上点击右键,从关联菜单中选择“Object Properties”,打开Properties 对话框在Attribute页第一行输入 S7_m_c ,Value 为ture并点击“OK”键退出开启共享和背景DB的操作和监视功能 DB里的变量被标志后,必须启动DB的“Operater control and monitor”功能才能启动变量传输。 在simatic maneger 窗口中右击所需传送变量的DB,在弹出的菜单中选择 special object- >operetor control and monitoring,在接下来的对话框中将Operater control and monitor复选框钩上。选中该复选框后,“WinCC Attributes”页被显示,其中列举了所有被标准过的变量。 B、将被标志的变量传送到WinCC项目文件中在SIMATIC Manager的菜单中选中选项“Options\OS\Compling…”在弹出的对话框中直接点next 直到开始编译。编译完成后,弹出integration2对话框,选择第一项,并用“OK”键确认。编译完成后系统会提示编译是否成功,如果失败会弹出相应的记录文件。编译成功后,打开WinCC项目文件。可以看到,系统已经在变量管理器里自动生成了相应的WinCC变量。在WinCC里需要变量引用的位置进行变量选择,出现变量选择对话框后,选中对话框右上角的“STEP 7 Symbol Server”复选框。此时,对话框右侧变量选择列表中将显示“STEP 7 Symbol Server”列表。从改列表中可以显示STEP 7符号表和共享数据块里的所有变量

Wincc课程设计报告

河南理工大学《组态软件技术基础》设计报告 水位、水温检测系统 姓名: 学号: 专业班级: 指导老师: 所在学院: 2012年7月6 日

摘要 本设计是基于SIMATIC WinCC的水位水温监控系统,可以自动完成蓄水和排水功能,满足工业生产过程中的需要。SIMATIC WinCC是第一个使用最新的32位技术的过程监视系统,具有良好的开放性和灵活性。 随着科学技术的发展,工业生产过程的自动化水平越来越高,相应的要求其控制界面也应该越来越人性化和简洁化,人们也逐渐意识到原有的上位机编程的开发方式。组态王软件是一种通用的工业监控软件,它把过程控制设计、现场操作以及工厂资源管理与一体,实现最优化管理。它基于Microsoft Windows XP/NT2000操作系统,用户可以在企业网络的所有层次的各个位置上都可以获得系统的实时信息。采用组态王软件开发工业监控工程,可以极大地增强用户生产控制能力、提高工厂的生产力和效率、提高产品的质量、减少成本及原材料的消耗。它适用于从单一设备的生产运营管理和故障诊断,到网络结构分布是大型集中监控管理系统的开发。它以标准的工业计算机软、硬件平台构成的集成系统取代传统的封闭式系统。 关键字:WinCC、组态王软件、工业监控

Abstract This design is based on SIMATIC WinCC and water temperature control system, you can auto-complete of water storage and drainage features, and meet the needs of industrial production processes. SIMATIC WinCC is the first process monitoring systems with the latest 32-bit technology, openness and flexibility with good. With the development of science and technology, the industry increasingly higher level of automation of the production process, the corresponding requirements under its control interface should be more humane and simplicity of, people also come to realize that the original development of computer programming. Kingview software is a general industrial monitor software, it design, hands-on process control and plant resource management and integration, achieving optimal management. It is based on the Microsoft Windows XP/NT2000 operating system, the user can at all levels of the corporate network wherever it can get real time information system. Using the kingview software development industry to monitor the project, can greatly enhance user control, to improve productivity and efficiency, improve product quality, reduce costs and raw material consumption. It is suitable for production and operations management from a single device and troubleshooting to the network structure is the distribution of the large concentrated monitoring system development. It to a standard industry computer software and hardware platforms constitute integrated system to replace the traditional closed systems. Keywords: WinCC, kingview software, industrial monitor

WINCC的API编程

如何将其它程序的窗口置于最前面? 可以通过使用Windows API 函数FindWindow找到一个窗口的句柄。 假设您希望将一个Microsoft Access 窗口置于最前面: HWND Handle= ZERO; Handle= FindWindow("OMAIN",ZERO); if(Handle) { ShowWindow(Handle, SW_MINIMIZE); // ShowWindow ( Handle, SW_SHOWNORMAL ); SetForegroundWindow(Handle); } else ProgramExecute("C:\\MSOffice.97\\Office\\ACCESS.EXE"); 如果没有发现该窗口,随后Microsoft Access 将重新启动。 FindWindow 函数的注意事项: 第一个参数是窗口的类。 可以使用编译器(比如:用Visual C++ 中的Spy 命令)找到类。 第二个参数是窗口的标题(标题栏)。可以指定两个参数中的任何一个,或者两个都指定。在本

运行时通过按下一个按钮来启动一个程序,打印一个文本文件或者打开一个显示订货号

22560470 WinHelp (Windows Help) via API 显示订货号 QUESTION: Can a user-specific Help be called in a WinCC project? ANSWER: Yes, in WinCC you can call use an API call to call a user-specific Help. With "fuCommand" you can branch to a specific topic. For this you create a new project function with the following code: #pragma code("user32.dll") BOOL WinHelpA(hwnd, lpszHelpFile, fuCommand, dwData); #pragma code() #define HELP_CONTENTS 0x0003L void WinHelpApi() { HWND hwnd; /* handle of window requesting help */ char HelpFile[255]; UINT fuCommand; /* type of help */

如何在WinCC项目中监控S7 300400 PLC中的定时器及计数器

如何在WinCC项目中监控S7 300/400 PLC中的定时器及计数器 How to Monitor and Control the TIMER and COUNTER of S7 300/400 PLC in WinCC Project

摘要 本文详细描述了如何利用WinCC的类型转换功能来实现在WinCC项目中监控S7 300/400 PLC中的TIME,S5TIME数据类型变量及定时器和计数器的值。 关键词WinCC, 类型转换 , TIME, S5TIME, 定时器,计数器 Key Words WinCC, Type Conversion, TIME, S5TIME, TIMER, COUNTER IA&DT Service & Support Page 2-17

目录 1.在WinCC项目中监控S7 300/400 PLC中的TIME类型变量 (4) 1.1关于TIME数据类型 (4) 1.2具体步骤 (5) 2. 在WinCC项目中监控300/400PLC中的S5TIME类型变量 (8) 2.1 关于S5TIME数据类型 (8) 2.2 具体步骤 (9) 2.3定时器的监控 (12) 3.在WinCC项目中监控S7 300/400 PLC中的计数器值 (13) 3.1 关于计数器 (13) 3.2 具体步骤 (13) IA&DT Service & Support Page 3-17

WinCC中变量的数据类型可能会不同于自动化系统中所使用的数据类型。因此,当组态外部变量时,除了要定义该变量的数据类型,还必须对所有数字型数据类型执行类型转换。类型转换定义如何从WinCC格式转换到AS格式,该定义适用于双向传送。 下表显示哪些WinCC数据类型支持类型转换: 数据类型 类型转换 二进制变量 否 无符号8位数 是 有符号8位数 是 无符号16位数 是 有符号16位数 是 无符号32位数 是 有符号32位数 是 浮点数32位IEEE 754 是 浮点数64位IEEE 754 是 文本变量8位字符集 否 文本变量16位字符集 否 原始数据类型 否 有关类型转换的详细信息,您可在WinCC信息系统中的“通讯”>“过程通 讯”>“WinCC过程通讯”>“外部变量”中找到。 下面我们分别说明如何利用WinCC的类型转换功能来实现在WinCC项目中监控 300/400PLC中的TIME,S5TIME数据类型变量及定时器和计数器的值。 1.在WinCC项目中监控S7 300/400 PLC中的TIME类型变量 1.1关于TIME数据类型 TIME为带符号的32位IEC时间数据类型,时间增量为1ms,取值范围为T#- 24D_20H_31M_23S_648MS至T#24D_20H_31M_23S_647MS。 IA&DT Service & Support Page 4-17

Wincc课程设计报告——自动化

内蒙古建筑职业技术学院《组态软件WINCC及其应用》设计报告 水箱液位的WinCC监控 姓名: 学号: 专业班级: 指导老师: 所在学院: 年月日

本设计是基于SIMATIC WinCC的水箱液位监控系统,可以自动完成蓄水和排水功能,满足工业生产过程中的需要。SIMATIC WinCC是第一个使用最新的32位技术的过程监视系统,具有良好的开放性和灵活性。 随着科学技术的发展,工业生产过程的自动化水平越来越高,相应的要求其控制界面也应该越来越人性化和简洁化,人们也逐渐意识到原有的上位机编程的开发方式。WINCC软件是一种通用的工业监控软件,它把过程控制设计、现场操作以及工厂资源管理与一体,实现最优化管理。它基于Microsoft Windows XP/NT2000操作系统,用户可以在企业网络的所有层次的各个位置上都可以获得系统的实时信息。采用组态王软件开发工业监控工程,可以极大地增强用户生产控制能力、提高工厂的生产力和效率、提高产品的质量、减少成本及原材料的消耗。它适用于从单一设备的生产运营管理和故障诊断,到网络结构分布是大型集中监控管理系统的开发。它以标准的工业计算机软、硬件平台构成的集成系统取代传统的封闭式系统。 关键字:WinCC、自动化、工业监控

This design is based on SIMATIC WinCC water control system, you can auto-complete of water storage and drainage features, and meet the needs of industrial production processes. SIMATIC WinCC is the first process monitoring systems with the latest 32-bit technology, openness and flexibility with good. With the development of science and technology, the industry increasingly higher level of automation of the production process, the corresponding requirements under its control interface should be more humane and simplicity of, people also come to realize that the original development of computer programming.WINCCsoftware is a general industrial monitor software, it design, hands-on process control and plant resource management and integration, achieving optimal management. It is based on the Microsoft Windows XP/NT2000 operating system, the user can at all levels of the corporate network wherever it can get real time information system. Using the kingview software development industry to monitor the project, can greatly enhance user control, to improve productivity and efficiency, improve product quality, reduce costs and raw material consumption. It is suitable for production and operations management from a single device and troubleshooting to the network structure is the distribution of the large concentrated monitoring system development. It to a standard industry computer software and hardware platforms constitute integrated system to replace the traditional closed systems. Keywords: WinCC,Automation , industrial monitor

WinCC C语言基础

Wincc C语言基础 3.属性的C动作 #include apdefap h long-main(char* lpszPictureName.char* lpszObjectName.char*lpszPropertyName) { /*1*/ long 1ReturnValue; /*2*/ 1ReturnValue * GetTagSDword(*S32icourse-test-1*); /*3*/ return 1ReturnValue; } 上述实例代码代表一个典型的属性的C动作。各部分的含义描述如下: 标题(灰色):灰色阴影显示的前三行构成C的动作标题。该标题自动生成并且不能更改。除返回类型(在实例代码中为long)之外,所有的函数标题完全相同。将三个参数传送给C动作。它们是画面名称(Lpsz PictureName),对象名(lpszObjectName)和属性名(lpszPropertyName). 变量声明(1):在可以编辑的第一段代码中声明使用的变量。在本实例代码中,指的是一个long型的变量。数值计算(2):在本段中,执行属性值的计算。在实例代码中,只读入一个WinCC 变量的数值。 数值返回(3):将计算得出的属性值赋给属性。这通过return命令来完成 4.事件的C动作 #include apdefap.h* void OnClicik(char* lpszPictureName.char* lpszObjectName.char* lpszPropertyName) { /*1*/ long 1Value; /*2*/ 1Value * GetTagSDWord(*s32i-course-tset-1”); SetIeft (lpszPictureName,lpszobjectName,1value); } 上述实例代码代表一个典型的事件的C动作。各部分含义描述如下: 标题(灰色):灰色阴影显示的前三行构成C动作的标题。该标题自动生成并且不能更改。对于不同类型的事件,其参数标题也不同。将参数lpszPictureName(画面名称).lpszObjectName(对象名)和lpszPropertyName(属性名)传递给C动作。参数lpszPropertyName只包含与响应属性变化事件相关信息。可以传递附加的事件指定的参数。 变量声明(1):在可以编辑的第一代码段中声明使用的变量。在本实例代码中,指的是一个long型的变量。事件处理(2):在本段中,执行响应事件的动作。在本实例代码中,读入一个WinCC变量的数值。该数值作为位置X分配给自己的对象。事件的C动作的返回值为void类型,也就是说不需要返回值 5.C动作的创建 创建C动作的步骤如下: (1).打开图形编辑器,打开期望的WinCC画面,打开所期望对象的对象属性对话框 (2)通过鼠标R期望的属性或事件,然后从弹出式菜单中选择C动作来打开动作编辑器 (3)将显示动作编辑器,其中将显示函数的基本框架。此外,C动作的标题已经自动生成,该标题不能

相关文档