1 / 20
文档名称:

WINCCc语言基础.doc

格式:doc   大小:365KB   页数:20页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

WINCCc语言基础.doc

上传人:雨林书屋 2023/1/6 文件大小:365 KB

下载得到文件列表

WINCCc语言基础.doc

文档介绍

文档介绍:该【WINCCc语言基础 】是由【雨林书屋】上传分享,文档一共【20】页,该文档可以免费在线阅读,需要了解更多关于【WINCCc语言基础 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
要使对象动向化,在WinCC中有多种不一样样的选项可用。其中包括变量连结
.动向对话框和直
接连结。经过它们可以实现复杂的动向。
但是,跟着要求的增加它们会有限制。对于用户来
说,组态C动作、项目函数或动作可以有更广的范围。它们在
WinCC脚本语言C中创立。
对于很多应用来说,不器具备特别全面的
C语言知识。它足以为现有函数供应参数。但是,
为了使用WinCC脚本语言C的全部功能,需要具备有关这种编写语言的基本知识。
本课程可
以为用户供应这些知识。
本课程用来为不熟悉C语言的人员供应有关编写语言
C的常例应用的基本知识。具备C语言
编写经验的编程员可以学****br/>C语言应用于WinCC时的特色。
脚本的开发环境
对于C脚本的创立,WinCC供应两个不一样样的编写器。一个是图形编写器中的动作编写器,用
于在对象处创立C动作;另一个是全局脚本编写器,用于创立项目函数和全局动作。脚本语言的语法与采用ANSI的标准C语言相一致。
WinCC中编写语言C的另一个应用领域是对于动导游游的创立。为此,可以使用一个独自的编写器。
图形编写器的动作编写器
在图形编写器中,可以经过C动作使对象属性动作化。相同,也可以使用C动作来响对付象事件。

对于C动作的组态,可以使用动作编写器。翻开,即点击鼠标右键希望的属性或事件,在的C动作在属性或事件处用绿色箭头标志。

此编写器可以在对象属性对话框中经过以下方法
此后从显示的弹出式菜单中选择C动作。已经存
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
在动作编写器中,可以编写C动作。对于属性的C动作,必定定义触发器。对于事件的C动作,由于事件自己就是触发器因此不用再定义。达成的C动作必定进行编译,假如编译程序没有检测到错误,则可以经过单击确定退出动作编写器
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础

平常,一个C动作相当与C中的一个函数。C动作由两种不一样样种类:为属性创立动作和为事
件创立的动作。平常,属性的C动作用于依照不一样样的环境条件控制此属性的值(比方变量的值)。对于这种种类的C动作,必定定义触发器来控制其执行。事件的C动作来响应此事件。
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
3

C
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
#includeapdefaph
long-main(char***lpszPropertyName)
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
{
/*1*/long1ReturnValue;
/*2*/1ReturnValue*GetTagSDword(*S32icourse-test-1*);
/*3*/return1ReturnValue;
}
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
上述实例代码代表一个典型的属性的

C动作。各部分的含义描绘以下:
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
标题(灰色):灰色阴影显示的前三行构成C的动作标题。该标题自动生成而且不可以改正。
除返回种类(在实例代码中为long)之外,全部的函数标题完满相同。将三个参数传达给C
动作。它们是画面名称(LpszPictureName),对象名(lpszObjectName)和属性名
(lpszPropertyName).
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
变量声明(1):在可以编写的第一段代码中声明使用的变量。在本实例代码中,指的是一个long型的变量。
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
数值计算(

2):在本段中,执行属性值的计算。在实例代码中,只读入一个

WinCC变量的
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
数值。
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
数值返回(

3):将计算得出的属性值赋给属性。这经过

return

命令来达成
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础


C动作
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
#include*
voidOnClicik(char***lpszPropertyName)
{
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
/*1*/

long1Value;
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
/*2*/

1Value*GetTagSDWord(*s32i-course-tset-

1”);
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
SetIeft(lpszPictureName,lpszobjectName,1value);
}
上述实例代码代表一个典型的事件的C动作。各部分含义描绘以下:
标题(灰色):灰色阴影显示的前三行构成C动作的标题。该标题自动生成而且不可以改正。
对于不一样种类的事件,其参数标题也不一样。将参数lpszPictureName(画面名
称).lpszObjectName(对象名)和lpszPropertyName(属性名)传达给C动作。参数
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
lpszPropertyName只包括与响应属性变化的事件有关的信息。可以传达附加的事件指定的参数。
变量声明(1):在可以编写的第一代码段中声明使用的变量。在本实例代码中,指的是一个long型的变量。
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
事件办理(2):在本段中,执行响应事件的动作。在本实例代码中,读入一个的数值。该数值作为地点X分派给自己的对象。事件的C动作的返回值为

void

WinCC变量
种类,也就
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
是说不需要返回值

创立C动作的步骤以下:
1).翻开图形编写器,翻开希望的WinCC画面,翻开所希望对象的对象属性对话框
2)经过鼠标R希望的属性或事件,此后从弹出式菜单中选择C动作来翻开动作编写器
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
(3)将显示动作编写器,其中将显示函数的基本框架。其他,该标题不可以改正。

C动作的标题已经自动生成,
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
在C动作的标题的第一行内,包括文件.。经过该文件,
函数以及内部函数。C动作标题的第二部分为函数标题。该函数标题供应有关C动作的返回值和可以在C动作中使用的传达参数的信息。C动作标题的第三部分开始是花括弧。此花括
弧不可以删除。在该开始大括弧和结束大括弧之间,编写C动作的实质代码。
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
(4)其他自动生成的代码部分包括两个说明块,若要使交织索引编写器可以接见内部信息,则需要这些块,要赞同C动作中语句从头排列也需要这两个块。不用。则可以删除这些讲解。

C动作的假如这些选项都
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
第一个块用于定义C动作中使用的WinCC变量。在程序代码中必定使用定义变量名称而不是实质的变量名称
第二个说明块用于定义C中所使用的WinCC画面。在程序代码中也必定使用定义的画面名称而不是实质画面名称。
(5)编写执行希望计算的函数主题、动作等。有多种编写协助工具可供使用,其中一种辅
助工具是变量选择对话框,此对话框以下所示的按钮可以翻开。在显示的选择变量对话框中,
选择WinCC变量此后单击确定来确认。于是在C动作中在目前光标地点处插入所选WinCC
的变量名称。
(6)另一种协助工具是动作编写器左窗口中的函数选择。利用函数选择,可以在C动作中
的目前光标地点处自动插入全部可用的项目函数、标准函数和内部函数。为此,经过鼠标D
来选择其数据种类的列表。该函数可以在数值列中进行参数化。除简单的文本输入之外,选

WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
为了在C动作中的目前光标地点插入函数,可经过单击确认来确定对话框。
7)此刻必定翻译已达成的函数。在经过以下所示的工具按钮来达成。翻译过程的结果显
示在动作编写器的左下角。它包括找到错误的个数和警示的个数。错误总会使C动作无法进行。而警示是一种提示,指出在执行C动作时期可能出现的错误。优秀的编写风格可防范在
创立C动作时出现除0Ereor(S),0Warning(s)的输出结果之外的情况。
假如在编译过程中出现错误,则它们将在输出窗口中显示。经过鼠标D输出窗口中的错误信息,可以直接跳转到相应的代码行。
8)对于已经为对象属性创立的C动作,必定定义触发器。对于事件自己就是触发器因此不用在定义。触发器的定义经过以下所示的按钮来执行。可以选择使用时间变量触发器。
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
(9)经过单击动作编写器的确定按钮,可将已编写的经过C动作动向化的属性或事件将用绿箭头标志。

C动作搁置在希望的属性或事件处。
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
WinCC标签订义和画面定义
#include“”
long-main(char***lpszPropertyName)
{
/
defineTagNameInAction“DMTagName”
#defineS32I-COURSE-0TEST-1“S32i-course-test-1”
局脚本编写器
全局脚本编写器用于创立项目函数、标准函数和动作。

WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
假如在C动作中常常需要相同的功能,则该功能可以在项目函数中公式化。在的全部C动作都可以依照调用全部其他函数相同的方式来调用项目函数。目函数对于在C动作中创立完满的程序代码的优点:

WinCC项此刻面列出了使用项
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
编写器的中心地点:项目函数的改变会影响全部正在使用该函数的
目函数,则必定手动改正全部有关的C动作。这不仅能够简化组态,
障检测工作。

C动作。假如没有使用项
而且可以简化保护和故
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
可重用性:一旦一个项目函数编写完并进行了宽泛的测试,

则它随时都可以再次使用,

不用
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
附加的组态或新的测试。
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
画容颜量减少:假如其实不是在对象的C动作中直接搁置完满的程序代码,则画面的容量将减少。这可以使画面翻开的速度更快而且在运行系统中的见效更佳。
口令保护:项目函数可以经过指定口令进行保护,
以防改正。这样可以保护组态数据以及用
户的技术诀窍。项目函数只幸好项目内使用。它们储蓄在
WinCCProjectFolder\LIBRARY
文件夹内并在相同的文件夹中的文件内定义。
很多函数只幸好项目内使用。与项目函数相反,
标准函数可以用于全部的
WinCC项目。可以改正现有的标准函数。
也可以创立新的标准函数。
标准函数与项目函数的差异仅在于它们的可用性:
标准函数可以跨项目使用,但是项目函数
只幸好项目内使用。标准函数储蓄在
WinCCInstallationFolder\LIBRARY
文件夹内,并在同
一文件夹中的文件内定义。

除项目函数和标准函数之外,还有内部函数。
其中,它们是标准的C函数。用户不可以对其进
行改正,也不可以创立新的内部函数。
动作:动作(与先前描绘的函数相反)不可以由
C动作或其他函数调用。
必定为动作指定触发
器来控制其执行。它在运行系统中执行时与目前所选择的画面没关。
可以组态全局动作,

跨项目动作。在这种情况下它们储蓄字
WinCCProjectFolder\PAS
文件夹中。也可以组态全
局动作(指定计算机的动作),它们将储蓄在
WinCCProjiectFolder\ComputerName\PAS

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

创立项目函数所须的步骤与创立标准函数的步骤完满相同,因此下面的说明也合用于标准函数的创立
成立项目函数步骤:
1)翻开全局脚本编写器。
2)经过鼠标的右键项目函数条目,此后从弹出式菜单中选择新建→函数,将创立新项目函数的基本框架。
3)项目函数可以完满由用户进行配置,没有不可以编译的代码段。编写函数标题,函数必
须有一个名称,以便C动作或其他函数调用时全部。其他,必定指定返回值和函数所须的传达参数。
假如目前的函数中要使用其他项目函数或标准函数,则必定联合文件,这经过预办理程序命
令#include“”来达成,该命令必定插在函数标题以前。
#include“”
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
intMy-Project-Function(intiFirstParam,BOOLbSecondParem)
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
{
return0;
}
4)编写函数主题。可以使用与编写C动作相同的协助工具,特别是变量选择和函数选择。
5)已达成的函数此刻必定进行编译。这经过以下所示的工具栏按钮来达成。
编译过程的结果显示在输出窗口中,将列出产生的错误和警示,而且显示其数量。经过鼠标D输出窗口中的错误信息,可以直接跳转到相应的代码行。
Compiling
Line3:error(0086):function‘My-Project-Function’doesnotreturnaval
Error(s),oWarning(s)
(6)经过以下所示的工具栏按钮,可以将描绘增加大批项目函数中。可以与描绘一同定义一个口令,以保护项目函数免遭未**人员接见。
(7)达成的项目函数必定用合适的名称进行保存。

创立全局动作所须的步骤与创立局部动作所须的步骤完满相同。因此,下面的步骤也合用于
创立局部动作。
成立全局动作步骤:
1)翻开全局脚本编写器
2)经过鼠标的右键项目函数条目,此后从弹出式菜单中选择新建动作,将创立动作的基本框架。
(3)动作的标题将会自动生成而且不可以更该。其他,插入用于定义WinCC变量和WinCC画
面的两个说明块。这两个说明块的含义已经在先前的C动作一节中进行说明。
#include“”
intgscAction(void)
{
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
defineTagNameInAction“DMTagName”
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
开图形编写器
翻开希望的WinCC画面。
(2)组态智能对象应用窗口。
将应用窗口置于画面内此后,将翻开窗口对话框。从列表中选择全局脚本条目。经过单击确
定退出对话框。翻开模板对话框,从列表中选择GSC诊疗条目。相同经过单击确定退出对话框。
3)为了便于利用全局脚本诊疗窗口,建议将对象属性对话框其他条此刻的全部属性设置为是。
4)假如项目在运行,则由printf()函数指定的文本输出将显示在诊疗窗口中。假如用工具栏上相应的按钮中断更新,则可以保存或打印输出窗口内容。
变量
WinCC项目Project-C-Course中,有关变量的主题实例可以经过单击以下所示的阅读栏来接见。实例在画面中组态。
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
变量:变量是由程序办理的数据对象。

变量只有在定义此后才能使用。

在第一条指令可以执
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
行前,必定先定义程序中的全部变量。
变量可以比做一个容器。经过变量名,我们给容器一个独一的名称。容器中内容的种类经过其数据种类来指定,容器的初始内容经过初始值来指定。在大部分情况下,该内容将在程序执行过程中进行办理。此地方描绘的变量不应误以为是WinCC变量。它们只幸好程序代码中使用。以下程序代码说了然定义变量的一个实例。
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
Intitag;
.在该实例中,用名字Itag来定义一个int数据种类的变量。代码行以分号结束。变量名的前面是描绘数据种类的前缀。这其实不是必定依照,但它却使得在程序创立时期可以马上鉴识变
量的数据种类。在定义变量时,也可以将其初始化。
Intitag=0;
常量:除变量之外,程序中也使用常量。它但是数值的直接使用。为了说明这种数值的含义,可以使用#define命令为它定义符号常量。
以下程序代码说了然定义符号常量的一个实例。
#defineMAX-VALUE7483647
在给实例中,用数值7483647来定义符号常量MAX-VALUE。注意代码行不得用分号结束。用大写字母表示符号常量是一般的编程规律,以便易于与变量划分。
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
数据种类:C所识其他基本数据种类以下:
Char一个字节,可以接受一个字符,Int整型数值,Float单精度型浮点数,Double双精
度型浮点数,Char数据种类的变量需要一个字节的储蓄空间。其内容可以讲解为一个字符或一个数字。
Int数据种类以前可以加要点字
signed或unsigned。要点字signed
代表有符号数,要点字
unsigned代表无符号数。Int
数据种类以前也可以加要点字

以不带int而独自使用,其含义仍旧相同。
Short(或shortint)
数据种类的变量需要
2个
字节的储蓄空间,
long(或longint)
数据种类的变量与int
数据的变量相同需要4
个字节
的储蓄空间,但是
double数据种类的变量需要8个字节的储蓄空间。
各数据种类的数值范围:每种数据种类都可以显示某一数值范围的数值。
差异在于不一样样的数
据种类所须的储蓄空间不一样样,以及是有符号还是无符号数据种类。
Int
–48至47
Unsignedint
0至5
Short
-32768
至32767
Unsigtnedshort
0-65535
Long–48至47
Unsignedlong
0
至95
Char–128至127(全部的ASC||字符)
Unsignedchar
0
至225(全部的ASC||字符)
float–10^38z至0^38
double–10^308至0^308
整数数据种类
用C的缺省数据种类来显示整数。在事件→鼠标→鼠标动作的对象按钮1组态了本实例。

#include“”
voidOnClick(char#lpszPictureNamechar3lpszObjectName,char#lpszProper”
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
{
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
charcNumber;//signad0bitvalue
long1Nameber;//signad32bitvalue
shortsNamber;//signad16bitvalue
intiNumber;//signad32bitvalue
unsignedcharucNumber;//unsigned8bitvalue
unsignedlongulNumber;//unsigned32bitvalue
unsignedshortusNamber://unsigned16bitvalue
unsignedintuiNumber;//unsigned32bitvalue
cNumber=-128;
sNumder=-32768;
lNumber=-48;
iNumber=67;
//outputindignsticssindow
prinft(“n”);
printf(“char:n”
“long:n”,
cNumber,sNumber,1Number,iNumber);
ucNumber=255;
usNumder=65535;
u1Nuber=95;
uiNuber=95;
//outputindiagnosticsvindow
printf(“unsignedchar:n”
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
“unsignedlong:n”,
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
ucNumber,usNumber,ulNumber,uiNumber);
}
前三行为C动作的标题。该标题不可以改正。在第二部分中,定义变量。为charlongshort
和int数据种类及其无符号的对应量各定义一个变量。变量名称前面加上描绘数据种类的前
缀。这其实不是必定依照,但它却使得在程序创立时期可以马上鉴识变量的数据种类。作为说明,
每一行包括变量所需的储蓄空间(以字符串//开始的说明部分用绿色标志)。在第三部分中,将数值赋给变量。这经过使用赋值运算符=来达成。本实例中所使用的数值恰巧是各样数据
种类所能显示的数值范围中的极限值。这些数值经过函数printf()在诊疗窗口中输出。此
输出在下部分显示。

本节中描绘的实例在诊疗窗口中内生成以下输出:
Example1:
Char:
-128
Short:
-32768
Long:
-648
Int:
47
Unsignedchar:
255
Unsignedshort:
65535
Unsignedlong:
95
Unsignedint:
95
整数WinCC变量
在大部分情况下,要经过C动作或其他函数来使对象动向化和解决近似的事情时,
必定使用
WinCC变量。为此,有很多用于读取和写入
WinCC变量值的函数可以使用。这些函数可以与
每种WinCC缺省变量种类一同使用。在本实例中,将数值写入各样
WinCC变量。WinCC变量
的内容显示在输出域内。在事件→
鼠标→鼠标动作处为对象按钮
3组态了本实例
按钮3的C动作:
#include“”
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础
voidOnClick(char#lpszPictureNamechar3lpszObjectName,char#lpszProper”
WINCCc语言基础
WINCCc语言基础
WINCCc语言基础