WINCC C脚本的标准函数
WinCC部分函数说明说明书

WinCC部分函数说明凡是C与VB脚本函数名称一样的是实现一样的功能,只是调用环境不一样以下是部分CAPI1、int soundonce(char *src)//声音播放,仅仅播放一次,未使用src=声音文件位置2、void ccsleep(float sec) //暂停一段时间sec=时间S3、int ccGetPicStr(char *DesStr, char *SourPrefix, char *SourStrem, char *SourFomat) //生成图片的地址DesStr=生成后的地址SourPrefix=源前缀SourStrem=图片名称SourFomat=格式以下是部分VB函数说明,没有涉及到的请参照同名C函数的注释说明1、is_Correct_Pre_Visible(Byval pre_loc,Byval cur_val) ''用来修正一种情况的显示错误Pre_loc=前一轮出的牌位置Cur_loc=当前出的牌位置以下请自行参照源代码中的注释1、实现声音播放:SendSound、SendGetSound、SendUngetSound、GetSound2、实现牌面动态布局:GetGroupLeftByObj动作以及其他未涉及到函数的说明请参照源码中的注释PLC端部分函数、函数块说明(依次)1、未使用,2、产生一个随机整数3、等待一小段时间(西门子有提供标准块)(请注意该函数与硬件挂钩不基于时间单位)4、识别牌类型5、摸牌6、手牌转换成选中的牌7、判定是否是双已经连对并返回和8、判定是否是四带二并返回和(含飞机)9、判定是否是顺子并返回和10、判定是否是三带一并返回和(含飞机)11、判定是否是三不带并返回和(含飞机)12、抓牌调用了513、选中牌转换成手牌(14、选中牌转换成当前出牌15、洗牌16、排序从小到大。
Wincc界面设计——C脚本实践

Wincc界面设计——C脚本实践简介Wincc是一款用于人机界面设计的软件,通过使用C脚本,可以实现更加复杂的功能和交互。
本文将介绍如何在Wincc界面设计中实践C脚本的使用。
C脚本基础在开始使用C脚本之前,需要了解C语言的基础知识。
C脚本是一种用于编写Wincc界面逻辑的脚本语言,其语法和C语言相似。
熟悉C语言的人员可以更快地上手C脚本的编写。
C脚本实践以下是一些常见的C脚本实践示例:1. 按钮点击事件void Button_Click(){// 点击按钮后执行的代码// ...}在Wincc界面中,可以为按钮添加点击事件。
当按钮被点击时,会调用`Button_Click`函数,可以在该函数中编写相应的逻辑代码。
2. 数据处理double CalculateAverage(double[] data, int length){double sum = 0;for (int i = 0; i < length; i++){sum += data[i];}return sum / length;}在Wincc界面中,可以使用C脚本进行数据处理。
上述示例代码演示了如何计算一组数据的平均值。
可以根据实际需求编写相应的数据处理函数。
3. 界面更新void UpdateLabel(){double value = GetSensorValue();Label.SetText(value);}C脚本还可以用于更新界面元素的内容。
上述示例代码演示了如何根据传感器的值来更新标签的文本。
通过调用相应的函数或方法,可以实现界面元素的动态更新。
总结通过使用C脚本,可以在Wincc界面设计中实现更加复杂的功能和交互。
本文介绍了C脚本的基础知识以及一些常见的实践示例。
在实际应用中,可以根据需求灵活运用C脚本,提升Wincc界面的设计和交互体验。
[ZA]WINCCC脚本的标准函数029
![[ZA]WINCCC脚本的标准函数029](https://img.taocdn.com/s3/m/4083d6a784868762cbaed52f.png)
WINCC C脚本的标准函数1--------------------------------------------------------------------------------标准函数该系统包含标准函数。
可以按需要修改这些函数。
此外,还可以自己创建标准函数。
该系统包括一个标准函数集。
一、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报警控件的画面的名称。
WINCCC函数用法大全

函数名: stpc py功能:拷贝一个字符串到另一个用法: c har *stpcp y(cha r *de stin, char *sou rce);程序例:#inclu de <s tdio.h>#inclu de <s tring.h> intmain(void){ ch ar st ring[10];c har *str1= "ab cdefg hi";stpcp y(str ing,str1); prin tf("%s\n", stri ng);r eturn 0; }函数名: st rcat功能: 字符串拼接函数用法: cha r *st rcat(char*dest in, c har *sourc e); 程序例:#in clude <str ing.h>#i nclud e <st dio.h>i nt ma in(vo id) { char dest inati on[25]; cha r *bl ank = " ", *c = "C++", *B orlan d = "Borla nd";strcp y(des tinat ion,Borla nd);s trcat(dest inati on, b lank); strc at(de stina tion, c);print f("%s\n",desti natio n); re turn0;}函数名: str chr 功能:在一个串中查找给定字符的第一个匹配之处\用法: c har *strch r(cha r *st r, ch ar c);程序例:#incl ude <strin g.h>#inc lude<stdi o.h>int main(void){ char stri ng[15]; ch ar *p tr, c = 'r';s trcpy(stri ng, "Thisis astrin g");ptr = strc hr(st ring, c);if (p tr) pri ntf("The c harac ter %c isat po sitio n: %d\n",c, pt r-str ing); elsep rintf("The char acter wasnot f ound\n");retur n 0;} 函数名:strcm p功能: 串比较用法:int s trcmp(char *str1, ch ar *s tr2);看As ic码,s tr1>s tr2,返回值 >0;两串相等,返回0程序例:#i nclud e <st ring.h>#inclu de <s tdio.h>int m ain(v oid){ c har *buf1= "aa a", *buf2= "bb b", *buf3= "cc c"; i nt pt r;p tr =strcm p(buf2, bu f1);if (p tr >0) prin tf("b uffer 2 is grea ter t han b uffer 1\n"); el se prin tf("b uffer 2 is less than buff er 1\n"); ptr= str cmp(b uf2,buf3); if(ptr> 0) pr intf("buff er 2is gr eater than buff er 3\n");else pr intf("buff er 2is le ss th an bu ffer3\n"); re turn0;}函数名: st rncmp i功能: 将一个串中的一部分与另一个串比较, 不管大小写用法:int s trncm pi(ch ar *s tr1,char*str2, uns igned maxl en);程序例:#i nclud e <st ring.h>#inclu de <s tdio.h>int m ain(v oid){ cha r *bu f1 ="BBB", *bu f2 ="bbb"; intptr;ptr = strc mpi(b uf2,buf1); if(ptr> 0) pri ntf("buffe r 2 i s gre aterthanbuffe r 1\n"); i f (pt r < 0)p rintf("buf fer 2 is l ess t han b uffer 1\n");if (ptr == 0)p rintf("buf fer 2 equa ls bu ffer1\n"); ret urn 0;}函数名: strc py功能:串拷贝用法: char *str cpy(c har *str1, char *str2); 程序例:#in clude <std io.h>#in clude <str ing.h>i nt ma in(vo id) { ch ar st ring[10];char*str1 = "a bcdef ghi"; str cpy(s tring, str1); p rintf("%s\n", s tring); re turn0;}函数名: st rcspn功能: 在串中查找第一个给定字符集内容的段用法: in t str cspn(char*str1, cha r *st r2);程序例:#i nclud e <st dio.h>#i nclud e <st ring.h>#inclu de <a lloc.h>int m ain(v oid){ c har *strin g1 ="1234567890"; c har *strin g2 ="747D C8";int l ength; le ngth= str cspn(strin g1, s tring2); p rintf("Cha racte r whe re st rings inte rsect is a t pos ition %d\n", le ngth); re turn0;}函数名: st rdup功能: 将串拷贝到新建的位置处用法: char *str dup(c har *str);程序例:#inclu de <s tdio.h>#inclu de <s tring.h> #incl ude <alloc.h> intmain(void){char*dup_str,*stri ng ="abcd e"; dup_s tr =strdu p(str ing); prin tf("%s\n", dup_str); free(dup_str); ret urn 0;}函数名: str icmp功能: 以大小写不敏感方式比较两个串用法: i nt st ricmp(char *str1, ch ar *s tr2);程序例:#inclu de <s tring.h> #incl ude <stdio.h> intmain(void){ ch ar *b uf1 = "BBB", *b uf2 = "bbb"; int ptr; ptr= str icmp(buf2, buf1);if (ptr > 0) pr intf("buff er 2is gr eater than buff er 1\n");if (p tr <0)print f("bu ffer2 islessthanbuffe r 1\n"); i f (pt r ==0)print f("bu ffer2 equ als b uffer 1\n");re turn0;}函数名: s trerr or功能:返回指向错误信息字符串的指针用法: cha r *st rerro r(int errn um);程序例:#i nclud e <st dio.h>#i nclud e <er rno.h>i nt ma in(vo id) { char *buf fer;b uffer = st rerro r(err no);p rintf("Err or: %s\n", buff er);r eturn 0; }函数名: st rcmpi功能: 将一个串与另一个比较,不管大小写用法: in t str cmpi(char*str1, cha r *st r2);程序例:#i nclud e <st ring.h>#inclu de <s tdio.h>int m ain(v oid){ cha r *bu f1 ="BBB", *bu f2 ="bbb"; intptr;ptr = strc mpi(b uf2,buf1); if(ptr> 0) pri ntf("buffe r 2 i s gre aterthanbuffe r 1\n"); i f (pt r < 0)p rintf("buf fer 2 is l ess t han b uffer 1\n");if (ptr == 0)p rintf("buf fer 2 equa ls bu ffer1\n"); ret urn 0;}函数名: strn cmp 功能:串比较用法: int strn cmp(c har *str1, char *str2, in t max len);程序例:#inclu de <s tring.h> #incl ude <stdio.h> int main(void){char*buf1 = "a aabbb", *b uf2 = "bbb ccc", *buf3 = "ccc";int p tr; p tr =strnc mp(bu f2,bu f1,3); if (ptr > 0) prin tf("b uffer 2 is grea ter t han b uffer 1\n"); els ep rintf("buf fer 2 is l ess t han b uffer 1\n");pt r = s trncm p(buf2,buf3,3);if (p tr >0)print f("bu ffer2 isgreat er th an bu ffer3\n"); else pr intf("buff er 2is le ss th an bu ffer3\n"); ret urn(0);}函数名: s trncm pi功能:把串中的一部分与另一串中的一部分比较,不管大小写用法: in t str ncmpi(char *str1, ch ar *s tr2);程序例:#inclu de <s tring.h> #incl ude <stdio.h> intmain(void){ ch ar *b uf1 = "BBB ccc", *buf2 = "bbbcc c"; in t ptr; ptr = st rncmp i(buf2,buf1,3); if (ptr > 0) prin tf("b uffer 2 is grea ter t han b uffer 1\n");if (ptr < 0) pr intf("buff er 2is le ss th an bu ffer1\n"); if(ptr== 0) pr intf("buff er 2equal s buf fer 1\n"); retu rn 0;} 函数名: str ncpy功能: 串拷贝用法: ch ar *s trncp y(cha r *de stin, char *sou rce,int m axlen); 程序例: #inc lude<stdi o.h>#inc lude<stri ng.h>in t mai n(voi d){charstrin g[10]; char *str1 = "abcde fghi"; str ncpy(strin g, st r1, 3); str ing[3] = '\0';p rintf("%s\n", s tring); ret urn 0;}函数名: st rnicm p功能: 不注重大小写地比较两个串用法: i nt st rnicm p(cha r *st r1, c har *str2, unsi gnedmaxle n); 程序例:#in clude <str ing.h>#i nclud e <st dio.h>i nt ma in(vo id) { char *buf1 = "BBBcc c", *buf2= "bb bccc"; intptr;ptr = strn icmp(buf2, buf1, 3); if (ptr > 0) prin tf("b uffer 2 is grea ter t han b uffer 1\n");if (ptr < 0) pr intf("buff er 2is le ss th an bu ffer1\n"); if(ptr== 0) pr intf("buff er 2equal s buf fer 1\n"); retu rn 0;} 函数名:strns et功能:将一个串中的所有字符都设为指定字符用法:char*strn set(c har *str,charch, u nsign ed n);程序例:#incl ude <stdio.h> #incl ude <strin g.h>int main(void){c har *strin g = "abcde fghij klmno pqrst uvwxy z"; ch ar le tter= 'x'; pri ntf("strin g bef ore s trnse t: %s\n",strin g); st rnset(stri ng, l etter, 13); prin tf("s tring afte r st rnset: %s\n", s tring);re turn0;}函数名: s trpbr k功能: 在串中查找给定字符集中的字符用法: char *str pbrk(char*str1, cha r *st r2);程序例:#i nclud e <st dio.h>#i nclud e <st ring.h>int m ain(v oid){ cha r *st ring1 = "a bcdef ghijk lmnop qrstu vwxyz"; cha r *st ring2 = "o nm";c har *ptr;ptr = strp brk(s tring1, st ring2);if (ptr)p rintf("str pbrkfound firs t cha racte r: %c\n",*ptr); else pr intf("strp brk d idn't find char acter in s et\n");re turn0;}函数名: str rchr功能: 在串中查找指定字符的最后一个出现用法: char *str rchr(char*str, char c);程序例:#i nclud e <st ring.h>#inclu de <s tdio.h>int m ain(v oid){ cha r str ing[15]; ch ar *p tr, c = 'r';st rcpy(strin g, "T his i s a s tring"); pt r = s trrch r(str ing,c); if (ptr)p rintf("The char acter %c i s atposit ion:%d\n", c,ptr-s tring); els ep rintf("The char acter wasnot f ound\n");r eturn 0; }函数名: st rrev功能: 串倒转用法: ch ar *s trrev(char *str);程序例: #inc lude<stri ng.h>#in clude <std io.h>in t mai n(voi d){char*forw ard = "str ing"; prin tf("B efore strr ev(): %s\n", fo rward); str rev(f orwar d); pr intf("Afte r str rev(): %s\n",forwa rd);r eturn 0; }函数名: str set 功能:将一个串中的所有字符都设为指定字符用法: char *str set(c har *str,charc); 程序例:#in clude <std io.h>#in clude <str ing.h>i nt ma in(vo id) { char stri ng[10] = "123456789"; char symb ol ='c';print f("Be forestrse t():%s\n", str ing);strse t(str ing,symbo l); pr intf("Afte r str set(): %s\n",strin g); re turn0;}函数名: str spn 功能:在串中查找指定字符集的子集的第一次出现用法: in t str spn(c har *str1, char *str2); 程序例:#in clude <std io.h>#in clude <str ing.h>#i nclud e <al loc.h>i nt ma in(vo id) { char *str ing1= "1234567890";char*stri ng2 = "123DC8";int l ength; len gth = strs pn(st ring1, str ing2); prin tf("C harac ter w herestrin gs di fferis at posi tion%d\n", len gth);retur n 0;}函数名: strs tr功能:在串中查找指定字符串的第一次出现用法: c har *strst r(cha r *st r1, c har *str2);程序例:#incl ude <stdio.h> #incl ude <strin g.h>int main(void){c har *str1= "Bo rland Inte rnati onal", *st r2 ="nati on",*ptr; ptr= str str(s tr1,str2); prin tf("T he su bstri ng is: %s\n", p tr);r eturn 0; }函数名:strto d功能: 将字符串转换为doub le型值用法: dou ble s trtod(char *str, cha r **e ndptr);程序例: #inc lude<stdi o.h>#inc lude<stdl ib.h>in t mai n(voi d){charinput[80], *end ptr;d ouble valu e;pr intf("Ente r a f loati ng po int n umber:");g ets(i nput); valu e = s trtod(inpu t, &e ndptr); pri ntf("The s tring is %s the numb er is %lf\n", i nput, valu e); re turn0;}函数名: str tok 功能:查找由在第二个串中指定的分界符分隔开的单词用法:char*strt ok(ch ar *s tr1,char*str2);程序例: #inc lude<stri ng.h>#in clude <std io.h>in t mai n(voi d){charinput[16]= "ab c,d";char*p; /* str tok p laces a NU LL te rmina tor in fron t ofthe t oken, if f ound*/ p = strt ok(in put,",");if (p) p rintf("%s\n", p);/* A se condcallto st rtokusing a NU LL asthe f irstparam eterretur ns apoint er tothe c harac ter f ollow ing t he to ken */ p = strt ok(NU LL, ",");i f (p) pr intf("%s\n", p); retu rn 0;} 函数名:strto l功能: 将串转换为长整数用法:longstrto l(cha r *st r, ch ar **endpt r, in t bas e); 程序例:#in clude <std lib.h>#i nclud e <st dio.h>i nt ma in(vo id) { char *str ing = "87654321", *e ndptr; long lnum ber;/* st rtolconve rts s tring to l ong i ntege r */lnumb er =strto l(str ing,&endp tr, 10); pr intf("stri ng =%s l ong = %ld\n", s tring, lnu mber); ret urn 0;}函数名:strup r功能: 将串中的小写字母转换为大写字母用法: cha r *st rupr(char*str);程序例:#incl ude <stdio.h> #incl ude <strin g.h>int main(void){c har *strin g = "abcde fghij klmno pqrst uvwxy z", *ptr;/* co nvert s str ing t o upp er ca se ch aract ers */ ptr= str upr(s tring); pri ntf("%s\n", ptr); ret urn 0;}函数名: swab功能: 交换字节用法:voidswab(char *fro m, ch ar *t o, in t nby tes);程序例:#inclu de <s tdlib.h> #incl ude <stdio.h> #incl ude <strin g.h>cha r sou rce[15] ="rFna koBl rna d";c har t arget[15];in t mai n(voi d){swab(sourc e, ta rget, strl en(so urce)); pri ntf("Thisis ta rget: %s\n", ta rget); retu rn 0;} 。
wincc学习技巧

一、组态软件、 C 语言基础1. WINCC 中的语言Wincc 语言由C 脚本(C-script )和B 脚本(VB-script )组成。
WINCC中C脚本:(1)C动作(在画布中编辑的程序代码)。
(2)全局脚本编辑器:项目函数、标准函数和内部函数。
项目函数:自定义本项目(保护性)标准函数:编辑好供C 动作调用内部函数:(微软)自定义编辑函数在项目函数中例如:#pragma()int NEW_Add (int a; in b){int c;c=a+b;return c;}2. WINCC中的(Tag)变量——程序使用的变量(书上P31--35)变量:C 变量、WINCC 变量C变量:int(数值型卜char(字符型)、BOOL(布尔型)---也就是二进制(为常用)WINCC变量:word(数值型)、char(字符型)、Bit(布尔型)(为常用)常用变量如下:布尔型:SetTagBit(参数1,参数2)、GetTagBit(参数)数值型:SetTagWord(参数1,参数2)、GetTagWord(参数)字符型:SetTagChar(参数1,参数2)、GetTagChar(参数)参数1 :变量名。
参数2:具体要求。
例如参数1 为液位,参数2 为a 举例1 二进制变量“启动”控制电机启停BOOL a;a= GetTagBit(“启动”);if(a==0)SetTagBit(启动” 1);举例2 二进制变量“启动”控制电机启停BOOL a;static int i=0;( 类似int a= GetTagBit( “启动”);if(a==0)i++;两者区别:i; i=0;)不加static 启动一次i=1 启动二次i=1 加static启动一次i=1启动二次i=2启动三次i=1 启动三次i=3启动四次i=1 启动四次i=43. WINCC 中的运算符3.WINCC 中的常用语句三、变量组态WINCC 中的变量分为:内部变量、外部变量和C 动作(函数中的变量)1. 利用变量进行增减计数步骤1:进行画面构建,需要两个按钮和一个输入输出域(属性调整-)(变量、有变化时、输出)。
WINCC C函数用法大全

int main(void)
{
char *buf1 = "BBB", *buf2 = "bbb";
int ptr;
ptr = strcmpi(buf2, buf1);
if (ptr > 0)
printf("buffer 2 is greater than buffer 1\n");
char string[10];
char *str1 = "abcdefghi";
stpcpy(string, str1);
printf("%s\n", string);
return 0;
}
函数名: strcat
功 能: 字符串拼接函数
{
char string[15];
char *ptr, c = 'r';
strcpy(string, "This is a string");
ptr = strchr(string, c);
if (ptr)
printf("The character %c is at position: %d\n", c, ptr-string);
char *string2 = "747DC8";
int length;
length = strcspn(string1, string2);
printf("Character where strings intersect is at position %d\n", length);
WinCC标准函数总结

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报警控件的画面的名称。
winccc函数用法大全(WINCCCfunctionDaquan)

wincc c函数用法大全(WINCC C function Daquan)Function name: stpcpyFunction: copy one string to anotherUsage: char, *stpcpy (char, *destin, char, *source); Procedure example:#include <stdio.h>#include <string.h>Int main (void){Char string[10];Char *str1 = "abcdefghi"";Stpcpy (string, STR1);Printf ("%s\n", string);Return 0;}Function name: strcatFunction: string concatenation functionUsage: char, *strcat (char, *destin, char, *source); Procedure example:#include <string.h>#include <stdio.h>Int main (void){Char destination[25];Char, *blank = "", *c = "C++", *Borland = "Borland""; Strcpy (destination, Borland);Strcat (destination, blank);Strcat (destination, C);Printf ("%s\n", destination);Return 0;}Function name: strchrFunction: finding the first match of a given character in a string \Usage: char, *strchr (char, *str, char, C);Procedure example:#include <string.h>#include <stdio.h>Int main (void){Char string[15];Char, *ptr, C ='r';Strcpy (string, This, is, a, string);PTR = strchr (string, C);If (PTR)Printf (The, character,%c, is, at,%d\n, position:, C,ptr-string);ElsePrintf ("The character was not found\n");Return 0;}Function name: StrCmpFunction: string comparisonUsage: int, StrCmp (char, *str1, char, *str2);Look at the Asic code, str1>str2, return value > 0; two strings equal, return 0Procedure example:#include <string.h>#include <stdio.h>Int main (void){Char, *buf1 = AAA, *buf2 = BBB, *buf3 = ccc";Int ptr;PTR = StrCmp (buf2, buf1);If (PTR > 0)Printf ("buffer 2, is, greater, than, buffer, 1\n");ElsePrintf ("buffer 2, is, less, than, buffer, 1\n");PTR = StrCmp (buf2, buf3);If (PTR > 0)Printf ("buffer 2, is, greater, than, buffer, 3\n");ElsePrintf ("buffer 2, is, less, than, buffer, 3\n");Return 0;}Function name: strncmpiFunction: compare a part of a string with another string, case or caseUsage: int, strncmpi (char, *str1, char, *str2, unsigned, maxlen);Procedure example:#include <string.h>#include <stdio.h>Int main (void){Char *buf1 = "BBB", *buf2 = "BBB"";Int ptr;PTR = strcmpi (buf2, buf1);If (PTR > 0)Printf ("buffer 2, is, greater, than, buffer, 1\n"); If (PTR < 0)Printf ("buffer 2, is, less, than, buffer, 1\n");If (PTR = 0)Printf ("buffer 2, equals, buffer, 1\n");Return 0;}Function name: strcpyFunction: String copyUsage: char, *strcpy (char, *str1, char, *str2);Procedure example:#include <stdio.h>#include <string.h>Int main (void){Char string[10];Char *str1 = "abcdefghi"";Strcpy (string, STR1);Printf ("%s\n", string);Return 0;}Function name: strcspnFunction: find the first segment of a given character set ina stringUsage: int, strcspn (char, *str1, char, *str2);Procedure example:#include <stdio.h>#include <string.h>#include <alloc.h>Int main (void){char * string1 = "1234567890";char * string2 = "747dc8";int length;length = strcspn (string1, string2);printf ("where the character strings intersect ice position% d \ n", length);return 0;}函数名: strdup功能: 将串拷贝到新建的位置处用法: char * strdup (char * str);程序例:# include stdio.h > <# include string.h > <# include alloc.h > <int main (void){char * tab _ str, * string = "abcde"; tab _ str = strdup (string);printf ("% s" n "tab _ str);free (dup _ str);return 0;}函数名: stricmp功能: 以大小写不敏感方式比较两个串用法: int stricmp (char * str1, char * str2);程序例:# include string.h > <# include stdio.h > <int main (void){char * buf1 = "bbb" * buf2 = "bbb";int ptr;ptr = stricmp (buf2, buf1);if (ptr > 0).printf ("buffer 2 is greater than buffer 1 \ n"); if (ptr < 0)printf ("buffer 2 ice less than buffer 1 \ n");if (ptr = = 0)printf ("buffer 2 equals buffer 1 \ n"); return 0;}函数名: strerror功能: 返回指向错误信息字符串的指针用法: char * strerror (int errnum);程序例:# include stdio.h > <# include errno.h > <int main (void){char * buffer;buffer = strerror (errno);printf ("error:% s% n" buffer);return 0;}函数名: strcmpi功能: 将一个串与另一个比较, 不管大小写用法: int strcmpi (char * str1, char * str2);程序例:# include string.h > <# include stdio.h > <int main (void){char * buf1 = "bbb" * buf2 = "bbb";int ptr;ptr = strcmpi (buf2, buf1);if (ptr > 0).printf ("buffer 2 is greater than buffer 1 \ n"); if (ptr < 0)printf ("buffer 2 ice less than buffer 1 \ n");if (ptr = = 0)printf ("buffer 2 equals buffer 1 \ n");return 0;}函数名: strncmp功能: 串比较用法: int strncmp (char * str1 str2, char *, int maxlen); 程序例:# include string.h > <# include stdio.h > <int main (void){char * buf1 = "aaabbb" * buf2 = "bbbccc" * buf3 = "ccc"; int ptr;ptr = strncmp (buf2, buf1,3);if (ptr > 0).printf ("buffer 2 is greater than buffer 1 \ n");elseprintf ("buffer 2 ice less than buffer 1 \ n");ptr = strncmp (buf2, buf3,3);if (ptr > 0).printf ("buffer 2 is greater than buffer 3 \ n");elseprintf ("buffer 2 ice less than buffer 3 \ n");return (0);}函数名: strncmpi功能: 把串中的一部分与另一串中的一部分比较, 不管大小写用法: int strncmpi (char * str1, char * str2);程序例:# include string.h > <# include stdio.h > <int main (void){char * buf1 = "bbbccc" * buf2 = "bbbccc";int ptr;ptr = strncmpi (buf2, buf1,3);if (ptr > 0).printf ("buffer 2 is greater than buffer 1 \ n"); if (ptr < 0)printf ("buffer 2 ice less than buffer 1 \ n"); 如果(ptr = = 0)printf(“缓冲2等于缓冲1 \n”);返回0;}函数名:strncpy功能:串拷贝用法:char * strncpy(char *德斯坦,源字符串,整数maxlen);程序例:#包括< stdio. h >#包括<字符串。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
WINCC C脚本的标准函数1--------------------------------------------------------------------------------标准函数该系统包含标准函数。
可以按需要修改这些函数。
此外,还可以自己创建标准函数。
该系统包括一个标准函数集。
一、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报警控件的对象名。
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)函数,外部消息窗口操作,此函数打开确认对话框(紧急确认/复位)。
使用标准函数操作WinCC报警控件的实例{// 跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst("gs_alarm_00","Control1");}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。
Control 1是WinCC报警控件的对象名。
6.BOOL AXC_OnBtnHornAckn(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,该函数确认蜂鸣器信号。
使用标准函数操作WinCC报警控件的实例{// 跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst("gs_alarm_00","Control1");}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。
Control 1是WinCC报警控件的对象名。
7.BOOL AXC_OnBtnInfo(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,该函数显示信息文本。
使用标准函数操作WinCC报警控件的实例{// 跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst("gs_alarm_00","Control1");}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。
Control 1是WinCC报警控件的对象名。
7.BOOL AXC_OnBtnLock(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,该函数打开“设置锁定”对话框。
使用标准函数操作WinCC报警控件的实例{// 跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst("gs_alarm_00","Control1");}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。
Control 1是WinCC报警控件的对象名。
8.BOOL AXC_OnBtnLockUnlock(char* lpszPictureName, char* pszMsgWin),函数,该函数锁住在消息窗口中选择的消息。
之后,不再归档该消息。
该函数释放在锁定列表中选择的消息。
使用标准函数操作WinCC报警控件的实例{// 跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst("gs_alarm_00","Control1");}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。
Control 1是WinCC报警控件的对象名。
9.BOOL AXC_OnBtnLockWin(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作.该函数调用锁定列表。
使用标准函数操作WinCC报警控件的实例{// 跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst("gs_alarm_00","Control1");}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。
Control 1是WinCC报警控件的对象名。
10.BOOL AXC_OnBtnLoop(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,此函数触发所选消息的“报警回路”函数。
使用标准函数操作WinCC报警控件的实例{// 跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst("gs_alarm_00","Control1");}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。
Control 1是WinCC报警控件的对象名。
11.BOOL AXC_OnBtnMsgFirst(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,该函数移动到消息列表的开始处。
使用标准函数操作WinCC报警控件的实例{// 跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst("gs_alarm_00","Control1");}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。
Control 1是WinCC报警控件的对象名。
12.BOOL AXC_OnBtnMsgLast(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,该函数移动到消息列表的结束处。
使用标准函数操作WinCC报警控件的实例{// 跳转到WinCC报警控件中的最后一条消息AXC_OnBtnMsgLast("gs_alarm_00","Control1");}AXC_OnBtnMsgLast函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。
Control 1是WinCC报警控件的对象名。
13.BOOL AXC_OnBtnMsgNext(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,该函数移动到消息列表中的下一条消息。
使用标准函数操作WinCC报警控件的实例{// 跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst("gs_alarm_00","Control1");}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。
Control 1是WinCC报警控件的对象名。
14.BOOL AXC_OnBtnMsgPrev(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,该函数移动到消息列表中的前一条消息。
使用标准函数操作WinCC报警控件的实例{// 跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst("gs_alarm_00","Control1");}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。
Control 1是WinCC报警控件的对象名。
15.BOOL AXC_OnBtnMsgWin(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,该函数调用过程消息窗口。