wincc的c語(yǔ)言基礎(chǔ)
聲明:您必須遵守我們的協(xié)議,如果您下載了該資源行為將被視為對(duì)《電天下賬號(hào)管理規(guī)范》全部?jī)?nèi)容的認(rèn)可,本網(wǎng)站資源來自原創(chuàng),僅供用于學(xué)習(xí)和交流,請(qǐng)勿用于商業(yè)用途。如有侵權(quán)、不妥之處,請(qǐng)舉報(bào)本資源,我們將及時(shí)審核處理!
wincc的c語(yǔ)言基礎(chǔ)
西門子 wincc的c語(yǔ)言基礎(chǔ)
文本預(yù)覽
第二章 WinCC C語(yǔ)言基礎(chǔ)
要使對(duì)象動(dòng)態(tài)化,在WinCC中有多種不同的選項(xiàng)可用。其中包括變量
連接.動(dòng)態(tài)對(duì)話框和直接連接。通過它們可以實(shí)現(xiàn)復(fù)雜的動(dòng)態(tài)。然而,隨著
要求的增加它們會(huì)有限制。對(duì)于用戶來說,組態(tài)C動(dòng)作、項(xiàng)目函數(shù)或動(dòng)作
可以有更廣的范圍。它們?cè)赪inCC 腳本語(yǔ)言C中創(chuàng)建。對(duì)于許多應(yīng)用來說,
不必具備非常全面的C語(yǔ)言知識(shí)。它足以為現(xiàn)有函數(shù)提供參數(shù)。然而,為
了使用WinCC腳本語(yǔ)言C的全部功能,需要具備有關(guān)這種編輯語(yǔ)言的基本
知識(shí)。本課程可以為用戶提供這些知識(shí)。
本課程用來為不熟悉C語(yǔ)言的人員提供有關(guān)編輯語(yǔ)言C的常規(guī)應(yīng)用的基
本知識(shí)。具備C語(yǔ)言編輯經(jīng)驗(yàn)的編程員可以學(xué)習(xí)C語(yǔ)言應(yīng)用于WinCC時(shí)的
特性。
2.1 C腳本的開發(fā)環(huán)境
對(duì)于C腳本的創(chuàng)建,WinCC提供兩個(gè)不同的編輯器。一個(gè)是圖形編輯
器中的動(dòng)作編輯器,用于在對(duì)象處創(chuàng)建C動(dòng)作;另一個(gè)是全局腳本編輯器,
用于創(chuàng)建項(xiàng)目函數(shù)和全局動(dòng)作。腳本語(yǔ)言的語(yǔ)法與采用ANSI的標(biāo)準(zhǔn)C語(yǔ)言
相一致。
在WinCC中編輯語(yǔ)言C的另一個(gè)應(yīng)用領(lǐng)域是關(guān)于動(dòng)態(tài)向?qū)У膭?chuàng)建。為
此,可以使用一個(gè)單獨(dú)的編輯器。
2.1.1 圖形編輯器的動(dòng)作編輯器
在圖形編輯器中,可以通過C動(dòng)作使對(duì)象屬性動(dòng)作化。同樣,也可以使
用C動(dòng)作來響應(yīng)對(duì)象事件。
1.動(dòng)作編輯器
對(duì)于C動(dòng)作的組態(tài),可以使用動(dòng)作編輯器。此編輯器可以在對(duì)象屬性對(duì)
話框中通過以下方法打開,即點(diǎn)擊鼠標(biāo)右鍵期望的屬性或事件,然后從顯示
的彈出式菜單中選擇C動(dòng)作。已經(jīng)存在的C動(dòng)作在屬性或事件處用綠色箭
頭標(biāo)記。在動(dòng)作編輯器中,可以編寫C動(dòng)作。對(duì)于屬性的C動(dòng)作,必須定義觸發(fā)
器。對(duì)于事件的C動(dòng)作,由于事件本身就是觸發(fā)器所以不必再定義。完成
的C動(dòng)作必須進(jìn)行編譯,如果編譯程序沒有檢測(cè)到錯(cuò)誤,則可以通過單擊
確定退出動(dòng)作編輯器
2.C動(dòng)作的結(jié)構(gòu)
通常,一個(gè)C動(dòng)作相當(dāng)與C中的一個(gè)函數(shù)。C動(dòng)作由兩種不同類型:為
屬性創(chuàng)建動(dòng)作和為事件創(chuàng)建的動(dòng)作。通常,屬性的C動(dòng)作用于根據(jù)不同的
環(huán)境條件控制此屬性的值(例如變量的值)。對(duì)于這種類型的C動(dòng)作,必
須定義觸發(fā)器來控制其執(zhí)行。事件的C動(dòng)作來響應(yīng)此事件。
3.屬性的C動(dòng)作
#include apdefap h
long-main(char* lpszPictureName.char* lpszObjectName.char*lpszPropert
yName)
{
/*1*/ long 1ReturnValue;
/*2*/ 1ReturnValue * GetTagSDword(*S32icourse-test-1*);
/*3*/ return 1ReturnValue;
}
上述實(shí)例代碼代表一個(gè)典型的屬性的C動(dòng)作。各部分的含義描述如下:標(biāo)題(灰色):灰色陰影顯示的前三行構(gòu)成C的動(dòng)作標(biāo)題。該標(biāo)題自動(dòng)
生成并且不能更改。除返回類型(在實(shí)例代碼中為long)之外,所有的函數(shù)
標(biāo)題完全相同。將三個(gè)參數(shù)傳送給C動(dòng)作。它們是畫面名稱(Lpsz Picture
Name),對(duì)象名(lpszObjectName)和屬性名(lpszPropertyName).
變量聲明(1):在可以編輯的第一段代碼中聲明使用的變量。在本實(shí)
例代碼中,指的是一個(gè)long型的變量。
數(shù)值計(jì)算(2):在本段中,執(zhí)行屬性值的計(jì)算。在實(shí)例代碼中,只讀
入一個(gè)WinCC 變量的數(shù)值。
數(shù)值返回(3):將計(jì)算得出的屬性值賦給屬性。這通過return命令來
完成
4.事件的C動(dòng)作
#include apdefap.h*
void OnClicik(char* lpszPictureName.char* lpszObjectName.char* lpszP
ropertyName)
{
/*1*/ long 1Value;
/*2*/ 1Value * GetTagSDWord(*s32i-course-tset-1”);
SetIeft (lpszPictureName,lpszobjectName,1value);
}
上述實(shí)例代碼代表一個(gè)典型的事件的C動(dòng)作。各部分含義描述如下:標(biāo)題(灰色):灰色陰影顯示的前三行構(gòu)成C動(dòng)作的標(biāo)題。該標(biāo)題自動(dòng)
生成并且不能更改。對(duì)于不同類型的事件,其參數(shù)標(biāo)題也不同。將參數(shù)lps
zPictureName(畫面名稱).lpszObjectName(對(duì)象名)和lpszPropertyName(屬性
名)傳遞給C動(dòng)作。參數(shù)lpszPropertyName只包含與響應(yīng)屬性變化的事件相
關(guān)的信息??梢詡鬟f附加的事件指定的參數(shù)。
變量聲明(1):在可以編輯的第一代碼段中聲明使用的變量。在本實(shí)
例代碼中,指的是一個(gè)long型的變量。
事件處理(2):在本段中,執(zhí)行響應(yīng)事件的動(dòng)作。在本實(shí)例代碼中,
讀入一個(gè)WinCC變量的數(shù)值。該數(shù)值作為位置X分配給自己的對(duì)象。事件
的C動(dòng)作的返回值為void類型,也就是說不需要返回值
5.C動(dòng)作的創(chuàng)建
創(chuàng)建C動(dòng)作的步驟如下:
(1).打開圖形編輯器,打開期望的WinCC畫面,打開所期望對(duì)象的對(duì)
象屬性對(duì)話框
(2)通過鼠標(biāo)R期望的屬性或事件,然后從彈出式菜單中選擇C動(dòng)作
來打開動(dòng)作編輯器
(3)將顯示動(dòng)作編輯器,其中將顯示函數(shù)的基本框架。此外,C動(dòng)作
的標(biāo)題已經(jīng)自動(dòng)生成,該標(biāo)題不能更改。
在C動(dòng)作的標(biāo)題的第一行內(nèi),包括文件apdefap.h.。通過該文件,向C
動(dòng)作預(yù)告所有項(xiàng)目的函數(shù).標(biāo)準(zhǔn)函數(shù)以及內(nèi)部函數(shù)。C動(dòng)作標(biāo)題的第二部分
為函數(shù)標(biāo)題。該函數(shù)標(biāo)題提供有關(guān)C動(dòng)作的返回值和可以在C動(dòng)作中使用
的傳送參數(shù)的信息。C動(dòng)作標(biāo)題的第三部分開始是花括弧。此花括弧不能刪
除。在該開始大括弧和結(jié)束大括弧之間,編寫C動(dòng)作的實(shí)際代碼。
(4)其他自動(dòng)生成的代碼部分包括兩個(gè)注釋塊,若要使交叉索引編輯
器可以訪問C動(dòng)作的內(nèi)部信息,則需要這些塊,要允許C動(dòng)作中語(yǔ)句重新
排列也需要這兩個(gè)塊。如果這些選項(xiàng)都不用。則可以刪除這些注解。第一個(gè)塊用于定義C動(dòng)作中使用的WinCC變量。在程序代碼中必須使
用定義變量名稱而不是實(shí)際的變量名稱
第二個(gè)注釋塊用于定義C中所使用的WinCC畫面。在程序代碼中也必
須使用定義的畫面名稱而不是實(shí)際畫面名稱。
(5)編寫執(zhí)行期望計(jì)算的函數(shù)主題、動(dòng)作等。有多種編輯輔助工具可
供使用,其中一種輔助工具是變量選擇對(duì)話框,此對(duì)話框如下所示的按鈕可
以打開。在顯示的選擇變量對(duì)話框中,選擇WinCC變量然后單擊確定來確
認(rèn)。于是在C動(dòng)作中在當(dāng)前光標(biāo)位置處插入所選WinCC的變量名稱。
(6)另一種輔助工具是動(dòng)作編輯器左窗口中的函數(shù)選擇。利用函數(shù)選
擇,可以在C動(dòng)作中的當(dāng)前光標(biāo)位置處自動(dòng)插入所有可用的項(xiàng)目函數(shù)、標(biāo)
準(zhǔn)函數(shù)和內(nèi)部函數(shù)。為此,通過鼠標(biāo)D來選擇其數(shù)據(jù)類型的列表。該函數(shù)
可以在數(shù)值列中進(jìn)行參數(shù)化。除簡(jiǎn)單的文本輸入以外,選擇變量.圖形對(duì)象
和畫面選項(xiàng)都可以用。
要使對(duì)象動(dòng)態(tài)化,在WinCC中有多種不同的選項(xiàng)可用。其中包括變量
連接.動(dòng)態(tài)對(duì)話框和直接連接。通過它們可以實(shí)現(xiàn)復(fù)雜的動(dòng)態(tài)。然而,隨著
要求的增加它們會(huì)有限制。對(duì)于用戶來說,組態(tài)C動(dòng)作、項(xiàng)目函數(shù)或動(dòng)作
可以有更廣的范圍。它們?cè)赪inCC 腳本語(yǔ)言C中創(chuàng)建。對(duì)于許多應(yīng)用來說,
不必具備非常全面的C語(yǔ)言知識(shí)。它足以為現(xiàn)有函數(shù)提供參數(shù)。然而,為
了使用WinCC腳本語(yǔ)言C的全部功能,需要具備有關(guān)這種編輯語(yǔ)言的基本
知識(shí)。本課程可以為用戶提供這些知識(shí)。
本課程用來為不熟悉C語(yǔ)言的人員提供有關(guān)編輯語(yǔ)言C的常規(guī)應(yīng)用的基
本知識(shí)。具備C語(yǔ)言編輯經(jīng)驗(yàn)的編程員可以學(xué)習(xí)C語(yǔ)言應(yīng)用于WinCC時(shí)的
特性。
2.1 C腳本的開發(fā)環(huán)境
對(duì)于C腳本的創(chuàng)建,WinCC提供兩個(gè)不同的編輯器。一個(gè)是圖形編輯
器中的動(dòng)作編輯器,用于在對(duì)象處創(chuàng)建C動(dòng)作;另一個(gè)是全局腳本編輯器,
用于創(chuàng)建項(xiàng)目函數(shù)和全局動(dòng)作。腳本語(yǔ)言的語(yǔ)法與采用ANSI的標(biāo)準(zhǔn)C語(yǔ)言
相一致。
在WinCC中編輯語(yǔ)言C的另一個(gè)應(yīng)用領(lǐng)域是關(guān)于動(dòng)態(tài)向?qū)У膭?chuàng)建。為
此,可以使用一個(gè)單獨(dú)的編輯器。
2.1.1 圖形編輯器的動(dòng)作編輯器
在圖形編輯器中,可以通過C動(dòng)作使對(duì)象屬性動(dòng)作化。同樣,也可以使
用C動(dòng)作來響應(yīng)對(duì)象事件。
1.動(dòng)作編輯器
對(duì)于C動(dòng)作的組態(tài),可以使用動(dòng)作編輯器。此編輯器可以在對(duì)象屬性對(duì)
話框中通過以下方法打開,即點(diǎn)擊鼠標(biāo)右鍵期望的屬性或事件,然后從顯示
的彈出式菜單中選擇C動(dòng)作。已經(jīng)存在的C動(dòng)作在屬性或事件處用綠色箭
頭標(biāo)記。在動(dòng)作編輯器中,可以編寫C動(dòng)作。對(duì)于屬性的C動(dòng)作,必須定義觸發(fā)
器。對(duì)于事件的C動(dòng)作,由于事件本身就是觸發(fā)器所以不必再定義。完成
的C動(dòng)作必須進(jìn)行編譯,如果編譯程序沒有檢測(cè)到錯(cuò)誤,則可以通過單擊
確定退出動(dòng)作編輯器
2.C動(dòng)作的結(jié)構(gòu)
通常,一個(gè)C動(dòng)作相當(dāng)與C中的一個(gè)函數(shù)。C動(dòng)作由兩種不同類型:為
屬性創(chuàng)建動(dòng)作和為事件創(chuàng)建的動(dòng)作。通常,屬性的C動(dòng)作用于根據(jù)不同的
環(huán)境條件控制此屬性的值(例如變量的值)。對(duì)于這種類型的C動(dòng)作,必
須定義觸發(fā)器來控制其執(zhí)行。事件的C動(dòng)作來響應(yīng)此事件。
3.屬性的C動(dòng)作
#include apdefap h
long-main(char* lpszPictureName.char* lpszObjectName.char*lpszPropert
yName)
{
/*1*/ long 1ReturnValue;
/*2*/ 1ReturnValue * GetTagSDword(*S32icourse-test-1*);
/*3*/ return 1ReturnValue;
}
上述實(shí)例代碼代表一個(gè)典型的屬性的C動(dòng)作。各部分的含義描述如下:標(biāo)題(灰色):灰色陰影顯示的前三行構(gòu)成C的動(dòng)作標(biāo)題。該標(biāo)題自動(dòng)
生成并且不能更改。除返回類型(在實(shí)例代碼中為long)之外,所有的函數(shù)
標(biāo)題完全相同。將三個(gè)參數(shù)傳送給C動(dòng)作。它們是畫面名稱(Lpsz Picture
Name),對(duì)象名(lpszObjectName)和屬性名(lpszPropertyName).
變量聲明(1):在可以編輯的第一段代碼中聲明使用的變量。在本實(shí)
例代碼中,指的是一個(gè)long型的變量。
數(shù)值計(jì)算(2):在本段中,執(zhí)行屬性值的計(jì)算。在實(shí)例代碼中,只讀
入一個(gè)WinCC 變量的數(shù)值。
數(shù)值返回(3):將計(jì)算得出的屬性值賦給屬性。這通過return命令來
完成
4.事件的C動(dòng)作
#include apdefap.h*
void OnClicik(char* lpszPictureName.char* lpszObjectName.char* lpszP
ropertyName)
{
/*1*/ long 1Value;
/*2*/ 1Value * GetTagSDWord(*s32i-course-tset-1”);
SetIeft (lpszPictureName,lpszobjectName,1value);
}
上述實(shí)例代碼代表一個(gè)典型的事件的C動(dòng)作。各部分含義描述如下:標(biāo)題(灰色):灰色陰影顯示的前三行構(gòu)成C動(dòng)作的標(biāo)題。該標(biāo)題自動(dòng)
生成并且不能更改。對(duì)于不同類型的事件,其參數(shù)標(biāo)題也不同。將參數(shù)lps
zPictureName(畫面名稱).lpszObjectName(對(duì)象名)和lpszPropertyName(屬性
名)傳遞給C動(dòng)作。參數(shù)lpszPropertyName只包含與響應(yīng)屬性變化的事件相
關(guān)的信息??梢詡鬟f附加的事件指定的參數(shù)。
變量聲明(1):在可以編輯的第一代碼段中聲明使用的變量。在本實(shí)
例代碼中,指的是一個(gè)long型的變量。
事件處理(2):在本段中,執(zhí)行響應(yīng)事件的動(dòng)作。在本實(shí)例代碼中,
讀入一個(gè)WinCC變量的數(shù)值。該數(shù)值作為位置X分配給自己的對(duì)象。事件
的C動(dòng)作的返回值為void類型,也就是說不需要返回值
5.C動(dòng)作的創(chuàng)建
創(chuàng)建C動(dòng)作的步驟如下:
(1).打開圖形編輯器,打開期望的WinCC畫面,打開所期望對(duì)象的對(duì)
象屬性對(duì)話框
(2)通過鼠標(biāo)R期望的屬性或事件,然后從彈出式菜單中選擇C動(dòng)作
來打開動(dòng)作編輯器
(3)將顯示動(dòng)作編輯器,其中將顯示函數(shù)的基本框架。此外,C動(dòng)作
的標(biāo)題已經(jīng)自動(dòng)生成,該標(biāo)題不能更改。
在C動(dòng)作的標(biāo)題的第一行內(nèi),包括文件apdefap.h.。通過該文件,向C
動(dòng)作預(yù)告所有項(xiàng)目的函數(shù).標(biāo)準(zhǔn)函數(shù)以及內(nèi)部函數(shù)。C動(dòng)作標(biāo)題的第二部分
為函數(shù)標(biāo)題。該函數(shù)標(biāo)題提供有關(guān)C動(dòng)作的返回值和可以在C動(dòng)作中使用
的傳送參數(shù)的信息。C動(dòng)作標(biāo)題的第三部分開始是花括弧。此花括弧不能刪
除。在該開始大括弧和結(jié)束大括弧之間,編寫C動(dòng)作的實(shí)際代碼。
(4)其他自動(dòng)生成的代碼部分包括兩個(gè)注釋塊,若要使交叉索引編輯
器可以訪問C動(dòng)作的內(nèi)部信息,則需要這些塊,要允許C動(dòng)作中語(yǔ)句重新
排列也需要這兩個(gè)塊。如果這些選項(xiàng)都不用。則可以刪除這些注解。第一個(gè)塊用于定義C動(dòng)作中使用的WinCC變量。在程序代碼中必須使
用定義變量名稱而不是實(shí)際的變量名稱
第二個(gè)注釋塊用于定義C中所使用的WinCC畫面。在程序代碼中也必
須使用定義的畫面名稱而不是實(shí)際畫面名稱。
(5)編寫執(zhí)行期望計(jì)算的函數(shù)主題、動(dòng)作等。有多種編輯輔助工具可
供使用,其中一種輔助工具是變量選擇對(duì)話框,此對(duì)話框如下所示的按鈕可
以打開。在顯示的選擇變量對(duì)話框中,選擇WinCC變量然后單擊確定來確
認(rèn)。于是在C動(dòng)作中在當(dāng)前光標(biāo)位置處插入所選WinCC的變量名稱。
(6)另一種輔助工具是動(dòng)作編輯器左窗口中的函數(shù)選擇。利用函數(shù)選
擇,可以在C動(dòng)作中的當(dāng)前光標(biāo)位置處自動(dòng)插入所有可用的項(xiàng)目函數(shù)、標(biāo)
準(zhǔn)函數(shù)和內(nèi)部函數(shù)。為此,通過鼠標(biāo)D來選擇其數(shù)據(jù)類型的列表。該函數(shù)
可以在數(shù)值列中進(jìn)行參數(shù)化。除簡(jiǎn)單的文本輸入以外,選擇變量.圖形對(duì)象
和畫面選項(xiàng)都可以用。
wincc的c語(yǔ)言基礎(chǔ)的相關(guān)資源推薦
會(huì)員專享
會(huì)員限時(shí)八折,點(diǎn)擊立即查看
升級(jí)會(huì)員獲取海量資源免費(fèi)下載
會(huì)員免費(fèi)下載
5D幣 購(gòu)買
上傳資源賺收益
格式:pdf
瀏覽:141
收藏:0
瀏覽:141??|??
收藏:0
上傳時(shí)間:2016-07-01
大?。?span style="color: #444444;" data-v-557cf15e>345.9KB
舉報(bào)
排名
昵稱
瓦特值