版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1,本 章 主 要 內(nèi) 容,2.1 C腳本的開發(fā)環(huán)境 2.2 變量 2.3 運算符和數(shù)學(xué)函數(shù) 2.4 指針 2.5 循環(huán)和條件語句 2.6 函數(shù) 2.7 結(jié)構(gòu) 2.8 WinCC API 2.9 項目環(huán)境 2.10 Windows API 2.11 標準對話框 2.12 文件,2,2.1 C腳本的開發(fā)環(huán)境,圖形編輯器的動作編輯器 用于在對象處創(chuàng)建C動作 。 創(chuàng)建C動作的步驟如下: 1)打開圖形編輯器。 2)選擇期望的屬性或事件。 3)編寫執(zhí)行期望計算的函數(shù)主題、動作。 4)翻譯已完成的函數(shù)。 5)對于為對象屬性創(chuàng)建的C動作,必須定義觸發(fā)器。對于為對象事件創(chuàng)建的C動作,由于事件本身就是觸發(fā)器,所
2、以不用再定義觸發(fā)器 6)通過單擊動作編輯器的確定按鈕,可將已編寫的C動作放置在期望的屬性或事件處。通過C動作動態(tài)化的屬性或事件將用綠色箭頭標記。,3,全局腳本編輯器 全局腳本編輯器用于創(chuàng)建項目函數(shù)、標準函數(shù)和動作。 建立項目函數(shù)的步驟如下: 1)打開全局腳本編輯器。 2)選擇項目函數(shù)條目,單擊鼠標右鍵,從彈出式菜單中選擇新建函數(shù)創(chuàng)建新項目函數(shù)的基本框架。 3)項目函數(shù)可以完全由用戶進行配置,沒有不能編譯的代碼段。編寫函數(shù)標題,且函數(shù)必須有一個名稱,以便C動作或其他函數(shù)調(diào)用。此外,必須指定返回值和函數(shù)所需的傳遞參數(shù)。,4,4)編寫函數(shù)主題。 5)編譯已完成的函數(shù)。 6)與描述一起定義一個口令,以
3、保護項目函數(shù)免遭未授權(quán)人員訪問。 7)完成的項目函數(shù)用合適的名稱進行保存。 建立全局動作的步驟如下: 1)打開全局腳本編輯器。 2)創(chuàng)建動作的基本框架。 3)編寫動作主體。 4)定義口令來保護項目函數(shù)免遭未授權(quán)人員的訪問。與函數(shù)相比,它還需要設(shè)置一個觸發(fā)器來控制動作的執(zhí)行。 5)保存完成的動作。,5,測試輸出 通過執(zhí)行程序來測試輸出,這樣便于在開發(fā)期間進行故 障檢測和錯誤診斷。測試輸出可以通過printf()函數(shù)來啟 動,通過該函數(shù),不但可輸出簡單文本,而且可輸出當(dāng)前變 量值。Printf()函數(shù)至少一個參數(shù),該參數(shù)是一個字符串, 要傳遞的附加類型和數(shù)量取決于該字符串。在prinft()函數(shù)
4、中字符“%”用于在該位置插入變量值的標識符,跟在字符“%” 之后的字符確定變量的數(shù)據(jù)類型。,6,2.2 變量,變量 變量是由程序處理的數(shù)據(jù)對象。變量只有在定義以后才 能使用。在第一條指令可以執(zhí)行前,必須先定義程序中的所 有變量。 常量 除變量之外,程序中也使用常量。它只是數(shù)值的直接使 用。 數(shù)據(jù)類型 Char為一個字節(jié),可以接受一個字符;Int為整型數(shù)值; Float為單精度型浮點數(shù);Double 雙精度型浮點數(shù)。Int數(shù)據(jù) 類型之前可以加關(guān)鍵字signed或,7,unsigned。關(guān)鍵字signed代表有符號數(shù),關(guān)鍵字unsigned 代表無符號數(shù)。Int數(shù)據(jù)類型之前也可以加關(guān)鍵字long或
5、 short.這些關(guān)鍵字也可以不帶int而單獨使用,其含義仍然 相同。Short(或short int)數(shù)據(jù)類型的變量需要2個字節(jié) 的存儲空間,long(或longint)數(shù)據(jù)類型的變量與int數(shù) 據(jù)的變量一樣需要4個字節(jié)的存儲空間,然而double數(shù)據(jù)類 型的變量需要8個字節(jié)的存儲空間。每種數(shù)據(jù)類型都可以顯 示某一數(shù)值范圍的數(shù)值,其區(qū)別在于不同的數(shù)據(jù)類型所需 的存儲空間不同,以及是有符號還是無符號數(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ù)終止后, 它又變成無效。如果再次調(diào)用該函數(shù),則將會再生成C變 量。然而,如果在變量前加關(guān)鍵字static,則在兩次函 數(shù)調(diào)用之間保留該變量,因此,它將保留其值。然而對 于C動作,只有選擇了
7、WinCC畫面,靜態(tài)變量才會有效。 如果撤消選定畫面,則靜態(tài)變量變成無效。再次打開畫 面后,在C動作期間將會再次生成靜態(tài)變量。,11,2外部變量 C變量只能在定義它的函數(shù)內(nèi)訪問。然而,如果在任 何函數(shù)以外定義變量,則該變量將成為全局(外部)變 量。于是,在任何函數(shù)中都可以利用關(guān)鍵字extern來申 明變量并且可以訪問它。 函數(shù)CreateExternalTags() 只用于定義和初始化一 個int類型的外部變量。,12,2.3 C中的運算符和數(shù)學(xué)函數(shù),運算符 1)數(shù)學(xué)運算符。 2)按位運算符。這些運算符使得可以對變量中的各個位進行 設(shè)置、查詢或重新設(shè)定。 3)邏輯運算符。所有的邏輯運算符都遵循
8、相同的原則:0表 示假,所有其他數(shù)都表示真。這些運算符不是生成0(假)就 是生成1(真)。 數(shù)學(xué)函數(shù) 在”內(nèi)部函數(shù)” “c”-”bib” “math”中可選擇數(shù)學(xué)函數(shù)。,13,2.4 指針,指針是C語言的重要組件。指針是包含地址的變量, 通常該地址是另一個變量的地址。定義指針就像定義普通變 量一樣,但是指針指向的數(shù)據(jù)類型名稱要添加單目字符*, 不得將此字符誤認為是用與乘法運算的雙目運算符*。在以 下程序代碼中,定義了int數(shù)據(jù)類型的指針變量。 Int * piValue = NULL; 要使指針指向int數(shù)據(jù)類型的變量,必須將變量的地址 分配給它。這通過單目運算符來完成。單目運算符又稱為地 址
9、運算符。此運算符返回變量地址,而不是變量值。,14,在以下程序代碼中,將數(shù)據(jù)類型為int的變量的 地址分配給指針。 PiValue = ,15,2.5 循環(huán)和條件語句,1循環(huán)語句 (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)計數(shù)器的初始 化以及循環(huán)計數(shù)器的運算過程可以在循環(huán)內(nèi)用公式表示。 in
10、t i = 0 for (i=0,i5,i+) /do something ,18,2條件語句 (1)If-else 如果條件為真就處理if分支中的語句。如果條件不合 適,就執(zhí)行else分支中的語句。如果沒有另一個要執(zhí)行的 語句,也可以省略else分支。 If (i5) /do something else /do something else ,19,(2)switch-case 在這種情況下,檢查變量是否匹配。switch指定要檢 查的變量。程序檢查哪一個case分支與變量的值一致,然 后執(zhí)行該case分支??梢远x任意case分支。每個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ù),對于經(jīng)常重復(fù)的語句,不必一次又一次地進行編寫, 它們可以移入一個函數(shù)。在WinCC中,函數(shù)可以創(chuàng)建為項目 函數(shù)或標準函數(shù)。 可以向函數(shù)傳送數(shù)值,函數(shù)根據(jù)這些數(shù)值將執(zhí)行相應(yīng)的 語句。常數(shù)、變量可以傳送,只是將變量的數(shù)值傳遞給函 數(shù)。函數(shù)不可以訪問變量本身。指針可以傳送,這使得函數(shù) 可以
12、訪問指針的變量。向量和結(jié)構(gòu)只能通過指針分配給函 數(shù)。,22,函數(shù)可以只執(zhí)行語句而不返回數(shù)值。如果是這樣, 則返回值的數(shù)據(jù)類型為void。但如果是執(zhí)行計算,則確 定的數(shù)值可以通過返回值返回給函數(shù)的調(diào)用者。如果是 這樣,則可以返回數(shù)值或其他地址。把數(shù)值返回給調(diào)用 者的另一個選擇是將其寫入傳遞的地址區(qū)域。向量或結(jié) 構(gòu)只能用這種方式來返回。 數(shù)值參數(shù)的傳遞 下例中參數(shù)以數(shù)值的形式傳遞給函數(shù),結(jié)果也以數(shù) 值的形式返回。,23,項目函數(shù)MeanValue() double MeanValue(double dValue1, double dValue2, double dValue3) double dM
13、eanValue; dMeanValue = (dValue1+dValue2+dValue3)/3; return dMeanValue; ,24,在函數(shù)標題內(nèi),將函數(shù)的名稱指定為MeanValue(),將三個 double數(shù)據(jù)類型的變量傳送給函數(shù)。返回的也將是一個 double數(shù)據(jù)類型的變量。接下來,將定義一個double數(shù)據(jù) 類型的變量,將返回的值存儲在該變量中。對所傳送的三 個值進行累加,然后將結(jié)果除以3得該返回值。通過return 語句,將結(jié)果返回給函數(shù)的調(diào)用者。,25,2.7 結(jié)構(gòu),結(jié)構(gòu)類型的定義 除默認數(shù)據(jù)類型以外,自定義的類型也可借助于結(jié)構(gòu) 來進行定義。在定義新的結(jié)構(gòu)類型之后,
14、即可定義struct ExampleStruct數(shù)據(jù)類型的變量。 如果可利用的不是結(jié)構(gòu)變量而是一個指向結(jié)構(gòu)變量的 指針,則結(jié)構(gòu)的單個元素是可以訪問的,但必須確保指針 指向一個有效的結(jié)構(gòu)變量或至少為其保留存儲空間。,26,2.8 WinCC API,WinCC提供了一種廣義的API(應(yīng)用程序編程接 口)。這是一種供應(yīng)用程序訪問,WinCC項目本身中也可 使用WinCC API的函數(shù)。 WinCC的每個應(yīng)用程序都提供 了其自己的API,并位于一個或多個DLL中。DLL(動態(tài)裝 載庫)是一個動態(tài)裝載的函數(shù)庫。在關(guān)聯(lián)的頭文件中, 將提供DLL所包含的函數(shù)聲明。,27,在下面的程序代碼中,將顯示如何將D
15、LL集成到C動 作或其他函數(shù)中。 #Pragma code(PDLCSAPI. Dll) #includepdlcsapi.h #pragma code ( ) 每個應(yīng)用程序的API函數(shù)可粗略地分為兩種不同的函 數(shù)類型。這就是所謂的CS函數(shù)(組態(tài)系統(tǒng))和RT函數(shù)運 行系統(tǒng))。,28,2.9 項目環(huán)境,在很多情況下,編制C動作或其他函數(shù)均需要對文件路 徑、本地計算機名稱等進行詳細說明。然后,根據(jù)當(dāng)前環(huán) 境,將這些值指定為絕對值。如果將項目傳送給另一臺計 算機,則可能會出現(xiàn)問題。這里所遭遇的環(huán)境完全不同于 創(chuàng)建系統(tǒng)中的環(huán)境。因此,建議不要使用絕對路徑進行說 明,在創(chuàng)建一個項目時,尤其如此。子運行系統(tǒng)中應(yīng)用確 定這類信息。本節(jié)所包含的例子說明了如何訪問與本地計 算機的環(huán)境相關(guān)的信息。,29,2.10 Windows API,Windows API : Windows應(yīng)用程序接口。除WinCC API以外,在WinCC項目中也 可以使用所有的Windows API。,30,2.11 標準對話框,在WinCC中創(chuàng)建對話框的一般過程包括創(chuàng)建一個WinCC 畫面以及用畫面窗口顯示該畫面。也可以用C動作或其他函 數(shù)來創(chuàng)建標準對話框。在
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度電動自行車品牌代理權(quán)轉(zhuǎn)讓合同
- 2025年度新型農(nóng)民工勞務(wù)派遣合同書2篇
- 2025年度自然人二零二五年度小額信用貸款合同
- 2025年度二零二五年度企業(yè)員工勞動合同終止告知協(xié)議書
- 2025年度美術(shù)館東館館舍租賃藝術(shù)展覽合作合同4篇
- 2025年度糧油產(chǎn)業(yè)信息化建設(shè)與數(shù)據(jù)共享合同
- 二零二五年度汽車行業(yè)節(jié)能減排貸款合同
- 二零二五年度旅游消費貸款擔(dān)保合同
- 2025年門面房出租房屋租賃合同續(xù)簽范本
- 2025年度二零二五年度火鍋店合伙人經(jīng)營管理合同
- 多重耐藥菌病人的管理-(1)課件
- (高清版)TDT 1056-2019 縣級國土資源調(diào)查生產(chǎn)成本定額
- 環(huán)境監(jiān)測對環(huán)境保護的意義
- 2023年數(shù)學(xué)競賽AMC8試卷(含答案)
- 神經(jīng)外科課件:神經(jīng)外科急重癥
- 2024年低壓電工證理論考試題庫及答案
- 2023年十天突破公務(wù)員面試
- 《瘋狂動物城》中英文對照(全本臺詞)
- 醫(yī)院住院醫(yī)師規(guī)范化培訓(xùn)證明(樣本)
- 小學(xué)六年級語文閱讀理解100篇(及答案)
- 氣功修煉十奧妙
評論
0/150
提交評論