WinCC C语言基础

合集下载

Wincc图形界面制作---C脚本的详细解读

Wincc图形界面制作---C脚本的详细解读

Wincc图形界面制作---C脚本的详细解读1. 引言本文档旨在详细解读Wincc图形界面制作中C脚本的相关知识,以便于开发人员更好地理解和应用C脚本,提高Wincc项目开发效率。

本文档适用于具有一定Wincc使用经验和C脚本编程基础的用户。

2. C脚本概述在Wincc中,C脚本是一种扩展语言,用于实现图形界面与实际工程数据之间的交互。

通过编写C脚本,可以实现对Wincc内置对象的属性、方法和事件的操作,从而实现复杂的业务逻辑。

C脚本在Wincc项目中具有广泛的应用,例如:数据处理、界面动态刷新、定时任务等。

3. C脚本基本语法C脚本的基本语法与C语言类似,主要包括数据类型、变量、运算符、控制结构、函数等。

以下简要介绍C脚本的基本语法:3.1 数据类型C脚本支持以下数据类型:- 整型(int)- 浮点型(float)- 字符型(char)- 布尔型(bool)- 字符串型(string)- 枚举型(enum)3.2 变量C脚本中的变量分为全局变量和局部变量。

全局变量在脚本中定义,可在整个脚本中访问;局部变量仅在定义它们的函数内部有效。

变量声明时需指定数据类型。

3.3 运算符C脚本支持以下运算符:- 算术运算符:+、-、*、/、%- 关系运算符:==、!=、<、<=、>、>= - 逻辑运算符:&&、||、!- 位运算符:&、|、^、~、<<、>>3.4 控制结构C脚本支持以下控制结构:- 条件语句:if、if-else、switch- 循环语句:for、while、do-while- 跳转语句:break、continue、goto3.5 函数C脚本中的函数用于实现特定功能。

函数定义包括返回类型、函数名、参数列表和函数体。

函数调用时,需传递与参数列表匹配的实参。

4. Wincc内置对象和C脚本Wincc提供了丰富的内置对象,如变量、趋势图、报警等。

wincc中C脚本学习方法请教。

wincc中C脚本学习方法请教。

wincc中C脚本学习方法请教。

我们学的C语言知识用在WINCC上面时,发现里面有好多的语句是WINCC里面特有的,比如C语言中的print 在WINCC中却是sprint,我学习了C语言却还是不能自己写WINCC的C脚本,为了把WINCC学好,我把c语言基础的教程好好啃了一下,但是发现在自己还是不会写C脚本,C语言学习后并不能让我一下子就上手写WINCC脚本,是否写C脚本不属于电气人员的范畴,必须得学习软件的计算机人员去做的?还是搞电气的全是背下来的C脚本语句来使用吗?
大家分享一下自己是如何将C脚本用得灵活自如的?
最佳答案
首先说一下WinCC里C脚本语法和C语言完全一致
printf函数在WinCC里也是可以直接使用的,不过是输出到诊断窗口
sprintf并不是printf的替代,是规格话字符串的函数,在C语言里也是普遍使用的,在WinCC里使用的也较多其实对于学习WinCC的C脚本,我认为只要掌握C语言基本的语法,数据类型、逻辑运算、字符指针、函数调用
这些熟练应用就差不多了,在C脚本里还有一个非常好的对象指针类型__object,用它来访问WinCC里的对象,或其他如Excel、ADO等可以和VBS脚本里一样便捷的操作对象另外就是熟练掌握WinCC内部函数的使用,其实常用的也就那几个,变量读写,对象属性那些。

相对来说,我觉得VB脚本要容易使用些。

wincc的c语言的选择结构

wincc的c语言的选择结构

wincc的c语言的选择结构
WinCC是西门子公司的一款用于监控和控制系统的软件平台,
它通常用于工业自动化领域。

在WinCC中使用C语言编写的代码通
常用于定制化功能和特定的控制逻辑。

选择结构是C语言中的一种
控制结构,主要包括if语句和switch语句。

在WinCC中使用C语言的选择结构,可以通过if语句实现条件
判断和分支控制。

if语句的基本语法是if(条件表达式) {语句块},其中条件表达式为真时执行语句块中的代码,否则跳过。

在WinCC 中,可以利用if语句来根据特定的条件执行不同的操作,比如根据
传感器数据来触发报警或者执行特定的控制逻辑。

另外,WinCC中也可以使用switch语句来实现多条件的选择结构。

switch语句的基本语法是switch(表达式) {case 值1: 语句
块1; break; case 值2: 语句块2; break; default: 默认语句
块; },其中根据表达式的值来匹配不同的case,执行相应的语句块。

在WinCC中,switch语句可以用于根据不同的输入信号执行不
同的操作,比如根据不同的控制模式来选择不同的控制策略。

总之,在WinCC中使用C语言的选择结构,可以通过if语句和
switch语句来实现条件判断和分支控制,从而实现定制化的功能和特定的控制逻辑。

这些选择结构可以帮助工程师根据不同的条件来执行不同的操作,提高系统的灵活性和可定制性。

Wincc界面制作:C脚本的实际操作

Wincc界面制作:C脚本的实际操作

Wincc界面制作:C脚本的实际操作本文档将介绍Wincc界面制作中使用C脚本的实际操作步骤。

步骤一:了解C脚本基础知识在开始之前,我们需要了解一些C脚本的基础知识。

C脚本是一种编程语言,常用于Wincc界面制作中的自定义功能和交互。

熟悉C脚本语法和常用函数对于实际操作非常重要。

步骤二:创建C脚本文件在Wincc界面制作软件中,我们可以创建一个C脚本文件来实现自定义功能。

在界面中选择适当的位置,右键点击,然后选择“创建脚本”选项。

给脚本文件起一个有意义的名称,并确保选择C 脚本语言。

步骤三:编写C脚本代码打开创建的C脚本文件,在其中编写所需的代码。

根据具体需求,可以使用各种C脚本语法和函数来实现不同的功能。

注意编写清晰、简洁的代码,以便后续维护和修改。

步骤四:调用C脚本在Wincc界面制作软件中,我们可以通过不同的方式来调用C脚本。

例如,在按钮的点击事件中调用C脚本,或者在某个对象的属性中设置C脚本作为其值。

根据具体需求,选择合适的调用方式,并将C脚本与相应的界面元素关联起来。

步骤五:测试和调试在完成C脚本的编写和调用后,进行测试和调试是非常重要的。

通过模拟用户操作,检查C脚本是否按预期执行,并修复可能存在的错误。

确保C脚本在不同情况下都能正常工作。

步骤六:文档记录最后,完成实际操作后,我们应该记录下所有的C脚本代码和相关的操作步骤。

这样可以方便日后的维护和修改,并为其他团队成员提供参考。

以上是Wincc界面制作中使用C脚本的实际操作步骤。

通过正确的使用C脚本,我们可以实现更多的自定义功能和交互,提升界面的灵活性和用户体验。

请注意,本文档仅提供实际操作步骤的概述,并不包含具体的代码示例。

具体的代码编写需要根据具体需求进行定制。

Wincc图像制作---C脚本的核心技术

Wincc图像制作---C脚本的核心技术

Wincc图像制作---C脚本的核心技术1. 概述Wincc图像制作是Wincc项目中的一项重要工作,它涉及到数据的采集、处理、展示等方面。

而C脚本作为Wincc图像制作的核心技术之一,具有灵活、高效、可定制性强等特点。

本文将详细介绍Wincc图像制作中C脚本的核心技术,帮助读者深入了解并掌握这一技术。

2. C脚本的基本结构C脚本是一种基于文本的脚本语言,它的基本结构包括:头文件、变量声明、函数声明、主函数和脚本主体。

2.1 头文件头文件包含了项目所需的库文件和头文件,例如:include "wincc.h"include "script.h"2.2 变量声明变量声明部分用于声明项目中使用的变量,包括全局变量和局部变量。

例如:VARi: INTs: STRING2.3 函数声明函数声明部分用于声明项目中自定义的函数。

例如:FUNCTION myFunction(p1: INT, p2: STRING) : INT...END_FUNCTION2.4 主函数主函数是C脚本的核心部分,它负责调用其他函数和处理数据。

例如:FUNCTION main()...END_FUNCTION2.5 脚本主体脚本主体是C脚本的核心部分,它包含了项目的实际代码。

例如:IF i > 10 THENs := "i大于10"ELSEs := "i小于等于10"END_IF3. C脚本的核心技术3.1 数据类型和运算符C脚本支持多种数据类型,包括整数(INT)、浮点数(REAL)、字符串(STRING)等。

同时,C脚本也支持丰富的运算符,包括算术运算符、比较运算符、逻辑运算符等。

3.2 控制结构C脚本支持多种控制结构,包括条件语句(IF...END_IF)、循环语句(FOR...END_FOR、WHILE...END_WHILE)等。

这些控制结构可以帮助我们实现复杂的逻辑判断和数据处理。

Wincc界面设计——C脚本实践

Wincc界面设计——C脚本实践

Wincc界面设计——C脚本实践简介本文档旨在介绍Wincc界面设计中使用C脚本的实践方法。

通过使用C脚本,可以为Wincc界面添加更多的功能和交互性,提升用户体验。

C脚本的基本语法C脚本是一种通用的编程语言,可以用于Wincc界面设计中。

以下是C脚本的基本语法:- 变量声明和赋值- 条件语句(if-else语句)- 循环语句(for循环、while循环)- 函数定义和调用C脚本在Wincc界面设计中的应用1. 控件事件处理通过在控件上绑定事件,并使用C脚本编写相应的事件处理函数,可以实现控件的交互功能。

例如,点击按钮后执行某个操作,或者在文本框中输入内容后进行验证。

2. 数据处理与显示使用C脚本可以对Wincc界面上的数据进行处理和显示。

通过编写相应的C脚本函数,可以实现数据的计算、格式化和转换,然后将结果显示在相应的控件上。

3. 数据库操作C脚本还可以用于与数据库进行交互。

通过使用数据库相关的C库函数,可以实现数据的读取和写入,从而实现与数据库的连接和操作。

4. 系统调用在Wincc界面设计中,有时需要与操作系统进行交互,例如执行外部程序或者访问系统资源。

使用C脚本可以调用系统相关的API函数,实现与操作系统的交互。

注意事项在使用C脚本进行Wincc界面设计时,需要注意以下事项:- 确保C脚本的正确性和安全性,避免出现漏洞和错误。

- 确保C脚本与Wincc界面的兼容性,避免出现冲突和不兼容的情况。

- 在使用C脚本时,应遵循良好的编程惯,保持代码的可读性和可维护性。

结论通过使用C脚本,可以为Wincc界面设计增加更多的功能和交互性。

合理利用C脚本,可以提升用户体验,使Wincc界面更加便捷和高效。

C语言数据类型wincc

C语言数据类型wincc

C语言数据类型winccC语言_数据类型所谓数据类型是按被说明量的性质,表示形式,占据存储空间的多少,构造特点来划分的。

在C语言中,数据类型可分为:基本数据类型,构造数据类型,指针类型,空类型四大类。

1.基本数据类型基本数据类型最主要的特点是,其值不可以再分解为其它类型。

也就是说,基本数据类型是自我说明的。

2.构造数据类型构造数据类型是根据已定义的一个或多个数据类型用构造的方法来定义的。

也就是说,一个构造类型的值可以分解成若干个“成员”或“元素”。

每个“成员”都是一个基本数据类型或又是一个构造类型。

在C语言中,构造类型有以下几种:·数组类型·结构类型·联合类型3.指针类型指针是一种特殊的,同时又是具有重要作用的数据类型。

其值用来表示某个量在内存储器中的地址。

虽然指针变量的取值类似于整型量,但这是两个类型完全不同的量,因此不能混为一谈。

4.空类型在调用函数值时,通常应向调用者返回一个函数值。

这个返回的函数值是具有一定的数据类型的,应在函数定义及函数说明中给以说明,例如在例题中给出的max函数定义中,函数头为: int max(int a,int b);其中“int ”类型说明符即表示该函数的返回值为整型量。

又如在例题中,使用了库函数 sin,由于系统规定其函数返回值为双精度浮点型,因此在赋值语句s=sin (x);中,s 也必须是双精度浮点型,以便与sin函数的返回值一致。

所以在说明部分,把s说明为双精度浮点型。

但是,也有一类函数,调用后并不需要向调用者返回函数值,这种函数可以定义为“空类型”。

其类型说明符为void。

在本讲中,我们先介绍基本数据类型中的整型、浮点型和字符型。

其余类型在以后各讲中陆续介绍。

对于基本数据类型量,按其取值是否可改变又分为常量和变量两种。

在程序执行过程中,其值不发生改变的量称为常量,取值可变的量称为变量。

它们可与数据类型结合起来分类。

例如,可分为整型常量、整型变量、浮点常量、浮点变量、字符常量、字符变量、枚举常量、枚举变量。

WINCC C语言资料

WINCC C语言资料

WINCC C语言资料#include "apdefap。

h”char*_main(char*lpszPictureName, char*lpszObjectName,char*lpszPropertyName) {float a,b:a=GetTagFloat("LT6001”);b=a/7*100;SetTagFloat(”LT_6611内部点",b);}#include ”apdefap。

h"void OnClick(char* lpszPictureName,char*lpszObjectName,char*lpszPropertyName) {SetPropBOOL(lpszPictureName,”MV_10",”visible",1);#include ”apdefap.h”void OnLButtonDown(char* lpszPictureName, char* lpszObjectName,char*lpszPropertyName,UINT nFlags,int x,int y){SetTagBit("M_31_B1_V1”,1);}#include ”apdefap.h”long _main(char*lpszPictureName, char*lpszObjectName, char*lpszPropertyName){static int a;if (GetTagBit("X1_9M3_Fan_Low")&&a<=7){a+=1;}if (GetTagBit("X1_9M3_Fan_Low")&&a==7){a=1;}if (GetTagBit(”X1_9M3_Fan_Low")==0){a=0;}return a;float a,b;a = GetTagFloat("LISA6001”);b=a/10;return (b);标准函数该系统包含标准函数。

WinCC C语言基础

WinCC C语言基础

WinCC C语言基础要使对象动态化,在WinCC中有多种不同的选项可用。

其中包括变量连接.动态对话框和直接连接。

通过它们可以实现复杂的动态。

然而,随着要求的增加它们会有限制。

对于用户来说,组态C动作、项目函数或动作可以有更广的范围。

它们在WinCC 脚本语言C中创建。

对于许多应用来说,不必具备非常全面的C语言知识。

它足以为现有函数提供参数。

然而,为了使用WinCC脚本语言C的全部功能,需要具备有关这种编辑语言的基本知识。

本课程可以为用户提供这些知识。

本课程用来为不熟悉C语言的人员提供有关编辑语言C的常规应用的基本知识。

具备C语言编辑经验的编程员可以学习C语言应用于WinCC时的特性。

2.1 C脚本的开发环境对于C脚本的创建,WinCC提供两个不同的编辑器。

一个是图形编辑器中的动作编辑器,用于在对象处创建C动作;另一个是全局脚本编辑器,用于创建项目函数和全局动作。

脚本语言的语法与采用ANSI的标准C语言相一致。

在WinCC中编辑语言C的另一个应用领域是关于动态向导的创建。

为此,可以使用一个单独的编辑器。

2.1.1 图形编辑器的动作编辑器在图形编辑器中,可以通过C动作使对象属性动作化。

同样,也可以使用C动作来响应对象事件。

1.动作编辑器对于C动作的组态,可以使用动作编辑器。

此编辑器可以在对象属性对话框中通过以下方法打开,即点击鼠标右键期望的属性或事件,然后从显示的弹出式菜单中选择C动作。

已经存在的C动作在属性或事件处用绿色箭头标记。

在动作编辑器中,可以编写C动作。

对于属性的C动作,必须定义触发器。

对于事件的C 动作,由于事件本身就是触发器所以不必再定义。

完成的C动作必须进行编译,如果编译程序没有检测到错误,则可以通过单击确定退出动作编辑器2.C动作的结构通常,一个C动作相当与C中的一个函数。

C动作由两种不同类型:为属性创建动作和为事件创建的动作。

通常,属性的C动作用于根据不同的环境条件控制此属性的值(例如变量的值)。

wincc的c语言基础

wincc的c语言基础

第二章WinCC C语言基础要使对象动态化,在WinCC中有多种不同的选项可用。

其中包括变量连接.动态对话框和直接连接。

通过它们可以实现复杂的动态。

然而,随着要求的增加它们会有限制。

对于用户来说,组态C动作、项目函数或动作可以有更广的范围。

它们在WinCC 脚本语言C中创建。

对于许多应用来说,不必具备非常全面的C语言知识。

它足以为现有函数提供参数。

然而,为了使用WinCC脚本语言C的全部功能,需要具备有关这种编辑语言的基本知识。

本课程可以为用户提供这些知识。

本课程用来为不熟悉C语言的人员提供有关编辑语言C的常规应用的基本知识。

具备C语言编辑经验的编程员可以学习C语言应用于WinCC时的特性。

2.1 C脚本的开发环境对于C脚本的创建,WinCC提供两个不同的编辑器。

一个是图形编辑器中的动作编辑器,用于在对象处创建C动作;另一个是全局脚本编辑器,用于创建项目函数和全局动作。

脚本语言的语法与采用ANSI的标准C语言相一致。

在WinCC中编辑语言C的另一个应用领域是关于动态向导的创建。

为此,可以使用一个单独的编辑器。

2.1.1 图形编辑器的动作编辑器在图形编辑器中,可以通过C动作使对象属性动作化。

同样,也可以使用C动作来响应对象事件。

1.动作编辑器对于C动作的组态,可以使用动作编辑器。

此编辑器可以在对象属性对话框中通过以下方法打开,即点击鼠标右键期望的属性或事件,然后从显示的弹出式菜单中选择C动作。

已经存在的C动作在属性或事件处用绿色箭头标记。

在动作编辑器中,可以编写C动作。

对于属性的C动作,必须定义触发器。

对于事件的C动作,由于事件本身就是触发器所以不必再定义。

完成的C动作必须进行编译,如果编译程序没有检测到错误,则可以通过单击确定退出动作编辑器2.C动作的结构通常,一个C动作相当与C中的一个函数。

C动作由两种不同类型:为属性创建动作和为事件创建的动作。

通常,属性的C动作用于根据不同的环境条件控制此属性的值(例如变量的值)。

WINCC中C语言范例

WINCC中C语言范例

WINCC中C语言范例WinCC中如何调取电脑系统时间?显示时间的C动作#include "apdefap.h"char* _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) {time_t timer;struct tm *ptm;char *p;time(&timer);ptm=localtime(&timer);p=SysMalloc(9);sprintf(p,"%02d:%02d:%02d",ptm->tm_hour,ptm->tm_min, ptm->tm_sec);return(p);}显示月的C动作#include "apdefap.h"char* _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) {#pragma code("kernel32.dll");VOID GetLocalTime(LPSYSTEMTIME lpSystemTime);#pragma code()SYSTEMTIME sysTime;char szTime[6] = " ";GetLocalTime(&sysTime);sprintf (szTime,"%02d",sysTime.wMonth);return szTime;}日的C动作#include "apdefap.h"char* _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) {#pragma code("kernel32.dll");VOID GetLocalTime(LPSYSTEMTIME lpSystemTime);#pragma code()SYSTEMTIME sysTime;char szTime[6] = " ";GetLocalTime(&sysTime);sprintf (szTime,"%02d",sysTime.wDay);return szTime;}年的C动作#include "apdefap.h"char* _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) {#pragma code("kernel32.dll");VOID GetLocalTime(LPSYSTEMTIME lpSystemTime);#pragma code()SYSTEMTIME sysTime;char szTime[6] = " ";GetLocalTime(&sysTime);sprintf (szTime,"%02d",sysTime.wYear);return szTime;}。

Wincc页面开发---C脚本的基础教程

Wincc页面开发---C脚本的基础教程

Wincc页面开发---C脚本的基础教程本教程将向您介绍如何在Wincc页面开发中使用C脚本。

Wincc是一个用于监控和控制系统的优秀软件,它提供了丰富的功能和灵活的脚本支持。

通过使用C脚本,您可以扩展Wincc的功能,实现更复杂的数据处理和业务逻辑。

1. 准备工作在开始编写C脚本之前,请确保您已经安装了Wincc软件,并且熟悉Wincc的基本操作。

此外,您还需要具备一定的C语言编程基础。

2. C脚本概述C脚本是一种特殊的脚本语言,它可以嵌入到Wincc项目中,用于实现特定的功能。

C脚本具有较高的灵活性和可扩展性,可以处理各种数据类型和运算符,还可以调用Wincc提供的API接口。

3. 创建C脚本在Wincc中创建C脚本非常简单。

请按照以下步骤操作:1. 打开Wincc项目,选择一个合适的文件夹。

2. 在文件夹中右键单击,选择“新建”>“C脚本”。

3. 输入脚本名称,点击“确定”。

4. C脚本基本语法C脚本的基本语法与C语言类似,主要包括以下几个部分:1. 变量声明:用于声明变量及其数据类型,如int、float、char 等。

2. 运算符:包括算术运算符、关系运算符、逻辑运算符等。

3. 控制结构:包括if语句、for循环、while循环等。

4. 函数:用于实现特定功能的自定义函数。

5. 编写C脚本以下是一个简单的C脚本示例,用于实现一个简单的计算功能:include <stdio.h>int main() {int a, b, result;// 输入两个整数printf("请输入两个整数,用空格分隔:"); scanf("%d %d", &a, &b);// 计算两数之和result = a + b;// 输出结果printf("两数之和为:%d\n", result);return 0;}在这个示例中,我们使用C语言的标准输入输出库,实现了从用户那里获取两个整数,计算它们的和,并将结果输出到控制台。

WINCC中C语言范例

WINCC中C语言范例

WinCC中如何调取电脑系统时间?显示时间的C动作#include "apdefap.h"char* _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) {time_t timer;struct tm *ptm;char *p;time(&timer);ptm=localtime(&timer);p=SysMalloc(9);sprintf(p,"%02d:%02d:%02d",ptm->tm_hour,ptm->tm_min,ptm->tm_sec);return(p);}显示月的C动作#include "apdefap.h"char* _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) {#pragma code("kernel32.dll");VOID GetLocalTime(LPSYSTEMTIME lpSystemTime);#pragma code()SYSTEMTIME sysTime;char szTime[6] = " ";GetLocalTime(&sysTime);sprintf (szTime,"%02d",sysTime.wMonth);return szTime;}日的C动作#include "apdefap.h"char* _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) {#pragma code("kernel32.dll");VOID GetLocalTime(LPSYSTEMTIME lpSystemTime);#pragma code()SYSTEMTIME sysTime;char szTime[6] = " ";GetLocalTime(&sysTime);sprintf (szTime,"%02d",sysTime.wDay);return szTime;}年的C动作#include "apdefap.h"char* _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) {#pragma code("kernel32.dll");VOID GetLocalTime(LPSYSTEMTIME lpSystemTime);#pragma code()SYSTEMTIME sysTime;char szTime[6] = " ";GetLocalTime(&sysTime);sprintf (szTime,"%02d",sysTime.wYear);return szTime;}。

2021年WINCC c语言基础之令狐采学创编

2021年WINCC c语言基础之令狐采学创编

WINCC C语言基础欧阳光明(2021.03.07)要使对象动态化,在WinCC中有多种不同的选项可用。

其中包括变量连接.动态对话框和直接连接。

通过它们可以实现复杂的动态。

然而,随着要求的增加它们会有限制。

对于用户来说,组态C动作、项目函数或动作可以有更广的范围。

它们在WinCC 脚本语言C中创建。

对于许多应用来说,不必具备非常全面的C语言知识。

它足以为现有函数提供参数。

然而,为了使用WinCC脚本语言C 的全部功能,需要具备有关这种编辑语言的基本知识。

本课程可以为用户提供这些知识。

本课程用来为不熟悉C语言的人员提供有关编辑语言C的常规应用的基本知识。

具备C语言编辑经验的编程员可以学习C语言应用于WinCC时的特性。

2.1 C脚本的开发环境对于C脚本的创建,WinCC提供两个不同的编辑器。

一个是图形编辑器中的动作编辑器,用于在对象处创建C动作;另一个是全局脚本编辑器,用于创建项目函数和全局动作。

脚本语言的语法与采用ANSI的标准C语言相一致。

在WinCC中编辑语言C的另一个应用领域是关于动态向导的创建。

为此,可以使用一个单独的编辑器。

2.1.1 图形编辑器的动作编辑器在图形编辑器中,可以通过C动作使对象属性动作化。

同样,也可以使用C动作来响应对象事件。

1.动作编辑器对于C动作的组态,可以使用动作编辑器。

此编辑器可以在对象属性对话框中通过以下方法打开,即点击鼠标右键期望的属性或事件,然后从显示的弹出式菜单中选择C动作。

已经存在的C动作在属性或事件处用绿色箭头标记。

在动作编辑器中,可以编写C动作。

对于属性的C动作,必须定义触发器。

对于事件的C动作,由于事件本身就是触发器所以不必再定义。

完成的C动作必须进行编译,如果编译程序没有检测到错误,则可以通过单击确定退出动作编辑器2.动作的结构通常,一个C动作相当与C中的一个函数。

C动作由两种不同类型:为属性创建动作和为事件创建的动作。

通常,属性的C动作用于根据不同的环境条件控制此属性的值(例如变量的值)。

Wincc画面生成技巧——C脚本详解

Wincc画面生成技巧——C脚本详解

Wincc画面生成技巧——C脚本详解介绍本文档旨在详细解释Wincc画面生成中的C脚本技巧,帮助读者更好地理解和应用这些技术。

C脚本简介C脚本是Wincc中用于编写逻辑和功能的一种脚本语言。

通过使用C脚本,我们可以实现画面的自动化操作和控制。

C脚本技巧以下是一些C脚本技巧,可以帮助您在Wincc画面生成中更高效地编写代码:1. 变量使用:合理使用变量可以提高代码的可读性和可维护性。

在使用变量时,应注意变量的作用范围和命名规范。

变量使用:合理使用变量可以提高代码的可读性和可维护性。

在使用变量时,应注意变量的作用范围和命名规范。

2. 条件语句:使用条件语句可以根据不同的情况执行不同的操作。

常见的条件语句包括if语句和switch语句。

条件语句:使用条件语句可以根据不同的情况执行不同的操作。

常见的条件语句包括if语句和switch语句。

3. 循环语句:使用循环语句可以重复执行某段代码。

常见的循环语句有for循环和while循环。

循环语句:使用循环语句可以重复执行某段代码。

常见的循环语句有for循环和while循环。

4. 函数封装:将常用的代码封装成函数,可以提高代码的重用性和可维护性。

在编写函数时,应注意函数的输入参数和返回值。

函数封装:将常用的代码封装成函数,可以提高代码的重用性和可维护性。

在编写函数时,应注意函数的输入参数和返回值。

5. 错误处理:在编写代码时,应考虑可能出现的错误,并进行相应的错误处理。

可以使用try-catch语句来捕捉和处理异常。

错误处理:在编写代码时,应考虑可能出现的错误,并进行相应的错误处理。

可以使用try-catch语句来捕捉和处理异常。

6. 调试技巧:在编写代码时,应养成良好的调试惯,通过使用断点、打印变量值等方式来调试代码,以确保代码的正确性。

调试技巧:在编写代码时,应养成良好的调试习惯,通过使用断点、打印变量值等方式来调试代码,以确保代码的正确性。

7. 代码优化:在编写代码时,应尽量优化代码结构和算法,以提高代码的执行效率。

WINCC基本的画面C脚本

WINCC基本的画面C脚本

WINCC基本的画⾯C脚本对于刚刚学习WINCC的⼈,希望有⽤。

SetVisible函数是⽤来执⾏是否显⽰的函数。

lpszPictureName:表⽰当前画⾯lpszObjectName:表⽰当前对象SetVisible(lpszPictureName,lpszObjectName,0); //Return-Type :BOOL 以上⾯函数为例。

假如你点击⼀个按钮,代码如上,则点击后按钮隐藏。

同理,SetVisible(lpszPictureName,"@ERROR",FALSE)表⽰当前画⾯上有⼀个名称为"@ERROR"对象,将其隐藏。

FALSE或者0都可以。

Set_Focus(lpszPictureName,"@LoginIn");次函数表⽰将光标重新聚焦到当前画⾯中,名称为“@Loginin”对象中,⽐如⼀个输⼊域。

修改变量前缀————SetPropChar(lpszPictureName,"PW","Tagprefix","F40708.") ;重设画⾯窗⼝的画⾯名称————SetPictureName(lpszPictureName,"PW","P1_FFU.pdl");SetVisible表⽰可见度———SetVisible(“画⾯名称”,“对象名称\画⾯窗⼝”,1或0);——利⽤画⾯窗⼝显⽰画⾯1 OpenPicture("index.Pdl"); 打开“index.Pdl”画⾯;————(middle*为画⾯窗⼝)SetPictureName("index.Pdl","middle","CR.Pdl"); 使“CR.Pdl”画⾯在“index.Pdl”中“middle”画⾯窗⼝中打开SetPictureName("index.Pdl","middle9","lift2.Pdl");使“lift2.Pdl”画⾯在“index.Pdl”中“middle”画⾯窗⼝中打开#pragma option(mbcs)2.单个设备的控制⾯板(不唯⼀):P1_FFU.pdlchar*S;SetVisible( lpszPictureName,"PW",0);表⽰当前画⾯上有⼀个名称为"PW"对象,将其隐藏。

wincc学习技巧

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 i; i=0;)a= GetTagBit(“启动”);if(a==0)i++;两者区别:不加static 加static启动一次i=1 启动一次i=1启动二次i=1 启动二次i=2启动三次i=1 启动三次i=3启动四次i=1 启动四次i=43.WINCC中的运算符3.WINCC中的常用语句三、变量组态WINCC中的变量分为:内部变量、外部变量和C动作(函数中的变量)1.利用变量进行增减计数步骤1:进行画面构建,需要两个按钮和一个输入输出域(属性调整-)(变量、有变化时、输出)。

Wincc界面制作:C脚本的实际操作

Wincc界面制作:C脚本的实际操作

Wincc界面制作:C脚本的实际操作概述本文档介绍了在Wincc界面制作中使用C脚本的实际操作。

通过使用C脚本,您可以实现更复杂的逻辑和功能,提升Wincc界面的灵活性和交互性。

C脚本的基本语法C脚本是一种编程语言,用于控制Wincc界面的行为和响应。

以下是C脚本的基本语法:- 代码块使用花括号({})包围。

- 使用分号(;)表示语句的结束。

- 使用双斜杠(//)表示注释,注释的内容将被忽略。

在Wincc界面中使用C脚本在Wincc界面制作中,您可以将C脚本与各种控件和事件关联,以实现特定的功能和行为。

以下是一些常见的C脚本应用示例:控件事件响应您可以为控件(如按钮、文本框等)添加事件响应函数,以实现用户交互时的相应操作。

例如,当用户点击按钮时,可以触发相应的事件处理函数。

数据处理与逻辑控制通过C脚本,您可以对Wincc界面中的数据进行处理和控制。

例如,您可以编写代码来验证用户输入的数据是否合法,并根据结果做出相应的处理。

界面切换与导航使用C脚本,您可以实现界面之间的切换和导航功能。

例如,当用户点击某个按钮时,可以通过编写代码来切换到另一个界面。

数据库和文件操作通过C脚本,您可以实现对数据库和文件的读写操作。

例如,您可以编写代码来从数据库中检索数据,并将其显示在Wincc界面上。

实际操作示例以下是一个简单的实际操作示例,展示了如何使用C脚本实现一个简单的功能:// 定义一个变量,用于存储按钮点击次数int clickCount = 0;// 按钮点击事件处理函数void OnButtonClick(){// 每次点击增加计数clickCount++;// 更新界面上的文本显示SetText("label1", "按钮点击次数:" + clickCount);}在上述示例中,我们定义了一个变量`clickCount`,并在按钮点击事件处理函数`OnButtonClick`中对其进行增加,并通过`SetText`函数更新界面上的文本显示。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Wincc C语言基础3.属性的C动作#include apdefap hlong-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动作的标题已经自动生成,该标题不能更改。

在C动作的标题的第一行内,包括文件apdefap.h.。

通过该文件,向C动作预告所有项目的函数.标准函数以及内部函数。

C动作标题的第二部分为函数标题。

该函数标题提供有关C动作的返回值和可以在C动作中使用的传送参数的信息。

C动作标题的第三部分开始是花括弧。

此花括弧不能删除。

在该开始大括弧和结束大括弧之间,编写C动作的实际代码。

(4)其他自动生成的代码部分包括两个注释块,若要使交叉索引编辑器可以访问C动作的内部信息,则需要这些块,要允许C动作中语句重新排列也需要这两个块。

如果这些选项都不用。

则可以删除这些注解。

第一个块用于定义C动作中使用的WinCC变量。

在程序代码中必须使用定义变量名称而不是实际的变量名称第二个注释块用于定义C中所使用的WinCC画面。

在程序代码中也必须使用定义的画面名称而不是实际画面名称。

(5)编写执行期望计算的函数主题、动作等。

有多种编辑辅助工具可供使用,其中一种辅助工具是变量选择对话框,此对话框如下所示的按钮可以打开。

在显示的选择变量对话框中,选择WinCC变量然后单击确定来确认。

于是在C动作中在当前光标位置处插入所选WinCC的变量名称。

(6)另一种辅助工具是动作编辑器左窗口中的函数选择。

利用函数选择,可以在C动作中的当前光标位置处自动插入所有可用的项目函数、标准函数和内部函数。

为此,通过鼠标D来选择其数据类型的列表。

该函数可以在数值列中进行参数化。

除简单的文本输入以外,选择变量.图形对象和画面选项都可以用。

为了在C动作中的当前光标位置插入函数,可通过单击确认来确定对话框。

(7)现在必须翻译已完成的函数。

在通过如下所示的工具按钮来完成。

翻译过程的结果显示在动作编辑器的左下角。

它包括找到错误的个数和警告的个数。

错误总会使C动作无法进行。

而警告是一种提示,指出在执行C动作期间可能出现的错误。

良好的编辑风格可防止在创建C动作时出现除0 Ereor(S),0 Warning(s)的输出结果之外的情况。

如果在编译过程中出现错误,则它们将在输出窗口中显示。

通过鼠标D输出窗口中的错误消息,可以直接跳转到相应的代码行。

(8)对于已经为对象属性创建的C动作,必须定义触发器。

对于事件本身就是触发器所以不用在定义。

触发器的定义通过如下所示的按钮来执行。

可以选择使用时间变量触发器。

(9)通过单击动作编辑器的确定按钮,可将已编写的C动作放置在期望的属性或事件处。

通过C动作动态化的属性或事件将用绿箭头标记。

WinCC标签定义和画面定义#include“apdefap.h”long-main(char*lpszPictureName.char* lpsz ObjectName. Char* lpszPropertyName){/WINCC.TAGNAME-SECTTON-START//syntax.#define TagNameInAction “DMTagName”#define S32I-COURSE-0TEST-1 “S32i-course-test-1”//next TagID :1//WINCC TAGNAME-SECTION-END//WINCC:PICNAME-SECCTON-START//syntax: #define PicNameInAction “PictureName”#define CC-0-STARTPICTURE-00 “cc-0-startpicture-00.Pd1”//next PicID:1//WINCC:PICNAME-SECTTON-ENDSetTagSDWord(S32I-COURSE-TEST-1,100);OpenPicture(CC-0-STARTPICTURE-00);Return 0;}如果创建新的C的动作,则自动生成的代码将包括两个注释块。

若要使用交叉索引编辑器可以仿问C动作的内部信息,则需要这些注释块。

要允许C动作中语句重新排列也需要这两个块。

变量定义:第一个注释块用于定义C动作中使用的WinCC变量。

该注释块以/MINCC:TAGAME-SECTION-START作为开始,以/MINCC:TAGNAME-SECTION-END作为结束。

在两行命令之间,定义C动作中的所有WinCC的变量名称。

通过预处理程序命令#define后跟定义的名称(在本实例代码中为S32I-COURSE-TEST-1),其后在接WinCC变量的名称(在本实例中为(S32i-course-tsse-1)来定义。

画面定义:第二个注释块用来定义C动作中所使用的WinCC画面。

该注释块以行/MINCC:PICNAME-SECTION-START作为开始,以行/MINCC:PICNAME-SECTION-END作为结束。

在两行之间,定义C动作中使用的所有WinCC画面名称。

它遵循的规律与上面所描述的定义变量名称时所遵循的规则相同。

应用:在实际程序代码中,必须使用定义的值,而不是实际的变量和画面名称。

在编译C动作之前,预处理程序将用实际名称替换所有定义的名称2.1.2全局脚本编辑器全局脚本编辑器用于创建项目函数、标准函数和动作。

1.项目函数如果在C动作中经常需要相同的功能,则该功能可以在项目函数中公式化。

在WinCC 项目的所有C动作都可以按照调用所有其他函数一样的方式来调用项目函数。

下面列出了使用项目函数对于在C动作中创建完整的程序代码的优点:编辑器的中心位置:项目函数的改变会影响所有正在使用该函数的C动作。

如果没有使用项目函数,则必须手动修改所有相关的C动作。

这不但可以简化组态,而且可以简化维护和故障检测工作。

可重用性:一旦一个项目函数编写完并进行了广泛的测试,则它随时都可以再次使用,无须附加的组态或新的测试。

画面容量减少:如果并不是在对象的C动作中直接放置完整的程序代码,则画面的容量将减少。

这可以使画面打开的速度更快并且在运行系统中的效果更佳。

口令保护:项目函数可以通过指定口令进行保护,以防更改。

这样可以保护组态数据以及用户的技术窍门。

项目函数只能在项目内使用。

它们存储在WinCC Project Folder\LIBRARY文件夹内并在相同的文件夹中的ap-pbib.h文件内定义。

许多函数只能在项目内使用。

与项目函数相反,标准函数可以用于所有的WinCC 项目。

可以更改现有的标准函数。

也可以创建新的标准函数。

标准函数与项目函数的区别仅在于它们的可用性:标准函数可以跨项目使用,然而项目函数只能在项目内使用。

标准函数存储在WinCCInstallationFolder\LIBRARY文件夹内,并在同一文件夹中的ap-glob.h文件内定义。

2.内部函数除项目函数和标准函数之外,还有内部函数。

其中,它们是标准的C函数。

用户不能对其进行更改,也不能创建新的内部函数。

动作:动作(与先前描述的函数相反)不能由C动作或其他函数调用。

必须为动作指定触发器来控制其执行。

它在运行系统中执行时与当前所选择的画面无关。

可以组态全局动作,既跨项目动作。

在这种情况下它们存储字WinCCProjectFolder\PAS文件夹中。

也可以组态全局动作(指定计算机的动作),它们将存储在WinCCProjiectFolder\ComputerName\PAS文件夹中。

如果在计算机的启动列表中选中了全局脚本运行系统,则一旦项目启动,属于该计算机的所有全局动作和所有局部动作将被激活。

3.建立项目函数创建项目函数所须的步骤与创建标准函数的步骤完全相同,因此下面的说明也适用于标准函数的创建建立项目函数步骤:(1)打开全局脚本编辑器。

(2)通过鼠标的右键项目函数条目,然后从弹出式菜单中选择新建→函数,将创建新项目函数的基本框架。

相关文档
最新文档