![wincc-全套脚本总结71081可编辑范本_第1页](http://file4.renrendoc.com/view9/M01/2B/37/wKhkGWc2BTKASllgAAHGhyCtojk600.jpg)
![wincc-全套脚本总结71081可编辑范本_第2页](http://file4.renrendoc.com/view9/M01/2B/37/wKhkGWc2BTKASllgAAHGhyCtojk6002.jpg)
![wincc-全套脚本总结71081可编辑范本_第3页](http://file4.renrendoc.com/view9/M01/2B/37/wKhkGWc2BTKASllgAAHGhyCtojk6003.jpg)
![wincc-全套脚本总结71081可编辑范本_第4页](http://file4.renrendoc.com/view9/M01/2B/37/wKhkGWc2BTKASllgAAHGhyCtojk6004.jpg)
![wincc-全套脚本总结71081可编辑范本_第5页](http://file4.renrendoc.com/view9/M01/2B/37/wKhkGWc2BTKASllgAAHGhyCtojk6005.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE2———-——1、wincc全局脚本动作——--隐藏控件—--———#include"apdefap.h”intgscAction(void)
{
//WINCC:TAGNAME_SECTION_STARTﻫ//syntax:#defineTagNameInAction"DMTagName”ﻫ//nextTagID:1ﻫ//WINCC:TAGNAME_SECTION_ENDintvalue;ﻫvalue=GetTagBit(”IM_in”);//"IM_in"为触发的变量。
if(value==1)
{ﻫSetVisible("lianxi。pdl”,"按钮8”,TRUE);//lianxi。pdl为控制对象所在画面名,“按钮8”为对象名称ﻫ}ﻫelseﻫ{
SetVisible(”lianxi。pdl",”按钮8”,FALSE);//lianxi。pdl
}
//WINCC:PICNAME_SECTION_STARTﻫ//syntax:#definePicNameInAction"PictureName”
//nextPicID:1ﻫ//WINCC:PICNAME_SECTION_ENDﻫﻫreturn0;ﻫ}=====================================================说明:在触发器里选择变量IM_in——————2、wincc全局脚本动作————提示框--———-HYPERLINK”http://blog。sina.com.cn/s/articlelist_1252243325_2_1。html”#include"apdefap。h”intgscAction(void)ﻫ{
//WINCC:TAGNAME_SECTION_START
//syntax:#defineTagNameInAction”DMTagName"ﻫ//nextTagID:1
//WINCC:TAGNAME_SECTION_END
intvalue;
value=GetTagBit(”IM_in”);if(value==1)
{
MessageBox(NULL,”请确认三厅相关门是否关好,或者请解锁。",”提示框”,MB_OK|MB_ICONEXCLAMATION|MB_SETFOREGROUND|MB_SYSTEMMODAL);
}//WINCC:PICNAME_SECTION_STARTﻫ//syntax:#definePicNameInAction"PictureName”ﻫ//nextPicID:1ﻫ//WINCC:PICNAME_SECTION_END
return0;ﻫ}=============================说明:在触发器中选择变量触发。—————-3、趋势面板-—-———-———char*str_a=NULL;intHi;intLo;str_a=GetTagChar(”TrendTagName1”);Lo=GetTagSWord(”TrendLo”);Hi=GetTagSWord("TrendHi");SetPropWord(lpszPictureName,"qushi",”TrendIndex”,0);SetPropChar(lpszPictureName,”qushi”,”TrendTagName”,str_a);SetPropWord(lpszPictureName,”qushi",”ValueAxisBeginValue”,Lo);SetPropWord(lpszPictureName,"qushi”,"ValueAxisEndValue”,Hi);-—-———————————-———-—-————--———4、获取位号—————SetTagChar("TrendTagName1”,"ProcessValueArchive\\PT111”); //Return-Type:BOOLSetTagSWord(”TrendHi",200);SetTagSWord(”TrendLo”,0);SetTagByte("Trenden”,1);————-——-——--—————-————-——————-5、调用登陆函数——-——-#pragmacode("useadmin.dll")#include”PWRT_API。H”#pragmacode()if(strcmp(GetTagChar(”@CurrentUser”),"")==0){PWRTLogin(’c');}-——--------—-—-——--——-—-—--—---—-—-——-—6、时间同步——————voidSetCpuTime(){#pragmacode(”kernel32.dll");voidGetLocalTime(SYSTEMTIME*lpst);#pragmacode();SYSTEMTIMEtimeBOOLret;//printf(”StartfunctionSetCpuTime\r\n”);GetLocalTime(&time);ret=SetTagMultiWait("%d%d%d%d%d%d%d”,"data_year”,time.wYear-2000,"data_month",time.wMonth,”data_day",time。wDay,”data_hour",time.wHour,"data_MINUTE”,time。wMinute,"data_SECOND",time。wSecond,”data_FLAG",1)}--—---——-—---———---—————-——-—-—————-7、对话框调用—-——-—BOOLA;BOOLB;HWNDhwnd=NULL;intRetMsg;A=GetTagBit(”TJ_ANNIU”); //Return—Type:BOOLhwnd=FindWindow(NULL,"WinCC—运行系统—”);if(A==0){RetMsg=MessageBox(hwnd,”确定要停机?",”停机警告”,MB_OKCANCEL|MB_SYSTEMMODAL|MB_SETFOREGROUND);if(RetMsg==IDOK){SetTagBit(”TJ_ANNIU”,1);MessageBox(hwnd,”停机",”停机警告”,MB_OK|MB_SYSTEMMODAL|MB_SETFOREGROUND);SetTagBit("TJ_ANNIU”,0);}elseB=0;}else{}--———-——---———-----—--———--——————-—-—8、声音报警—-———- #pragmacode(”Winmm。dll”) VOIDWINAPIPlaySoundA(char*pszSound,char*hmode,DWORDdwflag);ﻩ#pragmacode()ﻩif(GetTagFloat("LIST555”)>500) PlaySoundA(”D:\\DCSDATA\\CG_wincc\\Horn\\Horn_Attention.wav",NULL,1);ﻩif(GetTagFloat("LIST555”)<300) PlaySoundA("D:\\DCSDATA\\CG_wincc\\Horn\\alsndmgr。wav”,NULL,1);———-—-———-----———-—--—-—----————-—-—-——----————-—9、水平移动—-————建立内部变量BOOL-Q,无符号32位—P
全局动作ﻫinta;inta1;
a=GetTagBit(”Q”);a1=GetTagDWord(”P”);ﻫif(a==1)ﻫ{ﻫa1=a1+10;ﻫ}ﻫif(a1〉=100)
{ﻫa1=0;ﻫ}ﻫSetTagDWord(”P”,a1);
然后用一个按钮控制二进制变量Q,为启动信号。物体的X位置对应的是变量P,设置为模拟量。当P为1的时候对应的X位置.P为2的时候对应X的位置,以此类推,就可以做出物体移动画面了,要做全局脚本-———--—---—--—-—-----————---——-————-—---———--—-——————10、WinCC中调用SQL语言———-——1、创建一个SQL文件,此文件在ISQL中建立,文件内包含所要执行的SQL语句。Windows对话框实现。具体如下:ﻫ2、在WinCC中用CScript调用上述SQL文件,如下所示:ﻫ#include&quot;apdefap。h&quot;ﻫvoidOnLButtonDown(char*lpszPictureName,
char*lpszObjectName,ﻫchar*lpszPropertyName,ﻫUINTnFlags,intx,inty)
{
char*a=&quot;c:siemenscommonSQLANYISQL—q—b—c
UID=DBA;PWD=SQL;DBF=E:testsqltestsqlRT。DB;ﻫDBN=CC_testsql_99—12—03-12:48:26R;READﻫE:testsqltest。sql";ﻫPrintf(&quot;%srn&quot;,a);
ProgramExcute(a);ﻫ}ﻫ下面是一个简单的SQL文件内容:
select*frompde#hd#t#test;outputtoe:test2。txtFORMATascii
注意:文件名及路径中不要带空格。————-—11、设置或重置一个变量——————voidOnClick(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyName)
{ﻫBOOLz;
z=GetTagBit(";MyBitVariable&quot;);//获得变量值ﻫif(z==0)
SetTagBit(&quot;MyBitVariable&quot;,1);//设置变量值
elseﻫSetTagBit(&quot;MyBitVariable&quot;,0);ﻫ}———12、运行时图形产生动态旋转-—————#include&quot;apdefap。h&quot;ﻫlong_main(char*lpszPictureName,char*lpszObjectName,char*
lpszPropertyName)ﻫ{ﻫstaticintx=25,y,z;//x为半径的初始值为25,y为切换变量,z为搅拌机运行状态变量ﻫz=GetTagBit(&quot;202搅拌机运行&quot;);//取得PLC搅拌机的运行状态
if(z!=0)ﻫ{
switch(y)
{
case0:ﻫx=x-4;ﻫif(x&lt;=0)ﻫy=1;
break;
default:
x=x+4;
if(x&gt;=25)ﻫy=0;ﻫbreak;ﻫ}
}ﻫreturnx;
}—-—-—-13、WINCC-—如何在程序中动态修改用户密码——-—-—点击“开始”——》“设置”--》“控制面板”-—》“管理工具”--》“数据源(ODBC)”,打开ODBC数据源管理器
2、在用户DSN页面的用户数据源中找到与当前项目所关联的一项,其名称为“CC_项目名_项目建立日期时间”,记下该项的名称
3、在脚本中加入以下代码:
#pragmacode(”UseGen。dll")
#include”USEGENAP.H"
#pragmacode()
LPCMN_ERRORerr;//定义的LPCMN_ERROR型变量,在函数调用中需使用
if(PWGENConnect(”CC_ass_04—09—21_16:35:22",err))//建立与数据库的联接,其中CC_ass_04-09-21_16:35:22用第二步中记下的名称取代ﻫ{ﻫif(PWGENChangePassword(GetTagChar("user”),GetTagChar(”oldpassword"),GetTagChar(”password”),err))//修改密码,user,oldpassword,password分别为存贮用户名,原密码,新密码的内部变量,类型为文本变量8位字符集ﻫ{
//密码修改成功后的操作,如给用户提示等
}
}ﻫPWGENDisconnect(err);//断开与数据库的联接
4、编译运行程序
5、工作完成
6、与用户管理相关的函数定义存贮在APPLIB目录下的USEGENAP.H文件中,可根据上面示例自行完成添加用户,修改权限等功能。—————-14、WinCC如何实现鼠标OnMouseOVer事件——-——-用WINDOWAPI函数GetCusorPos获取当前鼠标位置,用GetWindowRect函数获取窗口位置,两值相减得鼠标在WINCCframe上的相对位置.用全局脚本(设定为1s定时刷新),然后获取要OnMouseOver事件的物体的位置,并与鼠标位置相比较,如一致则触发自己定义的动作。#include”apdefap.h”intgscAction(void)ﻫ{ﻫ#pragmacode("user32。dll”);
BOOLGetCusorPos(POINTlpPoint);//获取鼠标的位置(绝对位置-对应屏幕分辨率)ﻫBOOLGetWindowRect(HWNDhwnd,LPRECTlpRect);//获取窗体位置ﻫ#pragmacode();
POINTpPos;ﻫRECTrRec;ﻫHWNDhwnd;ﻫBOOLbRet,bRet2;
longlLeft,lTop,lWidth,lHeight;
longlX,lY;
charszStr[100];hwnd=FindWindow(NULL,”WinCC-Runtime-”);//如语言为中文应为”WinCC运行系统—"if(hwnd==0){printf("rnError!WinCcHandleis%d”,hwnd);gotoover;}bRet=GetCursorPos(&pPos);
if(bRet==0)gotoover;bRet2=GetWindowRect(hwnd,&rRec);
if(bRet2==0)gotoover;
lX=pPos.x—rRec。left;//鼠标对{置
lY=pPos。y-rRec。top;//鼠标位置
//如果为非全屏模式,需将上述数值中的高height判断减去标题栏的宽度
//printf(”TheCurrentCusorPosisx:%d,y:%drn",pPos.x,pPos.y);ﻫ//printf("TheCusorPosinWindowisx:%d,y:%drn",pPos。x—lLeft2,pPos。y-lTop2);ﻫlLeft=GetLeft(”NewPdl0。Pdl","Text1");//Return—Type:longintﻫlTop=GetTop(”NewPdl0。Pdl”,"Text1");//Return—Type:longint
lWidth=GetWidth("NewPdl0。Pdl",”Text1");//Return-Type:longint
lHeight=GetHeight(”NewPdl0。Pdl”,"Text1”);//Return—Type:longintif((lX〉=lLeft)&&(lY〉=lTop)&&(lX<=lLeft+lWidth)&&(lY〈=lTop+lHeight)){sprintf(szStr,”%d,%d",lX,lY);ﻫSetText("NewPdl0。Pdl”,"Text1”,szStr);//Return—Type:char*}ﻫ//printf(”TheText1Posisx:%d,y:%drn",lLeft2,lTop-lTop2);
over:
return0;ﻫ}—-——--—————-—-——-——-———-—————-—-—-————————-——15、如何在退出WINCC监控时直接关闭电脑——————利用动态向导
2。在脚本中加入DMExitWinCCEx(DM_SDMODE_SYSTEM);也可以——-———16、过WINCCAPI函数读出当前报警消息-——-——1、使用GMsgFunction中读出当前报警信息的ID(dwMsgNr);ﻫ2、使用MSRTGetMsgCSData函数读出该报警信息ID对应文本库TEXTLIB中的文本ID(dwTextID1);
3、使用MSRTGetMsgText函数读出该文本ID的文本。
信息到达处理:如果读取文本成功,则置文本变量MSG。ﻫ信息离去处理:如果MsgNr与上一次相同,则复位MSG,如果不是,则继续保持信息.
具体函数说明请看ODK文档
BOOLGMsgFunction(char*pszMsgData)
{
#pragmacode(”msrtcli。dll”)ﻫ#include”msrtapi。h"ﻫ#pragmacode();MSG_TEXT_STRUCTtMeld;ﻫMSG_CSDATA_STRUCTsM;
CMN_ERRORerr;
BOOLbRet;
DWORDdwTextID1;ﻫDWORDdwMsgNum;ﻫcharszMsg[255];ﻫ#defineTAG_MSG"MSG”MSG_RTDATA_STRUCTmRT;ﻫmemset(&mRT,0,sizeof(MSG_RTDATA_STRUCT));if(pszMsgData!=NULL)ﻫ{
printf("Meldung:%srn",pszMsgData);
sscanf(pszMsgData,"%ld,%ld,%04d.%02d。%02d,%02d:%02d:%02d:%03d,%ld,%ld,%ld,%d,%d",ﻫ&mRT.dwMsgNr,//Meldungsnummer
&mRT.dwMsgState,//StatusMSG_STATE_COME,。._GO,.。_QUIT,.._QUIT_SYSTEM
&mRT。stMsgTime.wYear,//Tagﻫ&mRT。stMsgTime。wMonth,//Monatﻫ&mRT。stMsgTime。wDay,//Jahrﻫ&mRT.stMsgTime.wHour,//Stunde
&mRT。stMsgTime。wMinute,//Minute
&mRT.stMsgTime.wSecond,//Sekundeﻫ&mRT。stMsgTime。wMilliseconds,//Millisekundeﻫ&mRT。dwTimeDiff,//ZeitdauerderanstehendenMeldung
&mRT。dwCounter,//InternerMeldungsz?hler
&mRT.dwFlags,//Flags(intern)
&mRT.wPValueUsed,
&mRT。wTextValueUsed);//**************************************************************************************codefordcountﻫif(mRT。dwMsgState==MSG_STATE_COME)//信息到达处理
{ﻫdwMsgNum=mRT.dwMsgNr;
printf("rnTheAlarmMessageNois%d!rn”,dwMsgNum);ﻫbRet=MSRTGetMsgCSData(dwMsgNum,&sM,&err);ﻫif(bRet==TRUE)ﻫ{ﻫdwTextID1=sM.dwTextID[0];
printf("rnTheTextIDofTheMessageNr%dis%d!rn",dwMsgNum,dwTextID1);
bRet=MSRTGetMsgText(1,dwTextID1,&tMeld,&err);ﻫif(bRet==TRUE)
{
sprintf(szMsg,"%s",tMeld。szText);ﻫprintf("rnTheTextofTextID%dis%s!rn”,dwTextID1,szMsg);
}ﻫ
}}
if(mRT。dwMsgState==MSG_STATE_GO)//信息离去处理ﻫ{ﻫdwMsgNum=mRT.dwMsgNr;ﻫif(dwMsgNum==GetTagDWord(TAG_MSG_NR))SetTagChar(TAG_MSG,””);}
//**************************************************************************************codefordcount//Meldungsdateneinlesen
//Prozesswertelesen,fallsgew???????§???1nscht
}printf(”Nr:%d,St:%x,%d-%d—%d%d:%d:%d.%d,Dur:%d,Cnt%d,Fl%drn",
mRT.dwMsgNr,mRT。dwMsgState,mRT。stMsgTime。wDay,mRT.stMsgTime.wMonth,mRT。stMsgTime.wYear,
mRT.stMsgTime。wHour,mRT.stMsgTime.wMinute,mRT.stMsgTime。wSecond,mRT。stMsgTime。wMilliseconds,mRT.dwTimeDiff,
mRT.dwCounter,mRT。dwFlags);SetTagChar(TAG_MSG,szMsg);return(TRUE);
}——-——-17、实现用户登陆日志(wincc中用c脚本实现?)—-—-——用户登陆日志:(包括用户的登陆退出信息,以便查询在什么时间段是哪个用户在使用这个监控软件)#include"apdefap.h”intgscAction(void)
{
#pragmacode(”kernel32.dll")
VOIDGetLocalTime(LPSYSTEMTIMElpSystemTime);
#pragmacode()char*username;ﻫcharbuf[128];ﻫstaticcharpreuser[128];ﻫunsigneda,b,c,d,e,f;ﻫFILE*fp;
SYSTEMTIMEsysTime;//读取系统时间,并且复制给变量a,b,c,d,e,f
GetLocalTime(&sysTime);a=sysTime.wHour;
b=sysTime。wMinute;
c=sysTime.wSecond;ﻫf=sysTime。wYear;
e=sysTime.wMonth;ﻫd=sysTime。wDay;//得到当前用户名称ﻫusername=GetTagChar(”@CurrentUser”);
fp=fopen("c:wincclog。txt”,”a+");ﻫif(strcmp(username,preuser)!=0)//如果当前用户名称和前一个用户名不同
{ﻫif((strcmp(username,”")!=0)&&(strcmp(preuser,"”)==0))//如果当前用户名称不空同时前一个用户名为空ﻫﻫ{ﻫsprintf(buf,”用户:%st登陆时间是:t%d—%d-%d,%d-%d—%dn",username,a,b,c,d,e,f);ﻫfputs(buf,fp);
}ﻫelseﻫ{ﻫif((strcmp(username,"”)==0)&&(strcmp(preuser,"")!=0))//如果当前用户名称为空同时前一个用户名不空
{ﻫsprintf(buf,”用户:%st退出时间是:t%d-%d-%d,%d-%d-%dn”,preuser,a,b,c,d,e,f);
fputs(buf,fp);
}else
{
sprintf(buf,”用户:%st退出时间是:t%d-%d-%d,%d—%d-%dn”,preuser,a,b,c,d,e,f);ﻫfputs(buf,fp);ﻫsprintf(buf,"用户:%st登陆时间是:t%d—%d—%d,%d—%d—%dn",username,a,b,c,d,e,f);
fputs(buf,fp);
}
}ﻫ}strcpy(preuser,username);ﻫfclose(fp);return0;
}——————18、全局脚本—-声音报警————-— #pragmacode("Winmm。dll”) VOIDWINAPIPlaySoundA(char*pszSound,char*hmode,DWORDdwflag);ﻩ#pragmacode()ﻩif(GetTagBit(”XY”)==0)ﻩ{ﻩﻩif(GetTagFloat("LIST555")〉500)//热井液位ﻩﻩ {ﻩﻩﻩPlaySoundA("D:\\DCSDATA\\CG_wincc\\Horn\\热井液位高1.wav”,NULL,0); ﻩ}ﻩﻩif(GetTagFloat("LIST555”)<300)//热井液位ﻩﻩ {ﻩﻩ PlaySoundA("D:\\DCSDATA\\CG_wincc\\Horn\\热井液位低1.wav”,NULL,0);ﻩ } ﻩif(GetTagFloat(”TE421A”)>100||GetTagFloat(”TE421B”)〉100||GetTagFloat(”TE423A")>100||GetTagFloat(”TE423B”)〉100||GetTagFloat(”TE425")〉100||GetTagFloat(”TE427")〉100||GetTagFloat("TE442”)>100)//轴瓦温度ﻩ ﻩ{ PlaySoundA(”D:\\DCSDATA\\CG_wincc\\Horn\\轴瓦温度高1.wav”,NULL,0); ﻩ}ﻩ if(GetTagFloat("TIE485”)>45)//冷油器出口油温 ﻩ {ﻩﻩ PlaySoundA("D:\\DCSDATA\\CG_wincc\\Horn\\冷油器出口油温高.wav",NULL,0); ﻩ }ﻩ if(GetTagFloat(”PT091”)<0。5)//进汽压力 ﻩ{ ﻩﻩPlaySoundA(”D:\\DCSDATA\\CG_wincc\\Horn\\蒸汽压力低。wav",NULL,0); ﻩﻩ} if(GetTagFloat(”PT109")>40)//真空低 ﻩﻩ{ ﻩﻩPlaySoundA(”D:\\DCSDATA\\CG_wincc\\Horn\\排汽压力高.wav",NULL,0); ﻩﻩ}ﻩ if(GetTagFloat(”PT131”)<0.13)//润滑油压力低 {ﻩﻩ PlaySoundA("D:\\DCSDATA\\CG_wincc\\Horn\\润滑油压力低1。wav”,NULL,0);ﻩ } ﻩif(GetTagFloat(”PDT213”)>0。05||GetTagFloat(”PDT215")〉0.05||GetTagBit(”PDS071")==0||GetTagBit("PDS073")==0)//滤油器差压 ﻩﻩ{ﻩﻩ PlaySoundA(”D:\\DCSDATA\\CG_wincc\\Horn\\滤油器差压高。wav”,NULL,0);ﻩ } if(GetTagFloat(”PT121”)<0。65)//主油泵出口压力 { ﻩﻩPlaySoundA("D:\\DCSDATA\\CG_wincc\\Horn\\主油泵出口压力低.wav”,NULL,0); ﻩ }ﻩ if(GetTagFloat("LIST551")<-190)//油箱油位 { PlaySoundA("D:\\DCSDATA\\CG_wincc\\Horn\\油箱油位低.wav",NULL,0); ﻩ}ﻩﻩif(GetTagFloat(”VE735A")>52|GetTagFloat(”VE737A")>52|GetTagFloat(”VE745A”)〉52||GetTagBit("XE202”)==1||GetTagBit(”XE204")==1||GetTagBit(”XE206")==1)//振动大ﻩ { ﻩﻩPlaySoundA("D:\\DCSDATA\\CG_wincc\\Horn\\轴瓦振动高.wav",NULL,0); ﻩ }ﻩﻩif(GetTagFloat(”ZE769")>0。4||GetTagFloat(”ZE769")〈-0.4||GetTagBit("ZE208”)==1)//汽机转子轴向位移 {ﻩ ﻩPlaySoundA("D:\\DCSDATA\\CG_wincc\\Horn\\轴相位移高。wav",NULL,0); ﻩ }ﻩ if(GetTagFloat(”ZDE785")〉3||GetTagFloat("ZDE785”)<-2||GetTagBit(”VE209”)==1)//汽机转子胀差ﻩﻩ {ﻩﻩ PlaySoundA("D:\\DCSDATA\\CG_wincc\\Horn\\胀差高.wav",NULL,0);ﻩﻩﻩ}ﻩ if(GetTagFloat(”AI_0094”)〉3240)//转速 {ﻩﻩﻩPlaySoundA("D:\\DCSDATA\\CG_wincc\\Horn\\汽轮机转速高。wav”,NULL,0);ﻩ }ﻩﻩif(GetTagBit(”DI_0175")==1||GetTagBit("DI_0180")==1)//保护跳闸 ﻩﻩ{ﻩﻩﻩPlaySoundA("D:\\DCSDATA\\CG_wincc\\Horn\\发电机保护跳闸。wav",NULL,0);ﻩ ﻩ} ﻩif(GetTagBit(”DI_0177")==1||GetTagBit("DI_0181")==1)//定子转子一点接地 ﻩ {ﻩ ﻩPlaySoundA("D:\\DCSDATA\\CG_wincc\\Horn\\发电机转子接地.wav",NULL,0);ﻩﻩﻩ}ﻩ if(GetTagBit("DI_0176”)==1)//过负荷ﻩﻩ { ﻩPlaySoundA(”D:\\DCSDATA\\CG_wincc\\Horn\\发电机过负荷。wav”,NULL,0); ﻩ } ﻩif(GetTagBit("DI_0182")==1)//失磁ﻩﻩﻩ{ ﻩﻩPlaySoundA("D:\\DCSDATA\\CG_wincc\\Horn\\发电机失磁。wav",NULL,0); ﻩﻩ} ﻩif(GetTagBit(”SOE_15")==1)//ETS动作ﻩ { ﻩPlaySoundA(”D:\\DCSDATA\\CG_wincc\\Horn\\ETS动作.wav”,NULL,0); ﻩ}ﻩ }———-—-—-—-———-————————-——-—-————-——-—————-————----—-----———-—-----———-—-—--—-————-----19、闪烁边框图片的脚本———-—-Flash-简短描述使用Flash组中的函数可以修改或调用各种闪烁属性.1。longintGetBackFlashColorOff(LPCTSTRlpszPictureName,LPCTSTRlpszObjectName)函数,指定取消激活状态的闪烁背景色读出闪烁颜色的实例{longintflashcol_on;//获得背景闪烁颜色Flashcol_on=GetBackFlashColorOn(lpszPictureName,”Group1");//自定义代码//在那里用户可以使用返回值做某事}GetBackFlashColorOn函数参数:“lpszPictureName”是在其中组态该对象的画面的名称。“Group1"是该对象的名称。1)。读出该对象的开状态的当前背景闪烁颜色以及flashcol_on中的缓冲区.2).执行处理返回值的自定义代码。2。longintGetBackFlashColorOn(LPCTSTRlpszPictureName,LPCTSTRlpszObjectName)函数,指定激活状态的背景闪烁颜色。读出闪烁颜色的实例{longintflashcol_on;//获得背景闪烁颜色Flashcol_on=GetBackFlashColorOn(lpszPictureName,”Group1");//自定义代码//在那里用户可以使用返回值做某事}GetBackFlashColorOn函数参数:“lpszPictureName”是在其中组态该对象的画面的名称.“Group1"是该对象的名称。1).读出该对象的开状态的当前背景闪烁颜色以及flashcol_on中的缓冲区。2).执行处理返回值的自定义代码.3.longintGetBorderFlashColorOff(LPCTSTRlpszPictureName,LPCTSTRlpszObjectName)函数,指定取消激活状态的边框或线闪烁颜色。读出闪烁颜色的实例{longintflashcol_on;//获得背景闪烁颜色flashcol_on=GetBackFlashColorOn(lpszPictureName,”Group1");//自定义代码//在那里用户可以使用返回值做某事}GetBackFlashColorOn函数参数:“lpszPictureName”是在其中组态该对象的画面的名称。“Group1”是该对象的名称.4.longintGetBorderFlashColorOn(LPCTSTRlpszPictureName,LPCTSTRlpszObjectName)函数,指定激活状态的边框或线闪烁颜色。读出闪烁颜色的实例{longintflashcol_on;//获得背景闪烁颜色flashcol_on=GetBackFlashColorOn(lpszPictureName,”Group1”);//自定义代码//在那里用户可以使用返回值做某事}GetBackFlashColorOn函数参数:“lpszPictureName”是在其中组态该对象的画面的名称。“Group1”是该对象的名称。5.BOOLGetFlashBackColor(LPCTSTRlpszPictureName,LPCTSTRlpszObjectName)函数,指定是否激活背景闪烁。读出“闪烁背景激活”属性的实例{BOOLbflash_col;//了解闪烁是开还是关bflash
_col=GetFlashBackColor(lpszPictureName,”Group1");if(bflash_col){//自定义代码//闪烁是否被激活}else{//自定义代码//闪烁是否被取消激活}}GetFlashBackColor函数参数:“lpszPictureName”是在其中组态该对象的画面的名称。“Group1”是该对象的名称。1)。读出背景色闪烁是否被激活以及bflash_col中的缓冲区.2).根据该函数的返回值执行自定义代码。———-—-20、I/0脚本—-—-——使用i_o组中的函数可以修改或调用影响输入和输出值的各种属性.char*GetAssignments(LPCTSTRlpszPictureName,LPCTSTRlpszObjectName)函数,对于列表,分配文本给数值范围BOOLGetAssumeOnExit(LPCTSTRlpszPictureName,LPCTSTRlpszObjectName)函数,使用I/O域时,它指定退出该域时是否应用输入的数值.BOOLGetAssumeOnFull(LPCTSTRlpszPictureName,LPCTSTRlpszObjectName)函数,使用I/O域时,它指定完成输入时是否应用输入的数值。4。longintGetBitNumber(LPCTSTRlpszPictureName,LPCTSTRlpszObjectName)函数,使用列表类型“位”时,它指定输出值中相关的位。读出布尔型属性的实例{BOOLbHiddenInput;//获得隐藏输入的状态bHiddenInput=GetHiddenInput(lpszPictureName,”IOField1”);if(bHiddenInput){//自定义代码//隐藏输入是否被激活}else{//自定义代码//隐藏输入是否被取消激活}}GetHiddenInput函数参数:“lpszPictureName"是在其中组态该对象的画面的名称。“IOField1”是该对象的名称。1)。读出文本是否是粗体字以及bHiddenInput中的缓冲区.2)。根据该函数的返回值执行自定义代码。5.BOOLGetClearOnError(LPCTSTRlpszPictureName,LPCTSTRlpszObjectName)函数,使用I/O域时,它指定错误输入后是否激活删除内容。6.longintGetDataFormat(LPCTSTRlpszPictureName,LPCTSTRlpszObjectName)函数,对于I/O域,它指定域内容的数据类型。读出布尔型属性的实例{BOOLbHiddenInput;//获得隐藏输入的状态bHiddenInput=GetHiddenInput(lpszPictureName,"IOField1");if(bHiddenInput){//自定义代码//隐藏输入是否被激活}else{//自定义代码//隐藏输入是否被取消激活}}—--—-—21tag脚本-———-—使用来自Tag组的函数可以设置或调用变量。1。BOOLGetTagBitStateWait(TagTag_Name,PDWORDlp_dwstate)函数,建立数据类型“二进制变量”的过程变量的数值。直接从PLC读取该数值。也返回变量的状态。读出二进制类型变量的实例{DWORDdwstate;BOOLbValue;dwstate=0xFFFFFFFF;//获得该变量值//dwstate是变量状态bValue=GetTagBitStateWait("gs_tag_bit”,&dwstate);//创建包含该变量值的字符串if(bValue){//自定义代码//该变量的数值是否是true.。}else{//自定义代码//该变量的数值是否是false}}GetTagBitStateWait函数参数:“gs_tag_bit”是该变量的名称。“&dwstate”是应在其中存储变量状态的变量地址。1).读出该变量值以及bstate中的缓冲区.该函数将变量状态存储在dwstate中。2)。根据该函数的返回值执行自定义代码。-————-22、Wincc项目脚本————-—使用来自WinCC组的函数可以在运行系统中定义各种设置.使用System子组中的函数可以操作WinCC运行系统。1。BOOLDeactivateRTProject()函数,取消激活该项目。取消激活WinCC运行系统的实例{//取消激活运行系统DeactivateRTProject();}该函数取消激活WinCC运行系统。BOOLExitWinCC()函数,终止WinCC退出WinCC的实例{//退出winccExitWinCC();}该函数终止WinCC。WinCC组包含影响整个WinCC系统的函数。
1。BOOLGetHWDiag(LPCTSTRlpszPictureName,LPCTSTRlpszObjectName,LPCTSTRlpProperties)函数ﻫ运行时该函数可实现诊断的直接启动,由事件触发。必须在对象上组态、运用该事件。ﻫ如果该事件发生,硬件诊断功能从关联PLC的STEP7被启动。ﻫ为了使用该功能,必须满足下列条件:
•WinCC项目,带有从其进行访问的画面,而且STEP7项目必须在同一台计算机上。
•必须将WinCC项目存储为STEP7项目(STEP7Projekt\wincproj\WinCCProjekt)的子目录。ﻫ•已将S7变量映射到WinCC。
ﻫ2.BOOLGetHWDiagLevel(LPCTSTRlpszPictureName,LPCTSTRlpszObjectName,LPCTSTRlpProperties,DWORDdwLevel)函数ﻫ根据在dwLevel下面指定的用户管理员功能号为激活的用户执行用户配置文件级测试。ﻫ之后,运行时诊断被直接启动并由事件触发,须在对象上组态该事件.
如果该事件发生,硬件诊断功能从关联PLC的STEP7被启动。ﻫ为了使用该功能,必须满足下列条件:
•在WinCC中激活的用户必须有必要的用户配置文件级.
•WinCC项目,带有从其进行访问的画面,而且STEP7项目必须在同一台计算机上.ﻫ•必须将WinCC项目存储为STEP7项目(STEP7Projekt\wincproj\WinCCProjekt)的子目录.ﻫ•已将S7变量映射到WinCC.
3。BOOLGetKopFupAwl(LPCTSTRlpszPictureName,LPCTSTRlpszObjectName,LPCTSTRlpProperties)函数
该函数执行WinCCStep7编辑器“KFA"的网络激活。ﻫ执行该函数,完成两项子任务:
•建立从WinCC访问网络所需要的数据.
•将该数据传送到Step7并使用AUTAPI定位Step7程序中操作数的利用点。ﻫ
4.BOOLGetKopFupAwlLevel(LPCTSTRlpszPictureName,LPCTSTRlpszObjectName,LPCTSTRlpProperties,DWORDdwLevel)函数
根据在dwLevel下面指定的用户管理员功能号为激活的用户执行用户配置文件级测试,然后访问Step7编辑器“KFA”。ﻫ作为三项子任务执行该函数:ﻫ•建立从WinCC进行网络访问所需要的数据.
•在WinCC中为激活的用户执行用户配置文件级测试。
•将该数据传送到Step7并使用AUTAPI定位Step7程序中操作数的利用点。
ﻫ5。voidOnDeactivateExecute()函数ﻫ终止WinCC时调用该函数.ﻫ由于它是标准函数,可以插入指令,然后执行它们。
6。voidOnErrorExecute(CCAPErrorExecuteErrorExecute)函数
执行动作或函数而发生错误时由系统调用OnErrorExecute。
此函数能够确定出错的准确原因.
由系统调用该函数,并且不要求附加的调用命令。ﻫ由于包括作为标准函数的此函数,可以改变输出的类型。ﻫ
7.voidOnTime(CCAPTimetime)函数
OnTime只能由系统调用。该函数给出所有动作的运行时间或确定哪个动作的运行时间超出了指定时间。通过APDIAG可以激活和取消激活时间测量。ﻫ由于此函数是一个标准函数,所以可以通过修改函数代码来改变输出的类型。
结构定义CCAPTime
typedefstruct{ﻫDWORDdwCurrentThreadID;当前线程的线程ID
DWORDdwCode;代码ﻫBOOLbCycle;周期/非周期
char*szApplicationName;应用程序的名称ﻫchar*szFunctionName;函数的名称
LPVOIDlpParam;指向动作堆栈的指针
DWORDdwParamSize;动作堆栈的大小
doubledblTime;ﻫDWORDdwFlags;标记ﻫ}CCAPTime;
组成部分
dwCode
dwCode结构元素提供OnTime调用信息:ﻫdwCode=113用每个动作的时间调用ﻫdwCode=114用一个动作的超时调用ﻫdwFlags
dwFlags结构元素提供输出类型的信息:
dwFlags=TRUE结果被输出到文件中.
dwFlags=FALSE结果被输出到诊断窗口中—-————23、Alarm脚本———-——Alarm组包含控制WinCC报警控件的函数。标准函数可用于工具栏中的每一个按钮。这些函数可用来创建自定义工具栏,例如选择画面,或者定义控件上的设置。1.voidAcknowledgeMessage(DWORDMsgNr)函数,确认消息系统中带编号的消息,该编号被传递为参数。使用标准函数操作WinCC报警控件的实例{//确认选择的报警记录消息AcknowledgeMessage(GetTagWord(”U08i_MsgNr"));}指定待确认的消息号。在本例中是从变量读取的。2.BOOLAXC_OnBtnArcLong(char*lpszPictureName,char*pszMsgWin)函数,在消息窗口中该函数表示消息存储在长期归档中。使用标准函数操作WinCC报警控件的实例{//跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst(”gs_alarm_00”,”Control1”);}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。Control1是WinCC报警控件的对象名。3.BOOLAXC_OnBtnArcShort(char*lpszPictureName,char*pszMsgWin)函数,在消息窗口中该函数表示消息存储在短期归档中。使用标准函数操作WinCC报警控件的实例{//跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst(”gs_alarm_00”,"Control1");}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。Control1是WinCC报警控件的对象名.4.BOOLAXC_OnBtnComment(char*lpszPictureName,char*pszMsgWin)函数外部消息窗口操作,该函数显示先前所选消息的注释。使用标准函数操作WinCC报警控件的实例{//跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst(”gs_alarm_00”,”Control1");}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。Control1是WinCC报警控件的对象名。5.BOOLAXC_OnBtnEmergAckn(char*lpszPictureName,char*pszMsgWin)函数,外部消息窗口操作,此函数打开确认对话框(紧急确认/复位).使用标准函数操作WinCC报警控件的实例{//跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst(”gs_alarm_00",”Control1");}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00"是在其中组态WinCC报警控件的画面的名称。Control1是WinCC报警控件的对象名。6.BOOLAXC_OnBtnHornAckn(char*lpszPictureName,char*pszMsgWin)函数,外部消息窗口操作,该函数确认蜂鸣器信号。使用标准函数操作WinCC报警控件的实例{//跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst(”gs_alarm_00","Control1");}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称.Control1是WinCC报警控件的对象名。7.BOOLAXC_OnBtnInfo(char*lpszPictureName,char*pszMsgWin)函数,外部消息窗口操作,该函数显示信息文本。使用标准函数操作WinCC报警控件的实例{//跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst(”gs_alarm_00”,"Control1");}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。Control1是WinCC报警控件的对象名。8.BOOLAXC_OnBtnLock(char*lpszPictureName,char*pszMsgWin)函数,外部消息窗口操作,该函数打开“设置锁定”对话框。使用标准函数操作WinCC报警控件的实例{//跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst(”gs_alarm_00”,"Control1”);}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00"是在其中组态WinCC报警控件的画面的名称。Control1是WinCC报警控件的对象名。9.BOOLAXC_OnBtnLockUnlock(char*lpszPictureName,char*pszMsgWin),函数,该函数锁住在消息窗口中选择的消息。之后,不再归档该消息。该函数释放在锁定列表中选择的消息。使用标准函数操作WinCC报警控件的实例{//跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst("gs_alarm_00”,”Control1”);}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。Control1是WinCC报警控件的对象名。10.BOOLAXC_OnBtnLockWin(char*lpszPictureName,char*pszMsgWin)函数,外部消息窗口操作.该函数调用锁定列表。使用标准函数操作WinCC报警控件的实例{//跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst(”gs_alarm_00","Control1");}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。Control1是WinCC报警控件的对象名。11.BOOLAXC_OnBtnLoop(char*lpszPictureName,char*pszMsgWin)函数,外部消息窗口操作,此函数触发所选消息的“报警回路”函数。使用标准函数操作WinCC报警控件的实例{//跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst("gs_alarm_00”,"Control1");}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称.Control1是WinCC报警控件的对象名。12.BOOLAXC_OnBtnMsgFirst(char*lpszPictureName,char*pszMsgWin)函数,外部消息窗口操作,该函数移动到消息列表的开始处.使用标准函数操作WinCC报警控件的实例{//跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst(”gs_alarm_00",”Control1");}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。Control1是WinCC报警控件的对象名.13.BOOLAXC_OnBtnMsgLast(char*lpszPictureName,char*pszMsgWin)函数,外部消息窗口操作,该函数移动到消息列表的结束处.使用标准函数操作WinCC报警控件的实例{//跳转到WinCC报警控件中的最后一条消息AXC_OnBtnMsgLast(”gs_alarm_00",”Control1”);}AXC_OnBtnMsgLast函数参数:“gs_alarm_00"是在其中组态WinCC报警控件的画面的名称。Control1是WinCC报警控件的对象名。14.BOOLAXC_OnBtnMsgNext(char*lpszPictureName,char*pszMsgWin)函数,外部消息窗口操作,该函数移动到消息列表中的下一条消息.使用标准函数操作WinCC报警控件的实例{//跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst("gs_alarm_00",”Control1");}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称.Control1是WinCC报警控件的对象名。15.BOOLAXC_OnBtnMsgPrev(char*lpszPictureName,char*pszMsgWin)函数,外部消息窗口操作,该函数移动到消息列表中的前一条消息。使用标准函数操作WinCC报警控件的实例{//跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst("gs_alarm_00”,”Control1”);}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。Control1是WinCC报警控件的对象名。16.BOOLAXC_OnBtnMsgWin(char*lpszPictureName,char*pszMsgWin)函数,外部消息窗口操作,该函数调用过程消息窗口。使用标准函数操作WinCC报警控件的实例{//跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst(”gs_alarm_00",”Control1”);}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。Control1是WinCC报警控件的对象名.17.BOOLAXC_OnBtnPrint(char*lpszPictureName,char*pszMsgWin)函数,外部消息窗口操作,打印机打印出符合在报警控件中定义的选择标准的全部消息。WinCC报警控件的实例{//跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst(”gs_alarm_00","Control1");}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。Control1是WinCC报警控件的对象名.18.BOOLAXC_OnBtnScroll(char*lpszPictureName,char*pszMsgWin)函数,外部消息窗口操作,该函数激活水平和垂直滚动功能。使用标准函数操作WinCC报警控件的实例{//激活/取消激活滚动功能AXC_OnBtnScroll(”gs_alarm_00”,”Control1");}AXC_OnBtnScroll函数参数:“gs_alarm_00"是在其中组态WinCC报警控件的画面的名称.Control1是WinCC报警控件的对象名。19.BOOLAXC_OnBtnSelect(char*lpszPictureName,char*pszMsgWin)函数,外部消息窗口操作,该函数打开“设置选择”对话框。使用标准函数操作WinCC报警控件的实例{//跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst(”gs_alarm_00”,”Control1");}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。Control1是WinCC报警控件的对象名。20.BOOLAXC_OnBtnSinglAckn(char*lpszPictureName,char*pszMsgWin)函数,外部消息窗口操作,该函数确认当前所选的消息。使用标准函数操作WinCC报警控件的实例{//确认激活的消息AXC_OnBtnSinglAckn(”gs_alarm_00”,”Control1”);}AXC_OnBtnSinglAckn函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称.Control1是WinCC报警控件的对象名。21.BOOLAXC_OnBtnVisibleAckn(char*lpszPictureName,char*pszMsgWin)函数,外部消息窗口操作,确认消息窗口中可见的全部消息(组确认)。使用标准函数操作WinCC报警控件的实例{//跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst(”gs_alarm_00","Control1");}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。Control1是WinCC报警控件的对象名。22BOOLAXC_SetFilter(char*lpszPictureName,char*lpszObjectName,LPMSG_FILTER_STRUCTlpMsgFilter,LPCMN_ERROR,lpError)函数,外部消息窗口操作,该函数为WinCC报警控件设置过滤器,以便根据指定的过滤标准筛选出可用的消息.使用标准函数操作WinCC报警控件的实例{BOOLret;MSG_FILTER_STRUCTFilter;CMN_ERRORError;//重新设置过滤器结构memset(&Filter,0,sizeof(MSG_FILTER_STRUCT));//设置过滤器名称strcpy(Filter.szFilterName,"Control1");//挑选选择元素Filter。dwFilter=MSG_FILTER_NR_FROM|MSG_FILTER_NR_TO;//消息号来自Fi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湘教版数学八年级下册《3.1平面直角坐标系》听评课记录2
- 七年级地理下册《 8.3 俄罗斯》听课评课记录 (新版)湘教版
- 人民版道德与法治七年级下册4.2《国家的变化》听课评课记录
- 冀教版数学八年级下册20.1《常量和变量》听评课记录
- 晋教版地理八年级下册6.3《成渝地区──西部经济发展的引擎之一》听课评课记录
- 苏科版数学九年级下册7.3《特殊角的三角函数》听评课记录
- 【2022年新课标】部编版七年级上册道德与法治第八课 探问生命 2课时听课评课记录
- 湘教版地理八年级下册:7.5 《长株潭城市群内部的差异与联系》 听课评课记录2
- 【人教版】河南省八年级地理上册4.2农业听课评课记录1新版新人教版
- 五年级上册数学听评课记录《4.3 探索活动:平行四边形的面积》(19)-北师大版
- 长江委水文局2025年校园招聘17人历年高频重点提升(共500题)附带答案详解
- 2025年湖南韶山干部学院公开招聘15人历年高频重点提升(共500题)附带答案详解
- 广东省广州市番禺区2023-2024学年七年级上学期期末数学试题
- 不可切除肺癌放疗联合免疫治疗专家共识(2024年版)j解读
- 教科版科学六年级下册14《设计塔台模型》课件
- JGJ46-2024 建筑与市政工程施工现场临时用电安全技术标准
- 家谱、宗谱颁谱庆典讲话
- 中建一局医院直线加速器室专项施工方案
- 二年级一起长大的玩具原文一起长大的玩具.doc
- 青岛版小学科学三年级下册《太阳和影子》教学设计
- 电梯质量验收记录表
评论
0/150
提交评论