




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1,本 章 主 要 內(nèi) 容,2.1 C腳本的開(kāi)發(fā)環(huán)境 2.2 變量 2.3 運(yùn)算符和數(shù)學(xué)函數(shù) 2.4 指針 2.5 循環(huán)和條件語(yǔ)句 2.6 函數(shù) 2.7 結(jié)構(gòu) 2.8 WinCC API 2.9 項(xiàng)目環(huán)境 2.10 Windows API 2.11 標(biāo)準(zhǔn)對(duì)話框 2.12 文件,2,2.1 C腳本的開(kāi)發(fā)環(huán)境,圖形編輯器的動(dòng)作編輯器 用于在對(duì)象處創(chuàng)建C動(dòng)作 。 創(chuàng)建C動(dòng)作的步驟如下: 1)打開(kāi)圖形編輯器。 2)選擇期望的屬性或事件。 3)編寫執(zhí)行期望計(jì)算的函數(shù)主題、動(dòng)作。 4)翻譯已完成的函數(shù)。 5)對(duì)于為對(duì)象屬性創(chuàng)建的C動(dòng)作,必須定義觸發(fā)器。對(duì)于為對(duì)象事件創(chuàng)建的C動(dòng)作,由于事件本身就是觸發(fā)器,所
2、以不用再定義觸發(fā)器 6)通過(guò)單擊動(dòng)作編輯器的確定按鈕,可將已編寫的C動(dòng)作放置在期望的屬性或事件處。通過(guò)C動(dòng)作動(dòng)態(tài)化的屬性或事件將用綠色箭頭標(biāo)記。,3,全局腳本編輯器 全局腳本編輯器用于創(chuàng)建項(xiàng)目函數(shù)、標(biāo)準(zhǔn)函數(shù)和動(dòng)作。 建立項(xiàng)目函數(shù)的步驟如下: 1)打開(kāi)全局腳本編輯器。 2)選擇項(xiàng)目函數(shù)條目,單擊鼠標(biāo)右鍵,從彈出式菜單中選擇新建函數(shù)創(chuàng)建新項(xiàng)目函數(shù)的基本框架。 3)項(xiàng)目函數(shù)可以完全由用戶進(jìn)行配置,沒(méi)有不能編譯的代碼段。編寫函數(shù)標(biāo)題,且函數(shù)必須有一個(gè)名稱,以便C動(dòng)作或其他函數(shù)調(diào)用。此外,必須指定返回值和函數(shù)所需的傳遞參數(shù)。,4,4)編寫函數(shù)主題。 5)編譯已完成的函數(shù)。 6)與描述一起定義一個(gè)口令,以
3、保護(hù)項(xiàng)目函數(shù)免遭未授權(quán)人員訪問(wèn)。 7)完成的項(xiàng)目函數(shù)用合適的名稱進(jìn)行保存。 建立全局動(dòng)作的步驟如下: 1)打開(kāi)全局腳本編輯器。 2)創(chuàng)建動(dòng)作的基本框架。 3)編寫動(dòng)作主體。 4)定義口令來(lái)保護(hù)項(xiàng)目函數(shù)免遭未授權(quán)人員的訪問(wèn)。與函數(shù)相比,它還需要設(shè)置一個(gè)觸發(fā)器來(lái)控制動(dòng)作的執(zhí)行。 5)保存完成的動(dòng)作。,5,測(cè)試輸出 通過(guò)執(zhí)行程序來(lái)測(cè)試輸出,這樣便于在開(kāi)發(fā)期間進(jìn)行故 障檢測(cè)和錯(cuò)誤診斷。測(cè)試輸出可以通過(guò)printf()函數(shù)來(lái)啟 動(dòng),通過(guò)該函數(shù),不但可輸出簡(jiǎn)單文本,而且可輸出當(dāng)前變 量值。Printf()函數(shù)至少一個(gè)參數(shù),該參數(shù)是一個(gè)字符串, 要傳遞的附加類型和數(shù)量取決于該字符串。在prinft()函數(shù)
4、中字符“%”用于在該位置插入變量值的標(biāo)識(shí)符,跟在字符“%” 之后的字符確定變量的數(shù)據(jù)類型。,6,2.2 變量,變量 變量是由程序處理的數(shù)據(jù)對(duì)象。變量只有在定義以后才 能使用。在第一條指令可以執(zhí)行前,必須先定義程序中的所 有變量。 常量 除變量之外,程序中也使用常量。它只是數(shù)值的直接使 用。 數(shù)據(jù)類型 Char為一個(gè)字節(jié),可以接受一個(gè)字符;Int為整型數(shù)值; Float為單精度型浮點(diǎn)數(shù);Double 雙精度型浮點(diǎn)數(shù)。Int數(shù)據(jù) 類型之前可以加關(guān)鍵字signed或,7,unsigned。關(guān)鍵字signed代表有符號(hào)數(shù),關(guān)鍵字unsigned 代表無(wú)符號(hào)數(shù)。Int數(shù)據(jù)類型之前也可以加關(guān)鍵字long或
5、 short.這些關(guān)鍵字也可以不帶int而單獨(dú)使用,其含義仍然 相同。Short(或short int)數(shù)據(jù)類型的變量需要2個(gè)字節(jié) 的存儲(chǔ)空間,long(或longint)數(shù)據(jù)類型的變量與int數(shù) 據(jù)的變量一樣需要4個(gè)字節(jié)的存儲(chǔ)空間,然而double數(shù)據(jù)類 型的變量需要8個(gè)字節(jié)的存儲(chǔ)空間。每種數(shù)據(jù)類型都可以顯 示某一數(shù)值范圍的數(shù)值,其區(qū)別在于不同的數(shù)據(jù)類型所需 的存儲(chǔ)空間不同,以及是有符號(hào)還是無(wú)符號(hào)數(shù)據(jù)類型。,8,各數(shù)據(jù)類型的數(shù)值范圍如下: Int 21474836482147483647 Unsigned int 0429967295 Short 3276832767 Unsigtned s
6、hort 065535 Long 21474836482147483647 Unsigned long 04294967295 Char 128127(所有的ASCII字符) Unsigned char 0225(所有的ASCII字符) float 1038z038 double 103080308,9,WinCC變量及C的數(shù)據(jù)類型,10,靜態(tài)變量和外部變量 1靜態(tài)變量 C變量在定義后才能在函數(shù)中生效。在函數(shù)終止后, 它又變成無(wú)效。如果再次調(diào)用該函數(shù),則將會(huì)再生成C變 量。然而,如果在變量前加關(guān)鍵字static,則在兩次函 數(shù)調(diào)用之間保留該變量,因此,它將保留其值。然而對(duì) 于C動(dòng)作,只有選擇了
7、WinCC畫面,靜態(tài)變量才會(huì)有效。 如果撤消選定畫面,則靜態(tài)變量變成無(wú)效。再次打開(kāi)畫 面后,在C動(dòng)作期間將會(huì)再次生成靜態(tài)變量。,11,2外部變量 C變量只能在定義它的函數(shù)內(nèi)訪問(wèn)。然而,如果在任 何函數(shù)以外定義變量,則該變量將成為全局(外部)變 量。于是,在任何函數(shù)中都可以利用關(guān)鍵字extern來(lái)申 明變量并且可以訪問(wèn)它。 函數(shù)CreateExternalTags() 只用于定義和初始化一 個(gè)int類型的外部變量。,12,2.3 C中的運(yùn)算符和數(shù)學(xué)函數(shù),運(yùn)算符 1)數(shù)學(xué)運(yùn)算符。 2)按位運(yùn)算符。這些運(yùn)算符使得可以對(duì)變量中的各個(gè)位進(jìn)行 設(shè)置、查詢或重新設(shè)定。 3)邏輯運(yùn)算符。所有的邏輯運(yùn)算符都遵循
8、相同的原則:0表 示假,所有其他數(shù)都表示真。這些運(yùn)算符不是生成0(假)就 是生成1(真)。 數(shù)學(xué)函數(shù) 在”內(nèi)部函數(shù)” “c”-”bib” “math”中可選擇數(shù)學(xué)函數(shù)。,13,2.4 指針,指針是C語(yǔ)言的重要組件。指針是包含地址的變量, 通常該地址是另一個(gè)變量的地址。定義指針就像定義普通變 量一樣,但是指針指向的數(shù)據(jù)類型名稱要添加單目字符*, 不得將此字符誤認(rèn)為是用與乘法運(yùn)算的雙目運(yùn)算符*。在以 下程序代碼中,定義了int數(shù)據(jù)類型的指針變量。 Int * piValue = NULL; 要使指針指向int數(shù)據(jù)類型的變量,必須將變量的地址 分配給它。這通過(guò)單目運(yùn)算符來(lái)完成。單目運(yùn)算符又稱為地 址
9、運(yùn)算符。此運(yùn)算符返回變量地址,而不是變量值。,14,在以下程序代碼中,將數(shù)據(jù)類型為int的變量的 地址分配給指針。 PiValue = ,15,2.5 循環(huán)和條件語(yǔ)句,1循環(huán)語(yǔ)句 (1)while 只要條件滿足,就重復(fù)執(zhí)行循環(huán)。 Int i = 0; while (i5) /do something +i; ,16,(2)do-while 該循環(huán)至少執(zhí)行一次,然后只要條件滿足就重復(fù) 執(zhí)行。 int i=0; do /do something +I; while(i5);,17,(3)for 只要條件滿足,就重復(fù)執(zhí)行循環(huán)。循環(huán)計(jì)數(shù)器的初始 化以及循環(huán)計(jì)數(shù)器的運(yùn)算過(guò)程可以在循環(huán)內(nèi)用公式表示。 in
10、t i = 0 for (i=0,i5,i+) /do something ,18,2條件語(yǔ)句 (1)If-else 如果條件為真就處理if分支中的語(yǔ)句。如果條件不合 適,就執(zhí)行else分支中的語(yǔ)句。如果沒(méi)有另一個(gè)要執(zhí)行的 語(yǔ)句,也可以省略else分支。 If (i5) /do something else /do something else ,19,(2)switch-case 在這種情況下,檢查變量是否匹配。switch指定要檢 查的變量。程序檢查哪一個(gè)case分支與變量的值一致,然 后執(zhí)行該case分支??梢远x任意case分支。每個(gè)case分 支必須以break結(jié)束??梢赃x擇插入de
11、fault分支。如果要 檢查的變量的值與任何case分支都不一致,則執(zhí)行此分支。,20,switch(i) case 0:/do something break; case 1:/do something break; default;/do something default break; ,21,2.6 函數(shù),對(duì)于經(jīng)常重復(fù)的語(yǔ)句,不必一次又一次地進(jìn)行編寫, 它們可以移入一個(gè)函數(shù)。在WinCC中,函數(shù)可以創(chuàng)建為項(xiàng)目 函數(shù)或標(biāo)準(zhǔn)函數(shù)。 可以向函數(shù)傳送數(shù)值,函數(shù)根據(jù)這些數(shù)值將執(zhí)行相應(yīng)的 語(yǔ)句。常數(shù)、變量可以傳送,只是將變量的數(shù)值傳遞給函 數(shù)。函數(shù)不可以訪問(wèn)變量本身。指針可以傳送,這使得函數(shù) 可以
12、訪問(wèn)指針的變量。向量和結(jié)構(gòu)只能通過(guò)指針?lè)峙浣o函 數(shù)。,22,函數(shù)可以只執(zhí)行語(yǔ)句而不返回?cái)?shù)值。如果是這樣, 則返回值的數(shù)據(jù)類型為void。但如果是執(zhí)行計(jì)算,則確 定的數(shù)值可以通過(guò)返回值返回給函數(shù)的調(diào)用者。如果是 這樣,則可以返回?cái)?shù)值或其他地址。把數(shù)值返回給調(diào)用 者的另一個(gè)選擇是將其寫入傳遞的地址區(qū)域。向量或結(jié) 構(gòu)只能用這種方式來(lái)返回。 數(shù)值參數(shù)的傳遞 下例中參數(shù)以數(shù)值的形式傳遞給函數(shù),結(jié)果也以數(shù) 值的形式返回。,23,項(xiàng)目函數(shù)MeanValue() double MeanValue(double dValue1, double dValue2, double dValue3) double dM
13、eanValue; dMeanValue = (dValue1+dValue2+dValue3)/3; return dMeanValue; ,24,在函數(shù)標(biāo)題內(nèi),將函數(shù)的名稱指定為MeanValue(),將三個(gè) double數(shù)據(jù)類型的變量傳送給函數(shù)。返回的也將是一個(gè) double數(shù)據(jù)類型的變量。接下來(lái),將定義一個(gè)double數(shù)據(jù) 類型的變量,將返回的值存儲(chǔ)在該變量中。對(duì)所傳送的三 個(gè)值進(jìn)行累加,然后將結(jié)果除以3得該返回值。通過(guò)return 語(yǔ)句,將結(jié)果返回給函數(shù)的調(diào)用者。,25,2.7 結(jié)構(gòu),結(jié)構(gòu)類型的定義 除默認(rèn)數(shù)據(jù)類型以外,自定義的類型也可借助于結(jié)構(gòu) 來(lái)進(jìn)行定義。在定義新的結(jié)構(gòu)類型之后,
14、即可定義struct ExampleStruct數(shù)據(jù)類型的變量。 如果可利用的不是結(jié)構(gòu)變量而是一個(gè)指向結(jié)構(gòu)變量的 指針,則結(jié)構(gòu)的單個(gè)元素是可以訪問(wèn)的,但必須確保指針 指向一個(gè)有效的結(jié)構(gòu)變量或至少為其保留存儲(chǔ)空間。,26,2.8 WinCC API,WinCC提供了一種廣義的API(應(yīng)用程序編程接 口)。這是一種供應(yīng)用程序訪問(wèn),WinCC項(xiàng)目本身中也可 使用WinCC API的函數(shù)。 WinCC的每個(gè)應(yīng)用程序都提供 了其自己的API,并位于一個(gè)或多個(gè)DLL中。DLL(動(dòng)態(tài)裝 載庫(kù))是一個(gè)動(dòng)態(tài)裝載的函數(shù)庫(kù)。在關(guān)聯(lián)的頭文件中, 將提供DLL所包含的函數(shù)聲明。,27,在下面的程序代碼中,將顯示如何將D
15、LL集成到C動(dòng) 作或其他函數(shù)中。 #Pragma code(PDLCSAPI. Dll) #includepdlcsapi.h #pragma code ( ) 每個(gè)應(yīng)用程序的API函數(shù)可粗略地分為兩種不同的函 數(shù)類型。這就是所謂的CS函數(shù)(組態(tài)系統(tǒng))和RT函數(shù)運(yùn) 行系統(tǒng))。,28,2.9 項(xiàng)目環(huán)境,在很多情況下,編制C動(dòng)作或其他函數(shù)均需要對(duì)文件路 徑、本地計(jì)算機(jī)名稱等進(jìn)行詳細(xì)說(shuō)明。然后,根據(jù)當(dāng)前環(huán) 境,將這些值指定為絕對(duì)值。如果將項(xiàng)目傳送給另一臺(tái)計(jì) 算機(jī),則可能會(huì)出現(xiàn)問(wèn)題。這里所遭遇的環(huán)境完全不同于 創(chuàng)建系統(tǒng)中的環(huán)境。因此,建議不要使用絕對(duì)路徑進(jìn)行說(shuō) 明,在創(chuàng)建一個(gè)項(xiàng)目時(shí),尤其如此。子運(yùn)行系統(tǒng)中應(yīng)用確 定這類信息。本節(jié)所包含的例子說(shuō)明了如何訪問(wèn)與本地計(jì) 算機(jī)的環(huán)境相關(guān)的信息。,29,2.10 Windows API,Windows API : Windows應(yīng)用程序接口。除WinCC API以外,在WinCC項(xiàng)目中也 可以使用所有的Windows API。,30,2.11 標(biāo)準(zhǔn)對(duì)話框,在WinCC中創(chuàng)建對(duì)話框的一般過(guò)程包括創(chuàng)建一個(gè)WinCC 畫面以及用畫面窗口顯示該畫面。也可以用C動(dòng)作或其他函 數(shù)來(lái)創(chuàng)建標(biāo)準(zhǔn)對(duì)話框。在
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 三亞學(xué)院《絮凝劑在水處理中的應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 四川職業(yè)技術(shù)學(xué)院《橋梁工程施工》2023-2024學(xué)年第二學(xué)期期末試卷
- 桂林理工大學(xué)《電工電子技術(shù)基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 沙坪壩裝配式圍擋施工方案
- 青島飛洋職業(yè)技術(shù)學(xué)院《動(dòng)物遺傳育種進(jìn)展》2023-2024學(xué)年第二學(xué)期期末試卷
- 海南政法職業(yè)學(xué)院《國(guó)際服務(wù)貿(mào)易》2023-2024學(xué)年第二學(xué)期期末試卷
- 吉林藝術(shù)學(xué)院《水工鋼結(jié)構(gòu)》2023-2024學(xué)年第二學(xué)期期末試卷
- 重慶建筑工程職業(yè)學(xué)院《公益慈善管理概論》2023-2024學(xué)年第二學(xué)期期末試卷
- 山東師范大學(xué)《新媒體營(yíng)銷》2023-2024學(xué)年第二學(xué)期期末試卷
- 西安電子科技大學(xué)《幼兒園游戲與活動(dòng)指導(dǎo)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2024年海南省高考物理試卷(含答案)
- 榆神礦區(qū)郭家灘煤礦(700 萬(wàn)噸-年)項(xiàng)目環(huán)評(píng)
- GJB5765-2006 軍用機(jī)場(chǎng)場(chǎng)道工程質(zhì)量評(píng)定標(biāo)準(zhǔn)
- JJG 705-2014液相色譜儀行業(yè)標(biāo)準(zhǔn)
- (高清版)TDT 1056-2019 縣級(jí)國(guó)土資源調(diào)查生產(chǎn)成本定額
- 公司合作計(jì)劃書
- 2016-2023年南京信息職業(yè)技術(shù)學(xué)院高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年參考題庫(kù)含答案解析
- 跨領(lǐng)域聯(lián)合診療(MDT)管理法規(guī)
- 光伏電站運(yùn)維安全風(fēng)險(xiǎn)管控清單
- 保安員考核評(píng)分標(biāo)準(zhǔn)與細(xì)則
- 四年級(jí)豎式計(jì)算大全100道
評(píng)論
0/150
提交評(píng)論